build_ttf.sh 792 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/bash
  2. set -o errexit -o nounset -o pipefail
  3. cd "$(dirname "$0")/.."
  4. [ -d venv ] && source venv/bin/activate
  5. family_name=${FIRACODE_FAMILY_NAME:-"Fira Code"}
  6. glyphs_file=${FIRACODE_GLYPHS_FILE:-"FiraCode.glyphs"}
  7. dir="distr/ttf/${family_name}"
  8. mkdir -p "${dir}"
  9. rm -rf "${dir:?}/"*
  10. args=( "$@" )
  11. default_weights=( "Light" "Regular" "Retina" "Medium" "SemiBold" "Bold" )
  12. weights=( "${args[@]:-"${default_weights[@]}"}" )
  13. for weight in "${weights[@]}"; do
  14. file="${dir}/FiraCode-${weight}.ttf"
  15. echo "=============="
  16. echo
  17. echo " [i] Creating ${file}"
  18. echo
  19. fontmake -g "${glyphs_file}" -o ttf --output-path "${file}" -i ".* ${weight}"
  20. echo " [i] TTFautohint ${file}"
  21. ttfautohint --no-info --ignore-restrictions "${file}" "${file}.hinted"
  22. mv "${file}.hinted" "${file}"
  23. done