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

Reply via email to