I’m encountering an unusual bug in Glyphs app (3.3.1 (3343)). The lam_alef-ar.fina ligature has no alternate layers, but it stops working after the first rvrn rule. Interestingly, the output from fontmake works fine.
Here’s a comparison between the Glyphs app and the fontmake output:
And the desired outcome is that the separated shape should be used throughout, not the connected shape, which is just lam-ar + alef-ar.fina with no ligature applied?
Yes, primary shape is a ligature. in Glyphs output version it stops workings(which is not planned) after first alternate layer substitution (like Q) applied.
Okay, I don’t know what’s happening, but the bracket layers in the Latin glyphs don’t have much to do with it because disabling them doesn’t help much. It just makes the ligature snap a little later. Investigating further. Sorry I don’t have a conclusive answer yet.
So, yes, you are right, there is indeed an issue with reusing the same feature for both feature variations and regular substitution code, rlig in your case. (I overlooked the oslashacute composite that still triggered the feature variations.) I could eventually get the error message: Broken internal cross-table feature reference in -[FEAFeatureSubstitution(Backend) dump:state:] (FEAFeatureSubstitution.m:185) Found in: (null).
Current workaround until it is fixed: yes, do use rvrn instead. It works in your current setup, as long as you do not add smallcaps. To do so, go to Font Info > Font > Custom Parameters, add a parameter called Feature for Feature Variations, and type rvrn as its value.
NEVER set it to rvrn. That is messing things up. (except when you REALLY know what you are doing).
The problems is that currently there is a bug that you can’t have feature variation and none feature variations substitutions in the same feature. So either add a fake condition (as your fix suggests) or move the actual feature variation part in the rclt feature.
The Feature for Feature Variations Parameter is only relevant when you have bracket layers.
In the left sidebar, you should see the current glyph names that are resulted from all the OpenType. What names do you see when the ligature is not working?
And have you checked the feature order? The ligature feature needs to come before the future variation.