[PATCH 1/3] gdi32/uniscribe: Merge Arabic joining types C and D.

Nikolay Sivov nsivov at codeweavers.com
Wed Jan 20 06:35:14 CST 2021


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

Types C and D are not distinguished by current implementation,
HarfBuzz does the same with them. The point of values reassignment
is to match values used in HarfBuzz, making it easier to reuse state
handling logic.

 dlls/gdi32/uniscribe/shape.c   |  21 ++-
 dlls/gdi32/uniscribe/shaping.c | 314 ++++++++++++++++-----------------
 tools/make_unicode             |  14 +-
 3 files changed, 177 insertions(+), 172 deletions(-)

diff --git a/dlls/gdi32/uniscribe/shape.c b/dlls/gdi32/uniscribe/shape.c
index 96e2ffce014..843d670f1e9 100644
--- a/dlls/gdi32/uniscribe/shape.c
+++ b/dlls/gdi32/uniscribe/shape.c
@@ -89,13 +89,16 @@ extern const unsigned short indic_syllabic_table[] DECLSPEC_HIDDEN;
 extern const unsigned short wine_shaping_table[] DECLSPEC_HIDDEN;
 extern const unsigned short wine_shaping_forms[LAST_ARABIC_CHAR - FIRST_ARABIC_CHAR + 1][4] DECLSPEC_HIDDEN;
 
-enum joining_types {
-    jtU,
-    jtT,
-    jtR,
-    jtL,
-    jtD,
-    jtC
+enum joining_types
+{
+    jtU = 0,
+    jtL = 1,
+    jtR = 2,
+    jtD = 3,
+    jtC = jtD,
+    jgALAPH = 4,
+    jgDALATH_RISH = 5,
+    jtT = 6,
 };
 
 enum joined_forms {
@@ -988,12 +991,12 @@ static CHAR neighbour_joining_type(int i, int delta, const CHAR* context_type, I
 
 static inline BOOL right_join_causing(CHAR joining_type)
 {
-    return (joining_type == jtL || joining_type == jtD || joining_type == jtC);
+    return joining_type == jtL || joining_type == jtD;
 }
 
 static inline BOOL left_join_causing(CHAR joining_type)
 {
-    return (joining_type == jtR || joining_type == jtD || joining_type == jtC);
+    return joining_type == jtR || joining_type == jtD;
 }
 
 static inline BOOL word_break_causing(WCHAR chr)
diff --git a/dlls/gdi32/uniscribe/shaping.c b/dlls/gdi32/uniscribe/shaping.c
index e6a9ea39979..9779eb606d2 100644
--- a/dlls/gdi32/uniscribe/shaping.c
+++ b/dlls/gdi32/uniscribe/shaping.c
@@ -110,175 +110,175 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2161] =
     /* values */
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0104, 0x0000, 0x0202, 0x0202, 0x0302, 0x0202, 0x0104,
-    0x0202, 0x0404, 0x0502, 0x0404, 0x0404, 0x0604, 0x0604, 0x0604,
-    0x0702, 0x0802, 0x0802, 0x0904, 0x0904, 0x0a04, 0x0a04, 0x0b04,
-    0x0b04, 0x0c04, 0x0c04, 0x0d04, 0x0d04, 0x0e04, 0x0e04, 0x0e04,
-    0x0005, 0x0f04, 0x1004, 0x1104, 0x1204, 0x1304, 0x1404, 0x1504,
-    0x0302, 0x0104, 0x0104, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0103, 0x0000, 0x0202, 0x0202, 0x0302, 0x0202, 0x0103,
+    0x0202, 0x0403, 0x0502, 0x0403, 0x0403, 0x0603, 0x0603, 0x0603,
+    0x0702, 0x0802, 0x0802, 0x0903, 0x0903, 0x0a03, 0x0a03, 0x0b03,
+    0x0b03, 0x0c03, 0x0c03, 0x0d03, 0x0d03, 0x0e03, 0x0e03, 0x0e03,
+    0x0003, 0x0f03, 0x1003, 0x1103, 0x1203, 0x1303, 0x1403, 0x1503,
+    0x0302, 0x0103, 0x0103, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404, 0x1004,
-    0x0001, 0x0202, 0x0202, 0x0202, 0x0000, 0x0202, 0x0302, 0x0302,
-    0x0104, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404,
-    0x0604, 0x0604, 0x0604, 0x0604, 0x0604, 0x0604, 0x0604, 0x0702,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0403, 0x1003,
+    0x0006, 0x0202, 0x0202, 0x0202, 0x0000, 0x0202, 0x0302, 0x0302,
+    0x0103, 0x0403, 0x0403, 0x0403, 0x0403, 0x0403, 0x0403, 0x0403,
+    0x0603, 0x0603, 0x0603, 0x0603, 0x0603, 0x0603, 0x0603, 0x0702,
     0x0702, 0x0702, 0x0702, 0x0702, 0x0702, 0x0702, 0x0702, 0x0802,
     0x0802, 0x0802, 0x0802, 0x0802, 0x0802, 0x0802, 0x0802, 0x0802,
-    0x0904, 0x0904, 0x0904, 0x0a04, 0x0a04, 0x0b04, 0x0c04, 0x0f04,
-    0x0f04, 0x0f04, 0x0f04, 0x0f04, 0x0f04, 0x1004, 0x1004, 0x0d04,
-    0x1604, 0x0d04, 0x1104, 0x1104, 0x1104, 0x0d04, 0x0d04, 0x0d04,
-    0x0d04, 0x0d04, 0x1204, 0x1204, 0x1204, 0x1204, 0x1404, 0x1404,
-    0x1404, 0x1404, 0x1704, 0x1804, 0x0604, 0x0502, 0x1504, 0x1504,
+    0x0903, 0x0903, 0x0903, 0x0a03, 0x0a03, 0x0b03, 0x0c03, 0x0f03,
+    0x0f03, 0x0f03, 0x0f03, 0x0f03, 0x0f03, 0x1003, 0x1003, 0x0d03,
+    0x1603, 0x0d03, 0x1103, 0x1103, 0x1103, 0x0d03, 0x0d03, 0x0d03,
+    0x0d03, 0x0d03, 0x1203, 0x1203, 0x1203, 0x1203, 0x1403, 0x1403,
+    0x1403, 0x1403, 0x1703, 0x1803, 0x0603, 0x0502, 0x1503, 0x1503,
     0x0502, 0x0302, 0x0302, 0x0302, 0x0302, 0x0302, 0x0302, 0x0302,
-    0x0302, 0x0e04, 0x0102, 0x0e04, 0x0302, 0x0104, 0x0104, 0x0102,
-    0x0102, 0x0000, 0x0502, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0702, 0x0802, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0904,
-    0x0a04, 0x0c04, 0x0000, 0x0000, 0x1804, 0x1902, 0x0001, 0x1a04,
-    0x1b04, 0x1b04, 0x1c02, 0x1c02, 0x1d02, 0x1e02, 0x1f02, 0x2004,
-    0x2104, 0x2104, 0x2204, 0x2202, 0x2304, 0x2404, 0x2504, 0x2604,
-    0x2704, 0x2804, 0x2904, 0x2a04, 0x2b04, 0x2c02, 0x2d04, 0x1c02,
-    0x2e04, 0x2f02, 0x1a04, 0x1b04, 0x1c02, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0000, 0x3002, 0x3104, 0x3204, 0x0404, 0x0404, 0x0404,
-    0x0404, 0x0404, 0x0404, 0x0404, 0x0604, 0x0604, 0x0702, 0x0702,
-    0x0802, 0x0904, 0x0c04, 0x0c04, 0x0c04, 0x0f04, 0x0f04, 0x0d04,
-    0x0d04, 0x0d04, 0x1304, 0x1304, 0x1404, 0x1404, 0x1404, 0x1204,
-    0x0802, 0x0802, 0x0904, 0x0604, 0x0604, 0x0904, 0x0802, 0x0604,
-    0x0202, 0x0202, 0x0e04, 0x0e04, 0x0104, 0x0302, 0x0302, 0x3304,
-    0x3304, 0x0604, 0x0904, 0x0904, 0x1104, 0x0001, 0x0000, 0x0000,
+    0x0302, 0x0e03, 0x0102, 0x0e03, 0x0302, 0x0103, 0x0103, 0x0102,
+    0x0102, 0x0000, 0x0502, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0702, 0x0802, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0903,
+    0x0a03, 0x0c03, 0x0000, 0x0000, 0x1803, 0x1902, 0x0006, 0x1a03,
+    0x1b03, 0x1b03, 0x1c02, 0x1c02, 0x1d02, 0x1e02, 0x1f02, 0x2003,
+    0x2103, 0x2103, 0x2203, 0x2202, 0x2303, 0x2403, 0x2503, 0x2603,
+    0x2703, 0x2803, 0x2903, 0x2a03, 0x2b03, 0x2c02, 0x2d03, 0x1c02,
+    0x2e03, 0x2f02, 0x1a03, 0x1b03, 0x1c02, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0000, 0x3002, 0x3103, 0x3203, 0x0403, 0x0403, 0x0403,
+    0x0403, 0x0403, 0x0403, 0x0403, 0x0603, 0x0603, 0x0702, 0x0702,
+    0x0802, 0x0903, 0x0c03, 0x0c03, 0x0c03, 0x0f03, 0x0f03, 0x0d03,
+    0x0d03, 0x0d03, 0x1303, 0x1303, 0x1403, 0x1403, 0x1403, 0x1203,
+    0x0802, 0x0802, 0x0903, 0x0603, 0x0603, 0x0903, 0x0802, 0x0603,
+    0x0202, 0x0202, 0x0e03, 0x0e03, 0x0103, 0x0302, 0x0302, 0x3303,
+    0x3303, 0x0603, 0x0903, 0x0903, 0x1103, 0x0006, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0005, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
-    0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0002, 0x0002,
-    0x0004, 0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0002, 0x0004, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x3404, 0x3400, 0x3404, 0x3404,
-    0x3404, 0x3404, 0x3400, 0x3402, 0x3404, 0x3402, 0x3402, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0404, 0x0404, 0x0604, 0x0b04,
-    0x0f04, 0x1004, 0x1204, 0x1304, 0x0104, 0x0104, 0x0802, 0x0302,
-    0x3502, 0x0000, 0x0702, 0x0a04, 0x0d04, 0x3602, 0x0802, 0x0c04,
-    0x1104, 0x0000, 0x0404, 0x0404, 0x0404, 0x0802, 0x0104, 0x3704,
-    0x3704, 0x3704, 0x0404, 0x0404, 0x0604, 0x0d04, 0x0c04, 0x3704,
-    0x0604, 0x0604, 0x1204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0003,
+    0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
+    0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0003, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000,
+    0x0002, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0002, 0x0002,
+    0x0003, 0x0002, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
+    0x0002, 0x0003, 0x0002, 0x0002, 0x0002, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x3403, 0x3400, 0x3403, 0x3403,
+    0x3403, 0x3403, 0x3400, 0x3402, 0x3403, 0x3402, 0x3402, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0403, 0x0403, 0x0603, 0x0b03,
+    0x0f03, 0x1003, 0x1203, 0x1303, 0x0103, 0x0103, 0x0802, 0x0302,
+    0x3502, 0x0000, 0x0702, 0x0a03, 0x0d03, 0x3602, 0x0802, 0x0c03,
+    0x1103, 0x0000, 0x0403, 0x0403, 0x0403, 0x0802, 0x0103, 0x3703,
+    0x3703, 0x3703, 0x0403, 0x0403, 0x0603, 0x0d03, 0x0c03, 0x3703,
+    0x0603, 0x0603, 0x1203, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
-    0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000,
+    0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0000, 0x0006, 0x0000, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
-    0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
-    0x0001, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0001, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0000,
+    0x0000, 0x0003, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0003,
+    0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
+    0x0006, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
+    0x0003, 0x0003, 0x0006, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001,
-    0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006,
+    0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004,
-    0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
-    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
-    0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001,
+    0x0000, 0x0006, 0x0000, 0x0003, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003,
+    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006,
+    0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006,
+    0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
-    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
+    0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000,
+    0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0006, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000
 };
 
diff --git a/tools/make_unicode b/tools/make_unicode
index 02bb0afdb66..ace19592a52 100755
--- a/tools/make_unicode
+++ b/tools/make_unicode
@@ -417,12 +417,14 @@ my %bidi_types =
 
 my %joining_types =
 (
-   "U" => 0,    # Non_Joining
-   "T" => 1,    # Transparent
-   "R" => 2,    # Right_Joining
-   "L" => 3,    # Left_Joining
-   "D" => 4,    # Dual_Joining
-   "C" => 5,    # Join_Causing
+   "U" => 0,           # Non_Joining
+   "L" => 1,           # Left_Joining
+   "R" => 2,           # Right_Joining
+   "D" => 3,           # Dual_Joining
+   "C" => 3,           # Join_Causing
+   "ALAPH" => 4,       # Syriac ALAPH
+   "DALATH RISH" => 5, # Syriac DALATH RISH group
+   "T" => 6,           # Transparent
 );
 
 my @cp2uni = ();
-- 
2.29.2




More information about the wine-devel mailing list