Handle merging SinglePos with valueformat=0 (#2550)

This commit is contained in:
Simon Cozens 2022-03-17 13:01:06 +00:00 committed by GitHub
parent ac21636137
commit 4f8c01909a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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