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(
build_filename,
build_fvar_instances,
build_stat,
+ build_variations_ps_name,
_fvar_dflts,
_fvar_instance_collisions,
)
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