--- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200 +++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200 @@ -1240,7 +1240,7 @@ int script = item->script; Q_ASSERT(script >= QFont::Devanagari && script <= QFont::Sinhala); const unsigned short script_base = 0x0900 + 0x80*(script-QFont::Devanagari); - const unsigned short ra = script_base + 0x30; + unsigned short ra = script_base + 0x30; //it was const unsigned short ra before modification const unsigned short halant = script_base + 0x4d; const unsigned short nukta = script_base + 0x3c; @@ -1278,6 +1278,11 @@ } #endif + unsigned short *chkAssamese=reordered.data(); + if((script == QFont::Bengali) && (*chkAssamese==0x09F0)) //if it is assamese ra + { + ra = script_base + 0x70; + } if (len != 1) { unsigned short *uc = reordered.data(); bool beginsWithRa = FALSE;