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 | |
119 | static 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 | |
271 | static 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 | |
325 | static 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 | |
590 | static 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 | |
599 | static 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 | |
607 | static 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 | |