Contextual kerning support

I'm working on a type family using proportional figures as the default. Adjusting the kerning pairs for some figures causes spacing problems when those pairs are followed or preceded by certain other figures. Using contextual kerning solves the problem since it enables kerning for triplet glyph sequences.

What I’m wondering is how well this feature is supported and, for that matter, supported as the default without activating an OpenType feature in some obscure and hidden-away part of the application. InDesign and Illustrator seem to handle it just fine, but QuarkXPress, MS Publisher, Word, Corel whatever, etc., I don’t know — don’t own them. Anybody have any insights or tips on any of this.

It's the first I’ve tried this, so I’m not even sure I’m doing it correctly. Interestingly, the values seem to just be cumulative with the other kerning pair values specified elsewhere. There’s something of a lack of information I can find on coding it correctly, so it's sort of an experiment. Here’s a small piece of the code.
    lookup kernCustom {
        pos seven' -20 comma' -20 [zero one nine];
       pos seven' -20 period' -20 [zero one nine];
    } kernCustom;


Comments

  • Kent Lew
    Kent Lew Posts: 937
    If the rules are registered under the {kern} feature, then it should not require turning on any obscure feature (other than kerning being activated).

    The issue, then, will be whether the text-processing engine in question implements the contextual GPOS lookup types 7 & 8.

    From some exploration and testing I did last year, I seem to recall that it was fairly reliable in current apps. But I don’t remember all the specifics of what combinations I examined. I have not yet implemented contextual kerning in any deployed fonts.

    And yes, the values are cumulative with other GPOS rules. I presume you have read the Adobe documentation already.
  • Nick Shinn
    Nick Shinn Posts: 2,207
    It might be more robust/safer to make ligatures of "seven_period" and "seven_comma" etc., and kern those, as the ligature feature is well supported and active by default.