In my type Prima, I am making extensive use of chaining contextual substitutions (aka GSUB Type 6 lookups ).
It has been pointed out to me that the OT layout that I’ve created throws up errors in other type-making applications, namely that illegal multiple substitutions have been specified. However, it works in Glyphs and the compiled fonts work as expected in various shaping environments (Microsoft Word, Adobe, current browsers, FontGoggles).
When I look at the spec, I cannot find an example that shows what I am doing either, so I started wondering why it works, and what’s happening with other type-making applications.
In a nutshell, the definitions that I’ve been using follow this pattern:
@a = [a adieresis aacute abreve];
@desiredcontext = [n m r];
@joint = [joint.an];
lookup joint {
sub @a’ @desiredcontext by @a @joint ;
} joint ;
note that it makes no difference whether the joint is specified as a class or a single glyph, the results are identical as the classes that I’m using only ever have a single glyph in them:
lookup joint {
sub @a’ @desiredcontext by @a joint.an ;
} joint ;
Can anyone explain why this works in Glyphs and not in FontLab?
Thanks in advance!