Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rsms/inter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.1
Choose a base ref
...
head repository: rsms/inter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 14 commits
  • 103 files changed
  • 1 contributor

Commits on Nov 16, 2024

  1. Copy the full SHA
    abfa193 View commit details
  2. Copy the full SHA
    1ea78b6 View commit details
  3. bump version

    rsms committed Nov 16, 2024
    Copy the full SHA
    4e5ff6c View commit details
  4. readme

    rsms committed Nov 16, 2024
    Copy the full SHA
    94f7074 View commit details
  5. Copy the full SHA
    a264bbe View commit details

Commits on Nov 17, 2024

  1. readme: add mention of "Raveo"

    rsms committed Nov 17, 2024
    Copy the full SHA
    80a5fc0 View commit details
  2. Copy the full SHA
    76aa381 View commit details
  3. a.2 kerning

    rsms committed Nov 17, 2024
    Copy the full SHA
    dcec7c7 View commit details

Commits on Nov 18, 2024

  1. Copy the full SHA
    f60b3aa View commit details

Commits on Nov 19, 2024

  1. Copy the full SHA
    4f4db2f View commit details
  2. Copy the full SHA
    41ce65b View commit details
  3. tooling: simplify makefile by updating PATH (which is broken in macOS…

    … "make", so require GNU make on macOS)
    rsms committed Nov 19, 2024
    Copy the full SHA
    9bdd60c View commit details
  4. Copy the full SHA
    458bcd4 View commit details
  5. sync metrics keys

    rsms committed Nov 19, 2024
    Copy the full SHA
    353b61b View commit details
Showing with 11,385 additions and 235 deletions.
  1. +49 −46 Makefile
  2. +10 −8 README.md
  3. +1 −1 docs/_data/feature_samples.yml
  4. +12 −1 docs/res/glyph-inspector.js
  5. +111 −28 src/Inter-Italic.glyphspackage/fontinfo.plist
  6. +30 −30 src/Inter-Italic.glyphspackage/glyphs/{afii10050.glyph → G_eupturn-cy.glyph}
  7. +2 −0 src/Inter-Italic.glyphspackage/glyphs/emspace.glyph
  8. +2 −0 src/Inter-Italic.glyphspackage/glyphs/enspace.glyph
  9. +2 −0 src/Inter-Italic.glyphspackage/glyphs/figurespace.glyph
  10. +2 −0 src/Inter-Italic.glyphspackage/glyphs/hairspace.glyph
  11. +2 −0 src/Inter-Italic.glyphspackage/glyphs/mediumspace-math.glyph
  12. +2 −0 src/Inter-Italic.glyphspackage/glyphs/narrownbspace.glyph
  13. +2 −0 src/Inter-Italic.glyphspackage/glyphs/nbspace.glyph
  14. +2 −0 src/Inter-Italic.glyphspackage/glyphs/nbspace.tf.glyph
  15. +79 −0 src/Inter-Italic.glyphspackage/glyphs/one.tf.2.glyph
  16. +211 −0 src/Inter-Italic.glyphspackage/glyphs/one.tf.2.ss01.glyph
  17. +2 −0 src/Inter-Italic.glyphspackage/glyphs/punctuationspace.glyph
  18. +2 −0 src/Inter-Italic.glyphspackage/glyphs/punctuationspace.tf.glyph
  19. +2 −0 src/Inter-Italic.glyphspackage/glyphs/quarteremspace.glyph
  20. +2 −0 src/Inter-Italic.glyphspackage/glyphs/sixthemspace.glyph
  21. +2 −0 src/Inter-Italic.glyphspackage/glyphs/space.glyph
  22. +2 −0 src/Inter-Italic.glyphspackage/glyphs/space.tf.glyph
  23. +2 −0 src/Inter-Italic.glyphspackage/glyphs/thinspace.glyph
  24. +2 −0 src/Inter-Italic.glyphspackage/glyphs/thirdemspace.glyph
  25. +2 −0 src/Inter-Italic.glyphspackage/glyphs/zerowidthspace.glyph
  26. +3 −1 src/Inter-Italic.glyphspackage/order.plist
  27. +279 −36 src/Inter-Roman.glyphspackage/fontinfo.plist
  28. +15 −15 src/Inter-Roman.glyphspackage/glyphs/{afii10050.glyph → G_eupturn-cy.glyph}
  29. +67 −0 src/Inter-Roman.glyphspackage/glyphs/a.1.subs.glyph
  30. +650 −0 src/Inter-Roman.glyphspackage/glyphs/a.1.sups.glyph
  31. +3,176 −0 src/Inter-Roman.glyphspackage/glyphs/a.2.glyph
  32. +67 −0 src/Inter-Roman.glyphspackage/glyphs/a.2.subs.glyph
  33. +746 −0 src/Inter-Roman.glyphspackage/glyphs/a.2.sups.glyph
  34. +352 −7 src/Inter-Roman.glyphspackage/glyphs/a.glyph
  35. +0 −57 src/Inter-Roman.glyphspackage/glyphs/a.sups.glyph
  36. +93 −0 src/Inter-Roman.glyphspackage/glyphs/aacute.2.glyph
  37. +93 −0 src/Inter-Roman.glyphspackage/glyphs/abreve.2.glyph
  38. +99 −0 src/Inter-Roman.glyphspackage/glyphs/abreveacute.2.glyph
  39. +92 −0 src/Inter-Roman.glyphspackage/glyphs/abrevecyrillic.1.glyph
  40. +87 −0 src/Inter-Roman.glyphspackage/glyphs/abrevecyrillic.2.glyph
  41. +117 −0 src/Inter-Roman.glyphspackage/glyphs/abrevedotbelow.2.glyph
  42. +110 −0 src/Inter-Roman.glyphspackage/glyphs/abrevedotbelow.2.ss07.glyph
  43. +99 −0 src/Inter-Roman.glyphspackage/glyphs/abrevegrave.2.glyph
  44. +99 −0 src/Inter-Roman.glyphspackage/glyphs/abrevehookabove.2.glyph
  45. +99 −0 src/Inter-Roman.glyphspackage/glyphs/abrevetilde.2.glyph
  46. +93 −0 src/Inter-Roman.glyphspackage/glyphs/acaron.2.glyph
  47. +93 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflex.2.glyph
  48. +99 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflexacute.2.glyph
  49. +117 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflexdotbelow.2.glyph
  50. +110 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflexdotbelow.2.ss07.glyph
  51. +99 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflexgrave.2.glyph
  52. +99 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflexhookabove.2.glyph
  53. +99 −0 src/Inter-Roman.glyphspackage/glyphs/acircumflextilde.2.glyph
  54. +68 −0 src/Inter-Roman.glyphspackage/glyphs/acyrillic.1.glyph
  55. +63 −0 src/Inter-Roman.glyphspackage/glyphs/acyrillic.2.glyph
  56. +93 −0 src/Inter-Roman.glyphspackage/glyphs/adblgrave.2.glyph
  57. +93 −0 src/Inter-Roman.glyphspackage/glyphs/adieresis.2.glyph
  58. +173 −0 src/Inter-Roman.glyphspackage/glyphs/adieresis.2.ss07.glyph
  59. +99 −0 src/Inter-Roman.glyphspackage/glyphs/adieresismacron.2.glyph
  60. +92 −0 src/Inter-Roman.glyphspackage/glyphs/adieresismacron.2.ss07.glyph
  61. +93 −0 src/Inter-Roman.glyphspackage/glyphs/adotaccent.2.glyph
  62. +86 −0 src/Inter-Roman.glyphspackage/glyphs/adotaccent.2.ss07.glyph
  63. +93 −0 src/Inter-Roman.glyphspackage/glyphs/adotbelow.2.glyph
  64. +86 −0 src/Inter-Roman.glyphspackage/glyphs/adotbelow.2.ss07.glyph
  65. +99 −0 src/Inter-Roman.glyphspackage/glyphs/adotmacron.2.glyph
  66. +93 −0 src/Inter-Roman.glyphspackage/glyphs/agrave.2.glyph
  67. +93 −0 src/Inter-Roman.glyphspackage/glyphs/ahookabove.2.glyph
  68. +93 −0 src/Inter-Roman.glyphspackage/glyphs/ainvertedbreve.2.glyph
  69. +93 −0 src/Inter-Roman.glyphspackage/glyphs/amacron.2.glyph
  70. +93 −0 src/Inter-Roman.glyphspackage/glyphs/aogonek.2.glyph
  71. +93 −0 src/Inter-Roman.glyphspackage/glyphs/arighthalfring.2.glyph
  72. +93 −0 src/Inter-Roman.glyphspackage/glyphs/aring.2.glyph
  73. +99 −0 src/Inter-Roman.glyphspackage/glyphs/aringacute.2.glyph
  74. +99 −0 src/Inter-Roman.glyphspackage/glyphs/aringbelow.2.glyph
  75. +93 −0 src/Inter-Roman.glyphspackage/glyphs/atilde.2.glyph
  76. +149 −0 src/Inter-Roman.glyphspackage/glyphs/aturn.1.glyph
  77. +144 −0 src/Inter-Roman.glyphspackage/glyphs/aturn.2.glyph
  78. +2 −0 src/Inter-Roman.glyphspackage/glyphs/emspace.glyph
  79. +2 −0 src/Inter-Roman.glyphspackage/glyphs/enspace.glyph
  80. +2 −0 src/Inter-Roman.glyphspackage/glyphs/figurespace.glyph
  81. +2 −0 src/Inter-Roman.glyphspackage/glyphs/hairspace.glyph
  82. +2 −0 src/Inter-Roman.glyphspackage/glyphs/mediumspace-math.glyph
  83. +2 −0 src/Inter-Roman.glyphspackage/glyphs/narrownbspace.glyph
  84. +2 −0 src/Inter-Roman.glyphspackage/glyphs/nbspace.glyph
  85. +2 −0 src/Inter-Roman.glyphspackage/glyphs/nbspace.tf.glyph
  86. +902 −0 src/Inter-Roman.glyphspackage/glyphs/ogonek.a.2.glyph
  87. +11 −3 src/Inter-Roman.glyphspackage/glyphs/ogonek.a.glyph
  88. +73 −0 src/Inter-Roman.glyphspackage/glyphs/one.tf.2.glyph
  89. +205 −0 src/Inter-Roman.glyphspackage/glyphs/one.tf.2.ss01.glyph
  90. +2 −0 src/Inter-Roman.glyphspackage/glyphs/punctuationspace.glyph
  91. +2 −0 src/Inter-Roman.glyphspackage/glyphs/punctuationspace.tf.glyph
  92. +2 −0 src/Inter-Roman.glyphspackage/glyphs/quarteremspace.glyph
  93. +2 −0 src/Inter-Roman.glyphspackage/glyphs/sixthemspace.glyph
  94. +2 −0 src/Inter-Roman.glyphspackage/glyphs/space.glyph
  95. +2 −0 src/Inter-Roman.glyphspackage/glyphs/space.tf.glyph
  96. +2 −0 src/Inter-Roman.glyphspackage/glyphs/thinspace.glyph
  97. +2 −0 src/Inter-Roman.glyphspackage/glyphs/thirdemspace.glyph
  98. +2 −0 src/Inter-Roman.glyphspackage/glyphs/zerowidthspace.glyph
  99. +51 −1 src/Inter-Roman.glyphspackage/order.plist
  100. +2 −0 src/features/cv11-single-storey-a.fea
  101. +2 −0 src/features/cv15-one_tf.fea
  102. +42 −0 src/features/cv16-a-tail.fea
  103. +1 −1 version.txt
95 changes: 49 additions & 46 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# List all targets with 'make list'
ifeq ($(findstring Darwin./Applications/,$(shell uname -s).$(MAKE)),Darwin./Applications/)
$(error Use "gmake" (not "make") on macos. Install with "brew install make")
endif

SRCDIR := $(abspath $(lastword $(MAKEFILE_LIST))/..)
FONTDIR := build/fonts
UFODIR := build/ufo
BIN := $(SRCDIR)/build/venv/bin
VENV := build/venv/bin/activate
VENVDIR := $(SRCDIR)/build/venv
VERSION := $(shell cat version.txt)
MAKEFILE := $(lastword $(MAKEFILE_LIST))

export PATH := $(BIN):$(PATH)
export PATH := $(VENVDIR)/bin:$(PATH)
export VIRTUAL_ENV := $(VENVDIR)

default: all

@@ -21,7 +24,7 @@ endif
# intermediate sources

$(UFODIR)/%.glyphs: src/%.glyphspackage | $(UFODIR) venv
. $(VENV) ; build/venv/bin/glyphspkg -o $(dir $@) $^
glyphspkg -o $(dir $@) $^

# features
build/features_data: $(UFODIR)/features $(wildcard src/features/*)
@@ -33,31 +36,31 @@ $(UFODIR)/features:

# designspace & master UFOs
$(UFODIR)/%.var.designspace: $(UFODIR)/%.designspace misc/tools/gen-var-designspace.py | venv
. $(VENV) ; python misc/tools/gen-var-designspace.py $< $@
python misc/tools/gen-var-designspace.py $< $@

$(UFODIR)/%.designspace: $(UFODIR)/%.glyphs $(UFODIR)/features misc/tools/postprocess-designspace.py | venv
. $(VENV) ; fontmake $(FM_ARGS) -o ufo -g $< --designspace-path $@ \
fontmake $(FM_ARGS) -o ufo -g $< --designspace-path $@ \
--master-dir $(UFODIR) --instance-dir $(UFODIR)
. $(VENV) ; python misc/tools/postprocess-designspace.py $@
python misc/tools/postprocess-designspace.py $@

# instance UFOs from designspace
$(UFODIR)/Inter%Italic.ufo: $(UFODIR)/Inter-Italic.designspace misc/tools/gen-instance-ufo.sh | venv
. $(VENV) ; bash misc/tools/gen-instance-ufo.sh $< $@
bash misc/tools/gen-instance-ufo.sh $< $@
$(UFODIR)/Inter%.ufo: $(UFODIR)/Inter-Roman.designspace misc/tools/gen-instance-ufo.sh | venv
. $(VENV) ; bash misc/tools/gen-instance-ufo.sh $< $@
bash misc/tools/gen-instance-ufo.sh $< $@

# designspace & master UFOs (for editing)
build/ufo-editable/%.designspace: $(UFODIR)/%.glyphs $(UFODIR)/features misc/tools/postprocess-designspace.py | venv
@mkdir -p $(dir $@)
. $(VENV) ; fontmake $(FM_ARGS) -o ufo -g $< --designspace-path $@ \
fontmake $(FM_ARGS) -o ufo -g $< --designspace-path $@ \
--master-dir $(dir $@) --instance-dir $(dir $@)
. $(VENV) ; python misc/tools/postprocess-designspace.py --editable $@
python misc/tools/postprocess-designspace.py --editable $@

# instance UFOs from designspace (for editing)
build/ufo-editable/Inter%Italic.ufo: build/ufo-editable/Inter-Italic.designspace misc/tools/gen-instance-ufo.sh | venv
. $(VENV) ; bash misc/tools/gen-instance-ufo.sh $< $@
bash misc/tools/gen-instance-ufo.sh $< $@
build/ufo-editable/Inter%.ufo: build/ufo-editable/Inter-Roman.designspace misc/tools/gen-instance-ufo.sh | venv
. $(VENV) ; bash misc/tools/gen-instance-ufo.sh $< $@
bash misc/tools/gen-instance-ufo.sh $< $@

editable-ufos: build/ufo-editable/.ok
@echo "Editable designspace & UFOs can be found here:"
@@ -162,61 +165,61 @@ endif


$(FONTDIR)/static/%.otf: $(UFODIR)/%.ufo build/features_data | $(FONTDIR)/static venv
. $(VENV) ; fontmake -u $< -o otf --output-path $@.tmp.otf $(FM_ARGS_2)
. $(VENV) ; psautohint -o $@ $@.tmp.otf
fontmake -u $< -o otf --output-path $@.tmp.otf $(FM_ARGS_2)
psautohint -o $@ $@.tmp.otf
@rm $@.tmp.otf

$(FONTDIR)/static/%.ttf: $(UFODIR)/%.ufo build/features_data | $(FONTDIR)/static venv
. $(VENV) ; fontmake -u $< -o ttf --output-path $@ $(FM_ARGS_2)
fontmake -u $< -o ttf --output-path $@ $(FM_ARGS_2)


AUTOHINT_ARGS := --stem-width-mode=qqq --no-info

$(FONTDIR)/static-hinted/Inter-Regular.ttf: $(FONTDIR)/static/Inter-Regular.ttf | $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"
python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"

$(FONTDIR)/static-hinted/InterDisplay-Regular.ttf: $(FONTDIR)/static/InterDisplay-Regular.ttf | $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"
python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"

$(FONTDIR)/static-hinted/Inter-Italic.ttf: $(FONTDIR)/static/Inter-Italic.ttf | $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"
python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"

$(FONTDIR)/static-hinted/InterDisplay-Italic.ttf: $(FONTDIR)/static/InterDisplay-Italic.ttf | $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"
python -m ttfautohint $(AUTOHINT_ARGS) "$<" "$@"

$(FONTDIR)/static-hinted/InterDisplay-%Italic.ttf: $(FONTDIR)/static/InterDisplay-%Italic.ttf | $(FONTDIR)/static-hinted/InterDisplay-Italic.ttf $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) \
python -m ttfautohint $(AUTOHINT_ARGS) \
--reference $(FONTDIR)/static-hinted/InterDisplay-Italic.ttf "$<" "$@"

$(FONTDIR)/static-hinted/InterDisplay-%.ttf: $(FONTDIR)/static/InterDisplay-%.ttf | $(FONTDIR)/static-hinted/InterDisplay-Regular.ttf $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) \
python -m ttfautohint $(AUTOHINT_ARGS) \
--reference $(FONTDIR)/static-hinted/InterDisplay-Regular.ttf "$<" "$@"

$(FONTDIR)/static-hinted/Inter-%Italic.ttf: $(FONTDIR)/static/Inter-%Italic.ttf | $(FONTDIR)/static-hinted/Inter-Italic.ttf $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) \
python -m ttfautohint $(AUTOHINT_ARGS) \
--reference $(FONTDIR)/static-hinted/Inter-Italic.ttf "$<" "$@"

$(FONTDIR)/static-hinted/Inter-%.ttf: $(FONTDIR)/static/Inter-%.ttf | $(FONTDIR)/static-hinted/Inter-Regular.ttf $(FONTDIR)/static-hinted venv
. $(VENV) ; python -m ttfautohint $(AUTOHINT_ARGS) \
python -m ttfautohint $(AUTOHINT_ARGS) \
--reference $(FONTDIR)/static-hinted/Inter-Regular.ttf "$<" "$@"


$(FONTDIR)/var/.%.var.ttf: $(UFODIR)/%.var.designspace build/features_data | $(FONTDIR)/var venv
. $(VENV) ; fontmake -o variable -m $< --output-path $@ $(FM_ARGS_2)
fontmake -o variable -m $< --output-path $@ $(FM_ARGS_2)

$(FONTDIR)/var/.%.var.otf: $(UFODIR)/%.var.designspace build/features_data | $(FONTDIR)/var venv
. $(VENV) ; fontmake -o variable-cff2 -m $< --output-path $@ $(FM_ARGS_2)
fontmake -o variable-cff2 -m $< --output-path $@ $(FM_ARGS_2)


%.woff2: %.ttf | venv
. $(VENV) ; misc/tools/woff2 compress -o "$@" "$<"
misc/tools/woff2 compress -o "$@" "$<"


$(FONTDIR)/var/InterVariable.ttf: $(FONTDIR)/var/.Inter-Roman.var.ttf misc/tools/bake-vf.py
. $(VENV) ; python misc/tools/bake-vf.py $< -o $@
python misc/tools/bake-vf.py $< -o $@

$(FONTDIR)/var/InterVariable-Italic.ttf: $(FONTDIR)/var/.Inter-Italic.var.ttf misc/tools/bake-vf.py
. $(VENV) ; python misc/tools/bake-vf.py $< -o $@
python misc/tools/bake-vf.py $< -o $@


$(FONTDIR)/static:
@@ -234,12 +237,12 @@ var: \
$(FONTDIR)/var/InterVariable-Italic.ttf

googlefonts: var
. $(VENV) ; gftools fix-family $(FONTDIR)/var/*.ttf \
gftools fix-family $(FONTDIR)/var/*.ttf \
--rename-family "Inter" \
--include-source-fixes \
-o $(FONTDIR)/googlefonts;
. $(VENV) ; gftools fontsetter $(FONTDIR)/googlefonts/Inter[opsz,wght].ttf src/googlefonts-fixes.yaml -o $(FONTDIR)/googlefonts/Inter[opsz,wght].ttf;
. $(VENV) ; gftools fontsetter $(FONTDIR)/googlefonts/Inter-Italic[opsz,wght].ttf src/googlefonts-fixes.yaml -o $(FONTDIR)/googlefonts/Inter-Italic[opsz,wght].ttf;
gftools fontsetter $(FONTDIR)/googlefonts/Inter[opsz,wght].ttf src/googlefonts-fixes.yaml -o $(FONTDIR)/googlefonts/Inter[opsz,wght].ttf;
gftools fontsetter $(FONTDIR)/googlefonts/Inter-Italic[opsz,wght].ttf src/googlefonts-fixes.yaml -o $(FONTDIR)/googlefonts/Inter-Italic[opsz,wght].ttf;

var_web: \
$(FONTDIR)/var/InterVariable.woff2 \
@@ -297,10 +300,10 @@ STATIC_FONTS_WEB := $(patsubst %,$(FONTDIR)/static/%.woff2,$(STATIC_FONTS))
STATIC_FONTS_WEB_HINTED := $(patsubst %,$(FONTDIR)/static-hinted/%.woff2,$(STATIC_FONTS))

$(FONTDIR)/static/Inter.otc: $(STATIC_FONTS_OTF)
. $(VENV) ; python -m fontTools.ttLib.__main__ -o $@ $^
python -m fontTools.ttLib.__main__ -o $@ $^

$(FONTDIR)/static-hinted/Inter.ttc: $(STATIC_FONTS_TTF)
. $(VENV) ; python -m fontTools.ttLib.__main__ -o $@ $^
python -m fontTools.ttLib.__main__ -o $@ $^

static_otf: $(STATIC_FONTS_OTF)
static_ttf: $(STATIC_FONTS_TTF)
@@ -381,21 +384,21 @@ STATIC_DISPLAY_FONTS_TTF = $(patsubst %,$(FONTDIR)/static-hinted/%.ttf,$(STATIC_

build/fontbakery-report-var.txt: $(FONTDIR)/var/InterVariable.ttf $(FONTDIR)/var/InterVariable-Italic.ttf | venv
@echo "fontbakery InterVariable -> $(@) ..."
@. $(VENV) ; fontbakery $(FBAKE_ARGS) $^ > $@ \
@fontbakery $(FBAKE_ARGS) $^ > $@ \
|| (cat $@; echo "report at $@"; touch -m -t 199001010000 $@; exit 1)
@echo "fontbakery InterVariable: PASS"
@grep -E -A7 '^Total:' $@ | tail -6 | sed -E 's/^ +/ /g'

build/fontbakery-report-text.txt: $(STATIC_TEXT_FONTS_TTF) | venv
@echo "fontbakery Inter -> $@ ..."
@. $(VENV) ; fontbakery $(FBAKE_ARGS_STATIC) $^ > $@ \
@fontbakery $(FBAKE_ARGS_STATIC) $^ > $@ \
|| (cat $@; echo "report at $@"; touch -m -t 199001010000 $@; exit 1)
@echo "fontbakery Inter: PASS"
@grep -E -A7 '^Total:' $@ | tail -6 | sed -E 's/^ +/ /g'

build/fontbakery-report-display.txt: $(STATIC_DISPLAY_FONTS_TTF) | venv
@echo "fontbakery InterDisplay -> $@ ..."
@. $(VENV) ; fontbakery $(FBAKE_ARGS_STATIC) $^ > $@ \
@fontbakery $(FBAKE_ARGS_STATIC) $^ > $@ \
|| (cat $@; echo "report at $@"; touch -m -t 199001010000 $@; exit 1)
@echo "fontbakery InterDisplay: PASS"
@grep -E -A7 '^Total:' $@ | tail -6 | sed -E 's/^ +/ /g'
@@ -589,20 +592,20 @@ list:
# ---------------------------------------------------------------------------------
# initialize toolchain

venv: build/venv/config2.stamp
venv: $(VENVDIR)/config2.stamp

build/venv/config2.stamp: Pipfile.lock Pipfile
$(VENVDIR)/config2.stamp: Pipfile.lock Pipfile
@mkdir -p build
[ ! -f build/venv/config.stamp ] || rm -rf build/venv
[ -d build/venv ] || python3 -m venv build/venv
. $(VENV) ; pip install pipenv==2023.8.28
. $(VENV) ; pipenv install
[ ! -f "$(VENVDIR)/config.stamp" ] || rm -rf "$(VENVDIR)"
[ -d "$(VENVDIR)" ] || python3 -m venv "$(VENVDIR)"
pip install pipenv==2023.8.28
pipenv install
touch $@

venv-update:
. $(VENV) ; pipenv update
pipenv update

reset: clean
rm -rf build/venv
rm -rf "$(VENVDIR)"

.PHONY: venv venv-update reset
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -55,23 +55,18 @@ For web pages, there's an official [CDN distribution](https://rsms.me/inter/inte
- [Homebrew `font-inter`](https://github.com/Homebrew/homebrew-cask-fonts)
- [Ubuntu `fonts-inter`](https://packages.ubuntu.com/search?keywords=fonts-inter)
- [List of Inter available on various Linux distributions…](https://repology.org/project/fonts:inter/versions)
- [Google Fonts](https://fonts.google.com/specimen/Inter) (outdated version, no italics)
- [Google Fonts](https://fonts.google.com/specimen/Inter)

**Disclaimer:** Alternate distributions may not always be up-to-date.


### Derivative versions

- [Open Runde](https://github.com/lauridskern/open-runde) is a rounded variant of Inter
- [Interalia](https://github.com/Shavian-info/interalia) extends Inter with Shavian characters


## Notable uses of Inter

- [ElementaryOS](https://elementary.io/)
- [Figma](https://figma.com/)
- [GitLab](https://gitlab.com/)
- [Guggenheim museums](https://www.pentagram.com/work/guggenheim-3)
- [Guggenheim museums](https://www.pentagram.com/work/guggenheim-3) ([case study](https://www.pentagram.com/work/guggenheim-3/))
- [ISO (International Organization for Standardization)](https://www.iso.org/) ([case study](https://www.motherbird.com.au/projects/iso/))
- [Minimalissimo magazine](https://minimalissimo.com/)
- [Mozilla](https://mozilla.design/firefox/typography/)
- [NASA](https://www.nasa.gov/specials/artemis-ii/)
@@ -85,6 +80,13 @@ For web pages, there's an official [CDN distribution](https://rsms.me/inter/inte
> [Please share in Show & Tell! →](https://github.com/rsms/inter/discussions/categories/show-and-tell)

### Notable forks

- [Open Runde](https://github.com/lauridskern/open-runde) is a rounded variant of Inter
- [Interalia](https://github.com/Shavian-info/interalia) extends Inter with Shavian characters
- [Raveo](https://github.com/jakubfoglar/raveo) is a "warmer version" of Inter


## Supporters & contributors

A wholehearted **Thank You** to everyone who supports the Inter project!
2 changes: 1 addition & 1 deletion docs/_data/feature_samples.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
Depending on the surrounding context, different glyphs are used.
Enabled by default
samples:
- "3›x‹9&nbsp; 12›:‹34&nbsp; 3›–‹8&nbsp; ›+‹8+x"
- "3›*‹9&nbsp; 12›:‹34&nbsp; 3›–‹8&nbsp; ›+‹8+x"
- "›(‹SEMI›)‹PER›[‹M›]‹ANE›{‹N›}‹T"
- "-> --> ---> => ==> <->"
- "S›@‹N&nbsp; s@n&nbsp; ›:-)‹&nbsp; ›•‹Smile"
13 changes: 12 additions & 1 deletion docs/res/glyph-inspector.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
---
layout: none
---
{% include defs.html %}{%
for file in site.static_files %}{%
assign _path = file.path | remove_first: "/inter" %}{%
if _path == "/font-files/InterVariable.ttf" %}{%
assign ttf_timestamp = file.modified_time | date: "%Y%m%d%H%M%S" %}{%
endif %}{%
endfor %}

import fontkit from "./fontkit-2.0.2.js"

const { min, max, ceil, floor } = Math
@@ -962,5 +973,5 @@ class GlyphInspector {
}

let inspector = new GlyphInspector()
await inspector.loadFont('font-files/InterVariable.ttf')
await inspector.loadFont('font-files/InterVariable.ttf?v={{ttf_timestamp}}')
// await inspector.loadFont('font-files/InterDisplay-Regular.otf')
Loading