Fix up regression in promoting lookups to extensions
Was broken by 6ed2eb409231a7fe3e0c2a135f9a89796206f639 Fixes https://github.com/behdad/fonttools/issues/110
This commit is contained in:
parent
5080331251
commit
319643ade2
@ -548,7 +548,7 @@ def fixLookupOverFlows(ttf, overflowRecord):
|
||||
lookups = ttf[overflowRecord.tableType].table.LookupList.Lookup
|
||||
lookup = lookups[lookupIndex]
|
||||
# If the previous lookup is an extType, look further back. Very unlikely, but possible.
|
||||
while lookup.LookupType == extType:
|
||||
while lookup.SubTable[0].__class__.LookupType == extType:
|
||||
lookupIndex = lookupIndex -1
|
||||
if lookupIndex < 0:
|
||||
return ok
|
||||
@ -559,10 +559,8 @@ def fixLookupOverFlows(ttf, overflowRecord):
|
||||
extSubTableClass = lookupTypes[overflowRecord.tableType][extType]
|
||||
extSubTable = extSubTableClass()
|
||||
extSubTable.Format = 1
|
||||
extSubTable.ExtensionLookupType = lookup.LookupType
|
||||
extSubTable.ExtSubTable = subTable
|
||||
lookup.SubTable[si] = extSubTable
|
||||
lookup.LookupType = extType
|
||||
ok = 1
|
||||
return ok
|
||||
|
||||
@ -662,20 +660,19 @@ def fixSubTableOverFlows(ttf, overflowRecord):
|
||||
# We split the subtable of the Extension table, and add a new Extension table
|
||||
# to contain the new subtable.
|
||||
|
||||
subTableType = subtable.ExtensionLookupType
|
||||
subTableType = subtable.ExtSubTable.__class__.LookupType
|
||||
extSubTable = subtable
|
||||
subtable = extSubTable.ExtSubTable
|
||||
newExtSubTableClass = lookupTypes[overflowRecord.tableType][lookup.LookupType]
|
||||
newExtSubTableClass = lookupTypes[overflowRecord.tableType][subtable.__class__.LookupType]
|
||||
newExtSubTable = newExtSubTableClass()
|
||||
newExtSubTable.Format = extSubTable.Format
|
||||
newExtSubTable.ExtensionLookupType = extSubTable.ExtensionLookupType
|
||||
lookup.SubTable.insert(subIndex + 1, newExtSubTable)
|
||||
|
||||
newSubTableClass = lookupTypes[overflowRecord.tableType][subTableType]
|
||||
newSubTable = newSubTableClass()
|
||||
newExtSubTable.ExtSubTable = newSubTable
|
||||
else:
|
||||
subTableType = lookup.LookupType
|
||||
subTableType = subtable.__class__.LookupType
|
||||
newSubTableClass = lookupTypes[overflowRecord.tableType][subTableType]
|
||||
newSubTable = newSubTableClass()
|
||||
lookup.SubTable.insert(subIndex + 1, newSubTable)
|
||||
|
Loading…
x
Reference in New Issue
Block a user