From: Marc Foley Date: Fri, 1 Jul 2022 11:27:24 +0000 (+0100) Subject: Move nameid25 to its own func X-Git-Tag: v0.3.5^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f81124d173306cdfec63a0157578f22db413895a;p=thirdparty%2Fgoogle%2Ffonts.git Move nameid25 to its own func --- diff --git a/Lib/axisregistry/__init__.py b/Lib/axisregistry/__init__.py index 328acdc01d..3c4c3f0b92 100644 --- a/Lib/axisregistry/__init__.py +++ b/Lib/axisregistry/__init__.py @@ -272,8 +272,11 @@ def build_vf_name_table(ttFont, family_name, siblings=[]): build_static_name_table_v1(ttFont, family_name, style_name) else: build_static_name_table(ttFont, family_name, style_name) + build_variations_ps_name(ttFont, family_name) - # set nameID25. + +def build_variations_ps_name(ttFont, family_name): + assert is_variable(ttFont), "Not a VF!" font_styles = axis_registry.fallbacks_in_name_table(ttFont) if font_styles: vf_ps = family_name.replace(" ", "") + "".join( diff --git a/tests/test_names.py b/tests/test_names.py index e9913c193e..25cf933ceb 100644 --- a/tests/test_names.py +++ b/tests/test_names.py @@ -5,6 +5,7 @@ from axisregistry import ( build_filename, build_fvar_instances, build_stat, + build_variations_ps_name, _fvar_dflts, _fvar_instance_collisions, ) @@ -506,3 +507,22 @@ def test_fvar_instance_collisions(fp, sibling_fps, result): ttFont = TTFont(fp) siblings = [TTFont(fp) for fp in sibling_fps] assert _fvar_instance_collisions(ttFont, siblings) == result + + +@pytest.mark.parametrize( + "fp, result", + [ + (roboto_flex_fp, "RobotoFlex"), + (opensans_roman_fp, "OpenSans"), + (opensans_italic_fp, "OpenSansItalic"), + (opensans_cond_roman_fp, "OpenSansCondensed"), + (opensans_cond_italic_fp, "OpenSansCondensedItalic"), + (wonky_fp, "Wonky"), + ], +) +def test_build_variations_ps_name(fp, result): + ttFont = TTFont(fp) + family_name = ttFont["name"].getBestFamilyName() + build_variations_ps_name(ttFont, family_name) + variation_ps_name = ttFont["name"].getName(25, 3, 1, 0x409).toUnicode() + assert variation_ps_name == result