How to combine ligatures and a stylistic set?

Hi all, I simply cannot figure this one out and am hoping somebody better at OpenType could help me.
I have a typeface with a lot of discretionary ligatures, as well as two stylistic sets with a few alternative letters.
Now I've drawn a set of ligatures from stylistic alternative letters, which I want to activate only when both the SS and discretionary ligatures are activated.
My initial attempt was to simply put these alt ligatures into the dlig code, like so:
    sub A.alt L by A.alt_L;  
    sub A.alt U by A.alt_U;
    etc
I hoped that this would do the trick, but FontLab simply doesn't recognize it.
What do I do? Thanks a lot in advance!

Comments

  • Chris Lozos
    Chris Lozos Posts: 1,458
    maybe put the code in the SS instead?

  • @Chris Lozos Unfortunately, the stylistic ligatures don't match the regular ligatures. So there would be no "sub A_L by A.alt_L" because there's no A_L
  • What's the order of your features? Is it possible that the alt ligature code above isn't triggering because it is encountered before the (ss?calt?) feature that changes A to A.alt?
  • @Craig Eliason Stylistic sets come before dlig, and I've tried it in both orders, neither works.
    Could this be a FontLab issue? It's not that I get erroneous output, the code just disappears when I hit "Compile Features"
  • Rafael Jordan
    Rafael Jordan Posts: 5
    edited November 2020
    In my experience, you have to substitute the result of the first feature in the second feature. For example:

    sub a b by a_b;

    then

    sub a_b by a_b.ss01;

    EDIT:
    @Chris Lozos Unfortunately, the stylistic ligatures don't match the regular ligatures. So there would be no "sub A_L by A.alt_L" because there's no A_L

    I did not read this before post… ops!

  • John Hudson
    John Hudson Posts: 3,227
    Could this be a FontLab issue? It's not that I get erroneous output, the code just disappears when I hit "Compile Features"
    Oh. That sounds like either a tool or code issue. Try disabling the 'Update on compile' option in the FL7 feature panel, and avoid using the automation preferences for features.

    Probably a good idea to ask about this on the FontLab forum.

  • @John Hudson Thank you! Disabling 'Update on compile' did the trick!
    I owe you a beer.
  • I’ve run into the same thing: pressing compile undoes changes I’ve made to features. I just got the latest release, I’ll see if that still does it. 
  • Side note: “A.alt_L” is not the glyph name you think it is. I know because I have made the same “mistake.”

    What I mean is, according to AGL naming, that glyph is not a ligature, but an alternate of A. The problem is basically that the period takes precedence over the underscore, instead of the other way around. So a name like “A_L.altA” would have the semantics you are looking for.

    Only a problem if you are concerned about automated processes being applied to your glyph name further downstream. Perhaps not super likely, but possible.