- updated patch for #437440 ([as-IN] Consonant combination issue) by Pravin

Satpute
This commit is contained in:
Kevin Kofler 2008-04-08 01:37:25 +00:00
parent 6a87a7ac65
commit 719567393f
2 changed files with 26 additions and 9 deletions

View File

@ -1,5 +1,5 @@
--- qt-x11-opensource-src-4.3.4/src/gui/text/qscriptengine.cpp 2008-02-19 23:17:19.000000000 +0530 --- qt-x11-opensource-src-4.3.4/src/gui/text/qscriptengine.cpp 2008-02-19 23:17:19.000000000 +0530
+++ qt-x11-opensource-src-4.3.4/src/gui/text/qscriptengine.cpp_mod 2008-03-26 12:02:54.000000000 +0530 +++ qscriptengine.cpp_mod 2008-04-01 17:39:48.000000000 +0530
@@ -2174,7 +2174,7 @@ static const unsigned char indicPosition @@ -2174,7 +2174,7 @@ static const unsigned char indicPosition
None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None,
@ -9,7 +9,7 @@
None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None,
@@ -2814,9 +2814,13 @@ static bool indic_shape_syllable(QOpenTy @@ -2814,7 +2814,7 @@ static bool indic_shape_syllable(QOpenTy
int script = item->script; int script = item->script;
Q_ASSERT(script >= QUnicodeTables::Devanagari && script <= QUnicodeTables::Sinhala); Q_ASSERT(script >= QUnicodeTables::Devanagari && script <= QUnicodeTables::Sinhala);
const unsigned short script_base = 0x0900 + 0x80*(script-QUnicodeTables::Devanagari); const unsigned short script_base = 0x0900 + 0x80*(script-QUnicodeTables::Devanagari);
@ -17,10 +17,24 @@
+ unsigned short ra = script_base + 0x30; + unsigned short ra = script_base + 0x30;
const unsigned short halant = script_base + 0x4d; const unsigned short halant = script_base + 0x4d;
const unsigned short nukta = script_base + 0x3c; const unsigned short nukta = script_base + 0x3c;
+ if(script==14)
+ {
+ ra= script_base + 0x70;
+ }
int len = item->length; @@ -2856,6 +2856,19 @@ static bool indic_shape_syllable(QOpenTy
IDEBUG(">>>>> indic shape: from=%d, len=%d invalid=%d", item->from, item->length, invalid); 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

View File

@ -11,7 +11,7 @@ Name: qt
Name: qt4 Name: qt4
%endif %endif
Version: 4.4.0 Version: 4.4.0
Release: 0.3.%{pre_tag}%{?dist} Release: 0.4.%{pre_tag}%{?dist}
# GPLv2 exceptions(see GPL_EXCEPTIONS*.txt) # GPLv2 exceptions(see GPL_EXCEPTIONS*.txt)
License: GPLv3 or GPLv2 with exceptions or QPL License: GPLv3 or GPLv2 with exceptions or QPL
@ -785,6 +785,9 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
%changelog %changelog
* Tue Apr 08 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 4.4.0-0.4.rc1
- updated patch for #437440 ([as-IN] Consonant combination issue) by Pravin Satpute
* Fri Apr 04 2008 Rex Dieter <rdieter@fedoraproject.org> 4.4.0-0.3.rc1 * Fri Apr 04 2008 Rex Dieter <rdieter@fedoraproject.org> 4.4.0-0.3.rc1
- qt-4.4.0-rc1 - qt-4.4.0-rc1
- -xmlpatterns (and drop -no-exceptions) - -xmlpatterns (and drop -no-exceptions)