On 21 Apr 2011, at 16:01, Tom Hacohen wrote:

> On Thu, 2011-04-21 at 15:54 +0100, Jonathan Kew wrote:
>> I'm afraid this is _not_ sufficient to get correct rendering of most (all?) 
>> Indic scripts. In addition to the application of OpenType features, Indic 
>> scripts require reordering of certain characters; for example, some vowel 
>> marks such as the Devanagari short I are encoded following a consonant 
>> (cluster) but must be reordered before it for rendering. OpenType features 
>> do not handle this; it is the responsibility of the shaping engine.
>> 
>> Also, some of the OT features need to be applied selectively only to certain 
>> characters within the Indic syllable, not indiscriminately to all the text.
>> 
> 
> Seeing the complexity of Harfbuzz.old's indic shaper, I figured as much,
> but thanks for the verification. As I said, I can't read any of those,
> and my tests "looked like pango" so I hoped everything was fine.

Superficially, it may look "reasonable" at first glance, but I suspect that if 
you try a word like "Hindi" (हिन्दी) and compare it closely to Pango's 
rendering, you'll find that the initial pair of glyphs is coming out reversed.

> 
> So what's next? How can I further advance the creation of a proper Indic
> shaper? What do you guys do in Firefox?

Currently, we only use hb-ng for "simple" scripts and for Arabic (and its 
relatives - Syriac, N'ko), and fall back to platform shaping libraries 
(uniscribe/directwrite/coretext/pango) for Indic, etc.

I'm not sure how best to push this forwards. I made a start on a Devanagari 
shaper some time ago, but have not worked on it recently, and in the meantime 
there's been a lot of internal change in the hb-ng code, so none of what I did 
then will be directly usable now. I've passed it over to Behdad, but don't know 
if he's given any thought recently to how this will be managed within hb-ng. 
The internal API it uses to interact with the Arabic shaper is not sufficient 
to support Indic; some added "hooks" or whatever will be needed for the more 
complex processing model.

JK

_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to