The current support in ant not only is missing contextual features support—which my own font Juvelo uses—but also is doing incorrectly what it does do. My first try at OpenType support showed this same symptom: if you have both "liga" and "smcp" features turned on, you get a mixture of lowercase ligatures with small caps. This happens because "liga" is being applied before "smcp"; but the font designer will have specified the other order.
Once I have the harfbuzz stuff working in ant, I’ll worry about how to replace ant’s ‘galley’ model for paragraph breaking, which, for example, could not have handled the printing in my ‘Adam and Eve’ e-book. (The mechanism I used for ‘Adam and Eve’ was a sort of generalization of the galley model, but was extremely clunky and not a good solution.)