aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/fonttools/fontTools/feaLib/parser.py
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2025-05-29 11:09:23 +0000
committerAlexander Smirnov <alex@ydb.tech>2025-05-29 11:09:23 +0000
commita34a6816abefdcfe2c00295edb510cc5c99ad52c (patch)
treea264baadccf7add09a1b285786307ddd774472a5 /contrib/python/fonttools/fontTools/feaLib/parser.py
parent84ec9093e10073ab151bfe5f81037a0d017c2362 (diff)
parentfdbc38349df2ee0ddc678fa2bffe84786f9639a3 (diff)
downloadydb-a34a6816abefdcfe2c00295edb510cc5c99ad52c.tar.gz
Merge branch 'rightlib' into merge-libs-250529-1108
Diffstat (limited to 'contrib/python/fonttools/fontTools/feaLib/parser.py')
-rw-r--r--contrib/python/fonttools/fontTools/feaLib/parser.py40
1 files changed, 1 insertions, 39 deletions
diff --git a/contrib/python/fonttools/fontTools/feaLib/parser.py b/contrib/python/fonttools/fontTools/feaLib/parser.py
index 5f647ca0acd..451dd624119 100644
--- a/contrib/python/fonttools/fontTools/feaLib/parser.py
+++ b/contrib/python/fonttools/fontTools/feaLib/parser.py
@@ -1613,7 +1613,7 @@ class Parser(object):
"HorizAxis.BaseScriptList",
"VertAxis.BaseScriptList",
), self.cur_token_
- scripts = [(self.parse_base_script_record_(count))]
+ scripts = [self.parse_base_script_record_(count)]
while self.next_token_ == ",":
self.expect_symbol_(",")
scripts.append(self.parse_base_script_record_(count))
@@ -2062,44 +2062,6 @@ class Parser(object):
)
self.expect_symbol_(";")
- # A multiple substitution may have a single destination, in which case
- # it will look just like a single substitution. So if there are both
- # multiple and single substitutions, upgrade all the single ones to
- # multiple substitutions.
-
- # Check if we have a mix of non-contextual singles and multiples.
- has_single = False
- has_multiple = False
- for s in statements:
- if isinstance(s, self.ast.SingleSubstStatement):
- has_single = not any([s.prefix, s.suffix, s.forceChain])
- elif isinstance(s, self.ast.MultipleSubstStatement):
- has_multiple = not any([s.prefix, s.suffix, s.forceChain])
-
- # Upgrade all single substitutions to multiple substitutions.
- if has_single and has_multiple:
- statements = []
- for s in block.statements:
- if isinstance(s, self.ast.SingleSubstStatement):
- glyphs = s.glyphs[0].glyphSet()
- replacements = s.replacements[0].glyphSet()
- if len(replacements) == 1:
- replacements *= len(glyphs)
- for i, glyph in enumerate(glyphs):
- statements.append(
- self.ast.MultipleSubstStatement(
- s.prefix,
- glyph,
- s.suffix,
- [replacements[i]],
- s.forceChain,
- location=s.location,
- )
- )
- else:
- statements.append(s)
- block.statements = statements
-
def is_cur_keyword_(self, k):
if self.cur_token_type_ is Lexer.NAME:
if isinstance(k, type("")): # basestring is gone in Python3