varLib.merger: when flattening singlepos, copy valuerecords
to avoid modifying original master fonts' SinglePos tables https://github.com/fonttools/fonttools/pull/1641/files#r293302141
This commit is contained in:
parent
7f82d11156
commit
def6310f4a
@ -730,7 +730,6 @@ def _Lookup_PairPos_subtables_canonicalize(lst, font):
|
|||||||
return lst
|
return lst
|
||||||
|
|
||||||
def _Lookup_SinglePos_subtables_flatten(lst, font, min_inclusive_rec_format):
|
def _Lookup_SinglePos_subtables_flatten(lst, font, min_inclusive_rec_format):
|
||||||
lst = list(lst)
|
|
||||||
glyphs, _ = _merge_GlyphOrders(font,
|
glyphs, _ = _merge_GlyphOrders(font,
|
||||||
[v.Coverage.glyphs for v in lst], None)
|
[v.Coverage.glyphs for v in lst], None)
|
||||||
num_glyphs = len(glyphs)
|
num_glyphs = len(glyphs)
|
||||||
@ -746,12 +745,12 @@ def _Lookup_SinglePos_subtables_flatten(lst, font, min_inclusive_rec_format):
|
|||||||
val_rec = singlePos.Value
|
val_rec = singlePos.Value
|
||||||
for gname in singlePos.Coverage.glyphs:
|
for gname in singlePos.Coverage.glyphs:
|
||||||
i = glyphs.index(gname)
|
i = glyphs.index(gname)
|
||||||
new.Value[i] = val_rec
|
new.Value[i] = copy.deepcopy(val_rec)
|
||||||
elif singlePos.Format == 2:
|
elif singlePos.Format == 2:
|
||||||
for j, gname in enumerate(singlePos.Coverage.glyphs):
|
for j, gname in enumerate(singlePos.Coverage.glyphs):
|
||||||
val_rec = singlePos.Value[j]
|
val_rec = singlePos.Value[j]
|
||||||
i = glyphs.index(gname)
|
i = glyphs.index(gname)
|
||||||
new.Value[i] = val_rec
|
new.Value[i] = copy.deepcopy(val_rec)
|
||||||
return [new]
|
return [new]
|
||||||
|
|
||||||
@AligningMerger.merger(ot.Lookup)
|
@AligningMerger.merger(ot.Lookup)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user