Style Set + dlig do not work together

I have a question that I don’t know if it’s a problem in Glyphs or InDesign:
My font contains various DLIGs, including many f-ligatures. These work perfectly in InDesign. Additionally there is a Style Set, which gives k an “descender”/swash. This also applies to the fk-ligature. BUT, the Style Set is only displayed if there are at least 3 spaces (B) between two groups of letters. If there is one or two spaces (A), the Style Set do not work!

What could be the reason?

That is strange. Can you show your feature code?

Here are the three relevant features:


I may be mistaken, but shouldn’t sub f_k by f_k.sso4 go before sub k by k.ss04?
Upd: disregard :slight_smile: this shouldn’t be a problem

The feature code is fine, do you have an substitutions involving spaces?

Or a grep style or something in InDesign?

No GREP. No “space”-subs! :frowning_face:

The problem always occurs when a dlig ligature (f_f_k) comes “too close” to a dlig Style Set-ligature (f_f_k.ss04). As soon as there are less than one or two characters “distance” (space OR letters !!!), the Style Set is apparently “deactivated” …

Do you have ignore statements anywhere in the font?

Also the case with other fonts?

No, nothing like that.

(On the one hand I did not consciously create something like this [all FEAT are generated automatically, except LIGA], on the other hand I searched everything again to see if anything crept in - nothing!)

Have you tried a different Composer? World ready?

Composer? World Ready? I don’t know … I have not set up or installed anything like this.

But I’ve narrowed down the problem:
The effect only occurs if the fi or fl ligature is in the line/close position! (Spooky!)

The ligatures are originally doubled (in the font), as f_i and f_l, as well as fi and fl.
I alternately deleted f_i/f_l and fi/fl, adjusted the FEAT – the problem persists.

I don’t know if that makes the problem better or worse…?!

Yes you have. In German the are called Absatz- and Zeilensetzer. You will find them in the paragraph panel. It sets the mode of the layout engine employed by InDesign.

The classic composer does a few extra things for Latin that are not well documented, possibly also language-dependent stuff.

OK, with 2 of them it works now!
But the effect is nevertheless absurd and for me not comprehensible!
(In older versions of InDes, the upper two don’t exist at all, do they?)

Additional question: Do the fi-/fl ligatures have to be in the font twice, i.e. as f_i/f_l and fi/fl? (And how/where does the fi/fl appear in the feature?)

No, just the fi and fl

Okay, thanks a lot!

I hope that the users know and use the different Zeilen-Absatz-Setzer…!?

I’ve been following this thread, and even tried to duplicate the problem by moving features around in one of my fonts, but I couldn’t do it. I’m wondering:

You have several features between dlig and ss04. Are any of them turned on? cpsp involves spaces (I can’t think how it might interfere, but you never know). Or would it make a difference to (experimentally) move dlig down to just above ss04?

Have you given your font to anyone else to try in another build or version of InDesign?

Have you tried the font in Illustrator and/or Photoshop? Does the problem happen there?

Have you tried changing the order in which features are applied? I.e. first ss04 with “sub k by k.ss04” then dlig with “sub f k.ss04 by f_k.ss04”

1 Like

Thank you for your ideas and suggestions!

I have already tried it all … If I change the order of the features, the DLIG (f_k + f_f_k) won’t work anymore!

Actually the solution seems to lie in the line composers. Even if I can’t understand it at all, why two DLIGs can’t stand close/next to each other, one with, one without style set …? (Even if this may happen rarely.)

If one could find a solution in Glyphs, that would be great for the functionality and compatibility of the fonts.

That Globaler Absatzsetzer is da bomb. I don’t know why anyone uses anything else.

The problem is always those users who use the not practicable or outdated tools - and then complain … :wink: