[HarfBuzz] A problem in thai shaper

Jonathan Kew jfkthame at googlemail.com
Tue Apr 17 23:16:17 PDT 2012

On 18/4/12 02:22, Behdad Esfahbod wrote:
> On 04/17/2012 06:47 PM, Khaled Hosny wrote:
>> On Tue, Apr 17, 2012 at 05:10:37AM +0200, Khaled Hosny wrote:
>>> On Mon, Apr 16, 2012 at 09:08:49PM -0400, Behdad Esfahbod wrote:
>>>>> Problem 2:
>>>>> When there is no consonant exist, the dotted circle should be inserted as base
>>>>> character.  The logic should be the first step for the shaping engine to find
>>>>> the invalid combing marks. Refer to
>>>>> http://www.microsoft.com/typography/otfntdev/thaiot/shaping.aspx#comb
>>>> Right.  We do not handle invalid combining marks yet.  That's something I want
>>>> to do at some point but it's not high priority.
>>> I don't know about Thai, but the handling of "invalid" Arabic combining
>>> marks in Uniscribe is completely brain dead and a real PITA and I'd
>>> really like not to see HarfBuzz going there, a shaping engine is not a
>>> spell checker and should not enforce any input pattern.
>>> http://www.microsoft.com/typography/OpenType%20Dev/arabic/shaping.mspx#invalid
>> Incidentally, I came across this Typophile post, which is one example of
>> why this "invalid" mark handling is not really a good idea:
>> http://typophile.com/node/92130
> Interesting.  I'm undecided about this as of now.

Just adding my vote in favor of Khaled's position.

The shaping engine should not attempt to enforce rules such as "only one 
vowel mark on each consonant" or "nukta cannot apply to vowels" (IIRC, 
MS may have relented on that one) or "the vowel mark must precede the 
tone mark", etc. That's the role of a (language-specific) spell-checker.


More information about the HarfBuzz mailing list