Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh

Issue 2163983005: Roll HarfBuzz to 1.3.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* == Start of generated table == */ 1 /* == Start of generated table == */
2 /* 2 /*
3 * The following table is generated by running: 3 * The following table is generated by running:
4 * 4 *
5 * ./gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt 5 * ./gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
6 * 6 *
7 * on files with these headers: 7 * on files with these headers:
8 * 8 *
9 * # ArabicShaping-8.0.0.txt 9 * # ArabicShaping-9.0.0.txt
10 * # Date: 2015-02-17, 23:33:00 GMT [RP] 10 * # Date: 2016-02-24, 22:25:00 GMT [RP]
11 * # Blocks-8.0.0.txt 11 * # Blocks-9.0.0.txt
12 * # Date: 2014-11-10, 23:04:00 GMT [KW] 12 * # Date: 2016-02-05, 23:48:00 GMT [KW]
13 * UnicodeData.txt does not have a header. 13 * UnicodeData.txt does not have a header.
14 */ 14 */
15 15
16 #ifndef HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH 16 #ifndef HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH
17 #define HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH 17 #define HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH
18 18
19 19
20 #define X JOINING_TYPE_X 20 #define X JOINING_TYPE_X
21 #define R JOINING_TYPE_R 21 #define R JOINING_TYPE_R
22 #define T JOINING_TYPE_T
22 #define U JOINING_TYPE_U 23 #define U JOINING_TYPE_U
23 #define A JOINING_GROUP_ALAPH 24 #define A JOINING_GROUP_ALAPH
24 #define DR JOINING_GROUP_DALATH_RISH 25 #define DR JOINING_GROUP_DALATH_RISH
25 #define L JOINING_TYPE_L 26 #define L JOINING_TYPE_L
26 #define C JOINING_TYPE_C 27 #define C JOINING_TYPE_C
27 #define D JOINING_TYPE_D 28 #define D JOINING_TYPE_D
28 29
29 static const uint8_t joining_table[] = 30 static const uint8_t joining_table[] =
30 { 31 {
31 32
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 /* 0820 */ 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, 70 /* 0820 */ 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,
70 71
71 /* Mandaic */ 72 /* Mandaic */
72 73
73 /* 0840 */ R,D,D,D,D,D,R,R,D,R,D,D,D,D,D,D,D,D,D,D,R,D,U,U,U,X,X,X,X,X,X,X, 74 /* 0840 */ R,D,D,D,D,D,R,R,D,R,D,D,D,D,D,D,D,D,D,D,R,D,U,U,U,X,X,X,X,X,X,X,
74 /* 0860 */ 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, 75 /* 0860 */ 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,
75 /* 0880 */ 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, 76 /* 0880 */ 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,
76 77
77 /* Arabic Extended-A */ 78 /* Arabic Extended-A */
78 79
79 /* 08A0 */ D,D,D,D,D,D,D,D,D,D,R,R,R,U,R,D,D,R,R,D,D, 80 /* 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,
81 /* 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,
82 /* 08E0 */ X,X,U,
80 83
81 #define joining_offset_0x1806u 693 84 #define joining_offset_0x1806u 739
82 85
83 /* Mongolian */ 86 /* Mongolian */
84 87
85 /* 1800 */ U,D,X,X,C,X,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, 88 /* 1800 */ U,D,X,X,C,X,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
86 /* 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, 89 /* 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,
87 /* 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, 90 /* 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,
88 /* 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, 91 /* 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,
89 /* 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, 92 /* 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,
90 /* 18A0 */ D,D,D,D,D,D,D,D,D,X,D, 93 /* 18A0 */ D,D,D,D,D,D,D,D,D,X,D,
91 94
92 #define joining_offset_0x200cu 858 95 #define joining_offset_0x200cu 904
93 96
94 /* General Punctuation */ 97 /* General Punctuation */
95 98
96 /* 2000 */ U,C, 99 /* 2000 */ U,C,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
100 /* 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,
101 /* 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,
102 /* 2060 */ X,X,X,X,X,X,U,U,U,U,
97 103
98 #define joining_offset_0x2066u 860 104 #define joining_offset_0xa840u 998
99
100 /* General Punctuation */
101
102 /* 2060 */ U,U,U,U,
103
104 #define joining_offset_0xa840u 864
105 105
106 /* Phags-pa */ 106 /* Phags-pa */
107 107
108 /* 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, 108 /* 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,
109 /* A860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,L,U, 109 /* A860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,L,U,
110 110
111 #define joining_offset_0x10ac0u 916 111 #define joining_offset_0x10ac0u 1050
112 112
113 /* Manichaean */ 113 /* Manichaean */
114 114
115 /* 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, 115 /* 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,
116 /* 10AE0 */ D,R,U,U,R,X,X,X,X,X,X,D,D,D,D,R, 116 /* 10AE0 */ D,R,U,U,R,X,X,X,X,X,X,D,D,D,D,R,
117 117
118 #define joining_offset_0x10b80u 964 118 #define joining_offset_0x10b80u 1098
119 119
120 /* Psalter Pahlavi */ 120 /* Psalter Pahlavi */
121 121
122 /* 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, 122 /* 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,
123 /* 10BA0 */ X,X,X,X,X,X,X,X,X,R,R,R,R,D,D,U, 123 /* 10BA0 */ X,X,X,X,X,X,X,X,X,R,R,R,R,D,D,U,
124 124
125 }; /* Table items: 1012; occupancy: 57% */ 125 #define joining_offset_0x1e900u 1146
126
127 /* Adlam */
128
129 /* 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,
130 /* 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,
131 /* 1E940 */ D,D,D,D,
132
133 }; /* Table items: 1214; occupancy: 54% */
126 134
127 135
128 static unsigned int 136 static unsigned int
129 joining_type (hb_codepoint_t u) 137 joining_type (hb_codepoint_t u)
130 { 138 {
131 switch (u >> 12) 139 switch (u >> 12)
132 { 140 {
133 case 0x0u: 141 case 0x0u:
134 if (hb_in_range (u, 0x0600u, 0x08B4u)) return joining_table[u - 0x0600u + joining_offset_0x0600u]; 142 if (hb_in_range (u, 0x0600u, 0x08E2u)) return joining_table[u - 0x0600u + joining_offset_0x0600u];
135 break; 143 break;
136 144
137 case 0x1u: 145 case 0x1u:
138 if (hb_in_range (u, 0x1806u, 0x18AAu)) return joining_table[u - 0x1806u + joining_offset_0x1806u]; 146 if (hb_in_range (u, 0x1806u, 0x18AAu)) return joining_table[u - 0x1806u + joining_offset_0x1806u];
139 break; 147 break;
140 148
141 case 0x2u: 149 case 0x2u:
142 if (hb_in_range (u, 0x200Cu, 0x200Du)) return joining_table[u - 0x200Cu + joining_offset_0x200cu]; 150 if (hb_in_range (u, 0x200Cu, 0x2069u)) return joining_table[u - 0x200Cu + joining_offset_0x200cu];
143 if (hb_in_range (u, 0x2066u, 0x2069u)) return joining_table[u - 0x2066u + joining_offset_0x2066u];
144 break; 151 break;
145 152
146 case 0xAu: 153 case 0xAu:
147 if (hb_in_range (u, 0xA840u, 0xA873u)) return joining_table[u - 0xA840u + joining_offset_0xa840u]; 154 if (hb_in_range (u, 0xA840u, 0xA873u)) return joining_table[u - 0xA840u + joining_offset_0xa840u];
148 break; 155 break;
149 156
150 case 0x10u: 157 case 0x10u:
151 if (hb_in_range (u, 0x10AC0u, 0x10AEFu)) return joining_table[u - 0x10AC0u + joining_offset_0x10ac0u]; 158 if (hb_in_range (u, 0x10AC0u, 0x10AEFu)) return joining_table[u - 0x10AC0u + joining_offset_0x10ac0u];
152 if (hb_in_range (u, 0x10B80u, 0x10BAFu)) return joining_table[u - 0x10B80u + joining_offset_0x10b80u]; 159 if (hb_in_range (u, 0x10B80u, 0x10BAFu)) return joining_table[u - 0x10B80u + joining_offset_0x10b80u];
153 break; 160 break;
154 161
162 case 0x1Eu:
163 if (hb_in_range (u, 0x1E900u, 0x1E943u)) return joining_table[u - 0x1E900u + joining_offset_0x1e900u];
164 break;
165
155 default: 166 default:
156 break; 167 break;
157 } 168 }
158 return X; 169 return X;
159 } 170 }
160 171
161 #undef X 172 #undef X
162 #undef R 173 #undef R
174 #undef T
163 #undef U 175 #undef U
164 #undef A 176 #undef A
165 #undef DR 177 #undef DR
166 #undef L 178 #undef L
167 #undef C 179 #undef C
168 #undef D 180 #undef D
169 181
170 182
171 static const uint16_t shaping_table[][4] = 183 static const uint16_t shaping_table[][4] =
172 { 184 {
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 { 0xFE82u, 0xFEF6u }, /* ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINA L FORM */ 386 { 0xFE82u, 0xFEF6u }, /* ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINA L FORM */
375 { 0xFE8Eu, 0xFEFCu }, /* ARABIC LIGATURE LAM WITH ALEF FINAL FORM */ 387 { 0xFE8Eu, 0xFEFCu }, /* ARABIC LIGATURE LAM WITH ALEF FINAL FORM */
376 { 0xFE84u, 0xFEF8u }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINA L FORM */ 388 { 0xFE84u, 0xFEF8u }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINA L FORM */
377 }}, 389 }},
378 }; 390 };
379 391
380 392
381 #endif /* HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH */ 393 #endif /* HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH */
382 394
383 /* == End of generated table == */ 395 /* == End of generated table == */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ot-layout-gsubgpos-private.hh ('k') | third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698