And you've now gotten 92% of the way there. Iterate a few dozen more times to get up to 97%, 98%, 99%, etc., and eventually you'll have rewritten OpenType.
The real challenge is Arabic, though, see https://fontspec.org/opentype-shaping/opentype-shaping-arabi...
> In typography, ligatures should be used in "truffle" but should not be used in "cufflink."
> This specific pair of words is a classic textbook example used by typographers and software developers to demonstrate the limitations of basic, automated font-rendering rules.
What a world to live in.
On the same point of yours, bad two-letter ligatures also exist: surfing (fi), selfless (fl), halftime (ft), etc. "Swordfish" is fine but "dwarfish" is not.