Peter Kirk wrote:
I should point out in return that I am not advocating glyph composition for CJK-type scripts, but for scripts like Hebrew in which fairly simple positioning rules can be used, rules which have already been successfully implemented in OpenType fonts like SBL Hebrew.
For scripts where the composition rules are particularly complex and where you need to apply a lot of contextual positioning rules in order to build up ligatures, there is often a considerable performance disadvantage when compared with a font that has pre-composed ligatures instead.
A font with pre composed ligatures is also not necessarily that much larger since you can often implement many of the glyphs as composite glyphs made from a library of component glyphs. (In other words pre-positioning & combining the parts.) Since the component glyphs are effectively subroutines and composite glyphs have pointers to their components file size is reduced.
Including a lot of positioning rules for rarely if ever used combinations may not be a good idea. If you add a feature to an OpenType font then it seems a call is made to the layout engine for that feature for each cluster of text - even if it turns out that the feature does not apply or is not used for that cluster of text. The more features you have, the more calls are made. So there is a trade off between features and performance.
In current layout engines, substation lookups seem to run *much* faster than positioning rules - and it is usually easier to group many substitution rules into a single feature, than it is to group positioning rules - so less features are required resulting in fewer separate calls to the layout engine.
- Chris

