"Fossies" - the Fresh Open Source Software Archive 
Member "pango-1.44.7/pango/pango-break-table.h" (25 Oct 2019, 15105 Bytes) of package /linux/misc/pango-1.44.7.tar.xz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "pango-break-table.h" see the
Fossies "Dox" file reference documentation.
1 /* == Start of generated table == */
2 /*
3 * The following tables are generated by running:
4 *
5 * ./gen-break-table.py SentenceBreakProperty.txt IndicSyllabicCategory.txt | indent
6 *
7 * on files with these headers:
8 *
9 * # SentenceBreakProperty-11.0.0.txt
10 * # Date: 2018-03-15, 04:28:45 GMT
11 * # © 2018 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 *
18 * # IndicSyllabicCategory-11.0.0.txt
19 * # Date: 2018-05-21, 18:33:00 GMT [KW, RP]
20 * # © 2018 Unicode®, Inc.
21 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
22 * # For terms of use, see http://www.unicode.org/terms_of_use.html
23 * #
24 * # For documentation, see UAX #44: Unicode Character Database,
25 * # at http://www.unicode.org/reports/tr44/
26 * #
27 * # This file defines the following property:
28 * #
29 * # Indic_Syllabic_Category enumerated property
30 * #
31 * # Scope: This property is aimed at two general problem
32 * # areas involving the analysis and processing of Indic scripts:
33 * #
34 * # 1. Specification of syllabic structure.
35 * # 2. Specification of segmentation rules.
36 * #
37 * # Both of these problem areas may benefit from having defined subtypes
38 * # of Indic script characters which are relevant to how Indic
39 * # syllables (or aksaras) are constructed. Note that rules for
40 * # syllabic structure in Indic scripts may differ significantly
41 * # from how phonological syllables are defined.
42 * #
43 * # Format:
44 * # Field 0 Unicode code point value or range of code point values
45 * # Field 1 Indic_Syllabic_Category property value
46 * #
47 * # Field 1 is followed by a comment field, starting with the number sign '#',
48 * # which shows the General_Category property value, the Unicode character name
49 * # or names, and, in lines with ranges of code points, the code point count in
50 * # square brackets.
51 * #
52 * # The scripts assessed as Indic in the structural sense used for the
53 * # Indic_Syllabic_Category are the following:
54 * #
55 * # Ahom, Balinese, Batak, Bengali, Bhaiksuki, Brahmi, Buginese, Buhid,
56 * # Chakma, Cham, Devanagari, Dogra, Grantha, Gujarati, Gunjala Gondi,
57 * # Gurmukhi, Hanunoo, Javanese, Kaithi, Kannada, Kayah Li, Kharoshthi,
58 * # Khmer, Khojki, Khudawadi, Lao, Lepcha, Limbu, Mahajani, Makasar,
59 * # Malayalam, Marchen, Masaram Gondi, Meetei Mayek, Modi, Multani,
60 * # Myanmar, Newa, New Tai Lue, Oriya, Phags-pa, Rejang, Saurashtra,
61 * # Sharada, Siddham, Sinhala, Soyombo, Sundanese, Syloti Nagri,
62 * # Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, Takri, Tamil,
63 * # Telugu, Thai, Tibetan, Tirhuta, and 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 *
70 */
71
72 #ifndef PANGO_BREAK_TABLE_H
73 #define PANGO_BREAK_TABLE_H
74
75 #include <glib.h>
76
77
78 static inline gboolean
79 _pango_is_STerm (gunichar wc)
80 {
81 if ((wc >= 0x0021 && wc <= 0x1803))
82 {
83 if (wc == 0x0021 ||
84 wc == 0x003F || wc == 0x0589 || (wc >= 0x061E && wc <= 0x061F))
85 return TRUE;
86 if (wc == 0x06D4 ||
87 (wc >= 0x0700 && wc <= 0x0702) || wc == 0x07F9 || wc == 0x0837)
88 return TRUE;
89 if (wc == 0x0839 ||
90 (wc >= 0x083D && wc <= 0x083E) ||
91 (wc >= 0x0964 && wc <= 0x0965) || (wc >= 0x104A && wc <= 0x104B))
92 return TRUE;
93 if ((wc >= 0x1362 && wc <= 0x1803))
94 {
95 if (wc == 0x1362)
96 return TRUE;
97 if ((wc >= 0x1367 && wc <= 0x1368))
98 return TRUE;
99 if (wc == 0x166E)
100 return TRUE;
101 if ((wc >= 0x1735 && wc <= 0x1736) || wc == 0x1803)
102 return TRUE;
103 return FALSE;
104 }
105 return FALSE;
106 }
107 if ((wc >= 0x1809 && wc <= 0xA8CF))
108 {
109 if (wc == 0x1809 ||
110 (wc >= 0x1944 && wc <= 0x1945) ||
111 (wc >= 0x1AA8 && wc <= 0x1AAB) || (wc >= 0x1B5A && wc <= 0x1B5B))
112 return TRUE;
113 if ((wc >= 0x1B5E && wc <= 0x2049))
114 {
115 if ((wc >= 0x1B5E && wc <= 0x1B5F))
116 return TRUE;
117 if ((wc >= 0x1C3B && wc <= 0x1C3C))
118 return TRUE;
119 if ((wc >= 0x1C7E && wc <= 0x1C7F))
120 return TRUE;
121 if ((wc >= 0x203C && wc <= 0x203D) ||
122 (wc >= 0x2047 && wc <= 0x2049))
123 return TRUE;
124 return FALSE;
125 }
126 if (wc == 0x2E2E || wc == 0x2E3C || wc == 0x3002 || wc == 0xA4FF)
127 return TRUE;
128 if ((wc >= 0xA60E && wc <= 0xA8CF))
129 {
130 if ((wc >= 0xA60E && wc <= 0xA60F))
131 return TRUE;
132 if (wc == 0xA6F3)
133 return TRUE;
134 if (wc == 0xA6F7)
135 return TRUE;
136 if ((wc >= 0xA876 && wc <= 0xA877) ||
137 (wc >= 0xA8CE && wc <= 0xA8CF))
138 return TRUE;
139 return FALSE;
140 }
141 return FALSE;
142 }
143 if ((wc >= 0xA92F && wc <= 0x111DF))
144 {
145 if (wc == 0xA92F ||
146 (wc >= 0xA9C8 && wc <= 0xA9C9) ||
147 (wc >= 0xAA5D && wc <= 0xAA5F) || (wc >= 0xAAF0 && wc <= 0xAAF1))
148 return TRUE;
149 if (wc == 0xABEB ||
150 (wc >= 0xFE56 && wc <= 0xFE57) || wc == 0xFF01 || wc == 0xFF1F)
151 return TRUE;
152 if (wc == 0xFF61 ||
153 (wc >= 0x10A56 && wc <= 0x10A57) ||
154 (wc >= 0x10F55 && wc <= 0x10F59) ||
155 (wc >= 0x11047 && wc <= 0x11048))
156 return TRUE;
157 if ((wc >= 0x110BE && wc <= 0x111DF))
158 {
159 if ((wc >= 0x110BE && wc <= 0x110C1))
160 return TRUE;
161 if ((wc >= 0x11141 && wc <= 0x11143))
162 return TRUE;
163 if ((wc >= 0x111C5 && wc <= 0x111C6))
164 return TRUE;
165 if (wc == 0x111CD || (wc >= 0x111DE && wc <= 0x111DF))
166 return TRUE;
167 return FALSE;
168 }
169 return FALSE;
170 }
171 if ((wc >= 0x11238 && wc <= 0x1DA88))
172 {
173 if ((wc >= 0x11238 && wc <= 0x11239) ||
174 (wc >= 0x1123B && wc <= 0x1123C) ||
175 wc == 0x112A9 || (wc >= 0x1144B && wc <= 0x1144C))
176 return TRUE;
177 if ((wc >= 0x115C2 && wc <= 0x11A43))
178 {
179 if ((wc >= 0x115C2 && wc <= 0x115C3))
180 return TRUE;
181 if ((wc >= 0x115C9 && wc <= 0x115D7))
182 return TRUE;
183 if ((wc >= 0x11641 && wc <= 0x11642))
184 return TRUE;
185 if ((wc >= 0x1173C && wc <= 0x1173E) ||
186 (wc >= 0x11A42 && wc <= 0x11A43))
187 return TRUE;
188 return FALSE;
189 }
190 if ((wc >= 0x11A9B && wc <= 0x11A9C) ||
191 (wc >= 0x11C41 && wc <= 0x11C42) ||
192 (wc >= 0x11EF7 && wc <= 0x11EF8) ||
193 (wc >= 0x16A6E && wc <= 0x16A6F))
194 return TRUE;
195 if ((wc >= 0x16AF5 && wc <= 0x1DA88))
196 {
197 if (wc == 0x16AF5)
198 return TRUE;
199 if ((wc >= 0x16B37 && wc <= 0x16B38) || wc == 0x16B44)
200 return TRUE;
201 if (wc == 0x16E98)
202 return TRUE;
203 if (wc == 0x1BC9F || wc == 0x1DA88)
204 return TRUE;
205 return FALSE;
206 }
207 return FALSE;
208 }
209 return FALSE;
210 }
211
212 static inline gboolean
213 _pango_is_Virama (gunichar wc)
214 {
215 if ((wc >= 0x094D && wc <= 0x0BCD))
216 {
217 if (wc == 0x094D)
218 return TRUE;
219 if (wc == 0x09CD || wc == 0x0A4D)
220 return TRUE;
221 if (wc == 0x0ACD)
222 return TRUE;
223 if (wc == 0x0B4D || wc == 0x0BCD)
224 return TRUE;
225 return FALSE;
226 }
227 if ((wc >= 0x0C4D && wc <= 0xA8C4))
228 {
229 if (wc == 0x0C4D)
230 return TRUE;
231 if (wc == 0x0CCD || wc == 0x0D4D)
232 return TRUE;
233 if (wc == 0x0DCA)
234 return TRUE;
235 if (wc == 0x1B44 || wc == 0xA8C4)
236 return TRUE;
237 return FALSE;
238 }
239 if ((wc >= 0xA9C0 && wc <= 0x1134D))
240 {
241 if (wc == 0xA9C0)
242 return TRUE;
243 if (wc == 0x11046 || wc == 0x110B9)
244 return TRUE;
245 if (wc == 0x111C0)
246 return TRUE;
247 if (wc == 0x11235 || wc == 0x1134D)
248 return TRUE;
249 return FALSE;
250 }
251 if ((wc >= 0x11442 && wc <= 0x11C3F))
252 {
253 if (wc == 0x11442)
254 return TRUE;
255 if (wc == 0x114C2 || wc == 0x115BF)
256 return TRUE;
257 if (wc == 0x1163F)
258 return TRUE;
259 if (wc == 0x116B6 || wc == 0x11839 || wc == 0x11C3F)
260 return TRUE;
261 return FALSE;
262 }
263 return FALSE;
264 }
265
266 static inline gboolean
267 _pango_is_Vowel_Dependent (gunichar wc)
268 {
269 if ((wc >= 0x093A && wc <= 0x0C63))
270 {
271 if ((wc >= 0x093A && wc <= 0x09C8))
272 {
273 if ((wc >= 0x093A && wc <= 0x093B))
274 return TRUE;
275 if ((wc >= 0x093E && wc <= 0x094C) ||
276 (wc >= 0x094E && wc <= 0x094F))
277 return TRUE;
278 if ((wc >= 0x0955 && wc <= 0x0957))
279 return TRUE;
280 if ((wc >= 0x0962 && wc <= 0x0963) ||
281 (wc >= 0x09BE && wc <= 0x09C4) ||
282 (wc >= 0x09C7 && wc <= 0x09C8))
283 return TRUE;
284 return FALSE;
285 }
286 if ((wc >= 0x09CB && wc <= 0x0AC9))
287 {
288 if ((wc >= 0x09CB && wc <= 0x09CC) || wc == 0x09D7)
289 return TRUE;
290 if ((wc >= 0x09E2 && wc <= 0x09E3) ||
291 (wc >= 0x0A3E && wc <= 0x0A42))
292 return TRUE;
293 if ((wc >= 0x0A47 && wc <= 0x0A48) ||
294 (wc >= 0x0A4B && wc <= 0x0A4C))
295 return TRUE;
296 if ((wc >= 0x0ABE && wc <= 0x0AC5) ||
297 (wc >= 0x0AC7 && wc <= 0x0AC9))
298 return TRUE;
299 return FALSE;
300 }
301 if ((wc >= 0x0ACB && wc <= 0x0B63))
302 {
303 if ((wc >= 0x0ACB && wc <= 0x0ACC))
304 return TRUE;
305 if ((wc >= 0x0AE2 && wc <= 0x0AE3) ||
306 (wc >= 0x0B3E && wc <= 0x0B44))
307 return TRUE;
308 if ((wc >= 0x0B47 && wc <= 0x0B48))
309 return TRUE;
310 if ((wc >= 0x0B4B && wc <= 0x0B4C) ||
311 (wc >= 0x0B56 && wc <= 0x0B57) ||
312 (wc >= 0x0B62 && wc <= 0x0B63))
313 return TRUE;
314 return FALSE;
315 }
316 if ((wc >= 0x0BBE && wc <= 0x0C63))
317 {
318 if ((wc >= 0x0BBE && wc <= 0x0BC2) ||
319 (wc >= 0x0BC6 && wc <= 0x0BC8))
320 return TRUE;
321 if ((wc >= 0x0BCA && wc <= 0x0BCC) || wc == 0x0BD7)
322 return TRUE;
323 if ((wc >= 0x0C3E && wc <= 0x0C44) ||
324 (wc >= 0x0C46 && wc <= 0x0C48))
325 return TRUE;
326 if ((wc >= 0x0C4A && wc <= 0x0C4C) ||
327 (wc >= 0x0C55 && wc <= 0x0C56) ||
328 (wc >= 0x0C62 && wc <= 0x0C63))
329 return TRUE;
330 return FALSE;
331 }
332 return FALSE;
333 }
334 if ((wc >= 0x0CBE && wc <= 0x1733))
335 {
336 if ((wc >= 0x0CBE && wc <= 0x0D48))
337 {
338 if ((wc >= 0x0CBE && wc <= 0x0CC4))
339 return TRUE;
340 if ((wc >= 0x0CC6 && wc <= 0x0CC8) ||
341 (wc >= 0x0CCA && wc <= 0x0CCC))
342 return TRUE;
343 if ((wc >= 0x0CD5 && wc <= 0x0CD6))
344 return TRUE;
345 if ((wc >= 0x0CE2 && wc <= 0x0CE3) ||
346 (wc >= 0x0D3E && wc <= 0x0D44) ||
347 (wc >= 0x0D46 && wc <= 0x0D48))
348 return TRUE;
349 return FALSE;
350 }
351 if ((wc >= 0x0D4A && wc <= 0x0E39))
352 {
353 if ((wc >= 0x0D4A && wc <= 0x0D4C) || wc == 0x0D57)
354 return TRUE;
355 if ((wc >= 0x0D62 && wc <= 0x0D63) ||
356 (wc >= 0x0DCF && wc <= 0x0DD4))
357 return TRUE;
358 if (wc == 0x0DD6 || (wc >= 0x0DD8 && wc <= 0x0DDF))
359 return TRUE;
360 if ((wc >= 0x0DF2 && wc <= 0x0DF3) ||
361 (wc >= 0x0E30 && wc <= 0x0E39))
362 return TRUE;
363 return FALSE;
364 }
365 if ((wc >= 0x0E40 && wc <= 0x0F81))
366 {
367 if ((wc >= 0x0E40 && wc <= 0x0E45))
368 return TRUE;
369 if (wc == 0x0E47 || (wc >= 0x0EB0 && wc <= 0x0EB9))
370 return TRUE;
371 if (wc == 0x0EBB)
372 return TRUE;
373 if ((wc >= 0x0EC0 && wc <= 0x0EC4) ||
374 (wc >= 0x0F71 && wc <= 0x0F7D) ||
375 (wc >= 0x0F80 && wc <= 0x0F81))
376 return TRUE;
377 return FALSE;
378 }
379 if ((wc >= 0x102B && wc <= 0x1733))
380 {
381 if ((wc >= 0x102B && wc <= 0x1035) ||
382 (wc >= 0x1056 && wc <= 0x1059))
383 return TRUE;
384 if (wc == 0x1062 || (wc >= 0x1067 && wc <= 0x1068))
385 return TRUE;
386 if ((wc >= 0x1071 && wc <= 0x1074) ||
387 (wc >= 0x1083 && wc <= 0x1086))
388 return TRUE;
389 if ((wc >= 0x109C && wc <= 0x109D) ||
390 (wc >= 0x1712 && wc <= 0x1713) ||
391 (wc >= 0x1732 && wc <= 0x1733))
392 return TRUE;
393 return FALSE;
394 }
395 return FALSE;
396 }
397 if ((wc >= 0x1752 && wc <= 0x111BF))
398 {
399 if ((wc >= 0x1752 && wc <= 0x19C0))
400 {
401 if ((wc >= 0x1752 && wc <= 0x1753))
402 return TRUE;
403 if ((wc >= 0x1772 && wc <= 0x1773) ||
404 (wc >= 0x17B6 && wc <= 0x17C5))
405 return TRUE;
406 if (wc == 0x17C8)
407 return TRUE;
408 if ((wc >= 0x1920 && wc <= 0x1928) ||
409 wc == 0x193A || (wc >= 0x19B0 && wc <= 0x19C0))
410 return TRUE;
411 return FALSE;
412 }
413 if ((wc >= 0x1A17 && wc <= 0xA8C3))
414 {
415 if ((wc >= 0x1A17 && wc <= 0x1A1B) ||
416 (wc >= 0x1A61 && wc <= 0x1A73))
417 return TRUE;
418 if ((wc >= 0x1B35 && wc <= 0x1B43) ||
419 (wc >= 0x1BA4 && wc <= 0x1BA9))
420 return TRUE;
421 if ((wc >= 0x1BE7 && wc <= 0x1BEF) ||
422 (wc >= 0x1C26 && wc <= 0x1C2C))
423 return TRUE;
424 if ((wc >= 0xA823 && wc <= 0xA827) ||
425 (wc >= 0xA8B5 && wc <= 0xA8C3))
426 return TRUE;
427 return FALSE;
428 }
429 if ((wc >= 0xA8FF && wc <= 0xAAEF))
430 {
431 if (wc == 0xA8FF)
432 return TRUE;
433 if ((wc >= 0xA947 && wc <= 0xA94E) ||
434 (wc >= 0xA9B4 && wc <= 0xA9BC))
435 return TRUE;
436 if (wc == 0xA9E5)
437 return TRUE;
438 if ((wc >= 0xAA29 && wc <= 0xAA32) ||
439 (wc >= 0xAAB0 && wc <= 0xAABE) ||
440 (wc >= 0xAAEB && wc <= 0xAAEF))
441 return TRUE;
442 return FALSE;
443 }
444 if ((wc >= 0xABE3 && wc <= 0x111BF))
445 {
446 if ((wc >= 0xABE3 && wc <= 0xABEA) ||
447 (wc >= 0x10A01 && wc <= 0x10A03))
448 return TRUE;
449 if ((wc >= 0x10A05 && wc <= 0x10A06) ||
450 (wc >= 0x10A0C && wc <= 0x10A0D))
451 return TRUE;
452 if ((wc >= 0x11038 && wc <= 0x11045) ||
453 (wc >= 0x110B0 && wc <= 0x110B8))
454 return TRUE;
455 if ((wc >= 0x11127 && wc <= 0x11132) ||
456 (wc >= 0x11145 && wc <= 0x11146) ||
457 (wc >= 0x111B3 && wc <= 0x111BF))
458 return TRUE;
459 return FALSE;
460 }
461 return FALSE;
462 }
463 if ((wc >= 0x111CB && wc <= 0x11EF6))
464 {
465 if ((wc >= 0x111CB && wc <= 0x11363))
466 {
467 if ((wc >= 0x111CB && wc <= 0x111CC) ||
468 (wc >= 0x1122C && wc <= 0x11233))
469 return TRUE;
470 if ((wc >= 0x112E0 && wc <= 0x112E8) ||
471 (wc >= 0x1133E && wc <= 0x11344))
472 return TRUE;
473 if ((wc >= 0x11347 && wc <= 0x11348) ||
474 (wc >= 0x1134B && wc <= 0x1134C))
475 return TRUE;
476 if (wc == 0x11357 || (wc >= 0x11362 && wc <= 0x11363))
477 return TRUE;
478 return FALSE;
479 }
480 if ((wc >= 0x11435 && wc <= 0x116B5))
481 {
482 if ((wc >= 0x11435 && wc <= 0x11441) ||
483 (wc >= 0x114B0 && wc <= 0x114BE))
484 return TRUE;
485 if ((wc >= 0x115AF && wc <= 0x115B5) ||
486 (wc >= 0x115B8 && wc <= 0x115BB))
487 return TRUE;
488 if ((wc >= 0x115DC && wc <= 0x115DD) ||
489 (wc >= 0x11630 && wc <= 0x1163C))
490 return TRUE;
491 if (wc == 0x11640 || (wc >= 0x116AD && wc <= 0x116B5))
492 return TRUE;
493 return FALSE;
494 }
495 if ((wc >= 0x11720 && wc <= 0x11D36))
496 {
497 if ((wc >= 0x11720 && wc <= 0x1172A) ||
498 (wc >= 0x1182C && wc <= 0x11836))
499 return TRUE;
500 if ((wc >= 0x11A01 && wc <= 0x11A0A) ||
501 (wc >= 0x11A51 && wc <= 0x11A5B))
502 return TRUE;
503 if ((wc >= 0x11C2F && wc <= 0x11C36) ||
504 (wc >= 0x11C38 && wc <= 0x11C3B))
505 return TRUE;
506 if ((wc >= 0x11CB0 && wc <= 0x11CB4) ||
507 (wc >= 0x11D31 && wc <= 0x11D36))
508 return TRUE;
509 return FALSE;
510 }
511 if ((wc >= 0x11D3A && wc <= 0x11EF6))
512 {
513 if (wc == 0x11D3A || (wc >= 0x11D3C && wc <= 0x11D3D))
514 return TRUE;
515 if (wc == 0x11D3F || wc == 0x11D43)
516 return TRUE;
517 if ((wc >= 0x11D8A && wc <= 0x11D8E) ||
518 (wc >= 0x11D90 && wc <= 0x11D91))
519 return TRUE;
520 if ((wc >= 0x11D93 && wc <= 0x11D94) ||
521 (wc >= 0x11EF3 && wc <= 0x11EF6))
522 return TRUE;
523 return FALSE;
524 }
525 return FALSE;
526 }
527 return FALSE;
528 }
529
530 #endif /* PANGO_BREAK_TABLE_H */
531
532 /* == End of generated table == */