From 719567393ff81d25f5c01f4b78a5216fac64e4ff Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Tue, 8 Apr 2008 01:37:25 +0000 Subject: [PATCH] - updated patch for #437440 ([as-IN] Consonant combination issue) by Pravin Satpute --- ...11-opensource-src-4.3.4-as_IN-437440.patch | 30 ++++++++++++++----- qt.spec | 5 +++- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/qt-x11-opensource-src-4.3.4-as_IN-437440.patch b/qt-x11-opensource-src-4.3.4-as_IN-437440.patch index 0f72ef2..54751b7 100644 --- a/qt-x11-opensource-src-4.3.4-as_IN-437440.patch +++ b/qt-x11-opensource-src-4.3.4-as_IN-437440.patch @@ -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_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 None, None, None, None, None, None, None, None, @@ -9,7 +9,7 @@ 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; Q_ASSERT(script >= QUnicodeTables::Devanagari && script <= QUnicodeTables::Sinhala); const unsigned short script_base = 0x0900 + 0x80*(script-QUnicodeTables::Devanagari); @@ -17,10 +17,24 @@ + unsigned short ra = script_base + 0x30; const unsigned short halant = script_base + 0x4d; const unsigned short nukta = script_base + 0x3c; -+ if(script==14) -+ { -+ ra= script_base + 0x70; -+ } - int len = item->length; - IDEBUG(">>>>> indic shape: from=%d, len=%d invalid=%d", item->from, item->length, invalid); +@@ -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 diff --git a/qt.spec b/qt.spec index 17c0387..95962ae 100644 --- a/qt.spec +++ b/qt.spec @@ -11,7 +11,7 @@ Name: qt Name: qt4 %endif Version: 4.4.0 -Release: 0.3.%{pre_tag}%{?dist} +Release: 0.4.%{pre_tag}%{?dist} # GPLv2 exceptions(see GPL_EXCEPTIONS*.txt) License: GPLv3 or GPLv2 with exceptions or QPL @@ -785,6 +785,9 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: %changelog +* Tue Apr 08 2008 Kevin Kofler 4.4.0-0.4.rc1 +- updated patch for #437440 ([as-IN] Consonant combination issue) by Pravin Satpute + * Fri Apr 04 2008 Rex Dieter 4.4.0-0.3.rc1 - qt-4.4.0-rc1 - -xmlpatterns (and drop -no-exceptions)