61 lines
1.9 KiB
Diff
61 lines
1.9 KiB
Diff
|
--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.bak 2006-10-13 13:21:37.000000000 +0800
|
||
|
+++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-10-13 13:57:36.000000000 +0800
|
||
|
@@ -868,7 +868,7 @@
|
||
|
None, None, None, None,
|
||
|
None, None, None, Post,
|
||
|
|
||
|
- Post, None, Below, None,
|
||
|
+ None, None, None, None,
|
||
|
None, Post, None, None,
|
||
|
None, None, None, None,
|
||
|
None, None, Post, Post,
|
||
|
@@ -1271,6 +1271,16 @@
|
||
|
int base = 0;
|
||
|
int reph = -1;
|
||
|
|
||
|
+ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
|
||
|
+ bool is_special_conjuction_malayalam = false;
|
||
|
+
|
||
|
+ if ((len == 3) &&
|
||
|
+ ((reordered[2] == 0x0d30) || (reordered[2] == 0x0d31)) &&
|
||
|
+ (reordered[1] == 0x0d4d) &&
|
||
|
+ ((reordered[0] >= 0x0d15) && (reordered[0] <= 0x0d39))) {
|
||
|
+ is_special_conjuction_malayalam = true;
|
||
|
+ }
|
||
|
+
|
||
|
#ifdef INDIC_DEBUG
|
||
|
IDEBUG("original:");
|
||
|
for (i = 0; i < len; i++) {
|
||
|
@@ -1547,6 +1557,15 @@
|
||
|
reph = i;
|
||
|
}
|
||
|
|
||
|
+ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
|
||
|
+ if (is_special_conjuction_malayalam) {
|
||
|
+ unsigned short temp;
|
||
|
+
|
||
|
+ temp = reordered[0];
|
||
|
+ reordered[0] = reordered[2];
|
||
|
+ reordered[2] = temp;
|
||
|
+ }
|
||
|
+
|
||
|
if (item->font->stringToCMap((const QChar *)reordered.data(), len, item->glyphs, item->advances,
|
||
|
&item->num_glyphs, item->flags & QTextEngine::RightToLeft) != QFontEngine::NoError)
|
||
|
return FALSE;
|
||
|
@@ -1658,6 +1677,15 @@
|
||
|
|
||
|
// halant always applies
|
||
|
|
||
|
+ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
|
||
|
+ if (is_special_conjuction_malayalam) {
|
||
|
+ unsigned int temp;
|
||
|
+
|
||
|
+ temp = properties[0];
|
||
|
+ properties[0] = ~PreSubstProperty;
|
||
|
+ properties[2] = temp;
|
||
|
+ }
|
||
|
+
|
||
|
#ifdef INDIC_DEBUG
|
||
|
{
|
||
|
IDEBUG("OT properties:");
|