Pango and Indic scripts

I've been paying some attention recently to the rendering of various
scripts in Pango. One thing I've noticed is that there are a number of
cases where Pango seems to fall short in rendering Indic text. I would
like to help out with this, but I find that the code is poorly
documented and not easy to follow. As such, I'm presenting my findings
here in the hope that someone can lend me their expertise or use what
I've found to improve support. For reference, these are problems I've
found in 1.17.2. Most are present in 1.16.3 as well, to the best of my

First, for some reason, the sequence "ka + VIRAMA + ZWJ" fails to
produce the expected half-form. This should be handled by the `half'
feature of OpenType, which is apparently supported by the shaper. It
seems as though the characters are not being given the proper tag.
However, I'm unable to follow the code well enough to determine why or
even really what tags things should be given in what circumstances.

Second, many features seem to be entirely ignored. The shaper creates a
ruleset with `akhn', `haln', `nukt' and `vatu'. These tags are never
used, though the Devanagari font that I'm currently looking at makes use
of all of them. Again, I'm not sure exactly what the different property
sets are trying to accomplish and I can't follow the code well enough to
figure out precisely what they're doing. As such, I'm unclear as to when
these tags should be used.

If anyone could shed some light on the situation, especially to clarify
the code (particularly indic_ot_reorder in modules/indic/indic-ot.c), I
would appreciate it very much and I would endeavor to improve Indic
support in the development branch.

Sean Burke

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]