1/* == Start of generated table == */
2/*
3 * The following tables are generated by running:
4 *
5 * ./gen-break-table.py SentenceBreakProperty.txt IndicSyllabicCategory.txt EastAsianWidth.txt | indent
6 *
7 * on files with these headers:
8 *
9 * # SentenceBreakProperty-14.0.0.txt
10 * # Date: 2021-08-12, 23:13:21 GMT
11 * # © 2021 Unicode®, Inc.
12 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
13 * # For terms of use, see http://www.unicode.org/terms_of_use.html
14 * #
15 * # Unicode Character Database
16 * # For documentation, see http://www.unicode.org/reports/tr44/
17 * # IndicSyllabicCategory-14.0.0.txt
18 * # Date: 2021-05-22, 01:01:00 GMT [KW, RP]
19 * # © 2021 Unicode®, Inc.
20 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
21 * # For terms of use, see http://www.unicode.org/terms_of_use.html
22 * #
23 * # For documentation, see UAX #44: Unicode Character Database,
24 * # at http://www.unicode.org/reports/tr44/
25 * #
26 * # This file defines the following property:
27 * #
28 * # Indic_Syllabic_Category enumerated property
29 * #
30 * # Scope: This property is aimed at two general problem
31 * # areas involving the analysis and processing of Indic scripts:
32 * #
33 * # 1. Specification of syllabic structure.
34 * # 2. Specification of segmentation rules.
35 * #
36 * # Both of these problem areas may benefit from having defined subtypes
37 * # of Indic script characters which are relevant to how Indic
38 * # syllables (or aksaras) are constructed. Note that rules for
39 * # syllabic structure in Indic scripts may differ significantly
40 * # from how phonological syllables are defined.
41 * #
42 * # Format:
43 * # Field 0 Unicode code point value or range of code point values
44 * # Field 1 Indic_Syllabic_Category property value
45 * #
46 * # Field 1 is followed by a comment field, starting with the number sign '#',
47 * # which shows the General_Category property value, the Unicode character name
48 * # or names, and, in lines with ranges of code points, the code point count in
49 * # square brackets.
50 * #
51 * # The scripts assessed as Indic in the structural sense used for the
52 * # Indic_Syllabic_Category are the following:
53 * #
54 * # Ahom, Balinese, Batak, Bengali, Bhaiksuki, Brahmi, Buginese, Buhid,
55 * # Chakma, Cham, Devanagari, Dives Akuru, Dogra, Grantha, Gujarati,
56 * # Gunjala Gondi, Gurmukhi, Hanunoo, Javanese, Kaithi, Kannada,
57 * # Kayah Li, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha, Limbu,
58 * # Mahajani, Makasar, Malayalam, Marchen, Masaram Gondi, Meetei Mayek,
59 * # Modi, Multani, Myanmar, Nandinagari, Newa, New Tai Lue, Oriya,
60 * # Phags-pa, Rejang, Saurashtra, Sharada, Siddham, Sinhala, Soyombo,
61 * # Sundanese, Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham,
62 * # Tai Viet, Takri, Tamil, Telugu, Thai, Tibetan, Tirhuta, and
63 * # Zanabazar Square.
64 * #
65 * # All characters for all other scripts not in that list
66 * # take the default value for this property, unless they
67 * # are individually listed in this data file.
68 * #
69 * # EastAsianWidth-14.0.0.txt
70 * # Date: 2021-07-06, 09:58:53 GMT [KW, LI]
71 * # © 2021 Unicode®, Inc.
72 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
73 * # For terms of use, see https://www.unicode.org/terms_of_use.html
74 * #
75 * # Unicode Character Database
76 * # For documentation, see https://www.unicode.org/reports/tr44/
77 * #
78 * # East_Asian_Width Property
79 * #
80 * # This file is a normative contributory data file in the
81 * # Unicode Character Database.
82 * #
83 * # The format is two fields separated by a semicolon.
84 * # Field 0: Unicode code point value or range of code point values
85 * # Field 1: East_Asian_Width property, consisting of one of the following values:
86 * # "A", "F", "H", "N", "Na", "W"
87 * # - All code points, assigned or unassigned, that are not listed
88 * # explicitly are given the value "N".
89 * # - The unassigned code points in the following blocks default to "W":
90 * # CJK Unified Ideographs Extension A: U+3400..U+4DBF
91 * # CJK Unified Ideographs: U+4E00..U+9FFF
92 * # CJK Compatibility Ideographs: U+F900..U+FAFF
93 * # - All undesignated code points in Planes 2 and 3, whether inside or
94 * # outside of allocated blocks, default to "W":
95 * # Plane 2: U+20000..U+2FFFD
96 * # Plane 3: U+30000..U+3FFFD
97 * #
98 * # Character ranges are specified as for other property files in the
99 * # Unicode Character Database.
100 * #
101 * # For legacy reasons, there are no spaces before or after the semicolon
102 * # which separates the two fields. The comments following the number sign
103 * # "#" list the General_Category property value or the L& alias of the
104 * # derived value LC, the Unicode character name or names, and, in lines
105 * # with ranges of code points, the code point count in square brackets.
106 * #
107 * # For more information, see UAX #11: East Asian Width,
108 * # at https://www.unicode.org/reports/tr11/
109 * #
110 * # @missing: 0000..10FFFF; N
111 */
112
113#ifndef PANGO_BREAK_TABLE_H
114#define PANGO_BREAK_TABLE_H
115
116#include <glib.h>
117
118
119static inline gboolean
120_pango_is_STerm (gunichar wc)
121{
122 if ((wc >= 0x0021 && wc <= 0x1945))
123 {
124 if (wc == 0x0021 ||
125 wc == 0x003F || wc == 0x0589 || (wc >= 0x061D && wc <= 0x061F))
126 return TRUE;
127 if ((wc >= 0x06D4 && wc <= 0x0839))
128 {
129 if (wc == 0x06D4)
130 return TRUE;
131 if ((wc >= 0x0700 && wc <= 0x0702))
132 return TRUE;
133 if (wc == 0x07F9)
134 return TRUE;
135 if (wc == 0x0837 || wc == 0x0839)
136 return TRUE;
137 return FALSE;
138 }
139 if ((wc >= 0x083D && wc <= 0x083E) ||
140 (wc >= 0x0964 && wc <= 0x0965) ||
141 (wc >= 0x104A && wc <= 0x104B) || wc == 0x1362)
142 return TRUE;
143 if ((wc >= 0x1367 && wc <= 0x1945))
144 {
145 if ((wc >= 0x1367 && wc <= 0x1368))
146 return TRUE;
147 if (wc == 0x166E || (wc >= 0x1735 && wc <= 0x1736))
148 return TRUE;
149 if (wc == 0x1803)
150 return TRUE;
151 if (wc == 0x1809 || (wc >= 0x1944 && wc <= 0x1945))
152 return TRUE;
153 return FALSE;
154 }
155 return FALSE;
156 }
157 if ((wc >= 0x1AA8 && wc <= 0xA92F))
158 {
159 if ((wc >= 0x1AA8 && wc <= 0x1AAB) ||
160 (wc >= 0x1B5A && wc <= 0x1B5B) ||
161 (wc >= 0x1B5E && wc <= 0x1B5F) || (wc >= 0x1B7D && wc <= 0x1B7E))
162 return TRUE;
163 if ((wc >= 0x1C3B && wc <= 0x2E2E))
164 {
165 if ((wc >= 0x1C3B && wc <= 0x1C3C))
166 return TRUE;
167 if ((wc >= 0x1C7E && wc <= 0x1C7F))
168 return TRUE;
169 if ((wc >= 0x203C && wc <= 0x203D))
170 return TRUE;
171 if ((wc >= 0x2047 && wc <= 0x2049) || wc == 0x2E2E)
172 return TRUE;
173 return FALSE;
174 }
175 if (wc == 0x2E3C ||
176 (wc >= 0x2E53 && wc <= 0x2E54) || wc == 0x3002 || wc == 0xA4FF)
177 return TRUE;
178 if ((wc >= 0xA60E && wc <= 0xA92F))
179 {
180 if ((wc >= 0xA60E && wc <= 0xA60F))
181 return TRUE;
182 if (wc == 0xA6F3 || wc == 0xA6F7)
183 return TRUE;
184 if ((wc >= 0xA876 && wc <= 0xA877))
185 return TRUE;
186 if ((wc >= 0xA8CE && wc <= 0xA8CF) || wc == 0xA92F)
187 return TRUE;
188 return FALSE;
189 }
190 return FALSE;
191 }
192 if ((wc >= 0xA9C8 && wc <= 0x1123C))
193 {
194 if ((wc >= 0xA9C8 && wc <= 0xA9C9) ||
195 (wc >= 0xAA5D && wc <= 0xAA5F) ||
196 (wc >= 0xAAF0 && wc <= 0xAAF1) || wc == 0xABEB)
197 return TRUE;
198 if ((wc >= 0xFE56 && wc <= 0x10A57))
199 {
200 if ((wc >= 0xFE56 && wc <= 0xFE57))
201 return TRUE;
202 if (wc == 0xFF01)
203 return TRUE;
204 if (wc == 0xFF1F)
205 return TRUE;
206 if (wc == 0xFF61 || (wc >= 0x10A56 && wc <= 0x10A57))
207 return TRUE;
208 return FALSE;
209 }
210 if ((wc >= 0x10F55 && wc <= 0x10F59) ||
211 (wc >= 0x10F86 && wc <= 0x10F89) ||
212 (wc >= 0x11047 && wc <= 0x11048) ||
213 (wc >= 0x110BE && wc <= 0x110C1))
214 return TRUE;
215 if ((wc >= 0x11141 && wc <= 0x1123C))
216 {
217 if ((wc >= 0x11141 && wc <= 0x11143))
218 return TRUE;
219 if ((wc >= 0x111C5 && wc <= 0x111C6) || wc == 0x111CD)
220 return TRUE;
221 if ((wc >= 0x111DE && wc <= 0x111DF))
222 return TRUE;
223 if ((wc >= 0x11238 && wc <= 0x11239) ||
224 (wc >= 0x1123B && wc <= 0x1123C))
225 return TRUE;
226 return FALSE;
227 }
228 return FALSE;
229 }
230 if ((wc >= 0x112A9 && wc <= 0x1DA88))
231 {
232 if (wc == 0x112A9 ||
233 (wc >= 0x1144B && wc <= 0x1144C) ||
234 (wc >= 0x115C2 && wc <= 0x115C3) ||
235 (wc >= 0x115C9 && wc <= 0x115D7))
236 return TRUE;
237 if ((wc >= 0x11641 && wc <= 0x11A43))
238 {
239 if ((wc >= 0x11641 && wc <= 0x11642))
240 return TRUE;
241 if ((wc >= 0x1173C && wc <= 0x1173E))
242 return TRUE;
243 if (wc == 0x11944)
244 return TRUE;
245 if (wc == 0x11946 || (wc >= 0x11A42 && wc <= 0x11A43))
246 return TRUE;
247 return FALSE;
248 }
249 if ((wc >= 0x11A9B && wc <= 0x11A9C) ||
250 (wc >= 0x11C41 && wc <= 0x11C42) ||
251 (wc >= 0x11EF7 && wc <= 0x11EF8) ||
252 (wc >= 0x16A6E && wc <= 0x16A6F))
253 return TRUE;
254 if ((wc >= 0x16AF5 && wc <= 0x1DA88))
255 {
256 if (wc == 0x16AF5)
257 return TRUE;
258 if ((wc >= 0x16B37 && wc <= 0x16B38) || wc == 0x16B44)
259 return TRUE;
260 if (wc == 0x16E98)
261 return TRUE;
262 if (wc == 0x1BC9F || wc == 0x1DA88)
263 return TRUE;
264 return FALSE;
265 }
266 return FALSE;
267 }
268 return FALSE;
269}
270
271static inline gboolean
272_pango_is_Virama (gunichar wc)
273{
274 if ((wc >= 0x094D && wc <= 0x0BCD))
275 {
276 if (wc == 0x094D)
277 return TRUE;
278 if (wc == 0x09CD || wc == 0x0A4D)
279 return TRUE;
280 if (wc == 0x0ACD)
281 return TRUE;
282 if (wc == 0x0B4D || wc == 0x0BCD)
283 return TRUE;
284 return FALSE;
285 }
286 if ((wc >= 0x0C4D && wc <= 0xA8C4))
287 {
288 if (wc == 0x0C4D)
289 return TRUE;
290 if (wc == 0x0CCD || wc == 0x0D4D)
291 return TRUE;
292 if (wc == 0x0DCA)
293 return TRUE;
294 if (wc == 0x1B44 || wc == 0xA806 || wc == 0xA8C4)
295 return TRUE;
296 return FALSE;
297 }
298 if ((wc >= 0xA9C0 && wc <= 0x1134D))
299 {
300 if (wc == 0xA9C0)
301 return TRUE;
302 if (wc == 0x11046 || wc == 0x110B9)
303 return TRUE;
304 if (wc == 0x111C0)
305 return TRUE;
306 if (wc == 0x11235 || wc == 0x1134D)
307 return TRUE;
308 return FALSE;
309 }
310 if ((wc >= 0x11442 && wc <= 0x11C3F))
311 {
312 if (wc == 0x11442 || wc == 0x114C2)
313 return TRUE;
314 if (wc == 0x115BF || wc == 0x1163F)
315 return TRUE;
316 if (wc == 0x116B6 || wc == 0x11839)
317 return TRUE;
318 if (wc == 0x119E0 || wc == 0x11C3F)
319 return TRUE;
320 return FALSE;
321 }
322 return FALSE;
323}
324
325static inline gboolean
326_pango_is_Vowel_Dependent (gunichar wc)
327{
328 if ((wc >= 0x093A && wc <= 0x0CC8))
329 {
330 if ((wc >= 0x093A && wc <= 0x09CC))
331 {
332 if ((wc >= 0x093A && wc <= 0x093B) ||
333 (wc >= 0x093E && wc <= 0x094C))
334 return TRUE;
335 if ((wc >= 0x094E && wc <= 0x094F) ||
336 (wc >= 0x0955 && wc <= 0x0957))
337 return TRUE;
338 if ((wc >= 0x0962 && wc <= 0x0963) ||
339 (wc >= 0x09BE && wc <= 0x09C4))
340 return TRUE;
341 if ((wc >= 0x09C7 && wc <= 0x09C8) ||
342 (wc >= 0x09CB && wc <= 0x09CC))
343 return TRUE;
344 return FALSE;
345 }
346 if ((wc >= 0x09D7 && wc <= 0x0ACC))
347 {
348 if (wc == 0x09D7 || (wc >= 0x09E2 && wc <= 0x09E3))
349 return TRUE;
350 if ((wc >= 0x0A3E && wc <= 0x0A42) ||
351 (wc >= 0x0A47 && wc <= 0x0A48))
352 return TRUE;
353 if ((wc >= 0x0A4B && wc <= 0x0A4C) ||
354 (wc >= 0x0ABE && wc <= 0x0AC5))
355 return TRUE;
356 if ((wc >= 0x0AC7 && wc <= 0x0AC9) ||
357 (wc >= 0x0ACB && wc <= 0x0ACC))
358 return TRUE;
359 return FALSE;
360 }
361 if ((wc >= 0x0AE2 && wc <= 0x0BC8))
362 {
363 if ((wc >= 0x0AE2 && wc <= 0x0AE3) ||
364 (wc >= 0x0B3E && wc <= 0x0B44))
365 return TRUE;
366 if ((wc >= 0x0B47 && wc <= 0x0B48) ||
367 (wc >= 0x0B4B && wc <= 0x0B4C))
368 return TRUE;
369 if ((wc >= 0x0B55 && wc <= 0x0B57) ||
370 (wc >= 0x0B62 && wc <= 0x0B63))
371 return TRUE;
372 if ((wc >= 0x0BBE && wc <= 0x0BC2) ||
373 (wc >= 0x0BC6 && wc <= 0x0BC8))
374 return TRUE;
375 return FALSE;
376 }
377 if ((wc >= 0x0BCA && wc <= 0x0CC8))
378 {
379 if ((wc >= 0x0BCA && wc <= 0x0BCC) || wc == 0x0BD7)
380 return TRUE;
381 if ((wc >= 0x0C3E && wc <= 0x0C44) ||
382 (wc >= 0x0C46 && wc <= 0x0C48))
383 return TRUE;
384 if ((wc >= 0x0C4A && wc <= 0x0C4C) ||
385 (wc >= 0x0C55 && wc <= 0x0C56))
386 return TRUE;
387 if ((wc >= 0x0C62 && wc <= 0x0C63) ||
388 (wc >= 0x0CBE && wc <= 0x0CC4) ||
389 (wc >= 0x0CC6 && wc <= 0x0CC8))
390 return TRUE;
391 return FALSE;
392 }
393 return FALSE;
394 }
395 if ((wc >= 0x0CCA && wc <= 0x1928))
396 {
397 if ((wc >= 0x0CCA && wc <= 0x0D63))
398 {
399 if ((wc >= 0x0CCA && wc <= 0x0CCC) ||
400 (wc >= 0x0CD5 && wc <= 0x0CD6))
401 return TRUE;
402 if ((wc >= 0x0CE2 && wc <= 0x0CE3) ||
403 (wc >= 0x0D3E && wc <= 0x0D44))
404 return TRUE;
405 if ((wc >= 0x0D46 && wc <= 0x0D48) ||
406 (wc >= 0x0D4A && wc <= 0x0D4C))
407 return TRUE;
408 if (wc == 0x0D57 || (wc >= 0x0D62 && wc <= 0x0D63))
409 return TRUE;
410 return FALSE;
411 }
412 if ((wc >= 0x0DCF && wc <= 0x0EBB))
413 {
414 if ((wc >= 0x0DCF && wc <= 0x0DD4) || wc == 0x0DD6)
415 return TRUE;
416 if ((wc >= 0x0DD8 && wc <= 0x0DDF) ||
417 (wc >= 0x0DF2 && wc <= 0x0DF3))
418 return TRUE;
419 if ((wc >= 0x0E30 && wc <= 0x0E39) ||
420 (wc >= 0x0E40 && wc <= 0x0E45))
421 return TRUE;
422 if (wc == 0x0E47 || (wc >= 0x0EB0 && wc <= 0x0EB9) || wc == 0x0EBB)
423 return TRUE;
424 return FALSE;
425 }
426 if ((wc >= 0x0EC0 && wc <= 0x1074))
427 {
428 if ((wc >= 0x0EC0 && wc <= 0x0EC4) ||
429 (wc >= 0x0F71 && wc <= 0x0F7D))
430 return TRUE;
431 if ((wc >= 0x0F80 && wc <= 0x0F81) ||
432 (wc >= 0x102B && wc <= 0x1035))
433 return TRUE;
434 if ((wc >= 0x1056 && wc <= 0x1059) || wc == 0x1062)
435 return TRUE;
436 if ((wc >= 0x1067 && wc <= 0x1068) ||
437 (wc >= 0x1071 && wc <= 0x1074))
438 return TRUE;
439 return FALSE;
440 }
441 if ((wc >= 0x1083 && wc <= 0x1928))
442 {
443 if ((wc >= 0x1083 && wc <= 0x1086) ||
444 (wc >= 0x109C && wc <= 0x109D))
445 return TRUE;
446 if ((wc >= 0x1712 && wc <= 0x1713) ||
447 (wc >= 0x1732 && wc <= 0x1733))
448 return TRUE;
449 if ((wc >= 0x1752 && wc <= 0x1753) ||
450 (wc >= 0x1772 && wc <= 0x1773))
451 return TRUE;
452 if ((wc >= 0x17B6 && wc <= 0x17C5) ||
453 wc == 0x17C8 || (wc >= 0x1920 && wc <= 0x1928))
454 return TRUE;
455 return FALSE;
456 }
457 return FALSE;
458 }
459 if ((wc >= 0x193A && wc <= 0x112E8))
460 {
461 if ((wc >= 0x193A && wc <= 0x1C2C))
462 {
463 if (wc == 0x193A || (wc >= 0x19B0 && wc <= 0x19C0))
464 return TRUE;
465 if ((wc >= 0x1A17 && wc <= 0x1A1B) ||
466 (wc >= 0x1A61 && wc <= 0x1A73))
467 return TRUE;
468 if ((wc >= 0x1B35 && wc <= 0x1B43) ||
469 (wc >= 0x1BA4 && wc <= 0x1BA9))
470 return TRUE;
471 if ((wc >= 0x1BE7 && wc <= 0x1BEF) ||
472 (wc >= 0x1C26 && wc <= 0x1C2C))
473 return TRUE;
474 return FALSE;
475 }
476 if ((wc >= 0xA802 && wc <= 0xAA32))
477 {
478 if (wc == 0xA802 || (wc >= 0xA823 && wc <= 0xA827))
479 return TRUE;
480 if ((wc >= 0xA8B5 && wc <= 0xA8C3) || wc == 0xA8FF)
481 return TRUE;
482 if ((wc >= 0xA947 && wc <= 0xA94E) ||
483 (wc >= 0xA9B4 && wc <= 0xA9BC))
484 return TRUE;
485 if (wc == 0xA9E5 || (wc >= 0xAA29 && wc <= 0xAA32))
486 return TRUE;
487 return FALSE;
488 }
489 if ((wc >= 0xAAB0 && wc <= 0x11074))
490 {
491 if ((wc >= 0xAAB0 && wc <= 0xAABE) ||
492 (wc >= 0xAAEB && wc <= 0xAAEF))
493 return TRUE;
494 if ((wc >= 0xABE3 && wc <= 0xABEA) ||
495 (wc >= 0x10A01 && wc <= 0x10A03))
496 return TRUE;
497 if ((wc >= 0x10A05 && wc <= 0x10A06) ||
498 (wc >= 0x10A0C && wc <= 0x10A0D))
499 return TRUE;
500 if ((wc >= 0x11038 && wc <= 0x11045) ||
501 (wc >= 0x11073 && wc <= 0x11074))
502 return TRUE;
503 return FALSE;
504 }
505 if ((wc >= 0x110B0 && wc <= 0x112E8))
506 {
507 if ((wc >= 0x110B0 && wc <= 0x110B8) || wc == 0x110C2)
508 return TRUE;
509 if ((wc >= 0x11127 && wc <= 0x11132) ||
510 (wc >= 0x11145 && wc <= 0x11146))
511 return TRUE;
512 if ((wc >= 0x111B3 && wc <= 0x111BF) ||
513 (wc >= 0x111CB && wc <= 0x111CC))
514 return TRUE;
515 if (wc == 0x111CE ||
516 (wc >= 0x1122C && wc <= 0x11233) ||
517 (wc >= 0x112E0 && wc <= 0x112E8))
518 return TRUE;
519 return FALSE;
520 }
521 return FALSE;
522 }
523 if ((wc >= 0x1133E && wc <= 0x11EF6))
524 {
525 if ((wc >= 0x1133E && wc <= 0x115B5))
526 {
527 if ((wc >= 0x1133E && wc <= 0x11344) ||
528 (wc >= 0x11347 && wc <= 0x11348))
529 return TRUE;
530 if ((wc >= 0x1134B && wc <= 0x1134C) || wc == 0x11357)
531 return TRUE;
532 if ((wc >= 0x11362 && wc <= 0x11363) ||
533 (wc >= 0x11435 && wc <= 0x11441))
534 return TRUE;
535 if ((wc >= 0x114B0 && wc <= 0x114BE) ||
536 (wc >= 0x115AF && wc <= 0x115B5))
537 return TRUE;
538 return FALSE;
539 }
540 if ((wc >= 0x115B8 && wc <= 0x11938))
541 {
542 if ((wc >= 0x115B8 && wc <= 0x115BB) ||
543 (wc >= 0x115DC && wc <= 0x115DD))
544 return TRUE;
545 if ((wc >= 0x11630 && wc <= 0x1163C) || wc == 0x11640)
546 return TRUE;
547 if ((wc >= 0x116AD && wc <= 0x116B5) ||
548 (wc >= 0x11720 && wc <= 0x1172A))
549 return TRUE;
550 if ((wc >= 0x1182C && wc <= 0x11836) ||
551 (wc >= 0x11930 && wc <= 0x11935) ||
552 (wc >= 0x11937 && wc <= 0x11938))
553 return TRUE;
554 return FALSE;
555 }
556 if ((wc >= 0x119D1 && wc <= 0x11CB4))
557 {
558 if ((wc >= 0x119D1 && wc <= 0x119D7) ||
559 (wc >= 0x119DA && wc <= 0x119DD))
560 return TRUE;
561 if (wc == 0x119E4 || (wc >= 0x11A01 && wc <= 0x11A0A))
562 return TRUE;
563 if ((wc >= 0x11A51 && wc <= 0x11A5B) ||
564 (wc >= 0x11C2F && wc <= 0x11C36))
565 return TRUE;
566 if ((wc >= 0x11C38 && wc <= 0x11C3B) ||
567 (wc >= 0x11CB0 && wc <= 0x11CB4))
568 return TRUE;
569 return FALSE;
570 }
571 if ((wc >= 0x11D31 && wc <= 0x11EF6))
572 {
573 if ((wc >= 0x11D31 && wc <= 0x11D36) || wc == 0x11D3A)
574 return TRUE;
575 if ((wc >= 0x11D3C && wc <= 0x11D3D) || wc == 0x11D3F)
576 return TRUE;
577 if (wc == 0x11D43 || (wc >= 0x11D8A && wc <= 0x11D8E))
578 return TRUE;
579 if ((wc >= 0x11D90 && wc <= 0x11D91) ||
580 (wc >= 0x11D93 && wc <= 0x11D94) ||
581 (wc >= 0x11EF3 && wc <= 0x11EF6))
582 return TRUE;
583 return FALSE;
584 }
585 return FALSE;
586 }
587 return FALSE;
588}
589
590static inline gboolean
591_pango_is_Consonant_Prefixed (gunichar wc)
592{
593 if ((wc >= 0x111C2 && wc <= 0x111C3) ||
594 wc == 0x1193F || wc == 0x11A3A || (wc >= 0x11A84 && wc <= 0x11A89))
595 return TRUE;
596 return FALSE;
597}
598
599static inline gboolean
600_pango_is_Consonant_Preceding_Repha (gunichar wc)
601{
602 if (wc == 0x0D4E || wc == 0x11941 || wc == 0x11D46)
603 return TRUE;
604 return FALSE;
605}
606
607static inline gboolean
608_pango_is_EastAsianWide (gunichar wc)
609{
610 if ((wc >= 0x1100 && wc <= 0x27B0))
611 {
612 if ((wc >= 0x1100 && wc <= 0x25FE))
613 {
614 if ((wc >= 0x1100 && wc <= 0x115F) || wc == 0x20A9)
615 return TRUE;
616 if ((wc >= 0x231A && wc <= 0x231B) ||
617 (wc >= 0x2329 && wc <= 0x232A))
618 return TRUE;
619 if ((wc >= 0x23E9 && wc <= 0x23EC) || wc == 0x23F0)
620 return TRUE;
621 if (wc == 0x23F3 || (wc >= 0x25FD && wc <= 0x25FE))
622 return TRUE;
623 return FALSE;
624 }
625 if ((wc >= 0x2614 && wc <= 0x26C5))
626 {
627 if ((wc >= 0x2614 && wc <= 0x2615) ||
628 (wc >= 0x2648 && wc <= 0x2653))
629 return TRUE;
630 if (wc == 0x267F || wc == 0x2693)
631 return TRUE;
632 if (wc == 0x26A1 || (wc >= 0x26AA && wc <= 0x26AB))
633 return TRUE;
634 if ((wc >= 0x26BD && wc <= 0x26BE) ||
635 (wc >= 0x26C4 && wc <= 0x26C5))
636 return TRUE;
637 return FALSE;
638 }
639 if ((wc >= 0x26CE && wc <= 0x2705))
640 {
641 if (wc == 0x26CE || wc == 0x26D4)
642 return TRUE;
643 if (wc == 0x26EA || (wc >= 0x26F2 && wc <= 0x26F3))
644 return TRUE;
645 if (wc == 0x26F5 || wc == 0x26FA)
646 return TRUE;
647 if (wc == 0x26FD || wc == 0x2705)
648 return TRUE;
649 return FALSE;
650 }
651 if ((wc >= 0x270A && wc <= 0x27B0))
652 {
653 if ((wc >= 0x270A && wc <= 0x270B) || wc == 0x2728)
654 return TRUE;
655 if (wc == 0x274C || wc == 0x274E)
656 return TRUE;
657 if ((wc >= 0x2753 && wc <= 0x2755) || wc == 0x2757)
658 return TRUE;
659 if ((wc >= 0x2795 && wc <= 0x2797) || wc == 0x27B0)
660 return TRUE;
661 return FALSE;
662 }
663 return FALSE;
664 }
665 if ((wc >= 0x27BF && wc <= 0xFFD7))
666 {
667 if ((wc >= 0x27BF && wc <= 0x2FFB))
668 {
669 if (wc == 0x27BF || (wc >= 0x2B1B && wc <= 0x2B1C))
670 return TRUE;
671 if (wc == 0x2B50 || wc == 0x2B55)
672 return TRUE;
673 if ((wc >= 0x2E80 && wc <= 0x2E99) ||
674 (wc >= 0x2E9B && wc <= 0x2EF3))
675 return TRUE;
676 if ((wc >= 0x2F00 && wc <= 0x2FD5) ||
677 (wc >= 0x2FF0 && wc <= 0x2FFB))
678 return TRUE;
679 return FALSE;
680 }
681 if ((wc >= 0x3000 && wc <= 0x321E))
682 {
683 if (wc == 0x3000 || (wc >= 0x3001 && wc <= 0x303E))
684 return TRUE;
685 if ((wc >= 0x3041 && wc <= 0x3096) ||
686 (wc >= 0x3099 && wc <= 0x30FF))
687 return TRUE;
688 if ((wc >= 0x3105 && wc <= 0x312F) ||
689 (wc >= 0x3131 && wc <= 0x318E))
690 return TRUE;
691 if ((wc >= 0x3190 && wc <= 0x31E3) ||
692 (wc >= 0x31F0 && wc <= 0x321E))
693 return TRUE;
694 return FALSE;
695 }
696 if ((wc >= 0x3220 && wc <= 0xFE19))
697 {
698 if ((wc >= 0x3220 && wc <= 0x3247) ||
699 (wc >= 0x3250 && wc <= 0x4DBF))
700 return TRUE;
701 if ((wc >= 0x4E00 && wc <= 0xA48C) ||
702 (wc >= 0xA490 && wc <= 0xA4C6))
703 return TRUE;
704 if ((wc >= 0xA960 && wc <= 0xA97C) ||
705 (wc >= 0xAC00 && wc <= 0xD7A3))
706 return TRUE;
707 if ((wc >= 0xF900 && wc <= 0xFAFF) ||
708 (wc >= 0xFE10 && wc <= 0xFE19))
709 return TRUE;
710 return FALSE;
711 }
712 if ((wc >= 0xFE30 && wc <= 0xFFD7))
713 {
714 if ((wc >= 0xFE30 && wc <= 0xFE52) ||
715 (wc >= 0xFE54 && wc <= 0xFE66))
716 return TRUE;
717 if ((wc >= 0xFE68 && wc <= 0xFE6B) ||
718 (wc >= 0xFF01 && wc <= 0xFF60))
719 return TRUE;
720 if ((wc >= 0xFF61 && wc <= 0xFFBE) ||
721 (wc >= 0xFFC2 && wc <= 0xFFC7))
722 return TRUE;
723 if ((wc >= 0xFFCA && wc <= 0xFFCF) ||
724 (wc >= 0xFFD2 && wc <= 0xFFD7))
725 return TRUE;
726 return FALSE;
727 }
728 return FALSE;
729 }
730 if ((wc >= 0xFFDA && wc <= 0x1F3F4))
731 {
732 if ((wc >= 0xFFDA && wc <= 0x18D08))
733 {
734 if ((wc >= 0xFFDA && wc <= 0xFFDC) ||
735 (wc >= 0xFFE0 && wc <= 0xFFE6))
736 return TRUE;
737 if ((wc >= 0xFFE8 && wc <= 0xFFEE) ||
738 (wc >= 0x16FE0 && wc <= 0x16FE4))
739 return TRUE;
740 if ((wc >= 0x16FF0 && wc <= 0x16FF1) ||
741 (wc >= 0x17000 && wc <= 0x187F7))
742 return TRUE;
743 if ((wc >= 0x18800 && wc <= 0x18CD5) ||
744 (wc >= 0x18D00 && wc <= 0x18D08))
745 return TRUE;
746 return FALSE;
747 }
748 if ((wc >= 0x1AFF0 && wc <= 0x1F004))
749 {
750 if ((wc >= 0x1AFF0 && wc <= 0x1AFF3) ||
751 (wc >= 0x1AFF5 && wc <= 0x1AFFB))
752 return TRUE;
753 if ((wc >= 0x1AFFD && wc <= 0x1AFFE) ||
754 (wc >= 0x1B000 && wc <= 0x1B122))
755 return TRUE;
756 if ((wc >= 0x1B150 && wc <= 0x1B152) ||
757 (wc >= 0x1B164 && wc <= 0x1B167))
758 return TRUE;
759 if ((wc >= 0x1B170 && wc <= 0x1B2FB) || wc == 0x1F004)
760 return TRUE;
761 return FALSE;
762 }
763 if ((wc >= 0x1F0CF && wc <= 0x1F265))
764 {
765 if (wc == 0x1F0CF || wc == 0x1F18E)
766 return TRUE;
767 if ((wc >= 0x1F191 && wc <= 0x1F19A) ||
768 (wc >= 0x1F200 && wc <= 0x1F202))
769 return TRUE;
770 if ((wc >= 0x1F210 && wc <= 0x1F23B) ||
771 (wc >= 0x1F240 && wc <= 0x1F248))
772 return TRUE;
773 if ((wc >= 0x1F250 && wc <= 0x1F251) ||
774 (wc >= 0x1F260 && wc <= 0x1F265))
775 return TRUE;
776 return FALSE;
777 }
778 if ((wc >= 0x1F300 && wc <= 0x1F3F4))
779 {
780 if ((wc >= 0x1F300 && wc <= 0x1F320) ||
781 (wc >= 0x1F32D && wc <= 0x1F335))
782 return TRUE;
783 if ((wc >= 0x1F337 && wc <= 0x1F37C) ||
784 (wc >= 0x1F37E && wc <= 0x1F393))
785 return TRUE;
786 if ((wc >= 0x1F3A0 && wc <= 0x1F3CA) ||
787 (wc >= 0x1F3CF && wc <= 0x1F3D3))
788 return TRUE;
789 if ((wc >= 0x1F3E0 && wc <= 0x1F3F0) || wc == 0x1F3F4)
790 return TRUE;
791 return FALSE;
792 }
793 return FALSE;
794 }
795 if ((wc >= 0x1F3F8 && wc <= 0x3FFFD))
796 {
797 if ((wc >= 0x1F3F8 && wc <= 0x1F596))
798 {
799 if ((wc >= 0x1F3F8 && wc <= 0x1F43E) || wc == 0x1F440)
800 return TRUE;
801 if ((wc >= 0x1F442 && wc <= 0x1F4FC) ||
802 (wc >= 0x1F4FF && wc <= 0x1F53D))
803 return TRUE;
804 if ((wc >= 0x1F54B && wc <= 0x1F54E) ||
805 (wc >= 0x1F550 && wc <= 0x1F567))
806 return TRUE;
807 if (wc == 0x1F57A || (wc >= 0x1F595 && wc <= 0x1F596))
808 return TRUE;
809 return FALSE;
810 }
811 if ((wc >= 0x1F5A4 && wc <= 0x1F6EC))
812 {
813 if (wc == 0x1F5A4 || (wc >= 0x1F5FB && wc <= 0x1F64F))
814 return TRUE;
815 if ((wc >= 0x1F680 && wc <= 0x1F6C5) || wc == 0x1F6CC)
816 return TRUE;
817 if ((wc >= 0x1F6D0 && wc <= 0x1F6D2) ||
818 (wc >= 0x1F6D5 && wc <= 0x1F6D7))
819 return TRUE;
820 if ((wc >= 0x1F6DD && wc <= 0x1F6DF) ||
821 (wc >= 0x1F6EB && wc <= 0x1F6EC))
822 return TRUE;
823 return FALSE;
824 }
825 if ((wc >= 0x1F6F4 && wc <= 0x1FA7C))
826 {
827 if ((wc >= 0x1F6F4 && wc <= 0x1F6FC) ||
828 (wc >= 0x1F7E0 && wc <= 0x1F7EB))
829 return TRUE;
830 if (wc == 0x1F7F0 || (wc >= 0x1F90C && wc <= 0x1F93A))
831 return TRUE;
832 if ((wc >= 0x1F93C && wc <= 0x1F945) ||
833 (wc >= 0x1F947 && wc <= 0x1F9FF))
834 return TRUE;
835 if ((wc >= 0x1FA70 && wc <= 0x1FA74) ||
836 (wc >= 0x1FA78 && wc <= 0x1FA7C))
837 return TRUE;
838 return FALSE;
839 }
840 if ((wc >= 0x1FA80 && wc <= 0x3FFFD))
841 {
842 if ((wc >= 0x1FA80 && wc <= 0x1FA86) ||
843 (wc >= 0x1FA90 && wc <= 0x1FAAC))
844 return TRUE;
845 if ((wc >= 0x1FAB0 && wc <= 0x1FABA) ||
846 (wc >= 0x1FAC0 && wc <= 0x1FAC5))
847 return TRUE;
848 if ((wc >= 0x1FAD0 && wc <= 0x1FAD9) ||
849 (wc >= 0x1FAE0 && wc <= 0x1FAE7))
850 return TRUE;
851 if ((wc >= 0x1FAF0 && wc <= 0x1FAF6) ||
852 (wc >= 0x20000 && wc <= 0x2FFFD) ||
853 (wc >= 0x30000 && wc <= 0x3FFFD))
854 return TRUE;
855 return FALSE;
856 }
857 return FALSE;
858 }
859 return FALSE;
860}
861
862#endif /* PANGO_BREAK_TABLE_H */
863
864/* == End of generated table == */
865

source code of gtk/subprojects/pango/pango/pango-break-table.h