AFAIK, Glyphs 3 extends the feature syntax in some areas. Are these extensions documented somewhere? I’d like to see if I can make feaLib support (some of) them.
Yes, feature code extensions are documented in the Handbook.
You can have at look at the preview of the web handbook for the latest information. It’s layout is not quiet ready for prime time, but the information is up-to-date:
The extensions are described in the sections from Tokens until Multiple Substitution With Classes.
Thanks!
in Font Info: Features: Multiple Substitution With Classes — Glyphs Handbook, the following syntax is not documented but seems to be supported:
sub @Symbol by @SymbolLeft a-glyph;
(a-glyph
will be repeated for as many number of glyphs in the class)
This is also supported:
sub @Symbol by @SymbolLeft [a-glyph];
Treated the same as the code above, but I think it should be an error since if a class is given it ought to be of the same length. Especially since a class of any length other than 1 will cause an error if it does not match the length as the target class.
You are right, there are still parts to be added before the official publication. I’ll report back when that has been done. And thank you for looking into this!
One more thing that we need to add to the docs:
standalone lookup test {
sub a by b;
};
sub a' lookup test x;
That standalone
skips the lookup from the feature. So you can write the lookups that are used in chaining subs directly next to the lookup that uses it (inside the feature block).