summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2021-03-24 22:25:49 +0300
committerRasmus Andersson <rasmus@notion.se>2021-03-24 22:25:49 +0300
commitb4f4ad1aead1433eeda37690c8b8fc688c05ab03 (patch)
tree3f44f9fc9ca1b70a7c1db6dbb37d90ae1fa103e1 /Makefile
parent360f647dfd080dd6c09481db06be977d27534d29 (diff)
downloadinter-b4f4ad1aead1433eeda37690c8b8fc688c05ab03.tar.xz
tooling: adds fontbakery testing
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile154
1 files changed, 111 insertions, 43 deletions
diff --git a/Makefile b/Makefile
index 3b2cffa5c..2bffad28b 100644
--- a/Makefile
+++ b/Makefile
@@ -2,13 +2,15 @@
# make list
#
# High-level make targets:
+# text Build all Inter Text fonts (default target)
+# display Build all Inter Display fonts
# all Build everything
-# all_text Build all Inter (non-dislay) fonts
-# all_display Build all Inter Display fonts
# web Build all web fonts
# var Build all variable fonts
-# zip Build a complete ZIP archive of all fonts.
-# test Build and test everyything
+# test Run all test (builds fonts if needed)
+# zip Build a complete ZIP archive of all fonts
+# zip_text Build a complete ZIP archive of all Inter Text fonts
+# zip_display Build a complete ZIP archive of all Inter Display fonts
# install Build and install all OTF files (macOS only)
#
# Style-specific targets:
@@ -29,22 +31,21 @@
#
FONTDIR = build/fonts
-all: all_text all_display web
+default: text
+all: text display
+
+# all fonts of given variant
+text: all_otf_text all_ttf_text all_ttf_text_hinted all_var_text web_text
+display: all_otf_display all_ttf_display all_ttf_display_hinted all_var_display web_display
# all fonts of a certain type
all_otf: all_otf_text all_otf_display
all_ttf: all_ttf_text all_ttf_display all_ttf_text_hinted all_ttf_display_hinted
-# all fonts of given variant
-all_text: all_otf_text all_ttf_text all_ttf_text_hinted all_var_text web_text
-all_display: all_otf_display all_ttf_display all_ttf_display_hinted all_var_display web_display
-
-# web fonts
web: web_text web_display
web_text: all_web_text all_web_hinted_text
web_display: all_web_display all_web_hinted_display
-# variable fonts
var: all_var_text all_var_display
var_text: $(FONTDIR)/var/Inter.var.woff2 $(FONTDIR)/var/Inter.var.ttf $(FONTDIR)/var/Inter-V.var.ttf
var_display: $(FONTDIR)/var/InterDisplay.var.woff2 $(FONTDIR)/var/InterDisplay.var.ttf $(FONTDIR)/var/InterDisplay-V.var.ttf
@@ -67,7 +68,7 @@ all_var_display: \
$(FONTDIR)/var/InterDisplay-italic.var.ttf \
$(FONTDIR)/var/InterDisplay-italic.var.woff2
-.PHONY: all all_otf all_ttf all_text all_display
+.PHONY: all all_otf all_ttf text display
.PHONY: web web_text web_display
.PHONY: var var_text var_display all_var_text all_var_display
@@ -114,27 +115,33 @@ build/%.woff: build/%.ttf
$(FONTDIR)/var/Inter.var.ttf: $(all_ufo_masters_text) version.txt
@mkdir -p "$(dir $@)"
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) build/ufo/Inter.designspace
+ gftools fix-unwanted-tables $@
$(FONTDIR)/var/Inter-V.var.ttf: $(FONTDIR)/var/Inter.var.ttf
misc/fontbuild rename --family "Inter V" -o $@ $<
+ gftools fix-unwanted-tables $@
$(FONTDIR)/var/Inter-%.var.ttf: build/ufo/Inter-%.designspace $(all_ufo_masters_text) version.txt
@mkdir -p "$(dir $@)"
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) $<
misc/tools/fix-vf-meta.py $@
+ gftools fix-unwanted-tables $@
$(FONTDIR)/var/InterDisplay.var.ttf: $(all_ufo_masters_display) version.txt
@mkdir -p "$(dir $@)"
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) build/ufo/InterDisplay.designspace
+ gftools fix-unwanted-tables $@
$(FONTDIR)/var/InterDisplay-V.var.ttf: $(FONTDIR)/var/InterDisplay.var.ttf
misc/fontbuild rename --family "Inter Display V" -o $@ $<
+ gftools fix-unwanted-tables $@
$(FONTDIR)/var/InterDisplay-%.var.ttf: build/ufo/InterDisplay-%.designspace $(all_ufo_masters_display) version.txt
@mkdir -p "$(dir $@)"
misc/fontbuild compile-var -o $@ $(FONTBUILD_FLAGS) $<
misc/tools/fix-vf-meta.py $@
+ gftools fix-unwanted-tables $@
# OTF/TTF from UFO
@@ -211,35 +218,96 @@ $(FONTDIR)/const-hinted/%.ttf: $(FONTDIR)/const/%.ttf
# test runs all tests
# Note: all_check_const is generated by init.sh and runs "fontbuild checkfont"
# on all otf and ttf files.
-test: check_all_text check_all_display
- misc/fontbuild checkfont $(FONTDIR)/var/*.otf $(FONTDIR)/var/*.woff2
- @echo "test: all ok"
+test: test_text test_display
+
+test_text: check_text \
+ build/fbreport-text-const.txt \
+ build/fbreport-text-var1.txt \
+ build/fbreport-text-var2.txt
+ @echo "$(@): OK"
+
+test_display: check_display \
+ build/fbreport-display-const.txt \
+ build/fbreport-display-var1.txt \
+ build/fbreport-display-var2.txt
+ @echo "$(@): OK"
+
+# FBAKE_ARGS are common args for all fontbakery targets
+FBAKE_ARGS := check-universal \
+ --no-colors \
+ --no-progress \
+ --loglevel WARN \
+ --succinct \
+ -j \
+ -x com.google.fonts/check/dsig \
+ -x com.google.fonts/check/family/win_ascent_and_descent
+
+FBAKE_STATIC_ARGS := $(FBAKE_ARGS) -x com.google.fonts/check/family/underline_thickness
+FBAKE_VAR_ARGS := $(FBAKE_ARGS) -x com.google.fonts/check/STAT_strings
+
+# static text family
+build/fbreport-text-const.txt: $(wildcard $(FONTDIR)/const/Inter-*.otf)
+ @echo "fontbakery check-universal Inter-*.otf > $(@) ..."
+ @fontbakery $(FBAKE_STATIC_ARGS) $^ > $@
+ @echo "fontbakery check-universal Inter-*.otf OK"
+
+# multi-axis VF text family
+build/fbreport-text-var2.txt: $(FONTDIR)/var/Inter.var.ttf
+ @echo "fontbakery check-universal Inter.var.ttf > $(@) ..."
+ @fontbakery $(FBAKE_VAR_ARGS) $^ > $@
+ @echo "fontbakery check-universal Inter.var.ttf"
+
+# single-axis VF text family
+build/fbreport-text-var1.txt: $(wildcard $(FONTDIR)/var/Inter-*.var.ttf)
+ @echo "fontbakery check-universal Inter-*.var.ttf > $(@) ..."
+ @fontbakery $(FBAKE_VAR_ARGS) $^ > $@
+ @echo "fontbakery check-universal Inter-*.var.ttf"
+
+
+# static display family
+build/fbreport-display-const.txt: $(wildcard $(FONTDIR)/const/InterDisplay-*.otf)
+ @echo "fontbakery check-universal InterDisplay-*.otf > $(@) ..."
+ @fontbakery $(FBAKE_STATIC_ARGS) $^ > $@
+ @echo "fontbakery check-universal InterDisplay-*.otf"
+
+# multi-axis VF display family
+build/fbreport-display-var2.txt: $(FONTDIR)/var/InterDisplay.var.ttf
+ @echo "fontbakery check-universal InterDisplay.var.ttf > $(@) ..."
+ @fontbakery $(FBAKE_VAR_ARGS) $^ > $@
+ @echo "fontbakery check-universal InterDisplay.var.ttf"
+
+# single-axis VF display family
+build/fbreport-display-var1.txt: $(wildcard $(FONTDIR)/var/InterDisplay-*.var.ttf)
+ @echo "fontbakery check-universal InterDisplay-*.var.ttf > $(@) ..."
+ @fontbakery $(FBAKE_VAR_ARGS) $^ > $@
+ @echo "fontbakery check-universal InterInterDisplay-*.var.ttf"
+
+x:
+ echo $(basename build/fbreport-display-var1.json)
# check does the same thing as test, but without any dependency checks, meaning
# it will check whatever font files are already built.
-check_text:
- misc/fontbuild checkfont \
- $(FONTDIR)/const/Inter-*.ttf \
- $(FONTDIR)/const/Inter-*.otf \
- $(FONTDIR)/const/Inter-*.woff2 \
- $(FONTDIR)/var/Inter.var.ttf \
- $(FONTDIR)/var/Inter.var.woff2 \
- $(FONTDIR)/var/Inter-*.var.ttf \
- $(FONTDIR)/var/Inter-*.var.woff2
- @echo "check_text: all ok"
+check_text: $(wildcard $(FONTDIR)/const/Inter-*.ttf) \
+ $(wildcard $(FONTDIR)/const/Inter-*.otf) \
+ $(wildcard $(FONTDIR)/const/Inter-*.woff2) \
+ $(wildcard $(FONTDIR)/var/Inter-*.var.ttf) \
+ $(wildcard $(FONTDIR)/var/Inter-*.var.woff2) \
+ $(FONTDIR)/var/Inter.var.ttf \
+ $(FONTDIR)/var/Inter.var.woff2
+ misc/fontbuild checkfont $^
+ @echo "$(@): OK"
-check_display:
- misc/fontbuild checkfont \
- $(FONTDIR)/const/InterDisplay-*.ttf \
- $(FONTDIR)/const/InterDisplay-*.otf \
- $(FONTDIR)/const/InterDisplay-*.woff2 \
- $(FONTDIR)/var/InterDisplay.var.ttf \
- $(FONTDIR)/var/InterDisplay.var.woff2 \
- $(FONTDIR)/var/InterDisplay-*.var.ttf \
- $(FONTDIR)/var/InterDisplay-*.var.woff2
- @echo "check_display: all ok"
+check_display: $(wildcard $(FONTDIR)/const/InterDisplay-*.ttf) \
+ $(wildcard $(FONTDIR)/const/InterDisplay-*.otf) \
+ $(wildcard $(FONTDIR)/const/InterDisplay-*.woff2) \
+ $(wildcard $(FONTDIR)/var/InterDisplay-*.var.ttf) \
+ $(wildcard $(FONTDIR)/var/InterDisplay-*.var.woff2) \
+ $(FONTDIR)/var/InterDisplay.var.ttf \
+ $(FONTDIR)/var/InterDisplay.var.woff2
+ misc/fontbuild checkfont $^ \
+ @echo "$(@): OK"
-.PHONY: test check check_text check_display
+.PHONY: test test_text test_display check_text check_display
@@ -266,26 +334,26 @@ VERSION := $(shell cat version.txt)
ZIP_FILE_DIST := build/release/Inter-${VERSION}.zip
zip: all
- $(MAKE) check_text check_display
+ $(MAKE) test_text test_display
bash misc/makezip.sh -all -reveal-in-finder \
"build/release/Inter-${VERSION}-$(shell git rev-parse --short=10 HEAD).zip"
-zip_text: all_text
- $(MAKE) check_text
+zip_text: text
+ $(MAKE) test_text
bash misc/makezip.sh -text -reveal-in-finder \
"build/release/Inter-${VERSION}-text-$(shell git rev-parse --short=10 HEAD).zip"
-zip_display: all_display
- $(MAKE) check_display
+zip_display: display
+ $(MAKE) test_display
bash misc/makezip.sh -display -reveal-in-finder \
"build/release/Inter-${VERSION}-display-$(shell git rev-parse --short=10 HEAD).zip"
dist_zip: dist_check dist_build
- $(MAKE) check_text
+ $(MAKE) test_text
bash misc/makezip.sh -text -reveal-in-finder "$(ZIP_FILE_DIST)"
-dist_build: all_text
+dist_build: text
misc/tools/versionize.py
dist_check: