Resolves: rhbz#966141 various flaws in Layout Engine font processing

Applies ICU layout "patch", adapts existing patch and adds patch for
https://ssl.icu-project.org/trac/ticket/10143
This commit is contained in:
Eike Rathke 2013-07-17 12:11:34 +02:00
parent 233661ec99
commit fa01eb34f9
5 changed files with 33 additions and 11 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/icu4c-5*-src.tgz
/icu-51-layout-fix-10107.tgz
/icu-config.sh

View File

@ -0,0 +1,11 @@
diff -ru orig.icu/source/layout/LayoutEngine.cpp icu/source/layout/LayoutEngine.cpp
--- orig.icu/source/layout/LayoutEngine.cpp 2013-04-18 23:32:39.000000000 +0200
+++ icu/source/layout/LayoutEngine.cpp 2013-07-17 01:52:18.208537348 +0200
@@ -512,7 +512,6 @@
{
if(fGlyphStorage!=NULL) {
fGlyphStorage->reset();
- fGlyphStorage = NULL;
}
}

View File

@ -1,14 +1,14 @@
diff -urN icu.old/source/layout/LookupProcessor.cpp icu/source/layout/LookupProcessor.cpp
--- icu.old/source/layout/LookupProcessor.cpp 2011-09-05 18:35:11.221515458 +0200
+++ icu/source/layout/LookupProcessor.cpp 2011-09-05 18:41:30.021510913 +0200
@@ -201,7 +201,9 @@
diff -ru orig.icu/source/layout/LookupProcessor.cpp icu/source/layout/LookupProcessor.cpp
--- orig.icu/source/layout/LookupProcessor.cpp 2013-04-18 23:32:30.000000000 +0200
+++ icu/source/layout/LookupProcessor.cpp 2013-07-17 01:09:57.792635999 +0200
@@ -220,7 +220,9 @@
if (requiredFeatureIndex != 0xFFFF) {
requiredFeatureTable = featureListTable->getFeatureTable(requiredFeatureIndex, &requiredFeatureTag);
- featureReferences += SWAPW(featureTable->lookupCount);
+ if (requiredFeatureTable) {
+ featureReferences += SWAPW(requiredFeatureTable->lookupCount);
+ }
requiredFeatureTable = featureListTable->getFeatureTable(featureListTable, requiredFeatureIndex, &requiredFeatureTag, success);
- featureReferences += SWAPW(featureTable->lookupCount);
+ if (requiredFeatureTable.isValid()) {
+ featureReferences += SWAPW(requiredFeatureTable->lookupCount);
+ }
}
lookupOrderArray = LE_NEW_ARRAY(le_uint16, featureReferences);

View File

@ -1,12 +1,15 @@
Name: icu
Version: 50.1.2
Release: 5%{?dist}
Release: 6%{?dist}
Summary: International Components for Unicode
Group: Development/Tools
License: MIT and UCD and Public Domain
URL: http://www.icu-project.org/
Source0: http://download.icu-project.org/files/icu4c/50.1.2/icu4c-50_1_2-src.tgz
Source1: icu-config.sh
# According to ICU the layout "patch" should be applied to all versions earlier than 51.2
# See also http://site.icu-project.org/download/51#TOC-Known-Issues
Source1: http://download.icu-project.org/files/icu4c/51.1/icu-51-layout-fix-10107.tgz
Source2: icu-config.sh
BuildRequires: doxygen, autoconf, python
Requires: lib%{name} = %{version}-%{release}
@ -16,6 +19,7 @@ Patch3: icu.7601.Indic-ccmp.patch
Patch4: icu.9948.mlym-crash.patch
Patch5: gennorm2-man.patch
Patch6: icuinfo-man.patch
Patch7: icu.10143.memory.leak.crash.patch
%description
Tools and utilities for developing with icu.
@ -58,12 +62,14 @@ BuildArch: noarch
%prep
%setup -q -n %{name}
%setup -q -n %{name} -T -D -a 1
%patch1 -p2 -R -b .icu8198.revert.icu5431.patch
%patch2 -p1 -b .icu8800.freeserif.crash.patch
%patch3 -p1 -b .icu7601.Indic-ccmp.patch
%patch4 -p1 -b .icu9948.mlym-crash.patch
%patch5 -p1 -b .gennorm2-man.patch
%patch6 -p1 -b .icuinfo-man.patch
%patch7 -p1 -b .icu10143.memory.leak.crash.patch
%build
cd source
@ -171,6 +177,9 @@ make %{?_smp_mflags} -C source check
%doc source/__docs/%{name}/html/*
%changelog
* Wed Jul 17 2013 Eike Rathke <erack@redhat.com> - 50.1.2-6
- Resolves: rhbz#966141 various flaws in Layout Engine font processing
* Mon Feb 25 2013 Eike Rathke <erack@redhat.com> - 50.1.2-5
- added manpages for gennorm2 and icuinfo, rhbz#884035 related

View File

@ -1,2 +1,3 @@
beb98aa972219c9fcd9c8a71314943c9 icu4c-50_1_2-src.tgz
7650341b04f05ff2595bf064f3e41f41 icu-51-layout-fix-10107.tgz
d28e7ab76e0f77044153f3bfd18880c2 icu-config.sh