[HarfBuzz] isLetter function problems with indic characters

Pravin Satpute psatpute at redhat.com
Fri Sep 17 03:23:20 PDT 2010


Hi All,

        I was working on bug
http://bugreports.qt.nokia.com/browse/QTBUG-13620, while debugging found
one major problem w.r.t isLetter function of qt
thought better to share with you all as well.

   
    - init feature get applied only when character is not preceded by
any letter

    - but in file harfbuzz-indic.cpp

    if (item->item.pos == 0 ||
!(isLetter(item->string[item->item.pos-1]) ||
isMark(item->string[item->item.pos-1])))
        properties[0] &= ~InitProperty;

- here isLetter function is returning false for valid indic letter
characters,

- this invalid data is coming from
src/corelib/tools/qunicodetables.cpp/src/corelib/tools/qunicodetables.cpp,
this
file is generated from unicode database

/* This file is autogenerated from the Unicode 5.0 database. Do not edit */

    I saw this bug long time back in glibc also and fixed it there for
all indic characters, but hmm best way is to fix this in Unicode file
itself, or script used for generating database for isLetter should be
modify accordingly.

Regards,
Pravin S



More information about the HarfBuzz mailing list