On 14-10-13 07:39 PM, Martin Hosken wrote: > rtla, rtlm, frac, numr, dnom > <script specific features> > ccmp, locl, mark, mkmk, rlig, calt, clig, curs, kern, liga, rclt, <user > features> > > Note that if you are in a LTR script, you replace rlta, rtlm with ltra, ltrm. > Also if you are in vertical text then replace calt, clig, curs, kern, liga, > rclt with vert. In addition, a specific script can override this plan, but > even if it does, all user features end up at the end. Arabic doesn't mess > with the plan at all.
If there are no script-specific logic, then the two groups above merge. When there *is* script-specific logic, it can pull some features to happen earlier. All shapers that add a pause also pull ccmp / locl to happen at the start of the script-pecific group, which essentially removes them from the final group. We could, perhaps, improve the code to better reflect this. Jonathan: I just noticed that we in fact have inadvertently introduced a pause before ccmp,locl in all shapers that have a pause. The pauses do nuke_joiners for Arabic, and setup_syllables for Indic-like shapers. Perhaps this can be cleaned up a bit. Not touching it now though. -- behdad http://behdad.org/ _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
