Ignore consecutive ligatures

Hi all,
I’m trying to prevent specific consecutive ligatures from occurring. I have a T_O ligature, and a L_D ligature, but i want to stop the LD from turning into L_D.liga when immediately after TO (in the case of TOLD).
I’ve tried using an ignore sub like this:

ignore sub T O L' D';
sub T O by T_O.liga;
sub L D by L_D.liga;

I’ve tried including apostrophes in both the subs, but the ignore doesn’t seem to work. I’ve also tried deconstructing the ligature like this:

sub T_O.liga L_D.liga' by L D;

But that just glitches out glyphs, adding a D to the end of a line that can’t be backspaced.
Thanks in advance!

Try writing it like this. I haven’t tested so I’m not 100% that it will work:

lookup TOliga {
    sub T O by T_O.liga;
} TOliga;

lookup LDliga {
    ignore sub T_O.liga L' D';
    sub L' D' by L_D.liga;
} LDliga;

This worked fantastic, thanks so much! I tried using lookups earlier but didn’t fully understand how they worked so I was getting the syntax wrong. This is a huge help, now I can roll out the rest of the exceptions I need.
Thanks again!

Great, I’m glad it worked! Good luck with the rest of it.

1 Like