summaryrefslogtreecommitdiff
path: root/pango/pango-break-table.h
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2019-02-19 15:06:00 +0800
committerPeng Wu <alexepico@gmail.com>2019-04-09 15:41:34 +0800
commitdd3cb788f3ceb8c94e7ff99dec1b4cddecf83d9f (patch)
tree497aa34335152cdd20ae38c069b9b4bce017543c /pango/pango-break-table.h
parent053c4878ef5572a5f88f0ce48b75a8ab86f035a1 (diff)
downloadpango-dd3cb788f3ceb8c94e7ff99dec1b4cddecf83d9f.tar.gz
import pango-break-table.h
Diffstat (limited to 'pango/pango-break-table.h')
-rw-r--r--pango/pango-break-table.h532
1 files changed, 532 insertions, 0 deletions
diff --git a/pango/pango-break-table.h b/pango/pango-break-table.h
new file mode 100644
index 00000000..2361ede5
--- /dev/null
+++ b/pango/pango-break-table.h
@@ -0,0 +1,532 @@
+/* == Start of generated table == */
+/*
+ * The following tables are generated by running:
+ *
+ * ./gen-break-table.py SentenceBreakProperty.txt IndicSyllabicCategory.txt | indent
+ *
+ * on files with these headers:
+ *
+ * # SentenceBreakProperty-11.0.0.txt
+ * # Date: 2018-03-15, 04:28:45 GMT
+ * # © 2018 Unicode®, Inc.
+ * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+ * # For terms of use, see http://www.unicode.org/terms_of_use.html
+ * #
+ * # Unicode Character Database
+ * # For documentation, see http://www.unicode.org/reports/tr44/
+ *
+ * # IndicSyllabicCategory-11.0.0.txt
+ * # Date: 2018-05-21, 18:33:00 GMT [KW, RP]
+ * # © 2018 Unicode®, Inc.
+ * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+ * # For terms of use, see http://www.unicode.org/terms_of_use.html
+ * #
+ * # For documentation, see UAX #44: Unicode Character Database,
+ * # at http://www.unicode.org/reports/tr44/
+ * #
+ * # This file defines the following property:
+ * #
+ * # Indic_Syllabic_Category enumerated property
+ * #
+ * # Scope: This property is aimed at two general problem
+ * # areas involving the analysis and processing of Indic scripts:
+ * #
+ * # 1. Specification of syllabic structure.
+ * # 2. Specification of segmentation rules.
+ * #
+ * # Both of these problem areas may benefit from having defined subtypes
+ * # of Indic script characters which are relevant to how Indic
+ * # syllables (or aksaras) are constructed. Note that rules for
+ * # syllabic structure in Indic scripts may differ significantly
+ * # from how phonological syllables are defined.
+ * #
+ * # Format:
+ * # Field 0 Unicode code point value or range of code point values
+ * # Field 1 Indic_Syllabic_Category property value
+ * #
+ * # Field 1 is followed by a comment field, starting with the number sign '#',
+ * # which shows the General_Category property value, the Unicode character name
+ * # or names, and, in lines with ranges of code points, the code point count in
+ * # square brackets.
+ * #
+ * # The scripts assessed as Indic in the structural sense used for the
+ * # Indic_Syllabic_Category are the following:
+ * #
+ * # Ahom, Balinese, Batak, Bengali, Bhaiksuki, Brahmi, Buginese, Buhid,
+ * # Chakma, Cham, Devanagari, Dogra, Grantha, Gujarati, Gunjala Gondi,
+ * # Gurmukhi, Hanunoo, Javanese, Kaithi, Kannada, Kayah Li, Kharoshthi,
+ * # Khmer, Khojki, Khudawadi, Lao, Lepcha, Limbu, Mahajani, Makasar,
+ * # Malayalam, Marchen, Masaram Gondi, Meetei Mayek, Modi, Multani,
+ * # Myanmar, Newa, New Tai Lue, Oriya, Phags-pa, Rejang, Saurashtra,
+ * # Sharada, Siddham, Sinhala, Soyombo, Sundanese, Syloti Nagri,
+ * # Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, Takri, Tamil,
+ * # Telugu, Thai, Tibetan, Tirhuta, and Zanabazar Square.
+ * #
+ * # All characters for all other scripts not in that list
+ * # take the default value for this property, unless they
+ * # are individually listed in this data file.
+ * #
+ *
+ */
+
+#ifndef PANGO_BREAK_TABLE_H
+#define PANGO_BREAK_TABLE_H
+
+#include <glib.h>
+
+
+static inline gboolean
+_pango_is_STerm (gunichar wc)
+{
+ if ((wc >= 0x0021 && wc <= 0x1803))
+ {
+ if (wc == 0x0021 ||
+ wc == 0x003F || wc == 0x0589 || (wc >= 0x061E && wc <= 0x061F))
+ return TRUE;
+ if (wc == 0x06D4 ||
+ (wc >= 0x0700 && wc <= 0x0702) || wc == 0x07F9 || wc == 0x0837)
+ return TRUE;
+ if (wc == 0x0839 ||
+ (wc >= 0x083D && wc <= 0x083E) ||
+ (wc >= 0x0964 && wc <= 0x0965) || (wc >= 0x104A && wc <= 0x104B))
+ return TRUE;
+ if ((wc >= 0x1362 && wc <= 0x1803))
+ {
+ if (wc == 0x1362)
+ return TRUE;
+ if ((wc >= 0x1367 && wc <= 0x1368))
+ return TRUE;
+ if (wc == 0x166E)
+ return TRUE;
+ if ((wc >= 0x1735 && wc <= 0x1736) || wc == 0x1803)
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0x1809 && wc <= 0xA8CF))
+ {
+ if (wc == 0x1809 ||
+ (wc >= 0x1944 && wc <= 0x1945) ||
+ (wc >= 0x1AA8 && wc <= 0x1AAB) || (wc >= 0x1B5A && wc <= 0x1B5B))
+ return TRUE;
+ if ((wc >= 0x1B5E && wc <= 0x2049))
+ {
+ if ((wc >= 0x1B5E && wc <= 0x1B5F))
+ return TRUE;
+ if ((wc >= 0x1C3B && wc <= 0x1C3C))
+ return TRUE;
+ if ((wc >= 0x1C7E && wc <= 0x1C7F))
+ return TRUE;
+ if ((wc >= 0x203C && wc <= 0x203D) ||
+ (wc >= 0x2047 && wc <= 0x2049))
+ return TRUE;
+ return FALSE;
+ }
+ if (wc == 0x2E2E || wc == 0x2E3C || wc == 0x3002 || wc == 0xA4FF)
+ return TRUE;
+ if ((wc >= 0xA60E && wc <= 0xA8CF))
+ {
+ if ((wc >= 0xA60E && wc <= 0xA60F))
+ return TRUE;
+ if (wc == 0xA6F3)
+ return TRUE;
+ if (wc == 0xA6F7)
+ return TRUE;
+ if ((wc >= 0xA876 && wc <= 0xA877) ||
+ (wc >= 0xA8CE && wc <= 0xA8CF))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0xA92F && wc <= 0x111DF))
+ {
+ if (wc == 0xA92F ||
+ (wc >= 0xA9C8 && wc <= 0xA9C9) ||
+ (wc >= 0xAA5D && wc <= 0xAA5F) || (wc >= 0xAAF0 && wc <= 0xAAF1))
+ return TRUE;
+ if (wc == 0xABEB ||
+ (wc >= 0xFE56 && wc <= 0xFE57) || wc == 0xFF01 || wc == 0xFF1F)
+ return TRUE;
+ if (wc == 0xFF61 ||
+ (wc >= 0x10A56 && wc <= 0x10A57) ||
+ (wc >= 0x10F55 && wc <= 0x10F59) ||
+ (wc >= 0x11047 && wc <= 0x11048))
+ return TRUE;
+ if ((wc >= 0x110BE && wc <= 0x111DF))
+ {
+ if ((wc >= 0x110BE && wc <= 0x110C1))
+ return TRUE;
+ if ((wc >= 0x11141 && wc <= 0x11143))
+ return TRUE;
+ if ((wc >= 0x111C5 && wc <= 0x111C6))
+ return TRUE;
+ if (wc == 0x111CD || (wc >= 0x111DE && wc <= 0x111DF))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0x11238 && wc <= 0x1DA88))
+ {
+ if ((wc >= 0x11238 && wc <= 0x11239) ||
+ (wc >= 0x1123B && wc <= 0x1123C) ||
+ wc == 0x112A9 || (wc >= 0x1144B && wc <= 0x1144C))
+ return TRUE;
+ if ((wc >= 0x115C2 && wc <= 0x11A43))
+ {
+ if ((wc >= 0x115C2 && wc <= 0x115C3))
+ return TRUE;
+ if ((wc >= 0x115C9 && wc <= 0x115D7))
+ return TRUE;
+ if ((wc >= 0x11641 && wc <= 0x11642))
+ return TRUE;
+ if ((wc >= 0x1173C && wc <= 0x1173E) ||
+ (wc >= 0x11A42 && wc <= 0x11A43))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x11A9B && wc <= 0x11A9C) ||
+ (wc >= 0x11C41 && wc <= 0x11C42) ||
+ (wc >= 0x11EF7 && wc <= 0x11EF8) ||
+ (wc >= 0x16A6E && wc <= 0x16A6F))
+ return TRUE;
+ if ((wc >= 0x16AF5 && wc <= 0x1DA88))
+ {
+ if (wc == 0x16AF5)
+ return TRUE;
+ if ((wc >= 0x16B37 && wc <= 0x16B38) || wc == 0x16B44)
+ return TRUE;
+ if (wc == 0x16E98)
+ return TRUE;
+ if (wc == 0x1BC9F || wc == 0x1DA88)
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ return FALSE;
+}
+
+static inline gboolean
+_pango_is_Virama (gunichar wc)
+{
+ if ((wc >= 0x094D && wc <= 0x0BCD))
+ {
+ if (wc == 0x094D)
+ return TRUE;
+ if (wc == 0x09CD || wc == 0x0A4D)
+ return TRUE;
+ if (wc == 0x0ACD)
+ return TRUE;
+ if (wc == 0x0B4D || wc == 0x0BCD)
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x0C4D && wc <= 0xA8C4))
+ {
+ if (wc == 0x0C4D)
+ return TRUE;
+ if (wc == 0x0CCD || wc == 0x0D4D)
+ return TRUE;
+ if (wc == 0x0DCA)
+ return TRUE;
+ if (wc == 0x1B44 || wc == 0xA8C4)
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0xA9C0 && wc <= 0x1134D))
+ {
+ if (wc == 0xA9C0)
+ return TRUE;
+ if (wc == 0x11046 || wc == 0x110B9)
+ return TRUE;
+ if (wc == 0x111C0)
+ return TRUE;
+ if (wc == 0x11235 || wc == 0x1134D)
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x11442 && wc <= 0x11C3F))
+ {
+ if (wc == 0x11442)
+ return TRUE;
+ if (wc == 0x114C2 || wc == 0x115BF)
+ return TRUE;
+ if (wc == 0x1163F)
+ return TRUE;
+ if (wc == 0x116B6 || wc == 0x11839 || wc == 0x11C3F)
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+}
+
+static inline gboolean
+_pango_is_Vowel_Dependent (gunichar wc)
+{
+ if ((wc >= 0x093A && wc <= 0x0C63))
+ {
+ if ((wc >= 0x093A && wc <= 0x09C8))
+ {
+ if ((wc >= 0x093A && wc <= 0x093B))
+ return TRUE;
+ if ((wc >= 0x093E && wc <= 0x094C) ||
+ (wc >= 0x094E && wc <= 0x094F))
+ return TRUE;
+ if ((wc >= 0x0955 && wc <= 0x0957))
+ return TRUE;
+ if ((wc >= 0x0962 && wc <= 0x0963) ||
+ (wc >= 0x09BE && wc <= 0x09C4) ||
+ (wc >= 0x09C7 && wc <= 0x09C8))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x09CB && wc <= 0x0AC9))
+ {
+ if ((wc >= 0x09CB && wc <= 0x09CC) || wc == 0x09D7)
+ return TRUE;
+ if ((wc >= 0x09E2 && wc <= 0x09E3) ||
+ (wc >= 0x0A3E && wc <= 0x0A42))
+ return TRUE;
+ if ((wc >= 0x0A47 && wc <= 0x0A48) ||
+ (wc >= 0x0A4B && wc <= 0x0A4C))
+ return TRUE;
+ if ((wc >= 0x0ABE && wc <= 0x0AC5) ||
+ (wc >= 0x0AC7 && wc <= 0x0AC9))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x0ACB && wc <= 0x0B63))
+ {
+ if ((wc >= 0x0ACB && wc <= 0x0ACC))
+ return TRUE;
+ if ((wc >= 0x0AE2 && wc <= 0x0AE3) ||
+ (wc >= 0x0B3E && wc <= 0x0B44))
+ return TRUE;
+ if ((wc >= 0x0B47 && wc <= 0x0B48))
+ return TRUE;
+ if ((wc >= 0x0B4B && wc <= 0x0B4C) ||
+ (wc >= 0x0B56 && wc <= 0x0B57) ||
+ (wc >= 0x0B62 && wc <= 0x0B63))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x0BBE && wc <= 0x0C63))
+ {
+ if ((wc >= 0x0BBE && wc <= 0x0BC2) ||
+ (wc >= 0x0BC6 && wc <= 0x0BC8))
+ return TRUE;
+ if ((wc >= 0x0BCA && wc <= 0x0BCC) || wc == 0x0BD7)
+ return TRUE;
+ if ((wc >= 0x0C3E && wc <= 0x0C44) ||
+ (wc >= 0x0C46 && wc <= 0x0C48))
+ return TRUE;
+ if ((wc >= 0x0C4A && wc <= 0x0C4C) ||
+ (wc >= 0x0C55 && wc <= 0x0C56) ||
+ (wc >= 0x0C62 && wc <= 0x0C63))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0x0CBE && wc <= 0x1733))
+ {
+ if ((wc >= 0x0CBE && wc <= 0x0D48))
+ {
+ if ((wc >= 0x0CBE && wc <= 0x0CC4))
+ return TRUE;
+ if ((wc >= 0x0CC6 && wc <= 0x0CC8) ||
+ (wc >= 0x0CCA && wc <= 0x0CCC))
+ return TRUE;
+ if ((wc >= 0x0CD5 && wc <= 0x0CD6))
+ return TRUE;
+ if ((wc >= 0x0CE2 && wc <= 0x0CE3) ||
+ (wc >= 0x0D3E && wc <= 0x0D44) ||
+ (wc >= 0x0D46 && wc <= 0x0D48))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x0D4A && wc <= 0x0E39))
+ {
+ if ((wc >= 0x0D4A && wc <= 0x0D4C) || wc == 0x0D57)
+ return TRUE;
+ if ((wc >= 0x0D62 && wc <= 0x0D63) ||
+ (wc >= 0x0DCF && wc <= 0x0DD4))
+ return TRUE;
+ if (wc == 0x0DD6 || (wc >= 0x0DD8 && wc <= 0x0DDF))
+ return TRUE;
+ if ((wc >= 0x0DF2 && wc <= 0x0DF3) ||
+ (wc >= 0x0E30 && wc <= 0x0E39))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x0E40 && wc <= 0x0F81))
+ {
+ if ((wc >= 0x0E40 && wc <= 0x0E45))
+ return TRUE;
+ if (wc == 0x0E47 || (wc >= 0x0EB0 && wc <= 0x0EB9))
+ return TRUE;
+ if (wc == 0x0EBB)
+ return TRUE;
+ if ((wc >= 0x0EC0 && wc <= 0x0EC4) ||
+ (wc >= 0x0F71 && wc <= 0x0F7D) ||
+ (wc >= 0x0F80 && wc <= 0x0F81))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x102B && wc <= 0x1733))
+ {
+ if ((wc >= 0x102B && wc <= 0x1035) ||
+ (wc >= 0x1056 && wc <= 0x1059))
+ return TRUE;
+ if (wc == 0x1062 || (wc >= 0x1067 && wc <= 0x1068))
+ return TRUE;
+ if ((wc >= 0x1071 && wc <= 0x1074) ||
+ (wc >= 0x1083 && wc <= 0x1086))
+ return TRUE;
+ if ((wc >= 0x109C && wc <= 0x109D) ||
+ (wc >= 0x1712 && wc <= 0x1713) ||
+ (wc >= 0x1732 && wc <= 0x1733))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0x1752 && wc <= 0x111BF))
+ {
+ if ((wc >= 0x1752 && wc <= 0x19C0))
+ {
+ if ((wc >= 0x1752 && wc <= 0x1753))
+ return TRUE;
+ if ((wc >= 0x1772 && wc <= 0x1773) ||
+ (wc >= 0x17B6 && wc <= 0x17C5))
+ return TRUE;
+ if (wc == 0x17C8)
+ return TRUE;
+ if ((wc >= 0x1920 && wc <= 0x1928) ||
+ wc == 0x193A || (wc >= 0x19B0 && wc <= 0x19C0))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x1A17 && wc <= 0xA8C3))
+ {
+ if ((wc >= 0x1A17 && wc <= 0x1A1B) ||
+ (wc >= 0x1A61 && wc <= 0x1A73))
+ return TRUE;
+ if ((wc >= 0x1B35 && wc <= 0x1B43) ||
+ (wc >= 0x1BA4 && wc <= 0x1BA9))
+ return TRUE;
+ if ((wc >= 0x1BE7 && wc <= 0x1BEF) ||
+ (wc >= 0x1C26 && wc <= 0x1C2C))
+ return TRUE;
+ if ((wc >= 0xA823 && wc <= 0xA827) ||
+ (wc >= 0xA8B5 && wc <= 0xA8C3))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0xA8FF && wc <= 0xAAEF))
+ {
+ if (wc == 0xA8FF)
+ return TRUE;
+ if ((wc >= 0xA947 && wc <= 0xA94E) ||
+ (wc >= 0xA9B4 && wc <= 0xA9BC))
+ return TRUE;
+ if (wc == 0xA9E5)
+ return TRUE;
+ if ((wc >= 0xAA29 && wc <= 0xAA32) ||
+ (wc >= 0xAAB0 && wc <= 0xAABE) ||
+ (wc >= 0xAAEB && wc <= 0xAAEF))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0xABE3 && wc <= 0x111BF))
+ {
+ if ((wc >= 0xABE3 && wc <= 0xABEA) ||
+ (wc >= 0x10A01 && wc <= 0x10A03))
+ return TRUE;
+ if ((wc >= 0x10A05 && wc <= 0x10A06) ||
+ (wc >= 0x10A0C && wc <= 0x10A0D))
+ return TRUE;
+ if ((wc >= 0x11038 && wc <= 0x11045) ||
+ (wc >= 0x110B0 && wc <= 0x110B8))
+ return TRUE;
+ if ((wc >= 0x11127 && wc <= 0x11132) ||
+ (wc >= 0x11145 && wc <= 0x11146) ||
+ (wc >= 0x111B3 && wc <= 0x111BF))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ if ((wc >= 0x111CB && wc <= 0x11EF6))
+ {
+ if ((wc >= 0x111CB && wc <= 0x11363))
+ {
+ if ((wc >= 0x111CB && wc <= 0x111CC) ||
+ (wc >= 0x1122C && wc <= 0x11233))
+ return TRUE;
+ if ((wc >= 0x112E0 && wc <= 0x112E8) ||
+ (wc >= 0x1133E && wc <= 0x11344))
+ return TRUE;
+ if ((wc >= 0x11347 && wc <= 0x11348) ||
+ (wc >= 0x1134B && wc <= 0x1134C))
+ return TRUE;
+ if (wc == 0x11357 || (wc >= 0x11362 && wc <= 0x11363))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x11435 && wc <= 0x116B5))
+ {
+ if ((wc >= 0x11435 && wc <= 0x11441) ||
+ (wc >= 0x114B0 && wc <= 0x114BE))
+ return TRUE;
+ if ((wc >= 0x115AF && wc <= 0x115B5) ||
+ (wc >= 0x115B8 && wc <= 0x115BB))
+ return TRUE;
+ if ((wc >= 0x115DC && wc <= 0x115DD) ||
+ (wc >= 0x11630 && wc <= 0x1163C))
+ return TRUE;
+ if (wc == 0x11640 || (wc >= 0x116AD && wc <= 0x116B5))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x11720 && wc <= 0x11D36))
+ {
+ if ((wc >= 0x11720 && wc <= 0x1172A) ||
+ (wc >= 0x1182C && wc <= 0x11836))
+ return TRUE;
+ if ((wc >= 0x11A01 && wc <= 0x11A0A) ||
+ (wc >= 0x11A51 && wc <= 0x11A5B))
+ return TRUE;
+ if ((wc >= 0x11C2F && wc <= 0x11C36) ||
+ (wc >= 0x11C38 && wc <= 0x11C3B))
+ return TRUE;
+ if ((wc >= 0x11CB0 && wc <= 0x11CB4) ||
+ (wc >= 0x11D31 && wc <= 0x11D36))
+ return TRUE;
+ return FALSE;
+ }
+ if ((wc >= 0x11D3A && wc <= 0x11EF6))
+ {
+ if (wc == 0x11D3A || (wc >= 0x11D3C && wc <= 0x11D3D))
+ return TRUE;
+ if (wc == 0x11D3F || wc == 0x11D43)
+ return TRUE;
+ if ((wc >= 0x11D8A && wc <= 0x11D8E) ||
+ (wc >= 0x11D90 && wc <= 0x11D91))
+ return TRUE;
+ if ((wc >= 0x11D93 && wc <= 0x11D94) ||
+ (wc >= 0x11EF3 && wc <= 0x11EF6))
+ return TRUE;
+ return FALSE;
+ }
+ return FALSE;
+ }
+ return FALSE;
+}
+
+#endif /* PANGO_BREAK_TABLE_H */
+
+/* == End of generated table == */