afdko
afdko copied to clipboard
Things fea can't do: wildcard / class 0 substitutions
In a class-based (format 2) substitution, class 0 can be used to specify "all glyphs not in this set". This allows you to effectively do "wildcard" contextual substitutions (and positionings), which, if fea supported it, could be expressed something like this:
sub a b' * c by d;
Because classes have to be non-overlapping, this would require emitting two rules: one to cover the post-context case "c c" and one to cover the post-context case "not-c c". But it's something that can be done in OTL, but not in fea.