feaLib: Dedupe multiple substitutions with classes
This commit is contained in:
parent
54e70b3cef
commit
8b69b9412e
@ -1272,15 +1272,18 @@ class MultipleSubstStatement(Statement):
|
|||||||
replaces.append(replace)
|
replaces.append(replace)
|
||||||
replaces = list(zip(*replaces))
|
replaces = list(zip(*replaces))
|
||||||
|
|
||||||
|
seen_originals = set()
|
||||||
for i, original in enumerate(originals):
|
for i, original in enumerate(originals):
|
||||||
builder.add_multiple_subst(
|
if original not in seen_originals:
|
||||||
self.location,
|
seen_originals.add(original)
|
||||||
prefix,
|
builder.add_multiple_subst(
|
||||||
original,
|
self.location,
|
||||||
suffix,
|
prefix,
|
||||||
replaces and replaces[i] or (),
|
original,
|
||||||
self.forceChain,
|
suffix,
|
||||||
)
|
replaces and replaces[i] or (),
|
||||||
|
self.forceChain,
|
||||||
|
)
|
||||||
|
|
||||||
def asFea(self, indent=""):
|
def asFea(self, indent=""):
|
||||||
res = "sub "
|
res = "sub "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user