first draft of typo demo

This commit is contained in:
2026-05-18 11:22:46 +02:00
commit 5470d56015
657 changed files with 140834 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
#!/bin/sh
set -e
echo "Build with gftools builder"
gftools builder config.yaml
echo "Slice into Roman and Italic VF (as Google Fonts currently doesn't support slnt or ital axes)"
fonttools varLib.instancer "../fonts/variable/Anybody[ital,wdth,wght].ttf" ital=0 --update-name-table -o "../fonts/variable/Anybody[wdth,wght].ttf"
fonttools varLib.instancer "../fonts/variable/Anybody[ital,wdth,wght].ttf" ital=1 --update-name-table -o "../fonts/variable/Anybody-Italic[wdth,wght].ttf"
echo "Fix name ID 25"
gftools gen-stat "../fonts/variable/Anybody-Italic[wdth,wght].ttf" --axis-order 'wdth' 'wght' 'ital' --inplace
echo "Fix style linking"
python3 fix.py
echo "fix statics and create webfonts"
ttf=$(ls ../fonts/ttf/*.ttf)
for font in $ttf
do
ttfautohint $font $font.fix
mv $font.fix $font
gftools fix-hinting $font
mv $font.fix $font
fonttools ttLib.woff2 compress $font
done
rm -rf ../fonts/webfonts
mkdir ../fonts/webfonts
mv ../fonts/ttf/*.woff2 ../fonts/webfonts/
echo "Complete"
+384
View File
@@ -0,0 +1,384 @@
sources:
- Anybody.glyphs
axisOrder:
- wdth
- wght
- ital
familyName: Anybody
buildOTF: false
buildWebfont: false
autohintTTF: false
stat:
Anybody[ital,wdth,wght].ttf:
- name: Width
tag: wdth
values:
- name: UltraCondensed
value: 50
- name: Condensed
value: 75
- name: Normal
value: 100
flags: 2
- name: Expanded
value: 125
- name: ExtraExpanded
value: 150
- name: Weight
tag: wght
values:
- name: Thin
value: 100
- name: ExtraLight
value: 200
- name: Light
value: 300
- name: Regular
value: 400
linkedValue: 700
flags: 2
- name: Medium
value: 500
- name: SemiBold
value: 600
- name: Bold
value: 700
- name: ExtraBold
value: 800
- name: Black
value: 900
- name: Italic
tag: ital
values:
- name: Roman
value: 0
linkedValue: 1
flags: 2
- name: Italic
value: 1
instances:
Anybody[ital,wdth,wght].ttf:
- familyName: "Anybody"
styleName: "Thin"
coordinates:
wdth: 100
wght: 100
ital: 0
- familyName: "Anybody"
styleName: "ExtraLight"
coordinates:
wdth: 100
wght: 200
ital: 0
- familyName: "Anybody"
styleName: "Light"
coordinates:
wdth: 100
wght: 300
ital: 0
- familyName: "Anybody"
styleName: "Regular"
coordinates:
wdth: 100
wght: 400
ital: 0
- familyName: "Anybody"
styleName: "Medium"
coordinates:
wdth: 100
wght: 500
ital: 0
- familyName: "Anybody"
styleName: "SemiBold"
coordinates:
wdth: 100
wght: 600
ital: 0
- familyName: "Anybody"
styleName: "Bold"
coordinates:
wdth: 100
wght: 700
ital: 0
- familyName: "Anybody"
styleName: "ExtraBold"
coordinates:
wdth: 100
wght: 800
ital: 0
- familyName: "Anybody"
styleName: "Black"
coordinates:
wdth: 100
wght: 900
ital: 0
- familyName: "Anybody"
styleName: "Thin Italic"
coordinates:
wdth: 100
wght: 100
ital: 1
- familyName: "Anybody"
styleName: "ExtraLight Italic"
coordinates:
wdth: 100
wght: 200
ital: 1
- familyName: "Anybody"
styleName: "Light Italic"
coordinates:
wdth: 100
wght: 300
ital: 1
- familyName: "Anybody"
styleName: "Italic"
coordinates:
wdth: 100
wght: 400
ital: 1
- familyName: "Anybody"
styleName: "Medium Italic"
coordinates:
wdth: 100
wght: 500
ital: 1
- familyName: "Anybody"
styleName: "SemiBold Italic"
coordinates:
wdth: 100
wght: 600
ital: 1
- familyName: "Anybody"
styleName: "Bold Italic"
coordinates:
wdth: 100
wght: 700
ital: 1
- familyName: "Anybody"
styleName: "ExtraBold Italic"
coordinates:
wdth: 100
wght: 800
ital: 1
- familyName: "Anybody"
styleName: "Black Italic"
coordinates:
wdth: 100
wght: 900
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Thin"
coordinates:
wdth: 50
wght: 100
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "ExtraLight"
coordinates:
wdth: 50
wght: 200
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Light"
coordinates:
wdth: 50
wght: 300
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Regular"
coordinates:
wdth: 50
wght: 400
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Medium"
coordinates:
wdth: 50
wght: 500
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "SemiBold"
coordinates:
wdth: 50
wght: 600
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Bold"
coordinates:
wdth: 50
wght: 700
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "ExtraBold"
coordinates:
wdth: 50
wght: 800
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Black"
coordinates:
wdth: 50
wght: 900
ital: 0
- familyName: "Anybody UltraCondensed"
styleName: "Thin Italic"
coordinates:
wdth: 50
wght: 100
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "ExtraLight Italic"
coordinates:
wdth: 50
wght: 200
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Light Italic"
coordinates:
wdth: 50
wght: 300
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Italic"
coordinates:
wdth: 50
wght: 400
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Medium Italic"
coordinates:
wdth: 50
wght: 500
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "SemiBold Italic"
coordinates:
wdth: 50
wght: 600
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Bold Italic"
coordinates:
wdth: 50
wght: 700
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "ExtraBold Italic"
coordinates:
wdth: 50
wght: 800
ital: 1
- familyName: "Anybody UltraCondensed"
styleName: "Black Italic"
coordinates:
wdth: 50
wght: 900
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Thin"
coordinates:
wdth: 150
wght: 100
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "ExtraLight"
coordinates:
wdth: 150
wght: 200
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Light"
coordinates:
wdth: 150
wght: 300
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Regular"
coordinates:
wdth: 150
wght: 400
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Medium"
coordinates:
wdth: 150
wght: 500
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "SemiBold"
coordinates:
wdth: 150
wght: 600
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Bold"
coordinates:
wdth: 150
wght: 700
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "ExtraBold"
coordinates:
wdth: 150
wght: 800
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Black"
coordinates:
wdth: 150
wght: 900
ital: 0
- familyName: "Anybody ExtraExpanded"
styleName: "Thin Italic"
coordinates:
wdth: 150
wght: 100
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "ExtraLight Italic"
coordinates:
wdth: 150
wght: 200
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Light Italic"
coordinates:
wdth: 150
wght: 300
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Italic"
coordinates:
wdth: 150
wght: 400
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Medium Italic"
coordinates:
wdth: 150
wght: 500
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "SemiBold Italic"
coordinates:
wdth: 150
wght: 600
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Bold Italic"
coordinates:
wdth: 150
wght: 700
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "ExtraBold Italic"
coordinates:
wdth: 150
wght: 800
ital: 1
- familyName: "Anybody ExtraExpanded"
styleName: "Black Italic"
coordinates:
wdth: 150
wght: 900
ital: 1
+28
View File
@@ -0,0 +1,28 @@
import glob
from fontTools.ttLib import TTFont
from fontbakery.constants import (
MacStyle,
FsSelection,
)
if __name__ == "__main__":
for font_path in glob.glob("../fonts/variable/*Italic*.ttf"):
with open(font_path, "rb") as f:
print("Fix italic bits in {}".format(font_path))
ttFont = TTFont(f)
ttFont["head"].macStyle = MacStyle.ITALIC
ttFont["OS/2"].fsSelection = FsSelection.USETYPOMETRICS | FsSelection.ITALIC
ttFont["post"].italicAngle = -10
ttFont["hhea"].caretSlopeRise = 1000
ttFont["hhea"].caretSlopeRun = 176
ttFont.save(font_path)
for font_path in glob.glob("../fonts/ttf/*Italic*.ttf"):
with open(font_path, "rb") as f:
print("Fix italic bits in {}".format(font_path))
ttFont = TTFont(f)
ttFont["post"].italicAngle = -10
ttFont["hhea"].caretSlopeRise = 1000
ttFont["hhea"].caretSlopeRun = 176
ttFont.save(font_path)