mirror of
https://github.com/rsms/inter.git
synced 2024-12-18 05:01:45 +03:00
107 lines
3.3 KiB
Makefile
107 lines
3.3 KiB
Makefile
|
# 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
|