[qt] - fix bz#562049, bn-IN Incorrect rendering - fix bz#562058, bn_IN init feature is not applied proper

Than Ngo than at fedoraproject.org
Thu Sep 23 13:09:03 UTC 2010


commit a6175d5a7aaff03388ab631f27d384edfac0b00f
Author: Than Ngo <than at redhat.com>
Date:   Thu Sep 23 15:07:58 2010 +0200

    - fix bz#562049, bn-IN Incorrect rendering
    - fix bz#562058, bn_IN init feature is not applied properly
    - fix bz#631732, indic invalid syllable's are not recognized properly
    - fix bz#636399, oriya script open type features are not applied properly

 qt-4.6.3-bn-rendering-bz562049.patch    |   15 +++++++++++++++
 qt-4.6.3-bn-rendering-bz562058.patch    |   12 ++++++++++++
 qt-4.6.3-indic-rendering-bz631732.patch |   14 ++++++++++++++
 qt-4.6.3-indic-rendering-bz636399.patch |   30 ++++++++++++++++++++++++++++++
 qt.spec                                 |   17 ++++++++++++++++-
 5 files changed, 87 insertions(+), 1 deletions(-)
---
diff --git a/qt-4.6.3-bn-rendering-bz562049.patch b/qt-4.6.3-bn-rendering-bz562049.patch
new file mode 100644
index 0000000..0e562e4
--- /dev/null
+++ b/qt-4.6.3-bn-rendering-bz562049.patch
@@ -0,0 +1,15 @@
+diff -rup qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+--- qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-06-02 07:33:13.000000000 +0530
++++ qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-09-04 13:27:33.000000000 +0530
+@@ -1741,6 +1741,11 @@ static int indic_nextSyllableBoundary(HB
+  	    if (state == Halant && uc[pos] == 0x200d /* ZWJ */)
+   		break;
+             // the control character should be the last char in the item
++ 	    if (state == Consonant && script == HB_Script_Bengali && uc[pos-1] == 0x09B0 && uc[pos] == 0x200d /* ZWJ */)
++  		break;
++ 	    if (state == Consonant && script == HB_Script_Kannada && uc[pos-1] == 0x0CB0 && uc[pos] == 0x200d /* ZWJ */)
++  		break;
++            // Bengali and Kannada has a special exception for rendering yaphala with ra (to avoid reph) see http://www.unicode.org/faq/indic.html#15
+             ++pos;
+             goto finish;
+         case Consonant:
diff --git a/qt-4.6.3-bn-rendering-bz562058.patch b/qt-4.6.3-bn-rendering-bz562058.patch
new file mode 100644
index 0000000..ee76927
--- /dev/null
+++ b/qt-4.6.3-bn-rendering-bz562058.patch
@@ -0,0 +1,12 @@
+diff -rup qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+--- qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-06-30 07:23:12.000000000 +0530
++++ qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-09-22 14:33:33.000000000 +0530
+@@ -37,7 +37,7 @@ static HB_Bool isLetter(HB_UChar16 ucs)
+                      FLAG(HB_Letter_Titlecase) |
+                      FLAG(HB_Letter_Modifier) |
+                      FLAG(HB_Letter_Other);
+-    return FLAG(HB_GetUnicodeCharCategory(ucs)) & test;
++    return (FLAG(HB_GetUnicodeCharCategory(ucs)) &  test) != 0;
+ }
+ 
+ static HB_Bool isMark(HB_UChar16 ucs)
diff --git a/qt-4.6.3-indic-rendering-bz631732.patch b/qt-4.6.3-indic-rendering-bz631732.patch
new file mode 100644
index 0000000..507f876
--- /dev/null
+++ b/qt-4.6.3-indic-rendering-bz631732.patch
@@ -0,0 +1,14 @@
+diff -rup qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+--- qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-06-02 07:33:13.000000000 +0530
++++ qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-09-10 18:37:23.000000000 +0530
+@@ -1779,10 +1779,6 @@ static int indic_nextSyllableBoundary(HB
+         case Matra:
+             if (state == Consonant || state == Nukta)
+                 break;
+-            if (state == Matra) {
+-                // ### needs proper testing for correct two/three part matras
+-                break;
+-            }
+             // ### not sure if this is correct. If it is, does it apply only to Bengali or should
+             // it work for all Indic languages?
+             // the combination Independent_A + Vowel Sign AA is allowed.
diff --git a/qt-4.6.3-indic-rendering-bz636399.patch b/qt-4.6.3-indic-rendering-bz636399.patch
new file mode 100644
index 0000000..bf49f30
--- /dev/null
+++ b/qt-4.6.3-indic-rendering-bz636399.patch
@@ -0,0 +1,30 @@
+diff -rup qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+--- qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-06-30 07:23:12.000000000 +0530
++++ qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp	2010-09-20 11:40:58.000000000 +0530
+@@ -660,18 +660,18 @@ static const unsigned char indicPosition
+     None, None, None, None,
+ 
+     None, None, None, None,
+-    None, None, None, None,
+-    None, None, None, None,
+-    None, None, None, None,
++    None, Below, Below, Below,
++    Below, Below, Below, Below,
++    Below, Below, None, Below,
+ 
+-    None, None, None, None,
+-    Below, None, None, None,
+-    Below, None, None, None,
++    Below, Below, Below, Below,
++    Below, Below, Below, Below,
++    Below, None, Below, Below,
+     Below, Below, Below, Post,
+ 
+     Below, None, Below, Below,
+-    None, None, None, None,
+-    None, None, None, None,
++    None, Below, Below, Below,
++    Below, Below, None, None,
+     None, None, Post, Above,
+ 
+     Post, Below, Below, Below,
diff --git a/qt.spec b/qt.spec
index 54223dc..3c7fc5b 100644
--- a/qt.spec
+++ b/qt.spec
@@ -15,7 +15,7 @@ Summary: Qt toolkit
 Name:    qt
 Epoch:   1
 Version: 4.7.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
 License: LGPLv2 with exceptions or GPLv3 with exceptions
@@ -59,6 +59,11 @@ Patch55: qt-everywhere-opensource-src-4.6.2-cups.patch
 Patch56: qt-everywhere-opensource-src-4.7.0-beta1-s390x.patch
 # qtwebkit to search nspluginwrapper paths too
 Patch58: qt-everywhere-opensource-src-4.7.0-beta1-qtwebkit_pluginpath.patch
+# indic Incorrect rendering
+Patch59: qt-4.6.3-bn-rendering-bz562049.patch
+Patch60: qt-4.6.3-bn-rendering-bz562058.patch
+Patch61: qt-4.6.3-indic-rendering-bz631732.patch
+Patch62: qt-4.6.3-indic-rendering-bz636399.patch
 
 # security patches
 
@@ -415,6 +420,10 @@ Qt libraries used for drawing widgets and OpenGL items.
 %patch55 -p1 -b .cups-1
 %patch56 -p1 -b .s390x
 %patch58 -p1 -b .qtwebkit_pluginpath
+%patch59 -p1 -b .bn-rendering-bz562049
+%patch60 -p1 -b .bn-rendering-bz562058
+%patch61 -p1 -b .indic-rendering-bz631732
+%patch62 -p1 -b .indic-rendering-bz636399
 
 # security fixes
 
@@ -1087,6 +1096,12 @@ fi
 
 
 %changelog
+* Thu Sep 23 2010 Than Ngo <than at redhat.com> - 4.7.0-2
+- fix bz#562049, bn-IN Incorrect rendering
+- fix bz#562058, bn_IN init feature is not applied properly
+- fix bz#631732, indic invalid syllable's are not recognized properly
+- fix bz#636399, oriya script open type features are not applied properly
+
 * Tue Sep 21 2010 Than Ngo <than at redhat.com> - 4.7.0-1
 - 4.7.0
 


More information about the scm-commits mailing list