Whether or not certain ligatures should be used (if available in a font) is a least in theory depending on the language used. For example traditional German texts would not have an "ffl" ligature but would have "ft" and also "ch" and "ck".
pdfTeX supports disabling selected ligutures but you will always disable the full set beginning with a certain character, so it is not possible to drop "ffl" but keep "fi", say. (I haven't checked what pdfTeX actually does, this is my understanding from the microtype manual).
From reading through the LuaTeX manual I can see that there should be (in theory) much finer control possible, but I don't see concepts to hook into the ligature mechanism to easily provide a language-based abstraction. In my opinion a mechanism should apply at (or close to) the typesetting stage and not at during input preparation, i.e., the answer to "Can one suppress ligatures for certain words?" addresses this too early in the game.
So my questions are:
- Has something for this already be programmed?
- If not, how complicated would it be, given the current functionality in LuaTeX, or are there some useful interfaces for this still missing?
Unfortunately this doesn't address how to specify that for certain languages you may want to have "ligature-kerns" i.e., some extra kerning used only in a particular language to bring some character pairs closer together than in other languages.