123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #!/bin/bash -e
- source venv/bin/activate
- # ============================================================================
- # VARIABLE FONT ==============================================================
- # variable font
- firaCodeVF=distr/variable_ttf/FiraCode-VF.ttf
- rm -rf $firaCodeVF
- fontmake -g FiraCode.glyphs -o variable --output-dir distr/variable_ttf
- # fix variable font metadata – very important
- gftools fix-vf-meta $firaCodeVF
- mv $firaCodeVF.fix $firaCodeVF
- # other fixes for metadata and hinting
- gftools fix-nonhinting $firaCodeVF $firaCodeVF
- gftools fix-gasp --autofix $firaCodeVF
- mv $firaCodeVF.fix $firaCodeVF
- gftools fix-dsig --autofix $firaCodeVF
- # cleanup of temp files
- rm -rf distr/variable_ttf/*-gasp*
- # TODO (late 2019?): use TTFautohint-VF for variable font (current support is minimal)
- # ============================================================================
- # STATIC FONTS ===============================================================
- rm -rf distr/ttf
- fontmake -g FiraCode.glyphs -o ttf --output-dir distr/ttf -i
- rm -rf distr/otf
- fontmake -g FiraCode.glyphs -o otf --output-dir distr/otf -i
- # -------------------------------------------------------------
- # Autohinting -------------------------------------------------
- statics=$(ls distr/ttf/*.ttf)
- for file in $statics; do
- echo "fix DSIG in " ${file}
- gftools fix-dsig --autofix ${file}
- echo "TTFautohint " ${file}
- # autohint with detailed info
- hintedFile=${file/".ttf"/"-hinted.ttf"}
- ttfautohint -I ${file} ${hintedFile} --stem-width-mode nnn --composites --windows-compatibility
- cp ${hintedFile} ${file}
- rm -rf ${hintedFile}
- done
- # ============================================================================
- # Build woff2 fonts ==========================================================
- # requires woff2_compress (get from https://github.com/bramstein/homebrew-webfonttools)
- rm -rf distr/woff2
- ttfs=$(ls distr/*/*.ttf)
- for ttf in $ttfs; do
- woff2_compress $ttf
- done
- mkdir -p distr/woff2
- woff2s=$(ls distr/*/*.woff2)
- for woff2 in $woff2s; do
- mv $woff2 distr/woff2/$(basename $woff2)
- done
- # ============================================================================
- # Build woff fonts ===========================================================
- # requires sfnt2woff-zopfli (get from https://github.com/bramstein/homebrew-webfonttools)
- rm -rf distr/woff
- ttfs=$(ls distr/*/*.ttf)
- for ttf in $ttfs; do
- sfnt2woff-zopfli $ttf
- done
- mkdir -p distr/woff
- woffs=$(ls distr/*/*.woff)
- for woff in $woffs; do
- mv $woff distr/woff/$(basename $woff)
- done
|