From f5250fcf997ddc1031c386ee1f2e7cb4d4f61c66 Mon Sep 17 00:00:00 2001 From: Caolan McNamara Date: Thu, 21 Dec 2006 09:30:55 +0000 Subject: [PATCH] Resolves: rhbz#220433 modify icu.icu5431.malayam.patch --- icu.icu5431.malayam.patch | 42 +++++++++++++++++++++++++++++++++------ icu.spec | 5 ++++- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/icu.icu5431.malayam.patch b/icu.icu5431.malayam.patch index 5a72832..b2910af 100644 --- a/icu.icu5431.malayam.patch +++ b/icu.icu5431.malayam.patch @@ -1,6 +1,5 @@ -diff -ru icu.orig/source/layout/IndicReordering.cpp icu/source/layout/IndicReordering.cpp ---- icu.orig/source/layout/IndicReordering.cpp 2006-10-03 13:41:18.000000000 +0100 -+++ icu/source/layout/IndicReordering.cpp 2006-10-03 13:54:11.000000000 +0100 +--- icu.orig/source/layout/IndicReordering.cpp 2006-12-21 09:24:42.000000000 +0000 ++++ icu/source/layout/IndicReordering.cpp 2006-12-21 09:16:15.000000000 +0000 @@ -50,6 +50,14 @@ #define distFeatureMask 0x00010000UL #define initFeatureMask 0x00008000UL @@ -58,19 +57,50 @@ diff -ru icu.orig/source/layout/IndicReordering.cpp icu/source/layout/IndicReord static const FeatureMap featureMap[] = { {loclFeatureTag, loclFeatureMask}, -@@ -629,6 +651,15 @@ +@@ -629,6 +651,20 @@ output.writeChar(chars[i], i, tagArray4); } -+ /* for the special conjuction of Cons+0x0d4d+0x0d31 of Malayalam */ ++ /* for the special conjuction of Cons+0x0d4d+0x0d31 or Cons+0x0d4d+0x0d30 of Malayalam */ + if ((baseConsonant - 2 >= 0) && + (chars[baseConsonant - 1] == 0x0d4d) && -+ (chars[baseConsonant] == 0x0d31) && ++ ((chars[baseConsonant] == 0x0d31) || ++ (chars[baseConsonant] == 0x0d30)) && + ((chars[baseConsonant - 2] >= 0x0d15) && + (chars[baseConsonant - 2] <= 0x0d39))) { ++ + output.swapChars(-1, -3); ++ ++ if (mpreFixups) ++ mpreFixups->reduce(); + } + if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) { output.writeMbelow(); output.writeSMbelow(); // FIXME: there are no SMs in these scripts... +--- icu.orig/source/layout/MPreFixups.h 2006-11-10 09:42:47.000000000 +0000 ++++ icu/source/layout/MPreFixups.h 2006-12-21 09:13:47.000000000 +0000 +@@ -31,6 +31,8 @@ + + void apply(LEGlyphStorage &glyphStorage); + ++ void reduce(); ++ + private: + FixupData *fFixupData; + le_int32 fFixupCount; +--- icu.orig/source/layout/MPreFixups.cpp 2006-11-10 09:42:47.000000000 +0000 ++++ icu/source/layout/MPreFixups.cpp 2006-12-21 09:16:33.000000000 +0000 +@@ -40,6 +40,12 @@ + } + } + ++void MPreFixups::reduce() ++{ ++ if (fFixupCount > 0) ++ fFixupCount--; ++} ++ + void MPreFixups::apply(LEGlyphStorage &glyphStorage) + { + for (le_int32 fixup = 0; fixup < fFixupCount; fixup += 1) { diff --git a/icu.spec b/icu.spec index ad0c901..89d2088 100644 --- a/icu.spec +++ b/icu.spec @@ -1,6 +1,6 @@ Name: icu Version: 3.6 -Release: 12 +Release: 13 Summary: International Components for Unicode Group: System Environment/Libraries @@ -152,6 +152,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Dec 21 2006 Caolan McNamara - 3.6-13 +- Resolves: rhbz#220433 modify icu.icu5431.malayam.patch + * Fri Nov 10 2006 Caolan McNamara - 3.6-12 - Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch