diff options
author | Rasmus Andersson <rasmus@notion.se> | 2017-08-22 10:05:20 +0300 |
---|---|---|
committer | Rasmus Andersson <rasmus@notion.se> | 2017-08-22 12:23:08 +0300 |
commit | 3b1fffade1473f20f2558733fbd218f4580fc7c3 (patch) | |
tree | ea4f80b43b08744d493bb86ab646444ec04ddc7f /Makefile | |
download | inter-3b1fffade1473f20f2558733fbd218f4580fc7c3.tar.xz |
Initial public commitv1.0
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..6ce4dda73 --- /dev/null +++ b/Makefile @@ -0,0 +1,106 @@ +# Targets: +# all Build all styles in all formats (default) +# all_ttf Build all styles as TrueType +# STYLE Build STYLE in all formats (e.g. MediumItalic) +# STYLE_ttf Build STYLE as TrueType (e.g. MediumItalic_ttf) +# zip Build all styles as TrueType and package into a zip archive +# +all: all_web all_otf + +# generated.make is automatically generated by init.sh and defines depenencies for +# all styles and alias targets +include build/etc/generated.make + +res_files := src/fontbuild.cfg src/diacritics.txt src/glyphlist.txt src/glyphorder.txt + +# UFO -> TTF & OTF (note that UFO deps are defined by generated.make) +build/tmp/InterfaceTTF/Interface-%.ttf: $(res_files) + misc/ufocompile --otf $* + +build/tmp/InterfaceOTF/Interface-%.otf: build/tmp/InterfaceTTF/Interface-%.ttf $(res_files) + @true + +# build/tmp/ttf -> build (generated.make handles build/tmp/InterfaceTTF/Interface-%.ttf) +build/dist-unhinted/Interface-%.ttf: build/tmp/InterfaceTTF/Interface-%.ttf + @mkdir -p build/dist-unhinted + cp -a "$<" "$@" + +# OTF +build/dist-unhinted/Interface-%.otf: build/tmp/InterfaceOTF/Interface-%.otf + cp -a "$<" "$@" + +build/dist: + @mkdir -p build/dist + +# autohint +build/dist/Interface-%.ttf: build/dist-unhinted/Interface-%.ttf build/dist + ttfautohint \ + --hinting-limit=256 \ + --hinting-range-min=8 \ + --hinting-range-max=64 \ + --fallback-stem-width=256 \ + --strong-stem-width=D \ + --no-info \ + --verbose \ + "$<" "$@" + +# TTF -> WOFF2 +build/%.woff2: build/%.ttf + woff2_compress "$<" + +# TTF -> WOFF +build/%.woff: build/%.ttf + ttf2woff -O -t woff "$<" "$@" + +# TTF -> EOT (disabled) +# build/%.eot: build/%.ttf +# ttf2eot "$<" > "$@" + +# TTF -> zip +zip: all + @rm -rf build/.zip + @rm -f build/.zip.zip + @mkdir -p \ + "build/.zip/Interface (web)" \ + "build/.zip/Interface (hinted TTF)" \ + "build/.zip/Interface (TTF)" \ + "build/.zip/Interface (OTF)" + cp -a build/dist/*.woff build/dist/*.woff2 "build/.zip/Interface (web)/" + cp -a build/dist/*.ttf "build/.zip/Interface (hinted TTF)/" + cp -a build/dist-unhinted/*.ttf "build/.zip/Interface (TTF)/" + cp -a build/dist-unhinted/*.otf "build/.zip/Interface (OTF)/" + cp -a misc/doc/install-*.txt "build/.zip/" + cd build/.zip && zip -v -X -r "../../build/.zip.zip" * + @mkdir -p build/release + @mv -f build/.zip.zip build/release/Interface-`date '+%Y%m%d'`.zip + @echo write build/release/Interface-`date '+%Y%m%d'`.zip + @rm -rf build/.zip + +install_ttf: all_ttf + @echo "Installing TTF files locally at ~/Library/Fonts/Interface" + rm -rf ~/Library/Fonts/Interface + mkdir -p ~/Library/Fonts/Interface + cp -va build/dist/*.ttf ~/Library/Fonts/Interface + +install_otf: all_otf + @echo "Installing OTF files locally at ~/Library/Fonts/Interface" + rm -rf ~/Library/Fonts/Interface + mkdir -p ~/Library/Fonts/Interface + cp -va build/dist-unhinted/*.otf ~/Library/Fonts/Interface + +install: all install_otf + +glyphinfo: _local/UnicodeData.txt + misc/gen-glyphinfo.py -ucd _local/UnicodeData.txt \ + src/Interface-*.ufo > misc/preview/glyphinfo.json + +# Download latest Unicode data +_local/UnicodeData.txt: + @mkdir -p _local + curl -s '-#' -o "$@" \ + http://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt + +clean: + rm -vrf build/tmp/* build/dist/Interface-*.* + +.PHONY: all web clean install install_otf install_ttf deploy zip glyphinfo |