1
0
mirror of https://github.com/google/fonts.git synced 2024-12-18 06:11:33 +03:00
fonts/axisregistry/tests/gen_test_data.py

31 lines
757 B
Python
Raw Normal View History

Sync axisregistry subtree and resolve conflicts (#5072) * Creating `flair.svg` * y_transparent_descender.textproto Use depth, not height * weight and width textprotos updated to say stroke weight * update tox * run black * wip name builder * add build_fvar_instances * black * wip linked values * fix vf name table generation for sibling fonts * add nameID25 * black * test static name table generation * rm local stuff * add prelim fvar instance check * improve fvar instance checks * cleanup stat tests * run black * fix tests * ignore egg-info * ignore _version * refactor name check * Add VF tests * black * add logging * clean up * convert AxisRegistry into a class * clean up * use enums * replace old family name with new name * add test for style name which is not part of the allowed static fonts * add nameID25 checks * add build filename * fix replacing names * simplyify * implement Simon feedback * Add wonky example * do not delete stat name ids if they are used in the fvar table * do not delete name records which are needed elsehwere * implement simon feedback * actions: publish release added * build_fvar_instances: support fonts which lack wght axis * AxisRegistry: add items method * add _fvar_instance_collision. Determine whether a family of fonts will have fvar instances which collide * add axis ordering * fix fvar_collision heuristic * black * Don't delete name IDs which are shared with the STAT table * Update __init__.py * build_fvar_instances: fix typo * fix dependencies * black * update tox * tox black: ignore _version.py * Move nameid25 to its own func * make family_name optional * EGRD custom axis added Co-authored-by: Elliot Jay Stocks <elliot@elliotjaystocks.com> Co-authored-by: Dave Crossland <dave@lab6.com> Co-authored-by: Marc Foley <m.foley.88@gmail.com> Co-authored-by: Nathan Williams <nlw2sx@virginia.edu> Co-authored-by: Simon Cozens <simon@simon-cozens.org> Co-authored-by: Viviana Monsalve <viviana.monsalve.a@gmail.com>
2022-08-18 06:30:44 +03:00
"""
Regenerate ttx dumps. Run this is the axis registry files in
Lib/axisregistry/data/*.textproto have been updated.
"""
from fontTools.ttLib import TTFont
from fontTools.misc.testTools import getXML, parseXML
from glob import glob
import os
def dump(table, ttFont=None):
return "\n".join(getXML(table.toXML, ttFont))
CWD = os.path.dirname(__file__)
DATA_DIR = os.path.join(CWD, "data")
font_fps = glob(os.path.join(DATA_DIR, "*.ttf"))
# Dump STATs
for fp in font_fps:
font = TTFont(fp)
try:
stat = dump(font["STAT"], font)
stat_fp = os.path.join(
DATA_DIR, font.reader.file.name.replace(".ttf", "_STAT.ttx")
)
with open(stat_fp, "w") as doc:
doc.write(stat)
except:
all