84 lines
1.9 KiB
Bash
84 lines
1.9 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
mkdir -p ./fonts ./fonts/static/ttf ./fonts/static/otf ./fonts/variable
|
|
|
|
|
|
echo "Generating VFs"
|
|
fontmake --keep-overlaps -g Sources/Anybody.glyphs -o variable --output-path ./fonts/variable/Anybody[slnt,wdth,wght].ttf
|
|
|
|
echo "Post processing VFs"
|
|
for ttf in ./fonts/variable/*.ttf
|
|
do
|
|
gftools fix-dsig --autofix $ttf;
|
|
gftools fix-nonhinting $ttf "$ttf.fix";
|
|
mv "$ttf.fix" $ttf;
|
|
gftools fix-unwanted-tables --tables MVAR $ttf
|
|
|
|
woff2_compress $ttf
|
|
|
|
done
|
|
|
|
rm ./fonts/variable/*gasp*
|
|
|
|
echo "Generating Static fonts"
|
|
#Skia Pathops https://github.com/fonttools/skia-pathops
|
|
|
|
fontmake --overlaps-backend pathops -g Sources/Anybody.glyphs -i -o ttf --output-dir ./fonts/static/ttf/
|
|
fontmake --overlaps-backend pathops -g Sources/Anybody.glyphs -i -o otf --output-dir ./fonts/static/otf/
|
|
|
|
|
|
|
|
|
|
# ============================================================================
|
|
# Autohinting ================================================================
|
|
|
|
echo "Post processing TTFs"
|
|
ttfs=$(ls ./fonts/static/ttf/*.ttf)
|
|
for ttf in $ttfs
|
|
do
|
|
gftools fix-dsig -f $ttf;
|
|
ttfautohint $ttf $ttf.fix
|
|
[ -f $ttf.fix ] && mv $ttf.fix $ttf
|
|
gftools fix-hinting $ttf
|
|
[ -f $ttf.fix ] && mv $ttf.fix $ttf
|
|
done
|
|
|
|
|
|
echo "Post processing OTFs"
|
|
otfs=$(ls ./fonts/static/otf/*.otf)
|
|
for otf in $otfs
|
|
do
|
|
gftools fix-dsig -f $otf
|
|
done
|
|
|
|
|
|
echo "Building webfonts"
|
|
rm -rf ./fonts/web/woff2
|
|
ttfs=$(ls ./fonts/static/ttf/*.ttf)
|
|
for ttf in $ttfs; do
|
|
woff2_compress $ttf
|
|
done
|
|
mkdir -p ./fonts/web/woff2
|
|
woff2s=$(ls ./fonts/static/*/*.woff2)
|
|
for woff2 in $woff2s; do
|
|
mv $woff2 ./fonts/web/woff2/$(basename $woff2)
|
|
done
|
|
|
|
rm -rf ./fonts/web/woff
|
|
ttfs=$(ls ./fonts/static/ttf/*.ttf)
|
|
for ttf in $ttfs; do
|
|
sfnt2woff-zopfli $ttf
|
|
done
|
|
|
|
mkdir -p ./fonts/web/woff
|
|
woffs=$(ls ./fonts/static/*/*.woff)
|
|
for woff in $woffs; do
|
|
mv $woff ./fonts/web/woff/$(basename $woff)
|
|
done
|
|
|
|
rm -rf master_ufo/ instance_ufo/
|
|
|
|
echo "Complete!"
|