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:
parent
68500cbfe8
commit
4268e6345d
@ -698,7 +698,9 @@ def splitPairPos(oldSubTable, newSubTable, overflowRecord):
|
|||||||
st = oldSubTable
|
st = oldSubTable
|
||||||
ok = False
|
ok = False
|
||||||
newSubTable.Format = oldSubTable.Format
|
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':
|
for name in 'Class2Count', 'ClassDef2', 'ValueFormat1', 'ValueFormat2':
|
||||||
setattr(newSubTable, name, getattr(oldSubTable, name))
|
setattr(newSubTable, name, getattr(oldSubTable, name))
|
||||||
|
|
||||||
@ -716,7 +718,7 @@ def splitPairPos(oldSubTable, newSubTable, overflowRecord):
|
|||||||
classDefs = oldSubTable.ClassDef1.classDefs
|
classDefs = oldSubTable.ClassDef1.classDefs
|
||||||
records = oldSubTable.Class1Record
|
records = oldSubTable.Class1Record
|
||||||
|
|
||||||
oldCount = oldSubTable.Class1Count // 2
|
oldCount = len(oldSubTable.Class1Record) // 2
|
||||||
newGlyphs = set(k for k,v in classDefs.items() if v >= oldCount)
|
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]
|
oldSubTable.Coverage.glyphs = [g for g in coverage if g not in newGlyphs]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user