Merge pull request #2734 from fonttools/instancer-bug

[instancer] Fix bug in _instantiateFeatureVariations()
This commit is contained in:
Cosimo Lupo 2022-08-15 13:59:41 +01:00 committed by GitHub
commit e3aaf59084
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -805,12 +805,12 @@ def _instantiateFeatureVariationRecord(
return applies, shouldKeep
def _limitFeatureVariationRecord(record, axisRanges, fvarAxes):
def _limitFeatureVariationRecord(record, axisRanges, axisOrder):
newConditions = []
for i, condition in enumerate(record.ConditionSet.ConditionTable):
if condition.Format == 1:
axisIdx = condition.AxisIndex
axisTag = fvarAxes[axisIdx].axisTag
axisTag = axisOrder[axisIdx]
if axisTag in axisRanges:
axisRange = axisRanges[axisTag]
newRange = _limitFeatureVariationConditionRange(condition, axisRange)
@ -854,7 +854,7 @@ def _instantiateFeatureVariations(table, fvarAxes, axisLimits):
record, i, location, fvarAxes, axisIndexMap
)
if shouldKeep:
shouldKeep = _limitFeatureVariationRecord(record, axisRanges, fvarAxes)
shouldKeep = _limitFeatureVariationRecord(record, axisRanges, axisOrder)
if shouldKeep and _featureVariationRecordIsUnique(record, uniqueRecords):
newRecords.append(record)