Until someone comes up with an “offline” OpenType interpreter, you may have to do the heavy lifting yourself.
Logically, for ligatures that would probably mean doing swaps before you submit the text string to the rendering machine, perhaps something like this:
IF font has character UFB01;
AND text string has contiguous characters /fi/;
THEN swap UFB01 for /fi/ in text string before rendering;
ELSE ignore.
For alternates, until a uniform standard for designation and Unicode assignment is developed, you're on you're own…
