OLD | NEW |
| (Empty) |
1 /******************************************************************** | |
2 * COPYRIGHT: | |
3 * Copyright (c) 1997-2013, International Business Machines Corporation and | |
4 * others. All Rights Reserved. | |
5 ********************************************************************/ | |
6 /* file name: cbididat.c | |
7 * encoding: US-ASCII | |
8 * tab size: 8 (not used) | |
9 * indentation:4 | |
10 * | |
11 * created on: 1999sep22 | |
12 * created by: Markus W. Scherer | |
13 */ | |
14 | |
15 #include "unicode/utypes.h" | |
16 #include "unicode/uchar.h" | |
17 #include "unicode/ubidi.h" | |
18 #include "cbiditst.h" | |
19 | |
20 const char * const | |
21 dirPropNames[U_CHAR_DIRECTION_COUNT]={ | |
22 "L", "R", "EN", "ES", "ET", "AN", "CS", "B", "S", "WS", "ON", | |
23 "LRE", "LRO", "AL", "RLE", "RLO", "PDF", "NSM", "BN", | |
24 "FSI", "LRI", "RLI", "PDI" /* new in Unicode 6.3/ICU 52 */ | |
25 }; | |
26 | |
27 UChar | |
28 charFromDirProp[U_CHAR_DIRECTION_COUNT]={ | |
29 /* L R EN ES ET AN CS B S WS ON */ | |
30 0x61, 0x5d0, 0x30, 0x2f, 0x25, 0x660, 0x2c, 0xa, 0x9, 0x20, 0x26, | |
31 /* LRE LRO AL RLE RLO PDF NSM BN */ | |
32 0x202a, 0x202d, 0x627, 0x202b, 0x202e, 0x202c, 0x308, 0x200c, | |
33 /* FSI LRI RLI PDI */ | |
34 0x2068, 0x2066, 0x2067, 0x2069 /* new in Unicode 6.3/ICU 52 */ | |
35 }; | |
36 | |
37 static const uint8_t | |
38 testText1[]={ | |
39 L, L, WS, L, WS, EN, L, B | |
40 }; | |
41 | |
42 static const UBiDiLevel | |
43 testLevels1[]={ | |
44 0, 0, 0, 0, 0, 0, 0, 0 | |
45 }; | |
46 | |
47 static const uint8_t | |
48 testVisualMap1[]={ | |
49 0, 1, 2, 3, 4, 5, 6, 7 | |
50 }; | |
51 | |
52 static const uint8_t | |
53 testText2[]={ | |
54 R, AL, WS, R, AL, WS, R | |
55 }; | |
56 | |
57 static const UBiDiLevel | |
58 testLevels2[]={ | |
59 1, 1, 1, 1, 1, 1, 1 | |
60 }; | |
61 | |
62 static const uint8_t | |
63 testVisualMap2[]={ | |
64 6, 5, 4, 3, 2, 1, 0 | |
65 }; | |
66 | |
67 static const uint8_t | |
68 testText3[]={ | |
69 L, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L | |
70 }; | |
71 | |
72 static const UBiDiLevel | |
73 testLevels3[]={ | |
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |
75 }; | |
76 | |
77 static const uint8_t | |
78 testVisualMap3[]={ | |
79 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 | |
80 }; | |
81 | |
82 static const uint8_t | |
83 testText4[]={ | |
84 L, AL, AL, AL, L, AL, AL, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L | |
85 }; | |
86 | |
87 static const UBiDiLevel | |
88 testLevels4[]={ | |
89 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |
90 }; | |
91 | |
92 static const uint8_t | |
93 testVisualMap4[]={ | |
94 0, 3, 2, 1, 4, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 | |
95 }; | |
96 | |
97 static const uint8_t | |
98 testText5[]={ | |
99 AL, R, AL, WS, EN, CS, WS, EN, CS, EN, WS, R, R, WS, L, L | |
100 }; | |
101 | |
102 static const UBiDiLevel | |
103 testLevels5[]={ | |
104 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2 | |
105 }; | |
106 | |
107 static const uint8_t | |
108 testVisualMap5[]={ | |
109 15, 14, 13, 12, 11, 10, 9, 6, 7, 8, 5, 4, 3, 2, 0, 1 | |
110 }; | |
111 | |
112 static const uint8_t | |
113 testText6[]={ | |
114 R, EN, NSM, ET | |
115 }; | |
116 | |
117 static const UBiDiLevel | |
118 testLevels6[]={ | |
119 1, 2, 2, 2 | |
120 }; | |
121 | |
122 static const uint8_t | |
123 testVisualMap6[]={ | |
124 3, 0, 1, 2 | |
125 }; | |
126 | |
127 #if 0 | |
128 static const uint8_t | |
129 testText7[]={ | |
130 /* empty */ | |
131 }; | |
132 | |
133 static const UBiDiLevel | |
134 testLevels7[]={ | |
135 }; | |
136 | |
137 static const uint8_t | |
138 testVisualMap7[]={ | |
139 }; | |
140 | |
141 #endif | |
142 | |
143 static const uint8_t | |
144 testText8[]={ | |
145 RLE, WS, R, R, R, WS, PDF, WS, B | |
146 }; | |
147 | |
148 static const UBiDiLevel | |
149 testLevels8[]={ | |
150 1, 1, 1, 1, 1, 1, 1, 1, 1 | |
151 }; | |
152 | |
153 static const uint8_t | |
154 testVisualMap8[]={ | |
155 8, 7, 6, 5, 4, 3, 2, 1, 0 | |
156 }; | |
157 | |
158 static const uint8_t | |
159 testText9[]={ | |
160 LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
/* 15 entries */ | |
161 LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
/* 15 entries */ | |
162 AN, RLO, NSM, LRE, PDF, RLE, ES, EN, ON
/* 9 entries */ | |
163 }; | |
164 | |
165 static const UBiDiLevel | |
166 testLevels9[]={ | |
167 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
/* 15 entries */ | |
168 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
/* 15 entries */ | |
169 126, 125, 125, 125, 125, 125, 125, 125, 125
/* 9 entries */ | |
170 }; | |
171 | |
172 static const uint8_t | |
173 testVisualMap9[]={ | |
174 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
/* 15 entries */ | |
175 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
/* 15 entries */ | |
176 38, 7, 6, 5, 4, 3, 2, 1, 0
/* 9 entries */ | |
177 }; | |
178 | |
179 static const uint8_t | |
180 testText10[]={ | |
181 LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
/* 15 entries */ | |
182 LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
/* 15 entries */ | |
183 LRE, BN, CS, RLO, S, PDF, EN, LRO, AN, ES
/* 10 entries */ | |
184 }; | |
185 | |
186 static const UBiDiLevel | |
187 testLevels10[]={ | |
188 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
/* 15 entries */ | |
189 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
/* 15 entries */ | |
190 124, 124, 124, 64, 64, 124, 124, 126, 126, 124
/* 10 entries */ | |
191 }; | |
192 | |
193 static const uint8_t | |
194 testVisualMap10[]={ | |
195 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
/* 15 entries */ | |
196 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
/* 15 entries */ | |
197 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
/* 10 entries */ | |
198 }; | |
199 | |
200 static const uint8_t | |
201 testText11[]={ | |
202 S, WS, NSM, RLE, WS, L, L, L, WS, LRO, WS, R, R, R, WS, RLO, WS, L, L, L,
/* 20 entries */ | |
203 WS, LRE, WS, R, R, R, WS, PDF, WS, L, L, L, WS, PDF, WS, AL, AL, AL, WS, PDF
, /* 20 entries */ | |
204 WS, L, L, L, WS, PDF, WS, L, L, L, WS, PDF, ON, PDF, BN, BN, ON, PDF
/* 18 entries */ | |
205 }; | |
206 | |
207 static const UBiDiLevel | |
208 testLevels11[]={ | |
209 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
/* 20 entries */ | |
210 3, 4, 4, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2,
/* 20 entries */ | |
211 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
/* 18 entries */ | |
212 }; | |
213 | |
214 static const uint8_t | |
215 testVisualMap11[]={ | |
216 0, 1, 2, 44, 43, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 31, 30, 29, 28, 27,
/* 20 entries */ | |
217 26, 20, 21, 24, 23, 22, 25, 19, 18, 17, 16, 15, 14, 32, 33, 34, 35, 36, 37,
38, /* 20 entries */ | |
218 39, 40, 41, 42, 3, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
/* 18 entries */ | |
219 }; | |
220 | |
221 static const uint8_t | |
222 testText12[]={ | |
223 NSM, WS, L, L, L, L, L, L, L, WS, L, L, L, L, WS, | |
224 R, R, R, R, R, WS, L, L, L, L, L, L, L, WS, WS, AL, | |
225 AL, AL, AL, WS, EN, EN, ES, EN, EN, CS, S, EN, EN, CS, WS, | |
226 EN, EN, WS, AL, AL, AL, AL, AL, B, L, L, L, L, L, L, | |
227 L, L, WS, AN, AN, CS, AN, AN, WS | |
228 }; | |
229 | |
230 static const UBiDiLevel | |
231 testLevels12[]={ | |
232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0
, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 | |
233 }; | |
234 | |
235 static const uint8_t | |
236 testVisualMap12[]={ | |
237 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21
, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41
, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61
, 62, 63, 64, 65, 66, 67, 68, 69 | |
238 }; | |
239 | |
240 static const UBiDiLevel | |
241 testLevels13[]={ | |
242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0
, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 | |
243 }; | |
244 | |
245 static const uint8_t | |
246 testVisualMap13[]={ | |
247 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21
, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41
, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61
, 62, 63, 64, 65, 66, 67, 68, 69 | |
248 }; | |
249 | |
250 static const UBiDiLevel | |
251 testLevels14[]={ | |
252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2
, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 2, 4, 4, 3, 3, 4, 4, 3, 3, 3, 3,
3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 2 | |
253 }; | |
254 | |
255 static const uint8_t | |
256 testVisualMap14[]={ | |
257 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21
, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41
, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61
, 62, 63, 64, 65, 66, 67, 68, 69 | |
258 }; | |
259 | |
260 static const UBiDiLevel | |
261 testLevels15[]={ | |
262 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6
, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 5, 6, 6, 5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 5, 5,
5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 5 | |
263 }; | |
264 | |
265 static const uint8_t | |
266 testVisualMap15[]={ | |
267 69, 68, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 55, 54, 53, 52, 51,
50, 49, 42, 43, 44, 45, 46, 47, 48, 41, 40, 39, 38, 37, 36, 35, 33, 34, 32, 30,
31, 29, 28, 26, 27, 25, 24, 22, 23, 21, 20, 19, 18, 17, 16, 15, 7, 8, 9, 10, 11,
12, 13, 14, 6, 1, 2, 3, 4, 5, 0 | |
268 }; | |
269 | |
270 static const UBiDiLevel | |
271 testLevels16[]={ | |
272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0
, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 | |
273 }; | |
274 | |
275 static const uint8_t | |
276 testVisualMap16[]={ | |
277 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21
, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41
, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61
, 62, 63, 64, 65, 66, 67, 68, 69 | |
278 }; | |
279 | |
280 static const uint8_t | |
281 testText13[]={ | |
282 ON, L, RLO, CS, R, WS, AN, AN, PDF, LRE, R, L, LRO, WS, BN, ON, S, LRE, LRO,
B | |
283 }; | |
284 | |
285 static const UBiDiLevel | |
286 testLevels17[]={ | |
287 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2, 4, 4, 4, 4, 0, 0, 0, 0 | |
288 }; | |
289 | |
290 static const uint8_t | |
291 testVisualMap17[]={ | |
292 0, 1, 15, 14, 13, 12, 11, 10, 4, 3, 2, 5, 6, 7, 8, 9, 16, 17, 18, 19 | |
293 }; | |
294 | |
295 static const UBiDiLevel | |
296 testLevels18[]={ | |
297 0, 0, 1, 1, 1, 0 | |
298 }; | |
299 | |
300 static const uint8_t | |
301 testVisualMap18[]={ | |
302 0, 1, 4, 3, 2, 5 | |
303 }; | |
304 | |
305 static const uint8_t | |
306 testText14[]={ | |
307 RLO, RLO, AL, AL, WS, EN, ES, ON, WS, S, S, PDF, LRO, WS, AL, ET, RLE, ON, E
N, B | |
308 }; | |
309 | |
310 static const UBiDiLevel | |
311 testLevels19[]={ | |
312 1 | |
313 }; | |
314 | |
315 static const uint8_t | |
316 testVisualMap19[]={ | |
317 0 | |
318 }; | |
319 | |
320 static const uint8_t | |
321 testText15[]={ | |
322 R, L, CS, L | |
323 }; | |
324 | |
325 static const UBiDiLevel | |
326 testLevels20[]={ | |
327 2 | |
328 }; | |
329 | |
330 static const uint8_t | |
331 testText16[]={ | |
332 L, L, L, WS, L, L, L, WS, L, L, L | |
333 }; | |
334 | |
335 static const UBiDiLevel | |
336 testLevels21[]={ | |
337 2, 2, 2, 2, 2, 2, 2, 1 | |
338 }; | |
339 | |
340 static const uint8_t | |
341 testVisualMap20[]={ | |
342 1, 2, 3, 4, 5, 6, 7, 0 | |
343 }; | |
344 | |
345 static const uint8_t | |
346 testText17[]={ | |
347 R, R, R, WS, R, R, R, WS, R, R, R | |
348 }; | |
349 | |
350 static const UBiDiLevel | |
351 testLevels22[]={ | |
352 1, 1, 1, 1, 1, 1, 1, 0 | |
353 }; | |
354 | |
355 static const uint8_t | |
356 testVisualMap21[]={ | |
357 6, 5, 4, 3, 2, 1, 0, 7 | |
358 }; | |
359 | |
360 static const uint8_t | |
361 testTextXX[]={ | |
362 L | |
363 }; | |
364 | |
365 static const UBiDiLevel | |
366 testLevelsXX[]={ | |
367 2 | |
368 }; | |
369 | |
370 static const uint8_t | |
371 testVisualMapXX[]={ | |
372 0 | |
373 }; | |
374 | |
375 const BiDiTestData | |
376 tests[]={ | |
377 {testText1, ARRAY_LENGTH(testText1), UBIDI_DEFAULT_LTR, -1, -1, | |
378 UBIDI_LTR, 0, | |
379 testLevels1, testVisualMap1}, | |
380 {testText2, ARRAY_LENGTH(testText2), UBIDI_DEFAULT_LTR, -1, -1, | |
381 UBIDI_RTL, 1, | |
382 testLevels2, testVisualMap2}, | |
383 {testText3, ARRAY_LENGTH(testText3), UBIDI_DEFAULT_LTR, -1, -1, | |
384 UBIDI_LTR, 0, | |
385 testLevels3, testVisualMap3}, | |
386 {testText4, ARRAY_LENGTH(testText4), UBIDI_DEFAULT_LTR, -1, -1, | |
387 UBIDI_MIXED, 0, | |
388 testLevels4, testVisualMap4}, | |
389 {testText5, ARRAY_LENGTH(testText5), UBIDI_DEFAULT_LTR, -1, -1, | |
390 UBIDI_MIXED, 1, | |
391 testLevels5, testVisualMap5}, | |
392 {testText6, ARRAY_LENGTH(testText6), UBIDI_DEFAULT_LTR, -1, -1, | |
393 UBIDI_MIXED, 1, | |
394 testLevels6, testVisualMap6}, | |
395 {NULL, 0, UBIDI_DEFAULT_LTR, -1, -1, | |
396 UBIDI_LTR, 0, | |
397 NULL, NULL}, | |
398 {testText8, ARRAY_LENGTH(testText8), UBIDI_DEFAULT_LTR, -1, -1, | |
399 UBIDI_RTL, 1, | |
400 testLevels8, testVisualMap8}, | |
401 {testText9, ARRAY_LENGTH(testText9), 64, -1, -1, | |
402 UBIDI_MIXED, 64, | |
403 testLevels9, testVisualMap9}, | |
404 {testText10, ARRAY_LENGTH(testText10), 64, -1, -1, | |
405 UBIDI_MIXED, 64, | |
406 testLevels10, testVisualMap10}, | |
407 {testText11, ARRAY_LENGTH(testText11), UBIDI_DEFAULT_LTR, -1, -1, | |
408 UBIDI_MIXED, 0, | |
409 testLevels11, testVisualMap11}, | |
410 {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1, | |
411 UBIDI_MIXED, 0, | |
412 testLevels12, testVisualMap12}, | |
413 {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_RTL, -1, -1, | |
414 UBIDI_MIXED, 0, | |
415 testLevels13, testVisualMap13}, | |
416 {testText12, ARRAY_LENGTH(testText12), 2, -1, -1, | |
417 UBIDI_MIXED, 2, | |
418 testLevels14, testVisualMap14}, | |
419 {testText12, ARRAY_LENGTH(testText12), 5, -1, -1, | |
420 UBIDI_MIXED, 5, | |
421 testLevels15, testVisualMap15}, | |
422 {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1, | |
423 UBIDI_MIXED, 0, | |
424 testLevels16, testVisualMap16}, | |
425 {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, -1, -1, | |
426 UBIDI_MIXED, 0, | |
427 testLevels17, testVisualMap17}, | |
428 {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, 0, 6, | |
429 UBIDI_MIXED, 0, | |
430 testLevels18, testVisualMap18}, | |
431 {testText14, ARRAY_LENGTH(testText14), UBIDI_DEFAULT_LTR, 13, 14, | |
432 UBIDI_RTL, 1, | |
433 testLevels19, testVisualMap19}, | |
434 {testText15, ARRAY_LENGTH(testText15), UBIDI_DEFAULT_LTR, 2, 3, | |
435 UBIDI_LTR, 2, | |
436 testLevels20, testVisualMap19}, | |
437 {testText16, ARRAY_LENGTH(testText16), UBIDI_RTL, 0, 8, | |
438 UBIDI_MIXED, 1, | |
439 testLevels21, testVisualMap20}, | |
440 {testText17, ARRAY_LENGTH(testText17), UBIDI_LTR, 0, 8, | |
441 UBIDI_MIXED, 0, | |
442 testLevels22, testVisualMap21}, | |
443 {testTextXX, ARRAY_LENGTH(testTextXX), UBIDI_RTL, -1, -1, | |
444 UBIDI_MIXED, 1, testLevelsXX, testVisualMapXX} | |
445 }; | |
446 | |
447 const int | |
448 bidiTestCount=ARRAY_LENGTH(tests); | |
OLD | NEW |