Merge pull request #2041 from ctrlcctrlv/patch-1

Better document rule processing order
This commit is contained in:
Cosimo Lupo 2020-08-17 15:38:14 +01:00 committed by GitHub
commit 3be7c05024
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -81,7 +81,7 @@ Methods
location. Returns None if there isn't one.
- ``normalizeLocation(aLocation)``: return a dict with normalized axis values.
- ``normalize()``: normalize the geometry of this designspace: scale all the
locations of all masters and instances to the ``-1 - 0 - 1`` value.
locations of all masters and instances to the ``-1 - 0 - 1`` value.
- ``loadSourceFonts()``: Ensure SourceDescriptor.font attributes are loaded,
and return list of fonts.
- ``tostring(encoding=None)``: Returns the designspace as a string. Default
@ -297,6 +297,7 @@ RuleDescriptor object
- Each condition is a dict with ``name``, ``minimum`` and ``maximum`` keys.
- ``subs``: list of substitutions
- Each substitution is stored as tuples of glyphnames, e.g. ("a", "a.alt").
- Note: By default, rules are applied first, before other text shaping/OpenType layout, as they are part of the `Required Variation Alternates OpenType feature <https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#-tag-rvrn>`_. See `5.0 rules element`_ § Attributes.
Evaluating rules
----------------
@ -849,12 +850,14 @@ glyphname pairs: the glyphs that need to be substituted. For a rule to be trigge
**only one** of the conditionsets needs to be true, ``OR``. Within a conditionset
**all** conditions need to be true, ``AND``.
.. attributes-11:
Attributes
----------
- ``processing``: flag, optional. Valid values are [``first``, ``last``]. This flag indicates whether the substitution rules should be applied before or after other glyph substitution features.
- If no ``processing`` attribute is given, interpret as ``first``.
- If no ``processing`` attribute is given, interpret as ``first``, and put the substitution rule in the `rvrn` feature.
- If ``processing`` is ``last``, put it in `rclt`.
.. 51-rule-element: