Programmatically Creating a Large number of Ligature Glyphs

OK, I ended up using the Python method to add the glyphs ‘by hand’. This will probably bite me in the butt later, but it’ll work for now.

Though I’ve run into another issue: Theta-grek cannot be used in ligatures it seems. I believe this is due to the character being from another script than Latin.

Looking online this seems impossible to correct directly. To sidestep the issue I made a contextual alternatives feature that takes the Theta-grek character and subs it for a glyph without a code point that will stand in for Theta-grek. The issue I have now is that the calt feature is later in the OTF code than the liga and clig, so it doesn’t trigger until after the liga and clig have already failed to replace things.

I’ve tried moving the calt up in the code, but upon exiting the code editor it moves it back to the bottom.

This thread OpenType Features: Order of Precedence says that changing the order of precedence is “not difficult”, but I cannot figure out how to do it. I’ve move the lookups themselves up in the order shown in the Open Type editor, but in the code itself it is still ordered liga, clig, calt.

How do you change the order of precedence for OTF features?

Edit: Nevermind, I figured that out, I was moving the wrong block of code. Now it’s processing in the right order I think, but it’s just not working. I wonder if the fact that the original character was Greek will prevent any future ligatures from working, even if the Greek character has been replaced with a Latin one.