> The OpenType system is very poorly designed from what I can tell. In
> the Tibetan fonts I've examined, rather than just saying "character
> U+0F62 needs to use an alternate glyph when followed by any of {list
> here} combining characters", there are individual ligature
> combination tables for each pairing. Whether this is just lack of
> understanding on the font designer's part or fundamental limitations
> of OpenType, I'm not sure.
Mhmm, perhaps the font designer decided to used the simplest solution
for him, not the generic one...
Anyway, your Tibetan example can be implemented as you suggest within
the GSUB table: Just use a Lookup Type 5 (Contextual Substitution
Subtable), Format 2, which is based on glyph classes. If this doesn't
suffice, use Lookup Type 6 (Chaining Contextual Substitution Subtable)
to have the possibility to look back and look ahead also. You might
also have more than a single Lookup for a given `feature' (which are
executed sequentially on the whole input string) so that you can
construct even more complicated patterns.
Werner
--
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/