[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