[varStore/subset] correctly handle NO_VARIATION_INDEX when subsetting varidxes
otherwise GDEF/GPOS.remap_device_varidxes may fail with KeyError attempting to map a NO_VARIATION_INDEX
This commit is contained in:
parent
1ec0ac4877
commit
a08140dc76
@ -202,6 +202,8 @@ def VarStore_subset_varidxes(self, varIdxes, optimize=True, retainFirstMap=False
|
||||
# Sort out used varIdxes by major/minor.
|
||||
used = {}
|
||||
for varIdx in varIdxes:
|
||||
if varIdx == NO_VARIATION_INDEX:
|
||||
continue
|
||||
major = varIdx >> 16
|
||||
minor = varIdx & 0xFFFF
|
||||
d = used.get(major)
|
||||
@ -216,7 +218,7 @@ def VarStore_subset_varidxes(self, varIdxes, optimize=True, retainFirstMap=False
|
||||
|
||||
varData = self.VarData
|
||||
newVarData = []
|
||||
varDataMap = {}
|
||||
varDataMap = {NO_VARIATION_INDEX: NO_VARIATION_INDEX}
|
||||
for major,data in enumerate(varData):
|
||||
usedMinors = used.get(major)
|
||||
if usedMinors is None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user