[HarfBuzz] Rendering Thai

Theppitak Karoonboonyanan thep at linux.thai.net
Fri Nov 11 01:41:03 PST 2011


On Fri, Nov 11, 2011 at 4:02 PM, John Tapsell <johnflux at gmail.com> wrote:
> 2011/11/11 Theppitak Karoonboonyanan <thep at linux.thai.net>:
> ...
>> Waree contains GSUB rules for proper substitutions, while Tahoma does not.
>> Legacy fonts like Tahoma rely on composition-by-substitution, and requires the
>> rendering engine to properly pick up IPA glyphs with vendor-specific
>> code points.
>
> Nokia has a custom-made font that also doesn't work.  Should we insist
> to the font vendor that they add these GSUB rules?  Or is it perfectly
> fine for them to have not added them?

The IPA/GSUB things are mostly for elegance, not for basic rendering
logics. So, it should not be required, just an option. In this case, the
correct rendering happens to be a side-effect.

>> But I think harfbuzz default behavior should at least normalize the combining
>> characters properly without the patch.
>
> The Qt patch uses 5 functions from libthai.  Are you suggesting that I
> work out which are required for the normalization, and copy the code
> across into the patch so that the normalization works even without
> libthai?

No. I mean, the default routine in harfbuzz should be fixed for this case.

The Qt patch will optionally dlopen() libthai if it's present, to improve
the rendering quality. But without libthai installed, harfbuzz should
still normalize the combining characters properly. No IPA is required
for this case.

After that, the question would be whether harfbuzz would support
IPA shaping. If the answer is yes, we can then decide whether to
copy libthai code over, or to link against it, or to dlopen() it.

Regards,
-- 
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/



More information about the HarfBuzz mailing list