A ligature substitution replaces a sequence of glyphs by one glyph, which is called a ligature. An example that supplies some standard ligatures:
lookup decompose {
sub f f i -> ffi
sub f f -> ff
sub f i -> fi;
}
At the left side of ->
you should supply a sequence of glyphs.
At the right side one glyph should appear.
Note: the order in which the ligatures are applied is not changed
(except in cases where it does not matter).
The "ffi" ligature should be placed before the "ff" ligature, otherwise the
lookup will have seen "ff" and have replaced it before the "ffi" ligature
is seen.