Fix splitPairPos for TTFont loaded from XML

When loading from XML count variables are missing...

Fixes https://github.com/behdad/fonttools/issues/537#issuecomment-207849194
This commit is contained in:
Behdad Esfahbod 2016-04-13 16:16:22 -07:00
parent 68500cbfe8
commit 4268e6345d

View File

@ -698,7 +698,9 @@ def splitPairPos(oldSubTable, newSubTable, overflowRecord):
st = oldSubTable
ok = False
newSubTable.Format = oldSubTable.Format
if oldSubTable.Format == 2 and oldSubTable.Class1Count > 1:
if oldSubTable.Format == 2 and len(oldSubTable.Class1Record) > 1:
if not hasattr(oldSubTable, 'Class2Count'):
oldSubTable.Class2Count = len(oldSubTable.Class1Record[0].Class2Record)
for name in 'Class2Count', 'ClassDef2', 'ValueFormat1', 'ValueFormat2':
setattr(newSubTable, name, getattr(oldSubTable, name))
@ -716,7 +718,7 @@ def splitPairPos(oldSubTable, newSubTable, overflowRecord):
classDefs = oldSubTable.ClassDef1.classDefs
records = oldSubTable.Class1Record
oldCount = oldSubTable.Class1Count // 2
oldCount = len(oldSubTable.Class1Record) // 2
newGlyphs = set(k for k,v in classDefs.items() if v >= oldCount)
oldSubTable.Coverage.glyphs = [g for g in coverage if g not in newGlyphs]