You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.9 KiB
61 lines
1.9 KiB
13 years ago
|
--- tqt3/src/kernel/qscriptengine_x11.cpp.fontrendering-ml_IN-bz#209097 2012-02-13 19:10:01.000000000 +0100
|
||
|
+++ tqt3/src/kernel/qscriptengine_x11.cpp 2012-02-13 21:36:07.227917886 +0100
|
||
|
@@ -871,7 +871,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,
|
||
|
@@ -1274,6 +1274,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++) {
|
||
|
@@ -1550,6 +1560,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 TQChar *)reordered.data(), len, item->glyphs, item->advances,
|
||
|
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
|
||
|
return FALSE;
|
||
|
@@ -1661,6 +1680,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:");
|