[feaLib.ast] Restore compatibility with 4.9.0
This commit is contained in:
parent
45a8fcefc2
commit
42a17500a3
@ -617,16 +617,24 @@ class ChainContextPosStatement(Statement):
|
|||||||
``prefix``, ``glyphs``, and ``suffix`` should be lists of
|
``prefix``, ``glyphs``, and ``suffix`` should be lists of
|
||||||
`glyph-containing objects`_ .
|
`glyph-containing objects`_ .
|
||||||
|
|
||||||
``lookups`` should be a list of lists containing :class:`LookupBlock`
|
``lookups`` should be a list of elements representing what lookups
|
||||||
statements. The length of the outer list should equal to the length of
|
to apply at each glyph position. Each element should be a
|
||||||
``glyphs``; the inner lists can be of variable length. Where there is no
|
:class:`LookupBlock` to apply a single chaining lookup at the given
|
||||||
chaining lookup at the given glyph position, the entry in ``lookups``
|
position, a list of :class:`LookupBlock`\ s to apply multiple
|
||||||
should be ``None``."""
|
lookups, or ``None`` to apply no lookup. The length of the outer
|
||||||
|
list should equal the length of ``glyphs``; the inner lists can be
|
||||||
|
of variable length."""
|
||||||
|
|
||||||
def __init__(self, prefix, glyphs, suffix, lookups, location=None):
|
def __init__(self, prefix, glyphs, suffix, lookups, location=None):
|
||||||
Statement.__init__(self, location)
|
Statement.__init__(self, location)
|
||||||
self.prefix, self.glyphs, self.suffix = prefix, glyphs, suffix
|
self.prefix, self.glyphs, self.suffix = prefix, glyphs, suffix
|
||||||
self.lookups = lookups
|
self.lookups = list(lookups)
|
||||||
|
for i, lookup in enumerate(lookups):
|
||||||
|
if lookup:
|
||||||
|
try:
|
||||||
|
(_ for _ in lookup)
|
||||||
|
except TypeError:
|
||||||
|
self.lookups[i] = [lookup]
|
||||||
|
|
||||||
def build(self, builder):
|
def build(self, builder):
|
||||||
"""Calls the builder's ``add_chain_context_pos`` callback."""
|
"""Calls the builder's ``add_chain_context_pos`` callback."""
|
||||||
@ -662,14 +670,24 @@ class ChainContextSubstStatement(Statement):
|
|||||||
``prefix``, ``glyphs``, and ``suffix`` should be lists of
|
``prefix``, ``glyphs``, and ``suffix`` should be lists of
|
||||||
`glyph-containing objects`_ .
|
`glyph-containing objects`_ .
|
||||||
|
|
||||||
``lookups`` should be a list of :class:`LookupBlock` statements, with
|
``lookups`` should be a list of elements representing what lookups
|
||||||
length equal to the length of ``glyphs``. Where there is no chaining
|
to apply at each glyph position. Each element should be a
|
||||||
lookup at the given glyph position, the entry in ``lookups`` should be
|
:class:`LookupBlock` to apply a single chaining lookup at the given
|
||||||
``None``."""
|
position, a list of :class:`LookupBlock`\ s to apply multiple
|
||||||
|
lookups, or ``None`` to apply no lookup. The length of the outer
|
||||||
|
list should equal the length of ``glyphs``; the inner lists can be
|
||||||
|
of variable length."""
|
||||||
|
|
||||||
def __init__(self, prefix, glyphs, suffix, lookups, location=None):
|
def __init__(self, prefix, glyphs, suffix, lookups, location=None):
|
||||||
Statement.__init__(self, location)
|
Statement.__init__(self, location)
|
||||||
self.prefix, self.glyphs, self.suffix = prefix, glyphs, suffix
|
self.prefix, self.glyphs, self.suffix = prefix, glyphs, suffix
|
||||||
self.lookups = lookups
|
self.lookups = list(lookups)
|
||||||
|
for i, lookup in enumerate(lookups):
|
||||||
|
if lookup:
|
||||||
|
try:
|
||||||
|
(_ for _ in lookup)
|
||||||
|
except TypeError:
|
||||||
|
self.lookups[i] = [lookup]
|
||||||
|
|
||||||
def build(self, builder):
|
def build(self, builder):
|
||||||
"""Calls the builder's ``add_chain_context_subst`` callback."""
|
"""Calls the builder's ``add_chain_context_subst`` callback."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user