pango  1.44.7
About: Pango is a library for laying out and rendering of text, with an emphasis on internationalization (an offshoot of the GTK+ and GNOME projects).
  Fossies Dox: pango-1.44.7.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

pango-break-table.h
Go to the documentation of this file.
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
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 == */
_pango_is_Virama
static gboolean _pango_is_Virama(gunichar wc)
Definition: pango-break-table.h:213
_pango_is_STerm
static gboolean _pango_is_STerm(gunichar wc)
Definition: pango-break-table.h:79
_pango_is_Vowel_Dependent
static gboolean _pango_is_Vowel_Dependent(gunichar wc)
Definition: pango-break-table.h:267