]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
Move nameid25 to its own func
authorMarc Foley <m.foley.88@gmail.com>
Fri, 1 Jul 2022 11:27:24 +0000 (12:27 +0100)
committerMarc Foley <m.foley.88@gmail.com>
Fri, 1 Jul 2022 11:38:17 +0000 (12:38 +0100)
Lib/axisregistry/__init__.py
tests/test_names.py

index 328acdc01d14f0bf070e450e3bb8e1b0c9513df8..3c4c3f0b9207574761e54c0b3d15a809931db30e 100644 (file)
@@ -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(
index e9913c193ee59960ccb129bc89d68e4a82a7fac6..25cf933ceb37e056a89100821aec7860a83e6d3a 100644 (file)
@@ -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