[instancer] downgrade GSUB/GPOS version if there are no FeatureVariations after instancing

same as https://github.com/fonttools/fonttools/pull/2811 but moved the logic to _instantiateFeatureVariations directly, instead of after it
This commit is contained in:
Cosimo Lupo 2022-09-13 10:44:26 +01:00
parent ecb8ee9104
commit 87bbb64061
No known key found for this signature in database
GPG Key ID: DF65A8A5A119C9A8
2 changed files with 6 additions and 1 deletions

View File

@ -864,6 +864,8 @@ def _instantiateFeatureVariations(table, fvarAxes, axisLimits):
table.FeatureVariations.FeatureVariationCount = len(newRecords)
else:
del table.FeatureVariations
# downgrade table version if there are no FeatureVariations left
table.Version = 0x00010000
def _isValidAvarSegmentMap(axisTag, segmentMap):

View File

@ -1638,11 +1638,14 @@ class InstantiateFeatureVariationsTest(object):
),
]
)
gsub = font["GSUB"].table
assert gsub.FeatureVariations
assert gsub.Version == 0x00010001
instancer.instantiateFeatureVariations(font, location)
gsub = font["GSUB"].table
assert not hasattr(gsub, "FeatureVariations")
assert gsub.Version == 0x00010000
if appliedSubs:
lookupIndices = gsub.FeatureList.FeatureRecord[0].Feature.LookupListIndex