Resolves: rhbz#220433 modify icu.icu5431.malayam.patch

This commit is contained in:
Caolan McNamara 2006-12-21 09:30:55 +00:00
parent 02c17885cc
commit f5250fcf99
2 changed files with 40 additions and 7 deletions

View File

@ -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) {

View File

@ -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 <caolanm@redhat.com> - 3.6-13
- Resolves: rhbz#220433 modify icu.icu5431.malayam.patch
* Fri Nov 10 2006 Caolan McNamara <caolanm@redhat.com> - 3.6-12
- Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch