Ligature & alternates

So, I have, for example, alternate >j< named >j.ss01< and alt >k< named k.ss02. What is a proper name for ligature f+alternate j, or f+f+alternate k if I want them to be visible only of I choose stylistic set and discretionary ligs?

Or, ligature of two alternate >g<; g.ss05 + g.ss05?

try f.ss01_j, f_f.ss02_k and g_g.ss05

Thnx Georg.
I’m trying to understand the principle of naming behind.
So f+f+j.ss03 should be f_f.ss03_j?
What about two alternate chars? >g.ss01_j.ss02<?

I think, this was a misunderstanding. It is always the names of the parts connected by underscores, so x_x.ss01_x would be the middle x as ss01. The problem with x_x.ss01 is that the suffix at the end applies to the whole ligature. So in this case, you might have to do it manually.


  • liga f_f_i is ok; named f_f_i.liga
  • dlig f_t is ok; named f_t.dlig


  • liga f_f_j.ss01 it should apear when I change ss to 01 (from f_f_j)
  • dlig g.ss03_j.ss01 and it should apear when I choose…
    I think I’ll just kill it.

you do not need to add a .dlig suffix. most ligatures end up in the dlig feature anyway.

You need to put the features in the right order. When the dlig feature is above the ssXX features, there are no ss01 glyphs in the glyph stream when the dlig feature is applied. So you either move the dlig feature below the ssXX features or use alternate ligatures in the ssXX features.

For the ligatures that include suffixes, the feature code generator does not work in all cases. Then you need to write them manually. disable the automatic generation of the dlig feature and add this line:
sub g.ss03 j.ss01 by g.ss03_j.ss01;

Ok, it is clear now. I understand the importance of correct order, my basic question was about proper naming, and than we (I) complicate everything.
f_f_j is ok, f_f_j.alt is ok. It doesn’t matter in which ss it sits.
Two alternates, g and j is g.alt_j.alt.
Is this correct?

Yes, unless both g and j have the same suffix, then it is just g_j.alt. :slight_smile:

Right, that’s what I thought, it is a typo, mea culpa.
Thnx guys.