#!/bin/bash source venv/bin/activate # variable font rm -rf distr/variable_ttf fontmake -g FiraCode.glyphs -o variable --output-dir distr/variable_ttf # statics 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 cp ${hintedFile} ${file} rm -rf ${hintedFile} done # ============================================================================ # Build woff2 fonts ========================================================== # requires https://github.com/google/woff2 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 (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