| Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh
|
| diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh
|
| index 80d50443546e3d28f05dd6250fa3a6f483d66799..736c7f76b369f8452c4f3e6c16ba585b375dc934 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh
|
| +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh
|
| @@ -6,10 +6,10 @@
|
| *
|
| * on files with these headers:
|
| *
|
| - * # ArabicShaping-8.0.0.txt
|
| - * # Date: 2015-02-17, 23:33:00 GMT [RP]
|
| - * # Blocks-8.0.0.txt
|
| - * # Date: 2014-11-10, 23:04:00 GMT [KW]
|
| + * # ArabicShaping-9.0.0.txt
|
| + * # Date: 2016-02-24, 22:25:00 GMT [RP]
|
| + * # Blocks-9.0.0.txt
|
| + * # Date: 2016-02-05, 23:48:00 GMT [KW]
|
| * UnicodeData.txt does not have a header.
|
| */
|
|
|
| @@ -19,6 +19,7 @@
|
|
|
| #define X JOINING_TYPE_X
|
| #define R JOINING_TYPE_R
|
| +#define T JOINING_TYPE_T
|
| #define U JOINING_TYPE_U
|
| #define A JOINING_GROUP_ALAPH
|
| #define DR JOINING_GROUP_DALATH_RISH
|
| @@ -76,9 +77,11 @@ static const uint8_t joining_table[] =
|
|
|
| /* Arabic Extended-A */
|
|
|
| - /* 08A0 */ D,D,D,D,D,D,D,D,D,D,R,R,R,U,R,D,D,R,R,D,D,
|
| + /* 08A0 */ D,D,D,D,D,D,D,D,D,D,R,R,R,U,R,D,D,R,R,D,D,X,D,D,D,R,D,D,D,D,X,X,
|
| + /* 08C0 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
|
| + /* 08E0 */ X,X,U,
|
|
|
| -#define joining_offset_0x1806u 693
|
| +#define joining_offset_0x1806u 739
|
|
|
| /* Mongolian */
|
|
|
| @@ -86,43 +89,48 @@ static const uint8_t joining_table[] =
|
| /* 1820 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| /* 1840 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| /* 1860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,X,X,X,X,X,X,X,X,
|
| - /* 1880 */ U,U,U,U,U,U,U,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| + /* 1880 */ U,U,U,U,U,T,T,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| /* 18A0 */ D,D,D,D,D,D,D,D,D,X,D,
|
|
|
| -#define joining_offset_0x200cu 858
|
| +#define joining_offset_0x200cu 904
|
|
|
| /* General Punctuation */
|
|
|
| - /* 2000 */ U,C,
|
| + /* 2000 */ U,C,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
|
| + /* 2020 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
|
| + /* 2040 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
|
| + /* 2060 */ X,X,X,X,X,X,U,U,U,U,
|
|
|
| -#define joining_offset_0x2066u 860
|
| -
|
| - /* General Punctuation */
|
| -
|
| - /* 2060 */ U,U,U,U,
|
| -
|
| -#define joining_offset_0xa840u 864
|
| +#define joining_offset_0xa840u 998
|
|
|
| /* Phags-pa */
|
|
|
| /* A840 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| /* A860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,L,U,
|
|
|
| -#define joining_offset_0x10ac0u 916
|
| +#define joining_offset_0x10ac0u 1050
|
|
|
| /* Manichaean */
|
|
|
| /* 10AC0 */ D,D,D,D,D,R,U,R,U,R,R,U,U,L,R,R,R,R,R,D,D,D,D,L,D,D,D,D,D,R,D,D,
|
| /* 10AE0 */ D,R,U,U,R,X,X,X,X,X,X,D,D,D,D,R,
|
|
|
| -#define joining_offset_0x10b80u 964
|
| +#define joining_offset_0x10b80u 1098
|
|
|
| /* Psalter Pahlavi */
|
|
|
| /* 10B80 */ D,R,D,R,R,R,D,D,D,R,D,D,R,D,R,R,D,R,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
|
| /* 10BA0 */ X,X,X,X,X,X,X,X,X,R,R,R,R,D,D,U,
|
|
|
| -}; /* Table items: 1012; occupancy: 57% */
|
| +#define joining_offset_0x1e900u 1146
|
| +
|
| + /* Adlam */
|
| +
|
| + /* 1E900 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| + /* 1E920 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
|
| + /* 1E940 */ D,D,D,D,
|
| +
|
| +}; /* Table items: 1214; occupancy: 54% */
|
|
|
|
|
| static unsigned int
|
| @@ -131,7 +139,7 @@ joining_type (hb_codepoint_t u)
|
| switch (u >> 12)
|
| {
|
| case 0x0u:
|
| - if (hb_in_range (u, 0x0600u, 0x08B4u)) return joining_table[u - 0x0600u + joining_offset_0x0600u];
|
| + if (hb_in_range (u, 0x0600u, 0x08E2u)) return joining_table[u - 0x0600u + joining_offset_0x0600u];
|
| break;
|
|
|
| case 0x1u:
|
| @@ -139,8 +147,7 @@ joining_type (hb_codepoint_t u)
|
| break;
|
|
|
| case 0x2u:
|
| - if (hb_in_range (u, 0x200Cu, 0x200Du)) return joining_table[u - 0x200Cu + joining_offset_0x200cu];
|
| - if (hb_in_range (u, 0x2066u, 0x2069u)) return joining_table[u - 0x2066u + joining_offset_0x2066u];
|
| + if (hb_in_range (u, 0x200Cu, 0x2069u)) return joining_table[u - 0x200Cu + joining_offset_0x200cu];
|
| break;
|
|
|
| case 0xAu:
|
| @@ -152,6 +159,10 @@ joining_type (hb_codepoint_t u)
|
| if (hb_in_range (u, 0x10B80u, 0x10BAFu)) return joining_table[u - 0x10B80u + joining_offset_0x10b80u];
|
| break;
|
|
|
| + case 0x1Eu:
|
| + if (hb_in_range (u, 0x1E900u, 0x1E943u)) return joining_table[u - 0x1E900u + joining_offset_0x1e900u];
|
| + break;
|
| +
|
| default:
|
| break;
|
| }
|
| @@ -160,6 +171,7 @@ joining_type (hb_codepoint_t u)
|
|
|
| #undef X
|
| #undef R
|
| +#undef T
|
| #undef U
|
| #undef A
|
| #undef DR
|
|
|