diff options
Diffstat (limited to 'redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch')
-rw-r--r-- | redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch new file mode 100644 index 000000000..cdb543b25 --- /dev/null +++ b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch @@ -0,0 +1,60 @@ +--- 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:"); |