Initial commit
This commit is contained in:
commit
e3d9f66538
3 changed files with 146 additions and 0 deletions
6
build.sh
Executable file
6
build.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
docker run -it --rm -v $PWD:/work fontcc --jCmd=4 ttf::Iosevka
|
||||
sudo chown -R adam dist/
|
||||
./post-process.sh
|
||||
cp -pr dist/Iosevka/TTF/Iosevka-* ~/.fonts/Iosevka-ttf/
|
||||
fc-cache -f
|
55
post-process.sh
Executable file
55
post-process.sh
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Based on:
|
||||
# https://github.com/sdothum/dotfiles/tree/main/bin/bin/functions/font
|
||||
|
||||
font_loc=./dist/Iosevka/TTF/
|
||||
|
||||
pushd .
|
||||
cd $font_loc
|
||||
|
||||
regular=$(ls -1 | grep -Ev 'italic|oblique|extended')
|
||||
italic=$(ls -1 | grep -E 'italic')
|
||||
|
||||
basefont() { echo $1 | grep -q '[-]italic.ttf' && echo "${1%italic*}regular.ttf" || echo "${1%italic*}.ttf"; }
|
||||
|
||||
# some defaults
|
||||
ANGLE=${ANGLE:--9} # iosevka italic angle (verify with fontforge).. see font/iosevka
|
||||
XSHIFT=${XSHIFT:--40} # italic descending capital left side bearing shift
|
||||
|
||||
extended=576 # extended regular shape (slightly tighter than Iosevka defaults)
|
||||
expanded=600 # maximum terminal source code and proof legibility
|
||||
shape=$expanded
|
||||
|
||||
# flit t in a regular font and shift to the left of cell
|
||||
for f in $regular ;do
|
||||
echo "Flipping t in $f"
|
||||
echo "
|
||||
Open(\$1);
|
||||
Select(0u0074);
|
||||
HFlip();
|
||||
Move($XSHIFT,0); # tweak side bearing towards left
|
||||
SetWidth($shape);
|
||||
Generate(\$1);
|
||||
" | fontforge --quiet --lang=ff --script - $f
|
||||
done
|
||||
|
||||
# italicize flipped from regular glyph and shift to left of cell
|
||||
for f in $italic ;do
|
||||
echo "Flipping t in $f"
|
||||
echo echo "
|
||||
Open(\$2);
|
||||
Select(0u0074);
|
||||
Italic($ANGLE);
|
||||
Copy();
|
||||
Open(\$1);
|
||||
Select(0u0074);
|
||||
Paste();
|
||||
Move($XSHIFT,0); # adjust for italic side bearing shift towards left
|
||||
SetWidth($shape);
|
||||
Generate(\$1);
|
||||
" | fontforge --quiet --lang=ff --script - $i $(basefont $i)
|
||||
done
|
||||
|
||||
# return to the initial directory and exit
|
||||
popd
|
85
private-build-plans.toml
Normal file
85
private-build-plans.toml
Normal file
|
@ -0,0 +1,85 @@
|
|||
[buildPlans.Iosevka]
|
||||
family = "Iosevka"
|
||||
spacing = "normal"
|
||||
serifs = "sans"
|
||||
noCvSs = true
|
||||
exportGlyphNames = false
|
||||
|
||||
[buildPlans.Iosevka.metricOverride]
|
||||
#ascender=735
|
||||
#ascender=750
|
||||
cap=735
|
||||
ascender=775
|
||||
xHeight=530
|
||||
leading=1250
|
||||
#sb=715 # 800 ?
|
||||
sb = 'default_sb * 0.800' # '0.715
|
||||
|
||||
[buildPlans.Iosevka.variants.design]
|
||||
cyrl-em = "flat-bottom-serifless"
|
||||
capital-b = "standard-interrupted-serifless"
|
||||
capital-d = "more-rounded-serifless"
|
||||
capital-g = "toothless-corner-serifless-hooked"
|
||||
capital-j = "flat-hook-serifless"
|
||||
capital-i = "short-serifed"
|
||||
capital-k = "symmetric-touching-serifless"
|
||||
capital-p = "open-serifless"
|
||||
capital-q = "vertical-crossing"
|
||||
capital-r = "standing-open-serifless"
|
||||
capital-m = "flat-bottom-serifless"
|
||||
capital-w = "straight-flat-top-serifless"
|
||||
a = "double-storey-toothless-corner"
|
||||
b = "toothless-rounded-serifless"
|
||||
f = "flat-hook-serifless"
|
||||
i = "hooky"
|
||||
j = "flat-hook-serifless"
|
||||
k = "symmetric-touching-serifless"
|
||||
l = "hooky"
|
||||
m = "earless-rounded-double-arch-serifless"
|
||||
p = "earless-rounded-serifless"
|
||||
q = "tailed-serifless"
|
||||
r = "hookless-serifless"
|
||||
t = "hookless-asymmetric-short-neck2"
|
||||
u = "toothless-rounded-serifless"
|
||||
w = "straight-flat-top-serifless"
|
||||
long-s = "flat-hook-serifless"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-iota = "zshaped"
|
||||
lower-lambda = "tailed-turn"
|
||||
lower-pi = "tailless"
|
||||
lower-tau = "tailless"
|
||||
cyrl-capital-u = "straight-turn-serifless"
|
||||
cyrl-u = "straight-turn-serifless"
|
||||
zero = "oval-reverse-slashed"
|
||||
one = "no-base-long-top-serif"
|
||||
two = "straight-neck-serifless"
|
||||
three = "flat-top-serifless"
|
||||
four = "semi-open-serifless"
|
||||
five = "oblique-arched-serifless"
|
||||
six = "straight-bar"
|
||||
seven = "straight-serifless"
|
||||
eight = "two-circles"
|
||||
nine = "straight-bar"
|
||||
asterisk = "turn-hex-mid"
|
||||
caret = "low"
|
||||
ascii-grave = "raised-inverse-comma"
|
||||
ascii-single-quote = "raised-comma"
|
||||
paren = "large-contour"
|
||||
brace = "straight"
|
||||
guillemet = "straight"
|
||||
#number-sign = "slanted"
|
||||
ampersand = "upper-open"
|
||||
at = "fourfold"
|
||||
dollar = "interrupted"
|
||||
cent = "bar-interrupted-cap"
|
||||
bar = "force-upright"
|
||||
partial-derivative = "straight-bar"
|
||||
lig-ltgteq = "slanted"
|
||||
|
||||
[buildPlans.Iosevka.ligations]
|
||||
inherits = "dlig"
|
||||
|
||||
[buildPlans.Iosevka.widths.Normal]
|
||||
shape = 600 #default 500
|
||||
menu = 5
|
||||
css = "normal"
|
Loading…
Reference in a new issue