Multiple stylistic sets (shapes, diactritic, ligatures), how to make them work together?

Hi everyone,

I’ve tried to find answers in the “learn” section and in this forum, but I think I might need specific help on this one…

So here’s the thing : I’m working on a typeface with two masters (ultra and regular) and two main stylistic sets (a neo-retro one, and a more classic grotesk one).
Now, I have also a lot of ligatures with .liga characters, and I also want to create two styles for the punctuation and the diacritics (one regular and the other very thin).

How is it possible to mix all of these features and make them work together?

For example, I have a “tt” ligature, and a t.ss02. So I want to have a t.ss02_t.ss02 ligature, but I’m not sure of how to do that so that it would work properly (when the user activates both the ss02 and the ligatures OT feature). Any advice ? Should I call the glyph t_t.liga.ss02 or t.ss02_t.ss02.liga ? It doesn’t work either way for now.

And then, kind of the same question about the diacritics : How to make them work so that I have the “thin diacritrics” feature and that it would work either with the regular set or the alternate one, depending on which OT feature is activated ?

I hope that the questions are clear enough, if not, please let me know…

EDIT : Oh, that might be important (or not) but there are a lot less ligatures available with the ss02 set than with the regular one, because of the shapes of the letters. So most of the ligatures won’t have an equivalent in ss02.

Thanks a lot for your help

If you have t_t.liga and a stylistic alternate you make a t_t.liga.ss02 glyph for that. You can even combine stylistic alternates, eg. t_t.liga.ss02.ss03 – you just have to figure out yourself which glyphs will be needed and then create those glyphs.

If you have alternative forms for parts of a weight range then you can put them in bracket layers – there is an article about that in the learn section.

If it doesn’t work check that you have updated the OpenType features and that the expected features exist and are populated with the expected glyphs you have created.

The basic thing to understand is that features are applied in their order. Once you turn on ss01, all further features will “see” those ss01 glyphs instead of the default ones and so on. With that in mind you can mix them any way you like.

t_t.ss02.liga assumes that your stylistic set feature is ordered before your ligature feature.

t_t.liga.ss02 assumes that there is a t_t.liga too and the ligature feature comes first.

Thanks a lot everyone, it looks clear now ! I’ll try to sort everything according to your advices and I’ll come back to you if I have any trouble. Thanks again for your help.