2008-03-26 11:27:21 +00:00
|
|
|
--- qt-x11-opensource-src-4.3.4/src/gui/text/qscriptengine.cpp 2008-02-19 23:17:19.000000000 +0530
|
2008-04-08 01:37:25 +00:00
|
|
|
+++ qscriptengine.cpp_mod 2008-04-01 17:39:48.000000000 +0530
|
2008-03-26 11:27:21 +00:00
|
|
|
@@ -2174,7 +2174,7 @@ static const unsigned char indicPosition
|
|
|
|
None, None, None, None,
|
|
|
|
None, None, None, None,
|
|
|
|
|
|
|
|
- None, None, None, None,
|
|
|
|
+ Below, None, None, None,
|
|
|
|
None, None, None, None,
|
|
|
|
None, None, None, None,
|
|
|
|
None, None, None, None,
|
2008-04-08 01:37:25 +00:00
|
|
|
@@ -2814,7 +2814,7 @@ static bool indic_shape_syllable(QOpenTy
|
2008-03-26 11:27:21 +00:00
|
|
|
int script = item->script;
|
|
|
|
Q_ASSERT(script >= QUnicodeTables::Devanagari && script <= QUnicodeTables::Sinhala);
|
|
|
|
const unsigned short script_base = 0x0900 + 0x80*(script-QUnicodeTables::Devanagari);
|
|
|
|
- const unsigned short ra = script_base + 0x30;
|
|
|
|
+ unsigned short ra = script_base + 0x30;
|
|
|
|
const unsigned short halant = script_base + 0x4d;
|
|
|
|
const unsigned short nukta = script_base + 0x3c;
|
|
|
|
|
2008-04-08 01:37:25 +00:00
|
|
|
@@ -2856,6 +2856,19 @@ static bool indic_shape_syllable(QOpenTy
|
|
|
|
unsigned short *uc = reordered.data();
|
|
|
|
bool beginsWithRa = false;
|
|
|
|
|
|
|
|
+ // Exception in Bengali Script
|
|
|
|
+ //
|
|
|
|
+ // Bengali script supports two languages bengali and assamese
|
|
|
|
+ // Unfortunately for both languages there is different ra defined in same script chart
|
|
|
|
+ // for Bengali it ra is 'Base+ 0x30' and for assamese 'Base+0x70'
|
|
|
|
+ // Base is same 0x0980
|
|
|
|
+ // To handle this exception we need to change ra to from const to normal variable
|
|
|
|
+ // and aslo need to change ra to 'Base+0x70' whenever we will get assamese language
|
|
|
|
+ //character in data
|
|
|
|
+ if((script == QUnicodeTables::Bengali) && (*uc==0x09F0)){
|
|
|
|
+ ra = script_base + 0x70;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
// Rule 1: find base consonant
|
|
|
|
//
|
|
|
|
// The shaping engine finds the base consonant of the
|