I have ligatured glyphs ( above base ) and I want to adjust the kerning by Mark ( ligatured glyph ) to Base ( Base Glyph ). In the first case, I want to adjust the ligatured glyph at the middle of base glyph. In a second case I want to adjust ligatured glyph to the right edge of the post base glyph. I tried with Mark to Base and that did not seem to work ( I put the first glyph as base and ligatured glyph as Mark ). Unless I create two ligatured glyphs ( using different position ) and call upon the right one with back/match/ahead lookup. My question is - ligatured glyph does not act on mark to Base no matter you switch the mark/base to ligatured glyph, Why is that? Second question is what is the best way to adjust them without adding same ligatured glyphs? Thanks
Comments
Anchor positioning GPOS is naturally substitutive: the layout engine will work its way through the GPOS mark positioning lookups, and the marks will end up in the position determined by the last lookup that processes them. This means that you can have different lookups for the same mark on the same base, and each lookup can have context rules. As the layout engine steps through the lookups, it may first find a match for an uncontextual position (what I think of as the default position), but then in a subsequent lookup it will find a match in the context rule and will relocate the mark to the anchor specified in that lookup. It will keep moving the mark to different anchors until it ceases to find a match in the context rule.
OR can I just simply use Kerning by classes after initial anchoring is done?
Anyway, I really appreciate both of you for giving me directions. I checked VOLT before and it was easy to follow. FEZ is all new to me and I want the easiest way. Thanks
1. Start with a lookup that applies default position (without context); then apply subsequent lookups with contextual rules, generally moving from shorter to longer contexts.
2. Use subtable structures to order the contextual lookups first, from longest to shortest, followed by a final contextless lookup to position any remaining marks on bases; this method is more efficient in terms of processing, because as soon as a match is found and applied all subsequent subtable lookups are ignored. [I think this may still not be possible in AFDKO, where subtables were limited to the kern feature when last I looked.]
Generally, you want to avoid getting marks involved in kerning unless you are dealing with a script like Telugu where it is unavoidable in some situations.