diff options
Diffstat (limited to 'Tests/varLib/instancer/instancer_test.py')
-rw-r--r-- | Tests/varLib/instancer/instancer_test.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Tests/varLib/instancer/instancer_test.py b/Tests/varLib/instancer/instancer_test.py index b9d4ffe9..db224cca 100644 --- a/Tests/varLib/instancer/instancer_test.py +++ b/Tests/varLib/instancer/instancer_test.py @@ -458,6 +458,8 @@ class InstantiateItemVariationStoreTest(object): defaultDeltaArray = [] for varidx, delta in sorted(defaultDeltas.items()): + if varidx == varStore.NO_VARIATION_INDEX: + continue major, minor = varidx >> 16, varidx & 0xFFFF if major == len(defaultDeltaArray): defaultDeltaArray.append([]) @@ -1975,3 +1977,35 @@ def test_main_exit_multiple_limits(varfont, tmpdir, capsys): captured = capsys.readouterr() assert "Specified multiple limits for the same axis" in captured.err + + +def test_set_ribbi_bits(): + varfont = ttLib.TTFont() + varfont.importXML(os.path.join(TESTDATA, "STATInstancerTest.ttx")) + + for location in [instance.coordinates for instance in varfont["fvar"].instances]: + instance = instancer.instantiateVariableFont( + varfont, location, updateFontNames=True + ) + name_id_2 = instance["name"].getDebugName(2) + mac_style = instance["head"].macStyle + fs_selection = instance["OS/2"].fsSelection & 0b1100001 # Just bits 0, 5, 6 + + if location["ital"] == 0: + if location["wght"] == 700: + assert name_id_2 == "Bold", location + assert mac_style == 0b01, location + assert fs_selection == 0b0100000, location + else: + assert name_id_2 == "Regular", location + assert mac_style == 0b00, location + assert fs_selection == 0b1000000, location + else: + if location["wght"] == 700: + assert name_id_2 == "Bold Italic", location + assert mac_style == 0b11, location + assert fs_selection == 0b0100001, location + else: + assert name_id_2 == "Italic", location + assert mac_style == 0b10, location + assert fs_selection == 0b0000001, location |