subset: remove FeatureVariations table and downgrade to version 0x10000 when empty

https://github.com/fonttools/fonttools/issues/1881#issuecomment-620719882
This commit is contained in:
Cosimo Lupo 2020-04-28 18:30:50 +01:00
parent 3f7b042e37
commit c8f591ea8a
No known key found for this signature in database
GPG Key ID: 179A8F0895A02F4F
2 changed files with 6 additions and 5 deletions

View File

@ -1631,11 +1631,11 @@ def prune_post_subset(self, font, options):
#if table.ScriptList and not table.ScriptList.ScriptRecord: #if table.ScriptList and not table.ScriptList.ScriptRecord:
# table.ScriptList = None # table.ScriptList = None
if not table.FeatureList and hasattr(table, 'FeatureVariations'): if hasattr(table, 'FeatureVariations'):
table.FeatureVariations = None if not (table.FeatureList and table.FeatureVariations.FeatureVariationRecord):
table.FeatureVariations = None
if hasattr(table, 'FeatureVariations') and not table.FeatureVariations: if not table.FeatureVariations and table.Version == 0x00010001:
if table.Version == 0x00010001:
table.Version = 0x00010000 table.Version = 0x00010000
return True return True

View File

@ -793,7 +793,8 @@ def test_subset_feature_variations_drop_all(featureVarsTestFont):
assert "rvrn" not in featureTags assert "rvrn" not in featureTags
assert glyphs == {".notdef", "f", "dollar"} assert glyphs == {".notdef", "f", "dollar"}
# all FeatureVariationRecords were dropped # all FeatureVariationRecords were dropped
assert not font["GSUB"].table.FeatureVariations.FeatureVariationRecord assert font["GSUB"].table.FeatureVariations is None
assert font["GSUB"].table.Version == 0x00010000
# TODO test_subset_feature_variations_drop_from_end_empty_records # TODO test_subset_feature_variations_drop_from_end_empty_records