summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2012-05-23 19:02:28 +0300
committerQt by Nokia <qt-info@nokia.com>2012-05-30 01:54:45 +0200
commitc16455dbcf7aae140524b391c99b97a7b10b41dc (patch)
tree9104bce0f782f15281a9b28a647e607d116d01d8 /src/3rdparty
parentde255a8caf26dc29d5b2d978274638a6aa4c57b7 (diff)
Re-generate the Arabic joining tables from UCD 6.1.0
Some names were fixed to meet their values in the Unicode data files (e.g. Zain -> Zhain); Some other names were added as a value alias (Nya -> Noon) or deprecated but retained as a value alias for BC (HamzaOnHehGoal -> TehMarbutaGoal); Newly assigned Arabic characters were mapped into respective joining types and classes) Change-Id: Ic4b4a6baf70f51fb5936f74fe9a173b8790dda11 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-arabic.c69
1 files changed, 36 insertions, 33 deletions
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c b/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
index 3837087f44..d478f0484c 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
@@ -65,12 +65,14 @@ typedef enum {
/* Dual */
Beh,
Noon,
+ Nya = Noon,
Meem = Noon,
Heh = Noon,
KnottedHeh = Noon,
HehGoal = Noon,
SwashKaf = Noon,
Yeh,
+ FarsiYeh = Yeh,
Hah,
Seen,
Sad = Seen,
@@ -87,9 +89,10 @@ typedef enum {
Dal,
TehMarbuta = Dal,
Reh,
- HamzaOnHehGoal,
- YehWithTail = HamzaOnHehGoal,
- YehBarre = HamzaOnHehGoal,
+ TehMarbutaGoal,
+ HamzaOnHehGoal = TehMarbutaGoal, /* has been retained as a property value alias */
+ YehWithTail = TehMarbutaGoal,
+ YehBarree = TehMarbutaGoal,
/* Syriac */
/* Dual */
@@ -98,12 +101,12 @@ typedef enum {
Heth = Noon,
Teth = Hah,
Yudh = Noon,
- Kaph = Noon,
+ Khaph = Noon,
Lamadh = Lam,
Mim = Noon,
Nun = Noon,
- Semakh = Noon,
- FinalSemakh = Noon,
+ Semkath = Noon,
+ FinalSemkath = Noon,
SyriacE = Ain,
Pe = Ain,
ReversedPe = Hah,
@@ -113,16 +116,16 @@ typedef enum {
/* Right */
Alaph = Alef,
- Dalath = Dal,
+ DalathRish = Dal,
He = Dal,
SyriacWaw = Waw,
- Zain = Alef,
+ Zhain = Alef,
YudhHe = Waw,
- Sadhe = HamzaOnHehGoal,
+ Sadhe = TehMarbutaGoal,
Taw = Dal,
/* Compiler bug? Otherwise ArabicGroupsEnd would be equal to Dal + 1. */
- Dummy = HamzaOnHehGoal,
+ Dummy = TehMarbutaGoal,
ArabicGroupsEnd
} ArabicGroup;
@@ -133,19 +136,19 @@ static const unsigned char arabic_group[0x150] = {
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
Transparent, Transparent, Transparent, Transparent,
- Transparent, Transparent, ArabicNone, ArabicNone,
- ArabicNone, ArabicNone, ArabicNone, ArabicNone,
+ Transparent, Transparent, Transparent, Transparent,
+ Transparent, Transparent, Transparent, ArabicNone,
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
- ArabicNone, ArabicNone, Alef, Alef,
+ Yeh, ArabicNone, Alef, Alef,
Waw, Alef, Yeh, Alef,
Beh, TehMarbuta, Beh, Beh,
Hah, Hah, Hah, Dal,
Dal, Reh, Reh, Seen,
Seen, Sad, Sad, Tah,
- Tah, Ain, Ain, ArabicNone,
- ArabicNone, ArabicNone, ArabicNone, ArabicNone,
+ Tah, Ain, Ain, Gaf,
+ Gaf, FarsiYeh, FarsiYeh, FarsiYeh,
/* 0x640 */
Kashida, Feh, Qaf, Kaf,
@@ -155,8 +158,8 @@ static const unsigned char arabic_group[0x150] = {
Transparent, Transparent, Transparent, Transparent,
Transparent, Transparent, Transparent, Transparent,
- Transparent, ArabicNone, ArabicNone, ArabicNone,
- ArabicNone, ArabicNone, ArabicNone, ArabicNone,
+ Transparent, Transparent, Transparent, Transparent,
+ Transparent, Transparent, Transparent, Transparent,
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
@@ -187,15 +190,15 @@ static const unsigned char arabic_group[0x150] = {
Gaf, Gaf, Gaf, Gaf,
Gaf, Lam, Lam, Lam,
Lam, Noon, Noon, Noon,
- Noon, Noon, KnottedHeh, Hah,
+ Noon, Nya, KnottedHeh, Hah,
/* 0x6c0 */
- TehMarbuta, HehGoal, HamzaOnHehGoal, HamzaOnHehGoal,
+ TehMarbuta, HehGoal, HehGoal, TehMarbutaGoal,
Waw, Waw, Waw, Waw,
Waw, Waw, Waw, Waw,
- Yeh, YehWithTail, Yeh, Waw,
+ FarsiYeh, YehWithTail, FarsiYeh, Waw,
- Yeh, Yeh, YehBarre, YehBarre,
+ Yeh, Yeh, YehBarree, YehBarree,
ArabicNone, TehMarbuta, Transparent, Transparent,
Transparent, Transparent, Transparent, Transparent,
Transparent, ArabicNone, ArabicNone, Transparent,
@@ -214,17 +217,17 @@ static const unsigned char arabic_group[0x150] = {
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
ArabicNone, ArabicNone, ArabicNone, ArabicNone,
- ArabicNone, ArabicNone, ArabicNone, ArabicNone,
+ ArabicNone, ArabicNone, ArabicNone, Transparent,
Alaph, Transparent, Beth, Gamal,
- Gamal, Dalath, Dalath, He,
- SyriacWaw, Zain, Heth, Teth,
- Teth, Yudh, YudhHe, Kaph,
+ Gamal, DalathRish, DalathRish, He,
+ SyriacWaw, Zhain, Heth, Teth,
+ Teth, Yudh, YudhHe, Khaph,
- Lamadh, Mim, Nun, Semakh,
- FinalSemakh, SyriacE, Pe, ReversedPe,
- Sadhe, Qaph, Dalath, Shin,
- Taw, Beth, Gamal, Dalath,
+ Lamadh, Mim, Nun, Semkath,
+ FinalSemkath, SyriacE, Pe, ReversedPe,
+ Sadhe, Qaph, DalathRish, Shin,
+ Taw, Beth, Gamal, DalathRish,
Transparent, Transparent, Transparent, Transparent,
Transparent, Transparent, Transparent, Transparent,
@@ -234,7 +237,7 @@ static const unsigned char arabic_group[0x150] = {
Transparent, Transparent, Transparent, Transparent,
Transparent, Transparent, Transparent, Transparent,
Transparent, Transparent, Transparent, ArabicNone,
- ArabicNone, Zain, Kaph, Fe,
+ ArabicNone, Zhain, Khaph, Fe,
};
static ArabicGroup arabicGroup(unsigned short uc)
@@ -313,7 +316,7 @@ static const Joining joining_for_group[ArabicGroupsEnd] = {
JRight, /* Waw */
JRight, /* Dal */
JRight, /* Reh */
- JRight /* HamzaOnHehGoal */
+ JRight /* TehMarbutaGoal */
};
@@ -471,7 +474,7 @@ static void getArabicProperties(const unsigned short *chars, int len, HB_ArabicP
case Noon:
case Beh:
- case HamzaOnHehGoal:
+ case TehMarbutaGoal:
lastGroup = Noon;
break;
case ArabicGroupsEnd:
@@ -604,7 +607,7 @@ static const hb_uint16 arabicUnicodeMapping[256][2] = {
{ 0xFEAB, 1 }, /* 0x0630 R THAL */
{ 0xFEAD, 1 }, /* 0x0631 R REH */
- { 0xFEAF, 1 }, /* 0x0632 R ZAIN */
+ { 0xFEAF, 1 }, /* 0x0632 R ZHAIN */
{ 0xFEB1, 3 }, /* 0x0633 D SEEN */
{ 0xFEB5, 3 }, /* 0x0634 D SHEEN */
{ 0xFEB9, 3 }, /* 0x0635 D SAD */