summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic')
-rw-r--r--Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic30
1 files changed, 12 insertions, 18 deletions
diff --git a/Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic b/Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic
index da8d5372919..5aefbcead1d 100644
--- a/Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic
+++ b/Build/source/libs/icu/icu-49.1-PATCHES/patch-70-Arabic
@@ -1,6 +1,6 @@
diff -ur icu-49.rc.orig/source/layout/ArabicShaping.cpp icu-49.rc/source/layout/ArabicShaping.cpp
--- icu-49.rc.orig/source/layout/ArabicShaping.cpp 2012-03-02 23:14:54.000000000 +0100
-+++ icu-49.rc/source/layout/ArabicShaping.cpp 2012-03-03 17:37:09.000000000 +0100
++++ icu-49.rc/source/layout/ArabicShaping.cpp 2012-03-15 09:11:30.000000000 +0100
@@ -24,6 +24,31 @@
ArabicShaping::ST_TRANSPARENT // [T]
};
@@ -33,32 +33,26 @@ diff -ur icu-49.rc.orig/source/layout/ArabicShaping.cpp icu-49.rc/source/layout/
/*
shaping array holds types for Arabic chars between 0610 and 0700
other values are either unshaped, or transparent if a mark or format
-@@ -36,17 +61,32 @@
+@@ -36,6 +61,18 @@
const ClassDefinitionTable *joiningTypes = (const ClassDefinitionTable *) ArabicShaping::shapingTypeTable;
le_int32 joiningType = joiningTypes->getGlyphClass(c);
-- if (joiningType >= 0 && joiningType < ArabicShaping::JT_COUNT) {
-- return ArabicShaping::shapeTypes[joiningType];
-+ if (joiningType == JT_RIGHT_JOINING) { // check for Syriac exceptions ALAPH, DALATH, RISH
++ if (joiningType == ArabicShaping::JT_RIGHT_JOINING) { // check for Syriac exceptions ALAPH, DALATH, RISH
+ if (c == 0x0710)
-+ return ST_ALAPH;
++ return ArabicShaping::ST_ALAPH;
+ if (c == 0x0715 || c == 0x0716 || c == 0x072A || c == 0x072F)
-+ return ST_DALATH_RISH;
- }
-
-- return ArabicShaping::ST_NOSHAPE_NONE;
-+ if (joiningType == 0) { // check for Mongolian range, not supported by ArabicShaping::shapingTypeTable
-+ if (c >= 0x1800 && c <= 0x18af)
-+ return mongolianTypes[c - 0x1800];
++ return ArabicShaping::ST_DALATH_RISH;
+ }
+
-+ if (joiningType >= 0 && joiningType < JT_COUNT) {
-+ return shapeTypes[joiningType];
++ if (joiningType == 0) { // check for Mongolian range, not supported by ArabicShaping::shapingTypeTable
++ if (c >= 0x1800 && c <= 0x18af)
++ return ArabicShaping::mongolianTypes[c - 0x1800];
+ }
+
-+ return ST_NOSHAPE_NONE;
- }
-
+ if (joiningType >= 0 && joiningType < ArabicShaping::JT_COUNT) {
+ return ArabicShaping::shapeTypes[joiningType];
+ }
+@@ -46,7 +83,10 @@
#define isolFeatureTag LE_ISOL_FEATURE_TAG
#define initFeatureTag LE_INIT_FEATURE_TAG
#define mediFeatureTag LE_MEDI_FEATURE_TAG