[varLib] Move code around
This commit is contained in:
parent
b5c34ceb15
commit
ef0eb9dc8f
@ -272,6 +272,34 @@ def merge(merger, self, lst):
|
|||||||
|
|
||||||
merger.mergeLists(self.PairValueRecord, padded)
|
merger.mergeLists(self.PairValueRecord, padded)
|
||||||
|
|
||||||
|
def _PairPosFormat1_merge(self, lst, merger):
|
||||||
|
# Merge everything else; makes sure Format is the same.
|
||||||
|
merger.mergeObjects(self, lst,
|
||||||
|
exclude=('Coverage',
|
||||||
|
'PairSet', 'PairSetCount'))
|
||||||
|
|
||||||
|
empty = ot.PairSet()
|
||||||
|
empty.PairValueRecord = []
|
||||||
|
empty.PairValueCount = 0
|
||||||
|
|
||||||
|
# Align them
|
||||||
|
glyphs, padded = _merge_GlyphOrders(merger.font,
|
||||||
|
[v.Coverage.glyphs for v in lst],
|
||||||
|
[v.PairSet for v in lst],
|
||||||
|
default=empty)
|
||||||
|
|
||||||
|
self.Coverage.glyphs = glyphs
|
||||||
|
self.PairSet = [ot.PairSet() for g in glyphs]
|
||||||
|
self.PairSetCount = len(self.PairSet)
|
||||||
|
for glyph, ps in zip(glyphs, self.PairSet):
|
||||||
|
ps._firstGlyph = glyph
|
||||||
|
|
||||||
|
merger.mergeLists(self.PairSet, padded)
|
||||||
|
|
||||||
|
def _PairPosFormat2_merge(self, lst, merger):
|
||||||
|
# Everything must match; we don't support smart merge yet.
|
||||||
|
merger.mergeObjects(self, lst)
|
||||||
|
|
||||||
@AligningMerger.merger(ot.PairPos)
|
@AligningMerger.merger(ot.PairPos)
|
||||||
def merge(merger, self, lst):
|
def merge(merger, self, lst):
|
||||||
# TODO Support differing ValueFormats.
|
# TODO Support differing ValueFormats.
|
||||||
@ -279,35 +307,9 @@ def merge(merger, self, lst):
|
|||||||
merger.valueFormat2 = self.ValueFormat2
|
merger.valueFormat2 = self.ValueFormat2
|
||||||
|
|
||||||
if self.Format == 1:
|
if self.Format == 1:
|
||||||
|
_PairPosFormat1_merge(self, lst, merger)
|
||||||
# Merge everything else; makes sure Format is the same.
|
|
||||||
merger.mergeObjects(self, lst,
|
|
||||||
exclude=('Coverage',
|
|
||||||
'PairSet', 'PairSetCount'))
|
|
||||||
|
|
||||||
empty = ot.PairSet()
|
|
||||||
empty.PairValueRecord = []
|
|
||||||
empty.PairValueCount = 0
|
|
||||||
|
|
||||||
# Align them
|
|
||||||
glyphs, padded = _merge_GlyphOrders(merger.font,
|
|
||||||
[v.Coverage.glyphs for v in lst],
|
|
||||||
[v.PairSet for v in lst],
|
|
||||||
default=empty)
|
|
||||||
|
|
||||||
self.Coverage.glyphs = glyphs
|
|
||||||
self.PairSet = [ot.PairSet() for g in glyphs]
|
|
||||||
self.PairSetCount = len(self.PairSet)
|
|
||||||
for glyph, ps in zip(glyphs, self.PairSet):
|
|
||||||
ps._firstGlyph = glyph
|
|
||||||
|
|
||||||
merger.mergeLists(self.PairSet, padded)
|
|
||||||
|
|
||||||
elif self.Format == 2:
|
elif self.Format == 2:
|
||||||
|
_PairPosFormat2_merge(self, lst, merger)
|
||||||
# Everything must match; we don't support smart merge yet.
|
|
||||||
merger.mergeObjects(self, lst)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
assert 0
|
assert 0
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user