I could use an extra dose of wisdom on a handwriting font that I'm working on. It's a "flipper" font (like FF Kosmik), with regular ligatures, inits, finals, and cligs.
The flipping is done with 'calt' like this:
feature calt {
lookup FLIP {
sub @SET_ZERO @SET_ZERO' by @SET_ONE;
sub @SET_ONE @SET_ZERO' by @SET_TWO;
sub @SET_TWO @SET_ZERO' by @SET_THREE;
sub @SET_THREE @SET_ZERO' by @SET_FOUR;
sub @SET_FOUR @SET_ZERO' by @SET_FIVE;
sub @SET_FIVE @SET_ZERO' by @SET_SIX;
sub @SET_SIX @SET_ZERO' by @SET_SEVEN;
sub @SET_SEVEN @SET_ZERO' by @SET_EIGHT;
} FLIP;
} calt;
So, when it's laying down a glyph, it looks at the previous glyph to see to what set it belongs. Then it increments the set number, and puts down the appropriate glyph from that next set. The result is that typing "mmmm" will yield "m m.alt1 m.alt2 m.alt3".
Now comes the 'clig' feature:
feature clig {
lookup TU_LIG {
sub t.alt1' u.alt2' by t_u.alt1;
sub t.alt2' u.alt3' by t_u.alt2;
sub t.alt3' u.alt4' by t_u.alt3;
sub t.alt4' u.alt5' by t_u.alt4;
sub t.alt5' u.alt6' by t_u.alt5;
} TU_LIG;
} clig;
This particular ligature (and many like it) cannot exist in the regular 'liga' feature, because it only occurs in specific places.
The problem is that any combination of "tu" resolves to that first ligature specified: t_u.alt1 ... no matter what glyph preceeded it. The strange thing is that the feature works correctly in FontLab 4.6 Mac (in the OT preview window), but it does not work in InDesign CS, which is what I'm using to test. I know that InDesign renders features a bit differently (like displaying a finial alternate before it really knows if that we've reached the end of the word), but this 'clig' feature just doesn't work.
I can't seem to attach the VFB, but I will email it to someone if it helps. I'm just testing features before I clean up the outlines and complete the character set, so the only working glyphs are: a, b, c, d, e, t, u, period, space. I would greatly appreciate any insight.
Thanks,
Alan