Merge pull request #996 from fonttools/varlib-singlepos-valueformat

Recalculate ValueFormat when merging SinglePos
This commit is contained in:
Jens Kutilek 2017-07-06 16:53:49 +02:00 committed by GitHub
commit 3c6ffa25b2

View File

@ -202,6 +202,7 @@ def merge(merger, self, lst):
if all(v.Format == 1 for v in lst) and all(self.Coverage.glyphs == v.Coverage.glyphs for v in lst): if all(v.Format == 1 for v in lst) and all(self.Coverage.glyphs == v.Coverage.glyphs for v in lst):
self.Value = otBase.ValueRecord(valueFormat) self.Value = otBase.ValueRecord(valueFormat)
merger.mergeThings(self.Value, [v.Value for v in lst]) merger.mergeThings(self.Value, [v.Value for v in lst])
self.ValueFormat = self.Value.getFormat()
return return
# Upgrade everything to Format=2 # Upgrade everything to Format=2
@ -231,6 +232,7 @@ def merge(merger, self, lst):
# Merge everything else; though, there shouldn't be anything else. :) # Merge everything else; though, there shouldn't be anything else. :)
merger.mergeObjects(self, lst, merger.mergeObjects(self, lst,
exclude=('Format', 'Coverage', 'ValueRecord', 'Value', 'ValueCount')) exclude=('Format', 'Coverage', 'ValueRecord', 'Value', 'ValueCount'))
self.ValueFormat = reduce(int.__or__, [v.getFormat() for v in self.Value], 0)
@AligningMerger.merger(ot.PairSet) @AligningMerger.merger(ot.PairSet)
def merge(merger, self, lst): def merge(merger, self, lst):