[varLib.merger] Handle missing PairPos format1/2 subtables in AligningMerger

Fixes https://github.com/fonttools/fonttools/issues/1125

The Format2 is still failing in my test case. Investigating.
This commit is contained in:
Behdad Esfahbod 2018-01-08 10:27:33 +00:00
parent 40e50b60c3
commit b624e0c08e

View File

@ -280,7 +280,11 @@ def _PairPosFormat1_merge(self, lst, merger):
# Merge everything else; makes sure Format is the same. # Merge everything else; makes sure Format is the same.
merger.mergeObjects(self, lst, merger.mergeObjects(self, lst,
exclude=('Coverage', exclude=('Coverage',
'PairSet', 'PairSetCount')) 'PairSet', 'PairSetCount',
'ValueFormat1', 'ValueFormat2'))
self.ValueFormat1 = reduce(int.__or__, [l.ValueFormat1 for l in lst], 0)
self.ValueFormat2 = reduce(int.__or__, [l.ValueFormat2 for l in lst], 0)
empty = ot.PairSet() empty = ot.PairSet()
empty.PairValueRecord = [] empty.PairValueRecord = []
@ -435,7 +439,11 @@ def _PairPosFormat2_merge(self, lst, merger):
exclude=('Coverage', exclude=('Coverage',
'ClassDef1', 'Class1Count', 'ClassDef1', 'Class1Count',
'ClassDef2', 'Class2Count', 'ClassDef2', 'Class2Count',
'Class1Record')) 'Class1Record',
'ValueFormat1', 'ValueFormat2'))
self.ValueFormat1 = reduce(int.__or__, [l.ValueFormat1 for l in lst], 0)
self.ValueFormat2 = reduce(int.__or__, [l.ValueFormat2 for l in lst], 0)
# Align coverages # Align coverages
glyphs, _ = _merge_GlyphOrders(merger.font, glyphs, _ = _merge_GlyphOrders(merger.font,