instantiator: when applying DS rules, must also swap anchors #632
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Glyph.clear() destroys all anchors (and pen protocol does not 'draw' them).
fontmake.instantiator
needs to also swap the glyph anchors when applying the DesignSpace conditional substitution rules, just like it does for the contours and components.Otherwise, the swapped glyphs will lose all their anchors and get no mark/mkmk features...
NOTE: If you used fontmake to generate fonts that contain "bracket" glyphs or a DesignSpace document with rvrn-style conditional substitution rules, and these glyphs contain any anchors which were supposed to be used to generate mark or mkmk feature, I strongly recommend that you re-generate your fonts using the new fontmake and glyphsLib (which we are going to release shortly after this is merged).
Apologies, we should have caught this earlier.
Many thanks @chrissimpkins and @danielgrumer for reporting this bug (and this one too googlefonts/glyphsLib#578).