b3ca8bd
diff -ur qt-all-opensource-src-4.4.0-rc1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-all-opensource-src-4.4.0-rc1-as_IN-437440/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
b3ca8bd
--- qt-all-opensource-src-4.4.0-rc1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2008-04-02 18:33:48.000000000 +0200
b3ca8bd
+++ qt-all-opensource-src-4.4.0-rc1-as_IN-437440/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2008-04-08 04:37:45.000000000 +0200
b3ca8bd
@@ -552,7 +552,7 @@
c7eedfb
     None, None, None, None,
c7eedfb
     None, None, None, None,
c7eedfb
 
c7eedfb
-    None, None, None, None,
c7eedfb
+    Below, None, None, None,
c7eedfb
     None, None, None, None,
c7eedfb
     None, None, None, None,
c7eedfb
     None, None, None, None,
b3ca8bd
@@ -1169,7 +1169,7 @@
b3ca8bd
     HB_Script script = item->item.script;
b3ca8bd
     assert(script >= HB_Script_Devanagari && script <= HB_Script_Sinhala);
b3ca8bd
     const unsigned short script_base = 0x0900 + 0x80*(script-HB_Script_Devanagari);
c7eedfb
-    const unsigned short ra = script_base + 0x30;
c7eedfb
+    unsigned short ra = script_base + 0x30;
c7eedfb
     const unsigned short halant = script_base + 0x4d;
c7eedfb
     const unsigned short nukta = script_base + 0x3c;
b3ca8bd
     bool control = false;
b3ca8bd
@@ -1212,6 +1212,19 @@
b3ca8bd
         HB_UChar16 *uc = reordered;
7ef89e2
         bool beginsWithRa = false;
7ef89e2
 
7ef89e2
+	// Exception in Bengali Script
7ef89e2
+        //
7ef89e2
+        // Bengali script supports two languages bengali and assamese
7ef89e2
+        // Unfortunately for both languages there is different ra defined in same script chart
7ef89e2
+        // for Bengali it ra is 'Base+ 0x30' and for assamese 'Base+0x70'
7ef89e2
+        // Base is same 0x0980
7ef89e2
+        // To handle this exception we need to change ra to from const to normal variable 
7ef89e2
+        // and aslo need to change ra to 'Base+0x70' whenever we will get assamese language
7ef89e2
+	//character in data
b3ca8bd
+	if((script == HB_Script_Bengali) && (*uc==0x09F0)){
7ef89e2
+	  ra  = script_base + 0x70;
7ef89e2
+	}
7ef89e2
+
7ef89e2
         // Rule 1: find base consonant
7ef89e2
         //
7ef89e2
         // The shaping engine finds the base consonant of the