1 | /* |
2 | * Copyright (C) 2017-2019 Apple Inc. All rights reserved. |
3 | * |
4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions |
6 | * are met: |
7 | * |
8 | * 1. Redistributions of source code must retain the above copyright |
9 | * notice, this list of conditions and the following disclaimer. |
10 | * 2. Redistributions in binary form must reproduce the above copyright |
11 | * notice, this list of conditions and the following disclaimer in the |
12 | * documentation and/or other materials provided with the distribution. |
13 | * |
14 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
15 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
16 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
17 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
18 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
19 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
20 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
21 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 | */ |
25 | |
26 | // DO NO EDIT! - This file was generated by /home/user/data/webkitgtk-2.25.2/Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py |
27 | static std::unique_ptr<CharacterClass> createCharacterClass0() |
28 | { |
29 | // Name = Any, number of codePoints: 1114112 |
30 | auto characterClass = std::make_unique<CharacterClass>( |
31 | std::initializer_list<UChar32>({}), |
32 | std::initializer_list<CharacterRange>({{0x00, 0x7f}}), |
33 | std::initializer_list<UChar32>({}), |
34 | std::initializer_list<CharacterRange>({{0x0080, 0x10ffff}}), |
35 | CharacterClassWidths::HasBothBMPAndNonBMP); |
36 | return characterClass; |
37 | } |
38 | |
39 | static std::unique_ptr<CharacterClass> createCharacterClass1() |
40 | { |
41 | // Name = ASCII, number of codePoints: 128 |
42 | auto characterClass = std::make_unique<CharacterClass>( |
43 | std::initializer_list<UChar32>({}), |
44 | std::initializer_list<CharacterRange>({{0x00, 0x7f}}), |
45 | std::initializer_list<UChar32>({}), |
46 | std::initializer_list<CharacterRange>({}), |
47 | CharacterClassWidths::HasBMPChars); |
48 | return characterClass; |
49 | } |
50 | |
51 | static std::unique_ptr<CharacterClass> createCharacterClass2() |
52 | { |
53 | // Name = Assigned, number of codePoints: 276955 |
54 | auto characterClass = std::make_unique<CharacterClass>( |
55 | std::initializer_list<UChar32>({}), |
56 | std::initializer_list<CharacterRange>({{0x00, 0x7f}}), |
57 | std::initializer_list<UChar32>({0x038c, 0x085e, 0x09b2, 0x09d7, 0x0a3c, 0x0a51, 0x0a5e, 0x0ad0, |
58 | 0x0b9c, 0x0bd0, 0x0bd7, 0x0cde, 0x0dbd, 0x0dca, 0x0dd6, 0x0e84, |
59 | 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, 0x0ec6, 0x10c7, 0x10cd, 0x1258, |
60 | 0x12c0, 0x1940, 0x1f59, 0x1f5b, 0x1f5d, 0x2d27, 0x2d2d, 0xfb3e, |
61 | 0xfeff, 0x101a0, 0x1056f, 0x10808, 0x1083c, 0x1093f, 0x110cd, 0x11288, |
62 | 0x11350, 0x11357, 0x1145b, 0x118ff, 0x11d3a, 0x1d4a2, 0x1d4bb, 0x1d546, |
63 | 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, 0x1ee4b, |
64 | 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, 0x1ee7e, |
65 | 0x1f97a, 0xe0001}), |
66 | std::initializer_list<CharacterRange>({{0x0080, 0x0377}, {0x037a, 0x037f}, {0x0384, 0x038a}, {0x038e, 0x03a1}, |
67 | {0x03a3, 0x052f}, {0x0531, 0x0556}, {0x0559, 0x058a}, {0x058d, 0x058f}, |
68 | {0x0591, 0x05c7}, {0x05d0, 0x05ea}, {0x05ef, 0x05f4}, {0x0600, 0x061c}, |
69 | {0x061e, 0x070d}, {0x070f, 0x074a}, {0x074d, 0x07b1}, {0x07c0, 0x07fa}, |
70 | {0x07fd, 0x082d}, {0x0830, 0x083e}, {0x0840, 0x085b}, {0x0860, 0x086a}, |
71 | {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d3, 0x0983}, {0x0985, 0x098c}, |
72 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
73 | {0x09bc, 0x09c4}, {0x09c7, 0x09c8}, {0x09cb, 0x09ce}, {0x09dc, 0x09dd}, |
74 | {0x09df, 0x09e3}, {0x09e6, 0x09fe}, {0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, |
75 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
76 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, |
77 | {0x0a4b, 0x0a4d}, {0x0a59, 0x0a5c}, {0x0a66, 0x0a76}, {0x0a81, 0x0a83}, |
78 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
79 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0abc, 0x0ac5}, {0x0ac7, 0x0ac9}, |
80 | {0x0acb, 0x0acd}, {0x0ae0, 0x0ae3}, {0x0ae6, 0x0af1}, {0x0af9, 0x0aff}, |
81 | {0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, |
82 | {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b3c, 0x0b44}, |
83 | {0x0b47, 0x0b48}, {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b5c, 0x0b5d}, |
84 | {0x0b5f, 0x0b63}, {0x0b66, 0x0b77}, {0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, |
85 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
86 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, |
87 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0be6, 0x0bfa}, {0x0c00, 0x0c0c}, |
88 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c3d, 0x0c44}, |
89 | {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c58, 0x0c5a}, |
90 | {0x0c60, 0x0c63}, {0x0c66, 0x0c6f}, {0x0c78, 0x0c8c}, {0x0c8e, 0x0c90}, |
91 | {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0cbc, 0x0cc4}, |
92 | {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, {0x0ce0, 0x0ce3}, |
93 | {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}, {0x0d00, 0x0d03}, {0x0d05, 0x0d0c}, |
94 | {0x0d0e, 0x0d10}, {0x0d12, 0x0d44}, {0x0d46, 0x0d48}, {0x0d4a, 0x0d4f}, |
95 | {0x0d54, 0x0d63}, {0x0d66, 0x0d7f}, {0x0d82, 0x0d83}, {0x0d85, 0x0d96}, |
96 | {0x0d9a, 0x0db1}, {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0dcf, 0x0dd4}, |
97 | {0x0dd8, 0x0ddf}, {0x0de6, 0x0def}, {0x0df2, 0x0df4}, {0x0e01, 0x0e3a}, |
98 | {0x0e3f, 0x0e5b}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
99 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb9}, |
100 | {0x0ebb, 0x0ebd}, {0x0ec0, 0x0ec4}, {0x0ec8, 0x0ecd}, {0x0ed0, 0x0ed9}, |
101 | {0x0edc, 0x0edf}, {0x0f00, 0x0f47}, {0x0f49, 0x0f6c}, {0x0f71, 0x0f97}, |
102 | {0x0f99, 0x0fbc}, {0x0fbe, 0x0fcc}, {0x0fce, 0x0fda}, {0x1000, 0x10c5}, |
103 | {0x10d0, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
104 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
105 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
106 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x137c}, {0x1380, 0x1399}, |
107 | {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1400, 0x169c}, {0x16a0, 0x16f8}, |
108 | {0x1700, 0x170c}, {0x170e, 0x1714}, {0x1720, 0x1736}, {0x1740, 0x1753}, |
109 | {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17dd}, |
110 | {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, {0x1800, 0x180e}, {0x1810, 0x1819}, |
111 | {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, |
112 | {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1944, 0x196d}, {0x1970, 0x1974}, |
113 | {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x19de, 0x1a1b}, |
114 | {0x1a1e, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, |
115 | {0x1aa0, 0x1aad}, {0x1ab0, 0x1abe}, {0x1b00, 0x1b4b}, {0x1b50, 0x1b7c}, |
116 | {0x1b80, 0x1bf3}, {0x1bfc, 0x1c37}, {0x1c3b, 0x1c49}, {0x1c4d, 0x1c88}, |
117 | {0x1c90, 0x1cba}, {0x1cbd, 0x1cc7}, {0x1cd0, 0x1cf9}, {0x1d00, 0x1df9}, |
118 | {0x1dfb, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, |
119 | {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fc4}, |
120 | {0x1fc6, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fdd, 0x1fef}, {0x1ff2, 0x1ff4}, |
121 | {0x1ff6, 0x1ffe}, {0x2000, 0x2064}, {0x2066, 0x2071}, {0x2074, 0x208e}, |
122 | {0x2090, 0x209c}, {0x20a0, 0x20bf}, {0x20d0, 0x20f0}, {0x2100, 0x218b}, |
123 | {0x2190, 0x2426}, {0x2440, 0x244a}, {0x2460, 0x2b73}, {0x2b76, 0x2b95}, |
124 | {0x2b98, 0x2bc8}, {0x2bca, 0x2bfe}, {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, |
125 | {0x2c60, 0x2cf3}, {0x2cf9, 0x2d25}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d70}, |
126 | {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, |
127 | {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, |
128 | {0x2dd8, 0x2dde}, {0x2de0, 0x2e4e}, {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, |
129 | {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3000, 0x303f}, {0x3041, 0x3096}, |
130 | {0x3099, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x3190, 0x31ba}, |
131 | {0x31c0, 0x31e3}, {0x31f0, 0x321e}, {0x3220, 0x32fe}, {0x3300, 0x4db5}, |
132 | {0x4dc0, 0x9fef}, {0xa000, 0xa48c}, {0xa490, 0xa4c6}, {0xa4d0, 0xa62b}, |
133 | {0xa640, 0xa6f7}, {0xa700, 0xa7b9}, {0xa7f7, 0xa82b}, {0xa830, 0xa839}, |
134 | {0xa840, 0xa877}, {0xa880, 0xa8c5}, {0xa8ce, 0xa8d9}, {0xa8e0, 0xa953}, |
135 | {0xa95f, 0xa97c}, {0xa980, 0xa9cd}, {0xa9cf, 0xa9d9}, {0xa9de, 0xa9fe}, |
136 | {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa5c, 0xaac2}, |
137 | {0xaadb, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, |
138 | {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab65}, {0xab70, 0xabed}, |
139 | {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, |
140 | {0xd800, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, |
141 | {0xfb1d, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, |
142 | {0xfb46, 0xfbc1}, {0xfbd3, 0xfd3f}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, |
143 | {0xfdf0, 0xfdfd}, {0xfe00, 0xfe19}, {0xfe20, 0xfe52}, {0xfe54, 0xfe66}, |
144 | {0xfe68, 0xfe6b}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff01, 0xffbe}, |
145 | {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, |
146 | {0xffe0, 0xffe6}, {0xffe8, 0xffee}, {0xfff9, 0xfffd}, {0x10000, 0x1000b}, |
147 | {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |
148 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10100, 0x10102}, {0x10107, 0x10133}, |
149 | {0x10137, 0x1018e}, {0x10190, 0x1019b}, {0x101d0, 0x101fd}, {0x10280, 0x1029c}, |
150 | {0x102a0, 0x102d0}, {0x102e0, 0x102fb}, {0x10300, 0x10323}, {0x1032d, 0x1034a}, |
151 | {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x1039f, 0x103c3}, {0x103c8, 0x103d5}, |
152 | {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, |
153 | {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, {0x10740, 0x10755}, |
154 | {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, {0x10837, 0x10838}, |
155 | {0x1083f, 0x10855}, {0x10857, 0x1089e}, {0x108a7, 0x108af}, {0x108e0, 0x108f2}, |
156 | {0x108f4, 0x108f5}, {0x108fb, 0x1091b}, {0x1091f, 0x10939}, {0x10980, 0x109b7}, |
157 | {0x109bc, 0x109cf}, {0x109d2, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, |
158 | {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a48}, |
159 | {0x10a50, 0x10a58}, {0x10a60, 0x10a9f}, {0x10ac0, 0x10ae6}, {0x10aeb, 0x10af6}, |
160 | {0x10b00, 0x10b35}, {0x10b39, 0x10b55}, {0x10b58, 0x10b72}, {0x10b78, 0x10b91}, |
161 | {0x10b99, 0x10b9c}, {0x10ba9, 0x10baf}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, |
162 | {0x10cc0, 0x10cf2}, {0x10cfa, 0x10d27}, {0x10d30, 0x10d39}, {0x10e60, 0x10e7e}, |
163 | {0x10f00, 0x10f27}, {0x10f30, 0x10f59}, {0x11000, 0x1104d}, {0x11052, 0x1106f}, |
164 | {0x1107f, 0x110c1}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11100, 0x11134}, |
165 | {0x11136, 0x11146}, {0x11150, 0x11176}, {0x11180, 0x111cd}, {0x111d0, 0x111df}, |
166 | {0x111e1, 0x111f4}, {0x11200, 0x11211}, {0x11213, 0x1123e}, {0x11280, 0x11286}, |
167 | {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a9}, {0x112b0, 0x112ea}, |
168 | {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, |
169 | {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, |
170 | {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x1135d, 0x11363}, |
171 | {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11400, 0x11459}, {0x1145d, 0x1145e}, |
172 | {0x11480, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, {0x115b8, 0x115dd}, |
173 | {0x11600, 0x11644}, {0x11650, 0x11659}, {0x11660, 0x1166c}, {0x11680, 0x116b7}, |
174 | {0x116c0, 0x116c9}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x1173f}, |
175 | {0x11800, 0x1183b}, {0x118a0, 0x118f2}, {0x11a00, 0x11a47}, {0x11a50, 0x11a83}, |
176 | {0x11a86, 0x11aa2}, {0x11ac0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, |
177 | {0x11c38, 0x11c45}, {0x11c50, 0x11c6c}, {0x11c70, 0x11c8f}, {0x11c92, 0x11ca7}, |
178 | {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, |
179 | {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, |
180 | {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, |
181 | {0x11da0, 0x11da9}, {0x11ee0, 0x11ef8}, {0x12000, 0x12399}, {0x12400, 0x1246e}, |
182 | {0x12470, 0x12474}, {0x12480, 0x12543}, {0x13000, 0x1342e}, {0x14400, 0x14646}, |
183 | {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a6e, 0x16a6f}, |
184 | {0x16ad0, 0x16aed}, {0x16af0, 0x16af5}, {0x16b00, 0x16b45}, {0x16b50, 0x16b59}, |
185 | {0x16b5b, 0x16b61}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e9a}, |
186 | {0x16f00, 0x16f44}, {0x16f50, 0x16f7e}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, |
187 | {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, {0x1b170, 0x1b2fb}, |
188 | {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, |
189 | {0x1bc9c, 0x1bca3}, {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d129, 0x1d1e8}, |
190 | {0x1d200, 0x1d245}, {0x1d2e0, 0x1d2f3}, {0x1d300, 0x1d356}, {0x1d360, 0x1d378}, |
191 | {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, |
192 | {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, |
193 | {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, |
194 | {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, |
195 | {0x1d6a8, 0x1d7cb}, {0x1d7ce, 0x1da8b}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, |
196 | {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, |
197 | {0x1e026, 0x1e02a}, {0x1e800, 0x1e8c4}, {0x1e8c7, 0x1e8d6}, {0x1e900, 0x1e94a}, |
198 | {0x1e950, 0x1e959}, {0x1e95e, 0x1e95f}, {0x1ec71, 0x1ecb4}, {0x1ee00, 0x1ee03}, |
199 | {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, |
200 | {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, |
201 | {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, |
202 | {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, |
203 | {0x1eef0, 0x1eef1}, {0x1f000, 0x1f02b}, {0x1f030, 0x1f093}, {0x1f0a0, 0x1f0ae}, |
204 | {0x1f0b1, 0x1f0bf}, {0x1f0c1, 0x1f0cf}, {0x1f0d1, 0x1f0f5}, {0x1f100, 0x1f10c}, |
205 | {0x1f110, 0x1f16b}, {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f202}, {0x1f210, 0x1f23b}, |
206 | {0x1f240, 0x1f248}, {0x1f250, 0x1f251}, {0x1f260, 0x1f265}, {0x1f300, 0x1f6d4}, |
207 | {0x1f6e0, 0x1f6ec}, {0x1f6f0, 0x1f6f9}, {0x1f700, 0x1f773}, {0x1f780, 0x1f7d8}, |
208 | {0x1f800, 0x1f80b}, {0x1f810, 0x1f847}, {0x1f850, 0x1f859}, {0x1f860, 0x1f887}, |
209 | {0x1f890, 0x1f8ad}, {0x1f900, 0x1f90b}, {0x1f910, 0x1f93e}, {0x1f940, 0x1f970}, |
210 | {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, |
211 | {0x1f9d0, 0x1f9ff}, {0x1fa60, 0x1fa6d}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, |
212 | {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}, |
213 | {0xe0020, 0xe007f}, {0xe0100, 0xe01ef}, {0xf0000, 0xffffd}, {0x100000, 0x10fffd}}), |
214 | CharacterClassWidths::HasBothBMPAndNonBMP); |
215 | return characterClass; |
216 | } |
217 | |
218 | static std::unique_ptr<CharacterClass> createCharacterClass3() |
219 | { |
220 | // Name = Other, number of codePoints: 976890 |
221 | auto characterClass = std::make_unique<CharacterClass>( |
222 | std::initializer_list<UChar32>({0x7f}), |
223 | std::initializer_list<CharacterRange>({{0x00, 0x1f}}), |
224 | std::initializer_list<UChar32>({0x00ad, 0x038b, 0x038d, 0x03a2, 0x0530, 0x0590, 0x06dd, 0x083f, |
225 | 0x085f, 0x08b5, 0x08e2, 0x0984, 0x09a9, 0x09b1, 0x09de, 0x0a04, |
226 | 0x0a29, 0x0a31, 0x0a34, 0x0a37, 0x0a3d, 0x0a5d, 0x0a84, 0x0a8e, |
227 | 0x0a92, 0x0aa9, 0x0ab1, 0x0ab4, 0x0ac6, 0x0aca, 0x0b00, 0x0b04, |
228 | 0x0b29, 0x0b31, 0x0b34, 0x0b5e, 0x0b84, 0x0b91, 0x0b9b, 0x0b9d, |
229 | 0x0bc9, 0x0c0d, 0x0c11, 0x0c29, 0x0c45, 0x0c49, 0x0c57, 0x0c8d, |
230 | 0x0c91, 0x0ca9, 0x0cb4, 0x0cc5, 0x0cc9, 0x0cdf, 0x0cf0, 0x0d04, |
231 | 0x0d0d, 0x0d11, 0x0d45, 0x0d49, 0x0d84, 0x0db2, 0x0dbc, 0x0dd5, |
232 | 0x0dd7, 0x0e83, 0x0e89, 0x0e98, 0x0ea0, 0x0ea4, 0x0ea6, 0x0eac, |
233 | 0x0eba, 0x0ec5, 0x0ec7, 0x0f48, 0x0f98, 0x0fbd, 0x0fcd, 0x10c6, |
234 | 0x1249, 0x1257, 0x1259, 0x1289, 0x12b1, 0x12bf, 0x12c1, 0x12d7, |
235 | 0x1311, 0x170d, 0x176d, 0x1771, 0x191f, 0x1a5f, 0x1dfa, 0x1f58, |
236 | 0x1f5a, 0x1f5c, 0x1f5e, 0x1fb5, 0x1fc5, 0x1fdc, 0x1ff5, 0x1fff, |
237 | 0x208f, 0x2bc9, 0x2bff, 0x2c2f, 0x2c5f, 0x2d26, 0x2da7, 0x2daf, |
238 | 0x2db7, 0x2dbf, 0x2dc7, 0x2dcf, 0x2dd7, 0x2ddf, 0x2e9a, 0x3040, |
239 | 0x3130, 0x318f, 0x321f, 0x32ff, 0xa9ce, 0xa9ff, 0xab27, 0xab2f, |
240 | 0xfb37, 0xfb3d, 0xfb3f, 0xfb42, 0xfb45, 0xfe53, 0xfe67, 0xfe75, |
241 | 0xffe7, 0x1000c, 0x10027, 0x1003b, 0x1003e, 0x1018f, 0x1039e, 0x10809, |
242 | 0x10836, 0x10856, 0x108f3, 0x10a04, 0x10a14, 0x10a18, 0x110bd, 0x11135, |
243 | 0x111e0, 0x11212, 0x11287, 0x11289, 0x1128e, 0x1129e, 0x11304, 0x11329, |
244 | 0x11331, 0x11334, 0x1133a, 0x1145a, 0x1145c, 0x11c09, 0x11c37, 0x11ca8, |
245 | 0x11d07, 0x11d0a, 0x11d3b, 0x11d3e, 0x11d66, 0x11d69, 0x11d8f, 0x11d92, |
246 | 0x1246f, 0x16a5f, 0x16b5a, 0x16b62, 0x1d455, 0x1d49d, 0x1d4ad, 0x1d4ba, |
247 | 0x1d4bc, 0x1d4c4, 0x1d506, 0x1d515, 0x1d51d, 0x1d53a, 0x1d53f, 0x1d545, |
248 | 0x1d551, 0x1daa0, 0x1e007, 0x1e022, 0x1e025, 0x1ee04, 0x1ee20, 0x1ee23, |
249 | 0x1ee28, 0x1ee33, 0x1ee38, 0x1ee3a, 0x1ee48, 0x1ee4a, 0x1ee4c, 0x1ee50, |
250 | 0x1ee53, 0x1ee58, 0x1ee5a, 0x1ee5c, 0x1ee5e, 0x1ee60, 0x1ee63, 0x1ee6b, |
251 | 0x1ee73, 0x1ee78, 0x1ee7d, 0x1ee7f, 0x1ee8a, 0x1eea4, 0x1eeaa, 0x1f0c0, |
252 | 0x1f0d0, 0x1f93f, 0x1f97b}), |
253 | std::initializer_list<CharacterRange>({{0x0080, 0x009f}, {0x0378, 0x0379}, {0x0380, 0x0383}, {0x0557, 0x0558}, |
254 | {0x058b, 0x058c}, {0x05c8, 0x05cf}, {0x05eb, 0x05ee}, {0x05f5, 0x0605}, |
255 | {0x061c, 0x061d}, {0x070e, 0x070f}, {0x074b, 0x074c}, {0x07b2, 0x07bf}, |
256 | {0x07fb, 0x07fc}, {0x082e, 0x082f}, {0x085c, 0x085d}, {0x086b, 0x089f}, |
257 | {0x08be, 0x08d2}, {0x098d, 0x098e}, {0x0991, 0x0992}, {0x09b3, 0x09b5}, |
258 | {0x09ba, 0x09bb}, {0x09c5, 0x09c6}, {0x09c9, 0x09ca}, {0x09cf, 0x09d6}, |
259 | {0x09d8, 0x09db}, {0x09e4, 0x09e5}, {0x09ff, 0x0a00}, {0x0a0b, 0x0a0e}, |
260 | {0x0a11, 0x0a12}, {0x0a3a, 0x0a3b}, {0x0a43, 0x0a46}, {0x0a49, 0x0a4a}, |
261 | {0x0a4e, 0x0a50}, {0x0a52, 0x0a58}, {0x0a5f, 0x0a65}, {0x0a77, 0x0a80}, |
262 | {0x0aba, 0x0abb}, {0x0ace, 0x0acf}, {0x0ad1, 0x0adf}, {0x0ae4, 0x0ae5}, |
263 | {0x0af2, 0x0af8}, {0x0b0d, 0x0b0e}, {0x0b11, 0x0b12}, {0x0b3a, 0x0b3b}, |
264 | {0x0b45, 0x0b46}, {0x0b49, 0x0b4a}, {0x0b4e, 0x0b55}, {0x0b58, 0x0b5b}, |
265 | {0x0b64, 0x0b65}, {0x0b78, 0x0b81}, {0x0b8b, 0x0b8d}, {0x0b96, 0x0b98}, |
266 | {0x0ba0, 0x0ba2}, {0x0ba5, 0x0ba7}, {0x0bab, 0x0bad}, {0x0bba, 0x0bbd}, |
267 | {0x0bc3, 0x0bc5}, {0x0bce, 0x0bcf}, {0x0bd1, 0x0bd6}, {0x0bd8, 0x0be5}, |
268 | {0x0bfb, 0x0bff}, {0x0c3a, 0x0c3c}, {0x0c4e, 0x0c54}, {0x0c5b, 0x0c5f}, |
269 | {0x0c64, 0x0c65}, {0x0c70, 0x0c77}, {0x0cba, 0x0cbb}, {0x0cce, 0x0cd4}, |
270 | {0x0cd7, 0x0cdd}, {0x0ce4, 0x0ce5}, {0x0cf3, 0x0cff}, {0x0d50, 0x0d53}, |
271 | {0x0d64, 0x0d65}, {0x0d80, 0x0d81}, {0x0d97, 0x0d99}, {0x0dbe, 0x0dbf}, |
272 | {0x0dc7, 0x0dc9}, {0x0dcb, 0x0dce}, {0x0de0, 0x0de5}, {0x0df0, 0x0df1}, |
273 | {0x0df5, 0x0e00}, {0x0e3b, 0x0e3e}, {0x0e5c, 0x0e80}, {0x0e85, 0x0e86}, |
274 | {0x0e8b, 0x0e8c}, {0x0e8e, 0x0e93}, {0x0ea8, 0x0ea9}, {0x0ebe, 0x0ebf}, |
275 | {0x0ece, 0x0ecf}, {0x0eda, 0x0edb}, {0x0ee0, 0x0eff}, {0x0f6d, 0x0f70}, |
276 | {0x0fdb, 0x0fff}, {0x10c8, 0x10cc}, {0x10ce, 0x10cf}, {0x124e, 0x124f}, |
277 | {0x125e, 0x125f}, {0x128e, 0x128f}, {0x12b6, 0x12b7}, {0x12c6, 0x12c7}, |
278 | {0x1316, 0x1317}, {0x135b, 0x135c}, {0x137d, 0x137f}, {0x139a, 0x139f}, |
279 | {0x13f6, 0x13f7}, {0x13fe, 0x13ff}, {0x169d, 0x169f}, {0x16f9, 0x16ff}, |
280 | {0x1715, 0x171f}, {0x1737, 0x173f}, {0x1754, 0x175f}, {0x1774, 0x177f}, |
281 | {0x17de, 0x17df}, {0x17ea, 0x17ef}, {0x17fa, 0x17ff}, {0x180e, 0x180f}, |
282 | {0x181a, 0x181f}, {0x1879, 0x187f}, {0x18ab, 0x18af}, {0x18f6, 0x18ff}, |
283 | {0x192c, 0x192f}, {0x193c, 0x193f}, {0x1941, 0x1943}, {0x196e, 0x196f}, |
284 | {0x1975, 0x197f}, {0x19ac, 0x19af}, {0x19ca, 0x19cf}, {0x19db, 0x19dd}, |
285 | {0x1a1c, 0x1a1d}, {0x1a7d, 0x1a7e}, {0x1a8a, 0x1a8f}, {0x1a9a, 0x1a9f}, |
286 | {0x1aae, 0x1aaf}, {0x1abf, 0x1aff}, {0x1b4c, 0x1b4f}, {0x1b7d, 0x1b7f}, |
287 | {0x1bf4, 0x1bfb}, {0x1c38, 0x1c3a}, {0x1c4a, 0x1c4c}, {0x1c89, 0x1c8f}, |
288 | {0x1cbb, 0x1cbc}, {0x1cc8, 0x1ccf}, {0x1cfa, 0x1cff}, {0x1f16, 0x1f17}, |
289 | {0x1f1e, 0x1f1f}, {0x1f46, 0x1f47}, {0x1f4e, 0x1f4f}, {0x1f7e, 0x1f7f}, |
290 | {0x1fd4, 0x1fd5}, {0x1ff0, 0x1ff1}, {0x200b, 0x200f}, {0x202a, 0x202e}, |
291 | {0x2060, 0x206f}, {0x2072, 0x2073}, {0x209d, 0x209f}, {0x20c0, 0x20cf}, |
292 | {0x20f1, 0x20ff}, {0x218c, 0x218f}, {0x2427, 0x243f}, {0x244b, 0x245f}, |
293 | {0x2b74, 0x2b75}, {0x2b96, 0x2b97}, {0x2cf4, 0x2cf8}, {0x2d28, 0x2d2c}, |
294 | {0x2d2e, 0x2d2f}, {0x2d68, 0x2d6e}, {0x2d71, 0x2d7e}, {0x2d97, 0x2d9f}, |
295 | {0x2e4f, 0x2e7f}, {0x2ef4, 0x2eff}, {0x2fd6, 0x2fef}, {0x2ffc, 0x2fff}, |
296 | {0x3097, 0x3098}, {0x3100, 0x3104}, {0x31bb, 0x31bf}, {0x31e4, 0x31ef}, |
297 | {0x4db6, 0x4dbf}, {0x9ff0, 0x9fff}, {0xa48d, 0xa48f}, {0xa4c7, 0xa4cf}, |
298 | {0xa62c, 0xa63f}, {0xa6f8, 0xa6ff}, {0xa7ba, 0xa7f6}, {0xa82c, 0xa82f}, |
299 | {0xa83a, 0xa83f}, {0xa878, 0xa87f}, {0xa8c6, 0xa8cd}, {0xa8da, 0xa8df}, |
300 | {0xa954, 0xa95e}, {0xa97d, 0xa97f}, {0xa9da, 0xa9dd}, {0xaa37, 0xaa3f}, |
301 | {0xaa4e, 0xaa4f}, {0xaa5a, 0xaa5b}, {0xaac3, 0xaada}, {0xaaf7, 0xab00}, |
302 | {0xab07, 0xab08}, {0xab0f, 0xab10}, {0xab17, 0xab1f}, {0xab66, 0xab6f}, |
303 | {0xabee, 0xabef}, {0xabfa, 0xabff}, {0xd7a4, 0xd7af}, {0xd7c7, 0xd7ca}, |
304 | {0xd7fc, 0xf8ff}, {0xfa6e, 0xfa6f}, {0xfada, 0xfaff}, {0xfb07, 0xfb12}, |
305 | {0xfb18, 0xfb1c}, {0xfbc2, 0xfbd2}, {0xfd40, 0xfd4f}, {0xfd90, 0xfd91}, |
306 | {0xfdc8, 0xfdef}, {0xfdfe, 0xfdff}, {0xfe1a, 0xfe1f}, {0xfe6c, 0xfe6f}, |
307 | {0xfefd, 0xff00}, {0xffbf, 0xffc1}, {0xffc8, 0xffc9}, {0xffd0, 0xffd1}, |
308 | {0xffd8, 0xffd9}, {0xffdd, 0xffdf}, {0xffef, 0xfffb}, {0xfffe, 0xffff}, |
309 | {0x1004e, 0x1004f}, {0x1005e, 0x1007f}, {0x100fb, 0x100ff}, {0x10103, 0x10106}, |
310 | {0x10134, 0x10136}, {0x1019c, 0x1019f}, {0x101a1, 0x101cf}, {0x101fe, 0x1027f}, |
311 | {0x1029d, 0x1029f}, {0x102d1, 0x102df}, {0x102fc, 0x102ff}, {0x10324, 0x1032c}, |
312 | {0x1034b, 0x1034f}, {0x1037b, 0x1037f}, {0x103c4, 0x103c7}, {0x103d6, 0x103ff}, |
313 | {0x1049e, 0x1049f}, {0x104aa, 0x104af}, {0x104d4, 0x104d7}, {0x104fc, 0x104ff}, |
314 | {0x10528, 0x1052f}, {0x10564, 0x1056e}, {0x10570, 0x105ff}, {0x10737, 0x1073f}, |
315 | {0x10756, 0x1075f}, {0x10768, 0x107ff}, {0x10806, 0x10807}, {0x10839, 0x1083b}, |
316 | {0x1083d, 0x1083e}, {0x1089f, 0x108a6}, {0x108b0, 0x108df}, {0x108f6, 0x108fa}, |
317 | {0x1091c, 0x1091e}, {0x1093a, 0x1093e}, {0x10940, 0x1097f}, {0x109b8, 0x109bb}, |
318 | {0x109d0, 0x109d1}, {0x10a07, 0x10a0b}, {0x10a36, 0x10a37}, {0x10a3b, 0x10a3e}, |
319 | {0x10a49, 0x10a4f}, {0x10a59, 0x10a5f}, {0x10aa0, 0x10abf}, {0x10ae7, 0x10aea}, |
320 | {0x10af7, 0x10aff}, {0x10b36, 0x10b38}, {0x10b56, 0x10b57}, {0x10b73, 0x10b77}, |
321 | {0x10b92, 0x10b98}, {0x10b9d, 0x10ba8}, {0x10bb0, 0x10bff}, {0x10c49, 0x10c7f}, |
322 | {0x10cb3, 0x10cbf}, {0x10cf3, 0x10cf9}, {0x10d28, 0x10d2f}, {0x10d3a, 0x10e5f}, |
323 | {0x10e7f, 0x10eff}, {0x10f28, 0x10f2f}, {0x10f5a, 0x10fff}, {0x1104e, 0x11051}, |
324 | {0x11070, 0x1107e}, {0x110c2, 0x110cf}, {0x110e9, 0x110ef}, {0x110fa, 0x110ff}, |
325 | {0x11147, 0x1114f}, {0x11177, 0x1117f}, {0x111ce, 0x111cf}, {0x111f5, 0x111ff}, |
326 | {0x1123f, 0x1127f}, {0x112aa, 0x112af}, {0x112eb, 0x112ef}, {0x112fa, 0x112ff}, |
327 | {0x1130d, 0x1130e}, {0x11311, 0x11312}, {0x11345, 0x11346}, {0x11349, 0x1134a}, |
328 | {0x1134e, 0x1134f}, {0x11351, 0x11356}, {0x11358, 0x1135c}, {0x11364, 0x11365}, |
329 | {0x1136d, 0x1136f}, {0x11375, 0x113ff}, {0x1145f, 0x1147f}, {0x114c8, 0x114cf}, |
330 | {0x114da, 0x1157f}, {0x115b6, 0x115b7}, {0x115de, 0x115ff}, {0x11645, 0x1164f}, |
331 | {0x1165a, 0x1165f}, {0x1166d, 0x1167f}, {0x116b8, 0x116bf}, {0x116ca, 0x116ff}, |
332 | {0x1171b, 0x1171c}, {0x1172c, 0x1172f}, {0x11740, 0x117ff}, {0x1183c, 0x1189f}, |
333 | {0x118f3, 0x118fe}, {0x11900, 0x119ff}, {0x11a48, 0x11a4f}, {0x11a84, 0x11a85}, |
334 | {0x11aa3, 0x11abf}, {0x11af9, 0x11bff}, {0x11c46, 0x11c4f}, {0x11c6d, 0x11c6f}, |
335 | {0x11c90, 0x11c91}, {0x11cb7, 0x11cff}, {0x11d37, 0x11d39}, {0x11d48, 0x11d4f}, |
336 | {0x11d5a, 0x11d5f}, {0x11d99, 0x11d9f}, {0x11daa, 0x11edf}, {0x11ef9, 0x11fff}, |
337 | {0x1239a, 0x123ff}, {0x12475, 0x1247f}, {0x12544, 0x12fff}, {0x1342f, 0x143ff}, |
338 | {0x14647, 0x167ff}, {0x16a39, 0x16a3f}, {0x16a6a, 0x16a6d}, {0x16a70, 0x16acf}, |
339 | {0x16aee, 0x16aef}, {0x16af6, 0x16aff}, {0x16b46, 0x16b4f}, {0x16b78, 0x16b7c}, |
340 | {0x16b90, 0x16e3f}, {0x16e9b, 0x16eff}, {0x16f45, 0x16f4f}, {0x16f7f, 0x16f8e}, |
341 | {0x16fa0, 0x16fdf}, {0x16fe2, 0x16fff}, {0x187f2, 0x187ff}, {0x18af3, 0x1afff}, |
342 | {0x1b11f, 0x1b16f}, {0x1b2fc, 0x1bbff}, {0x1bc6b, 0x1bc6f}, {0x1bc7d, 0x1bc7f}, |
343 | {0x1bc89, 0x1bc8f}, {0x1bc9a, 0x1bc9b}, {0x1bca0, 0x1cfff}, {0x1d0f6, 0x1d0ff}, |
344 | {0x1d127, 0x1d128}, {0x1d173, 0x1d17a}, {0x1d1e9, 0x1d1ff}, {0x1d246, 0x1d2df}, |
345 | {0x1d2f4, 0x1d2ff}, {0x1d357, 0x1d35f}, {0x1d379, 0x1d3ff}, {0x1d4a0, 0x1d4a1}, |
346 | {0x1d4a3, 0x1d4a4}, {0x1d4a7, 0x1d4a8}, {0x1d50b, 0x1d50c}, {0x1d547, 0x1d549}, |
347 | {0x1d6a6, 0x1d6a7}, {0x1d7cc, 0x1d7cd}, {0x1da8c, 0x1da9a}, {0x1dab0, 0x1dfff}, |
348 | {0x1e019, 0x1e01a}, {0x1e02b, 0x1e7ff}, {0x1e8c5, 0x1e8c6}, {0x1e8d7, 0x1e8ff}, |
349 | {0x1e94b, 0x1e94f}, {0x1e95a, 0x1e95d}, {0x1e960, 0x1ec70}, {0x1ecb5, 0x1edff}, |
350 | {0x1ee25, 0x1ee26}, {0x1ee3c, 0x1ee41}, {0x1ee43, 0x1ee46}, {0x1ee55, 0x1ee56}, |
351 | {0x1ee65, 0x1ee66}, {0x1ee9c, 0x1eea0}, {0x1eebc, 0x1eeef}, {0x1eef2, 0x1efff}, |
352 | {0x1f02c, 0x1f02f}, {0x1f094, 0x1f09f}, {0x1f0af, 0x1f0b0}, {0x1f0f6, 0x1f0ff}, |
353 | {0x1f10d, 0x1f10f}, {0x1f16c, 0x1f16f}, {0x1f1ad, 0x1f1e5}, {0x1f203, 0x1f20f}, |
354 | {0x1f23c, 0x1f23f}, {0x1f249, 0x1f24f}, {0x1f252, 0x1f25f}, {0x1f266, 0x1f2ff}, |
355 | {0x1f6d5, 0x1f6df}, {0x1f6ed, 0x1f6ef}, {0x1f6fa, 0x1f6ff}, {0x1f774, 0x1f77f}, |
356 | {0x1f7d9, 0x1f7ff}, {0x1f80c, 0x1f80f}, {0x1f848, 0x1f84f}, {0x1f85a, 0x1f85f}, |
357 | {0x1f888, 0x1f88f}, {0x1f8ae, 0x1f8ff}, {0x1f90c, 0x1f90f}, {0x1f971, 0x1f972}, |
358 | {0x1f977, 0x1f979}, {0x1f9a3, 0x1f9af}, {0x1f9ba, 0x1f9bf}, {0x1f9c3, 0x1f9cf}, |
359 | {0x1fa00, 0x1fa5f}, {0x1fa6e, 0x1ffff}, {0x2a6d7, 0x2a6ff}, {0x2b735, 0x2b73f}, |
360 | {0x2b81e, 0x2b81f}, {0x2cea2, 0x2ceaf}, {0x2ebe1, 0x2f7ff}, {0x2fa1e, 0xe00ff}, |
361 | {0xe01f0, 0x10ffff}}), |
362 | CharacterClassWidths::HasBothBMPAndNonBMP); |
363 | return characterClass; |
364 | } |
365 | |
366 | static std::unique_ptr<CharacterClass> createCharacterClass4() |
367 | { |
368 | // Name = Unassigned, number of codePoints: 837157 |
369 | auto characterClass = std::make_unique<CharacterClass>( |
370 | std::initializer_list<UChar32>({}), |
371 | std::initializer_list<CharacterRange>({}), |
372 | std::initializer_list<UChar32>({0x038b, 0x038d, 0x03a2, 0x0530, 0x0590, 0x061d, 0x070e, 0x083f, |
373 | 0x085f, 0x08b5, 0x0984, 0x09a9, 0x09b1, 0x09de, 0x0a04, 0x0a29, |
374 | 0x0a31, 0x0a34, 0x0a37, 0x0a3d, 0x0a5d, 0x0a84, 0x0a8e, 0x0a92, |
375 | 0x0aa9, 0x0ab1, 0x0ab4, 0x0ac6, 0x0aca, 0x0b00, 0x0b04, 0x0b29, |
376 | 0x0b31, 0x0b34, 0x0b5e, 0x0b84, 0x0b91, 0x0b9b, 0x0b9d, 0x0bc9, |
377 | 0x0c0d, 0x0c11, 0x0c29, 0x0c45, 0x0c49, 0x0c57, 0x0c8d, 0x0c91, |
378 | 0x0ca9, 0x0cb4, 0x0cc5, 0x0cc9, 0x0cdf, 0x0cf0, 0x0d04, 0x0d0d, |
379 | 0x0d11, 0x0d45, 0x0d49, 0x0d84, 0x0db2, 0x0dbc, 0x0dd5, 0x0dd7, |
380 | 0x0e83, 0x0e89, 0x0e98, 0x0ea0, 0x0ea4, 0x0ea6, 0x0eac, 0x0eba, |
381 | 0x0ec5, 0x0ec7, 0x0f48, 0x0f98, 0x0fbd, 0x0fcd, 0x10c6, 0x1249, |
382 | 0x1257, 0x1259, 0x1289, 0x12b1, 0x12bf, 0x12c1, 0x12d7, 0x1311, |
383 | 0x170d, 0x176d, 0x1771, 0x180f, 0x191f, 0x1a5f, 0x1dfa, 0x1f58, |
384 | 0x1f5a, 0x1f5c, 0x1f5e, 0x1fb5, 0x1fc5, 0x1fdc, 0x1ff5, 0x1fff, |
385 | 0x2065, 0x208f, 0x2bc9, 0x2bff, 0x2c2f, 0x2c5f, 0x2d26, 0x2da7, |
386 | 0x2daf, 0x2db7, 0x2dbf, 0x2dc7, 0x2dcf, 0x2dd7, 0x2ddf, 0x2e9a, |
387 | 0x3040, 0x3130, 0x318f, 0x321f, 0x32ff, 0xa9ce, 0xa9ff, 0xab27, |
388 | 0xab2f, 0xfb37, 0xfb3d, 0xfb3f, 0xfb42, 0xfb45, 0xfe53, 0xfe67, |
389 | 0xfe75, 0xff00, 0xffe7, 0x1000c, 0x10027, 0x1003b, 0x1003e, 0x1018f, |
390 | 0x1039e, 0x10809, 0x10836, 0x10856, 0x108f3, 0x10a04, 0x10a14, 0x10a18, |
391 | 0x11135, 0x111e0, 0x11212, 0x11287, 0x11289, 0x1128e, 0x1129e, 0x11304, |
392 | 0x11329, 0x11331, 0x11334, 0x1133a, 0x1145a, 0x1145c, 0x11c09, 0x11c37, |
393 | 0x11ca8, 0x11d07, 0x11d0a, 0x11d3b, 0x11d3e, 0x11d66, 0x11d69, 0x11d8f, |
394 | 0x11d92, 0x1246f, 0x16a5f, 0x16b5a, 0x16b62, 0x1d455, 0x1d49d, 0x1d4ad, |
395 | 0x1d4ba, 0x1d4bc, 0x1d4c4, 0x1d506, 0x1d515, 0x1d51d, 0x1d53a, 0x1d53f, |
396 | 0x1d545, 0x1d551, 0x1daa0, 0x1e007, 0x1e022, 0x1e025, 0x1ee04, 0x1ee20, |
397 | 0x1ee23, 0x1ee28, 0x1ee33, 0x1ee38, 0x1ee3a, 0x1ee48, 0x1ee4a, 0x1ee4c, |
398 | 0x1ee50, 0x1ee53, 0x1ee58, 0x1ee5a, 0x1ee5c, 0x1ee5e, 0x1ee60, 0x1ee63, |
399 | 0x1ee6b, 0x1ee73, 0x1ee78, 0x1ee7d, 0x1ee7f, 0x1ee8a, 0x1eea4, 0x1eeaa, |
400 | 0x1f0c0, 0x1f0d0, 0x1f93f, 0x1f97b}), |
401 | std::initializer_list<CharacterRange>({{0x0378, 0x0379}, {0x0380, 0x0383}, {0x0557, 0x0558}, {0x058b, 0x058c}, |
402 | {0x05c8, 0x05cf}, {0x05eb, 0x05ee}, {0x05f5, 0x05ff}, {0x074b, 0x074c}, |
403 | {0x07b2, 0x07bf}, {0x07fb, 0x07fc}, {0x082e, 0x082f}, {0x085c, 0x085d}, |
404 | {0x086b, 0x089f}, {0x08be, 0x08d2}, {0x098d, 0x098e}, {0x0991, 0x0992}, |
405 | {0x09b3, 0x09b5}, {0x09ba, 0x09bb}, {0x09c5, 0x09c6}, {0x09c9, 0x09ca}, |
406 | {0x09cf, 0x09d6}, {0x09d8, 0x09db}, {0x09e4, 0x09e5}, {0x09ff, 0x0a00}, |
407 | {0x0a0b, 0x0a0e}, {0x0a11, 0x0a12}, {0x0a3a, 0x0a3b}, {0x0a43, 0x0a46}, |
408 | {0x0a49, 0x0a4a}, {0x0a4e, 0x0a50}, {0x0a52, 0x0a58}, {0x0a5f, 0x0a65}, |
409 | {0x0a77, 0x0a80}, {0x0aba, 0x0abb}, {0x0ace, 0x0acf}, {0x0ad1, 0x0adf}, |
410 | {0x0ae4, 0x0ae5}, {0x0af2, 0x0af8}, {0x0b0d, 0x0b0e}, {0x0b11, 0x0b12}, |
411 | {0x0b3a, 0x0b3b}, {0x0b45, 0x0b46}, {0x0b49, 0x0b4a}, {0x0b4e, 0x0b55}, |
412 | {0x0b58, 0x0b5b}, {0x0b64, 0x0b65}, {0x0b78, 0x0b81}, {0x0b8b, 0x0b8d}, |
413 | {0x0b96, 0x0b98}, {0x0ba0, 0x0ba2}, {0x0ba5, 0x0ba7}, {0x0bab, 0x0bad}, |
414 | {0x0bba, 0x0bbd}, {0x0bc3, 0x0bc5}, {0x0bce, 0x0bcf}, {0x0bd1, 0x0bd6}, |
415 | {0x0bd8, 0x0be5}, {0x0bfb, 0x0bff}, {0x0c3a, 0x0c3c}, {0x0c4e, 0x0c54}, |
416 | {0x0c5b, 0x0c5f}, {0x0c64, 0x0c65}, {0x0c70, 0x0c77}, {0x0cba, 0x0cbb}, |
417 | {0x0cce, 0x0cd4}, {0x0cd7, 0x0cdd}, {0x0ce4, 0x0ce5}, {0x0cf3, 0x0cff}, |
418 | {0x0d50, 0x0d53}, {0x0d64, 0x0d65}, {0x0d80, 0x0d81}, {0x0d97, 0x0d99}, |
419 | {0x0dbe, 0x0dbf}, {0x0dc7, 0x0dc9}, {0x0dcb, 0x0dce}, {0x0de0, 0x0de5}, |
420 | {0x0df0, 0x0df1}, {0x0df5, 0x0e00}, {0x0e3b, 0x0e3e}, {0x0e5c, 0x0e80}, |
421 | {0x0e85, 0x0e86}, {0x0e8b, 0x0e8c}, {0x0e8e, 0x0e93}, {0x0ea8, 0x0ea9}, |
422 | {0x0ebe, 0x0ebf}, {0x0ece, 0x0ecf}, {0x0eda, 0x0edb}, {0x0ee0, 0x0eff}, |
423 | {0x0f6d, 0x0f70}, {0x0fdb, 0x0fff}, {0x10c8, 0x10cc}, {0x10ce, 0x10cf}, |
424 | {0x124e, 0x124f}, {0x125e, 0x125f}, {0x128e, 0x128f}, {0x12b6, 0x12b7}, |
425 | {0x12c6, 0x12c7}, {0x1316, 0x1317}, {0x135b, 0x135c}, {0x137d, 0x137f}, |
426 | {0x139a, 0x139f}, {0x13f6, 0x13f7}, {0x13fe, 0x13ff}, {0x169d, 0x169f}, |
427 | {0x16f9, 0x16ff}, {0x1715, 0x171f}, {0x1737, 0x173f}, {0x1754, 0x175f}, |
428 | {0x1774, 0x177f}, {0x17de, 0x17df}, {0x17ea, 0x17ef}, {0x17fa, 0x17ff}, |
429 | {0x181a, 0x181f}, {0x1879, 0x187f}, {0x18ab, 0x18af}, {0x18f6, 0x18ff}, |
430 | {0x192c, 0x192f}, {0x193c, 0x193f}, {0x1941, 0x1943}, {0x196e, 0x196f}, |
431 | {0x1975, 0x197f}, {0x19ac, 0x19af}, {0x19ca, 0x19cf}, {0x19db, 0x19dd}, |
432 | {0x1a1c, 0x1a1d}, {0x1a7d, 0x1a7e}, {0x1a8a, 0x1a8f}, {0x1a9a, 0x1a9f}, |
433 | {0x1aae, 0x1aaf}, {0x1abf, 0x1aff}, {0x1b4c, 0x1b4f}, {0x1b7d, 0x1b7f}, |
434 | {0x1bf4, 0x1bfb}, {0x1c38, 0x1c3a}, {0x1c4a, 0x1c4c}, {0x1c89, 0x1c8f}, |
435 | {0x1cbb, 0x1cbc}, {0x1cc8, 0x1ccf}, {0x1cfa, 0x1cff}, {0x1f16, 0x1f17}, |
436 | {0x1f1e, 0x1f1f}, {0x1f46, 0x1f47}, {0x1f4e, 0x1f4f}, {0x1f7e, 0x1f7f}, |
437 | {0x1fd4, 0x1fd5}, {0x1ff0, 0x1ff1}, {0x2072, 0x2073}, {0x209d, 0x209f}, |
438 | {0x20c0, 0x20cf}, {0x20f1, 0x20ff}, {0x218c, 0x218f}, {0x2427, 0x243f}, |
439 | {0x244b, 0x245f}, {0x2b74, 0x2b75}, {0x2b96, 0x2b97}, {0x2cf4, 0x2cf8}, |
440 | {0x2d28, 0x2d2c}, {0x2d2e, 0x2d2f}, {0x2d68, 0x2d6e}, {0x2d71, 0x2d7e}, |
441 | {0x2d97, 0x2d9f}, {0x2e4f, 0x2e7f}, {0x2ef4, 0x2eff}, {0x2fd6, 0x2fef}, |
442 | {0x2ffc, 0x2fff}, {0x3097, 0x3098}, {0x3100, 0x3104}, {0x31bb, 0x31bf}, |
443 | {0x31e4, 0x31ef}, {0x4db6, 0x4dbf}, {0x9ff0, 0x9fff}, {0xa48d, 0xa48f}, |
444 | {0xa4c7, 0xa4cf}, {0xa62c, 0xa63f}, {0xa6f8, 0xa6ff}, {0xa7ba, 0xa7f6}, |
445 | {0xa82c, 0xa82f}, {0xa83a, 0xa83f}, {0xa878, 0xa87f}, {0xa8c6, 0xa8cd}, |
446 | {0xa8da, 0xa8df}, {0xa954, 0xa95e}, {0xa97d, 0xa97f}, {0xa9da, 0xa9dd}, |
447 | {0xaa37, 0xaa3f}, {0xaa4e, 0xaa4f}, {0xaa5a, 0xaa5b}, {0xaac3, 0xaada}, |
448 | {0xaaf7, 0xab00}, {0xab07, 0xab08}, {0xab0f, 0xab10}, {0xab17, 0xab1f}, |
449 | {0xab66, 0xab6f}, {0xabee, 0xabef}, {0xabfa, 0xabff}, {0xd7a4, 0xd7af}, |
450 | {0xd7c7, 0xd7ca}, {0xd7fc, 0xd7ff}, {0xfa6e, 0xfa6f}, {0xfada, 0xfaff}, |
451 | {0xfb07, 0xfb12}, {0xfb18, 0xfb1c}, {0xfbc2, 0xfbd2}, {0xfd40, 0xfd4f}, |
452 | {0xfd90, 0xfd91}, {0xfdc8, 0xfdef}, {0xfdfe, 0xfdff}, {0xfe1a, 0xfe1f}, |
453 | {0xfe6c, 0xfe6f}, {0xfefd, 0xfefe}, {0xffbf, 0xffc1}, {0xffc8, 0xffc9}, |
454 | {0xffd0, 0xffd1}, {0xffd8, 0xffd9}, {0xffdd, 0xffdf}, {0xffef, 0xfff8}, |
455 | {0xfffe, 0xffff}, {0x1004e, 0x1004f}, {0x1005e, 0x1007f}, {0x100fb, 0x100ff}, |
456 | {0x10103, 0x10106}, {0x10134, 0x10136}, {0x1019c, 0x1019f}, {0x101a1, 0x101cf}, |
457 | {0x101fe, 0x1027f}, {0x1029d, 0x1029f}, {0x102d1, 0x102df}, {0x102fc, 0x102ff}, |
458 | {0x10324, 0x1032c}, {0x1034b, 0x1034f}, {0x1037b, 0x1037f}, {0x103c4, 0x103c7}, |
459 | {0x103d6, 0x103ff}, {0x1049e, 0x1049f}, {0x104aa, 0x104af}, {0x104d4, 0x104d7}, |
460 | {0x104fc, 0x104ff}, {0x10528, 0x1052f}, {0x10564, 0x1056e}, {0x10570, 0x105ff}, |
461 | {0x10737, 0x1073f}, {0x10756, 0x1075f}, {0x10768, 0x107ff}, {0x10806, 0x10807}, |
462 | {0x10839, 0x1083b}, {0x1083d, 0x1083e}, {0x1089f, 0x108a6}, {0x108b0, 0x108df}, |
463 | {0x108f6, 0x108fa}, {0x1091c, 0x1091e}, {0x1093a, 0x1093e}, {0x10940, 0x1097f}, |
464 | {0x109b8, 0x109bb}, {0x109d0, 0x109d1}, {0x10a07, 0x10a0b}, {0x10a36, 0x10a37}, |
465 | {0x10a3b, 0x10a3e}, {0x10a49, 0x10a4f}, {0x10a59, 0x10a5f}, {0x10aa0, 0x10abf}, |
466 | {0x10ae7, 0x10aea}, {0x10af7, 0x10aff}, {0x10b36, 0x10b38}, {0x10b56, 0x10b57}, |
467 | {0x10b73, 0x10b77}, {0x10b92, 0x10b98}, {0x10b9d, 0x10ba8}, {0x10bb0, 0x10bff}, |
468 | {0x10c49, 0x10c7f}, {0x10cb3, 0x10cbf}, {0x10cf3, 0x10cf9}, {0x10d28, 0x10d2f}, |
469 | {0x10d3a, 0x10e5f}, {0x10e7f, 0x10eff}, {0x10f28, 0x10f2f}, {0x10f5a, 0x10fff}, |
470 | {0x1104e, 0x11051}, {0x11070, 0x1107e}, {0x110c2, 0x110cc}, {0x110ce, 0x110cf}, |
471 | {0x110e9, 0x110ef}, {0x110fa, 0x110ff}, {0x11147, 0x1114f}, {0x11177, 0x1117f}, |
472 | {0x111ce, 0x111cf}, {0x111f5, 0x111ff}, {0x1123f, 0x1127f}, {0x112aa, 0x112af}, |
473 | {0x112eb, 0x112ef}, {0x112fa, 0x112ff}, {0x1130d, 0x1130e}, {0x11311, 0x11312}, |
474 | {0x11345, 0x11346}, {0x11349, 0x1134a}, {0x1134e, 0x1134f}, {0x11351, 0x11356}, |
475 | {0x11358, 0x1135c}, {0x11364, 0x11365}, {0x1136d, 0x1136f}, {0x11375, 0x113ff}, |
476 | {0x1145f, 0x1147f}, {0x114c8, 0x114cf}, {0x114da, 0x1157f}, {0x115b6, 0x115b7}, |
477 | {0x115de, 0x115ff}, {0x11645, 0x1164f}, {0x1165a, 0x1165f}, {0x1166d, 0x1167f}, |
478 | {0x116b8, 0x116bf}, {0x116ca, 0x116ff}, {0x1171b, 0x1171c}, {0x1172c, 0x1172f}, |
479 | {0x11740, 0x117ff}, {0x1183c, 0x1189f}, {0x118f3, 0x118fe}, {0x11900, 0x119ff}, |
480 | {0x11a48, 0x11a4f}, {0x11a84, 0x11a85}, {0x11aa3, 0x11abf}, {0x11af9, 0x11bff}, |
481 | {0x11c46, 0x11c4f}, {0x11c6d, 0x11c6f}, {0x11c90, 0x11c91}, {0x11cb7, 0x11cff}, |
482 | {0x11d37, 0x11d39}, {0x11d48, 0x11d4f}, {0x11d5a, 0x11d5f}, {0x11d99, 0x11d9f}, |
483 | {0x11daa, 0x11edf}, {0x11ef9, 0x11fff}, {0x1239a, 0x123ff}, {0x12475, 0x1247f}, |
484 | {0x12544, 0x12fff}, {0x1342f, 0x143ff}, {0x14647, 0x167ff}, {0x16a39, 0x16a3f}, |
485 | {0x16a6a, 0x16a6d}, {0x16a70, 0x16acf}, {0x16aee, 0x16aef}, {0x16af6, 0x16aff}, |
486 | {0x16b46, 0x16b4f}, {0x16b78, 0x16b7c}, {0x16b90, 0x16e3f}, {0x16e9b, 0x16eff}, |
487 | {0x16f45, 0x16f4f}, {0x16f7f, 0x16f8e}, {0x16fa0, 0x16fdf}, {0x16fe2, 0x16fff}, |
488 | {0x187f2, 0x187ff}, {0x18af3, 0x1afff}, {0x1b11f, 0x1b16f}, {0x1b2fc, 0x1bbff}, |
489 | {0x1bc6b, 0x1bc6f}, {0x1bc7d, 0x1bc7f}, {0x1bc89, 0x1bc8f}, {0x1bc9a, 0x1bc9b}, |
490 | {0x1bca4, 0x1cfff}, {0x1d0f6, 0x1d0ff}, {0x1d127, 0x1d128}, {0x1d1e9, 0x1d1ff}, |
491 | {0x1d246, 0x1d2df}, {0x1d2f4, 0x1d2ff}, {0x1d357, 0x1d35f}, {0x1d379, 0x1d3ff}, |
492 | {0x1d4a0, 0x1d4a1}, {0x1d4a3, 0x1d4a4}, {0x1d4a7, 0x1d4a8}, {0x1d50b, 0x1d50c}, |
493 | {0x1d547, 0x1d549}, {0x1d6a6, 0x1d6a7}, {0x1d7cc, 0x1d7cd}, {0x1da8c, 0x1da9a}, |
494 | {0x1dab0, 0x1dfff}, {0x1e019, 0x1e01a}, {0x1e02b, 0x1e7ff}, {0x1e8c5, 0x1e8c6}, |
495 | {0x1e8d7, 0x1e8ff}, {0x1e94b, 0x1e94f}, {0x1e95a, 0x1e95d}, {0x1e960, 0x1ec70}, |
496 | {0x1ecb5, 0x1edff}, {0x1ee25, 0x1ee26}, {0x1ee3c, 0x1ee41}, {0x1ee43, 0x1ee46}, |
497 | {0x1ee55, 0x1ee56}, {0x1ee65, 0x1ee66}, {0x1ee9c, 0x1eea0}, {0x1eebc, 0x1eeef}, |
498 | {0x1eef2, 0x1efff}, {0x1f02c, 0x1f02f}, {0x1f094, 0x1f09f}, {0x1f0af, 0x1f0b0}, |
499 | {0x1f0f6, 0x1f0ff}, {0x1f10d, 0x1f10f}, {0x1f16c, 0x1f16f}, {0x1f1ad, 0x1f1e5}, |
500 | {0x1f203, 0x1f20f}, {0x1f23c, 0x1f23f}, {0x1f249, 0x1f24f}, {0x1f252, 0x1f25f}, |
501 | {0x1f266, 0x1f2ff}, {0x1f6d5, 0x1f6df}, {0x1f6ed, 0x1f6ef}, {0x1f6fa, 0x1f6ff}, |
502 | {0x1f774, 0x1f77f}, {0x1f7d9, 0x1f7ff}, {0x1f80c, 0x1f80f}, {0x1f848, 0x1f84f}, |
503 | {0x1f85a, 0x1f85f}, {0x1f888, 0x1f88f}, {0x1f8ae, 0x1f8ff}, {0x1f90c, 0x1f90f}, |
504 | {0x1f971, 0x1f972}, {0x1f977, 0x1f979}, {0x1f9a3, 0x1f9af}, {0x1f9ba, 0x1f9bf}, |
505 | {0x1f9c3, 0x1f9cf}, {0x1fa00, 0x1fa5f}, {0x1fa6e, 0x1ffff}, {0x2a6d7, 0x2a6ff}, |
506 | {0x2b735, 0x2b73f}, {0x2b81e, 0x2b81f}, {0x2cea2, 0x2ceaf}, {0x2ebe1, 0x2f7ff}, |
507 | {0x2fa1e, 0xe0000}, {0xe0002, 0xe001f}, {0xe0080, 0xe00ff}, {0xe01f0, 0xeffff}, |
508 | {0xffffe, 0xfffff}, {0x10fffe, 0x10ffff}}), |
509 | CharacterClassWidths::HasBothBMPAndNonBMP); |
510 | return characterClass; |
511 | } |
512 | |
513 | static std::unique_ptr<CharacterClass> createCharacterClass5() |
514 | { |
515 | // Name = Letter, number of codePoints: 125419 |
516 | auto characterClass = std::make_unique<CharacterClass>( |
517 | std::initializer_list<UChar32>({}), |
518 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
519 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x02ec, 0x02ee, 0x037f, 0x0386, 0x038c, |
520 | 0x0559, 0x06d5, 0x06ff, 0x0710, 0x07b1, 0x07fa, 0x081a, 0x0824, |
521 | 0x0828, 0x093d, 0x0950, 0x09b2, 0x09bd, 0x09ce, 0x09fc, 0x0a5e, |
522 | 0x0abd, 0x0ad0, 0x0af9, 0x0b3d, 0x0b71, 0x0b83, 0x0b9c, 0x0bd0, |
523 | 0x0c3d, 0x0c80, 0x0cbd, 0x0cde, 0x0d3d, 0x0d4e, 0x0dbd, 0x0e84, |
524 | 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, 0x0ebd, 0x0ec6, 0x0f00, 0x103f, |
525 | 0x1061, 0x108e, 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x17d7, 0x17dc, |
526 | 0x18aa, 0x1aa7, 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, 0x2071, 0x207f, |
527 | 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214e, 0x2d27, |
528 | 0x2d2d, 0x2d6f, 0x2e2f, 0xa8fb, 0xa9cf, 0xaa7a, 0xaab1, 0xaac0, |
529 | 0xaac2, 0xfb1d, 0xfb3e, 0x10808, 0x1083c, 0x10a00, 0x10f27, 0x11144, |
530 | 0x11176, 0x111da, 0x111dc, 0x11288, 0x1133d, 0x11350, 0x114c7, 0x11644, |
531 | 0x118ff, 0x11a00, 0x11a3a, 0x11a50, 0x11a9d, 0x11c40, 0x11d46, 0x11d98, |
532 | 0x16f50, 0x1d4a2, 0x1d4bb, 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, |
533 | 0x1ee42, 0x1ee47, 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, |
534 | 0x1ee5d, 0x1ee5f, 0x1ee64, 0x1ee7e}), |
535 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
536 | {0x02e0, 0x02e4}, {0x0370, 0x0374}, {0x0376, 0x0377}, {0x037a, 0x037d}, |
537 | {0x0388, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
538 | {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, {0x05d0, 0x05ea}, |
539 | {0x05ef, 0x05f2}, {0x0620, 0x064a}, {0x066e, 0x066f}, {0x0671, 0x06d3}, |
540 | {0x06e5, 0x06e6}, {0x06ee, 0x06ef}, {0x06fa, 0x06fc}, {0x0712, 0x072f}, |
541 | {0x074d, 0x07a5}, {0x07ca, 0x07ea}, {0x07f4, 0x07f5}, {0x0800, 0x0815}, |
542 | {0x0840, 0x0858}, {0x0860, 0x086a}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, |
543 | {0x0904, 0x0939}, {0x0958, 0x0961}, {0x0971, 0x0980}, {0x0985, 0x098c}, |
544 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
545 | {0x09dc, 0x09dd}, {0x09df, 0x09e1}, {0x09f0, 0x09f1}, {0x0a05, 0x0a0a}, |
546 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
547 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a59, 0x0a5c}, {0x0a72, 0x0a74}, |
548 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
549 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0ae0, 0x0ae1}, {0x0b05, 0x0b0c}, |
550 | {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, |
551 | {0x0b35, 0x0b39}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b61}, {0x0b85, 0x0b8a}, |
552 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
553 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0c05, 0x0c0c}, |
554 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c58, 0x0c5a}, |
555 | {0x0c60, 0x0c61}, {0x0c85, 0x0c8c}, {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, |
556 | {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0ce0, 0x0ce1}, {0x0cf1, 0x0cf2}, |
557 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d3a}, {0x0d54, 0x0d56}, |
558 | {0x0d5f, 0x0d61}, {0x0d7a, 0x0d7f}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
559 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0e01, 0x0e30}, {0x0e32, 0x0e33}, |
560 | {0x0e40, 0x0e46}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
561 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb0}, |
562 | {0x0eb2, 0x0eb3}, {0x0ec0, 0x0ec4}, {0x0edc, 0x0edf}, {0x0f40, 0x0f47}, |
563 | {0x0f49, 0x0f6c}, {0x0f88, 0x0f8c}, {0x1000, 0x102a}, {0x1050, 0x1055}, |
564 | {0x105a, 0x105d}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, |
565 | {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, |
566 | {0x1250, 0x1256}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, |
567 | {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c2, 0x12c5}, |
568 | {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, |
569 | {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, |
570 | {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16f1, 0x16f8}, |
571 | {0x1700, 0x170c}, {0x170e, 0x1711}, {0x1720, 0x1731}, {0x1740, 0x1751}, |
572 | {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x1820, 0x1878}, |
573 | {0x1880, 0x1884}, {0x1887, 0x18a8}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, |
574 | {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, |
575 | {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4b}, |
576 | {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, |
577 | {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, |
578 | {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf1}, {0x1cf5, 0x1cf6}, |
579 | {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, |
580 | {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, |
581 | {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, |
582 | {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, |
583 | {0x2090, 0x209c}, {0x210a, 0x2113}, {0x2119, 0x211d}, {0x212a, 0x212d}, |
584 | {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x2183, 0x2184}, |
585 | {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x2c60, 0x2ce4}, {0x2ceb, 0x2cee}, |
586 | {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d30, 0x2d67}, {0x2d80, 0x2d96}, |
587 | {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, |
588 | {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, |
589 | {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c}, {0x3041, 0x3096}, |
590 | {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, |
591 | {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, {0x3400, 0x4db5}, |
592 | {0x4e00, 0x9fef}, {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, |
593 | {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, |
594 | {0xa6a0, 0xa6e5}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7b9}, |
595 | {0xa7f7, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, |
596 | {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fd, 0xa8fe}, |
597 | {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2}, |
598 | {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, |
599 | {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7e, 0xaaaf}, |
600 | {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, |
601 | {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, |
602 | {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab65}, |
603 | {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, |
604 | {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, |
605 | {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, |
606 | {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, |
607 | {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, |
608 | {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, |
609 | {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, |
610 | {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |
611 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, |
612 | {0x10300, 0x1031f}, {0x1032d, 0x10340}, {0x10342, 0x10349}, {0x10350, 0x10375}, |
613 | {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x10400, 0x1049d}, |
614 | {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, |
615 | {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, |
616 | {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, |
617 | {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, |
618 | {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a10, 0x10a13}, |
619 | {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, |
620 | {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, |
621 | {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, |
622 | {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10f00, 0x10f1c}, {0x10f30, 0x10f45}, |
623 | {0x11003, 0x11037}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, |
624 | {0x11150, 0x11172}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x11200, 0x11211}, |
625 | {0x11213, 0x1122b}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, |
626 | {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, |
627 | {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, |
628 | {0x1135d, 0x11361}, {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x11480, 0x114af}, |
629 | {0x114c4, 0x114c5}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, |
630 | {0x11680, 0x116aa}, {0x11700, 0x1171a}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, |
631 | {0x11a0b, 0x11a32}, {0x11a5c, 0x11a83}, {0x11a86, 0x11a89}, {0x11ac0, 0x11af8}, |
632 | {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, |
633 | {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, |
634 | {0x11d6a, 0x11d89}, {0x11ee0, 0x11ef2}, {0x12000, 0x12399}, {0x12480, 0x12543}, |
635 | {0x13000, 0x1342e}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, |
636 | {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, |
637 | {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f44}, {0x16f93, 0x16f9f}, |
638 | {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, |
639 | {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, |
640 | {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, |
641 | {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, |
642 | {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, |
643 | {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, |
644 | {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, |
645 | {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, |
646 | {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, |
647 | {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, |
648 | {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, |
649 | {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, |
650 | {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, |
651 | {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6d6}, |
652 | {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, |
653 | {0x2f800, 0x2fa1d}}), |
654 | CharacterClassWidths::HasBothBMPAndNonBMP); |
655 | return characterClass; |
656 | } |
657 | |
658 | static std::unique_ptr<CharacterClass> createCharacterClass6() |
659 | { |
660 | // Name = Cased_Letter, number of codePoints: 3957 |
661 | auto characterClass = std::make_unique<CharacterClass>( |
662 | std::initializer_list<UChar32>({}), |
663 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
664 | std::initializer_list<UChar32>({0x00b5, 0x037f, 0x0386, 0x038c, 0x10c7, 0x10cd, 0x1f59, 0x1f5b, |
665 | 0x1f5d, 0x1fbe, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, |
666 | 0x2139, 0x214e, 0x2d27, 0x2d2d, 0xa7fa, 0x1d4a2, 0x1d4bb, 0x1d546}), |
667 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x01ba}, {0x01bc, 0x01bf}, |
668 | {0x01c4, 0x0293}, {0x0295, 0x02af}, {0x0370, 0x0373}, {0x0376, 0x0377}, |
669 | {0x037b, 0x037d}, {0x0388, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, |
670 | {0x03f7, 0x0481}, {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, |
671 | {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, {0x10fd, 0x10ff}, {0x13a0, 0x13f5}, |
672 | {0x13f8, 0x13fd}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, |
673 | {0x1d00, 0x1d2b}, {0x1d6b, 0x1d77}, {0x1d79, 0x1d9a}, {0x1e00, 0x1f15}, |
674 | {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, |
675 | {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, |
676 | {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, |
677 | {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x210a, 0x2113}, {0x2119, 0x211d}, |
678 | {0x212a, 0x212d}, {0x212f, 0x2134}, {0x213c, 0x213f}, {0x2145, 0x2149}, |
679 | {0x2183, 0x2184}, {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x2c60, 0x2c7b}, |
680 | {0x2c7e, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, |
681 | {0xa640, 0xa66d}, {0xa680, 0xa69b}, {0xa722, 0xa76f}, {0xa771, 0xa787}, |
682 | {0xa78b, 0xa78e}, {0xa790, 0xa7b9}, {0xab30, 0xab5a}, {0xab60, 0xab65}, |
683 | {0xab70, 0xabbf}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff21, 0xff3a}, |
684 | {0xff41, 0xff5a}, {0x10400, 0x1044f}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, |
685 | {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x118a0, 0x118df}, {0x16e40, 0x16e7f}, |
686 | {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, |
687 | {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, |
688 | {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, |
689 | {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, |
690 | {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, |
691 | {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, |
692 | {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1e900, 0x1e943}}), |
693 | CharacterClassWidths::HasBothBMPAndNonBMP); |
694 | return characterClass; |
695 | } |
696 | |
697 | static std::unique_ptr<CharacterClass> createCharacterClass7() |
698 | { |
699 | // Name = Control, number of codePoints: 65 |
700 | auto characterClass = std::make_unique<CharacterClass>( |
701 | std::initializer_list<UChar32>({0x7f}), |
702 | std::initializer_list<CharacterRange>({{0x00, 0x1f}}), |
703 | std::initializer_list<UChar32>({}), |
704 | std::initializer_list<CharacterRange>({{0x0080, 0x009f}}), |
705 | CharacterClassWidths::HasBMPChars); |
706 | return characterClass; |
707 | } |
708 | |
709 | static std::unique_ptr<CharacterClass> createCharacterClass8() |
710 | { |
711 | // Name = Separator, number of codePoints: 19 |
712 | auto characterClass = std::make_unique<CharacterClass>( |
713 | std::initializer_list<UChar32>({0x20}), |
714 | std::initializer_list<CharacterRange>({}), |
715 | std::initializer_list<UChar32>({0x00a0, 0x1680, 0x202f, 0x205f, 0x3000}), |
716 | std::initializer_list<CharacterRange>({{0x2000, 0x200a}, {0x2028, 0x2029}}), |
717 | CharacterClassWidths::HasBMPChars); |
718 | return characterClass; |
719 | } |
720 | |
721 | static std::unique_ptr<CharacterClass> createCharacterClass9() |
722 | { |
723 | // Name = Space_Separator, number of codePoints: 17 |
724 | auto characterClass = std::make_unique<CharacterClass>( |
725 | std::initializer_list<UChar32>({0x20}), |
726 | std::initializer_list<CharacterRange>({}), |
727 | std::initializer_list<UChar32>({0x00a0, 0x1680, 0x202f, 0x205f, 0x3000}), |
728 | std::initializer_list<CharacterRange>({{0x2000, 0x200a}}), |
729 | CharacterClassWidths::HasBMPChars); |
730 | return characterClass; |
731 | } |
732 | |
733 | static std::unique_ptr<CharacterClass> createCharacterClass10() |
734 | { |
735 | // Name = Punctuation, number of codePoints: 788 |
736 | auto characterClass = std::make_unique<CharacterClass>( |
737 | std::initializer_list<UChar32>({0x5f, 0x7b, 0x7d}), |
738 | std::initializer_list<CharacterRange>({{0x21, 0x23}, {0x25, 0x2a}, {0x2c, 0x2f}, {0x3a, 0x3b}, |
739 | {0x3f, 0x40}, {0x5b, 0x5d}}), |
740 | std::initializer_list<UChar32>({0x00a1, 0x00a7, 0x00ab, 0x00bb, 0x00bf, 0x037e, 0x0387, 0x05be, |
741 | 0x05c0, 0x05c3, 0x05c6, 0x061b, 0x06d4, 0x085e, 0x0970, 0x09fd, |
742 | 0x0a76, 0x0af0, 0x0c84, 0x0df4, 0x0e4f, 0x0f14, 0x0f85, 0x10fb, |
743 | 0x1400, 0x1cd3, 0x2d70, 0x3030, 0x303d, 0x30a0, 0x30fb, 0xa673, |
744 | 0xa67e, 0xa8fc, 0xa95f, 0xabeb, 0xfe63, 0xfe68, 0xff3f, 0xff5b, |
745 | 0xff5d, 0x1039f, 0x103d0, 0x1056f, 0x10857, 0x1091f, 0x1093f, 0x10a7f, |
746 | 0x111cd, 0x111db, 0x112a9, 0x1145b, 0x1145d, 0x114c6, 0x1183b, 0x16af5, |
747 | 0x16b44, 0x1bc9f}), |
748 | std::initializer_list<CharacterRange>({{0x00b6, 0x00b7}, {0x055a, 0x055f}, {0x0589, 0x058a}, {0x05f3, 0x05f4}, |
749 | {0x0609, 0x060a}, {0x060c, 0x060d}, {0x061e, 0x061f}, {0x066a, 0x066d}, |
750 | {0x0700, 0x070d}, {0x07f7, 0x07f9}, {0x0830, 0x083e}, {0x0964, 0x0965}, |
751 | {0x0e5a, 0x0e5b}, {0x0f04, 0x0f12}, {0x0f3a, 0x0f3d}, {0x0fd0, 0x0fd4}, |
752 | {0x0fd9, 0x0fda}, {0x104a, 0x104f}, {0x1360, 0x1368}, {0x166d, 0x166e}, |
753 | {0x169b, 0x169c}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, |
754 | {0x17d8, 0x17da}, {0x1800, 0x180a}, {0x1944, 0x1945}, {0x1a1e, 0x1a1f}, |
755 | {0x1aa0, 0x1aa6}, {0x1aa8, 0x1aad}, {0x1b5a, 0x1b60}, {0x1bfc, 0x1bff}, |
756 | {0x1c3b, 0x1c3f}, {0x1c7e, 0x1c7f}, {0x1cc0, 0x1cc7}, {0x2010, 0x2027}, |
757 | {0x2030, 0x2043}, {0x2045, 0x2051}, {0x2053, 0x205e}, {0x207d, 0x207e}, |
758 | {0x208d, 0x208e}, {0x2308, 0x230b}, {0x2329, 0x232a}, {0x2768, 0x2775}, |
759 | {0x27c5, 0x27c6}, {0x27e6, 0x27ef}, {0x2983, 0x2998}, {0x29d8, 0x29db}, |
760 | {0x29fc, 0x29fd}, {0x2cf9, 0x2cfc}, {0x2cfe, 0x2cff}, {0x2e00, 0x2e2e}, |
761 | {0x2e30, 0x2e4e}, {0x3001, 0x3003}, {0x3008, 0x3011}, {0x3014, 0x301f}, |
762 | {0xa4fe, 0xa4ff}, {0xa60d, 0xa60f}, {0xa6f2, 0xa6f7}, {0xa874, 0xa877}, |
763 | {0xa8ce, 0xa8cf}, {0xa8f8, 0xa8fa}, {0xa92e, 0xa92f}, {0xa9c1, 0xa9cd}, |
764 | {0xa9de, 0xa9df}, {0xaa5c, 0xaa5f}, {0xaade, 0xaadf}, {0xaaf0, 0xaaf1}, |
765 | {0xfd3e, 0xfd3f}, {0xfe10, 0xfe19}, {0xfe30, 0xfe52}, {0xfe54, 0xfe61}, |
766 | {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a}, {0xff0c, 0xff0f}, |
767 | {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d}, {0xff5f, 0xff65}, |
768 | {0x10100, 0x10102}, {0x10a50, 0x10a58}, {0x10af0, 0x10af6}, {0x10b39, 0x10b3f}, |
769 | {0x10b99, 0x10b9c}, {0x10f55, 0x10f59}, {0x11047, 0x1104d}, {0x110bb, 0x110bc}, |
770 | {0x110be, 0x110c1}, {0x11140, 0x11143}, {0x11174, 0x11175}, {0x111c5, 0x111c8}, |
771 | {0x111dd, 0x111df}, {0x11238, 0x1123d}, {0x1144b, 0x1144f}, {0x115c1, 0x115d7}, |
772 | {0x11641, 0x11643}, {0x11660, 0x1166c}, {0x1173c, 0x1173e}, {0x11a3f, 0x11a46}, |
773 | {0x11a9a, 0x11a9c}, {0x11a9e, 0x11aa2}, {0x11c41, 0x11c45}, {0x11c70, 0x11c71}, |
774 | {0x11ef7, 0x11ef8}, {0x12470, 0x12474}, {0x16a6e, 0x16a6f}, {0x16b37, 0x16b3b}, |
775 | {0x16e97, 0x16e9a}, {0x1da87, 0x1da8b}, {0x1e95e, 0x1e95f}}), |
776 | CharacterClassWidths::HasBothBMPAndNonBMP); |
777 | return characterClass; |
778 | } |
779 | |
780 | static std::unique_ptr<CharacterClass> createCharacterClass11() |
781 | { |
782 | // Name = Other_Punctuation, number of codePoints: 584 |
783 | auto characterClass = std::make_unique<CharacterClass>( |
784 | std::initializer_list<UChar32>({0x2a, 0x2c, 0x5c}), |
785 | std::initializer_list<CharacterRange>({{0x21, 0x23}, {0x25, 0x27}, {0x2e, 0x2f}, {0x3a, 0x3b}, |
786 | {0x3f, 0x40}}), |
787 | std::initializer_list<UChar32>({0x00a1, 0x00a7, 0x00bf, 0x037e, 0x0387, 0x0589, 0x05c0, 0x05c3, |
788 | 0x05c6, 0x061b, 0x06d4, 0x085e, 0x0970, 0x09fd, 0x0a76, 0x0af0, |
789 | 0x0c84, 0x0df4, 0x0e4f, 0x0f14, 0x0f85, 0x10fb, 0x1cd3, 0x2053, |
790 | 0x2d70, 0x2e0b, 0x2e1b, 0x2e41, 0x303d, 0x30fb, 0xa673, 0xa67e, |
791 | 0xa8fc, 0xa95f, 0xabeb, 0xfe19, 0xfe30, 0xfe68, 0xff0a, 0xff0c, |
792 | 0xff3c, 0xff61, 0x1039f, 0x103d0, 0x1056f, 0x10857, 0x1091f, 0x1093f, |
793 | 0x10a7f, 0x111cd, 0x111db, 0x112a9, 0x1145b, 0x1145d, 0x114c6, 0x1183b, |
794 | 0x16af5, 0x16b44, 0x1bc9f}), |
795 | std::initializer_list<CharacterRange>({{0x00b6, 0x00b7}, {0x055a, 0x055f}, {0x05f3, 0x05f4}, {0x0609, 0x060a}, |
796 | {0x060c, 0x060d}, {0x061e, 0x061f}, {0x066a, 0x066d}, {0x0700, 0x070d}, |
797 | {0x07f7, 0x07f9}, {0x0830, 0x083e}, {0x0964, 0x0965}, {0x0e5a, 0x0e5b}, |
798 | {0x0f04, 0x0f12}, {0x0fd0, 0x0fd4}, {0x0fd9, 0x0fda}, {0x104a, 0x104f}, |
799 | {0x1360, 0x1368}, {0x166d, 0x166e}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, |
800 | {0x17d4, 0x17d6}, {0x17d8, 0x17da}, {0x1800, 0x1805}, {0x1807, 0x180a}, |
801 | {0x1944, 0x1945}, {0x1a1e, 0x1a1f}, {0x1aa0, 0x1aa6}, {0x1aa8, 0x1aad}, |
802 | {0x1b5a, 0x1b60}, {0x1bfc, 0x1bff}, {0x1c3b, 0x1c3f}, {0x1c7e, 0x1c7f}, |
803 | {0x1cc0, 0x1cc7}, {0x2016, 0x2017}, {0x2020, 0x2027}, {0x2030, 0x2038}, |
804 | {0x203b, 0x203e}, {0x2041, 0x2043}, {0x2047, 0x2051}, {0x2055, 0x205e}, |
805 | {0x2cf9, 0x2cfc}, {0x2cfe, 0x2cff}, {0x2e00, 0x2e01}, {0x2e06, 0x2e08}, |
806 | {0x2e0e, 0x2e16}, {0x2e18, 0x2e19}, {0x2e1e, 0x2e1f}, {0x2e2a, 0x2e2e}, |
807 | {0x2e30, 0x2e39}, {0x2e3c, 0x2e3f}, {0x2e43, 0x2e4e}, {0x3001, 0x3003}, |
808 | {0xa4fe, 0xa4ff}, {0xa60d, 0xa60f}, {0xa6f2, 0xa6f7}, {0xa874, 0xa877}, |
809 | {0xa8ce, 0xa8cf}, {0xa8f8, 0xa8fa}, {0xa92e, 0xa92f}, {0xa9c1, 0xa9cd}, |
810 | {0xa9de, 0xa9df}, {0xaa5c, 0xaa5f}, {0xaade, 0xaadf}, {0xaaf0, 0xaaf1}, |
811 | {0xfe10, 0xfe16}, {0xfe45, 0xfe46}, {0xfe49, 0xfe4c}, {0xfe50, 0xfe52}, |
812 | {0xfe54, 0xfe57}, {0xfe5f, 0xfe61}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, |
813 | {0xff05, 0xff07}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b}, {0xff1f, 0xff20}, |
814 | {0xff64, 0xff65}, {0x10100, 0x10102}, {0x10a50, 0x10a58}, {0x10af0, 0x10af6}, |
815 | {0x10b39, 0x10b3f}, {0x10b99, 0x10b9c}, {0x10f55, 0x10f59}, {0x11047, 0x1104d}, |
816 | {0x110bb, 0x110bc}, {0x110be, 0x110c1}, {0x11140, 0x11143}, {0x11174, 0x11175}, |
817 | {0x111c5, 0x111c8}, {0x111dd, 0x111df}, {0x11238, 0x1123d}, {0x1144b, 0x1144f}, |
818 | {0x115c1, 0x115d7}, {0x11641, 0x11643}, {0x11660, 0x1166c}, {0x1173c, 0x1173e}, |
819 | {0x11a3f, 0x11a46}, {0x11a9a, 0x11a9c}, {0x11a9e, 0x11aa2}, {0x11c41, 0x11c45}, |
820 | {0x11c70, 0x11c71}, {0x11ef7, 0x11ef8}, {0x12470, 0x12474}, {0x16a6e, 0x16a6f}, |
821 | {0x16b37, 0x16b3b}, {0x16e97, 0x16e9a}, {0x1da87, 0x1da8b}, {0x1e95e, 0x1e95f}}), |
822 | CharacterClassWidths::HasBothBMPAndNonBMP); |
823 | return characterClass; |
824 | } |
825 | |
826 | static std::unique_ptr<CharacterClass> createCharacterClass12() |
827 | { |
828 | // Name = Symbol, number of codePoints: 7110 |
829 | auto characterClass = std::make_unique<CharacterClass>( |
830 | std::initializer_list<UChar32>({0x24, 0x2b, 0x5e, 0x60, 0x7c, 0x7e}), |
831 | std::initializer_list<CharacterRange>({{0x3c, 0x3e}}), |
832 | std::initializer_list<UChar32>({0x00ac, 0x00b4, 0x00b8, 0x00d7, 0x00f7, 0x02ed, 0x0375, 0x03f6, |
833 | 0x0482, 0x060b, 0x06de, 0x06e9, 0x07f6, 0x0af1, 0x0b70, 0x0c7f, |
834 | 0x0d4f, 0x0d79, 0x0e3f, 0x0f13, 0x0f34, 0x0f36, 0x0f38, 0x17db, |
835 | 0x1940, 0x1fbd, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, |
836 | 0x212e, 0x214f, 0x3004, 0x3020, 0x3250, 0xab5b, 0xfb29, 0xfe62, |
837 | 0xfe69, 0xff04, 0xff0b, 0xff3e, 0xff40, 0xff5c, 0xff5e, 0x101a0, |
838 | 0x10ac8, 0x1173f, 0x16b45, 0x1bc9c, 0x1d245, 0x1d6c1, 0x1d6db, 0x1d6fb, |
839 | 0x1d715, 0x1d735, 0x1d74f, 0x1d76f, 0x1d789, 0x1d7a9, 0x1d7c3, 0x1ecac, |
840 | 0x1ecb0, 0x1f97a}), |
841 | std::initializer_list<CharacterRange>({{0x00a2, 0x00a6}, {0x00a8, 0x00a9}, {0x00ae, 0x00b1}, {0x02c2, 0x02c5}, |
842 | {0x02d2, 0x02df}, {0x02e5, 0x02eb}, {0x02ef, 0x02ff}, {0x0384, 0x0385}, |
843 | {0x058d, 0x058f}, {0x0606, 0x0608}, {0x060e, 0x060f}, {0x06fd, 0x06fe}, |
844 | {0x07fe, 0x07ff}, {0x09f2, 0x09f3}, {0x09fa, 0x09fb}, {0x0bf3, 0x0bfa}, |
845 | {0x0f01, 0x0f03}, {0x0f15, 0x0f17}, {0x0f1a, 0x0f1f}, {0x0fbe, 0x0fc5}, |
846 | {0x0fc7, 0x0fcc}, {0x0fce, 0x0fcf}, {0x0fd5, 0x0fd8}, {0x109e, 0x109f}, |
847 | {0x1390, 0x1399}, {0x19de, 0x19ff}, {0x1b61, 0x1b6a}, {0x1b74, 0x1b7c}, |
848 | {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, |
849 | {0x1ffd, 0x1ffe}, {0x207a, 0x207c}, {0x208a, 0x208c}, {0x20a0, 0x20bf}, |
850 | {0x2100, 0x2101}, {0x2103, 0x2106}, {0x2108, 0x2109}, {0x2116, 0x2118}, |
851 | {0x211e, 0x2123}, {0x213a, 0x213b}, {0x2140, 0x2144}, {0x214a, 0x214d}, |
852 | {0x218a, 0x218b}, {0x2190, 0x2307}, {0x230c, 0x2328}, {0x232b, 0x2426}, |
853 | {0x2440, 0x244a}, {0x249c, 0x24e9}, {0x2500, 0x2767}, {0x2794, 0x27c4}, |
854 | {0x27c7, 0x27e5}, {0x27f0, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, |
855 | {0x29fe, 0x2b73}, {0x2b76, 0x2b95}, {0x2b98, 0x2bc8}, {0x2bca, 0x2bfe}, |
856 | {0x2ce5, 0x2cea}, {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, |
857 | {0x2ff0, 0x2ffb}, {0x3012, 0x3013}, {0x3036, 0x3037}, {0x303e, 0x303f}, |
858 | {0x309b, 0x309c}, {0x3190, 0x3191}, {0x3196, 0x319f}, {0x31c0, 0x31e3}, |
859 | {0x3200, 0x321e}, {0x322a, 0x3247}, {0x3260, 0x327f}, {0x328a, 0x32b0}, |
860 | {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, |
861 | {0xa700, 0xa716}, {0xa720, 0xa721}, {0xa789, 0xa78a}, {0xa828, 0xa82b}, |
862 | {0xa836, 0xa839}, {0xaa77, 0xaa79}, {0xfbb2, 0xfbc1}, {0xfdfc, 0xfdfd}, |
863 | {0xfe64, 0xfe66}, {0xff1c, 0xff1e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee}, |
864 | {0xfffc, 0xfffd}, {0x10137, 0x1013f}, {0x10179, 0x10189}, {0x1018c, 0x1018e}, |
865 | {0x10190, 0x1019b}, {0x101d0, 0x101fc}, {0x10877, 0x10878}, {0x16b3c, 0x16b3f}, |
866 | {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d129, 0x1d164}, {0x1d16a, 0x1d16c}, |
867 | {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, {0x1d1ae, 0x1d1e8}, {0x1d200, 0x1d241}, |
868 | {0x1d300, 0x1d356}, {0x1d800, 0x1d9ff}, {0x1da37, 0x1da3a}, {0x1da6d, 0x1da74}, |
869 | {0x1da76, 0x1da83}, {0x1da85, 0x1da86}, {0x1eef0, 0x1eef1}, {0x1f000, 0x1f02b}, |
870 | {0x1f030, 0x1f093}, {0x1f0a0, 0x1f0ae}, {0x1f0b1, 0x1f0bf}, {0x1f0c1, 0x1f0cf}, |
871 | {0x1f0d1, 0x1f0f5}, {0x1f110, 0x1f16b}, {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f202}, |
872 | {0x1f210, 0x1f23b}, {0x1f240, 0x1f248}, {0x1f250, 0x1f251}, {0x1f260, 0x1f265}, |
873 | {0x1f300, 0x1f6d4}, {0x1f6e0, 0x1f6ec}, {0x1f6f0, 0x1f6f9}, {0x1f700, 0x1f773}, |
874 | {0x1f780, 0x1f7d8}, {0x1f800, 0x1f80b}, {0x1f810, 0x1f847}, {0x1f850, 0x1f859}, |
875 | {0x1f860, 0x1f887}, {0x1f890, 0x1f8ad}, {0x1f900, 0x1f90b}, {0x1f910, 0x1f93e}, |
876 | {0x1f940, 0x1f970}, {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, |
877 | {0x1f9c0, 0x1f9c2}, {0x1f9d0, 0x1f9ff}, {0x1fa60, 0x1fa6d}}), |
878 | CharacterClassWidths::HasBothBMPAndNonBMP); |
879 | return characterClass; |
880 | } |
881 | |
882 | static std::unique_ptr<CharacterClass> createCharacterClass13() |
883 | { |
884 | // Name = Currency_Symbol, number of codePoints: 57 |
885 | auto characterClass = std::make_unique<CharacterClass>( |
886 | std::initializer_list<UChar32>({0x24}), |
887 | std::initializer_list<CharacterRange>({}), |
888 | std::initializer_list<UChar32>({0x058f, 0x060b, 0x09fb, 0x0af1, 0x0bf9, 0x0e3f, 0x17db, 0xa838, |
889 | 0xfdfc, 0xfe69, 0xff04, 0x1ecb0}), |
890 | std::initializer_list<CharacterRange>({{0x00a2, 0x00a5}, {0x07fe, 0x07ff}, {0x09f2, 0x09f3}, {0x20a0, 0x20bf}, |
891 | {0xffe0, 0xffe1}, {0xffe5, 0xffe6}}), |
892 | CharacterClassWidths::HasBothBMPAndNonBMP); |
893 | return characterClass; |
894 | } |
895 | |
896 | static std::unique_ptr<CharacterClass> createCharacterClass14() |
897 | { |
898 | // Name = Open_Punctuation, number of codePoints: 75 |
899 | auto characterClass = std::make_unique<CharacterClass>( |
900 | std::initializer_list<UChar32>({0x28, 0x5b, 0x7b}), |
901 | std::initializer_list<CharacterRange>({}), |
902 | std::initializer_list<UChar32>({0x0f3a, 0x0f3c, 0x169b, 0x201a, 0x201e, 0x2045, 0x207d, 0x208d, |
903 | 0x2308, 0x230a, 0x2329, 0x2768, 0x276a, 0x276c, 0x276e, 0x2770, |
904 | 0x2772, 0x2774, 0x27c5, 0x27e6, 0x27e8, 0x27ea, 0x27ec, 0x27ee, |
905 | 0x2983, 0x2985, 0x2987, 0x2989, 0x298b, 0x298d, 0x298f, 0x2991, |
906 | 0x2993, 0x2995, 0x2997, 0x29d8, 0x29da, 0x29fc, 0x2e22, 0x2e24, |
907 | 0x2e26, 0x2e28, 0x2e42, 0x3008, 0x300a, 0x300c, 0x300e, 0x3010, |
908 | 0x3014, 0x3016, 0x3018, 0x301a, 0x301d, 0xfd3f, 0xfe17, 0xfe35, |
909 | 0xfe37, 0xfe39, 0xfe3b, 0xfe3d, 0xfe3f, 0xfe41, 0xfe43, 0xfe47, |
910 | 0xfe59, 0xfe5b, 0xfe5d, 0xff08, 0xff3b, 0xff5b, 0xff5f, 0xff62}), |
911 | std::initializer_list<CharacterRange>({}), |
912 | CharacterClassWidths::HasBMPChars); |
913 | return characterClass; |
914 | } |
915 | |
916 | static std::unique_ptr<CharacterClass> createCharacterClass15() |
917 | { |
918 | // Name = Close_Punctuation, number of codePoints: 73 |
919 | auto characterClass = std::make_unique<CharacterClass>( |
920 | std::initializer_list<UChar32>({0x29, 0x5d, 0x7d}), |
921 | std::initializer_list<CharacterRange>({}), |
922 | std::initializer_list<UChar32>({0x0f3b, 0x0f3d, 0x169c, 0x2046, 0x207e, 0x208e, 0x2309, 0x230b, |
923 | 0x232a, 0x2769, 0x276b, 0x276d, 0x276f, 0x2771, 0x2773, 0x2775, |
924 | 0x27c6, 0x27e7, 0x27e9, 0x27eb, 0x27ed, 0x27ef, 0x2984, 0x2986, |
925 | 0x2988, 0x298a, 0x298c, 0x298e, 0x2990, 0x2992, 0x2994, 0x2996, |
926 | 0x2998, 0x29d9, 0x29db, 0x29fd, 0x2e23, 0x2e25, 0x2e27, 0x2e29, |
927 | 0x3009, 0x300b, 0x300d, 0x300f, 0x3011, 0x3015, 0x3017, 0x3019, |
928 | 0x301b, 0xfd3e, 0xfe18, 0xfe36, 0xfe38, 0xfe3a, 0xfe3c, 0xfe3e, |
929 | 0xfe40, 0xfe42, 0xfe44, 0xfe48, 0xfe5a, 0xfe5c, 0xfe5e, 0xff09, |
930 | 0xff3d, 0xff5d, 0xff60, 0xff63}), |
931 | std::initializer_list<CharacterRange>({{0x301e, 0x301f}}), |
932 | CharacterClassWidths::HasBMPChars); |
933 | return characterClass; |
934 | } |
935 | |
936 | static std::unique_ptr<CharacterClass> createCharacterClass16() |
937 | { |
938 | // Name = Math_Symbol, number of codePoints: 948 |
939 | auto characterClass = std::make_unique<CharacterClass>( |
940 | std::initializer_list<UChar32>({0x2b, 0x7c, 0x7e}), |
941 | std::initializer_list<CharacterRange>({{0x3c, 0x3e}}), |
942 | std::initializer_list<UChar32>({0x00ac, 0x00b1, 0x00d7, 0x00f7, 0x03f6, 0x2044, 0x2052, 0x2118, |
943 | 0x214b, 0x21a0, 0x21a3, 0x21a6, 0x21ae, 0x21d2, 0x21d4, 0x237c, |
944 | 0x25b7, 0x25c1, 0x266f, 0xfb29, 0xfe62, 0xff0b, 0xff5c, 0xff5e, |
945 | 0xffe2, 0x1d6c1, 0x1d6db, 0x1d6fb, 0x1d715, 0x1d735, 0x1d74f, 0x1d76f, |
946 | 0x1d789, 0x1d7a9, 0x1d7c3}), |
947 | std::initializer_list<CharacterRange>({{0x0606, 0x0608}, {0x207a, 0x207c}, {0x208a, 0x208c}, {0x2140, 0x2144}, |
948 | {0x2190, 0x2194}, {0x219a, 0x219b}, {0x21ce, 0x21cf}, {0x21f4, 0x22ff}, |
949 | {0x2320, 0x2321}, {0x239b, 0x23b3}, {0x23dc, 0x23e1}, {0x25f8, 0x25ff}, |
950 | {0x27c0, 0x27c4}, {0x27c7, 0x27e5}, {0x27f0, 0x27ff}, {0x2900, 0x2982}, |
951 | {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff}, {0x2b30, 0x2b44}, |
952 | {0x2b47, 0x2b4c}, {0xfe64, 0xfe66}, {0xff1c, 0xff1e}, {0xffe9, 0xffec}, |
953 | {0x1eef0, 0x1eef1}}), |
954 | CharacterClassWidths::HasBothBMPAndNonBMP); |
955 | return characterClass; |
956 | } |
957 | |
958 | static std::unique_ptr<CharacterClass> createCharacterClass17() |
959 | { |
960 | // Name = Dash_Punctuation, number of codePoints: 24 |
961 | auto characterClass = std::make_unique<CharacterClass>( |
962 | std::initializer_list<UChar32>({0x2d}), |
963 | std::initializer_list<CharacterRange>({}), |
964 | std::initializer_list<UChar32>({0x058a, 0x05be, 0x1400, 0x1806, 0x2e17, 0x2e1a, 0x2e40, 0x301c, |
965 | 0x3030, 0x30a0, 0xfe58, 0xfe63, 0xff0d}), |
966 | std::initializer_list<CharacterRange>({{0x2010, 0x2015}, {0x2e3a, 0x2e3b}, {0xfe31, 0xfe32}}), |
967 | CharacterClassWidths::HasBMPChars); |
968 | return characterClass; |
969 | } |
970 | |
971 | static std::unique_ptr<CharacterClass> createCharacterClass18() |
972 | { |
973 | // Name = Number, number of codePoints: 1653 |
974 | auto characterClass = std::make_unique<CharacterClass>( |
975 | std::initializer_list<UChar32>({}), |
976 | std::initializer_list<CharacterRange>({{0x30, 0x39}}), |
977 | std::initializer_list<UChar32>({0x00b9, 0x2070, 0x2cfd, 0x3007, 0x10341, 0x1034a}), |
978 | std::initializer_list<CharacterRange>({{0x00b2, 0x00b3}, {0x00bc, 0x00be}, {0x0660, 0x0669}, {0x06f0, 0x06f9}, |
979 | {0x07c0, 0x07c9}, {0x0966, 0x096f}, {0x09e6, 0x09ef}, {0x09f4, 0x09f9}, |
980 | {0x0a66, 0x0a6f}, {0x0ae6, 0x0aef}, {0x0b66, 0x0b6f}, {0x0b72, 0x0b77}, |
981 | {0x0be6, 0x0bf2}, {0x0c66, 0x0c6f}, {0x0c78, 0x0c7e}, {0x0ce6, 0x0cef}, |
982 | {0x0d58, 0x0d5e}, {0x0d66, 0x0d78}, {0x0de6, 0x0def}, {0x0e50, 0x0e59}, |
983 | {0x0ed0, 0x0ed9}, {0x0f20, 0x0f33}, {0x1040, 0x1049}, {0x1090, 0x1099}, |
984 | {0x1369, 0x137c}, {0x16ee, 0x16f0}, {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, |
985 | {0x1810, 0x1819}, {0x1946, 0x194f}, {0x19d0, 0x19da}, {0x1a80, 0x1a89}, |
986 | {0x1a90, 0x1a99}, {0x1b50, 0x1b59}, {0x1bb0, 0x1bb9}, {0x1c40, 0x1c49}, |
987 | {0x1c50, 0x1c59}, {0x2074, 0x2079}, {0x2080, 0x2089}, {0x2150, 0x2182}, |
988 | {0x2185, 0x2189}, {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, |
989 | {0x3021, 0x3029}, {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229}, |
990 | {0x3248, 0x324f}, {0x3251, 0x325f}, {0x3280, 0x3289}, {0x32b1, 0x32bf}, |
991 | {0xa620, 0xa629}, {0xa6e6, 0xa6ef}, {0xa830, 0xa835}, {0xa8d0, 0xa8d9}, |
992 | {0xa900, 0xa909}, {0xa9d0, 0xa9d9}, {0xa9f0, 0xa9f9}, {0xaa50, 0xaa59}, |
993 | {0xabf0, 0xabf9}, {0xff10, 0xff19}, {0x10107, 0x10133}, {0x10140, 0x10178}, |
994 | {0x1018a, 0x1018b}, {0x102e1, 0x102fb}, {0x10320, 0x10323}, {0x103d1, 0x103d5}, |
995 | {0x104a0, 0x104a9}, {0x10858, 0x1085f}, {0x10879, 0x1087f}, {0x108a7, 0x108af}, |
996 | {0x108fb, 0x108ff}, {0x10916, 0x1091b}, {0x109bc, 0x109bd}, {0x109c0, 0x109cf}, |
997 | {0x109d2, 0x109ff}, {0x10a40, 0x10a48}, {0x10a7d, 0x10a7e}, {0x10a9d, 0x10a9f}, |
998 | {0x10aeb, 0x10aef}, {0x10b58, 0x10b5f}, {0x10b78, 0x10b7f}, {0x10ba9, 0x10baf}, |
999 | {0x10cfa, 0x10cff}, {0x10d30, 0x10d39}, {0x10e60, 0x10e7e}, {0x10f1d, 0x10f26}, |
1000 | {0x10f51, 0x10f54}, {0x11052, 0x1106f}, {0x110f0, 0x110f9}, {0x11136, 0x1113f}, |
1001 | {0x111d0, 0x111d9}, {0x111e1, 0x111f4}, {0x112f0, 0x112f9}, {0x11450, 0x11459}, |
1002 | {0x114d0, 0x114d9}, {0x11650, 0x11659}, {0x116c0, 0x116c9}, {0x11730, 0x1173b}, |
1003 | {0x118e0, 0x118f2}, {0x11c50, 0x11c6c}, {0x11d50, 0x11d59}, {0x11da0, 0x11da9}, |
1004 | {0x12400, 0x1246e}, {0x16a60, 0x16a69}, {0x16b50, 0x16b59}, {0x16b5b, 0x16b61}, |
1005 | {0x16e80, 0x16e96}, {0x1d2e0, 0x1d2f3}, {0x1d360, 0x1d378}, {0x1d7ce, 0x1d7ff}, |
1006 | {0x1e8c7, 0x1e8cf}, {0x1e950, 0x1e959}, {0x1ec71, 0x1ecab}, {0x1ecad, 0x1ecaf}, |
1007 | {0x1ecb1, 0x1ecb4}, {0x1f100, 0x1f10c}}), |
1008 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1009 | return characterClass; |
1010 | } |
1011 | |
1012 | static std::unique_ptr<CharacterClass> createCharacterClass19() |
1013 | { |
1014 | // Name = Decimal_Number, number of codePoints: 610 |
1015 | auto characterClass = std::make_unique<CharacterClass>( |
1016 | std::initializer_list<UChar32>({}), |
1017 | std::initializer_list<CharacterRange>({{0x30, 0x39}}), |
1018 | std::initializer_list<UChar32>({}), |
1019 | std::initializer_list<CharacterRange>({{0x0660, 0x0669}, {0x06f0, 0x06f9}, {0x07c0, 0x07c9}, {0x0966, 0x096f}, |
1020 | {0x09e6, 0x09ef}, {0x0a66, 0x0a6f}, {0x0ae6, 0x0aef}, {0x0b66, 0x0b6f}, |
1021 | {0x0be6, 0x0bef}, {0x0c66, 0x0c6f}, {0x0ce6, 0x0cef}, {0x0d66, 0x0d6f}, |
1022 | {0x0de6, 0x0def}, {0x0e50, 0x0e59}, {0x0ed0, 0x0ed9}, {0x0f20, 0x0f29}, |
1023 | {0x1040, 0x1049}, {0x1090, 0x1099}, {0x17e0, 0x17e9}, {0x1810, 0x1819}, |
1024 | {0x1946, 0x194f}, {0x19d0, 0x19d9}, {0x1a80, 0x1a89}, {0x1a90, 0x1a99}, |
1025 | {0x1b50, 0x1b59}, {0x1bb0, 0x1bb9}, {0x1c40, 0x1c49}, {0x1c50, 0x1c59}, |
1026 | {0xa620, 0xa629}, {0xa8d0, 0xa8d9}, {0xa900, 0xa909}, {0xa9d0, 0xa9d9}, |
1027 | {0xa9f0, 0xa9f9}, {0xaa50, 0xaa59}, {0xabf0, 0xabf9}, {0xff10, 0xff19}, |
1028 | {0x104a0, 0x104a9}, {0x10d30, 0x10d39}, {0x11066, 0x1106f}, {0x110f0, 0x110f9}, |
1029 | {0x11136, 0x1113f}, {0x111d0, 0x111d9}, {0x112f0, 0x112f9}, {0x11450, 0x11459}, |
1030 | {0x114d0, 0x114d9}, {0x11650, 0x11659}, {0x116c0, 0x116c9}, {0x11730, 0x11739}, |
1031 | {0x118e0, 0x118e9}, {0x11c50, 0x11c59}, {0x11d50, 0x11d59}, {0x11da0, 0x11da9}, |
1032 | {0x16a60, 0x16a69}, {0x16b50, 0x16b59}, {0x1d7ce, 0x1d7ff}, {0x1e950, 0x1e959}}), |
1033 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1034 | return characterClass; |
1035 | } |
1036 | |
1037 | static std::unique_ptr<CharacterClass> createCharacterClass20() |
1038 | { |
1039 | // Name = Uppercase_Letter, number of codePoints: 1781 |
1040 | auto characterClass = std::make_unique<CharacterClass>( |
1041 | std::initializer_list<UChar32>({}), |
1042 | std::initializer_list<CharacterRange>({{0x41, 0x5a}}), |
1043 | std::initializer_list<UChar32>({0x0100, 0x0102, 0x0104, 0x0106, 0x0108, 0x010a, 0x010c, 0x010e, |
1044 | 0x0110, 0x0112, 0x0114, 0x0116, 0x0118, 0x011a, 0x011c, 0x011e, |
1045 | 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, |
1046 | 0x0130, 0x0132, 0x0134, 0x0136, 0x0139, 0x013b, 0x013d, 0x013f, |
1047 | 0x0141, 0x0143, 0x0145, 0x0147, 0x014a, 0x014c, 0x014e, 0x0150, |
1048 | 0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160, |
1049 | 0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170, |
1050 | 0x0172, 0x0174, 0x0176, 0x017b, 0x017d, 0x0184, 0x01a2, 0x01a4, |
1051 | 0x01a9, 0x01ac, 0x01b5, 0x01bc, 0x01c4, 0x01c7, 0x01ca, 0x01cd, |
1052 | 0x01cf, 0x01d1, 0x01d3, 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x01de, |
1053 | 0x01e0, 0x01e2, 0x01e4, 0x01e6, 0x01e8, 0x01ea, 0x01ec, 0x01ee, |
1054 | 0x01f1, 0x01f4, 0x01fa, 0x01fc, 0x01fe, 0x0200, 0x0202, 0x0204, |
1055 | 0x0206, 0x0208, 0x020a, 0x020c, 0x020e, 0x0210, 0x0212, 0x0214, |
1056 | 0x0216, 0x0218, 0x021a, 0x021c, 0x021e, 0x0220, 0x0222, 0x0224, |
1057 | 0x0226, 0x0228, 0x022a, 0x022c, 0x022e, 0x0230, 0x0232, 0x0241, |
1058 | 0x0248, 0x024a, 0x024c, 0x024e, 0x0370, 0x0372, 0x0376, 0x037f, |
1059 | 0x0386, 0x038c, 0x03cf, 0x03d8, 0x03da, 0x03dc, 0x03de, 0x03e0, |
1060 | 0x03e2, 0x03e4, 0x03e6, 0x03e8, 0x03ea, 0x03ec, 0x03ee, 0x03f4, |
1061 | 0x03f7, 0x0460, 0x0462, 0x0464, 0x0466, 0x0468, 0x046a, 0x046c, |
1062 | 0x046e, 0x0470, 0x0472, 0x0474, 0x0476, 0x0478, 0x047a, 0x047c, |
1063 | 0x047e, 0x0480, 0x048a, 0x048c, 0x048e, 0x0490, 0x0492, 0x0494, |
1064 | 0x0496, 0x0498, 0x049a, 0x049c, 0x049e, 0x04a0, 0x04a2, 0x04a4, |
1065 | 0x04a6, 0x04a8, 0x04aa, 0x04ac, 0x04ae, 0x04b0, 0x04b2, 0x04b4, |
1066 | 0x04b6, 0x04b8, 0x04ba, 0x04bc, 0x04be, 0x04c3, 0x04c5, 0x04c7, |
1067 | 0x04c9, 0x04cb, 0x04cd, 0x04d0, 0x04d2, 0x04d4, 0x04d6, 0x04d8, |
1068 | 0x04da, 0x04dc, 0x04de, 0x04e0, 0x04e2, 0x04e4, 0x04e6, 0x04e8, |
1069 | 0x04ea, 0x04ec, 0x04ee, 0x04f0, 0x04f2, 0x04f4, 0x04f6, 0x04f8, |
1070 | 0x04fa, 0x04fc, 0x04fe, 0x0500, 0x0502, 0x0504, 0x0506, 0x0508, |
1071 | 0x050a, 0x050c, 0x050e, 0x0510, 0x0512, 0x0514, 0x0516, 0x0518, |
1072 | 0x051a, 0x051c, 0x051e, 0x0520, 0x0522, 0x0524, 0x0526, 0x0528, |
1073 | 0x052a, 0x052c, 0x052e, 0x10c7, 0x10cd, 0x1e00, 0x1e02, 0x1e04, |
1074 | 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, 0x1e0e, 0x1e10, 0x1e12, 0x1e14, |
1075 | 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20, 0x1e22, 0x1e24, |
1076 | 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34, |
1077 | 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e, 0x1e40, 0x1e42, 0x1e44, |
1078 | 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52, 0x1e54, |
1079 | 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, 0x1e5e, 0x1e60, 0x1e62, 0x1e64, |
1080 | 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70, 0x1e72, 0x1e74, |
1081 | 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84, |
1082 | 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e, 0x1e90, 0x1e92, 0x1e94, |
1083 | 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, |
1084 | 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, |
1085 | 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, |
1086 | 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, |
1087 | 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, |
1088 | 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, |
1089 | 0x1efe, 0x1f59, 0x1f5b, 0x1f5d, 0x1f5f, 0x2102, 0x2107, 0x2115, |
1090 | 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2c60, 0x2c67, 0x2c69, |
1091 | 0x2c6b, 0x2c72, 0x2c75, 0x2c82, 0x2c84, 0x2c86, 0x2c88, 0x2c8a, |
1092 | 0x2c8c, 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, 0x2c9a, |
1093 | 0x2c9c, 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, 0x2caa, |
1094 | 0x2cac, 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, 0x2cba, |
1095 | 0x2cbc, 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, 0x2cca, |
1096 | 0x2ccc, 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, 0x2cda, |
1097 | 0x2cdc, 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, 0xa640, |
1098 | 0xa642, 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, 0xa650, |
1099 | 0xa652, 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, 0xa660, |
1100 | 0xa662, 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, 0xa682, |
1101 | 0xa684, 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, 0xa692, |
1102 | 0xa694, 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, 0xa728, |
1103 | 0xa72a, 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, 0xa73a, |
1104 | 0xa73c, 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, 0xa74a, |
1105 | 0xa74c, 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, 0xa75a, |
1106 | 0xa75c, 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, 0xa76a, |
1107 | 0xa76c, 0xa76e, 0xa779, 0xa77b, 0xa780, 0xa782, 0xa784, 0xa786, |
1108 | 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a, 0xa79c, |
1109 | 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7b6, 0xa7b8, |
1110 | 0x1d49c, 0x1d4a2, 0x1d546, 0x1d7ca}), |
1111 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00de}, {0x0178, 0x0179}, {0x0181, 0x0182}, |
1112 | {0x0186, 0x0187}, {0x0189, 0x018b}, {0x018e, 0x0191}, {0x0193, 0x0194}, |
1113 | {0x0196, 0x0198}, {0x019c, 0x019d}, {0x019f, 0x01a0}, {0x01a6, 0x01a7}, |
1114 | {0x01ae, 0x01af}, {0x01b1, 0x01b3}, {0x01b7, 0x01b8}, {0x01f6, 0x01f8}, |
1115 | {0x023a, 0x023b}, {0x023d, 0x023e}, {0x0243, 0x0246}, {0x0388, 0x038a}, |
1116 | {0x038e, 0x038f}, {0x0391, 0x03a1}, {0x03a3, 0x03ab}, {0x03d2, 0x03d4}, |
1117 | {0x03f9, 0x03fa}, {0x03fd, 0x042f}, {0x04c0, 0x04c1}, {0x0531, 0x0556}, |
1118 | {0x10a0, 0x10c5}, {0x13a0, 0x13f5}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, |
1119 | {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, |
1120 | {0x1f48, 0x1f4d}, {0x1f68, 0x1f6f}, {0x1fb8, 0x1fbb}, {0x1fc8, 0x1fcb}, |
1121 | {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, {0x1ff8, 0x1ffb}, {0x210b, 0x210d}, |
1122 | {0x2110, 0x2112}, {0x2119, 0x211d}, {0x212a, 0x212d}, {0x2130, 0x2133}, |
1123 | {0x213e, 0x213f}, {0x2c00, 0x2c2e}, {0x2c62, 0x2c64}, {0x2c6d, 0x2c70}, |
1124 | {0x2c7e, 0x2c80}, {0xa77d, 0xa77e}, {0xa7aa, 0xa7ae}, {0xa7b0, 0xa7b4}, |
1125 | {0xff21, 0xff3a}, {0x10400, 0x10427}, {0x104b0, 0x104d3}, {0x10c80, 0x10cb2}, |
1126 | {0x118a0, 0x118bf}, {0x16e40, 0x16e5f}, {0x1d400, 0x1d419}, {0x1d434, 0x1d44d}, |
1127 | {0x1d468, 0x1d481}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, |
1128 | {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9}, {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, |
1129 | {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e}, |
1130 | {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, |
1131 | {0x1d5d4, 0x1d5ed}, {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689}, |
1132 | {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734}, {0x1d756, 0x1d76e}, |
1133 | {0x1d790, 0x1d7a8}, {0x1e900, 0x1e921}}), |
1134 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1135 | return characterClass; |
1136 | } |
1137 | |
1138 | static std::unique_ptr<CharacterClass> createCharacterClass21() |
1139 | { |
1140 | // Name = Modifier_Symbol, number of codePoints: 121 |
1141 | auto characterClass = std::make_unique<CharacterClass>( |
1142 | std::initializer_list<UChar32>({0x5e, 0x60}), |
1143 | std::initializer_list<CharacterRange>({}), |
1144 | std::initializer_list<UChar32>({0x00a8, 0x00af, 0x00b4, 0x00b8, 0x02ed, 0x0375, 0x1fbd, 0xab5b, |
1145 | 0xff3e, 0xff40, 0xffe3}), |
1146 | std::initializer_list<CharacterRange>({{0x02c2, 0x02c5}, {0x02d2, 0x02df}, {0x02e5, 0x02eb}, {0x02ef, 0x02ff}, |
1147 | {0x0384, 0x0385}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf}, |
1148 | {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c}, {0xa700, 0xa716}, |
1149 | {0xa720, 0xa721}, {0xa789, 0xa78a}, {0xfbb2, 0xfbc1}, {0x1f3fb, 0x1f3ff}}), |
1150 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1151 | return characterClass; |
1152 | } |
1153 | |
1154 | static std::unique_ptr<CharacterClass> createCharacterClass22() |
1155 | { |
1156 | // Name = Connector_Punctuation, number of codePoints: 10 |
1157 | auto characterClass = std::make_unique<CharacterClass>( |
1158 | std::initializer_list<UChar32>({0x5f}), |
1159 | std::initializer_list<CharacterRange>({}), |
1160 | std::initializer_list<UChar32>({0x2054, 0xff3f}), |
1161 | std::initializer_list<CharacterRange>({{0x203f, 0x2040}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}}), |
1162 | CharacterClassWidths::HasBMPChars); |
1163 | return characterClass; |
1164 | } |
1165 | |
1166 | static std::unique_ptr<CharacterClass> createCharacterClass23() |
1167 | { |
1168 | // Name = Lowercase_Letter, number of codePoints: 2145 |
1169 | auto characterClass = std::make_unique<CharacterClass>( |
1170 | std::initializer_list<UChar32>({}), |
1171 | std::initializer_list<CharacterRange>({{0x61, 0x7a}}), |
1172 | std::initializer_list<UChar32>({0x00b5, 0x0101, 0x0103, 0x0105, 0x0107, 0x0109, 0x010b, 0x010d, |
1173 | 0x010f, 0x0111, 0x0113, 0x0115, 0x0117, 0x0119, 0x011b, 0x011d, |
1174 | 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x012b, 0x012d, |
1175 | 0x012f, 0x0131, 0x0133, 0x0135, 0x013a, 0x013c, 0x013e, 0x0140, |
1176 | 0x0142, 0x0144, 0x0146, 0x014b, 0x014d, 0x014f, 0x0151, 0x0153, |
1177 | 0x0155, 0x0157, 0x0159, 0x015b, 0x015d, 0x015f, 0x0161, 0x0163, |
1178 | 0x0165, 0x0167, 0x0169, 0x016b, 0x016d, 0x016f, 0x0171, 0x0173, |
1179 | 0x0175, 0x0177, 0x017a, 0x017c, 0x0183, 0x0185, 0x0188, 0x0192, |
1180 | 0x0195, 0x019e, 0x01a1, 0x01a3, 0x01a5, 0x01a8, 0x01ad, 0x01b0, |
1181 | 0x01b4, 0x01b6, 0x01c6, 0x01c9, 0x01cc, 0x01ce, 0x01d0, 0x01d2, |
1182 | 0x01d4, 0x01d6, 0x01d8, 0x01da, 0x01df, 0x01e1, 0x01e3, 0x01e5, |
1183 | 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01f3, 0x01f5, 0x01f9, 0x01fb, |
1184 | 0x01fd, 0x01ff, 0x0201, 0x0203, 0x0205, 0x0207, 0x0209, 0x020b, |
1185 | 0x020d, 0x020f, 0x0211, 0x0213, 0x0215, 0x0217, 0x0219, 0x021b, |
1186 | 0x021d, 0x021f, 0x0221, 0x0223, 0x0225, 0x0227, 0x0229, 0x022b, |
1187 | 0x022d, 0x022f, 0x0231, 0x023c, 0x0242, 0x0247, 0x0249, 0x024b, |
1188 | 0x024d, 0x0371, 0x0373, 0x0377, 0x0390, 0x03d9, 0x03db, 0x03dd, |
1189 | 0x03df, 0x03e1, 0x03e3, 0x03e5, 0x03e7, 0x03e9, 0x03eb, 0x03ed, |
1190 | 0x03f5, 0x03f8, 0x0461, 0x0463, 0x0465, 0x0467, 0x0469, 0x046b, |
1191 | 0x046d, 0x046f, 0x0471, 0x0473, 0x0475, 0x0477, 0x0479, 0x047b, |
1192 | 0x047d, 0x047f, 0x0481, 0x048b, 0x048d, 0x048f, 0x0491, 0x0493, |
1193 | 0x0495, 0x0497, 0x0499, 0x049b, 0x049d, 0x049f, 0x04a1, 0x04a3, |
1194 | 0x04a5, 0x04a7, 0x04a9, 0x04ab, 0x04ad, 0x04af, 0x04b1, 0x04b3, |
1195 | 0x04b5, 0x04b7, 0x04b9, 0x04bb, 0x04bd, 0x04bf, 0x04c2, 0x04c4, |
1196 | 0x04c6, 0x04c8, 0x04ca, 0x04cc, 0x04d1, 0x04d3, 0x04d5, 0x04d7, |
1197 | 0x04d9, 0x04db, 0x04dd, 0x04df, 0x04e1, 0x04e3, 0x04e5, 0x04e7, |
1198 | 0x04e9, 0x04eb, 0x04ed, 0x04ef, 0x04f1, 0x04f3, 0x04f5, 0x04f7, |
1199 | 0x04f9, 0x04fb, 0x04fd, 0x04ff, 0x0501, 0x0503, 0x0505, 0x0507, |
1200 | 0x0509, 0x050b, 0x050d, 0x050f, 0x0511, 0x0513, 0x0515, 0x0517, |
1201 | 0x0519, 0x051b, 0x051d, 0x051f, 0x0521, 0x0523, 0x0525, 0x0527, |
1202 | 0x0529, 0x052b, 0x052d, 0x052f, 0x1e01, 0x1e03, 0x1e05, 0x1e07, |
1203 | 0x1e09, 0x1e0b, 0x1e0d, 0x1e0f, 0x1e11, 0x1e13, 0x1e15, 0x1e17, |
1204 | 0x1e19, 0x1e1b, 0x1e1d, 0x1e1f, 0x1e21, 0x1e23, 0x1e25, 0x1e27, |
1205 | 0x1e29, 0x1e2b, 0x1e2d, 0x1e2f, 0x1e31, 0x1e33, 0x1e35, 0x1e37, |
1206 | 0x1e39, 0x1e3b, 0x1e3d, 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47, |
1207 | 0x1e49, 0x1e4b, 0x1e4d, 0x1e4f, 0x1e51, 0x1e53, 0x1e55, 0x1e57, |
1208 | 0x1e59, 0x1e5b, 0x1e5d, 0x1e5f, 0x1e61, 0x1e63, 0x1e65, 0x1e67, |
1209 | 0x1e69, 0x1e6b, 0x1e6d, 0x1e6f, 0x1e71, 0x1e73, 0x1e75, 0x1e77, |
1210 | 0x1e79, 0x1e7b, 0x1e7d, 0x1e7f, 0x1e81, 0x1e83, 0x1e85, 0x1e87, |
1211 | 0x1e89, 0x1e8b, 0x1e8d, 0x1e8f, 0x1e91, 0x1e93, 0x1e9f, 0x1ea1, |
1212 | 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead, 0x1eaf, 0x1eb1, |
1213 | 0x1eb3, 0x1eb5, 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd, 0x1ebf, 0x1ec1, |
1214 | 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9, 0x1ecb, 0x1ecd, 0x1ecf, 0x1ed1, |
1215 | 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb, 0x1edd, 0x1edf, 0x1ee1, |
1216 | 0x1ee3, 0x1ee5, 0x1ee7, 0x1ee9, 0x1eeb, 0x1eed, 0x1eef, 0x1ef1, |
1217 | 0x1ef3, 0x1ef5, 0x1ef7, 0x1ef9, 0x1efb, 0x1efd, 0x1fbe, 0x210a, |
1218 | 0x2113, 0x212f, 0x2134, 0x2139, 0x214e, 0x2184, 0x2c61, 0x2c68, |
1219 | 0x2c6a, 0x2c6c, 0x2c71, 0x2c81, 0x2c83, 0x2c85, 0x2c87, 0x2c89, |
1220 | 0x2c8b, 0x2c8d, 0x2c8f, 0x2c91, 0x2c93, 0x2c95, 0x2c97, 0x2c99, |
1221 | 0x2c9b, 0x2c9d, 0x2c9f, 0x2ca1, 0x2ca3, 0x2ca5, 0x2ca7, 0x2ca9, |
1222 | 0x2cab, 0x2cad, 0x2caf, 0x2cb1, 0x2cb3, 0x2cb5, 0x2cb7, 0x2cb9, |
1223 | 0x2cbb, 0x2cbd, 0x2cbf, 0x2cc1, 0x2cc3, 0x2cc5, 0x2cc7, 0x2cc9, |
1224 | 0x2ccb, 0x2ccd, 0x2ccf, 0x2cd1, 0x2cd3, 0x2cd5, 0x2cd7, 0x2cd9, |
1225 | 0x2cdb, 0x2cdd, 0x2cdf, 0x2ce1, 0x2cec, 0x2cee, 0x2cf3, 0x2d27, |
1226 | 0x2d2d, 0xa641, 0xa643, 0xa645, 0xa647, 0xa649, 0xa64b, 0xa64d, |
1227 | 0xa64f, 0xa651, 0xa653, 0xa655, 0xa657, 0xa659, 0xa65b, 0xa65d, |
1228 | 0xa65f, 0xa661, 0xa663, 0xa665, 0xa667, 0xa669, 0xa66b, 0xa66d, |
1229 | 0xa681, 0xa683, 0xa685, 0xa687, 0xa689, 0xa68b, 0xa68d, 0xa68f, |
1230 | 0xa691, 0xa693, 0xa695, 0xa697, 0xa699, 0xa69b, 0xa723, 0xa725, |
1231 | 0xa727, 0xa729, 0xa72b, 0xa72d, 0xa733, 0xa735, 0xa737, 0xa739, |
1232 | 0xa73b, 0xa73d, 0xa73f, 0xa741, 0xa743, 0xa745, 0xa747, 0xa749, |
1233 | 0xa74b, 0xa74d, 0xa74f, 0xa751, 0xa753, 0xa755, 0xa757, 0xa759, |
1234 | 0xa75b, 0xa75d, 0xa75f, 0xa761, 0xa763, 0xa765, 0xa767, 0xa769, |
1235 | 0xa76b, 0xa76d, 0xa76f, 0xa77a, 0xa77c, 0xa77f, 0xa781, 0xa783, |
1236 | 0xa785, 0xa787, 0xa78c, 0xa78e, 0xa791, 0xa797, 0xa799, 0xa79b, |
1237 | 0xa79d, 0xa79f, 0xa7a1, 0xa7a3, 0xa7a5, 0xa7a7, 0xa7a9, 0xa7af, |
1238 | 0xa7b5, 0xa7b7, 0xa7b9, 0xa7fa, 0x1d4bb, 0x1d7cb}), |
1239 | std::initializer_list<CharacterRange>({{0x00df, 0x00f6}, {0x00f8, 0x00ff}, {0x0137, 0x0138}, {0x0148, 0x0149}, |
1240 | {0x017e, 0x0180}, {0x018c, 0x018d}, {0x0199, 0x019b}, {0x01aa, 0x01ab}, |
1241 | {0x01b9, 0x01ba}, {0x01bd, 0x01bf}, {0x01dc, 0x01dd}, {0x01ef, 0x01f0}, |
1242 | {0x0233, 0x0239}, {0x023f, 0x0240}, {0x024f, 0x0293}, {0x0295, 0x02af}, |
1243 | {0x037b, 0x037d}, {0x03ac, 0x03ce}, {0x03d0, 0x03d1}, {0x03d5, 0x03d7}, |
1244 | {0x03ef, 0x03f3}, {0x03fb, 0x03fc}, {0x0430, 0x045f}, {0x04ce, 0x04cf}, |
1245 | {0x0560, 0x0588}, {0x10d0, 0x10fa}, {0x10fd, 0x10ff}, {0x13f8, 0x13fd}, |
1246 | {0x1c80, 0x1c88}, {0x1d00, 0x1d2b}, {0x1d6b, 0x1d77}, {0x1d79, 0x1d9a}, |
1247 | {0x1e95, 0x1e9d}, {0x1eff, 0x1f07}, {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, |
1248 | {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, |
1249 | {0x1f70, 0x1f7d}, {0x1f80, 0x1f87}, {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, |
1250 | {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, |
1251 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, |
1252 | {0x1ff6, 0x1ff7}, {0x210e, 0x210f}, {0x213c, 0x213d}, {0x2146, 0x2149}, |
1253 | {0x2c30, 0x2c5e}, {0x2c65, 0x2c66}, {0x2c73, 0x2c74}, {0x2c76, 0x2c7b}, |
1254 | {0x2ce3, 0x2ce4}, {0x2d00, 0x2d25}, {0xa72f, 0xa731}, {0xa771, 0xa778}, |
1255 | {0xa793, 0xa795}, {0xab30, 0xab5a}, {0xab60, 0xab65}, {0xab70, 0xabbf}, |
1256 | {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff41, 0xff5a}, {0x10428, 0x1044f}, |
1257 | {0x104d8, 0x104fb}, {0x10cc0, 0x10cf2}, {0x118c0, 0x118df}, {0x16e60, 0x16e7f}, |
1258 | {0x1d41a, 0x1d433}, {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b}, |
1259 | {0x1d4b6, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, |
1260 | {0x1d51e, 0x1d537}, {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, {0x1d5ba, 0x1d5d3}, |
1261 | {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f}, {0x1d68a, 0x1d6a5}, |
1262 | {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, |
1263 | {0x1d736, 0x1d74e}, {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f}, |
1264 | {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9}, {0x1e922, 0x1e943}}), |
1265 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1266 | return characterClass; |
1267 | } |
1268 | |
1269 | static std::unique_ptr<CharacterClass> createCharacterClass24() |
1270 | { |
1271 | // Name = Other_Symbol, number of codePoints: 5984 |
1272 | auto characterClass = std::make_unique<CharacterClass>( |
1273 | std::initializer_list<UChar32>({}), |
1274 | std::initializer_list<CharacterRange>({}), |
1275 | std::initializer_list<UChar32>({0x00a6, 0x00a9, 0x00ae, 0x00b0, 0x0482, 0x06de, 0x06e9, 0x07f6, |
1276 | 0x09fa, 0x0b70, 0x0bfa, 0x0c7f, 0x0d4f, 0x0d79, 0x0f13, 0x0f34, |
1277 | 0x0f36, 0x0f38, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212e, |
1278 | 0x214a, 0x214f, 0x21d3, 0x3004, 0x3020, 0x3250, 0xa839, 0xfdfd, |
1279 | 0xffe4, 0xffe8, 0x101a0, 0x10ac8, 0x1173f, 0x16b45, 0x1bc9c, 0x1d245, |
1280 | 0x1ecac, 0x1f97a}), |
1281 | std::initializer_list<CharacterRange>({{0x058d, 0x058e}, {0x060e, 0x060f}, {0x06fd, 0x06fe}, {0x0bf3, 0x0bf8}, |
1282 | {0x0f01, 0x0f03}, {0x0f15, 0x0f17}, {0x0f1a, 0x0f1f}, {0x0fbe, 0x0fc5}, |
1283 | {0x0fc7, 0x0fcc}, {0x0fce, 0x0fcf}, {0x0fd5, 0x0fd8}, {0x109e, 0x109f}, |
1284 | {0x1390, 0x1399}, {0x19de, 0x19ff}, {0x1b61, 0x1b6a}, {0x1b74, 0x1b7c}, |
1285 | {0x2100, 0x2101}, {0x2103, 0x2106}, {0x2108, 0x2109}, {0x2116, 0x2117}, |
1286 | {0x211e, 0x2123}, {0x213a, 0x213b}, {0x214c, 0x214d}, {0x218a, 0x218b}, |
1287 | {0x2195, 0x2199}, {0x219c, 0x219f}, {0x21a1, 0x21a2}, {0x21a4, 0x21a5}, |
1288 | {0x21a7, 0x21ad}, {0x21af, 0x21cd}, {0x21d0, 0x21d1}, {0x21d5, 0x21f3}, |
1289 | {0x2300, 0x2307}, {0x230c, 0x231f}, {0x2322, 0x2328}, {0x232b, 0x237b}, |
1290 | {0x237d, 0x239a}, {0x23b4, 0x23db}, {0x23e2, 0x2426}, {0x2440, 0x244a}, |
1291 | {0x249c, 0x24e9}, {0x2500, 0x25b6}, {0x25b8, 0x25c0}, {0x25c2, 0x25f7}, |
1292 | {0x2600, 0x266e}, {0x2670, 0x2767}, {0x2794, 0x27bf}, {0x2800, 0x28ff}, |
1293 | {0x2b00, 0x2b2f}, {0x2b45, 0x2b46}, {0x2b4d, 0x2b73}, {0x2b76, 0x2b95}, |
1294 | {0x2b98, 0x2bc8}, {0x2bca, 0x2bfe}, {0x2ce5, 0x2cea}, {0x2e80, 0x2e99}, |
1295 | {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3012, 0x3013}, |
1296 | {0x3036, 0x3037}, {0x303e, 0x303f}, {0x3190, 0x3191}, {0x3196, 0x319f}, |
1297 | {0x31c0, 0x31e3}, {0x3200, 0x321e}, {0x322a, 0x3247}, {0x3260, 0x327f}, |
1298 | {0x328a, 0x32b0}, {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, |
1299 | {0xa490, 0xa4c6}, {0xa828, 0xa82b}, {0xa836, 0xa837}, {0xaa77, 0xaa79}, |
1300 | {0xffed, 0xffee}, {0xfffc, 0xfffd}, {0x10137, 0x1013f}, {0x10179, 0x10189}, |
1301 | {0x1018c, 0x1018e}, {0x10190, 0x1019b}, {0x101d0, 0x101fc}, {0x10877, 0x10878}, |
1302 | {0x16b3c, 0x16b3f}, {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d129, 0x1d164}, |
1303 | {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, {0x1d1ae, 0x1d1e8}, |
1304 | {0x1d200, 0x1d241}, {0x1d300, 0x1d356}, {0x1d800, 0x1d9ff}, {0x1da37, 0x1da3a}, |
1305 | {0x1da6d, 0x1da74}, {0x1da76, 0x1da83}, {0x1da85, 0x1da86}, {0x1f000, 0x1f02b}, |
1306 | {0x1f030, 0x1f093}, {0x1f0a0, 0x1f0ae}, {0x1f0b1, 0x1f0bf}, {0x1f0c1, 0x1f0cf}, |
1307 | {0x1f0d1, 0x1f0f5}, {0x1f110, 0x1f16b}, {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f202}, |
1308 | {0x1f210, 0x1f23b}, {0x1f240, 0x1f248}, {0x1f250, 0x1f251}, {0x1f260, 0x1f265}, |
1309 | {0x1f300, 0x1f3fa}, {0x1f400, 0x1f6d4}, {0x1f6e0, 0x1f6ec}, {0x1f6f0, 0x1f6f9}, |
1310 | {0x1f700, 0x1f773}, {0x1f780, 0x1f7d8}, {0x1f800, 0x1f80b}, {0x1f810, 0x1f847}, |
1311 | {0x1f850, 0x1f859}, {0x1f860, 0x1f887}, {0x1f890, 0x1f8ad}, {0x1f900, 0x1f90b}, |
1312 | {0x1f910, 0x1f93e}, {0x1f940, 0x1f970}, {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, |
1313 | {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, {0x1f9d0, 0x1f9ff}, {0x1fa60, 0x1fa6d}}), |
1314 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1315 | return characterClass; |
1316 | } |
1317 | |
1318 | static std::unique_ptr<CharacterClass> createCharacterClass25() |
1319 | { |
1320 | // Name = Other_Letter, number of codePoints: 121212 |
1321 | auto characterClass = std::make_unique<CharacterClass>( |
1322 | std::initializer_list<UChar32>({}), |
1323 | std::initializer_list<CharacterRange>({}), |
1324 | std::initializer_list<UChar32>({0x00aa, 0x00ba, 0x01bb, 0x0294, 0x06d5, 0x06ff, 0x0710, 0x07b1, |
1325 | 0x093d, 0x0950, 0x09b2, 0x09bd, 0x09ce, 0x09fc, 0x0a5e, 0x0abd, |
1326 | 0x0ad0, 0x0af9, 0x0b3d, 0x0b71, 0x0b83, 0x0b9c, 0x0bd0, 0x0c3d, |
1327 | 0x0c80, 0x0cbd, 0x0cde, 0x0d3d, 0x0d4e, 0x0dbd, 0x0e84, 0x0e8a, |
1328 | 0x0e8d, 0x0ea5, 0x0ea7, 0x0ebd, 0x0f00, 0x103f, 0x1061, 0x108e, |
1329 | 0x1258, 0x12c0, 0x17dc, 0x18aa, 0x3006, 0x303c, 0x309f, 0x30ff, |
1330 | 0xa66e, 0xa78f, 0xa7f7, 0xa8fb, 0xaa7a, 0xaab1, 0xaac0, 0xaac2, |
1331 | 0xaaf2, 0xfb1d, 0xfb3e, 0x10808, 0x1083c, 0x10a00, 0x10f27, 0x11144, |
1332 | 0x11176, 0x111da, 0x111dc, 0x11288, 0x1133d, 0x11350, 0x114c7, 0x11644, |
1333 | 0x118ff, 0x11a00, 0x11a3a, 0x11a50, 0x11a9d, 0x11c40, 0x11d46, 0x11d98, |
1334 | 0x16f50, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, |
1335 | 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, |
1336 | 0x1ee7e}), |
1337 | std::initializer_list<CharacterRange>({{0x01c0, 0x01c3}, {0x05d0, 0x05ea}, {0x05ef, 0x05f2}, {0x0620, 0x063f}, |
1338 | {0x0641, 0x064a}, {0x066e, 0x066f}, {0x0671, 0x06d3}, {0x06ee, 0x06ef}, |
1339 | {0x06fa, 0x06fc}, {0x0712, 0x072f}, {0x074d, 0x07a5}, {0x07ca, 0x07ea}, |
1340 | {0x0800, 0x0815}, {0x0840, 0x0858}, {0x0860, 0x086a}, {0x08a0, 0x08b4}, |
1341 | {0x08b6, 0x08bd}, {0x0904, 0x0939}, {0x0958, 0x0961}, {0x0972, 0x0980}, |
1342 | {0x0985, 0x098c}, {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, |
1343 | {0x09b6, 0x09b9}, {0x09dc, 0x09dd}, {0x09df, 0x09e1}, {0x09f0, 0x09f1}, |
1344 | {0x0a05, 0x0a0a}, {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, |
1345 | {0x0a32, 0x0a33}, {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a59, 0x0a5c}, |
1346 | {0x0a72, 0x0a74}, {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, |
1347 | {0x0aaa, 0x0ab0}, {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0ae0, 0x0ae1}, |
1348 | {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, |
1349 | {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b61}, |
1350 | {0x0b85, 0x0b8a}, {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, |
1351 | {0x0b9e, 0x0b9f}, {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, |
1352 | {0x0c05, 0x0c0c}, {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, |
1353 | {0x0c58, 0x0c5a}, {0x0c60, 0x0c61}, {0x0c85, 0x0c8c}, {0x0c8e, 0x0c90}, |
1354 | {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0ce0, 0x0ce1}, |
1355 | {0x0cf1, 0x0cf2}, {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d3a}, |
1356 | {0x0d54, 0x0d56}, {0x0d5f, 0x0d61}, {0x0d7a, 0x0d7f}, {0x0d85, 0x0d96}, |
1357 | {0x0d9a, 0x0db1}, {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0e01, 0x0e30}, |
1358 | {0x0e32, 0x0e33}, {0x0e40, 0x0e45}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, |
1359 | {0x0e94, 0x0e97}, {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, |
1360 | {0x0ead, 0x0eb0}, {0x0eb2, 0x0eb3}, {0x0ec0, 0x0ec4}, {0x0edc, 0x0edf}, |
1361 | {0x0f40, 0x0f47}, {0x0f49, 0x0f6c}, {0x0f88, 0x0f8c}, {0x1000, 0x102a}, |
1362 | {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1065, 0x1066}, {0x106e, 0x1070}, |
1363 | {0x1075, 0x1081}, {0x1100, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, |
1364 | {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, |
1365 | {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, |
1366 | {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, |
1367 | {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, |
1368 | {0x16f1, 0x16f8}, {0x1700, 0x170c}, {0x170e, 0x1711}, {0x1720, 0x1731}, |
1369 | {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, |
1370 | {0x1820, 0x1842}, {0x1844, 0x1878}, {0x1880, 0x1884}, {0x1887, 0x18a8}, |
1371 | {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, |
1372 | {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, |
1373 | {0x1b05, 0x1b33}, {0x1b45, 0x1b4b}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, |
1374 | {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c77}, |
1375 | {0x1ce9, 0x1cec}, {0x1cee, 0x1cf1}, {0x1cf5, 0x1cf6}, {0x2135, 0x2138}, |
1376 | {0x2d30, 0x2d67}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, |
1377 | {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, |
1378 | {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3041, 0x3096}, {0x30a1, 0x30fa}, |
1379 | {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, |
1380 | {0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xa000, 0xa014}, {0xa016, 0xa48c}, |
1381 | {0xa4d0, 0xa4f7}, {0xa500, 0xa60b}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, |
1382 | {0xa6a0, 0xa6e5}, {0xa7fb, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, |
1383 | {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, |
1384 | {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, |
1385 | {0xa984, 0xa9b2}, {0xa9e0, 0xa9e4}, {0xa9e7, 0xa9ef}, {0xa9fa, 0xa9fe}, |
1386 | {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa6f}, |
1387 | {0xaa71, 0xaa76}, {0xaa7e, 0xaaaf}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, |
1388 | {0xaadb, 0xaadc}, {0xaae0, 0xaaea}, {0xab01, 0xab06}, {0xab09, 0xab0e}, |
1389 | {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xabc0, 0xabe2}, |
1390 | {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, |
1391 | {0xfa70, 0xfad9}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, |
1392 | {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, |
1393 | {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, |
1394 | {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d}, {0xffa0, 0xffbe}, |
1395 | {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, |
1396 | {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, |
1397 | {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10280, 0x1029c}, |
1398 | {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x10340}, {0x10342, 0x10349}, |
1399 | {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, |
1400 | {0x10450, 0x1049d}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, |
1401 | {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, |
1402 | {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, |
1403 | {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, |
1404 | {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, |
1405 | {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, |
1406 | {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, |
1407 | {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10d00, 0x10d23}, {0x10f00, 0x10f1c}, |
1408 | {0x10f30, 0x10f45}, {0x11003, 0x11037}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, |
1409 | {0x11103, 0x11126}, {0x11150, 0x11172}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, |
1410 | {0x11200, 0x11211}, {0x11213, 0x1122b}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, |
1411 | {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, |
1412 | {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, |
1413 | {0x11335, 0x11339}, {0x1135d, 0x11361}, {0x11400, 0x11434}, {0x11447, 0x1144a}, |
1414 | {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, |
1415 | {0x11600, 0x1162f}, {0x11680, 0x116aa}, {0x11700, 0x1171a}, {0x11800, 0x1182b}, |
1416 | {0x11a0b, 0x11a32}, {0x11a5c, 0x11a83}, {0x11a86, 0x11a89}, {0x11ac0, 0x11af8}, |
1417 | {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, |
1418 | {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, |
1419 | {0x11d6a, 0x11d89}, {0x11ee0, 0x11ef2}, {0x12000, 0x12399}, {0x12480, 0x12543}, |
1420 | {0x13000, 0x1342e}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, |
1421 | {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, |
1422 | {0x16f00, 0x16f44}, {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, |
1423 | {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, |
1424 | {0x1bc90, 0x1bc99}, {0x1e800, 0x1e8c4}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, |
1425 | {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, |
1426 | {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, |
1427 | {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, |
1428 | {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6d6}, |
1429 | {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, |
1430 | {0x2f800, 0x2fa1d}}), |
1431 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1432 | return characterClass; |
1433 | } |
1434 | |
1435 | static std::unique_ptr<CharacterClass> createCharacterClass26() |
1436 | { |
1437 | // Name = Initial_Punctuation, number of codePoints: 12 |
1438 | auto characterClass = std::make_unique<CharacterClass>( |
1439 | std::initializer_list<UChar32>({}), |
1440 | std::initializer_list<CharacterRange>({}), |
1441 | std::initializer_list<UChar32>({0x00ab, 0x2018, 0x201f, 0x2039, 0x2e02, 0x2e04, 0x2e09, 0x2e0c, |
1442 | 0x2e1c, 0x2e20}), |
1443 | std::initializer_list<CharacterRange>({{0x201b, 0x201c}}), |
1444 | CharacterClassWidths::HasBMPChars); |
1445 | return characterClass; |
1446 | } |
1447 | |
1448 | static std::unique_ptr<CharacterClass> createCharacterClass27() |
1449 | { |
1450 | // Name = Format, number of codePoints: 152 |
1451 | auto characterClass = std::make_unique<CharacterClass>( |
1452 | std::initializer_list<UChar32>({}), |
1453 | std::initializer_list<CharacterRange>({}), |
1454 | std::initializer_list<UChar32>({0x00ad, 0x061c, 0x06dd, 0x070f, 0x08e2, 0x180e, 0xfeff, 0x110bd, |
1455 | 0x110cd, 0xe0001}), |
1456 | std::initializer_list<CharacterRange>({{0x0600, 0x0605}, {0x200b, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2064}, |
1457 | {0x2066, 0x206f}, {0xfff9, 0xfffb}, {0x1bca0, 0x1bca3}, {0x1d173, 0x1d17a}, |
1458 | {0xe0020, 0xe007f}}), |
1459 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1460 | return characterClass; |
1461 | } |
1462 | |
1463 | static std::unique_ptr<CharacterClass> createCharacterClass28() |
1464 | { |
1465 | // Name = Other_Number, number of codePoints: 807 |
1466 | auto characterClass = std::make_unique<CharacterClass>( |
1467 | std::initializer_list<UChar32>({}), |
1468 | std::initializer_list<CharacterRange>({}), |
1469 | std::initializer_list<UChar32>({0x00b9, 0x19da, 0x2070, 0x2189, 0x2cfd}), |
1470 | std::initializer_list<CharacterRange>({{0x00b2, 0x00b3}, {0x00bc, 0x00be}, {0x09f4, 0x09f9}, {0x0b72, 0x0b77}, |
1471 | {0x0bf0, 0x0bf2}, {0x0c78, 0x0c7e}, {0x0d58, 0x0d5e}, {0x0d70, 0x0d78}, |
1472 | {0x0f2a, 0x0f33}, {0x1369, 0x137c}, {0x17f0, 0x17f9}, {0x2074, 0x2079}, |
1473 | {0x2080, 0x2089}, {0x2150, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff}, |
1474 | {0x2776, 0x2793}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3248, 0x324f}, |
1475 | {0x3251, 0x325f}, {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xa830, 0xa835}, |
1476 | {0x10107, 0x10133}, {0x10175, 0x10178}, {0x1018a, 0x1018b}, {0x102e1, 0x102fb}, |
1477 | {0x10320, 0x10323}, {0x10858, 0x1085f}, {0x10879, 0x1087f}, {0x108a7, 0x108af}, |
1478 | {0x108fb, 0x108ff}, {0x10916, 0x1091b}, {0x109bc, 0x109bd}, {0x109c0, 0x109cf}, |
1479 | {0x109d2, 0x109ff}, {0x10a40, 0x10a48}, {0x10a7d, 0x10a7e}, {0x10a9d, 0x10a9f}, |
1480 | {0x10aeb, 0x10aef}, {0x10b58, 0x10b5f}, {0x10b78, 0x10b7f}, {0x10ba9, 0x10baf}, |
1481 | {0x10cfa, 0x10cff}, {0x10e60, 0x10e7e}, {0x10f1d, 0x10f26}, {0x10f51, 0x10f54}, |
1482 | {0x11052, 0x11065}, {0x111e1, 0x111f4}, {0x1173a, 0x1173b}, {0x118ea, 0x118f2}, |
1483 | {0x11c5a, 0x11c6c}, {0x16b5b, 0x16b61}, {0x16e80, 0x16e96}, {0x1d2e0, 0x1d2f3}, |
1484 | {0x1d360, 0x1d378}, {0x1e8c7, 0x1e8cf}, {0x1ec71, 0x1ecab}, {0x1ecad, 0x1ecaf}, |
1485 | {0x1ecb1, 0x1ecb4}, {0x1f100, 0x1f10c}}), |
1486 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1487 | return characterClass; |
1488 | } |
1489 | |
1490 | static std::unique_ptr<CharacterClass> createCharacterClass29() |
1491 | { |
1492 | // Name = Final_Punctuation, number of codePoints: 10 |
1493 | auto characterClass = std::make_unique<CharacterClass>( |
1494 | std::initializer_list<UChar32>({}), |
1495 | std::initializer_list<CharacterRange>({}), |
1496 | std::initializer_list<UChar32>({0x00bb, 0x2019, 0x201d, 0x203a, 0x2e03, 0x2e05, 0x2e0a, 0x2e0d, |
1497 | 0x2e1d, 0x2e21}), |
1498 | std::initializer_list<CharacterRange>({}), |
1499 | CharacterClassWidths::HasBMPChars); |
1500 | return characterClass; |
1501 | } |
1502 | |
1503 | static std::unique_ptr<CharacterClass> createCharacterClass30() |
1504 | { |
1505 | // Name = Titlecase_Letter, number of codePoints: 31 |
1506 | auto characterClass = std::make_unique<CharacterClass>( |
1507 | std::initializer_list<UChar32>({}), |
1508 | std::initializer_list<CharacterRange>({}), |
1509 | std::initializer_list<UChar32>({0x01c5, 0x01c8, 0x01cb, 0x01f2, 0x1fbc, 0x1fcc, 0x1ffc}), |
1510 | std::initializer_list<CharacterRange>({{0x1f88, 0x1f8f}, {0x1f98, 0x1f9f}, {0x1fa8, 0x1faf}}), |
1511 | CharacterClassWidths::HasBMPChars); |
1512 | return characterClass; |
1513 | } |
1514 | |
1515 | static std::unique_ptr<CharacterClass> createCharacterClass31() |
1516 | { |
1517 | // Name = Modifier_Letter, number of codePoints: 250 |
1518 | auto characterClass = std::make_unique<CharacterClass>( |
1519 | std::initializer_list<UChar32>({}), |
1520 | std::initializer_list<CharacterRange>({}), |
1521 | std::initializer_list<UChar32>({0x02ec, 0x02ee, 0x0374, 0x037a, 0x0559, 0x0640, 0x07fa, 0x081a, |
1522 | 0x0824, 0x0828, 0x0971, 0x0e46, 0x0ec6, 0x10fc, 0x17d7, 0x1843, |
1523 | 0x1aa7, 0x1d78, 0x2071, 0x207f, 0x2d6f, 0x2e2f, 0x3005, 0x303b, |
1524 | 0xa015, 0xa60c, 0xa67f, 0xa770, 0xa788, 0xa9cf, 0xa9e6, 0xaa70, |
1525 | 0xaadd, 0xff70}), |
1526 | std::initializer_list<CharacterRange>({{0x02b0, 0x02c1}, {0x02c6, 0x02d1}, {0x02e0, 0x02e4}, {0x06e5, 0x06e6}, |
1527 | {0x07f4, 0x07f5}, {0x1c78, 0x1c7d}, {0x1d2c, 0x1d6a}, {0x1d9b, 0x1dbf}, |
1528 | {0x2090, 0x209c}, {0x2c7c, 0x2c7d}, {0x3031, 0x3035}, {0x309d, 0x309e}, |
1529 | {0x30fc, 0x30fe}, {0xa4f8, 0xa4fd}, {0xa69c, 0xa69d}, {0xa717, 0xa71f}, |
1530 | {0xa7f8, 0xa7f9}, {0xaaf3, 0xaaf4}, {0xab5c, 0xab5f}, {0xff9e, 0xff9f}, |
1531 | {0x16b40, 0x16b43}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}}), |
1532 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1533 | return characterClass; |
1534 | } |
1535 | |
1536 | static std::unique_ptr<CharacterClass> createCharacterClass32() |
1537 | { |
1538 | // Name = Mark, number of codePoints: 2233 |
1539 | auto characterClass = std::make_unique<CharacterClass>( |
1540 | std::initializer_list<UChar32>({}), |
1541 | std::initializer_list<CharacterRange>({}), |
1542 | std::initializer_list<UChar32>({0x05bf, 0x05c7, 0x0670, 0x0711, 0x07fd, 0x09bc, 0x09d7, 0x09fe, |
1543 | 0x0a3c, 0x0a51, 0x0a75, 0x0abc, 0x0b3c, 0x0b82, 0x0bd7, 0x0cbc, |
1544 | 0x0d57, 0x0dca, 0x0dd6, 0x0e31, 0x0eb1, 0x0f35, 0x0f37, 0x0f39, |
1545 | 0x0fc6, 0x108f, 0x17dd, 0x18a9, 0x1a7f, 0x1ced, 0x2d7f, 0xa802, |
1546 | 0xa806, 0xa80b, 0xa8ff, 0xa9e5, 0xaa43, 0xaab0, 0xaac1, 0xfb1e, |
1547 | 0x101fd, 0x102e0, 0x10a3f, 0x11173, 0x1123e, 0x11357, 0x1145e, 0x11a47, |
1548 | 0x11d3a, 0x11d47, 0x1da75, 0x1da84}), |
1549 | std::initializer_list<CharacterRange>({{0x0300, 0x036f}, {0x0483, 0x0489}, {0x0591, 0x05bd}, {0x05c1, 0x05c2}, |
1550 | {0x05c4, 0x05c5}, {0x0610, 0x061a}, {0x064b, 0x065f}, {0x06d6, 0x06dc}, |
1551 | {0x06df, 0x06e4}, {0x06e7, 0x06e8}, {0x06ea, 0x06ed}, {0x0730, 0x074a}, |
1552 | {0x07a6, 0x07b0}, {0x07eb, 0x07f3}, {0x0816, 0x0819}, {0x081b, 0x0823}, |
1553 | {0x0825, 0x0827}, {0x0829, 0x082d}, {0x0859, 0x085b}, {0x08d3, 0x08e1}, |
1554 | {0x08e3, 0x0903}, {0x093a, 0x093c}, {0x093e, 0x094f}, {0x0951, 0x0957}, |
1555 | {0x0962, 0x0963}, {0x0981, 0x0983}, {0x09be, 0x09c4}, {0x09c7, 0x09c8}, |
1556 | {0x09cb, 0x09cd}, {0x09e2, 0x09e3}, {0x0a01, 0x0a03}, {0x0a3e, 0x0a42}, |
1557 | {0x0a47, 0x0a48}, {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a83}, |
1558 | {0x0abe, 0x0ac5}, {0x0ac7, 0x0ac9}, {0x0acb, 0x0acd}, {0x0ae2, 0x0ae3}, |
1559 | {0x0afa, 0x0aff}, {0x0b01, 0x0b03}, {0x0b3e, 0x0b44}, {0x0b47, 0x0b48}, |
1560 | {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b62, 0x0b63}, {0x0bbe, 0x0bc2}, |
1561 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0c00, 0x0c04}, {0x0c3e, 0x0c44}, |
1562 | {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c62, 0x0c63}, |
1563 | {0x0c81, 0x0c83}, {0x0cbe, 0x0cc4}, {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, |
1564 | {0x0cd5, 0x0cd6}, {0x0ce2, 0x0ce3}, {0x0d00, 0x0d03}, {0x0d3b, 0x0d3c}, |
1565 | {0x0d3e, 0x0d44}, {0x0d46, 0x0d48}, {0x0d4a, 0x0d4d}, {0x0d62, 0x0d63}, |
1566 | {0x0d82, 0x0d83}, {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, {0x0df2, 0x0df3}, |
1567 | {0x0e34, 0x0e3a}, {0x0e47, 0x0e4e}, {0x0eb4, 0x0eb9}, {0x0ebb, 0x0ebc}, |
1568 | {0x0ec8, 0x0ecd}, {0x0f18, 0x0f19}, {0x0f3e, 0x0f3f}, {0x0f71, 0x0f84}, |
1569 | {0x0f86, 0x0f87}, {0x0f8d, 0x0f97}, {0x0f99, 0x0fbc}, {0x102b, 0x103e}, |
1570 | {0x1056, 0x1059}, {0x105e, 0x1060}, {0x1062, 0x1064}, {0x1067, 0x106d}, |
1571 | {0x1071, 0x1074}, {0x1082, 0x108d}, {0x109a, 0x109d}, {0x135d, 0x135f}, |
1572 | {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, |
1573 | {0x17b4, 0x17d3}, {0x180b, 0x180d}, {0x1885, 0x1886}, {0x1920, 0x192b}, |
1574 | {0x1930, 0x193b}, {0x1a17, 0x1a1b}, {0x1a55, 0x1a5e}, {0x1a60, 0x1a7c}, |
1575 | {0x1ab0, 0x1abe}, {0x1b00, 0x1b04}, {0x1b34, 0x1b44}, {0x1b6b, 0x1b73}, |
1576 | {0x1b80, 0x1b82}, {0x1ba1, 0x1bad}, {0x1be6, 0x1bf3}, {0x1c24, 0x1c37}, |
1577 | {0x1cd0, 0x1cd2}, {0x1cd4, 0x1ce8}, {0x1cf2, 0x1cf4}, {0x1cf7, 0x1cf9}, |
1578 | {0x1dc0, 0x1df9}, {0x1dfb, 0x1dff}, {0x20d0, 0x20f0}, {0x2cef, 0x2cf1}, |
1579 | {0x2de0, 0x2dff}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xa66f, 0xa672}, |
1580 | {0xa674, 0xa67d}, {0xa69e, 0xa69f}, {0xa6f0, 0xa6f1}, {0xa823, 0xa827}, |
1581 | {0xa880, 0xa881}, {0xa8b4, 0xa8c5}, {0xa8e0, 0xa8f1}, {0xa926, 0xa92d}, |
1582 | {0xa947, 0xa953}, {0xa980, 0xa983}, {0xa9b3, 0xa9c0}, {0xaa29, 0xaa36}, |
1583 | {0xaa4c, 0xaa4d}, {0xaa7b, 0xaa7d}, {0xaab2, 0xaab4}, {0xaab7, 0xaab8}, |
1584 | {0xaabe, 0xaabf}, {0xaaeb, 0xaaef}, {0xaaf5, 0xaaf6}, {0xabe3, 0xabea}, |
1585 | {0xabec, 0xabed}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0x10376, 0x1037a}, |
1586 | {0x10a01, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a0f}, {0x10a38, 0x10a3a}, |
1587 | {0x10ae5, 0x10ae6}, {0x10d24, 0x10d27}, {0x10f46, 0x10f50}, {0x11000, 0x11002}, |
1588 | {0x11038, 0x11046}, {0x1107f, 0x11082}, {0x110b0, 0x110ba}, {0x11100, 0x11102}, |
1589 | {0x11127, 0x11134}, {0x11145, 0x11146}, {0x11180, 0x11182}, {0x111b3, 0x111c0}, |
1590 | {0x111c9, 0x111cc}, {0x1122c, 0x11237}, {0x112df, 0x112ea}, {0x11300, 0x11303}, |
1591 | {0x1133b, 0x1133c}, {0x1133e, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, |
1592 | {0x11362, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11435, 0x11446}, |
1593 | {0x114b0, 0x114c3}, {0x115af, 0x115b5}, {0x115b8, 0x115c0}, {0x115dc, 0x115dd}, |
1594 | {0x11630, 0x11640}, {0x116ab, 0x116b7}, {0x1171d, 0x1172b}, {0x1182c, 0x1183a}, |
1595 | {0x11a01, 0x11a0a}, {0x11a33, 0x11a39}, {0x11a3b, 0x11a3e}, {0x11a51, 0x11a5b}, |
1596 | {0x11a8a, 0x11a99}, {0x11c2f, 0x11c36}, {0x11c38, 0x11c3f}, {0x11c92, 0x11ca7}, |
1597 | {0x11ca9, 0x11cb6}, {0x11d31, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d45}, |
1598 | {0x11d8a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d97}, {0x11ef3, 0x11ef6}, |
1599 | {0x16af0, 0x16af4}, {0x16b30, 0x16b36}, {0x16f51, 0x16f7e}, {0x16f8f, 0x16f92}, |
1600 | {0x1bc9d, 0x1bc9e}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, |
1601 | {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1da00, 0x1da36}, |
1602 | {0x1da3b, 0x1da6c}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, |
1603 | {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, |
1604 | {0x1e8d0, 0x1e8d6}, {0x1e944, 0x1e94a}, {0xe0100, 0xe01ef}}), |
1605 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1606 | return characterClass; |
1607 | } |
1608 | |
1609 | static std::unique_ptr<CharacterClass> createCharacterClass33() |
1610 | { |
1611 | // Name = Nonspacing_Mark, number of codePoints: 1805 |
1612 | auto characterClass = std::make_unique<CharacterClass>( |
1613 | std::initializer_list<UChar32>({}), |
1614 | std::initializer_list<CharacterRange>({}), |
1615 | std::initializer_list<UChar32>({0x05bf, 0x05c7, 0x0670, 0x0711, 0x07fd, 0x093a, 0x093c, 0x094d, |
1616 | 0x0981, 0x09bc, 0x09cd, 0x09fe, 0x0a3c, 0x0a51, 0x0a75, 0x0abc, |
1617 | 0x0acd, 0x0b01, 0x0b3c, 0x0b3f, 0x0b4d, 0x0b56, 0x0b82, 0x0bc0, |
1618 | 0x0bcd, 0x0c00, 0x0c04, 0x0c81, 0x0cbc, 0x0cbf, 0x0cc6, 0x0d4d, |
1619 | 0x0dca, 0x0dd6, 0x0e31, 0x0eb1, 0x0f35, 0x0f37, 0x0f39, 0x0fc6, |
1620 | 0x1082, 0x108d, 0x109d, 0x17c6, 0x17dd, 0x18a9, 0x1932, 0x1a1b, |
1621 | 0x1a56, 0x1a60, 0x1a62, 0x1a7f, 0x1b34, 0x1b3c, 0x1b42, 0x1be6, |
1622 | 0x1bed, 0x1ced, 0x1cf4, 0x20e1, 0x2d7f, 0xa66f, 0xa802, 0xa806, |
1623 | 0xa80b, 0xa8ff, 0xa9b3, 0xa9bc, 0xa9e5, 0xaa43, 0xaa4c, 0xaa7c, |
1624 | 0xaab0, 0xaac1, 0xaaf6, 0xabe5, 0xabe8, 0xabed, 0xfb1e, 0x101fd, |
1625 | 0x102e0, 0x10a3f, 0x11001, 0x11173, 0x11234, 0x1123e, 0x112df, 0x11340, |
1626 | 0x11446, 0x1145e, 0x114ba, 0x1163d, 0x116ab, 0x116ad, 0x116b7, 0x11a47, |
1627 | 0x11c3f, 0x11d3a, 0x11d47, 0x11d95, 0x11d97, 0x1da75, 0x1da84}), |
1628 | std::initializer_list<CharacterRange>({{0x0300, 0x036f}, {0x0483, 0x0487}, {0x0591, 0x05bd}, {0x05c1, 0x05c2}, |
1629 | {0x05c4, 0x05c5}, {0x0610, 0x061a}, {0x064b, 0x065f}, {0x06d6, 0x06dc}, |
1630 | {0x06df, 0x06e4}, {0x06e7, 0x06e8}, {0x06ea, 0x06ed}, {0x0730, 0x074a}, |
1631 | {0x07a6, 0x07b0}, {0x07eb, 0x07f3}, {0x0816, 0x0819}, {0x081b, 0x0823}, |
1632 | {0x0825, 0x0827}, {0x0829, 0x082d}, {0x0859, 0x085b}, {0x08d3, 0x08e1}, |
1633 | {0x08e3, 0x0902}, {0x0941, 0x0948}, {0x0951, 0x0957}, {0x0962, 0x0963}, |
1634 | {0x09c1, 0x09c4}, {0x09e2, 0x09e3}, {0x0a01, 0x0a02}, {0x0a41, 0x0a42}, |
1635 | {0x0a47, 0x0a48}, {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a82}, |
1636 | {0x0ac1, 0x0ac5}, {0x0ac7, 0x0ac8}, {0x0ae2, 0x0ae3}, {0x0afa, 0x0aff}, |
1637 | {0x0b41, 0x0b44}, {0x0b62, 0x0b63}, {0x0c3e, 0x0c40}, {0x0c46, 0x0c48}, |
1638 | {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c62, 0x0c63}, {0x0ccc, 0x0ccd}, |
1639 | {0x0ce2, 0x0ce3}, {0x0d00, 0x0d01}, {0x0d3b, 0x0d3c}, {0x0d41, 0x0d44}, |
1640 | {0x0d62, 0x0d63}, {0x0dd2, 0x0dd4}, {0x0e34, 0x0e3a}, {0x0e47, 0x0e4e}, |
1641 | {0x0eb4, 0x0eb9}, {0x0ebb, 0x0ebc}, {0x0ec8, 0x0ecd}, {0x0f18, 0x0f19}, |
1642 | {0x0f71, 0x0f7e}, {0x0f80, 0x0f84}, {0x0f86, 0x0f87}, {0x0f8d, 0x0f97}, |
1643 | {0x0f99, 0x0fbc}, {0x102d, 0x1030}, {0x1032, 0x1037}, {0x1039, 0x103a}, |
1644 | {0x103d, 0x103e}, {0x1058, 0x1059}, {0x105e, 0x1060}, {0x1071, 0x1074}, |
1645 | {0x1085, 0x1086}, {0x135d, 0x135f}, {0x1712, 0x1714}, {0x1732, 0x1734}, |
1646 | {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17b4, 0x17b5}, {0x17b7, 0x17bd}, |
1647 | {0x17c9, 0x17d3}, {0x180b, 0x180d}, {0x1885, 0x1886}, {0x1920, 0x1922}, |
1648 | {0x1927, 0x1928}, {0x1939, 0x193b}, {0x1a17, 0x1a18}, {0x1a58, 0x1a5e}, |
1649 | {0x1a65, 0x1a6c}, {0x1a73, 0x1a7c}, {0x1ab0, 0x1abd}, {0x1b00, 0x1b03}, |
1650 | {0x1b36, 0x1b3a}, {0x1b6b, 0x1b73}, {0x1b80, 0x1b81}, {0x1ba2, 0x1ba5}, |
1651 | {0x1ba8, 0x1ba9}, {0x1bab, 0x1bad}, {0x1be8, 0x1be9}, {0x1bef, 0x1bf1}, |
1652 | {0x1c2c, 0x1c33}, {0x1c36, 0x1c37}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1ce0}, |
1653 | {0x1ce2, 0x1ce8}, {0x1cf8, 0x1cf9}, {0x1dc0, 0x1df9}, {0x1dfb, 0x1dff}, |
1654 | {0x20d0, 0x20dc}, {0x20e5, 0x20f0}, {0x2cef, 0x2cf1}, {0x2de0, 0x2dff}, |
1655 | {0x302a, 0x302d}, {0x3099, 0x309a}, {0xa674, 0xa67d}, {0xa69e, 0xa69f}, |
1656 | {0xa6f0, 0xa6f1}, {0xa825, 0xa826}, {0xa8c4, 0xa8c5}, {0xa8e0, 0xa8f1}, |
1657 | {0xa926, 0xa92d}, {0xa947, 0xa951}, {0xa980, 0xa982}, {0xa9b6, 0xa9b9}, |
1658 | {0xaa29, 0xaa2e}, {0xaa31, 0xaa32}, {0xaa35, 0xaa36}, {0xaab2, 0xaab4}, |
1659 | {0xaab7, 0xaab8}, {0xaabe, 0xaabf}, {0xaaec, 0xaaed}, {0xfe00, 0xfe0f}, |
1660 | {0xfe20, 0xfe2f}, {0x10376, 0x1037a}, {0x10a01, 0x10a03}, {0x10a05, 0x10a06}, |
1661 | {0x10a0c, 0x10a0f}, {0x10a38, 0x10a3a}, {0x10ae5, 0x10ae6}, {0x10d24, 0x10d27}, |
1662 | {0x10f46, 0x10f50}, {0x11038, 0x11046}, {0x1107f, 0x11081}, {0x110b3, 0x110b6}, |
1663 | {0x110b9, 0x110ba}, {0x11100, 0x11102}, {0x11127, 0x1112b}, {0x1112d, 0x11134}, |
1664 | {0x11180, 0x11181}, {0x111b6, 0x111be}, {0x111c9, 0x111cc}, {0x1122f, 0x11231}, |
1665 | {0x11236, 0x11237}, {0x112e3, 0x112ea}, {0x11300, 0x11301}, {0x1133b, 0x1133c}, |
1666 | {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11438, 0x1143f}, {0x11442, 0x11444}, |
1667 | {0x114b3, 0x114b8}, {0x114bf, 0x114c0}, {0x114c2, 0x114c3}, {0x115b2, 0x115b5}, |
1668 | {0x115bc, 0x115bd}, {0x115bf, 0x115c0}, {0x115dc, 0x115dd}, {0x11633, 0x1163a}, |
1669 | {0x1163f, 0x11640}, {0x116b0, 0x116b5}, {0x1171d, 0x1171f}, {0x11722, 0x11725}, |
1670 | {0x11727, 0x1172b}, {0x1182f, 0x11837}, {0x11839, 0x1183a}, {0x11a01, 0x11a0a}, |
1671 | {0x11a33, 0x11a38}, {0x11a3b, 0x11a3e}, {0x11a51, 0x11a56}, {0x11a59, 0x11a5b}, |
1672 | {0x11a8a, 0x11a96}, {0x11a98, 0x11a99}, {0x11c30, 0x11c36}, {0x11c38, 0x11c3d}, |
1673 | {0x11c92, 0x11ca7}, {0x11caa, 0x11cb0}, {0x11cb2, 0x11cb3}, {0x11cb5, 0x11cb6}, |
1674 | {0x11d31, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d45}, {0x11d90, 0x11d91}, |
1675 | {0x11ef3, 0x11ef4}, {0x16af0, 0x16af4}, {0x16b30, 0x16b36}, {0x16f8f, 0x16f92}, |
1676 | {0x1bc9d, 0x1bc9e}, {0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, |
1677 | {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, |
1678 | {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, |
1679 | {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e8d0, 0x1e8d6}, |
1680 | {0x1e944, 0x1e94a}, {0xe0100, 0xe01ef}}), |
1681 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1682 | return characterClass; |
1683 | } |
1684 | |
1685 | static std::unique_ptr<CharacterClass> createCharacterClass34() |
1686 | { |
1687 | // Name = Enclosing_Mark, number of codePoints: 13 |
1688 | auto characterClass = std::make_unique<CharacterClass>( |
1689 | std::initializer_list<UChar32>({}), |
1690 | std::initializer_list<CharacterRange>({}), |
1691 | std::initializer_list<UChar32>({0x1abe}), |
1692 | std::initializer_list<CharacterRange>({{0x0488, 0x0489}, {0x20dd, 0x20e0}, {0x20e2, 0x20e4}, {0xa670, 0xa672}}), |
1693 | CharacterClassWidths::HasBMPChars); |
1694 | return characterClass; |
1695 | } |
1696 | |
1697 | static std::unique_ptr<CharacterClass> createCharacterClass35() |
1698 | { |
1699 | // Name = Spacing_Mark, number of codePoints: 415 |
1700 | auto characterClass = std::make_unique<CharacterClass>( |
1701 | std::initializer_list<UChar32>({}), |
1702 | std::initializer_list<CharacterRange>({}), |
1703 | std::initializer_list<UChar32>({0x0903, 0x093b, 0x09d7, 0x0a03, 0x0a83, 0x0ac9, 0x0b3e, 0x0b40, |
1704 | 0x0b57, 0x0bd7, 0x0cbe, 0x0d57, 0x0f7f, 0x1031, 0x1038, 0x108f, |
1705 | 0x17b6, 0x1a55, 0x1a57, 0x1a61, 0x1b04, 0x1b35, 0x1b3b, 0x1b82, |
1706 | 0x1ba1, 0x1baa, 0x1be7, 0x1bee, 0x1ce1, 0x1cf7, 0xa827, 0xa983, |
1707 | 0xaa4d, 0xaa7b, 0xaa7d, 0xaaeb, 0xaaf5, 0xabec, 0x11000, 0x11002, |
1708 | 0x11082, 0x1112c, 0x11182, 0x11235, 0x11357, 0x11445, 0x114b9, 0x114c1, |
1709 | 0x115be, 0x1163e, 0x116ac, 0x116b6, 0x11726, 0x11838, 0x11a39, 0x11a97, |
1710 | 0x11c2f, 0x11c3e, 0x11ca9, 0x11cb1, 0x11cb4, 0x11d96}), |
1711 | std::initializer_list<CharacterRange>({{0x093e, 0x0940}, {0x0949, 0x094c}, {0x094e, 0x094f}, {0x0982, 0x0983}, |
1712 | {0x09be, 0x09c0}, {0x09c7, 0x09c8}, {0x09cb, 0x09cc}, {0x0a3e, 0x0a40}, |
1713 | {0x0abe, 0x0ac0}, {0x0acb, 0x0acc}, {0x0b02, 0x0b03}, {0x0b47, 0x0b48}, |
1714 | {0x0b4b, 0x0b4c}, {0x0bbe, 0x0bbf}, {0x0bc1, 0x0bc2}, {0x0bc6, 0x0bc8}, |
1715 | {0x0bca, 0x0bcc}, {0x0c01, 0x0c03}, {0x0c41, 0x0c44}, {0x0c82, 0x0c83}, |
1716 | {0x0cc0, 0x0cc4}, {0x0cc7, 0x0cc8}, {0x0cca, 0x0ccb}, {0x0cd5, 0x0cd6}, |
1717 | {0x0d02, 0x0d03}, {0x0d3e, 0x0d40}, {0x0d46, 0x0d48}, {0x0d4a, 0x0d4c}, |
1718 | {0x0d82, 0x0d83}, {0x0dcf, 0x0dd1}, {0x0dd8, 0x0ddf}, {0x0df2, 0x0df3}, |
1719 | {0x0f3e, 0x0f3f}, {0x102b, 0x102c}, {0x103b, 0x103c}, {0x1056, 0x1057}, |
1720 | {0x1062, 0x1064}, {0x1067, 0x106d}, {0x1083, 0x1084}, {0x1087, 0x108c}, |
1721 | {0x109a, 0x109c}, {0x17be, 0x17c5}, {0x17c7, 0x17c8}, {0x1923, 0x1926}, |
1722 | {0x1929, 0x192b}, {0x1930, 0x1931}, {0x1933, 0x1938}, {0x1a19, 0x1a1a}, |
1723 | {0x1a63, 0x1a64}, {0x1a6d, 0x1a72}, {0x1b3d, 0x1b41}, {0x1b43, 0x1b44}, |
1724 | {0x1ba6, 0x1ba7}, {0x1bea, 0x1bec}, {0x1bf2, 0x1bf3}, {0x1c24, 0x1c2b}, |
1725 | {0x1c34, 0x1c35}, {0x1cf2, 0x1cf3}, {0x302e, 0x302f}, {0xa823, 0xa824}, |
1726 | {0xa880, 0xa881}, {0xa8b4, 0xa8c3}, {0xa952, 0xa953}, {0xa9b4, 0xa9b5}, |
1727 | {0xa9ba, 0xa9bb}, {0xa9bd, 0xa9c0}, {0xaa2f, 0xaa30}, {0xaa33, 0xaa34}, |
1728 | {0xaaee, 0xaaef}, {0xabe3, 0xabe4}, {0xabe6, 0xabe7}, {0xabe9, 0xabea}, |
1729 | {0x110b0, 0x110b2}, {0x110b7, 0x110b8}, {0x11145, 0x11146}, {0x111b3, 0x111b5}, |
1730 | {0x111bf, 0x111c0}, {0x1122c, 0x1122e}, {0x11232, 0x11233}, {0x112e0, 0x112e2}, |
1731 | {0x11302, 0x11303}, {0x1133e, 0x1133f}, {0x11341, 0x11344}, {0x11347, 0x11348}, |
1732 | {0x1134b, 0x1134d}, {0x11362, 0x11363}, {0x11435, 0x11437}, {0x11440, 0x11441}, |
1733 | {0x114b0, 0x114b2}, {0x114bb, 0x114be}, {0x115af, 0x115b1}, {0x115b8, 0x115bb}, |
1734 | {0x11630, 0x11632}, {0x1163b, 0x1163c}, {0x116ae, 0x116af}, {0x11720, 0x11721}, |
1735 | {0x1182c, 0x1182e}, {0x11a57, 0x11a58}, {0x11d8a, 0x11d8e}, {0x11d93, 0x11d94}, |
1736 | {0x11ef5, 0x11ef6}, {0x16f51, 0x16f7e}, {0x1d165, 0x1d166}, {0x1d16d, 0x1d172}}), |
1737 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1738 | return characterClass; |
1739 | } |
1740 | |
1741 | static std::unique_ptr<CharacterClass> createCharacterClass36() |
1742 | { |
1743 | // Name = Letter_Number, number of codePoints: 236 |
1744 | auto characterClass = std::make_unique<CharacterClass>( |
1745 | std::initializer_list<UChar32>({}), |
1746 | std::initializer_list<CharacterRange>({}), |
1747 | std::initializer_list<UChar32>({0x3007, 0x10341, 0x1034a}), |
1748 | std::initializer_list<CharacterRange>({{0x16ee, 0x16f0}, {0x2160, 0x2182}, {0x2185, 0x2188}, {0x3021, 0x3029}, |
1749 | {0x3038, 0x303a}, {0xa6e6, 0xa6ef}, {0x10140, 0x10174}, {0x103d1, 0x103d5}, |
1750 | {0x12400, 0x1246e}}), |
1751 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1752 | return characterClass; |
1753 | } |
1754 | |
1755 | static std::unique_ptr<CharacterClass> createCharacterClass37() |
1756 | { |
1757 | // Name = Line_Separator, number of codePoints: 1 |
1758 | auto characterClass = std::make_unique<CharacterClass>( |
1759 | std::initializer_list<UChar32>({}), |
1760 | std::initializer_list<CharacterRange>({}), |
1761 | std::initializer_list<UChar32>({0x2028}), |
1762 | std::initializer_list<CharacterRange>({}), |
1763 | CharacterClassWidths::HasBMPChars); |
1764 | return characterClass; |
1765 | } |
1766 | |
1767 | static std::unique_ptr<CharacterClass> createCharacterClass38() |
1768 | { |
1769 | // Name = Paragraph_Separator, number of codePoints: 1 |
1770 | auto characterClass = std::make_unique<CharacterClass>( |
1771 | std::initializer_list<UChar32>({}), |
1772 | std::initializer_list<CharacterRange>({}), |
1773 | std::initializer_list<UChar32>({0x2029}), |
1774 | std::initializer_list<CharacterRange>({}), |
1775 | CharacterClassWidths::HasBMPChars); |
1776 | return characterClass; |
1777 | } |
1778 | |
1779 | static std::unique_ptr<CharacterClass> createCharacterClass39() |
1780 | { |
1781 | // Name = Surrogate, number of codePoints: 2048 |
1782 | auto characterClass = std::make_unique<CharacterClass>( |
1783 | std::initializer_list<UChar32>({}), |
1784 | std::initializer_list<CharacterRange>({}), |
1785 | std::initializer_list<UChar32>({}), |
1786 | std::initializer_list<CharacterRange>({{0xd800, 0xdfff}}), |
1787 | CharacterClassWidths::HasBMPChars); |
1788 | return characterClass; |
1789 | } |
1790 | |
1791 | static std::unique_ptr<CharacterClass> createCharacterClass40() |
1792 | { |
1793 | // Name = Private_Use, number of codePoints: 137468 |
1794 | auto characterClass = std::make_unique<CharacterClass>( |
1795 | std::initializer_list<UChar32>({}), |
1796 | std::initializer_list<CharacterRange>({}), |
1797 | std::initializer_list<UChar32>({}), |
1798 | std::initializer_list<CharacterRange>({{0xe000, 0xf8ff}, {0xf0000, 0xffffd}, {0x100000, 0x10fffd}}), |
1799 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1800 | return characterClass; |
1801 | } |
1802 | |
1803 | static std::unique_ptr<CharacterClass> createCharacterClass41() |
1804 | { |
1805 | // Name = Bidi_Mirrored, number of codePoints: 545 |
1806 | auto characterClass = std::make_unique<CharacterClass>( |
1807 | std::initializer_list<UChar32>({0x3c, 0x3e, 0x5b, 0x5d, 0x7b, 0x7d}), |
1808 | std::initializer_list<CharacterRange>({{0x28, 0x29}}), |
1809 | std::initializer_list<UChar32>({0x00ab, 0x00bb, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, |
1810 | 0x2298, 0x27c0, 0x29b8, 0x29c9, 0x29e1, 0x2a24, 0x2a26, 0x2a29, |
1811 | 0x2adc, 0x2ade, 0x2af3, 0x2afd, 0x2bfe, 0xff1c, 0xff1e, 0xff3b, |
1812 | 0xff3d, 0xff5b, 0xff5d, 0x1d6db, 0x1d715, 0x1d74f, 0x1d789, 0x1d7c3}), |
1813 | std::initializer_list<CharacterRange>({{0x0f3a, 0x0f3d}, {0x169b, 0x169c}, {0x2039, 0x203a}, {0x2045, 0x2046}, |
1814 | {0x207d, 0x207e}, {0x208d, 0x208e}, {0x2201, 0x2204}, {0x2208, 0x220d}, |
1815 | {0x2215, 0x2216}, {0x221a, 0x221d}, {0x221f, 0x2222}, {0x222b, 0x2233}, |
1816 | {0x223b, 0x224c}, {0x2252, 0x2255}, {0x225f, 0x2260}, {0x2264, 0x226b}, |
1817 | {0x226e, 0x228c}, {0x228f, 0x2292}, {0x22a2, 0x22a3}, {0x22a6, 0x22b8}, |
1818 | {0x22be, 0x22bf}, {0x22c9, 0x22cd}, {0x22d0, 0x22d1}, {0x22d6, 0x22ed}, |
1819 | {0x22f0, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321}, {0x2329, 0x232a}, |
1820 | {0x2768, 0x2775}, {0x27c3, 0x27c6}, {0x27c8, 0x27c9}, {0x27cb, 0x27cd}, |
1821 | {0x27d3, 0x27d6}, {0x27dc, 0x27de}, {0x27e2, 0x27ef}, {0x2983, 0x2998}, |
1822 | {0x299b, 0x29a0}, {0x29a2, 0x29af}, {0x29c0, 0x29c5}, {0x29ce, 0x29d2}, |
1823 | {0x29d4, 0x29d5}, {0x29d8, 0x29dc}, {0x29e3, 0x29e5}, {0x29e8, 0x29e9}, |
1824 | {0x29f4, 0x29f9}, {0x29fc, 0x29fd}, {0x2a0a, 0x2a1c}, {0x2a1e, 0x2a21}, |
1825 | {0x2a2b, 0x2a2e}, {0x2a34, 0x2a35}, {0x2a3c, 0x2a3e}, {0x2a57, 0x2a58}, |
1826 | {0x2a64, 0x2a65}, {0x2a6a, 0x2a6d}, {0x2a6f, 0x2a70}, {0x2a73, 0x2a74}, |
1827 | {0x2a79, 0x2aa3}, {0x2aa6, 0x2aad}, {0x2aaf, 0x2ad6}, {0x2ae2, 0x2ae6}, |
1828 | {0x2aec, 0x2aee}, {0x2af7, 0x2afb}, {0x2e02, 0x2e05}, {0x2e09, 0x2e0a}, |
1829 | {0x2e0c, 0x2e0d}, {0x2e1c, 0x2e1d}, {0x2e20, 0x2e29}, {0x3008, 0x3011}, |
1830 | {0x3014, 0x301b}, {0xfe59, 0xfe5e}, {0xfe64, 0xfe65}, {0xff08, 0xff09}, |
1831 | {0xff5f, 0xff60}, {0xff62, 0xff63}}), |
1832 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1833 | return characterClass; |
1834 | } |
1835 | |
1836 | static std::unique_ptr<CharacterClass> createCharacterClass42() |
1837 | { |
1838 | // Name = Math, number of codePoints: 2310 |
1839 | auto characterClass = std::make_unique<CharacterClass>( |
1840 | std::initializer_list<UChar32>({0x2b, 0x5e, 0x7c, 0x7e}), |
1841 | std::initializer_list<CharacterRange>({{0x3c, 0x3e}}), |
1842 | std::initializer_list<UChar32>({0x00ac, 0x00b1, 0x00d7, 0x00f7, 0x03d5, 0x2016, 0x2040, 0x2044, |
1843 | 0x2052, 0x20e1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214b, 0x21dd, |
1844 | 0x237c, 0x23b7, 0x23d0, 0x25e2, 0x25e4, 0x2640, 0x2642, 0xfb29, |
1845 | 0xfe68, 0xff0b, 0xff3c, 0xff3e, 0xff5c, 0xff5e, 0xffe2, 0x1d4a2, |
1846 | 0x1d4bb, 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, |
1847 | 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, |
1848 | 0x1ee64, 0x1ee7e}), |
1849 | std::initializer_list<CharacterRange>({{0x03d0, 0x03d2}, {0x03f0, 0x03f1}, {0x03f4, 0x03f6}, {0x0606, 0x0608}, |
1850 | {0x2032, 0x2034}, {0x2061, 0x2064}, {0x207a, 0x207e}, {0x208a, 0x208e}, |
1851 | {0x20d0, 0x20dc}, {0x20e5, 0x20e6}, {0x20eb, 0x20ef}, {0x210a, 0x2113}, |
1852 | {0x2118, 0x211d}, {0x2128, 0x2129}, {0x212c, 0x212d}, {0x212f, 0x2131}, |
1853 | {0x2133, 0x2138}, {0x213c, 0x2149}, {0x2190, 0x21a7}, {0x21a9, 0x21ae}, |
1854 | {0x21b0, 0x21b1}, {0x21b6, 0x21b7}, {0x21bc, 0x21db}, {0x21e4, 0x21e5}, |
1855 | {0x21f4, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321}, {0x239b, 0x23b5}, |
1856 | {0x23dc, 0x23e2}, {0x25a0, 0x25a1}, {0x25ae, 0x25b7}, {0x25bc, 0x25c1}, |
1857 | {0x25c6, 0x25c7}, {0x25ca, 0x25cb}, {0x25cf, 0x25d3}, {0x25e7, 0x25ec}, |
1858 | {0x25f8, 0x25ff}, {0x2605, 0x2606}, {0x2660, 0x2663}, {0x266d, 0x266f}, |
1859 | {0x27c0, 0x27ff}, {0x2900, 0x2aff}, {0x2b30, 0x2b44}, {0x2b47, 0x2b4c}, |
1860 | {0xfe61, 0xfe66}, {0xff1c, 0xff1e}, {0xffe9, 0xffec}, {0x1d400, 0x1d454}, |
1861 | {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, |
1862 | {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, |
1863 | {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, |
1864 | {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d7cb}, |
1865 | {0x1d7ce, 0x1d7ff}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, |
1866 | {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, |
1867 | {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, |
1868 | {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, |
1869 | {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1eef0, 0x1eef1}}), |
1870 | CharacterClassWidths::HasBothBMPAndNonBMP); |
1871 | return characterClass; |
1872 | } |
1873 | |
1874 | static std::unique_ptr<CharacterClass> createCharacterClass43() |
1875 | { |
1876 | // Name = Alphabetic, number of codePoints: 126989 |
1877 | auto characterClass = std::make_unique<CharacterClass>( |
1878 | std::initializer_list<UChar32>({}), |
1879 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
1880 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x02ec, 0x02ee, 0x0345, 0x037f, 0x0386, |
1881 | 0x038c, 0x0559, 0x05bf, 0x05c7, 0x06ff, 0x07fa, 0x09b2, 0x09ce, |
1882 | 0x09d7, 0x09fc, 0x0a51, 0x0a5e, 0x0ad0, 0x0b71, 0x0b9c, 0x0bd0, |
1883 | 0x0bd7, 0x0cde, 0x0d4e, 0x0dbd, 0x0dd6, 0x0e4d, 0x0e84, 0x0e8a, |
1884 | 0x0e8d, 0x0ea5, 0x0ea7, 0x0ec6, 0x0ecd, 0x0f00, 0x1038, 0x108e, |
1885 | 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x135f, 0x17d7, 0x17dc, 0x1aa7, |
1886 | 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, 0x2071, 0x207f, 0x2102, 0x2107, |
1887 | 0x2115, 0x2124, 0x2126, 0x2128, 0x214e, 0x2d27, 0x2d2d, 0x2d6f, |
1888 | 0x2e2f, 0xa8c5, 0xa8fb, 0xa9cf, 0xaa7a, 0xaac0, 0xaac2, 0xfb3e, |
1889 | 0x10808, 0x1083c, 0x10f27, 0x11176, 0x111da, 0x111dc, 0x11237, 0x1123e, |
1890 | 0x11288, 0x11350, 0x11357, 0x114c7, 0x11640, 0x11644, 0x118ff, 0x11a9d, |
1891 | 0x11c40, 0x11d3a, 0x11d43, 0x11d98, 0x1bc9e, 0x1d4a2, 0x1d4bb, 0x1d546, |
1892 | 0x1e947, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, |
1893 | 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, |
1894 | 0x1ee7e}), |
1895 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
1896 | {0x02e0, 0x02e4}, {0x0370, 0x0374}, {0x0376, 0x0377}, {0x037a, 0x037d}, |
1897 | {0x0388, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
1898 | {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, {0x05b0, 0x05bd}, |
1899 | {0x05c1, 0x05c2}, {0x05c4, 0x05c5}, {0x05d0, 0x05ea}, {0x05ef, 0x05f2}, |
1900 | {0x0610, 0x061a}, {0x0620, 0x0657}, {0x0659, 0x065f}, {0x066e, 0x06d3}, |
1901 | {0x06d5, 0x06dc}, {0x06e1, 0x06e8}, {0x06ed, 0x06ef}, {0x06fa, 0x06fc}, |
1902 | {0x0710, 0x073f}, {0x074d, 0x07b1}, {0x07ca, 0x07ea}, {0x07f4, 0x07f5}, |
1903 | {0x0800, 0x0817}, {0x081a, 0x082c}, {0x0840, 0x0858}, {0x0860, 0x086a}, |
1904 | {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d4, 0x08df}, {0x08e3, 0x08e9}, |
1905 | {0x08f0, 0x093b}, {0x093d, 0x094c}, {0x094e, 0x0950}, {0x0955, 0x0963}, |
1906 | {0x0971, 0x0983}, {0x0985, 0x098c}, {0x098f, 0x0990}, {0x0993, 0x09a8}, |
1907 | {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, {0x09bd, 0x09c4}, {0x09c7, 0x09c8}, |
1908 | {0x09cb, 0x09cc}, {0x09dc, 0x09dd}, {0x09df, 0x09e3}, {0x09f0, 0x09f1}, |
1909 | {0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, |
1910 | {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, |
1911 | {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, {0x0a4b, 0x0a4c}, {0x0a59, 0x0a5c}, |
1912 | {0x0a70, 0x0a75}, {0x0a81, 0x0a83}, {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, |
1913 | {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, |
1914 | {0x0abd, 0x0ac5}, {0x0ac7, 0x0ac9}, {0x0acb, 0x0acc}, {0x0ae0, 0x0ae3}, |
1915 | {0x0af9, 0x0afc}, {0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, |
1916 | {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, |
1917 | {0x0b3d, 0x0b44}, {0x0b47, 0x0b48}, {0x0b4b, 0x0b4c}, {0x0b56, 0x0b57}, |
1918 | {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b63}, {0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, |
1919 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
1920 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, |
1921 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcc}, {0x0c00, 0x0c03}, {0x0c05, 0x0c0c}, |
1922 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c3d, 0x0c44}, |
1923 | {0x0c46, 0x0c48}, {0x0c4a, 0x0c4c}, {0x0c55, 0x0c56}, {0x0c58, 0x0c5a}, |
1924 | {0x0c60, 0x0c63}, {0x0c80, 0x0c83}, {0x0c85, 0x0c8c}, {0x0c8e, 0x0c90}, |
1925 | {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0cbd, 0x0cc4}, |
1926 | {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccc}, {0x0cd5, 0x0cd6}, {0x0ce0, 0x0ce3}, |
1927 | {0x0cf1, 0x0cf2}, {0x0d00, 0x0d03}, {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, |
1928 | {0x0d12, 0x0d3a}, {0x0d3d, 0x0d44}, {0x0d46, 0x0d48}, {0x0d4a, 0x0d4c}, |
1929 | {0x0d54, 0x0d57}, {0x0d5f, 0x0d63}, {0x0d7a, 0x0d7f}, {0x0d82, 0x0d83}, |
1930 | {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, |
1931 | {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, {0x0df2, 0x0df3}, {0x0e01, 0x0e3a}, |
1932 | {0x0e40, 0x0e46}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
1933 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb9}, |
1934 | {0x0ebb, 0x0ebd}, {0x0ec0, 0x0ec4}, {0x0edc, 0x0edf}, {0x0f40, 0x0f47}, |
1935 | {0x0f49, 0x0f6c}, {0x0f71, 0x0f81}, {0x0f88, 0x0f97}, {0x0f99, 0x0fbc}, |
1936 | {0x1000, 0x1036}, {0x103b, 0x103f}, {0x1050, 0x1062}, {0x1065, 0x1068}, |
1937 | {0x106e, 0x1086}, {0x109c, 0x109d}, {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, |
1938 | {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
1939 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
1940 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
1941 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, |
1942 | {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, |
1943 | {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x170c}, {0x170e, 0x1713}, |
1944 | {0x1720, 0x1733}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, |
1945 | {0x1772, 0x1773}, {0x1780, 0x17b3}, {0x17b6, 0x17c8}, {0x1820, 0x1878}, |
1946 | {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1920, 0x192b}, |
1947 | {0x1930, 0x1938}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, |
1948 | {0x19b0, 0x19c9}, {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, {0x1a61, 0x1a74}, |
1949 | {0x1b00, 0x1b33}, {0x1b35, 0x1b43}, {0x1b45, 0x1b4b}, {0x1b80, 0x1ba9}, |
1950 | {0x1bac, 0x1baf}, {0x1bba, 0x1be5}, {0x1be7, 0x1bf1}, {0x1c00, 0x1c35}, |
1951 | {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, |
1952 | {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, |
1953 | {0x1d00, 0x1dbf}, {0x1de7, 0x1df4}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, |
1954 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, |
1955 | {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, |
1956 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, |
1957 | {0x1ff6, 0x1ffc}, {0x2090, 0x209c}, {0x210a, 0x2113}, {0x2119, 0x211d}, |
1958 | {0x212a, 0x212d}, {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, |
1959 | {0x2160, 0x2188}, {0x24b6, 0x24e9}, {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, |
1960 | {0x2c60, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, |
1961 | {0x2d30, 0x2d67}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, |
1962 | {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, |
1963 | {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, |
1964 | {0x3021, 0x3029}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, |
1965 | {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, |
1966 | {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, {0x3400, 0x4db5}, |
1967 | {0x4e00, 0x9fef}, {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, |
1968 | {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa674, 0xa67b}, |
1969 | {0xa67f, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7b9}, |
1970 | {0xa7f7, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa827}, |
1971 | {0xa840, 0xa873}, {0xa880, 0xa8c3}, {0xa8f2, 0xa8f7}, {0xa8fd, 0xa8fe}, |
1972 | {0xa90a, 0xa92a}, {0xa930, 0xa952}, {0xa960, 0xa97c}, {0xa980, 0xa9b2}, |
1973 | {0xa9b4, 0xa9bf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, |
1974 | {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa60, 0xaa76}, {0xaa7e, 0xaabe}, |
1975 | {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf5}, {0xab01, 0xab06}, |
1976 | {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, |
1977 | {0xab30, 0xab5a}, {0xab5c, 0xab65}, {0xab70, 0xabea}, {0xac00, 0xd7a3}, |
1978 | {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, |
1979 | {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, |
1980 | {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, |
1981 | {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, |
1982 | {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, |
1983 | {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, |
1984 | {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, |
1985 | {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, |
1986 | {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, |
1987 | {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, |
1988 | {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, |
1989 | {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, |
1990 | {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, |
1991 | {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, |
1992 | {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, |
1993 | {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, |
1994 | {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, |
1995 | {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, |
1996 | {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, |
1997 | {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10f00, 0x10f1c}, |
1998 | {0x10f30, 0x10f45}, {0x11000, 0x11045}, {0x11082, 0x110b8}, {0x110d0, 0x110e8}, |
1999 | {0x11100, 0x11132}, {0x11144, 0x11146}, {0x11150, 0x11172}, {0x11180, 0x111bf}, |
2000 | {0x111c1, 0x111c4}, {0x11200, 0x11211}, {0x11213, 0x11234}, {0x11280, 0x11286}, |
2001 | {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112e8}, |
2002 | {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, |
2003 | {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133d, 0x11344}, |
2004 | {0x11347, 0x11348}, {0x1134b, 0x1134c}, {0x1135d, 0x11363}, {0x11400, 0x11441}, |
2005 | {0x11443, 0x11445}, {0x11447, 0x1144a}, {0x11480, 0x114c1}, {0x114c4, 0x114c5}, |
2006 | {0x11580, 0x115b5}, {0x115b8, 0x115be}, {0x115d8, 0x115dd}, {0x11600, 0x1163e}, |
2007 | {0x11680, 0x116b5}, {0x11700, 0x1171a}, {0x1171d, 0x1172a}, {0x11800, 0x11838}, |
2008 | {0x118a0, 0x118df}, {0x11a00, 0x11a32}, {0x11a35, 0x11a3e}, {0x11a50, 0x11a83}, |
2009 | {0x11a86, 0x11a97}, {0x11ac0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, |
2010 | {0x11c38, 0x11c3e}, {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, |
2011 | {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3c, 0x11d3d}, |
2012 | {0x11d3f, 0x11d41}, {0x11d46, 0x11d47}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, |
2013 | {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d96}, {0x11ee0, 0x11ef6}, |
2014 | {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x13000, 0x1342e}, |
2015 | {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16ad0, 0x16aed}, |
2016 | {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, |
2017 | {0x16e40, 0x16e7f}, {0x16f00, 0x16f44}, {0x16f50, 0x16f7e}, {0x16f93, 0x16f9f}, |
2018 | {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, |
2019 | {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, |
2020 | {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, |
2021 | {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, |
2022 | {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, |
2023 | {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, |
2024 | {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, |
2025 | {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, |
2026 | {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, |
2027 | {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, |
2028 | {0x1e026, 0x1e02a}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1ee00, 0x1ee03}, |
2029 | {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, |
2030 | {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, |
2031 | {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, |
2032 | {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, |
2033 | {0x1f130, 0x1f149}, {0x1f150, 0x1f169}, {0x1f170, 0x1f189}, {0x20000, 0x2a6d6}, |
2034 | {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, |
2035 | {0x2f800, 0x2fa1d}}), |
2036 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2037 | return characterClass; |
2038 | } |
2039 | |
2040 | static std::unique_ptr<CharacterClass> createCharacterClass44() |
2041 | { |
2042 | // Name = Lowercase, number of codePoints: 2334 |
2043 | auto characterClass = std::make_unique<CharacterClass>( |
2044 | std::initializer_list<UChar32>({}), |
2045 | std::initializer_list<CharacterRange>({{0x61, 0x7a}}), |
2046 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x0101, 0x0103, 0x0105, 0x0107, 0x0109, |
2047 | 0x010b, 0x010d, 0x010f, 0x0111, 0x0113, 0x0115, 0x0117, 0x0119, |
2048 | 0x011b, 0x011d, 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, |
2049 | 0x012b, 0x012d, 0x012f, 0x0131, 0x0133, 0x0135, 0x013a, 0x013c, |
2050 | 0x013e, 0x0140, 0x0142, 0x0144, 0x0146, 0x014b, 0x014d, 0x014f, |
2051 | 0x0151, 0x0153, 0x0155, 0x0157, 0x0159, 0x015b, 0x015d, 0x015f, |
2052 | 0x0161, 0x0163, 0x0165, 0x0167, 0x0169, 0x016b, 0x016d, 0x016f, |
2053 | 0x0171, 0x0173, 0x0175, 0x0177, 0x017a, 0x017c, 0x0183, 0x0185, |
2054 | 0x0188, 0x0192, 0x0195, 0x019e, 0x01a1, 0x01a3, 0x01a5, 0x01a8, |
2055 | 0x01ad, 0x01b0, 0x01b4, 0x01b6, 0x01c6, 0x01c9, 0x01cc, 0x01ce, |
2056 | 0x01d0, 0x01d2, 0x01d4, 0x01d6, 0x01d8, 0x01da, 0x01df, 0x01e1, |
2057 | 0x01e3, 0x01e5, 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01f3, 0x01f5, |
2058 | 0x01f9, 0x01fb, 0x01fd, 0x01ff, 0x0201, 0x0203, 0x0205, 0x0207, |
2059 | 0x0209, 0x020b, 0x020d, 0x020f, 0x0211, 0x0213, 0x0215, 0x0217, |
2060 | 0x0219, 0x021b, 0x021d, 0x021f, 0x0221, 0x0223, 0x0225, 0x0227, |
2061 | 0x0229, 0x022b, 0x022d, 0x022f, 0x0231, 0x023c, 0x0242, 0x0247, |
2062 | 0x0249, 0x024b, 0x024d, 0x0345, 0x0371, 0x0373, 0x0377, 0x0390, |
2063 | 0x03d9, 0x03db, 0x03dd, 0x03df, 0x03e1, 0x03e3, 0x03e5, 0x03e7, |
2064 | 0x03e9, 0x03eb, 0x03ed, 0x03f5, 0x03f8, 0x0461, 0x0463, 0x0465, |
2065 | 0x0467, 0x0469, 0x046b, 0x046d, 0x046f, 0x0471, 0x0473, 0x0475, |
2066 | 0x0477, 0x0479, 0x047b, 0x047d, 0x047f, 0x0481, 0x048b, 0x048d, |
2067 | 0x048f, 0x0491, 0x0493, 0x0495, 0x0497, 0x0499, 0x049b, 0x049d, |
2068 | 0x049f, 0x04a1, 0x04a3, 0x04a5, 0x04a7, 0x04a9, 0x04ab, 0x04ad, |
2069 | 0x04af, 0x04b1, 0x04b3, 0x04b5, 0x04b7, 0x04b9, 0x04bb, 0x04bd, |
2070 | 0x04bf, 0x04c2, 0x04c4, 0x04c6, 0x04c8, 0x04ca, 0x04cc, 0x04d1, |
2071 | 0x04d3, 0x04d5, 0x04d7, 0x04d9, 0x04db, 0x04dd, 0x04df, 0x04e1, |
2072 | 0x04e3, 0x04e5, 0x04e7, 0x04e9, 0x04eb, 0x04ed, 0x04ef, 0x04f1, |
2073 | 0x04f3, 0x04f5, 0x04f7, 0x04f9, 0x04fb, 0x04fd, 0x04ff, 0x0501, |
2074 | 0x0503, 0x0505, 0x0507, 0x0509, 0x050b, 0x050d, 0x050f, 0x0511, |
2075 | 0x0513, 0x0515, 0x0517, 0x0519, 0x051b, 0x051d, 0x051f, 0x0521, |
2076 | 0x0523, 0x0525, 0x0527, 0x0529, 0x052b, 0x052d, 0x052f, 0x1e01, |
2077 | 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b, 0x1e0d, 0x1e0f, 0x1e11, |
2078 | 0x1e13, 0x1e15, 0x1e17, 0x1e19, 0x1e1b, 0x1e1d, 0x1e1f, 0x1e21, |
2079 | 0x1e23, 0x1e25, 0x1e27, 0x1e29, 0x1e2b, 0x1e2d, 0x1e2f, 0x1e31, |
2080 | 0x1e33, 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d, 0x1e3f, 0x1e41, |
2081 | 0x1e43, 0x1e45, 0x1e47, 0x1e49, 0x1e4b, 0x1e4d, 0x1e4f, 0x1e51, |
2082 | 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b, 0x1e5d, 0x1e5f, 0x1e61, |
2083 | 0x1e63, 0x1e65, 0x1e67, 0x1e69, 0x1e6b, 0x1e6d, 0x1e6f, 0x1e71, |
2084 | 0x1e73, 0x1e75, 0x1e77, 0x1e79, 0x1e7b, 0x1e7d, 0x1e7f, 0x1e81, |
2085 | 0x1e83, 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d, 0x1e8f, 0x1e91, |
2086 | 0x1e93, 0x1e9f, 0x1ea1, 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, |
2087 | 0x1ead, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1eb9, 0x1ebb, |
2088 | 0x1ebd, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9, 0x1ecb, |
2089 | 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb, |
2090 | 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7, 0x1ee9, 0x1eeb, |
2091 | 0x1eed, 0x1eef, 0x1ef1, 0x1ef3, 0x1ef5, 0x1ef7, 0x1ef9, 0x1efb, |
2092 | 0x1efd, 0x1fbe, 0x2071, 0x207f, 0x210a, 0x2113, 0x212f, 0x2134, |
2093 | 0x2139, 0x214e, 0x2184, 0x2c61, 0x2c68, 0x2c6a, 0x2c6c, 0x2c71, |
2094 | 0x2c81, 0x2c83, 0x2c85, 0x2c87, 0x2c89, 0x2c8b, 0x2c8d, 0x2c8f, |
2095 | 0x2c91, 0x2c93, 0x2c95, 0x2c97, 0x2c99, 0x2c9b, 0x2c9d, 0x2c9f, |
2096 | 0x2ca1, 0x2ca3, 0x2ca5, 0x2ca7, 0x2ca9, 0x2cab, 0x2cad, 0x2caf, |
2097 | 0x2cb1, 0x2cb3, 0x2cb5, 0x2cb7, 0x2cb9, 0x2cbb, 0x2cbd, 0x2cbf, |
2098 | 0x2cc1, 0x2cc3, 0x2cc5, 0x2cc7, 0x2cc9, 0x2ccb, 0x2ccd, 0x2ccf, |
2099 | 0x2cd1, 0x2cd3, 0x2cd5, 0x2cd7, 0x2cd9, 0x2cdb, 0x2cdd, 0x2cdf, |
2100 | 0x2ce1, 0x2cec, 0x2cee, 0x2cf3, 0x2d27, 0x2d2d, 0xa641, 0xa643, |
2101 | 0xa645, 0xa647, 0xa649, 0xa64b, 0xa64d, 0xa64f, 0xa651, 0xa653, |
2102 | 0xa655, 0xa657, 0xa659, 0xa65b, 0xa65d, 0xa65f, 0xa661, 0xa663, |
2103 | 0xa665, 0xa667, 0xa669, 0xa66b, 0xa66d, 0xa681, 0xa683, 0xa685, |
2104 | 0xa687, 0xa689, 0xa68b, 0xa68d, 0xa68f, 0xa691, 0xa693, 0xa695, |
2105 | 0xa697, 0xa699, 0xa723, 0xa725, 0xa727, 0xa729, 0xa72b, 0xa72d, |
2106 | 0xa733, 0xa735, 0xa737, 0xa739, 0xa73b, 0xa73d, 0xa73f, 0xa741, |
2107 | 0xa743, 0xa745, 0xa747, 0xa749, 0xa74b, 0xa74d, 0xa74f, 0xa751, |
2108 | 0xa753, 0xa755, 0xa757, 0xa759, 0xa75b, 0xa75d, 0xa75f, 0xa761, |
2109 | 0xa763, 0xa765, 0xa767, 0xa769, 0xa76b, 0xa76d, 0xa77a, 0xa77c, |
2110 | 0xa77f, 0xa781, 0xa783, 0xa785, 0xa787, 0xa78c, 0xa78e, 0xa791, |
2111 | 0xa797, 0xa799, 0xa79b, 0xa79d, 0xa79f, 0xa7a1, 0xa7a3, 0xa7a5, |
2112 | 0xa7a7, 0xa7a9, 0xa7af, 0xa7b5, 0xa7b7, 0xa7b9, 0x1d4bb, 0x1d7cb}), |
2113 | std::initializer_list<CharacterRange>({{0x00df, 0x00f6}, {0x00f8, 0x00ff}, {0x0137, 0x0138}, {0x0148, 0x0149}, |
2114 | {0x017e, 0x0180}, {0x018c, 0x018d}, {0x0199, 0x019b}, {0x01aa, 0x01ab}, |
2115 | {0x01b9, 0x01ba}, {0x01bd, 0x01bf}, {0x01dc, 0x01dd}, {0x01ef, 0x01f0}, |
2116 | {0x0233, 0x0239}, {0x023f, 0x0240}, {0x024f, 0x0293}, {0x0295, 0x02b8}, |
2117 | {0x02c0, 0x02c1}, {0x02e0, 0x02e4}, {0x037a, 0x037d}, {0x03ac, 0x03ce}, |
2118 | {0x03d0, 0x03d1}, {0x03d5, 0x03d7}, {0x03ef, 0x03f3}, {0x03fb, 0x03fc}, |
2119 | {0x0430, 0x045f}, {0x04ce, 0x04cf}, {0x0560, 0x0588}, {0x10d0, 0x10fa}, |
2120 | {0x10fd, 0x10ff}, {0x13f8, 0x13fd}, {0x1c80, 0x1c88}, {0x1d00, 0x1dbf}, |
2121 | {0x1e95, 0x1e9d}, {0x1eff, 0x1f07}, {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, |
2122 | {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, |
2123 | {0x1f70, 0x1f7d}, {0x1f80, 0x1f87}, {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, |
2124 | {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, |
2125 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, |
2126 | {0x1ff6, 0x1ff7}, {0x2090, 0x209c}, {0x210e, 0x210f}, {0x213c, 0x213d}, |
2127 | {0x2146, 0x2149}, {0x2170, 0x217f}, {0x24d0, 0x24e9}, {0x2c30, 0x2c5e}, |
2128 | {0x2c65, 0x2c66}, {0x2c73, 0x2c74}, {0x2c76, 0x2c7d}, {0x2ce3, 0x2ce4}, |
2129 | {0x2d00, 0x2d25}, {0xa69b, 0xa69d}, {0xa72f, 0xa731}, {0xa76f, 0xa778}, |
2130 | {0xa793, 0xa795}, {0xa7f8, 0xa7fa}, {0xab30, 0xab5a}, {0xab5c, 0xab65}, |
2131 | {0xab70, 0xabbf}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff41, 0xff5a}, |
2132 | {0x10428, 0x1044f}, {0x104d8, 0x104fb}, {0x10cc0, 0x10cf2}, {0x118c0, 0x118df}, |
2133 | {0x16e60, 0x16e7f}, {0x1d41a, 0x1d433}, {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, |
2134 | {0x1d482, 0x1d49b}, {0x1d4b6, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d4cf}, |
2135 | {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537}, {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, |
2136 | {0x1d5ba, 0x1d5d3}, {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f}, |
2137 | {0x1d68a, 0x1d6a5}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1}, {0x1d6fc, 0x1d714}, |
2138 | {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, |
2139 | {0x1d78a, 0x1d78f}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9}, {0x1e922, 0x1e943}}), |
2140 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2141 | return characterClass; |
2142 | } |
2143 | |
2144 | static std::unique_ptr<CharacterClass> createCharacterClass45() |
2145 | { |
2146 | // Name = Uppercase, number of codePoints: 1901 |
2147 | auto characterClass = std::make_unique<CharacterClass>( |
2148 | std::initializer_list<UChar32>({}), |
2149 | std::initializer_list<CharacterRange>({{0x41, 0x5a}}), |
2150 | std::initializer_list<UChar32>({0x0100, 0x0102, 0x0104, 0x0106, 0x0108, 0x010a, 0x010c, 0x010e, |
2151 | 0x0110, 0x0112, 0x0114, 0x0116, 0x0118, 0x011a, 0x011c, 0x011e, |
2152 | 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, |
2153 | 0x0130, 0x0132, 0x0134, 0x0136, 0x0139, 0x013b, 0x013d, 0x013f, |
2154 | 0x0141, 0x0143, 0x0145, 0x0147, 0x014a, 0x014c, 0x014e, 0x0150, |
2155 | 0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160, |
2156 | 0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170, |
2157 | 0x0172, 0x0174, 0x0176, 0x017b, 0x017d, 0x0184, 0x01a2, 0x01a4, |
2158 | 0x01a9, 0x01ac, 0x01b5, 0x01bc, 0x01c4, 0x01c7, 0x01ca, 0x01cd, |
2159 | 0x01cf, 0x01d1, 0x01d3, 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x01de, |
2160 | 0x01e0, 0x01e2, 0x01e4, 0x01e6, 0x01e8, 0x01ea, 0x01ec, 0x01ee, |
2161 | 0x01f1, 0x01f4, 0x01fa, 0x01fc, 0x01fe, 0x0200, 0x0202, 0x0204, |
2162 | 0x0206, 0x0208, 0x020a, 0x020c, 0x020e, 0x0210, 0x0212, 0x0214, |
2163 | 0x0216, 0x0218, 0x021a, 0x021c, 0x021e, 0x0220, 0x0222, 0x0224, |
2164 | 0x0226, 0x0228, 0x022a, 0x022c, 0x022e, 0x0230, 0x0232, 0x0241, |
2165 | 0x0248, 0x024a, 0x024c, 0x024e, 0x0370, 0x0372, 0x0376, 0x037f, |
2166 | 0x0386, 0x038c, 0x03cf, 0x03d8, 0x03da, 0x03dc, 0x03de, 0x03e0, |
2167 | 0x03e2, 0x03e4, 0x03e6, 0x03e8, 0x03ea, 0x03ec, 0x03ee, 0x03f4, |
2168 | 0x03f7, 0x0460, 0x0462, 0x0464, 0x0466, 0x0468, 0x046a, 0x046c, |
2169 | 0x046e, 0x0470, 0x0472, 0x0474, 0x0476, 0x0478, 0x047a, 0x047c, |
2170 | 0x047e, 0x0480, 0x048a, 0x048c, 0x048e, 0x0490, 0x0492, 0x0494, |
2171 | 0x0496, 0x0498, 0x049a, 0x049c, 0x049e, 0x04a0, 0x04a2, 0x04a4, |
2172 | 0x04a6, 0x04a8, 0x04aa, 0x04ac, 0x04ae, 0x04b0, 0x04b2, 0x04b4, |
2173 | 0x04b6, 0x04b8, 0x04ba, 0x04bc, 0x04be, 0x04c3, 0x04c5, 0x04c7, |
2174 | 0x04c9, 0x04cb, 0x04cd, 0x04d0, 0x04d2, 0x04d4, 0x04d6, 0x04d8, |
2175 | 0x04da, 0x04dc, 0x04de, 0x04e0, 0x04e2, 0x04e4, 0x04e6, 0x04e8, |
2176 | 0x04ea, 0x04ec, 0x04ee, 0x04f0, 0x04f2, 0x04f4, 0x04f6, 0x04f8, |
2177 | 0x04fa, 0x04fc, 0x04fe, 0x0500, 0x0502, 0x0504, 0x0506, 0x0508, |
2178 | 0x050a, 0x050c, 0x050e, 0x0510, 0x0512, 0x0514, 0x0516, 0x0518, |
2179 | 0x051a, 0x051c, 0x051e, 0x0520, 0x0522, 0x0524, 0x0526, 0x0528, |
2180 | 0x052a, 0x052c, 0x052e, 0x10c7, 0x10cd, 0x1e00, 0x1e02, 0x1e04, |
2181 | 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, 0x1e0e, 0x1e10, 0x1e12, 0x1e14, |
2182 | 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20, 0x1e22, 0x1e24, |
2183 | 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34, |
2184 | 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e, 0x1e40, 0x1e42, 0x1e44, |
2185 | 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52, 0x1e54, |
2186 | 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, 0x1e5e, 0x1e60, 0x1e62, 0x1e64, |
2187 | 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70, 0x1e72, 0x1e74, |
2188 | 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84, |
2189 | 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e, 0x1e90, 0x1e92, 0x1e94, |
2190 | 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, |
2191 | 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, |
2192 | 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, |
2193 | 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, |
2194 | 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, |
2195 | 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, |
2196 | 0x1efe, 0x1f59, 0x1f5b, 0x1f5d, 0x1f5f, 0x2102, 0x2107, 0x2115, |
2197 | 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2c60, 0x2c67, 0x2c69, |
2198 | 0x2c6b, 0x2c72, 0x2c75, 0x2c82, 0x2c84, 0x2c86, 0x2c88, 0x2c8a, |
2199 | 0x2c8c, 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, 0x2c9a, |
2200 | 0x2c9c, 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, 0x2caa, |
2201 | 0x2cac, 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, 0x2cba, |
2202 | 0x2cbc, 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, 0x2cca, |
2203 | 0x2ccc, 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, 0x2cda, |
2204 | 0x2cdc, 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, 0xa640, |
2205 | 0xa642, 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, 0xa650, |
2206 | 0xa652, 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, 0xa660, |
2207 | 0xa662, 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, 0xa682, |
2208 | 0xa684, 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, 0xa692, |
2209 | 0xa694, 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, 0xa728, |
2210 | 0xa72a, 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, 0xa73a, |
2211 | 0xa73c, 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, 0xa74a, |
2212 | 0xa74c, 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, 0xa75a, |
2213 | 0xa75c, 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, 0xa76a, |
2214 | 0xa76c, 0xa76e, 0xa779, 0xa77b, 0xa780, 0xa782, 0xa784, 0xa786, |
2215 | 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a, 0xa79c, |
2216 | 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7b6, 0xa7b8, |
2217 | 0x1d49c, 0x1d4a2, 0x1d546, 0x1d7ca}), |
2218 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00de}, {0x0178, 0x0179}, {0x0181, 0x0182}, |
2219 | {0x0186, 0x0187}, {0x0189, 0x018b}, {0x018e, 0x0191}, {0x0193, 0x0194}, |
2220 | {0x0196, 0x0198}, {0x019c, 0x019d}, {0x019f, 0x01a0}, {0x01a6, 0x01a7}, |
2221 | {0x01ae, 0x01af}, {0x01b1, 0x01b3}, {0x01b7, 0x01b8}, {0x01f6, 0x01f8}, |
2222 | {0x023a, 0x023b}, {0x023d, 0x023e}, {0x0243, 0x0246}, {0x0388, 0x038a}, |
2223 | {0x038e, 0x038f}, {0x0391, 0x03a1}, {0x03a3, 0x03ab}, {0x03d2, 0x03d4}, |
2224 | {0x03f9, 0x03fa}, {0x03fd, 0x042f}, {0x04c0, 0x04c1}, {0x0531, 0x0556}, |
2225 | {0x10a0, 0x10c5}, {0x13a0, 0x13f5}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, |
2226 | {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, |
2227 | {0x1f48, 0x1f4d}, {0x1f68, 0x1f6f}, {0x1fb8, 0x1fbb}, {0x1fc8, 0x1fcb}, |
2228 | {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, {0x1ff8, 0x1ffb}, {0x210b, 0x210d}, |
2229 | {0x2110, 0x2112}, {0x2119, 0x211d}, {0x212a, 0x212d}, {0x2130, 0x2133}, |
2230 | {0x213e, 0x213f}, {0x2160, 0x216f}, {0x24b6, 0x24cf}, {0x2c00, 0x2c2e}, |
2231 | {0x2c62, 0x2c64}, {0x2c6d, 0x2c70}, {0x2c7e, 0x2c80}, {0xa77d, 0xa77e}, |
2232 | {0xa7aa, 0xa7ae}, {0xa7b0, 0xa7b4}, {0xff21, 0xff3a}, {0x10400, 0x10427}, |
2233 | {0x104b0, 0x104d3}, {0x10c80, 0x10cb2}, {0x118a0, 0x118bf}, {0x16e40, 0x16e5f}, |
2234 | {0x1d400, 0x1d419}, {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49e, 0x1d49f}, |
2235 | {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9}, |
2236 | {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, |
2237 | {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, |
2238 | {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, {0x1d5d4, 0x1d5ed}, {0x1d608, 0x1d621}, |
2239 | {0x1d63c, 0x1d655}, {0x1d670, 0x1d689}, {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, |
2240 | {0x1d71c, 0x1d734}, {0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8}, {0x1e900, 0x1e921}, |
2241 | {0x1f130, 0x1f149}, {0x1f150, 0x1f169}, {0x1f170, 0x1f189}}), |
2242 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2243 | return characterClass; |
2244 | } |
2245 | |
2246 | static std::unique_ptr<CharacterClass> createCharacterClass46() |
2247 | { |
2248 | // Name = Cased, number of codePoints: 4266 |
2249 | auto characterClass = std::make_unique<CharacterClass>( |
2250 | std::initializer_list<UChar32>({}), |
2251 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
2252 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x0345, 0x037f, 0x0386, 0x038c, 0x10c7, |
2253 | 0x10cd, 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, 0x2071, 0x207f, 0x2102, |
2254 | 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214e, 0x2d27, |
2255 | 0x2d2d, 0x1d4a2, 0x1d4bb, 0x1d546}), |
2256 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x01ba}, {0x01bc, 0x01bf}, |
2257 | {0x01c4, 0x0293}, {0x0295, 0x02b8}, {0x02c0, 0x02c1}, {0x02e0, 0x02e4}, |
2258 | {0x0370, 0x0373}, {0x0376, 0x0377}, {0x037a, 0x037d}, {0x0388, 0x038a}, |
2259 | {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, {0x048a, 0x052f}, |
2260 | {0x0531, 0x0556}, {0x0560, 0x0588}, {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, |
2261 | {0x10fd, 0x10ff}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1c80, 0x1c88}, |
2262 | {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, |
2263 | {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, |
2264 | {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, |
2265 | {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, |
2266 | {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2090, 0x209c}, {0x210a, 0x2113}, |
2267 | {0x2119, 0x211d}, {0x212a, 0x212d}, {0x212f, 0x2134}, {0x213c, 0x213f}, |
2268 | {0x2145, 0x2149}, {0x2160, 0x217f}, {0x2183, 0x2184}, {0x24b6, 0x24e9}, |
2269 | {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x2c60, 0x2ce4}, {0x2ceb, 0x2cee}, |
2270 | {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0xa640, 0xa66d}, {0xa680, 0xa69d}, |
2271 | {0xa722, 0xa787}, {0xa78b, 0xa78e}, {0xa790, 0xa7b9}, {0xa7f8, 0xa7fa}, |
2272 | {0xab30, 0xab5a}, {0xab5c, 0xab65}, {0xab70, 0xabbf}, {0xfb00, 0xfb06}, |
2273 | {0xfb13, 0xfb17}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0x10400, 0x1044f}, |
2274 | {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, |
2275 | {0x118a0, 0x118df}, {0x16e40, 0x16e7f}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
2276 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
2277 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
2278 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
2279 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, |
2280 | {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, |
2281 | {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, |
2282 | {0x1d7c4, 0x1d7cb}, {0x1e900, 0x1e943}, {0x1f130, 0x1f149}, {0x1f150, 0x1f169}, |
2283 | {0x1f170, 0x1f189}}), |
2284 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2285 | return characterClass; |
2286 | } |
2287 | |
2288 | static std::unique_ptr<CharacterClass> createCharacterClass47() |
2289 | { |
2290 | // Name = Case_Ignorable, number of codePoints: 2357 |
2291 | auto characterClass = std::make_unique<CharacterClass>( |
2292 | std::initializer_list<UChar32>({0x27, 0x2e, 0x3a, 0x5e, 0x60}), |
2293 | std::initializer_list<CharacterRange>({}), |
2294 | std::initializer_list<UChar32>({0x00a8, 0x00ad, 0x00af, 0x00b4, 0x037a, 0x0387, 0x0559, 0x05bf, |
2295 | 0x05c7, 0x05f4, 0x061c, 0x0640, 0x0670, 0x070f, 0x0711, 0x07fa, |
2296 | 0x07fd, 0x093a, 0x093c, 0x094d, 0x0971, 0x0981, 0x09bc, 0x09cd, |
2297 | 0x09fe, 0x0a3c, 0x0a51, 0x0a75, 0x0abc, 0x0acd, 0x0b01, 0x0b3c, |
2298 | 0x0b3f, 0x0b4d, 0x0b56, 0x0b82, 0x0bc0, 0x0bcd, 0x0c00, 0x0c04, |
2299 | 0x0c81, 0x0cbc, 0x0cbf, 0x0cc6, 0x0d4d, 0x0dca, 0x0dd6, 0x0e31, |
2300 | 0x0eb1, 0x0ec6, 0x0f35, 0x0f37, 0x0f39, 0x0fc6, 0x1082, 0x108d, |
2301 | 0x109d, 0x10fc, 0x17c6, 0x17d7, 0x17dd, 0x1843, 0x18a9, 0x1932, |
2302 | 0x1a1b, 0x1a56, 0x1a60, 0x1a62, 0x1a7f, 0x1aa7, 0x1b34, 0x1b3c, |
2303 | 0x1b42, 0x1be6, 0x1bed, 0x1ced, 0x1cf4, 0x1d78, 0x1fbd, 0x2024, |
2304 | 0x2027, 0x2071, 0x207f, 0x2d6f, 0x2d7f, 0x2e2f, 0x3005, 0x303b, |
2305 | 0xa015, 0xa60c, 0xa67f, 0xa770, 0xa802, 0xa806, 0xa80b, 0xa8ff, |
2306 | 0xa9b3, 0xa9bc, 0xa9cf, 0xaa43, 0xaa4c, 0xaa70, 0xaa7c, 0xaab0, |
2307 | 0xaac1, 0xaadd, 0xaaf6, 0xabe5, 0xabe8, 0xabed, 0xfb1e, 0xfe13, |
2308 | 0xfe52, 0xfe55, 0xfeff, 0xff07, 0xff0e, 0xff1a, 0xff3e, 0xff40, |
2309 | 0xff70, 0xffe3, 0x101fd, 0x102e0, 0x10a3f, 0x11001, 0x110bd, 0x110cd, |
2310 | 0x11173, 0x11234, 0x1123e, 0x112df, 0x11340, 0x11446, 0x1145e, 0x114ba, |
2311 | 0x1163d, 0x116ab, 0x116ad, 0x116b7, 0x11a47, 0x11c3f, 0x11d3a, 0x11d47, |
2312 | 0x11d95, 0x11d97, 0x1da75, 0x1da84, 0xe0001}), |
2313 | std::initializer_list<CharacterRange>({{0x00b7, 0x00b8}, {0x02b0, 0x036f}, {0x0374, 0x0375}, {0x0384, 0x0385}, |
2314 | {0x0483, 0x0489}, {0x0591, 0x05bd}, {0x05c1, 0x05c2}, {0x05c4, 0x05c5}, |
2315 | {0x0600, 0x0605}, {0x0610, 0x061a}, {0x064b, 0x065f}, {0x06d6, 0x06dd}, |
2316 | {0x06df, 0x06e8}, {0x06ea, 0x06ed}, {0x0730, 0x074a}, {0x07a6, 0x07b0}, |
2317 | {0x07eb, 0x07f5}, {0x0816, 0x082d}, {0x0859, 0x085b}, {0x08d3, 0x0902}, |
2318 | {0x0941, 0x0948}, {0x0951, 0x0957}, {0x0962, 0x0963}, {0x09c1, 0x09c4}, |
2319 | {0x09e2, 0x09e3}, {0x0a01, 0x0a02}, {0x0a41, 0x0a42}, {0x0a47, 0x0a48}, |
2320 | {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a82}, {0x0ac1, 0x0ac5}, |
2321 | {0x0ac7, 0x0ac8}, {0x0ae2, 0x0ae3}, {0x0afa, 0x0aff}, {0x0b41, 0x0b44}, |
2322 | {0x0b62, 0x0b63}, {0x0c3e, 0x0c40}, {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, |
2323 | {0x0c55, 0x0c56}, {0x0c62, 0x0c63}, {0x0ccc, 0x0ccd}, {0x0ce2, 0x0ce3}, |
2324 | {0x0d00, 0x0d01}, {0x0d3b, 0x0d3c}, {0x0d41, 0x0d44}, {0x0d62, 0x0d63}, |
2325 | {0x0dd2, 0x0dd4}, {0x0e34, 0x0e3a}, {0x0e46, 0x0e4e}, {0x0eb4, 0x0eb9}, |
2326 | {0x0ebb, 0x0ebc}, {0x0ec8, 0x0ecd}, {0x0f18, 0x0f19}, {0x0f71, 0x0f7e}, |
2327 | {0x0f80, 0x0f84}, {0x0f86, 0x0f87}, {0x0f8d, 0x0f97}, {0x0f99, 0x0fbc}, |
2328 | {0x102d, 0x1030}, {0x1032, 0x1037}, {0x1039, 0x103a}, {0x103d, 0x103e}, |
2329 | {0x1058, 0x1059}, {0x105e, 0x1060}, {0x1071, 0x1074}, {0x1085, 0x1086}, |
2330 | {0x135d, 0x135f}, {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, |
2331 | {0x1772, 0x1773}, {0x17b4, 0x17b5}, {0x17b7, 0x17bd}, {0x17c9, 0x17d3}, |
2332 | {0x180b, 0x180e}, {0x1885, 0x1886}, {0x1920, 0x1922}, {0x1927, 0x1928}, |
2333 | {0x1939, 0x193b}, {0x1a17, 0x1a18}, {0x1a58, 0x1a5e}, {0x1a65, 0x1a6c}, |
2334 | {0x1a73, 0x1a7c}, {0x1ab0, 0x1abe}, {0x1b00, 0x1b03}, {0x1b36, 0x1b3a}, |
2335 | {0x1b6b, 0x1b73}, {0x1b80, 0x1b81}, {0x1ba2, 0x1ba5}, {0x1ba8, 0x1ba9}, |
2336 | {0x1bab, 0x1bad}, {0x1be8, 0x1be9}, {0x1bef, 0x1bf1}, {0x1c2c, 0x1c33}, |
2337 | {0x1c36, 0x1c37}, {0x1c78, 0x1c7d}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1ce0}, |
2338 | {0x1ce2, 0x1ce8}, {0x1cf8, 0x1cf9}, {0x1d2c, 0x1d6a}, {0x1d9b, 0x1df9}, |
2339 | {0x1dfb, 0x1dff}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf}, |
2340 | {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x200b, 0x200f}, {0x2018, 0x2019}, |
2341 | {0x202a, 0x202e}, {0x2060, 0x2064}, {0x2066, 0x206f}, {0x2090, 0x209c}, |
2342 | {0x20d0, 0x20f0}, {0x2c7c, 0x2c7d}, {0x2cef, 0x2cf1}, {0x2de0, 0x2dff}, |
2343 | {0x302a, 0x302d}, {0x3031, 0x3035}, {0x3099, 0x309e}, {0x30fc, 0x30fe}, |
2344 | {0xa4f8, 0xa4fd}, {0xa66f, 0xa672}, {0xa674, 0xa67d}, {0xa69c, 0xa69f}, |
2345 | {0xa6f0, 0xa6f1}, {0xa700, 0xa721}, {0xa788, 0xa78a}, {0xa7f8, 0xa7f9}, |
2346 | {0xa825, 0xa826}, {0xa8c4, 0xa8c5}, {0xa8e0, 0xa8f1}, {0xa926, 0xa92d}, |
2347 | {0xa947, 0xa951}, {0xa980, 0xa982}, {0xa9b6, 0xa9b9}, {0xa9e5, 0xa9e6}, |
2348 | {0xaa29, 0xaa2e}, {0xaa31, 0xaa32}, {0xaa35, 0xaa36}, {0xaab2, 0xaab4}, |
2349 | {0xaab7, 0xaab8}, {0xaabe, 0xaabf}, {0xaaec, 0xaaed}, {0xaaf3, 0xaaf4}, |
2350 | {0xab5b, 0xab5f}, {0xfbb2, 0xfbc1}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, |
2351 | {0xff9e, 0xff9f}, {0xfff9, 0xfffb}, {0x10376, 0x1037a}, {0x10a01, 0x10a03}, |
2352 | {0x10a05, 0x10a06}, {0x10a0c, 0x10a0f}, {0x10a38, 0x10a3a}, {0x10ae5, 0x10ae6}, |
2353 | {0x10d24, 0x10d27}, {0x10f46, 0x10f50}, {0x11038, 0x11046}, {0x1107f, 0x11081}, |
2354 | {0x110b3, 0x110b6}, {0x110b9, 0x110ba}, {0x11100, 0x11102}, {0x11127, 0x1112b}, |
2355 | {0x1112d, 0x11134}, {0x11180, 0x11181}, {0x111b6, 0x111be}, {0x111c9, 0x111cc}, |
2356 | {0x1122f, 0x11231}, {0x11236, 0x11237}, {0x112e3, 0x112ea}, {0x11300, 0x11301}, |
2357 | {0x1133b, 0x1133c}, {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11438, 0x1143f}, |
2358 | {0x11442, 0x11444}, {0x114b3, 0x114b8}, {0x114bf, 0x114c0}, {0x114c2, 0x114c3}, |
2359 | {0x115b2, 0x115b5}, {0x115bc, 0x115bd}, {0x115bf, 0x115c0}, {0x115dc, 0x115dd}, |
2360 | {0x11633, 0x1163a}, {0x1163f, 0x11640}, {0x116b0, 0x116b5}, {0x1171d, 0x1171f}, |
2361 | {0x11722, 0x11725}, {0x11727, 0x1172b}, {0x1182f, 0x11837}, {0x11839, 0x1183a}, |
2362 | {0x11a01, 0x11a0a}, {0x11a33, 0x11a38}, {0x11a3b, 0x11a3e}, {0x11a51, 0x11a56}, |
2363 | {0x11a59, 0x11a5b}, {0x11a8a, 0x11a96}, {0x11a98, 0x11a99}, {0x11c30, 0x11c36}, |
2364 | {0x11c38, 0x11c3d}, {0x11c92, 0x11ca7}, {0x11caa, 0x11cb0}, {0x11cb2, 0x11cb3}, |
2365 | {0x11cb5, 0x11cb6}, {0x11d31, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d45}, |
2366 | {0x11d90, 0x11d91}, {0x11ef3, 0x11ef4}, {0x16af0, 0x16af4}, {0x16b30, 0x16b36}, |
2367 | {0x16b40, 0x16b43}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x1bc9d, 0x1bc9e}, |
2368 | {0x1bca0, 0x1bca3}, {0x1d167, 0x1d169}, {0x1d173, 0x1d182}, {0x1d185, 0x1d18b}, |
2369 | {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, |
2370 | {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, |
2371 | {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e8d0, 0x1e8d6}, |
2372 | {0x1e944, 0x1e94a}, {0x1f3fb, 0x1f3ff}, {0xe0020, 0xe007f}, {0xe0100, 0xe01ef}}), |
2373 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2374 | return characterClass; |
2375 | } |
2376 | |
2377 | static std::unique_ptr<CharacterClass> createCharacterClass48() |
2378 | { |
2379 | // Name = Changes_When_Lowercased, number of codePoints: 1383 |
2380 | auto characterClass = std::make_unique<CharacterClass>( |
2381 | std::initializer_list<UChar32>({}), |
2382 | std::initializer_list<CharacterRange>({{0x41, 0x5a}}), |
2383 | std::initializer_list<UChar32>({0x0100, 0x0102, 0x0104, 0x0106, 0x0108, 0x010a, 0x010c, 0x010e, |
2384 | 0x0110, 0x0112, 0x0114, 0x0116, 0x0118, 0x011a, 0x011c, 0x011e, |
2385 | 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, |
2386 | 0x0130, 0x0132, 0x0134, 0x0136, 0x0139, 0x013b, 0x013d, 0x013f, |
2387 | 0x0141, 0x0143, 0x0145, 0x0147, 0x014a, 0x014c, 0x014e, 0x0150, |
2388 | 0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160, |
2389 | 0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170, |
2390 | 0x0172, 0x0174, 0x0176, 0x017b, 0x017d, 0x0184, 0x01a2, 0x01a4, |
2391 | 0x01a9, 0x01ac, 0x01b5, 0x01bc, 0x01cd, 0x01cf, 0x01d1, 0x01d3, |
2392 | 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x01de, 0x01e0, 0x01e2, 0x01e4, |
2393 | 0x01e6, 0x01e8, 0x01ea, 0x01ec, 0x01ee, 0x01f4, 0x01fa, 0x01fc, |
2394 | 0x01fe, 0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020a, 0x020c, |
2395 | 0x020e, 0x0210, 0x0212, 0x0214, 0x0216, 0x0218, 0x021a, 0x021c, |
2396 | 0x021e, 0x0220, 0x0222, 0x0224, 0x0226, 0x0228, 0x022a, 0x022c, |
2397 | 0x022e, 0x0230, 0x0232, 0x0241, 0x0248, 0x024a, 0x024c, 0x024e, |
2398 | 0x0370, 0x0372, 0x0376, 0x037f, 0x0386, 0x038c, 0x03cf, 0x03d8, |
2399 | 0x03da, 0x03dc, 0x03de, 0x03e0, 0x03e2, 0x03e4, 0x03e6, 0x03e8, |
2400 | 0x03ea, 0x03ec, 0x03ee, 0x03f4, 0x03f7, 0x0460, 0x0462, 0x0464, |
2401 | 0x0466, 0x0468, 0x046a, 0x046c, 0x046e, 0x0470, 0x0472, 0x0474, |
2402 | 0x0476, 0x0478, 0x047a, 0x047c, 0x047e, 0x0480, 0x048a, 0x048c, |
2403 | 0x048e, 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049a, 0x049c, |
2404 | 0x049e, 0x04a0, 0x04a2, 0x04a4, 0x04a6, 0x04a8, 0x04aa, 0x04ac, |
2405 | 0x04ae, 0x04b0, 0x04b2, 0x04b4, 0x04b6, 0x04b8, 0x04ba, 0x04bc, |
2406 | 0x04be, 0x04c3, 0x04c5, 0x04c7, 0x04c9, 0x04cb, 0x04cd, 0x04d0, |
2407 | 0x04d2, 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc, 0x04de, 0x04e0, |
2408 | 0x04e2, 0x04e4, 0x04e6, 0x04e8, 0x04ea, 0x04ec, 0x04ee, 0x04f0, |
2409 | 0x04f2, 0x04f4, 0x04f6, 0x04f8, 0x04fa, 0x04fc, 0x04fe, 0x0500, |
2410 | 0x0502, 0x0504, 0x0506, 0x0508, 0x050a, 0x050c, 0x050e, 0x0510, |
2411 | 0x0512, 0x0514, 0x0516, 0x0518, 0x051a, 0x051c, 0x051e, 0x0520, |
2412 | 0x0522, 0x0524, 0x0526, 0x0528, 0x052a, 0x052c, 0x052e, 0x10c7, |
2413 | 0x10cd, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, |
2414 | 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, |
2415 | 0x1e1e, 0x1e20, 0x1e22, 0x1e24, 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, |
2416 | 0x1e2e, 0x1e30, 0x1e32, 0x1e34, 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, |
2417 | 0x1e3e, 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, |
2418 | 0x1e4e, 0x1e50, 0x1e52, 0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, |
2419 | 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, |
2420 | 0x1e6e, 0x1e70, 0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, |
2421 | 0x1e7e, 0x1e80, 0x1e82, 0x1e84, 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, |
2422 | 0x1e8e, 0x1e90, 0x1e92, 0x1e94, 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, |
2423 | 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, |
2424 | 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, |
2425 | 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, |
2426 | 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, |
2427 | 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, |
2428 | 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, 0x1efe, 0x1f59, 0x1f5b, 0x1f5d, |
2429 | 0x1f5f, 0x2126, 0x2132, 0x2183, 0x2c60, 0x2c67, 0x2c69, 0x2c6b, |
2430 | 0x2c72, 0x2c75, 0x2c82, 0x2c84, 0x2c86, 0x2c88, 0x2c8a, 0x2c8c, |
2431 | 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, 0x2c9a, 0x2c9c, |
2432 | 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, 0x2caa, 0x2cac, |
2433 | 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, 0x2cba, 0x2cbc, |
2434 | 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, 0x2cca, 0x2ccc, |
2435 | 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, 0x2cda, 0x2cdc, |
2436 | 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, 0xa640, 0xa642, |
2437 | 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, 0xa650, 0xa652, |
2438 | 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, 0xa660, 0xa662, |
2439 | 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, 0xa682, 0xa684, |
2440 | 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, 0xa692, 0xa694, |
2441 | 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, 0xa728, 0xa72a, |
2442 | 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, 0xa73a, 0xa73c, |
2443 | 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, 0xa74a, 0xa74c, |
2444 | 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, 0xa75a, 0xa75c, |
2445 | 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, 0xa76a, 0xa76c, |
2446 | 0xa76e, 0xa779, 0xa77b, 0xa780, 0xa782, 0xa784, 0xa786, 0xa78b, |
2447 | 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a, 0xa79c, 0xa79e, |
2448 | 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7b6, 0xa7b8}), |
2449 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00de}, {0x0178, 0x0179}, {0x0181, 0x0182}, |
2450 | {0x0186, 0x0187}, {0x0189, 0x018b}, {0x018e, 0x0191}, {0x0193, 0x0194}, |
2451 | {0x0196, 0x0198}, {0x019c, 0x019d}, {0x019f, 0x01a0}, {0x01a6, 0x01a7}, |
2452 | {0x01ae, 0x01af}, {0x01b1, 0x01b3}, {0x01b7, 0x01b8}, {0x01c4, 0x01c5}, |
2453 | {0x01c7, 0x01c8}, {0x01ca, 0x01cb}, {0x01f1, 0x01f2}, {0x01f6, 0x01f8}, |
2454 | {0x023a, 0x023b}, {0x023d, 0x023e}, {0x0243, 0x0246}, {0x0388, 0x038a}, |
2455 | {0x038e, 0x038f}, {0x0391, 0x03a1}, {0x03a3, 0x03ab}, {0x03f9, 0x03fa}, |
2456 | {0x03fd, 0x042f}, {0x04c0, 0x04c1}, {0x0531, 0x0556}, {0x10a0, 0x10c5}, |
2457 | {0x13a0, 0x13f5}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1f08, 0x1f0f}, |
2458 | {0x1f18, 0x1f1d}, {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, |
2459 | {0x1f68, 0x1f6f}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f}, {0x1fa8, 0x1faf}, |
2460 | {0x1fb8, 0x1fbc}, {0x1fc8, 0x1fcc}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, |
2461 | {0x1ff8, 0x1ffc}, {0x212a, 0x212b}, {0x2160, 0x216f}, {0x24b6, 0x24cf}, |
2462 | {0x2c00, 0x2c2e}, {0x2c62, 0x2c64}, {0x2c6d, 0x2c70}, {0x2c7e, 0x2c80}, |
2463 | {0xa77d, 0xa77e}, {0xa7aa, 0xa7ae}, {0xa7b0, 0xa7b4}, {0xff21, 0xff3a}, |
2464 | {0x10400, 0x10427}, {0x104b0, 0x104d3}, {0x10c80, 0x10cb2}, {0x118a0, 0x118bf}, |
2465 | {0x16e40, 0x16e5f}, {0x1e900, 0x1e921}}), |
2466 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2467 | return characterClass; |
2468 | } |
2469 | |
2470 | static std::unique_ptr<CharacterClass> createCharacterClass49() |
2471 | { |
2472 | // Name = Changes_When_Uppercased, number of codePoints: 1475 |
2473 | auto characterClass = std::make_unique<CharacterClass>( |
2474 | std::initializer_list<UChar32>({}), |
2475 | std::initializer_list<CharacterRange>({{0x61, 0x7a}}), |
2476 | std::initializer_list<UChar32>({0x00b5, 0x0101, 0x0103, 0x0105, 0x0107, 0x0109, 0x010b, 0x010d, |
2477 | 0x010f, 0x0111, 0x0113, 0x0115, 0x0117, 0x0119, 0x011b, 0x011d, |
2478 | 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x012b, 0x012d, |
2479 | 0x012f, 0x0131, 0x0133, 0x0135, 0x0137, 0x013a, 0x013c, 0x013e, |
2480 | 0x0140, 0x0142, 0x0144, 0x0146, 0x014b, 0x014d, 0x014f, 0x0151, |
2481 | 0x0153, 0x0155, 0x0157, 0x0159, 0x015b, 0x015d, 0x015f, 0x0161, |
2482 | 0x0163, 0x0165, 0x0167, 0x0169, 0x016b, 0x016d, 0x016f, 0x0171, |
2483 | 0x0173, 0x0175, 0x0177, 0x017a, 0x017c, 0x0183, 0x0185, 0x0188, |
2484 | 0x018c, 0x0192, 0x0195, 0x019e, 0x01a1, 0x01a3, 0x01a5, 0x01a8, |
2485 | 0x01ad, 0x01b0, 0x01b4, 0x01b6, 0x01b9, 0x01bd, 0x01bf, 0x01ce, |
2486 | 0x01d0, 0x01d2, 0x01d4, 0x01d6, 0x01d8, 0x01da, 0x01df, 0x01e1, |
2487 | 0x01e3, 0x01e5, 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01f5, 0x01f9, |
2488 | 0x01fb, 0x01fd, 0x01ff, 0x0201, 0x0203, 0x0205, 0x0207, 0x0209, |
2489 | 0x020b, 0x020d, 0x020f, 0x0211, 0x0213, 0x0215, 0x0217, 0x0219, |
2490 | 0x021b, 0x021d, 0x021f, 0x0223, 0x0225, 0x0227, 0x0229, 0x022b, |
2491 | 0x022d, 0x022f, 0x0231, 0x0233, 0x023c, 0x0242, 0x0247, 0x0249, |
2492 | 0x024b, 0x024d, 0x0259, 0x0263, 0x026f, 0x0275, 0x027d, 0x0280, |
2493 | 0x0283, 0x0292, 0x0345, 0x0371, 0x0373, 0x0377, 0x0390, 0x03d9, |
2494 | 0x03db, 0x03dd, 0x03df, 0x03e1, 0x03e3, 0x03e5, 0x03e7, 0x03e9, |
2495 | 0x03eb, 0x03ed, 0x03f5, 0x03f8, 0x03fb, 0x0461, 0x0463, 0x0465, |
2496 | 0x0467, 0x0469, 0x046b, 0x046d, 0x046f, 0x0471, 0x0473, 0x0475, |
2497 | 0x0477, 0x0479, 0x047b, 0x047d, 0x047f, 0x0481, 0x048b, 0x048d, |
2498 | 0x048f, 0x0491, 0x0493, 0x0495, 0x0497, 0x0499, 0x049b, 0x049d, |
2499 | 0x049f, 0x04a1, 0x04a3, 0x04a5, 0x04a7, 0x04a9, 0x04ab, 0x04ad, |
2500 | 0x04af, 0x04b1, 0x04b3, 0x04b5, 0x04b7, 0x04b9, 0x04bb, 0x04bd, |
2501 | 0x04bf, 0x04c2, 0x04c4, 0x04c6, 0x04c8, 0x04ca, 0x04cc, 0x04d1, |
2502 | 0x04d3, 0x04d5, 0x04d7, 0x04d9, 0x04db, 0x04dd, 0x04df, 0x04e1, |
2503 | 0x04e3, 0x04e5, 0x04e7, 0x04e9, 0x04eb, 0x04ed, 0x04ef, 0x04f1, |
2504 | 0x04f3, 0x04f5, 0x04f7, 0x04f9, 0x04fb, 0x04fd, 0x04ff, 0x0501, |
2505 | 0x0503, 0x0505, 0x0507, 0x0509, 0x050b, 0x050d, 0x050f, 0x0511, |
2506 | 0x0513, 0x0515, 0x0517, 0x0519, 0x051b, 0x051d, 0x051f, 0x0521, |
2507 | 0x0523, 0x0525, 0x0527, 0x0529, 0x052b, 0x052d, 0x052f, 0x1d79, |
2508 | 0x1d7d, 0x1e01, 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b, 0x1e0d, |
2509 | 0x1e0f, 0x1e11, 0x1e13, 0x1e15, 0x1e17, 0x1e19, 0x1e1b, 0x1e1d, |
2510 | 0x1e1f, 0x1e21, 0x1e23, 0x1e25, 0x1e27, 0x1e29, 0x1e2b, 0x1e2d, |
2511 | 0x1e2f, 0x1e31, 0x1e33, 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d, |
2512 | 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47, 0x1e49, 0x1e4b, 0x1e4d, |
2513 | 0x1e4f, 0x1e51, 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b, 0x1e5d, |
2514 | 0x1e5f, 0x1e61, 0x1e63, 0x1e65, 0x1e67, 0x1e69, 0x1e6b, 0x1e6d, |
2515 | 0x1e6f, 0x1e71, 0x1e73, 0x1e75, 0x1e77, 0x1e79, 0x1e7b, 0x1e7d, |
2516 | 0x1e7f, 0x1e81, 0x1e83, 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d, |
2517 | 0x1e8f, 0x1e91, 0x1e93, 0x1ea1, 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, |
2518 | 0x1eab, 0x1ead, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1eb9, |
2519 | 0x1ebb, 0x1ebd, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9, |
2520 | 0x1ecb, 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9, |
2521 | 0x1edb, 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7, 0x1ee9, |
2522 | 0x1eeb, 0x1eed, 0x1eef, 0x1ef1, 0x1ef3, 0x1ef5, 0x1ef7, 0x1ef9, |
2523 | 0x1efb, 0x1efd, 0x1fbc, 0x1fbe, 0x1fcc, 0x1ffc, 0x214e, 0x2184, |
2524 | 0x2c61, 0x2c68, 0x2c6a, 0x2c6c, 0x2c73, 0x2c76, 0x2c81, 0x2c83, |
2525 | 0x2c85, 0x2c87, 0x2c89, 0x2c8b, 0x2c8d, 0x2c8f, 0x2c91, 0x2c93, |
2526 | 0x2c95, 0x2c97, 0x2c99, 0x2c9b, 0x2c9d, 0x2c9f, 0x2ca1, 0x2ca3, |
2527 | 0x2ca5, 0x2ca7, 0x2ca9, 0x2cab, 0x2cad, 0x2caf, 0x2cb1, 0x2cb3, |
2528 | 0x2cb5, 0x2cb7, 0x2cb9, 0x2cbb, 0x2cbd, 0x2cbf, 0x2cc1, 0x2cc3, |
2529 | 0x2cc5, 0x2cc7, 0x2cc9, 0x2ccb, 0x2ccd, 0x2ccf, 0x2cd1, 0x2cd3, |
2530 | 0x2cd5, 0x2cd7, 0x2cd9, 0x2cdb, 0x2cdd, 0x2cdf, 0x2ce1, 0x2ce3, |
2531 | 0x2cec, 0x2cee, 0x2cf3, 0x2d27, 0x2d2d, 0xa641, 0xa643, 0xa645, |
2532 | 0xa647, 0xa649, 0xa64b, 0xa64d, 0xa64f, 0xa651, 0xa653, 0xa655, |
2533 | 0xa657, 0xa659, 0xa65b, 0xa65d, 0xa65f, 0xa661, 0xa663, 0xa665, |
2534 | 0xa667, 0xa669, 0xa66b, 0xa66d, 0xa681, 0xa683, 0xa685, 0xa687, |
2535 | 0xa689, 0xa68b, 0xa68d, 0xa68f, 0xa691, 0xa693, 0xa695, 0xa697, |
2536 | 0xa699, 0xa69b, 0xa723, 0xa725, 0xa727, 0xa729, 0xa72b, 0xa72d, |
2537 | 0xa72f, 0xa733, 0xa735, 0xa737, 0xa739, 0xa73b, 0xa73d, 0xa73f, |
2538 | 0xa741, 0xa743, 0xa745, 0xa747, 0xa749, 0xa74b, 0xa74d, 0xa74f, |
2539 | 0xa751, 0xa753, 0xa755, 0xa757, 0xa759, 0xa75b, 0xa75d, 0xa75f, |
2540 | 0xa761, 0xa763, 0xa765, 0xa767, 0xa769, 0xa76b, 0xa76d, 0xa76f, |
2541 | 0xa77a, 0xa77c, 0xa77f, 0xa781, 0xa783, 0xa785, 0xa787, 0xa78c, |
2542 | 0xa791, 0xa793, 0xa797, 0xa799, 0xa79b, 0xa79d, 0xa79f, 0xa7a1, |
2543 | 0xa7a3, 0xa7a5, 0xa7a7, 0xa7a9, 0xa7b5, 0xa7b7, 0xa7b9, 0xab53}), |
2544 | std::initializer_list<CharacterRange>({{0x00df, 0x00f6}, {0x00f8, 0x00ff}, {0x0148, 0x0149}, {0x017e, 0x0180}, |
2545 | {0x0199, 0x019a}, {0x01c5, 0x01c6}, {0x01c8, 0x01c9}, {0x01cb, 0x01cc}, |
2546 | {0x01dc, 0x01dd}, {0x01ef, 0x01f0}, {0x01f2, 0x01f3}, {0x023f, 0x0240}, |
2547 | {0x024f, 0x0254}, {0x0256, 0x0257}, {0x025b, 0x025c}, {0x0260, 0x0261}, |
2548 | {0x0265, 0x0266}, {0x0268, 0x026c}, {0x0271, 0x0272}, {0x0287, 0x028c}, |
2549 | {0x029d, 0x029e}, {0x037b, 0x037d}, {0x03ac, 0x03ce}, {0x03d0, 0x03d1}, |
2550 | {0x03d5, 0x03d7}, {0x03ef, 0x03f3}, {0x0430, 0x045f}, {0x04ce, 0x04cf}, |
2551 | {0x0561, 0x0587}, {0x10d0, 0x10fa}, {0x10fd, 0x10ff}, {0x13f8, 0x13fd}, |
2552 | {0x1c80, 0x1c88}, {0x1e95, 0x1e9b}, {0x1eff, 0x1f07}, {0x1f10, 0x1f15}, |
2553 | {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, {0x1f50, 0x1f57}, |
2554 | {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fb7}, |
2555 | {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fd7}, |
2556 | {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7}, {0x2170, 0x217f}, |
2557 | {0x24d0, 0x24e9}, {0x2c30, 0x2c5e}, {0x2c65, 0x2c66}, {0x2d00, 0x2d25}, |
2558 | {0xab70, 0xabbf}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff41, 0xff5a}, |
2559 | {0x10428, 0x1044f}, {0x104d8, 0x104fb}, {0x10cc0, 0x10cf2}, {0x118c0, 0x118df}, |
2560 | {0x16e60, 0x16e7f}, {0x1e922, 0x1e943}}), |
2561 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2562 | return characterClass; |
2563 | } |
2564 | |
2565 | static std::unique_ptr<CharacterClass> createCharacterClass50() |
2566 | { |
2567 | // Name = Changes_When_Titlecased, number of codePoints: 1402 |
2568 | auto characterClass = std::make_unique<CharacterClass>( |
2569 | std::initializer_list<UChar32>({}), |
2570 | std::initializer_list<CharacterRange>({{0x61, 0x7a}}), |
2571 | std::initializer_list<UChar32>({0x00b5, 0x0101, 0x0103, 0x0105, 0x0107, 0x0109, 0x010b, 0x010d, |
2572 | 0x010f, 0x0111, 0x0113, 0x0115, 0x0117, 0x0119, 0x011b, 0x011d, |
2573 | 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x012b, 0x012d, |
2574 | 0x012f, 0x0131, 0x0133, 0x0135, 0x0137, 0x013a, 0x013c, 0x013e, |
2575 | 0x0140, 0x0142, 0x0144, 0x0146, 0x014b, 0x014d, 0x014f, 0x0151, |
2576 | 0x0153, 0x0155, 0x0157, 0x0159, 0x015b, 0x015d, 0x015f, 0x0161, |
2577 | 0x0163, 0x0165, 0x0167, 0x0169, 0x016b, 0x016d, 0x016f, 0x0171, |
2578 | 0x0173, 0x0175, 0x0177, 0x017a, 0x017c, 0x0183, 0x0185, 0x0188, |
2579 | 0x018c, 0x0192, 0x0195, 0x019e, 0x01a1, 0x01a3, 0x01a5, 0x01a8, |
2580 | 0x01ad, 0x01b0, 0x01b4, 0x01b6, 0x01b9, 0x01bd, 0x01bf, 0x01c4, |
2581 | 0x01cc, 0x01ce, 0x01d0, 0x01d2, 0x01d4, 0x01d6, 0x01d8, 0x01da, |
2582 | 0x01df, 0x01e1, 0x01e3, 0x01e5, 0x01e7, 0x01e9, 0x01eb, 0x01ed, |
2583 | 0x01f3, 0x01f5, 0x01f9, 0x01fb, 0x01fd, 0x01ff, 0x0201, 0x0203, |
2584 | 0x0205, 0x0207, 0x0209, 0x020b, 0x020d, 0x020f, 0x0211, 0x0213, |
2585 | 0x0215, 0x0217, 0x0219, 0x021b, 0x021d, 0x021f, 0x0223, 0x0225, |
2586 | 0x0227, 0x0229, 0x022b, 0x022d, 0x022f, 0x0231, 0x0233, 0x023c, |
2587 | 0x0242, 0x0247, 0x0249, 0x024b, 0x024d, 0x0259, 0x0263, 0x026f, |
2588 | 0x0275, 0x027d, 0x0280, 0x0283, 0x0292, 0x0345, 0x0371, 0x0373, |
2589 | 0x0377, 0x0390, 0x03d9, 0x03db, 0x03dd, 0x03df, 0x03e1, 0x03e3, |
2590 | 0x03e5, 0x03e7, 0x03e9, 0x03eb, 0x03ed, 0x03f5, 0x03f8, 0x03fb, |
2591 | 0x0461, 0x0463, 0x0465, 0x0467, 0x0469, 0x046b, 0x046d, 0x046f, |
2592 | 0x0471, 0x0473, 0x0475, 0x0477, 0x0479, 0x047b, 0x047d, 0x047f, |
2593 | 0x0481, 0x048b, 0x048d, 0x048f, 0x0491, 0x0493, 0x0495, 0x0497, |
2594 | 0x0499, 0x049b, 0x049d, 0x049f, 0x04a1, 0x04a3, 0x04a5, 0x04a7, |
2595 | 0x04a9, 0x04ab, 0x04ad, 0x04af, 0x04b1, 0x04b3, 0x04b5, 0x04b7, |
2596 | 0x04b9, 0x04bb, 0x04bd, 0x04bf, 0x04c2, 0x04c4, 0x04c6, 0x04c8, |
2597 | 0x04ca, 0x04cc, 0x04d1, 0x04d3, 0x04d5, 0x04d7, 0x04d9, 0x04db, |
2598 | 0x04dd, 0x04df, 0x04e1, 0x04e3, 0x04e5, 0x04e7, 0x04e9, 0x04eb, |
2599 | 0x04ed, 0x04ef, 0x04f1, 0x04f3, 0x04f5, 0x04f7, 0x04f9, 0x04fb, |
2600 | 0x04fd, 0x04ff, 0x0501, 0x0503, 0x0505, 0x0507, 0x0509, 0x050b, |
2601 | 0x050d, 0x050f, 0x0511, 0x0513, 0x0515, 0x0517, 0x0519, 0x051b, |
2602 | 0x051d, 0x051f, 0x0521, 0x0523, 0x0525, 0x0527, 0x0529, 0x052b, |
2603 | 0x052d, 0x052f, 0x1d79, 0x1d7d, 0x1e01, 0x1e03, 0x1e05, 0x1e07, |
2604 | 0x1e09, 0x1e0b, 0x1e0d, 0x1e0f, 0x1e11, 0x1e13, 0x1e15, 0x1e17, |
2605 | 0x1e19, 0x1e1b, 0x1e1d, 0x1e1f, 0x1e21, 0x1e23, 0x1e25, 0x1e27, |
2606 | 0x1e29, 0x1e2b, 0x1e2d, 0x1e2f, 0x1e31, 0x1e33, 0x1e35, 0x1e37, |
2607 | 0x1e39, 0x1e3b, 0x1e3d, 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47, |
2608 | 0x1e49, 0x1e4b, 0x1e4d, 0x1e4f, 0x1e51, 0x1e53, 0x1e55, 0x1e57, |
2609 | 0x1e59, 0x1e5b, 0x1e5d, 0x1e5f, 0x1e61, 0x1e63, 0x1e65, 0x1e67, |
2610 | 0x1e69, 0x1e6b, 0x1e6d, 0x1e6f, 0x1e71, 0x1e73, 0x1e75, 0x1e77, |
2611 | 0x1e79, 0x1e7b, 0x1e7d, 0x1e7f, 0x1e81, 0x1e83, 0x1e85, 0x1e87, |
2612 | 0x1e89, 0x1e8b, 0x1e8d, 0x1e8f, 0x1e91, 0x1e93, 0x1ea1, 0x1ea3, |
2613 | 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead, 0x1eaf, 0x1eb1, 0x1eb3, |
2614 | 0x1eb5, 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd, 0x1ebf, 0x1ec1, 0x1ec3, |
2615 | 0x1ec5, 0x1ec7, 0x1ec9, 0x1ecb, 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3, |
2616 | 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb, 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, |
2617 | 0x1ee5, 0x1ee7, 0x1ee9, 0x1eeb, 0x1eed, 0x1eef, 0x1ef1, 0x1ef3, |
2618 | 0x1ef5, 0x1ef7, 0x1ef9, 0x1efb, 0x1efd, 0x1fbe, 0x214e, 0x2184, |
2619 | 0x2c61, 0x2c68, 0x2c6a, 0x2c6c, 0x2c73, 0x2c76, 0x2c81, 0x2c83, |
2620 | 0x2c85, 0x2c87, 0x2c89, 0x2c8b, 0x2c8d, 0x2c8f, 0x2c91, 0x2c93, |
2621 | 0x2c95, 0x2c97, 0x2c99, 0x2c9b, 0x2c9d, 0x2c9f, 0x2ca1, 0x2ca3, |
2622 | 0x2ca5, 0x2ca7, 0x2ca9, 0x2cab, 0x2cad, 0x2caf, 0x2cb1, 0x2cb3, |
2623 | 0x2cb5, 0x2cb7, 0x2cb9, 0x2cbb, 0x2cbd, 0x2cbf, 0x2cc1, 0x2cc3, |
2624 | 0x2cc5, 0x2cc7, 0x2cc9, 0x2ccb, 0x2ccd, 0x2ccf, 0x2cd1, 0x2cd3, |
2625 | 0x2cd5, 0x2cd7, 0x2cd9, 0x2cdb, 0x2cdd, 0x2cdf, 0x2ce1, 0x2ce3, |
2626 | 0x2cec, 0x2cee, 0x2cf3, 0x2d27, 0x2d2d, 0xa641, 0xa643, 0xa645, |
2627 | 0xa647, 0xa649, 0xa64b, 0xa64d, 0xa64f, 0xa651, 0xa653, 0xa655, |
2628 | 0xa657, 0xa659, 0xa65b, 0xa65d, 0xa65f, 0xa661, 0xa663, 0xa665, |
2629 | 0xa667, 0xa669, 0xa66b, 0xa66d, 0xa681, 0xa683, 0xa685, 0xa687, |
2630 | 0xa689, 0xa68b, 0xa68d, 0xa68f, 0xa691, 0xa693, 0xa695, 0xa697, |
2631 | 0xa699, 0xa69b, 0xa723, 0xa725, 0xa727, 0xa729, 0xa72b, 0xa72d, |
2632 | 0xa72f, 0xa733, 0xa735, 0xa737, 0xa739, 0xa73b, 0xa73d, 0xa73f, |
2633 | 0xa741, 0xa743, 0xa745, 0xa747, 0xa749, 0xa74b, 0xa74d, 0xa74f, |
2634 | 0xa751, 0xa753, 0xa755, 0xa757, 0xa759, 0xa75b, 0xa75d, 0xa75f, |
2635 | 0xa761, 0xa763, 0xa765, 0xa767, 0xa769, 0xa76b, 0xa76d, 0xa76f, |
2636 | 0xa77a, 0xa77c, 0xa77f, 0xa781, 0xa783, 0xa785, 0xa787, 0xa78c, |
2637 | 0xa791, 0xa793, 0xa797, 0xa799, 0xa79b, 0xa79d, 0xa79f, 0xa7a1, |
2638 | 0xa7a3, 0xa7a5, 0xa7a7, 0xa7a9, 0xa7b5, 0xa7b7, 0xa7b9, 0xab53}), |
2639 | std::initializer_list<CharacterRange>({{0x00df, 0x00f6}, {0x00f8, 0x00ff}, {0x0148, 0x0149}, {0x017e, 0x0180}, |
2640 | {0x0199, 0x019a}, {0x01c6, 0x01c7}, {0x01c9, 0x01ca}, {0x01dc, 0x01dd}, |
2641 | {0x01ef, 0x01f1}, {0x023f, 0x0240}, {0x024f, 0x0254}, {0x0256, 0x0257}, |
2642 | {0x025b, 0x025c}, {0x0260, 0x0261}, {0x0265, 0x0266}, {0x0268, 0x026c}, |
2643 | {0x0271, 0x0272}, {0x0287, 0x028c}, {0x029d, 0x029e}, {0x037b, 0x037d}, |
2644 | {0x03ac, 0x03ce}, {0x03d0, 0x03d1}, {0x03d5, 0x03d7}, {0x03ef, 0x03f3}, |
2645 | {0x0430, 0x045f}, {0x04ce, 0x04cf}, {0x0561, 0x0587}, {0x13f8, 0x13fd}, |
2646 | {0x1c80, 0x1c88}, {0x1e95, 0x1e9b}, {0x1eff, 0x1f07}, {0x1f10, 0x1f15}, |
2647 | {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, {0x1f50, 0x1f57}, |
2648 | {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1f87}, {0x1f90, 0x1f97}, |
2649 | {0x1fa0, 0x1fa7}, {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7}, {0x1fc2, 0x1fc4}, |
2650 | {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, |
2651 | {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7}, {0x2170, 0x217f}, {0x24d0, 0x24e9}, |
2652 | {0x2c30, 0x2c5e}, {0x2c65, 0x2c66}, {0x2d00, 0x2d25}, {0xab70, 0xabbf}, |
2653 | {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff41, 0xff5a}, {0x10428, 0x1044f}, |
2654 | {0x104d8, 0x104fb}, {0x10cc0, 0x10cf2}, {0x118c0, 0x118df}, {0x16e60, 0x16e7f}, |
2655 | {0x1e922, 0x1e943}}), |
2656 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2657 | return characterClass; |
2658 | } |
2659 | |
2660 | static std::unique_ptr<CharacterClass> createCharacterClass51() |
2661 | { |
2662 | // Name = Changes_When_Casefolded, number of codePoints: 1456 |
2663 | auto characterClass = std::make_unique<CharacterClass>( |
2664 | std::initializer_list<UChar32>({}), |
2665 | std::initializer_list<CharacterRange>({{0x41, 0x5a}}), |
2666 | std::initializer_list<UChar32>({0x00b5, 0x0100, 0x0102, 0x0104, 0x0106, 0x0108, 0x010a, 0x010c, |
2667 | 0x010e, 0x0110, 0x0112, 0x0114, 0x0116, 0x0118, 0x011a, 0x011c, |
2668 | 0x011e, 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x012a, 0x012c, |
2669 | 0x012e, 0x0130, 0x0132, 0x0134, 0x0136, 0x0139, 0x013b, 0x013d, |
2670 | 0x013f, 0x0141, 0x0143, 0x0145, 0x0147, 0x014c, 0x014e, 0x0150, |
2671 | 0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160, |
2672 | 0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170, |
2673 | 0x0172, 0x0174, 0x0176, 0x017b, 0x017d, 0x017f, 0x0184, 0x01a2, |
2674 | 0x01a4, 0x01a9, 0x01ac, 0x01b5, 0x01bc, 0x01cd, 0x01cf, 0x01d1, |
2675 | 0x01d3, 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x01de, 0x01e0, 0x01e2, |
2676 | 0x01e4, 0x01e6, 0x01e8, 0x01ea, 0x01ec, 0x01ee, 0x01f4, 0x01fa, |
2677 | 0x01fc, 0x01fe, 0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020a, |
2678 | 0x020c, 0x020e, 0x0210, 0x0212, 0x0214, 0x0216, 0x0218, 0x021a, |
2679 | 0x021c, 0x021e, 0x0220, 0x0222, 0x0224, 0x0226, 0x0228, 0x022a, |
2680 | 0x022c, 0x022e, 0x0230, 0x0232, 0x0241, 0x0248, 0x024a, 0x024c, |
2681 | 0x024e, 0x0345, 0x0370, 0x0372, 0x0376, 0x037f, 0x0386, 0x038c, |
2682 | 0x03c2, 0x03d8, 0x03da, 0x03dc, 0x03de, 0x03e0, 0x03e2, 0x03e4, |
2683 | 0x03e6, 0x03e8, 0x03ea, 0x03ec, 0x03ee, 0x03f7, 0x0460, 0x0462, |
2684 | 0x0464, 0x0466, 0x0468, 0x046a, 0x046c, 0x046e, 0x0470, 0x0472, |
2685 | 0x0474, 0x0476, 0x0478, 0x047a, 0x047c, 0x047e, 0x0480, 0x048a, |
2686 | 0x048c, 0x048e, 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049a, |
2687 | 0x049c, 0x049e, 0x04a0, 0x04a2, 0x04a4, 0x04a6, 0x04a8, 0x04aa, |
2688 | 0x04ac, 0x04ae, 0x04b0, 0x04b2, 0x04b4, 0x04b6, 0x04b8, 0x04ba, |
2689 | 0x04bc, 0x04be, 0x04c3, 0x04c5, 0x04c7, 0x04c9, 0x04cb, 0x04cd, |
2690 | 0x04d0, 0x04d2, 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc, 0x04de, |
2691 | 0x04e0, 0x04e2, 0x04e4, 0x04e6, 0x04e8, 0x04ea, 0x04ec, 0x04ee, |
2692 | 0x04f0, 0x04f2, 0x04f4, 0x04f6, 0x04f8, 0x04fa, 0x04fc, 0x04fe, |
2693 | 0x0500, 0x0502, 0x0504, 0x0506, 0x0508, 0x050a, 0x050c, 0x050e, |
2694 | 0x0510, 0x0512, 0x0514, 0x0516, 0x0518, 0x051a, 0x051c, 0x051e, |
2695 | 0x0520, 0x0522, 0x0524, 0x0526, 0x0528, 0x052a, 0x052c, 0x052e, |
2696 | 0x0587, 0x10c7, 0x10cd, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, |
2697 | 0x1e0a, 0x1e0c, 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16, 0x1e18, |
2698 | 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20, 0x1e22, 0x1e24, 0x1e26, 0x1e28, |
2699 | 0x1e2a, 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34, 0x1e36, 0x1e38, |
2700 | 0x1e3a, 0x1e3c, 0x1e3e, 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48, |
2701 | 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52, 0x1e54, 0x1e56, 0x1e58, |
2702 | 0x1e5a, 0x1e5c, 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66, 0x1e68, |
2703 | 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70, 0x1e72, 0x1e74, 0x1e76, 0x1e78, |
2704 | 0x1e7a, 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84, 0x1e86, 0x1e88, |
2705 | 0x1e8a, 0x1e8c, 0x1e8e, 0x1e90, 0x1e92, 0x1e94, 0x1e9e, 0x1ea0, |
2706 | 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, 0x1eae, 0x1eb0, |
2707 | 0x1eb2, 0x1eb4, 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe, 0x1ec0, |
2708 | 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, |
2709 | 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, 0x1ede, 0x1ee0, |
2710 | 0x1ee2, 0x1ee4, 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0, |
2711 | 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, 0x1efe, 0x1f59, |
2712 | 0x1f5b, 0x1f5d, 0x1f5f, 0x2126, 0x2132, 0x2183, 0x2c60, 0x2c67, |
2713 | 0x2c69, 0x2c6b, 0x2c72, 0x2c75, 0x2c82, 0x2c84, 0x2c86, 0x2c88, |
2714 | 0x2c8a, 0x2c8c, 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, |
2715 | 0x2c9a, 0x2c9c, 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, |
2716 | 0x2caa, 0x2cac, 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, |
2717 | 0x2cba, 0x2cbc, 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, |
2718 | 0x2cca, 0x2ccc, 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, |
2719 | 0x2cda, 0x2cdc, 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, |
2720 | 0xa640, 0xa642, 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, |
2721 | 0xa650, 0xa652, 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, |
2722 | 0xa660, 0xa662, 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, |
2723 | 0xa682, 0xa684, 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, |
2724 | 0xa692, 0xa694, 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, |
2725 | 0xa728, 0xa72a, 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, |
2726 | 0xa73a, 0xa73c, 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, |
2727 | 0xa74a, 0xa74c, 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, |
2728 | 0xa75a, 0xa75c, 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, |
2729 | 0xa76a, 0xa76c, 0xa76e, 0xa779, 0xa77b, 0xa780, 0xa782, 0xa784, |
2730 | 0xa786, 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a, |
2731 | 0xa79c, 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7b6, |
2732 | 0xa7b8}), |
2733 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00df}, {0x0149, 0x014a}, {0x0178, 0x0179}, |
2734 | {0x0181, 0x0182}, {0x0186, 0x0187}, {0x0189, 0x018b}, {0x018e, 0x0191}, |
2735 | {0x0193, 0x0194}, {0x0196, 0x0198}, {0x019c, 0x019d}, {0x019f, 0x01a0}, |
2736 | {0x01a6, 0x01a7}, {0x01ae, 0x01af}, {0x01b1, 0x01b3}, {0x01b7, 0x01b8}, |
2737 | {0x01c4, 0x01c5}, {0x01c7, 0x01c8}, {0x01ca, 0x01cb}, {0x01f1, 0x01f2}, |
2738 | {0x01f6, 0x01f8}, {0x023a, 0x023b}, {0x023d, 0x023e}, {0x0243, 0x0246}, |
2739 | {0x0388, 0x038a}, {0x038e, 0x038f}, {0x0391, 0x03a1}, {0x03a3, 0x03ab}, |
2740 | {0x03cf, 0x03d1}, {0x03d5, 0x03d6}, {0x03f0, 0x03f1}, {0x03f4, 0x03f5}, |
2741 | {0x03f9, 0x03fa}, {0x03fd, 0x042f}, {0x04c0, 0x04c1}, {0x0531, 0x0556}, |
2742 | {0x10a0, 0x10c5}, {0x13f8, 0x13fd}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, |
2743 | {0x1cbd, 0x1cbf}, {0x1e9a, 0x1e9b}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, |
2744 | {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f68, 0x1f6f}, |
2745 | {0x1f80, 0x1faf}, {0x1fb2, 0x1fb4}, {0x1fb7, 0x1fbc}, {0x1fc2, 0x1fc4}, |
2746 | {0x1fc7, 0x1fcc}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, {0x1ff2, 0x1ff4}, |
2747 | {0x1ff7, 0x1ffc}, {0x212a, 0x212b}, {0x2160, 0x216f}, {0x24b6, 0x24cf}, |
2748 | {0x2c00, 0x2c2e}, {0x2c62, 0x2c64}, {0x2c6d, 0x2c70}, {0x2c7e, 0x2c80}, |
2749 | {0xa77d, 0xa77e}, {0xa7aa, 0xa7ae}, {0xa7b0, 0xa7b4}, {0xab70, 0xabbf}, |
2750 | {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xff21, 0xff3a}, {0x10400, 0x10427}, |
2751 | {0x104b0, 0x104d3}, {0x10c80, 0x10cb2}, {0x118a0, 0x118bf}, {0x16e40, 0x16e5f}, |
2752 | {0x1e900, 0x1e921}}), |
2753 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2754 | return characterClass; |
2755 | } |
2756 | |
2757 | static std::unique_ptr<CharacterClass> createCharacterClass52() |
2758 | { |
2759 | // Name = Changes_When_Casemapped, number of codePoints: 2827 |
2760 | auto characterClass = std::make_unique<CharacterClass>( |
2761 | std::initializer_list<UChar32>({}), |
2762 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
2763 | std::initializer_list<UChar32>({0x00b5, 0x01bf, 0x0259, 0x0263, 0x026f, 0x0275, 0x027d, 0x0280, |
2764 | 0x0283, 0x0292, 0x0345, 0x037f, 0x0386, 0x038c, 0x10c7, 0x10cd, |
2765 | 0x1d79, 0x1d7d, 0x1e9e, 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, 0x2126, |
2766 | 0x2132, 0x214e, 0x2d27, 0x2d2d, 0xab53}), |
2767 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x0137}, {0x0139, 0x018c}, |
2768 | {0x018e, 0x019a}, {0x019c, 0x01a9}, {0x01ac, 0x01b9}, {0x01bc, 0x01bd}, |
2769 | {0x01c4, 0x0220}, {0x0222, 0x0233}, {0x023a, 0x0254}, {0x0256, 0x0257}, |
2770 | {0x025b, 0x025c}, {0x0260, 0x0261}, {0x0265, 0x0266}, {0x0268, 0x026c}, |
2771 | {0x0271, 0x0272}, {0x0287, 0x028c}, {0x029d, 0x029e}, {0x0370, 0x0373}, |
2772 | {0x0376, 0x0377}, {0x037b, 0x037d}, {0x0388, 0x038a}, {0x038e, 0x03a1}, |
2773 | {0x03a3, 0x03d1}, {0x03d5, 0x03f5}, {0x03f7, 0x03fb}, {0x03fd, 0x0481}, |
2774 | {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0561, 0x0587}, {0x10a0, 0x10c5}, |
2775 | {0x10d0, 0x10fa}, {0x10fd, 0x10ff}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, |
2776 | {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1e00, 0x1e9b}, |
2777 | {0x1ea0, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, |
2778 | {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, |
2779 | {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, |
2780 | {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x212a, 0x212b}, |
2781 | {0x2160, 0x217f}, {0x2183, 0x2184}, {0x24b6, 0x24e9}, {0x2c00, 0x2c2e}, |
2782 | {0x2c30, 0x2c5e}, {0x2c60, 0x2c70}, {0x2c72, 0x2c73}, {0x2c75, 0x2c76}, |
2783 | {0x2c7e, 0x2ce3}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, |
2784 | {0xa640, 0xa66d}, {0xa680, 0xa69b}, {0xa722, 0xa72f}, {0xa732, 0xa76f}, |
2785 | {0xa779, 0xa787}, {0xa78b, 0xa78d}, {0xa790, 0xa793}, {0xa796, 0xa7ae}, |
2786 | {0xa7b0, 0xa7b9}, {0xab70, 0xabbf}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, |
2787 | {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0x10400, 0x1044f}, {0x104b0, 0x104d3}, |
2788 | {0x104d8, 0x104fb}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x118a0, 0x118df}, |
2789 | {0x16e40, 0x16e7f}, {0x1e900, 0x1e943}}), |
2790 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2791 | return characterClass; |
2792 | } |
2793 | |
2794 | static std::unique_ptr<CharacterClass> createCharacterClass53() |
2795 | { |
2796 | // Name = ID_Start, number of codePoints: 125660 |
2797 | auto characterClass = std::make_unique<CharacterClass>( |
2798 | std::initializer_list<UChar32>({}), |
2799 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
2800 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x02ec, 0x02ee, 0x037f, 0x0386, 0x038c, |
2801 | 0x0559, 0x06d5, 0x06ff, 0x0710, 0x07b1, 0x07fa, 0x081a, 0x0824, |
2802 | 0x0828, 0x093d, 0x0950, 0x09b2, 0x09bd, 0x09ce, 0x09fc, 0x0a5e, |
2803 | 0x0abd, 0x0ad0, 0x0af9, 0x0b3d, 0x0b71, 0x0b83, 0x0b9c, 0x0bd0, |
2804 | 0x0c3d, 0x0c80, 0x0cbd, 0x0cde, 0x0d3d, 0x0d4e, 0x0dbd, 0x0e84, |
2805 | 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, 0x0ebd, 0x0ec6, 0x0f00, 0x103f, |
2806 | 0x1061, 0x108e, 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x17d7, 0x17dc, |
2807 | 0x18aa, 0x1aa7, 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, 0x2071, 0x207f, |
2808 | 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214e, 0x2d27, |
2809 | 0x2d2d, 0x2d6f, 0xa8fb, 0xa9cf, 0xaa7a, 0xaab1, 0xaac0, 0xaac2, |
2810 | 0xfb1d, 0xfb3e, 0x10808, 0x1083c, 0x10a00, 0x10f27, 0x11144, 0x11176, |
2811 | 0x111da, 0x111dc, 0x11288, 0x1133d, 0x11350, 0x114c7, 0x11644, 0x118ff, |
2812 | 0x11a00, 0x11a3a, 0x11a50, 0x11a9d, 0x11c40, 0x11d46, 0x11d98, 0x16f50, |
2813 | 0x1d4a2, 0x1d4bb, 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, |
2814 | 0x1ee47, 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, |
2815 | 0x1ee5f, 0x1ee64, 0x1ee7e}), |
2816 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
2817 | {0x02e0, 0x02e4}, {0x0370, 0x0374}, {0x0376, 0x0377}, {0x037a, 0x037d}, |
2818 | {0x0388, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
2819 | {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, {0x05d0, 0x05ea}, |
2820 | {0x05ef, 0x05f2}, {0x0620, 0x064a}, {0x066e, 0x066f}, {0x0671, 0x06d3}, |
2821 | {0x06e5, 0x06e6}, {0x06ee, 0x06ef}, {0x06fa, 0x06fc}, {0x0712, 0x072f}, |
2822 | {0x074d, 0x07a5}, {0x07ca, 0x07ea}, {0x07f4, 0x07f5}, {0x0800, 0x0815}, |
2823 | {0x0840, 0x0858}, {0x0860, 0x086a}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, |
2824 | {0x0904, 0x0939}, {0x0958, 0x0961}, {0x0971, 0x0980}, {0x0985, 0x098c}, |
2825 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
2826 | {0x09dc, 0x09dd}, {0x09df, 0x09e1}, {0x09f0, 0x09f1}, {0x0a05, 0x0a0a}, |
2827 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
2828 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a59, 0x0a5c}, {0x0a72, 0x0a74}, |
2829 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
2830 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0ae0, 0x0ae1}, {0x0b05, 0x0b0c}, |
2831 | {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, |
2832 | {0x0b35, 0x0b39}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b61}, {0x0b85, 0x0b8a}, |
2833 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
2834 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0c05, 0x0c0c}, |
2835 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c58, 0x0c5a}, |
2836 | {0x0c60, 0x0c61}, {0x0c85, 0x0c8c}, {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, |
2837 | {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0ce0, 0x0ce1}, {0x0cf1, 0x0cf2}, |
2838 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d3a}, {0x0d54, 0x0d56}, |
2839 | {0x0d5f, 0x0d61}, {0x0d7a, 0x0d7f}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
2840 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0e01, 0x0e30}, {0x0e32, 0x0e33}, |
2841 | {0x0e40, 0x0e46}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
2842 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb0}, |
2843 | {0x0eb2, 0x0eb3}, {0x0ec0, 0x0ec4}, {0x0edc, 0x0edf}, {0x0f40, 0x0f47}, |
2844 | {0x0f49, 0x0f6c}, {0x0f88, 0x0f8c}, {0x1000, 0x102a}, {0x1050, 0x1055}, |
2845 | {0x105a, 0x105d}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, |
2846 | {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, |
2847 | {0x1250, 0x1256}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, |
2848 | {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c2, 0x12c5}, |
2849 | {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, |
2850 | {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, |
2851 | {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, |
2852 | {0x1700, 0x170c}, {0x170e, 0x1711}, {0x1720, 0x1731}, {0x1740, 0x1751}, |
2853 | {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x1820, 0x1878}, |
2854 | {0x1880, 0x18a8}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, |
2855 | {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, |
2856 | {0x1a20, 0x1a54}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4b}, {0x1b83, 0x1ba0}, |
2857 | {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, |
2858 | {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, |
2859 | {0x1ce9, 0x1cec}, {0x1cee, 0x1cf1}, {0x1cf5, 0x1cf6}, {0x1d00, 0x1dbf}, |
2860 | {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, |
2861 | {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, |
2862 | {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, |
2863 | {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2090, 0x209c}, |
2864 | {0x210a, 0x2113}, {0x2118, 0x211d}, {0x212a, 0x2139}, {0x213c, 0x213f}, |
2865 | {0x2145, 0x2149}, {0x2160, 0x2188}, {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, |
2866 | {0x2c60, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, |
2867 | {0x2d30, 0x2d67}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, |
2868 | {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, |
2869 | {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3005, 0x3007}, {0x3021, 0x3029}, |
2870 | {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, {0x309b, 0x309f}, |
2871 | {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, |
2872 | {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, {0x3400, 0x4db5}, {0x4e00, 0x9fef}, |
2873 | {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa61f}, |
2874 | {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, |
2875 | {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7b9}, {0xa7f7, 0xa801}, |
2876 | {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873}, |
2877 | {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, |
2878 | {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2}, {0xa9e0, 0xa9e4}, |
2879 | {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, |
2880 | {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7e, 0xaaaf}, {0xaab5, 0xaab6}, |
2881 | {0xaab9, 0xaabd}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, |
2882 | {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, |
2883 | {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab65}, {0xab70, 0xabe2}, |
2884 | {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, |
2885 | {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1f, 0xfb28}, |
2886 | {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, |
2887 | {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, |
2888 | {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff21, 0xff3a}, |
2889 | {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, |
2890 | {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, |
2891 | {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, |
2892 | {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, |
2893 | {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, |
2894 | {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, |
2895 | {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, |
2896 | {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, |
2897 | {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, |
2898 | {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, |
2899 | {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a10, 0x10a13}, |
2900 | {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, |
2901 | {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, |
2902 | {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, |
2903 | {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10f00, 0x10f1c}, {0x10f30, 0x10f45}, |
2904 | {0x11003, 0x11037}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, |
2905 | {0x11150, 0x11172}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x11200, 0x11211}, |
2906 | {0x11213, 0x1122b}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, |
2907 | {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, |
2908 | {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, |
2909 | {0x1135d, 0x11361}, {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x11480, 0x114af}, |
2910 | {0x114c4, 0x114c5}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, |
2911 | {0x11680, 0x116aa}, {0x11700, 0x1171a}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, |
2912 | {0x11a0b, 0x11a32}, {0x11a5c, 0x11a83}, {0x11a86, 0x11a89}, {0x11ac0, 0x11af8}, |
2913 | {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, |
2914 | {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, |
2915 | {0x11d6a, 0x11d89}, {0x11ee0, 0x11ef2}, {0x12000, 0x12399}, {0x12400, 0x1246e}, |
2916 | {0x12480, 0x12543}, {0x13000, 0x1342e}, {0x14400, 0x14646}, {0x16800, 0x16a38}, |
2917 | {0x16a40, 0x16a5e}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, |
2918 | {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f44}, |
2919 | {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, {0x18800, 0x18af2}, |
2920 | {0x1b000, 0x1b11e}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, |
2921 | {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
2922 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
2923 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
2924 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
2925 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, |
2926 | {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, |
2927 | {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, |
2928 | {0x1d7c4, 0x1d7cb}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1ee00, 0x1ee03}, |
2929 | {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, |
2930 | {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, |
2931 | {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, |
2932 | {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, |
2933 | {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, |
2934 | {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}}), |
2935 | CharacterClassWidths::HasBothBMPAndNonBMP); |
2936 | return characterClass; |
2937 | } |
2938 | |
2939 | static std::unique_ptr<CharacterClass> createCharacterClass54() |
2940 | { |
2941 | // Name = ID_Continue, number of codePoints: 128510 |
2942 | auto characterClass = std::make_unique<CharacterClass>( |
2943 | std::initializer_list<UChar32>({0x5f}), |
2944 | std::initializer_list<CharacterRange>({{0x30, 0x39}, {0x41, 0x5a}, {0x61, 0x7a}}), |
2945 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00b7, 0x00ba, 0x02ec, 0x02ee, 0x037f, 0x038c, |
2946 | 0x0559, 0x05bf, 0x05c7, 0x06ff, 0x07fa, 0x07fd, 0x09b2, 0x09d7, |
2947 | 0x09fc, 0x09fe, 0x0a3c, 0x0a51, 0x0a5e, 0x0ad0, 0x0b71, 0x0b9c, |
2948 | 0x0bd0, 0x0bd7, 0x0cde, 0x0dbd, 0x0dca, 0x0dd6, 0x0e84, 0x0e8a, |
2949 | 0x0e8d, 0x0ea5, 0x0ea7, 0x0ec6, 0x0f00, 0x0f35, 0x0f37, 0x0f39, |
2950 | 0x0fc6, 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x17d7, 0x1aa7, 0x1f59, |
2951 | 0x1f5b, 0x1f5d, 0x1fbe, 0x2054, 0x2071, 0x207f, 0x20e1, 0x2102, |
2952 | 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214e, 0x2d27, 0x2d2d, |
2953 | 0x2d6f, 0xa8fb, 0xfb3e, 0xff3f, 0x101fd, 0x102e0, 0x10808, 0x1083c, |
2954 | 0x10a3f, 0x10f27, 0x11176, 0x111dc, 0x1123e, 0x11288, 0x11350, 0x11357, |
2955 | 0x1145e, 0x114c7, 0x11644, 0x118ff, 0x11a47, 0x11a9d, 0x11d3a, 0x1d4a2, |
2956 | 0x1d4bb, 0x1d546, 0x1da75, 0x1da84, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, |
2957 | 0x1ee42, 0x1ee47, 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, |
2958 | 0x1ee5d, 0x1ee5f, 0x1ee64, 0x1ee7e}), |
2959 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
2960 | {0x02e0, 0x02e4}, {0x0300, 0x0374}, {0x0376, 0x0377}, {0x037a, 0x037d}, |
2961 | {0x0386, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
2962 | {0x0483, 0x0487}, {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, |
2963 | {0x0591, 0x05bd}, {0x05c1, 0x05c2}, {0x05c4, 0x05c5}, {0x05d0, 0x05ea}, |
2964 | {0x05ef, 0x05f2}, {0x0610, 0x061a}, {0x0620, 0x0669}, {0x066e, 0x06d3}, |
2965 | {0x06d5, 0x06dc}, {0x06df, 0x06e8}, {0x06ea, 0x06fc}, {0x0710, 0x074a}, |
2966 | {0x074d, 0x07b1}, {0x07c0, 0x07f5}, {0x0800, 0x082d}, {0x0840, 0x085b}, |
2967 | {0x0860, 0x086a}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d3, 0x08e1}, |
2968 | {0x08e3, 0x0963}, {0x0966, 0x096f}, {0x0971, 0x0983}, {0x0985, 0x098c}, |
2969 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
2970 | {0x09bc, 0x09c4}, {0x09c7, 0x09c8}, {0x09cb, 0x09ce}, {0x09dc, 0x09dd}, |
2971 | {0x09df, 0x09e3}, {0x09e6, 0x09f1}, {0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, |
2972 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
2973 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, |
2974 | {0x0a4b, 0x0a4d}, {0x0a59, 0x0a5c}, {0x0a66, 0x0a75}, {0x0a81, 0x0a83}, |
2975 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
2976 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0abc, 0x0ac5}, {0x0ac7, 0x0ac9}, |
2977 | {0x0acb, 0x0acd}, {0x0ae0, 0x0ae3}, {0x0ae6, 0x0aef}, {0x0af9, 0x0aff}, |
2978 | {0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, |
2979 | {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b3c, 0x0b44}, |
2980 | {0x0b47, 0x0b48}, {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b5c, 0x0b5d}, |
2981 | {0x0b5f, 0x0b63}, {0x0b66, 0x0b6f}, {0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, |
2982 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
2983 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, |
2984 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0be6, 0x0bef}, {0x0c00, 0x0c0c}, |
2985 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c3d, 0x0c44}, |
2986 | {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c58, 0x0c5a}, |
2987 | {0x0c60, 0x0c63}, {0x0c66, 0x0c6f}, {0x0c80, 0x0c83}, {0x0c85, 0x0c8c}, |
2988 | {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, |
2989 | {0x0cbc, 0x0cc4}, {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, |
2990 | {0x0ce0, 0x0ce3}, {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}, {0x0d00, 0x0d03}, |
2991 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d44}, {0x0d46, 0x0d48}, |
2992 | {0x0d4a, 0x0d4e}, {0x0d54, 0x0d57}, {0x0d5f, 0x0d63}, {0x0d66, 0x0d6f}, |
2993 | {0x0d7a, 0x0d7f}, {0x0d82, 0x0d83}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
2994 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, |
2995 | {0x0de6, 0x0def}, {0x0df2, 0x0df3}, {0x0e01, 0x0e3a}, {0x0e40, 0x0e4e}, |
2996 | {0x0e50, 0x0e59}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
2997 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb9}, |
2998 | {0x0ebb, 0x0ebd}, {0x0ec0, 0x0ec4}, {0x0ec8, 0x0ecd}, {0x0ed0, 0x0ed9}, |
2999 | {0x0edc, 0x0edf}, {0x0f18, 0x0f19}, {0x0f20, 0x0f29}, {0x0f3e, 0x0f47}, |
3000 | {0x0f49, 0x0f6c}, {0x0f71, 0x0f84}, {0x0f86, 0x0f97}, {0x0f99, 0x0fbc}, |
3001 | {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, |
3002 | {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
3003 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
3004 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
3005 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, |
3006 | {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, |
3007 | {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, |
3008 | {0x1700, 0x170c}, {0x170e, 0x1714}, {0x1720, 0x1734}, {0x1740, 0x1753}, |
3009 | {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, |
3010 | {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x1810, 0x1819}, |
3011 | {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, |
3012 | {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, |
3013 | {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, |
3014 | {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, |
3015 | {0x1ab0, 0x1abd}, {0x1b00, 0x1b4b}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, |
3016 | {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, |
3017 | {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, |
3018 | {0x1cd4, 0x1cf9}, {0x1d00, 0x1df9}, {0x1dfb, 0x1f15}, {0x1f18, 0x1f1d}, |
3019 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, |
3020 | {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, |
3021 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, |
3022 | {0x1ff6, 0x1ffc}, {0x203f, 0x2040}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, |
3023 | {0x20e5, 0x20f0}, {0x210a, 0x2113}, {0x2118, 0x211d}, {0x212a, 0x2139}, |
3024 | {0x213c, 0x213f}, {0x2145, 0x2149}, {0x2160, 0x2188}, {0x2c00, 0x2c2e}, |
3025 | {0x2c30, 0x2c5e}, {0x2c60, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, |
3026 | {0x2d30, 0x2d67}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, |
3027 | {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, |
3028 | {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, |
3029 | {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, |
3030 | {0x3099, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, |
3031 | {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, {0x3400, 0x4db5}, |
3032 | {0x4e00, 0x9fef}, {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, |
3033 | {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, |
3034 | {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7b9}, {0xa7f7, 0xa827}, |
3035 | {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, |
3036 | {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, {0xa980, 0xa9c0}, |
3037 | {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, |
3038 | {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, |
3039 | {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, |
3040 | {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, |
3041 | {0xab5c, 0xab65}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, |
3042 | {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, |
3043 | {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, |
3044 | {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, |
3045 | {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, |
3046 | {0xfdf0, 0xfdfb}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, |
3047 | {0xfe4d, 0xfe4f}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff10, 0xff19}, |
3048 | {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, |
3049 | {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, |
3050 | {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |
3051 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x10280, 0x1029c}, |
3052 | {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, |
3053 | {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, |
3054 | {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, |
3055 | {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, {0x10740, 0x10755}, |
3056 | {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, {0x10837, 0x10838}, |
3057 | {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, |
3058 | {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, |
3059 | {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, |
3060 | {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a60, 0x10a7c}, |
3061 | {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35}, |
3062 | {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, |
3063 | {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39}, |
3064 | {0x10f00, 0x10f1c}, {0x10f30, 0x10f50}, {0x11000, 0x11046}, {0x11066, 0x1106f}, |
3065 | {0x1107f, 0x110ba}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11100, 0x11134}, |
3066 | {0x11136, 0x1113f}, {0x11144, 0x11146}, {0x11150, 0x11173}, {0x11180, 0x111c4}, |
3067 | {0x111c9, 0x111cc}, {0x111d0, 0x111da}, {0x11200, 0x11211}, {0x11213, 0x11237}, |
3068 | {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, |
3069 | {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, |
3070 | {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, |
3071 | {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, |
3072 | {0x1135d, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11400, 0x1144a}, |
3073 | {0x11450, 0x11459}, {0x11480, 0x114c5}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, |
3074 | {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, {0x11650, 0x11659}, |
3075 | {0x11680, 0x116b7}, {0x116c0, 0x116c9}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, |
3076 | {0x11730, 0x11739}, {0x11800, 0x1183a}, {0x118a0, 0x118e9}, {0x11a00, 0x11a3e}, |
3077 | {0x11a50, 0x11a83}, {0x11a86, 0x11a99}, {0x11ac0, 0x11af8}, {0x11c00, 0x11c08}, |
3078 | {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, {0x11c72, 0x11c8f}, |
3079 | {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, |
3080 | {0x11d0b, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, |
3081 | {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, |
3082 | {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef6}, {0x12000, 0x12399}, |
3083 | {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x13000, 0x1342e}, {0x14400, 0x14646}, |
3084 | {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16ad0, 0x16aed}, |
3085 | {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, {0x16b50, 0x16b59}, |
3086 | {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f44}, |
3087 | {0x16f50, 0x16f7e}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, |
3088 | {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, |
3089 | {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e}, |
3090 | {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, |
3091 | {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
3092 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
3093 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
3094 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
3095 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, |
3096 | {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, |
3097 | {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, |
3098 | {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, |
3099 | {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, |
3100 | {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e800, 0x1e8c4}, |
3101 | {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94a}, {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, |
3102 | {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, |
3103 | {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, |
3104 | {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, |
3105 | {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, |
3106 | {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, |
3107 | {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}, {0xe0100, 0xe01ef}}), |
3108 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3109 | return characterClass; |
3110 | } |
3111 | |
3112 | static std::unique_ptr<CharacterClass> createCharacterClass55() |
3113 | { |
3114 | // Name = XID_Start, number of codePoints: 125637 |
3115 | auto characterClass = std::make_unique<CharacterClass>( |
3116 | std::initializer_list<UChar32>({}), |
3117 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
3118 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00ba, 0x02ec, 0x02ee, 0x037f, 0x0386, 0x038c, |
3119 | 0x0559, 0x06d5, 0x06ff, 0x0710, 0x07b1, 0x07fa, 0x081a, 0x0824, |
3120 | 0x0828, 0x093d, 0x0950, 0x09b2, 0x09bd, 0x09ce, 0x09fc, 0x0a5e, |
3121 | 0x0abd, 0x0ad0, 0x0af9, 0x0b3d, 0x0b71, 0x0b83, 0x0b9c, 0x0bd0, |
3122 | 0x0c3d, 0x0c80, 0x0cbd, 0x0cde, 0x0d3d, 0x0d4e, 0x0dbd, 0x0e32, |
3123 | 0x0e84, 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, 0x0eb2, 0x0ebd, 0x0ec6, |
3124 | 0x0f00, 0x103f, 0x1061, 0x108e, 0x10c7, 0x10cd, 0x1258, 0x12c0, |
3125 | 0x17d7, 0x17dc, 0x18aa, 0x1aa7, 0x1f59, 0x1f5b, 0x1f5d, 0x1fbe, |
3126 | 0x2071, 0x207f, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, |
3127 | 0x214e, 0x2d27, 0x2d2d, 0x2d6f, 0xa8fb, 0xa9cf, 0xaa7a, 0xaab1, |
3128 | 0xaac0, 0xaac2, 0xfb1d, 0xfb3e, 0xfe71, 0xfe73, 0xfe77, 0xfe79, |
3129 | 0xfe7b, 0xfe7d, 0x10808, 0x1083c, 0x10a00, 0x10f27, 0x11144, 0x11176, |
3130 | 0x111da, 0x111dc, 0x11288, 0x1133d, 0x11350, 0x114c7, 0x11644, 0x118ff, |
3131 | 0x11a00, 0x11a3a, 0x11a50, 0x11a9d, 0x11c40, 0x11d46, 0x11d98, 0x16f50, |
3132 | 0x1d4a2, 0x1d4bb, 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, |
3133 | 0x1ee47, 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, |
3134 | 0x1ee5f, 0x1ee64, 0x1ee7e}), |
3135 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
3136 | {0x02e0, 0x02e4}, {0x0370, 0x0374}, {0x0376, 0x0377}, {0x037b, 0x037d}, |
3137 | {0x0388, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
3138 | {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, {0x05d0, 0x05ea}, |
3139 | {0x05ef, 0x05f2}, {0x0620, 0x064a}, {0x066e, 0x066f}, {0x0671, 0x06d3}, |
3140 | {0x06e5, 0x06e6}, {0x06ee, 0x06ef}, {0x06fa, 0x06fc}, {0x0712, 0x072f}, |
3141 | {0x074d, 0x07a5}, {0x07ca, 0x07ea}, {0x07f4, 0x07f5}, {0x0800, 0x0815}, |
3142 | {0x0840, 0x0858}, {0x0860, 0x086a}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, |
3143 | {0x0904, 0x0939}, {0x0958, 0x0961}, {0x0971, 0x0980}, {0x0985, 0x098c}, |
3144 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
3145 | {0x09dc, 0x09dd}, {0x09df, 0x09e1}, {0x09f0, 0x09f1}, {0x0a05, 0x0a0a}, |
3146 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
3147 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a59, 0x0a5c}, {0x0a72, 0x0a74}, |
3148 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
3149 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0ae0, 0x0ae1}, {0x0b05, 0x0b0c}, |
3150 | {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, |
3151 | {0x0b35, 0x0b39}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b61}, {0x0b85, 0x0b8a}, |
3152 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
3153 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0c05, 0x0c0c}, |
3154 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c58, 0x0c5a}, |
3155 | {0x0c60, 0x0c61}, {0x0c85, 0x0c8c}, {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, |
3156 | {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0ce0, 0x0ce1}, {0x0cf1, 0x0cf2}, |
3157 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d3a}, {0x0d54, 0x0d56}, |
3158 | {0x0d5f, 0x0d61}, {0x0d7a, 0x0d7f}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
3159 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0e01, 0x0e30}, {0x0e40, 0x0e46}, |
3160 | {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, {0x0e99, 0x0e9f}, |
3161 | {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb0}, {0x0ec0, 0x0ec4}, |
3162 | {0x0edc, 0x0edf}, {0x0f40, 0x0f47}, {0x0f49, 0x0f6c}, {0x0f88, 0x0f8c}, |
3163 | {0x1000, 0x102a}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1065, 0x1066}, |
3164 | {0x106e, 0x1070}, {0x1075, 0x1081}, {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, |
3165 | {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
3166 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
3167 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
3168 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, |
3169 | {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, |
3170 | {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x170c}, {0x170e, 0x1711}, |
3171 | {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, |
3172 | {0x1780, 0x17b3}, {0x1820, 0x1878}, {0x1880, 0x18a8}, {0x18b0, 0x18f5}, |
3173 | {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, |
3174 | {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1b05, 0x1b33}, |
3175 | {0x1b45, 0x1b4b}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, |
3176 | {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, |
3177 | {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf1}, |
3178 | {0x1cf5, 0x1cf6}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, |
3179 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, |
3180 | {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, |
3181 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, |
3182 | {0x1ff6, 0x1ffc}, {0x2090, 0x209c}, {0x210a, 0x2113}, {0x2118, 0x211d}, |
3183 | {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x2160, 0x2188}, |
3184 | {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x2c60, 0x2ce4}, {0x2ceb, 0x2cee}, |
3185 | {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d30, 0x2d67}, {0x2d80, 0x2d96}, |
3186 | {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, |
3187 | {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, |
3188 | {0x3005, 0x3007}, {0x3021, 0x3029}, {0x3031, 0x3035}, {0x3038, 0x303c}, |
3189 | {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, |
3190 | {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, |
3191 | {0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, |
3192 | {0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, |
3193 | {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, |
3194 | {0xa78b, 0xa7b9}, {0xa7f7, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, |
3195 | {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, |
3196 | {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, |
3197 | {0xa984, 0xa9b2}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, |
3198 | {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, |
3199 | {0xaa7e, 0xaaaf}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaadb, 0xaadd}, |
3200 | {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, |
3201 | {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, |
3202 | {0xab5c, 0xab65}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, |
3203 | {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, |
3204 | {0xfb13, 0xfb17}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, |
3205 | {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, |
3206 | {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, |
3207 | {0xfe7f, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xff9d}, |
3208 | {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, |
3209 | {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, |
3210 | {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, |
3211 | {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, |
3212 | {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, |
3213 | {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, |
3214 | {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, |
3215 | {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, |
3216 | {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, |
3217 | {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, |
3218 | {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, |
3219 | {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, |
3220 | {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, |
3221 | {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, |
3222 | {0x10d00, 0x10d23}, {0x10f00, 0x10f1c}, {0x10f30, 0x10f45}, {0x11003, 0x11037}, |
3223 | {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, {0x11150, 0x11172}, |
3224 | {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x11200, 0x11211}, {0x11213, 0x1122b}, |
3225 | {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, |
3226 | {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, |
3227 | {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1135d, 0x11361}, |
3228 | {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, |
3229 | {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, {0x11680, 0x116aa}, |
3230 | {0x11700, 0x1171a}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x11a0b, 0x11a32}, |
3231 | {0x11a5c, 0x11a83}, {0x11a86, 0x11a89}, {0x11ac0, 0x11af8}, {0x11c00, 0x11c08}, |
3232 | {0x11c0a, 0x11c2e}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, |
3233 | {0x11d0b, 0x11d30}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89}, |
3234 | {0x11ee0, 0x11ef2}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, |
3235 | {0x13000, 0x1342e}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, |
3236 | {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, |
3237 | {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f44}, {0x16f93, 0x16f9f}, |
3238 | {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, |
3239 | {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, |
3240 | {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, |
3241 | {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, |
3242 | {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, |
3243 | {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, |
3244 | {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, |
3245 | {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, |
3246 | {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, |
3247 | {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, |
3248 | {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, |
3249 | {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, |
3250 | {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, |
3251 | {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6d6}, |
3252 | {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, |
3253 | {0x2f800, 0x2fa1d}}), |
3254 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3255 | return characterClass; |
3256 | } |
3257 | |
3258 | static std::unique_ptr<CharacterClass> createCharacterClass56() |
3259 | { |
3260 | // Name = XID_Continue, number of codePoints: 128491 |
3261 | auto characterClass = std::make_unique<CharacterClass>( |
3262 | std::initializer_list<UChar32>({0x5f}), |
3263 | std::initializer_list<CharacterRange>({{0x30, 0x39}, {0x41, 0x5a}, {0x61, 0x7a}}), |
3264 | std::initializer_list<UChar32>({0x00aa, 0x00b5, 0x00b7, 0x00ba, 0x02ec, 0x02ee, 0x037f, 0x038c, |
3265 | 0x0559, 0x05bf, 0x05c7, 0x06ff, 0x07fa, 0x07fd, 0x09b2, 0x09d7, |
3266 | 0x09fc, 0x09fe, 0x0a3c, 0x0a51, 0x0a5e, 0x0ad0, 0x0b71, 0x0b9c, |
3267 | 0x0bd0, 0x0bd7, 0x0cde, 0x0dbd, 0x0dca, 0x0dd6, 0x0e84, 0x0e8a, |
3268 | 0x0e8d, 0x0ea5, 0x0ea7, 0x0ec6, 0x0f00, 0x0f35, 0x0f37, 0x0f39, |
3269 | 0x0fc6, 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x17d7, 0x1aa7, 0x1f59, |
3270 | 0x1f5b, 0x1f5d, 0x1fbe, 0x2054, 0x2071, 0x207f, 0x20e1, 0x2102, |
3271 | 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214e, 0x2d27, 0x2d2d, |
3272 | 0x2d6f, 0xa8fb, 0xfb3e, 0xfe71, 0xfe73, 0xfe77, 0xfe79, 0xfe7b, |
3273 | 0xfe7d, 0xff3f, 0x101fd, 0x102e0, 0x10808, 0x1083c, 0x10a3f, 0x10f27, |
3274 | 0x11176, 0x111dc, 0x1123e, 0x11288, 0x11350, 0x11357, 0x1145e, 0x114c7, |
3275 | 0x11644, 0x118ff, 0x11a47, 0x11a9d, 0x11d3a, 0x1d4a2, 0x1d4bb, 0x1d546, |
3276 | 0x1da75, 0x1da84, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, |
3277 | 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, |
3278 | 0x1ee64, 0x1ee7e}), |
3279 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02c1}, {0x02c6, 0x02d1}, |
3280 | {0x02e0, 0x02e4}, {0x0300, 0x0374}, {0x0376, 0x0377}, {0x037b, 0x037d}, |
3281 | {0x0386, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x03f5}, {0x03f7, 0x0481}, |
3282 | {0x0483, 0x0487}, {0x048a, 0x052f}, {0x0531, 0x0556}, {0x0560, 0x0588}, |
3283 | {0x0591, 0x05bd}, {0x05c1, 0x05c2}, {0x05c4, 0x05c5}, {0x05d0, 0x05ea}, |
3284 | {0x05ef, 0x05f2}, {0x0610, 0x061a}, {0x0620, 0x0669}, {0x066e, 0x06d3}, |
3285 | {0x06d5, 0x06dc}, {0x06df, 0x06e8}, {0x06ea, 0x06fc}, {0x0710, 0x074a}, |
3286 | {0x074d, 0x07b1}, {0x07c0, 0x07f5}, {0x0800, 0x082d}, {0x0840, 0x085b}, |
3287 | {0x0860, 0x086a}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d3, 0x08e1}, |
3288 | {0x08e3, 0x0963}, {0x0966, 0x096f}, {0x0971, 0x0983}, {0x0985, 0x098c}, |
3289 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
3290 | {0x09bc, 0x09c4}, {0x09c7, 0x09c8}, {0x09cb, 0x09ce}, {0x09dc, 0x09dd}, |
3291 | {0x09df, 0x09e3}, {0x09e6, 0x09f1}, {0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, |
3292 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
3293 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, |
3294 | {0x0a4b, 0x0a4d}, {0x0a59, 0x0a5c}, {0x0a66, 0x0a75}, {0x0a81, 0x0a83}, |
3295 | {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, |
3296 | {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0abc, 0x0ac5}, {0x0ac7, 0x0ac9}, |
3297 | {0x0acb, 0x0acd}, {0x0ae0, 0x0ae3}, {0x0ae6, 0x0aef}, {0x0af9, 0x0aff}, |
3298 | {0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, |
3299 | {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b3c, 0x0b44}, |
3300 | {0x0b47, 0x0b48}, {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b5c, 0x0b5d}, |
3301 | {0x0b5f, 0x0b63}, {0x0b66, 0x0b6f}, {0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, |
3302 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
3303 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, |
3304 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0be6, 0x0bef}, {0x0c00, 0x0c0c}, |
3305 | {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c3d, 0x0c44}, |
3306 | {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c58, 0x0c5a}, |
3307 | {0x0c60, 0x0c63}, {0x0c66, 0x0c6f}, {0x0c80, 0x0c83}, {0x0c85, 0x0c8c}, |
3308 | {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, |
3309 | {0x0cbc, 0x0cc4}, {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, |
3310 | {0x0ce0, 0x0ce3}, {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}, {0x0d00, 0x0d03}, |
3311 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d44}, {0x0d46, 0x0d48}, |
3312 | {0x0d4a, 0x0d4e}, {0x0d54, 0x0d57}, {0x0d5f, 0x0d63}, {0x0d66, 0x0d6f}, |
3313 | {0x0d7a, 0x0d7f}, {0x0d82, 0x0d83}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
3314 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, |
3315 | {0x0de6, 0x0def}, {0x0df2, 0x0df3}, {0x0e01, 0x0e3a}, {0x0e40, 0x0e4e}, |
3316 | {0x0e50, 0x0e59}, {0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, |
3317 | {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb9}, |
3318 | {0x0ebb, 0x0ebd}, {0x0ec0, 0x0ec4}, {0x0ec8, 0x0ecd}, {0x0ed0, 0x0ed9}, |
3319 | {0x0edc, 0x0edf}, {0x0f18, 0x0f19}, {0x0f20, 0x0f29}, {0x0f3e, 0x0f47}, |
3320 | {0x0f49, 0x0f6c}, {0x0f71, 0x0f84}, {0x0f86, 0x0f97}, {0x0f99, 0x0fbc}, |
3321 | {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10d0, 0x10fa}, |
3322 | {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
3323 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
3324 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
3325 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, |
3326 | {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, |
3327 | {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, |
3328 | {0x1700, 0x170c}, {0x170e, 0x1714}, {0x1720, 0x1734}, {0x1740, 0x1753}, |
3329 | {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, |
3330 | {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x1810, 0x1819}, |
3331 | {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, |
3332 | {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, |
3333 | {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, |
3334 | {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, |
3335 | {0x1ab0, 0x1abd}, {0x1b00, 0x1b4b}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, |
3336 | {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, |
3337 | {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, |
3338 | {0x1cd4, 0x1cf9}, {0x1d00, 0x1df9}, {0x1dfb, 0x1f15}, {0x1f18, 0x1f1d}, |
3339 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, |
3340 | {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, |
3341 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, |
3342 | {0x1ff6, 0x1ffc}, {0x203f, 0x2040}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, |
3343 | {0x20e5, 0x20f0}, {0x210a, 0x2113}, {0x2118, 0x211d}, {0x212a, 0x2139}, |
3344 | {0x213c, 0x213f}, {0x2145, 0x2149}, {0x2160, 0x2188}, {0x2c00, 0x2c2e}, |
3345 | {0x2c30, 0x2c5e}, {0x2c60, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, |
3346 | {0x2d30, 0x2d67}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, |
3347 | {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, |
3348 | {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, |
3349 | {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, |
3350 | {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, |
3351 | {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31ba}, {0x31f0, 0x31ff}, |
3352 | {0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xa000, 0xa48c}, {0xa4d0, 0xa4fd}, |
3353 | {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, |
3354 | {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7b9}, |
3355 | {0xa7f7, 0xa827}, {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, |
3356 | {0xa8e0, 0xa8f7}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, |
3357 | {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, |
3358 | {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, |
3359 | {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, |
3360 | {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, |
3361 | {0xab30, 0xab5a}, {0xab5c, 0xab65}, {0xab70, 0xabea}, {0xabec, 0xabed}, |
3362 | {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, |
3363 | {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, |
3364 | {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, |
3365 | {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, |
3366 | {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, |
3367 | {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe7f, 0xfefc}, |
3368 | {0xff10, 0xff19}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, |
3369 | {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, |
3370 | {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, |
3371 | {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, |
3372 | {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, |
3373 | {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, |
3374 | {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, |
3375 | {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, |
3376 | {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, |
3377 | {0x10837, 0x10838}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, |
3378 | {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, |
3379 | {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, |
3380 | {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, |
3381 | {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, |
3382 | {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, |
3383 | {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, |
3384 | {0x10d30, 0x10d39}, {0x10f00, 0x10f1c}, {0x10f30, 0x10f50}, {0x11000, 0x11046}, |
3385 | {0x11066, 0x1106f}, {0x1107f, 0x110ba}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, |
3386 | {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11146}, {0x11150, 0x11173}, |
3387 | {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111d0, 0x111da}, {0x11200, 0x11211}, |
3388 | {0x11213, 0x11237}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, |
3389 | {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, |
3390 | {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, |
3391 | {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, |
3392 | {0x1134b, 0x1134d}, {0x1135d, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}, |
3393 | {0x11400, 0x1144a}, {0x11450, 0x11459}, {0x11480, 0x114c5}, {0x114d0, 0x114d9}, |
3394 | {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, |
3395 | {0x11650, 0x11659}, {0x11680, 0x116b7}, {0x116c0, 0x116c9}, {0x11700, 0x1171a}, |
3396 | {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11800, 0x1183a}, {0x118a0, 0x118e9}, |
3397 | {0x11a00, 0x11a3e}, {0x11a50, 0x11a83}, {0x11a86, 0x11a99}, {0x11ac0, 0x11af8}, |
3398 | {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, |
3399 | {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, |
3400 | {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47}, |
3401 | {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, |
3402 | {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef6}, |
3403 | {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x13000, 0x1342e}, |
3404 | {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, |
3405 | {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, |
3406 | {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, |
3407 | {0x16f00, 0x16f44}, {0x16f50, 0x16f7e}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, |
3408 | {0x17000, 0x187f1}, {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, {0x1b170, 0x1b2fb}, |
3409 | {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, |
3410 | {0x1bc9d, 0x1bc9e}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, |
3411 | {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, |
3412 | {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, |
3413 | {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, |
3414 | {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, |
3415 | {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, |
3416 | {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, |
3417 | {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, |
3418 | {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, |
3419 | {0x1da3b, 0x1da6c}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, |
3420 | {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, |
3421 | {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94a}, {0x1e950, 0x1e959}, |
3422 | {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, |
3423 | {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, |
3424 | {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, |
3425 | {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, |
3426 | {0x1eeab, 0x1eebb}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, |
3427 | {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}, {0xe0100, 0xe01ef}}), |
3428 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3429 | return characterClass; |
3430 | } |
3431 | |
3432 | static std::unique_ptr<CharacterClass> createCharacterClass57() |
3433 | { |
3434 | // Name = Default_Ignorable_Code_Point, number of codePoints: 4173 |
3435 | auto characterClass = std::make_unique<CharacterClass>( |
3436 | std::initializer_list<UChar32>({}), |
3437 | std::initializer_list<CharacterRange>({}), |
3438 | std::initializer_list<UChar32>({0x00ad, 0x034f, 0x061c, 0x3164, 0xfeff, 0xffa0}), |
3439 | std::initializer_list<CharacterRange>({{0x115f, 0x1160}, {0x17b4, 0x17b5}, {0x180b, 0x180e}, {0x200b, 0x200f}, |
3440 | {0x202a, 0x202e}, {0x2060, 0x206f}, {0xfe00, 0xfe0f}, {0xfff0, 0xfff8}, |
3441 | {0x1bca0, 0x1bca3}, {0x1d173, 0x1d17a}, {0xe0000, 0xe0fff}}), |
3442 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3443 | return characterClass; |
3444 | } |
3445 | |
3446 | static std::unique_ptr<CharacterClass> createCharacterClass58() |
3447 | { |
3448 | // Name = Grapheme_Extend, number of codePoints: 1943 |
3449 | auto characterClass = std::make_unique<CharacterClass>( |
3450 | std::initializer_list<UChar32>({}), |
3451 | std::initializer_list<CharacterRange>({}), |
3452 | std::initializer_list<UChar32>({0x05bf, 0x05c7, 0x0670, 0x0711, 0x07fd, 0x093a, 0x093c, 0x094d, |
3453 | 0x0981, 0x09bc, 0x09be, 0x09cd, 0x09d7, 0x09fe, 0x0a3c, 0x0a51, |
3454 | 0x0a75, 0x0abc, 0x0acd, 0x0b01, 0x0b3c, 0x0b4d, 0x0b82, 0x0bbe, |
3455 | 0x0bc0, 0x0bcd, 0x0bd7, 0x0c00, 0x0c04, 0x0c81, 0x0cbc, 0x0cbf, |
3456 | 0x0cc2, 0x0cc6, 0x0d3e, 0x0d4d, 0x0d57, 0x0dca, 0x0dcf, 0x0dd6, |
3457 | 0x0ddf, 0x0e31, 0x0eb1, 0x0f35, 0x0f37, 0x0f39, 0x0fc6, 0x1082, |
3458 | 0x108d, 0x109d, 0x17c6, 0x17dd, 0x18a9, 0x1932, 0x1a1b, 0x1a56, |
3459 | 0x1a60, 0x1a62, 0x1a7f, 0x1b34, 0x1b3c, 0x1b42, 0x1be6, 0x1bed, |
3460 | 0x1ced, 0x1cf4, 0x200c, 0x2d7f, 0xa802, 0xa806, 0xa80b, 0xa8ff, |
3461 | 0xa9b3, 0xa9bc, 0xa9e5, 0xaa43, 0xaa4c, 0xaa7c, 0xaab0, 0xaac1, |
3462 | 0xaaf6, 0xabe5, 0xabe8, 0xabed, 0xfb1e, 0x101fd, 0x102e0, 0x10a3f, |
3463 | 0x11001, 0x11173, 0x11234, 0x1123e, 0x112df, 0x1133e, 0x11340, 0x11357, |
3464 | 0x11446, 0x1145e, 0x114b0, 0x114ba, 0x114bd, 0x115af, 0x1163d, 0x116ab, |
3465 | 0x116ad, 0x116b7, 0x11a47, 0x11c3f, 0x11d3a, 0x11d47, 0x11d95, 0x11d97, |
3466 | 0x1d165, 0x1da75, 0x1da84}), |
3467 | std::initializer_list<CharacterRange>({{0x0300, 0x036f}, {0x0483, 0x0489}, {0x0591, 0x05bd}, {0x05c1, 0x05c2}, |
3468 | {0x05c4, 0x05c5}, {0x0610, 0x061a}, {0x064b, 0x065f}, {0x06d6, 0x06dc}, |
3469 | {0x06df, 0x06e4}, {0x06e7, 0x06e8}, {0x06ea, 0x06ed}, {0x0730, 0x074a}, |
3470 | {0x07a6, 0x07b0}, {0x07eb, 0x07f3}, {0x0816, 0x0819}, {0x081b, 0x0823}, |
3471 | {0x0825, 0x0827}, {0x0829, 0x082d}, {0x0859, 0x085b}, {0x08d3, 0x08e1}, |
3472 | {0x08e3, 0x0902}, {0x0941, 0x0948}, {0x0951, 0x0957}, {0x0962, 0x0963}, |
3473 | {0x09c1, 0x09c4}, {0x09e2, 0x09e3}, {0x0a01, 0x0a02}, {0x0a41, 0x0a42}, |
3474 | {0x0a47, 0x0a48}, {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a82}, |
3475 | {0x0ac1, 0x0ac5}, {0x0ac7, 0x0ac8}, {0x0ae2, 0x0ae3}, {0x0afa, 0x0aff}, |
3476 | {0x0b3e, 0x0b3f}, {0x0b41, 0x0b44}, {0x0b56, 0x0b57}, {0x0b62, 0x0b63}, |
3477 | {0x0c3e, 0x0c40}, {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, |
3478 | {0x0c62, 0x0c63}, {0x0ccc, 0x0ccd}, {0x0cd5, 0x0cd6}, {0x0ce2, 0x0ce3}, |
3479 | {0x0d00, 0x0d01}, {0x0d3b, 0x0d3c}, {0x0d41, 0x0d44}, {0x0d62, 0x0d63}, |
3480 | {0x0dd2, 0x0dd4}, {0x0e34, 0x0e3a}, {0x0e47, 0x0e4e}, {0x0eb4, 0x0eb9}, |
3481 | {0x0ebb, 0x0ebc}, {0x0ec8, 0x0ecd}, {0x0f18, 0x0f19}, {0x0f71, 0x0f7e}, |
3482 | {0x0f80, 0x0f84}, {0x0f86, 0x0f87}, {0x0f8d, 0x0f97}, {0x0f99, 0x0fbc}, |
3483 | {0x102d, 0x1030}, {0x1032, 0x1037}, {0x1039, 0x103a}, {0x103d, 0x103e}, |
3484 | {0x1058, 0x1059}, {0x105e, 0x1060}, {0x1071, 0x1074}, {0x1085, 0x1086}, |
3485 | {0x135d, 0x135f}, {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, |
3486 | {0x1772, 0x1773}, {0x17b4, 0x17b5}, {0x17b7, 0x17bd}, {0x17c9, 0x17d3}, |
3487 | {0x180b, 0x180d}, {0x1885, 0x1886}, {0x1920, 0x1922}, {0x1927, 0x1928}, |
3488 | {0x1939, 0x193b}, {0x1a17, 0x1a18}, {0x1a58, 0x1a5e}, {0x1a65, 0x1a6c}, |
3489 | {0x1a73, 0x1a7c}, {0x1ab0, 0x1abe}, {0x1b00, 0x1b03}, {0x1b36, 0x1b3a}, |
3490 | {0x1b6b, 0x1b73}, {0x1b80, 0x1b81}, {0x1ba2, 0x1ba5}, {0x1ba8, 0x1ba9}, |
3491 | {0x1bab, 0x1bad}, {0x1be8, 0x1be9}, {0x1bef, 0x1bf1}, {0x1c2c, 0x1c33}, |
3492 | {0x1c36, 0x1c37}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1ce0}, {0x1ce2, 0x1ce8}, |
3493 | {0x1cf8, 0x1cf9}, {0x1dc0, 0x1df9}, {0x1dfb, 0x1dff}, {0x20d0, 0x20f0}, |
3494 | {0x2cef, 0x2cf1}, {0x2de0, 0x2dff}, {0x302a, 0x302f}, {0x3099, 0x309a}, |
3495 | {0xa66f, 0xa672}, {0xa674, 0xa67d}, {0xa69e, 0xa69f}, {0xa6f0, 0xa6f1}, |
3496 | {0xa825, 0xa826}, {0xa8c4, 0xa8c5}, {0xa8e0, 0xa8f1}, {0xa926, 0xa92d}, |
3497 | {0xa947, 0xa951}, {0xa980, 0xa982}, {0xa9b6, 0xa9b9}, {0xaa29, 0xaa2e}, |
3498 | {0xaa31, 0xaa32}, {0xaa35, 0xaa36}, {0xaab2, 0xaab4}, {0xaab7, 0xaab8}, |
3499 | {0xaabe, 0xaabf}, {0xaaec, 0xaaed}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, |
3500 | {0xff9e, 0xff9f}, {0x10376, 0x1037a}, {0x10a01, 0x10a03}, {0x10a05, 0x10a06}, |
3501 | {0x10a0c, 0x10a0f}, {0x10a38, 0x10a3a}, {0x10ae5, 0x10ae6}, {0x10d24, 0x10d27}, |
3502 | {0x10f46, 0x10f50}, {0x11038, 0x11046}, {0x1107f, 0x11081}, {0x110b3, 0x110b6}, |
3503 | {0x110b9, 0x110ba}, {0x11100, 0x11102}, {0x11127, 0x1112b}, {0x1112d, 0x11134}, |
3504 | {0x11180, 0x11181}, {0x111b6, 0x111be}, {0x111c9, 0x111cc}, {0x1122f, 0x11231}, |
3505 | {0x11236, 0x11237}, {0x112e3, 0x112ea}, {0x11300, 0x11301}, {0x1133b, 0x1133c}, |
3506 | {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11438, 0x1143f}, {0x11442, 0x11444}, |
3507 | {0x114b3, 0x114b8}, {0x114bf, 0x114c0}, {0x114c2, 0x114c3}, {0x115b2, 0x115b5}, |
3508 | {0x115bc, 0x115bd}, {0x115bf, 0x115c0}, {0x115dc, 0x115dd}, {0x11633, 0x1163a}, |
3509 | {0x1163f, 0x11640}, {0x116b0, 0x116b5}, {0x1171d, 0x1171f}, {0x11722, 0x11725}, |
3510 | {0x11727, 0x1172b}, {0x1182f, 0x11837}, {0x11839, 0x1183a}, {0x11a01, 0x11a0a}, |
3511 | {0x11a33, 0x11a38}, {0x11a3b, 0x11a3e}, {0x11a51, 0x11a56}, {0x11a59, 0x11a5b}, |
3512 | {0x11a8a, 0x11a96}, {0x11a98, 0x11a99}, {0x11c30, 0x11c36}, {0x11c38, 0x11c3d}, |
3513 | {0x11c92, 0x11ca7}, {0x11caa, 0x11cb0}, {0x11cb2, 0x11cb3}, {0x11cb5, 0x11cb6}, |
3514 | {0x11d31, 0x11d36}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d45}, {0x11d90, 0x11d91}, |
3515 | {0x11ef3, 0x11ef4}, {0x16af0, 0x16af4}, {0x16b30, 0x16b36}, {0x16f8f, 0x16f92}, |
3516 | {0x1bc9d, 0x1bc9e}, {0x1d167, 0x1d169}, {0x1d16e, 0x1d172}, {0x1d17b, 0x1d182}, |
3517 | {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1da00, 0x1da36}, |
3518 | {0x1da3b, 0x1da6c}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1e000, 0x1e006}, |
3519 | {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, |
3520 | {0x1e8d0, 0x1e8d6}, {0x1e944, 0x1e94a}, {0xe0020, 0xe007f}, {0xe0100, 0xe01ef}}), |
3521 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3522 | return characterClass; |
3523 | } |
3524 | |
3525 | static std::unique_ptr<CharacterClass> createCharacterClass59() |
3526 | { |
3527 | // Name = Grapheme_Base, number of codePoints: 135374 |
3528 | auto characterClass = std::make_unique<CharacterClass>( |
3529 | std::initializer_list<UChar32>({}), |
3530 | std::initializer_list<CharacterRange>({{0x20, 0x7e}}), |
3531 | std::initializer_list<UChar32>({0x038c, 0x05be, 0x05c0, 0x05c3, 0x05c6, 0x061b, 0x06de, 0x06e9, |
3532 | 0x0710, 0x07b1, 0x081a, 0x0824, 0x0828, 0x085e, 0x093b, 0x09b2, |
3533 | 0x09bd, 0x09ce, 0x0a03, 0x0a5e, 0x0a76, 0x0a83, 0x0ac9, 0x0ad0, |
3534 | 0x0af9, 0x0b3d, 0x0b40, 0x0b83, 0x0b9c, 0x0bbf, 0x0bd0, 0x0c3d, |
3535 | 0x0cde, 0x0d3d, 0x0dbd, 0x0e84, 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, |
3536 | 0x0ebd, 0x0ec6, 0x0f36, 0x0f38, 0x0f7f, 0x0f85, 0x1031, 0x1038, |
3537 | 0x10c7, 0x10cd, 0x1258, 0x12c0, 0x17b6, 0x18aa, 0x1940, 0x1a57, |
3538 | 0x1a61, 0x1b35, 0x1b3b, 0x1baa, 0x1be7, 0x1bee, 0x1cd3, 0x1ce1, |
3539 | 0x1f59, 0x1f5b, 0x1f5d, 0x2d27, 0x2d2d, 0xa673, 0xaa4d, 0xaab1, |
3540 | 0xaac0, 0xaac2, 0xfb1d, 0xfb3e, 0x101a0, 0x1056f, 0x10808, 0x1083c, |
3541 | 0x1093f, 0x11000, 0x1112c, 0x111cd, 0x11235, 0x11288, 0x1133d, 0x1133f, |
3542 | 0x11350, 0x11445, 0x1145b, 0x1145d, 0x114b9, 0x114be, 0x114c1, 0x115be, |
3543 | 0x1163e, 0x116ac, 0x116b6, 0x11726, 0x11838, 0x1183b, 0x118ff, 0x11a00, |
3544 | 0x11a50, 0x11a97, 0x11c3e, 0x11ca9, 0x11cb1, 0x11cb4, 0x11d46, 0x11d96, |
3545 | 0x11d98, 0x16af5, 0x1bc9c, 0x1bc9f, 0x1d166, 0x1d245, 0x1d4a2, 0x1d4bb, |
3546 | 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, |
3547 | 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, |
3548 | 0x1ee7e, 0x1f97a}), |
3549 | std::initializer_list<CharacterRange>({{0x00a0, 0x00ac}, {0x00ae, 0x02ff}, {0x0370, 0x0377}, {0x037a, 0x037f}, |
3550 | {0x0384, 0x038a}, {0x038e, 0x03a1}, {0x03a3, 0x0482}, {0x048a, 0x052f}, |
3551 | {0x0531, 0x0556}, {0x0559, 0x058a}, {0x058d, 0x058f}, {0x05d0, 0x05ea}, |
3552 | {0x05ef, 0x05f4}, {0x0606, 0x060f}, {0x061e, 0x064a}, {0x0660, 0x066f}, |
3553 | {0x0671, 0x06d5}, {0x06e5, 0x06e6}, {0x06ee, 0x070d}, {0x0712, 0x072f}, |
3554 | {0x074d, 0x07a5}, {0x07c0, 0x07ea}, {0x07f4, 0x07fa}, {0x07fe, 0x0815}, |
3555 | {0x0830, 0x083e}, {0x0840, 0x0858}, {0x0860, 0x086a}, {0x08a0, 0x08b4}, |
3556 | {0x08b6, 0x08bd}, {0x0903, 0x0939}, {0x093d, 0x0940}, {0x0949, 0x094c}, |
3557 | {0x094e, 0x0950}, {0x0958, 0x0961}, {0x0964, 0x0980}, {0x0982, 0x0983}, |
3558 | {0x0985, 0x098c}, {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, |
3559 | {0x09b6, 0x09b9}, {0x09bf, 0x09c0}, {0x09c7, 0x09c8}, {0x09cb, 0x09cc}, |
3560 | {0x09dc, 0x09dd}, {0x09df, 0x09e1}, {0x09e6, 0x09fd}, {0x0a05, 0x0a0a}, |
3561 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
3562 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a3e, 0x0a40}, {0x0a59, 0x0a5c}, |
3563 | {0x0a66, 0x0a6f}, {0x0a72, 0x0a74}, {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, |
3564 | {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, |
3565 | {0x0abd, 0x0ac0}, {0x0acb, 0x0acc}, {0x0ae0, 0x0ae1}, {0x0ae6, 0x0af1}, |
3566 | {0x0b02, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, |
3567 | {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b47, 0x0b48}, |
3568 | {0x0b4b, 0x0b4c}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b61}, {0x0b66, 0x0b77}, |
3569 | {0x0b85, 0x0b8a}, {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, |
3570 | {0x0b9e, 0x0b9f}, {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, |
3571 | {0x0bc1, 0x0bc2}, {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcc}, {0x0be6, 0x0bfa}, |
3572 | {0x0c01, 0x0c03}, {0x0c05, 0x0c0c}, {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, |
3573 | {0x0c2a, 0x0c39}, {0x0c41, 0x0c44}, {0x0c58, 0x0c5a}, {0x0c60, 0x0c61}, |
3574 | {0x0c66, 0x0c6f}, {0x0c78, 0x0c80}, {0x0c82, 0x0c8c}, {0x0c8e, 0x0c90}, |
3575 | {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0cbd, 0x0cbe}, |
3576 | {0x0cc0, 0x0cc1}, {0x0cc3, 0x0cc4}, {0x0cc7, 0x0cc8}, {0x0cca, 0x0ccb}, |
3577 | {0x0ce0, 0x0ce1}, {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}, {0x0d02, 0x0d03}, |
3578 | {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d3a}, {0x0d3f, 0x0d40}, |
3579 | {0x0d46, 0x0d48}, {0x0d4a, 0x0d4c}, {0x0d4e, 0x0d4f}, {0x0d54, 0x0d56}, |
3580 | {0x0d58, 0x0d61}, {0x0d66, 0x0d7f}, {0x0d82, 0x0d83}, {0x0d85, 0x0d96}, |
3581 | {0x0d9a, 0x0db1}, {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0dd0, 0x0dd1}, |
3582 | {0x0dd8, 0x0dde}, {0x0de6, 0x0def}, {0x0df2, 0x0df4}, {0x0e01, 0x0e30}, |
3583 | {0x0e32, 0x0e33}, {0x0e3f, 0x0e46}, {0x0e4f, 0x0e5b}, {0x0e81, 0x0e82}, |
3584 | {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, {0x0e99, 0x0e9f}, {0x0ea1, 0x0ea3}, |
3585 | {0x0eaa, 0x0eab}, {0x0ead, 0x0eb0}, {0x0eb2, 0x0eb3}, {0x0ec0, 0x0ec4}, |
3586 | {0x0ed0, 0x0ed9}, {0x0edc, 0x0edf}, {0x0f00, 0x0f17}, {0x0f1a, 0x0f34}, |
3587 | {0x0f3a, 0x0f47}, {0x0f49, 0x0f6c}, {0x0f88, 0x0f8c}, {0x0fbe, 0x0fc5}, |
3588 | {0x0fc7, 0x0fcc}, {0x0fce, 0x0fda}, {0x1000, 0x102c}, {0x103b, 0x103c}, |
3589 | {0x103f, 0x1057}, {0x105a, 0x105d}, {0x1061, 0x1070}, {0x1075, 0x1081}, |
3590 | {0x1083, 0x1084}, {0x1087, 0x108c}, {0x108e, 0x109c}, {0x109e, 0x10c5}, |
3591 | {0x10d0, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
3592 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
3593 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
3594 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1360, 0x137c}, {0x1380, 0x1399}, |
3595 | {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1400, 0x169c}, {0x16a0, 0x16f8}, |
3596 | {0x1700, 0x170c}, {0x170e, 0x1711}, {0x1720, 0x1731}, {0x1735, 0x1736}, |
3597 | {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, |
3598 | {0x17be, 0x17c5}, {0x17c7, 0x17c8}, {0x17d4, 0x17dc}, {0x17e0, 0x17e9}, |
3599 | {0x17f0, 0x17f9}, {0x1800, 0x180a}, {0x1810, 0x1819}, {0x1820, 0x1878}, |
3600 | {0x1880, 0x1884}, {0x1887, 0x18a8}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, |
3601 | {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931}, {0x1933, 0x1938}, |
3602 | {0x1944, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, |
3603 | {0x19d0, 0x19da}, {0x19de, 0x1a16}, {0x1a19, 0x1a1a}, {0x1a1e, 0x1a55}, |
3604 | {0x1a63, 0x1a64}, {0x1a6d, 0x1a72}, {0x1a80, 0x1a89}, {0x1a90, 0x1a99}, |
3605 | {0x1aa0, 0x1aad}, {0x1b04, 0x1b33}, {0x1b3d, 0x1b41}, {0x1b43, 0x1b4b}, |
3606 | {0x1b50, 0x1b6a}, {0x1b74, 0x1b7c}, {0x1b82, 0x1ba1}, {0x1ba6, 0x1ba7}, |
3607 | {0x1bae, 0x1be5}, {0x1bea, 0x1bec}, {0x1bf2, 0x1bf3}, {0x1bfc, 0x1c2b}, |
3608 | {0x1c34, 0x1c35}, {0x1c3b, 0x1c49}, {0x1c4d, 0x1c88}, {0x1c90, 0x1cba}, |
3609 | {0x1cbd, 0x1cc7}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf7}, |
3610 | {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, |
3611 | {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, |
3612 | {0x1fb6, 0x1fc4}, {0x1fc6, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fdd, 0x1fef}, |
3613 | {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffe}, {0x2000, 0x200a}, {0x2010, 0x2027}, |
3614 | {0x202f, 0x205f}, {0x2070, 0x2071}, {0x2074, 0x208e}, {0x2090, 0x209c}, |
3615 | {0x20a0, 0x20bf}, {0x2100, 0x218b}, {0x2190, 0x2426}, {0x2440, 0x244a}, |
3616 | {0x2460, 0x2b73}, {0x2b76, 0x2b95}, {0x2b98, 0x2bc8}, {0x2bca, 0x2bfe}, |
3617 | {0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x2c60, 0x2cee}, {0x2cf2, 0x2cf3}, |
3618 | {0x2cf9, 0x2d25}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d70}, {0x2d80, 0x2d96}, |
3619 | {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, |
3620 | {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, |
3621 | {0x2e00, 0x2e4e}, {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, |
3622 | {0x2ff0, 0x2ffb}, {0x3000, 0x3029}, {0x3030, 0x303f}, {0x3041, 0x3096}, |
3623 | {0x309b, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x3190, 0x31ba}, |
3624 | {0x31c0, 0x31e3}, {0x31f0, 0x321e}, {0x3220, 0x32fe}, {0x3300, 0x4db5}, |
3625 | {0x4dc0, 0x9fef}, {0xa000, 0xa48c}, {0xa490, 0xa4c6}, {0xa4d0, 0xa62b}, |
3626 | {0xa640, 0xa66e}, {0xa67e, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa6f2, 0xa6f7}, |
3627 | {0xa700, 0xa7b9}, {0xa7f7, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, |
3628 | {0xa80c, 0xa824}, {0xa827, 0xa82b}, {0xa830, 0xa839}, {0xa840, 0xa877}, |
3629 | {0xa880, 0xa8c3}, {0xa8ce, 0xa8d9}, {0xa8f2, 0xa8fe}, {0xa900, 0xa925}, |
3630 | {0xa92e, 0xa946}, {0xa952, 0xa953}, {0xa95f, 0xa97c}, {0xa983, 0xa9b2}, |
3631 | {0xa9b4, 0xa9b5}, {0xa9ba, 0xa9bb}, {0xa9bd, 0xa9cd}, {0xa9cf, 0xa9d9}, |
3632 | {0xa9de, 0xa9e4}, {0xa9e6, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa2f, 0xaa30}, |
3633 | {0xaa33, 0xaa34}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa50, 0xaa59}, |
3634 | {0xaa5c, 0xaa7b}, {0xaa7d, 0xaaaf}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, |
3635 | {0xaadb, 0xaaeb}, {0xaaee, 0xaaf5}, {0xab01, 0xab06}, {0xab09, 0xab0e}, |
3636 | {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab65}, |
3637 | {0xab70, 0xabe4}, {0xabe6, 0xabe7}, {0xabe9, 0xabec}, {0xabf0, 0xabf9}, |
3638 | {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, |
3639 | {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1f, 0xfb36}, |
3640 | {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbc1}, |
3641 | {0xfbd3, 0xfd3f}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfd}, |
3642 | {0xfe10, 0xfe19}, {0xfe30, 0xfe52}, {0xfe54, 0xfe66}, {0xfe68, 0xfe6b}, |
3643 | {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff01, 0xff9d}, {0xffa0, 0xffbe}, |
3644 | {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, |
3645 | {0xffe0, 0xffe6}, {0xffe8, 0xffee}, {0xfffc, 0xfffd}, {0x10000, 0x1000b}, |
3646 | {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |
3647 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10100, 0x10102}, {0x10107, 0x10133}, |
3648 | {0x10137, 0x1018e}, {0x10190, 0x1019b}, {0x101d0, 0x101fc}, {0x10280, 0x1029c}, |
3649 | {0x102a0, 0x102d0}, {0x102e1, 0x102fb}, {0x10300, 0x10323}, {0x1032d, 0x1034a}, |
3650 | {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x1039f, 0x103c3}, {0x103c8, 0x103d5}, |
3651 | {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, |
3652 | {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10600, 0x10736}, {0x10740, 0x10755}, |
3653 | {0x10760, 0x10767}, {0x10800, 0x10805}, {0x1080a, 0x10835}, {0x10837, 0x10838}, |
3654 | {0x1083f, 0x10855}, {0x10857, 0x1089e}, {0x108a7, 0x108af}, {0x108e0, 0x108f2}, |
3655 | {0x108f4, 0x108f5}, {0x108fb, 0x1091b}, {0x1091f, 0x10939}, {0x10980, 0x109b7}, |
3656 | {0x109bc, 0x109cf}, {0x109d2, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, |
3657 | {0x10a19, 0x10a35}, {0x10a40, 0x10a48}, {0x10a50, 0x10a58}, {0x10a60, 0x10a9f}, |
3658 | {0x10ac0, 0x10ae4}, {0x10aeb, 0x10af6}, {0x10b00, 0x10b35}, {0x10b39, 0x10b55}, |
3659 | {0x10b58, 0x10b72}, {0x10b78, 0x10b91}, {0x10b99, 0x10b9c}, {0x10ba9, 0x10baf}, |
3660 | {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10cfa, 0x10d23}, |
3661 | {0x10d30, 0x10d39}, {0x10e60, 0x10e7e}, {0x10f00, 0x10f27}, {0x10f30, 0x10f45}, |
3662 | {0x10f51, 0x10f59}, {0x11002, 0x11037}, {0x11047, 0x1104d}, {0x11052, 0x1106f}, |
3663 | {0x11082, 0x110b2}, {0x110b7, 0x110b8}, {0x110bb, 0x110bc}, {0x110be, 0x110c1}, |
3664 | {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11103, 0x11126}, {0x11136, 0x11146}, |
3665 | {0x11150, 0x11172}, {0x11174, 0x11176}, {0x11182, 0x111b5}, {0x111bf, 0x111c8}, |
3666 | {0x111d0, 0x111df}, {0x111e1, 0x111f4}, {0x11200, 0x11211}, {0x11213, 0x1122e}, |
3667 | {0x11232, 0x11233}, {0x11238, 0x1123d}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, |
3668 | {0x1128f, 0x1129d}, {0x1129f, 0x112a9}, {0x112b0, 0x112de}, {0x112e0, 0x112e2}, |
3669 | {0x112f0, 0x112f9}, {0x11302, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, |
3670 | {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, |
3671 | {0x11341, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x1135d, 0x11363}, |
3672 | {0x11400, 0x11437}, {0x11440, 0x11441}, {0x11447, 0x11459}, {0x11480, 0x114af}, |
3673 | {0x114b1, 0x114b2}, {0x114bb, 0x114bc}, {0x114c4, 0x114c7}, {0x114d0, 0x114d9}, |
3674 | {0x11580, 0x115ae}, {0x115b0, 0x115b1}, {0x115b8, 0x115bb}, {0x115c1, 0x115db}, |
3675 | {0x11600, 0x11632}, {0x1163b, 0x1163c}, {0x11641, 0x11644}, {0x11650, 0x11659}, |
3676 | {0x11660, 0x1166c}, {0x11680, 0x116aa}, {0x116ae, 0x116af}, {0x116c0, 0x116c9}, |
3677 | {0x11700, 0x1171a}, {0x11720, 0x11721}, {0x11730, 0x1173f}, {0x11800, 0x1182e}, |
3678 | {0x118a0, 0x118f2}, {0x11a0b, 0x11a32}, {0x11a39, 0x11a3a}, {0x11a3f, 0x11a46}, |
3679 | {0x11a57, 0x11a58}, {0x11a5c, 0x11a83}, {0x11a86, 0x11a89}, {0x11a9a, 0x11aa2}, |
3680 | {0x11ac0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2f}, {0x11c40, 0x11c45}, |
3681 | {0x11c50, 0x11c6c}, {0x11c70, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, |
3682 | {0x11d0b, 0x11d30}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, |
3683 | {0x11d6a, 0x11d8e}, {0x11d93, 0x11d94}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef2}, |
3684 | {0x11ef5, 0x11ef8}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12470, 0x12474}, |
3685 | {0x12480, 0x12543}, {0x13000, 0x1342e}, {0x14400, 0x14646}, {0x16800, 0x16a38}, |
3686 | {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a6e, 0x16a6f}, {0x16ad0, 0x16aed}, |
3687 | {0x16b00, 0x16b2f}, {0x16b37, 0x16b45}, {0x16b50, 0x16b59}, {0x16b5b, 0x16b61}, |
3688 | {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e9a}, {0x16f00, 0x16f44}, |
3689 | {0x16f50, 0x16f7e}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x17000, 0x187f1}, |
3690 | {0x18800, 0x18af2}, {0x1b000, 0x1b11e}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, |
3691 | {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d000, 0x1d0f5}, |
3692 | {0x1d100, 0x1d126}, {0x1d129, 0x1d164}, {0x1d16a, 0x1d16d}, {0x1d183, 0x1d184}, |
3693 | {0x1d18c, 0x1d1a9}, {0x1d1ae, 0x1d1e8}, {0x1d200, 0x1d241}, {0x1d2e0, 0x1d2f3}, |
3694 | {0x1d300, 0x1d356}, {0x1d360, 0x1d378}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
3695 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
3696 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
3697 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
3698 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d7cb}, {0x1d7ce, 0x1d9ff}, |
3699 | {0x1da37, 0x1da3a}, {0x1da6d, 0x1da74}, {0x1da76, 0x1da83}, {0x1da85, 0x1da8b}, |
3700 | {0x1e800, 0x1e8c4}, {0x1e8c7, 0x1e8cf}, {0x1e900, 0x1e943}, {0x1e950, 0x1e959}, |
3701 | {0x1e95e, 0x1e95f}, {0x1ec71, 0x1ecb4}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, |
3702 | {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, |
3703 | {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, |
3704 | {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, |
3705 | {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1eef0, 0x1eef1}, |
3706 | {0x1f000, 0x1f02b}, {0x1f030, 0x1f093}, {0x1f0a0, 0x1f0ae}, {0x1f0b1, 0x1f0bf}, |
3707 | {0x1f0c1, 0x1f0cf}, {0x1f0d1, 0x1f0f5}, {0x1f100, 0x1f10c}, {0x1f110, 0x1f16b}, |
3708 | {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f202}, {0x1f210, 0x1f23b}, {0x1f240, 0x1f248}, |
3709 | {0x1f250, 0x1f251}, {0x1f260, 0x1f265}, {0x1f300, 0x1f6d4}, {0x1f6e0, 0x1f6ec}, |
3710 | {0x1f6f0, 0x1f6f9}, {0x1f700, 0x1f773}, {0x1f780, 0x1f7d8}, {0x1f800, 0x1f80b}, |
3711 | {0x1f810, 0x1f847}, {0x1f850, 0x1f859}, {0x1f860, 0x1f887}, {0x1f890, 0x1f8ad}, |
3712 | {0x1f900, 0x1f90b}, {0x1f910, 0x1f93e}, {0x1f940, 0x1f970}, {0x1f973, 0x1f976}, |
3713 | {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, {0x1f9d0, 0x1f9ff}, |
3714 | {0x1fa60, 0x1fa6d}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, |
3715 | {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}}), |
3716 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3717 | return characterClass; |
3718 | } |
3719 | |
3720 | static std::unique_ptr<CharacterClass> createCharacterClass60() |
3721 | { |
3722 | // Name = Changes_When_NFKC_Casefolded, number of codePoints: 10306 |
3723 | auto characterClass = std::make_unique<CharacterClass>( |
3724 | std::initializer_list<UChar32>({}), |
3725 | std::initializer_list<CharacterRange>({{0x41, 0x5a}}), |
3726 | std::initializer_list<UChar32>({0x00a0, 0x00a8, 0x00aa, 0x00ad, 0x00af, 0x0100, 0x0102, 0x0104, |
3727 | 0x0106, 0x0108, 0x010a, 0x010c, 0x010e, 0x0110, 0x0112, 0x0114, |
3728 | 0x0116, 0x0118, 0x011a, 0x011c, 0x011e, 0x0120, 0x0122, 0x0124, |
3729 | 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, 0x0130, 0x0136, 0x0139, |
3730 | 0x013b, 0x013d, 0x0143, 0x0145, 0x0147, 0x014c, 0x014e, 0x0150, |
3731 | 0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160, |
3732 | 0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170, |
3733 | 0x0172, 0x0174, 0x0176, 0x017b, 0x017d, 0x017f, 0x0184, 0x01a2, |
3734 | 0x01a4, 0x01a9, 0x01ac, 0x01b5, 0x01bc, 0x01cf, 0x01d1, 0x01d3, |
3735 | 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x01de, 0x01e0, 0x01e2, 0x01e4, |
3736 | 0x01e6, 0x01e8, 0x01ea, 0x01ec, 0x01ee, 0x01fa, 0x01fc, 0x01fe, |
3737 | 0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020a, 0x020c, 0x020e, |
3738 | 0x0210, 0x0212, 0x0214, 0x0216, 0x0218, 0x021a, 0x021c, 0x021e, |
3739 | 0x0220, 0x0222, 0x0224, 0x0226, 0x0228, 0x022a, 0x022c, 0x022e, |
3740 | 0x0230, 0x0232, 0x0241, 0x0248, 0x024a, 0x024c, 0x024e, 0x034f, |
3741 | 0x0370, 0x0372, 0x0374, 0x0376, 0x037a, 0x038c, 0x03c2, 0x03d8, |
3742 | 0x03da, 0x03dc, 0x03de, 0x03e0, 0x03e2, 0x03e4, 0x03e6, 0x03e8, |
3743 | 0x03ea, 0x03ec, 0x03ee, 0x03f7, 0x0460, 0x0462, 0x0464, 0x0466, |
3744 | 0x0468, 0x046a, 0x046c, 0x046e, 0x0470, 0x0472, 0x0474, 0x0476, |
3745 | 0x0478, 0x047a, 0x047c, 0x047e, 0x0480, 0x048a, 0x048c, 0x048e, |
3746 | 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049a, 0x049c, 0x049e, |
3747 | 0x04a0, 0x04a2, 0x04a4, 0x04a6, 0x04a8, 0x04aa, 0x04ac, 0x04ae, |
3748 | 0x04b0, 0x04b2, 0x04b4, 0x04b6, 0x04b8, 0x04ba, 0x04bc, 0x04be, |
3749 | 0x04c3, 0x04c5, 0x04c7, 0x04c9, 0x04cb, 0x04cd, 0x04d0, 0x04d2, |
3750 | 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc, 0x04de, 0x04e0, 0x04e2, |
3751 | 0x04e4, 0x04e6, 0x04e8, 0x04ea, 0x04ec, 0x04ee, 0x04f0, 0x04f2, |
3752 | 0x04f4, 0x04f6, 0x04f8, 0x04fa, 0x04fc, 0x04fe, 0x0500, 0x0502, |
3753 | 0x0504, 0x0506, 0x0508, 0x050a, 0x050c, 0x050e, 0x0510, 0x0512, |
3754 | 0x0514, 0x0516, 0x0518, 0x051a, 0x051c, 0x051e, 0x0520, 0x0522, |
3755 | 0x0524, 0x0526, 0x0528, 0x052a, 0x052c, 0x052e, 0x0587, 0x061c, |
3756 | 0x09df, 0x0a33, 0x0a36, 0x0a5e, 0x0e33, 0x0eb3, 0x0f0c, 0x0f43, |
3757 | 0x0f4d, 0x0f52, 0x0f57, 0x0f5c, 0x0f69, 0x0f73, 0x0f81, 0x0f93, |
3758 | 0x0f9d, 0x0fa2, 0x0fa7, 0x0fac, 0x0fb9, 0x10c7, 0x10cd, 0x10fc, |
3759 | 0x1d78, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, |
3760 | 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, |
3761 | 0x1e1e, 0x1e20, 0x1e22, 0x1e24, 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, |
3762 | 0x1e2e, 0x1e30, 0x1e32, 0x1e34, 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, |
3763 | 0x1e3e, 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, |
3764 | 0x1e4e, 0x1e50, 0x1e52, 0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, |
3765 | 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, |
3766 | 0x1e6e, 0x1e70, 0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, |
3767 | 0x1e7e, 0x1e80, 0x1e82, 0x1e84, 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, |
3768 | 0x1e8e, 0x1e90, 0x1e92, 0x1e94, 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, |
3769 | 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, |
3770 | 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, |
3771 | 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, |
3772 | 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, |
3773 | 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, |
3774 | 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, 0x1efe, 0x1f59, 0x1f5b, 0x1f5d, |
3775 | 0x1f5f, 0x1f71, 0x1f73, 0x1f75, 0x1f77, 0x1f79, 0x1f7b, 0x1f7d, |
3776 | 0x1fd3, 0x1fe3, 0x2011, 0x2017, 0x203c, 0x203e, 0x2057, 0x20a8, |
3777 | 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2a0c, 0x2adc, 0x2c60, |
3778 | 0x2c67, 0x2c69, 0x2c6b, 0x2c72, 0x2c75, 0x2c82, 0x2c84, 0x2c86, |
3779 | 0x2c88, 0x2c8a, 0x2c8c, 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, |
3780 | 0x2c98, 0x2c9a, 0x2c9c, 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, |
3781 | 0x2ca8, 0x2caa, 0x2cac, 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, |
3782 | 0x2cb8, 0x2cba, 0x2cbc, 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, |
3783 | 0x2cc8, 0x2cca, 0x2ccc, 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, |
3784 | 0x2cd8, 0x2cda, 0x2cdc, 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, |
3785 | 0x2cf2, 0x2d6f, 0x2e9f, 0x2ef3, 0x3000, 0x3036, 0x309f, 0x30ff, |
3786 | 0xa640, 0xa642, 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, |
3787 | 0xa650, 0xa652, 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, |
3788 | 0xa660, 0xa662, 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, |
3789 | 0xa682, 0xa684, 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, |
3790 | 0xa692, 0xa694, 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, |
3791 | 0xa728, 0xa72a, 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, |
3792 | 0xa73a, 0xa73c, 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, |
3793 | 0xa74a, 0xa74c, 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, |
3794 | 0xa75a, 0xa75c, 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, |
3795 | 0xa76a, 0xa76c, 0xa76e, 0xa770, 0xa779, 0xa77b, 0xa780, 0xa782, |
3796 | 0xa784, 0xa786, 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, |
3797 | 0xa79a, 0xa79c, 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, |
3798 | 0xa7b6, 0xa7b8, 0xfa10, 0xfa12, 0xfa20, 0xfa22, 0xfb1d, 0xfb3e, |
3799 | 0xfe74, 0xfeff, 0x1d4a2, 0x1d4bb, 0x1d546, 0x1ee24, 0x1ee27, 0x1ee39, |
3800 | 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, |
3801 | 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, 0x1ee7e, 0x1f190}), |
3802 | std::initializer_list<CharacterRange>({{0x00b2, 0x00b5}, {0x00b8, 0x00ba}, {0x00bc, 0x00be}, {0x00c0, 0x00d6}, |
3803 | {0x00d8, 0x00df}, {0x0132, 0x0134}, {0x013f, 0x0141}, {0x0149, 0x014a}, |
3804 | {0x0178, 0x0179}, {0x0181, 0x0182}, {0x0186, 0x0187}, {0x0189, 0x018b}, |
3805 | {0x018e, 0x0191}, {0x0193, 0x0194}, {0x0196, 0x0198}, {0x019c, 0x019d}, |
3806 | {0x019f, 0x01a0}, {0x01a6, 0x01a7}, {0x01ae, 0x01af}, {0x01b1, 0x01b3}, |
3807 | {0x01b7, 0x01b8}, {0x01c4, 0x01cd}, {0x01f1, 0x01f4}, {0x01f6, 0x01f8}, |
3808 | {0x023a, 0x023b}, {0x023d, 0x023e}, {0x0243, 0x0246}, {0x02b0, 0x02b8}, |
3809 | {0x02d8, 0x02dd}, {0x02e0, 0x02e4}, {0x0340, 0x0341}, {0x0343, 0x0345}, |
3810 | {0x037e, 0x037f}, {0x0384, 0x038a}, {0x038e, 0x038f}, {0x0391, 0x03a1}, |
3811 | {0x03a3, 0x03ab}, {0x03cf, 0x03d6}, {0x03f0, 0x03f2}, {0x03f4, 0x03f5}, |
3812 | {0x03f9, 0x03fa}, {0x03fd, 0x042f}, {0x04c0, 0x04c1}, {0x0531, 0x0556}, |
3813 | {0x0675, 0x0678}, {0x0958, 0x095f}, {0x09dc, 0x09dd}, {0x0a59, 0x0a5b}, |
3814 | {0x0b5c, 0x0b5d}, {0x0edc, 0x0edd}, {0x0f75, 0x0f79}, {0x10a0, 0x10c5}, |
3815 | {0x115f, 0x1160}, {0x13f8, 0x13fd}, {0x17b4, 0x17b5}, {0x180b, 0x180e}, |
3816 | {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1d2c, 0x1d2e}, |
3817 | {0x1d30, 0x1d3a}, {0x1d3c, 0x1d4d}, {0x1d4f, 0x1d6a}, {0x1d9b, 0x1dbf}, |
3818 | {0x1e9a, 0x1e9b}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, {0x1f28, 0x1f2f}, |
3819 | {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f68, 0x1f6f}, {0x1f80, 0x1faf}, |
3820 | {0x1fb2, 0x1fb4}, {0x1fb7, 0x1fc4}, {0x1fc7, 0x1fcf}, {0x1fd8, 0x1fdb}, |
3821 | {0x1fdd, 0x1fdf}, {0x1fe8, 0x1fef}, {0x1ff2, 0x1ff4}, {0x1ff7, 0x1ffe}, |
3822 | {0x2000, 0x200f}, {0x2024, 0x2026}, {0x202a, 0x202f}, {0x2033, 0x2034}, |
3823 | {0x2036, 0x2037}, {0x2047, 0x2049}, {0x205f, 0x2071}, {0x2074, 0x208e}, |
3824 | {0x2090, 0x209c}, {0x2100, 0x2103}, {0x2105, 0x2107}, {0x2109, 0x2113}, |
3825 | {0x2115, 0x2116}, {0x2119, 0x211d}, {0x2120, 0x2122}, {0x212a, 0x212d}, |
3826 | {0x212f, 0x2139}, {0x213b, 0x2140}, {0x2145, 0x2149}, {0x2150, 0x217f}, |
3827 | {0x222c, 0x222d}, {0x222f, 0x2230}, {0x2329, 0x232a}, {0x2460, 0x24ea}, |
3828 | {0x2a74, 0x2a76}, {0x2c00, 0x2c2e}, {0x2c62, 0x2c64}, {0x2c6d, 0x2c70}, |
3829 | {0x2c7c, 0x2c80}, {0x2f00, 0x2fd5}, {0x3038, 0x303a}, {0x309b, 0x309c}, |
3830 | {0x3131, 0x318e}, {0x3192, 0x319f}, {0x3200, 0x321e}, {0x3220, 0x3247}, |
3831 | {0x3250, 0x327e}, {0x3280, 0x32fe}, {0x3300, 0x33ff}, {0xa69c, 0xa69d}, |
3832 | {0xa77d, 0xa77e}, {0xa7aa, 0xa7ae}, {0xa7b0, 0xa7b4}, {0xa7f8, 0xa7f9}, |
3833 | {0xab5c, 0xab5f}, {0xab70, 0xabbf}, {0xf900, 0xfa0d}, {0xfa15, 0xfa1e}, |
3834 | {0xfa25, 0xfa26}, {0xfa2a, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, |
3835 | {0xfb13, 0xfb17}, {0xfb1f, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, |
3836 | {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, |
3837 | {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfc}, {0xfe00, 0xfe19}, {0xfe30, 0xfe44}, |
3838 | {0xfe47, 0xfe52}, {0xfe54, 0xfe66}, {0xfe68, 0xfe6b}, {0xfe70, 0xfe72}, |
3839 | {0xfe76, 0xfefc}, {0xff01, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, |
3840 | {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0xffe0, 0xffe6}, {0xffe8, 0xffee}, |
3841 | {0xfff0, 0xfff8}, {0x10400, 0x10427}, {0x104b0, 0x104d3}, {0x10c80, 0x10cb2}, |
3842 | {0x118a0, 0x118bf}, {0x16e40, 0x16e5f}, {0x1bca0, 0x1bca3}, {0x1d15e, 0x1d164}, |
3843 | {0x1d173, 0x1d17a}, {0x1d1bb, 0x1d1c0}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
3844 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
3845 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
3846 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
3847 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, |
3848 | {0x1e900, 0x1e921}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, |
3849 | {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, |
3850 | {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, |
3851 | {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, |
3852 | {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1f100, 0x1f10a}, {0x1f110, 0x1f12e}, |
3853 | {0x1f130, 0x1f14f}, {0x1f16a, 0x1f16b}, {0x1f200, 0x1f202}, {0x1f210, 0x1f23b}, |
3854 | {0x1f240, 0x1f248}, {0x1f250, 0x1f251}, {0x2f800, 0x2fa1d}, {0xe0000, 0xe0fff}}), |
3855 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3856 | return characterClass; |
3857 | } |
3858 | |
3859 | static std::unique_ptr<CharacterClass> createCharacterClass61() |
3860 | { |
3861 | // Name = White_Space, number of codePoints: 25 |
3862 | auto characterClass = std::make_unique<CharacterClass>( |
3863 | std::initializer_list<UChar32>({0x20}), |
3864 | std::initializer_list<CharacterRange>({{0x09, 0x0d}}), |
3865 | std::initializer_list<UChar32>({0x0085, 0x00a0, 0x1680, 0x202f, 0x205f, 0x3000}), |
3866 | std::initializer_list<CharacterRange>({{0x2000, 0x200a}, {0x2028, 0x2029}}), |
3867 | CharacterClassWidths::HasBMPChars); |
3868 | return characterClass; |
3869 | } |
3870 | |
3871 | static std::unique_ptr<CharacterClass> createCharacterClass62() |
3872 | { |
3873 | // Name = Bidi_Control, number of codePoints: 12 |
3874 | auto characterClass = std::make_unique<CharacterClass>( |
3875 | std::initializer_list<UChar32>({}), |
3876 | std::initializer_list<CharacterRange>({}), |
3877 | std::initializer_list<UChar32>({0x061c}), |
3878 | std::initializer_list<CharacterRange>({{0x200e, 0x200f}, {0x202a, 0x202e}, {0x2066, 0x2069}}), |
3879 | CharacterClassWidths::HasBMPChars); |
3880 | return characterClass; |
3881 | } |
3882 | |
3883 | static std::unique_ptr<CharacterClass> createCharacterClass63() |
3884 | { |
3885 | // Name = Join_Control, number of codePoints: 2 |
3886 | auto characterClass = std::make_unique<CharacterClass>( |
3887 | std::initializer_list<UChar32>({}), |
3888 | std::initializer_list<CharacterRange>({}), |
3889 | std::initializer_list<UChar32>({}), |
3890 | std::initializer_list<CharacterRange>({{0x200c, 0x200d}}), |
3891 | CharacterClassWidths::HasBMPChars); |
3892 | return characterClass; |
3893 | } |
3894 | |
3895 | static std::unique_ptr<CharacterClass> createCharacterClass64() |
3896 | { |
3897 | // Name = Dash, number of codePoints: 28 |
3898 | auto characterClass = std::make_unique<CharacterClass>( |
3899 | std::initializer_list<UChar32>({0x2d}), |
3900 | std::initializer_list<CharacterRange>({}), |
3901 | std::initializer_list<UChar32>({0x058a, 0x05be, 0x1400, 0x1806, 0x2053, 0x207b, 0x208b, 0x2212, |
3902 | 0x2e17, 0x2e1a, 0x2e40, 0x301c, 0x3030, 0x30a0, 0xfe58, 0xfe63, |
3903 | 0xff0d}), |
3904 | std::initializer_list<CharacterRange>({{0x2010, 0x2015}, {0x2e3a, 0x2e3b}, {0xfe31, 0xfe32}}), |
3905 | CharacterClassWidths::HasBMPChars); |
3906 | return characterClass; |
3907 | } |
3908 | |
3909 | static std::unique_ptr<CharacterClass> createCharacterClass65() |
3910 | { |
3911 | // Name = Quotation_Mark, number of codePoints: 30 |
3912 | auto characterClass = std::make_unique<CharacterClass>( |
3913 | std::initializer_list<UChar32>({0x22, 0x27}), |
3914 | std::initializer_list<CharacterRange>({}), |
3915 | std::initializer_list<UChar32>({0x00ab, 0x00bb, 0x2e42, 0xff02, 0xff07}), |
3916 | std::initializer_list<CharacterRange>({{0x2018, 0x201f}, {0x2039, 0x203a}, {0x300c, 0x300f}, {0x301d, 0x301f}, |
3917 | {0xfe41, 0xfe44}, {0xff62, 0xff63}}), |
3918 | CharacterClassWidths::HasBMPChars); |
3919 | return characterClass; |
3920 | } |
3921 | |
3922 | static std::unique_ptr<CharacterClass> createCharacterClass66() |
3923 | { |
3924 | // Name = Terminal_Punctuation, number of codePoints: 264 |
3925 | auto characterClass = std::make_unique<CharacterClass>( |
3926 | std::initializer_list<UChar32>({0x21, 0x2c, 0x2e, 0x3f}), |
3927 | std::initializer_list<CharacterRange>({{0x3a, 0x3b}}), |
3928 | std::initializer_list<UChar32>({0x037e, 0x0387, 0x0589, 0x05c3, 0x060c, 0x061b, 0x06d4, 0x070c, |
3929 | 0x085e, 0x0f08, 0x17da, 0x2e2e, 0x2e3c, 0x2e41, 0x2e4c, 0x2e4e, |
3930 | 0xa92f, 0xaadf, 0xabeb, 0xff01, 0xff0c, 0xff0e, 0xff1f, 0xff61, |
3931 | 0xff64, 0x1039f, 0x103d0, 0x10857, 0x1091f, 0x111cd, 0x112a9, 0x1145b, |
3932 | 0x11c71, 0x16af5, 0x16b44, 0x1bc9f}), |
3933 | std::initializer_list<CharacterRange>({{0x061e, 0x061f}, {0x0700, 0x070a}, {0x07f8, 0x07f9}, {0x0830, 0x083e}, |
3934 | {0x0964, 0x0965}, {0x0e5a, 0x0e5b}, {0x0f0d, 0x0f12}, {0x104a, 0x104b}, |
3935 | {0x1361, 0x1368}, {0x166d, 0x166e}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, |
3936 | {0x17d4, 0x17d6}, {0x1802, 0x1805}, {0x1808, 0x1809}, {0x1944, 0x1945}, |
3937 | {0x1aa8, 0x1aab}, {0x1b5a, 0x1b5b}, {0x1b5d, 0x1b5f}, {0x1c3b, 0x1c3f}, |
3938 | {0x1c7e, 0x1c7f}, {0x203c, 0x203d}, {0x2047, 0x2049}, {0x3001, 0x3002}, |
3939 | {0xa4fe, 0xa4ff}, {0xa60d, 0xa60f}, {0xa6f3, 0xa6f7}, {0xa876, 0xa877}, |
3940 | {0xa8ce, 0xa8cf}, {0xa9c7, 0xa9c9}, {0xaa5d, 0xaa5f}, {0xaaf0, 0xaaf1}, |
3941 | {0xfe50, 0xfe52}, {0xfe54, 0xfe57}, {0xff1a, 0xff1b}, {0x10a56, 0x10a57}, |
3942 | {0x10af0, 0x10af5}, {0x10b3a, 0x10b3f}, {0x10b99, 0x10b9c}, {0x10f55, 0x10f59}, |
3943 | {0x11047, 0x1104d}, {0x110be, 0x110c1}, {0x11141, 0x11143}, {0x111c5, 0x111c6}, |
3944 | {0x111de, 0x111df}, {0x11238, 0x1123c}, {0x1144b, 0x1144d}, {0x115c2, 0x115c5}, |
3945 | {0x115c9, 0x115d7}, {0x11641, 0x11642}, {0x1173c, 0x1173e}, {0x11a42, 0x11a43}, |
3946 | {0x11a9b, 0x11a9c}, {0x11aa1, 0x11aa2}, {0x11c41, 0x11c43}, {0x11ef7, 0x11ef8}, |
3947 | {0x12470, 0x12474}, {0x16a6e, 0x16a6f}, {0x16b37, 0x16b39}, {0x16e97, 0x16e98}, |
3948 | {0x1da87, 0x1da8a}}), |
3949 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3950 | return characterClass; |
3951 | } |
3952 | |
3953 | static std::unique_ptr<CharacterClass> createCharacterClass67() |
3954 | { |
3955 | // Name = Hex_Digit, number of codePoints: 44 |
3956 | auto characterClass = std::make_unique<CharacterClass>( |
3957 | std::initializer_list<UChar32>({}), |
3958 | std::initializer_list<CharacterRange>({{0x30, 0x39}, {0x41, 0x46}, {0x61, 0x66}}), |
3959 | std::initializer_list<UChar32>({}), |
3960 | std::initializer_list<CharacterRange>({{0xff10, 0xff19}, {0xff21, 0xff26}, {0xff41, 0xff46}}), |
3961 | CharacterClassWidths::HasBMPChars); |
3962 | return characterClass; |
3963 | } |
3964 | |
3965 | static std::unique_ptr<CharacterClass> createCharacterClass68() |
3966 | { |
3967 | // Name = ASCII_Hex_Digit, number of codePoints: 22 |
3968 | auto characterClass = std::make_unique<CharacterClass>( |
3969 | std::initializer_list<UChar32>({}), |
3970 | std::initializer_list<CharacterRange>({{0x30, 0x39}, {0x41, 0x46}, {0x61, 0x66}}), |
3971 | std::initializer_list<UChar32>({}), |
3972 | std::initializer_list<CharacterRange>({}), |
3973 | CharacterClassWidths::HasBMPChars); |
3974 | return characterClass; |
3975 | } |
3976 | |
3977 | static std::unique_ptr<CharacterClass> createCharacterClass69() |
3978 | { |
3979 | // Name = Ideographic, number of codePoints: 96184 |
3980 | auto characterClass = std::make_unique<CharacterClass>( |
3981 | std::initializer_list<UChar32>({}), |
3982 | std::initializer_list<CharacterRange>({}), |
3983 | std::initializer_list<UChar32>({}), |
3984 | std::initializer_list<CharacterRange>({{0x3006, 0x3007}, {0x3021, 0x3029}, {0x3038, 0x303a}, {0x3400, 0x4db5}, |
3985 | {0x4e00, 0x9fef}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0x17000, 0x187f1}, |
3986 | {0x18800, 0x18af2}, {0x1b170, 0x1b2fb}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, |
3987 | {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}}), |
3988 | CharacterClassWidths::HasBothBMPAndNonBMP); |
3989 | return characterClass; |
3990 | } |
3991 | |
3992 | static std::unique_ptr<CharacterClass> createCharacterClass70() |
3993 | { |
3994 | // Name = Diacritic, number of codePoints: 818 |
3995 | auto characterClass = std::make_unique<CharacterClass>( |
3996 | std::initializer_list<UChar32>({0x5e, 0x60}), |
3997 | std::initializer_list<CharacterRange>({}), |
3998 | std::initializer_list<UChar32>({0x00a8, 0x00af, 0x00b4, 0x037a, 0x0559, 0x05bf, 0x05c4, 0x093c, |
3999 | 0x094d, 0x0971, 0x09bc, 0x09cd, 0x0a3c, 0x0a4d, 0x0abc, 0x0acd, |
4000 | 0x0b3c, 0x0b4d, 0x0bcd, 0x0c4d, 0x0cbc, 0x0ccd, 0x0d4d, 0x0dca, |
4001 | 0x0e4e, 0x0f35, 0x0f37, 0x0f39, 0x0fc6, 0x1037, 0x108f, 0x17dd, |
4002 | 0x1a7f, 0x1b34, 0x1b44, 0x1ced, 0x1cf4, 0x1fbd, 0x2e2f, 0x30fc, |
4003 | 0xa66f, 0xa67f, 0xa788, 0xa8c4, 0xa953, 0xa9b3, 0xa9c0, 0xa9e5, |
4004 | 0xaaf6, 0xfb1e, 0xff3e, 0xff40, 0xff70, 0xffe3, 0x102e0, 0x11173, |
4005 | 0x111c0, 0x1133c, 0x1134d, 0x11442, 0x11446, 0x1163f, 0x1172b, 0x11a34, |
4006 | 0x11a47, 0x11a99, 0x11c3f, 0x11d42, 0x11d97}), |
4007 | std::initializer_list<CharacterRange>({{0x00b7, 0x00b8}, {0x02b0, 0x034e}, {0x0350, 0x0357}, {0x035d, 0x0362}, |
4008 | {0x0374, 0x0375}, {0x0384, 0x0385}, {0x0483, 0x0487}, {0x0591, 0x05a1}, |
4009 | {0x05a3, 0x05bd}, {0x05c1, 0x05c2}, {0x064b, 0x0652}, {0x0657, 0x0658}, |
4010 | {0x06df, 0x06e0}, {0x06e5, 0x06e6}, {0x06ea, 0x06ec}, {0x0730, 0x074a}, |
4011 | {0x07a6, 0x07b0}, {0x07eb, 0x07f5}, {0x0818, 0x0819}, {0x08e3, 0x08fe}, |
4012 | {0x0951, 0x0954}, {0x0afd, 0x0aff}, {0x0d3b, 0x0d3c}, {0x0e47, 0x0e4c}, |
4013 | {0x0ec8, 0x0ecc}, {0x0f18, 0x0f19}, {0x0f3e, 0x0f3f}, {0x0f82, 0x0f84}, |
4014 | {0x0f86, 0x0f87}, {0x1039, 0x103a}, {0x1087, 0x108d}, {0x109a, 0x109b}, |
4015 | {0x17c9, 0x17d3}, {0x1939, 0x193b}, {0x1a75, 0x1a7c}, {0x1ab0, 0x1abd}, |
4016 | {0x1b6b, 0x1b73}, {0x1baa, 0x1bab}, {0x1c36, 0x1c37}, {0x1c78, 0x1c7d}, |
4017 | {0x1cd0, 0x1ce8}, {0x1cf7, 0x1cf9}, {0x1d2c, 0x1d6a}, {0x1dc4, 0x1dcf}, |
4018 | {0x1df5, 0x1df9}, {0x1dfd, 0x1dff}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, |
4019 | {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x2cef, 0x2cf1}, |
4020 | {0x302a, 0x302f}, {0x3099, 0x309c}, {0xa67c, 0xa67d}, {0xa69c, 0xa69d}, |
4021 | {0xa6f0, 0xa6f1}, {0xa717, 0xa721}, {0xa7f8, 0xa7f9}, {0xa8e0, 0xa8f1}, |
4022 | {0xa92b, 0xa92e}, {0xaa7b, 0xaa7d}, {0xaabf, 0xaac2}, {0xab5b, 0xab5f}, |
4023 | {0xabec, 0xabed}, {0xfe20, 0xfe2f}, {0xff9e, 0xff9f}, {0x10ae5, 0x10ae6}, |
4024 | {0x10d22, 0x10d27}, {0x10f46, 0x10f50}, {0x110b9, 0x110ba}, {0x11133, 0x11134}, |
4025 | {0x111ca, 0x111cc}, {0x11235, 0x11236}, {0x112e9, 0x112ea}, {0x11366, 0x1136c}, |
4026 | {0x11370, 0x11374}, {0x114c2, 0x114c3}, {0x115bf, 0x115c0}, {0x116b6, 0x116b7}, |
4027 | {0x11839, 0x1183a}, {0x11d44, 0x11d45}, {0x16af0, 0x16af4}, {0x16f8f, 0x16f9f}, |
4028 | {0x1d167, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, |
4029 | {0x1d1aa, 0x1d1ad}, {0x1e8d0, 0x1e8d6}, {0x1e944, 0x1e946}, {0x1e948, 0x1e94a}}), |
4030 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4031 | return characterClass; |
4032 | } |
4033 | |
4034 | static std::unique_ptr<CharacterClass> createCharacterClass71() |
4035 | { |
4036 | // Name = Extender, number of codePoints: 44 |
4037 | auto characterClass = std::make_unique<CharacterClass>( |
4038 | std::initializer_list<UChar32>({}), |
4039 | std::initializer_list<CharacterRange>({}), |
4040 | std::initializer_list<UChar32>({0x00b7, 0x0640, 0x07fa, 0x0e46, 0x0ec6, 0x180a, 0x1843, 0x1aa7, |
4041 | 0x1c36, 0x1c7b, 0x3005, 0xa015, 0xa60c, 0xa9cf, 0xa9e6, 0xaa70, |
4042 | 0xaadd, 0xff70, 0x1135d, 0x11a98}), |
4043 | std::initializer_list<CharacterRange>({{0x02d0, 0x02d1}, {0x3031, 0x3035}, {0x309d, 0x309e}, {0x30fc, 0x30fe}, |
4044 | {0xaaf3, 0xaaf4}, {0x115c6, 0x115c8}, {0x16b42, 0x16b43}, {0x16fe0, 0x16fe1}, |
4045 | {0x1e944, 0x1e946}}), |
4046 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4047 | return characterClass; |
4048 | } |
4049 | |
4050 | static std::unique_ptr<CharacterClass> createCharacterClass72() |
4051 | { |
4052 | // Name = Noncharacter_Code_Point, number of codePoints: 66 |
4053 | auto characterClass = std::make_unique<CharacterClass>( |
4054 | std::initializer_list<UChar32>({}), |
4055 | std::initializer_list<CharacterRange>({}), |
4056 | std::initializer_list<UChar32>({}), |
4057 | std::initializer_list<CharacterRange>({{0xfdd0, 0xfdef}, {0xfffe, 0xffff}, {0x1fffe, 0x1ffff}, {0x2fffe, 0x2ffff}, |
4058 | {0x3fffe, 0x3ffff}, {0x4fffe, 0x4ffff}, {0x5fffe, 0x5ffff}, {0x6fffe, 0x6ffff}, |
4059 | {0x7fffe, 0x7ffff}, {0x8fffe, 0x8ffff}, {0x9fffe, 0x9ffff}, {0xafffe, 0xaffff}, |
4060 | {0xbfffe, 0xbffff}, {0xcfffe, 0xcffff}, {0xdfffe, 0xdffff}, {0xefffe, 0xeffff}, |
4061 | {0xffffe, 0xfffff}, {0x10fffe, 0x10ffff}}), |
4062 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4063 | return characterClass; |
4064 | } |
4065 | |
4066 | static std::unique_ptr<CharacterClass> createCharacterClass73() |
4067 | { |
4068 | // Name = IDS_Binary_Operator, number of codePoints: 10 |
4069 | auto characterClass = std::make_unique<CharacterClass>( |
4070 | std::initializer_list<UChar32>({}), |
4071 | std::initializer_list<CharacterRange>({}), |
4072 | std::initializer_list<UChar32>({}), |
4073 | std::initializer_list<CharacterRange>({{0x2ff0, 0x2ff1}, {0x2ff4, 0x2ffb}}), |
4074 | CharacterClassWidths::HasBMPChars); |
4075 | return characterClass; |
4076 | } |
4077 | |
4078 | static std::unique_ptr<CharacterClass> createCharacterClass74() |
4079 | { |
4080 | // Name = IDS_Trinary_Operator, number of codePoints: 2 |
4081 | auto characterClass = std::make_unique<CharacterClass>( |
4082 | std::initializer_list<UChar32>({}), |
4083 | std::initializer_list<CharacterRange>({}), |
4084 | std::initializer_list<UChar32>({}), |
4085 | std::initializer_list<CharacterRange>({{0x2ff2, 0x2ff3}}), |
4086 | CharacterClassWidths::HasBMPChars); |
4087 | return characterClass; |
4088 | } |
4089 | |
4090 | static std::unique_ptr<CharacterClass> createCharacterClass75() |
4091 | { |
4092 | // Name = Radical, number of codePoints: 329 |
4093 | auto characterClass = std::make_unique<CharacterClass>( |
4094 | std::initializer_list<UChar32>({}), |
4095 | std::initializer_list<CharacterRange>({}), |
4096 | std::initializer_list<UChar32>({}), |
4097 | std::initializer_list<CharacterRange>({{0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}}), |
4098 | CharacterClassWidths::HasBMPChars); |
4099 | return characterClass; |
4100 | } |
4101 | |
4102 | static std::unique_ptr<CharacterClass> createCharacterClass76() |
4103 | { |
4104 | // Name = Unified_Ideograph, number of codePoints: 87887 |
4105 | auto characterClass = std::make_unique<CharacterClass>( |
4106 | std::initializer_list<UChar32>({}), |
4107 | std::initializer_list<CharacterRange>({}), |
4108 | std::initializer_list<UChar32>({0xfa11, 0xfa1f, 0xfa21}), |
4109 | std::initializer_list<CharacterRange>({{0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xfa0e, 0xfa0f}, {0xfa13, 0xfa14}, |
4110 | {0xfa23, 0xfa24}, {0xfa27, 0xfa29}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, |
4111 | {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}}), |
4112 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4113 | return characterClass; |
4114 | } |
4115 | |
4116 | static std::unique_ptr<CharacterClass> createCharacterClass77() |
4117 | { |
4118 | // Name = Deprecated, number of codePoints: 15 |
4119 | auto characterClass = std::make_unique<CharacterClass>( |
4120 | std::initializer_list<UChar32>({}), |
4121 | std::initializer_list<CharacterRange>({}), |
4122 | std::initializer_list<UChar32>({0x0149, 0x0673, 0x0f77, 0x0f79, 0xe0001}), |
4123 | std::initializer_list<CharacterRange>({{0x17a3, 0x17a4}, {0x206a, 0x206f}, {0x2329, 0x232a}}), |
4124 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4125 | return characterClass; |
4126 | } |
4127 | |
4128 | static std::unique_ptr<CharacterClass> createCharacterClass78() |
4129 | { |
4130 | // Name = Soft_Dotted, number of codePoints: 46 |
4131 | auto characterClass = std::make_unique<CharacterClass>( |
4132 | std::initializer_list<UChar32>({}), |
4133 | std::initializer_list<CharacterRange>({{0x69, 0x6a}}), |
4134 | std::initializer_list<UChar32>({0x012f, 0x0249, 0x0268, 0x029d, 0x02b2, 0x03f3, 0x0456, 0x0458, |
4135 | 0x1d62, 0x1d96, 0x1da4, 0x1da8, 0x1e2d, 0x1ecb, 0x2071, 0x2c7c}), |
4136 | std::initializer_list<CharacterRange>({{0x2148, 0x2149}, {0x1d422, 0x1d423}, {0x1d456, 0x1d457}, {0x1d48a, 0x1d48b}, |
4137 | {0x1d4be, 0x1d4bf}, {0x1d4f2, 0x1d4f3}, {0x1d526, 0x1d527}, {0x1d55a, 0x1d55b}, |
4138 | {0x1d58e, 0x1d58f}, {0x1d5c2, 0x1d5c3}, {0x1d5f6, 0x1d5f7}, {0x1d62a, 0x1d62b}, |
4139 | {0x1d65e, 0x1d65f}, {0x1d692, 0x1d693}}), |
4140 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4141 | return characterClass; |
4142 | } |
4143 | |
4144 | static std::unique_ptr<CharacterClass> createCharacterClass79() |
4145 | { |
4146 | // Name = Logical_Order_Exception, number of codePoints: 19 |
4147 | auto characterClass = std::make_unique<CharacterClass>( |
4148 | std::initializer_list<UChar32>({}), |
4149 | std::initializer_list<CharacterRange>({}), |
4150 | std::initializer_list<UChar32>({0x19ba, 0xaab9}), |
4151 | std::initializer_list<CharacterRange>({{0x0e40, 0x0e44}, {0x0ec0, 0x0ec4}, {0x19b5, 0x19b7}, {0xaab5, 0xaab6}, |
4152 | {0xaabb, 0xaabc}}), |
4153 | CharacterClassWidths::HasBMPChars); |
4154 | return characterClass; |
4155 | } |
4156 | |
4157 | static std::unique_ptr<CharacterClass> createCharacterClass80() |
4158 | { |
4159 | // Name = Sentence_Terminal, number of codePoints: 141 |
4160 | auto characterClass = std::make_unique<CharacterClass>( |
4161 | std::initializer_list<UChar32>({0x21, 0x2e, 0x3f}), |
4162 | std::initializer_list<CharacterRange>({}), |
4163 | std::initializer_list<UChar32>({0x0589, 0x06d4, 0x07f9, 0x0837, 0x0839, 0x1362, 0x166e, 0x1803, |
4164 | 0x1809, 0x2e2e, 0x2e3c, 0x3002, 0xa4ff, 0xa6f3, 0xa6f7, 0xa92f, |
4165 | 0xabeb, 0xfe52, 0xff01, 0xff0e, 0xff1f, 0xff61, 0x111cd, 0x112a9, |
4166 | 0x16af5, 0x16b44, 0x16e98, 0x1bc9f, 0x1da88}), |
4167 | std::initializer_list<CharacterRange>({{0x061e, 0x061f}, {0x0700, 0x0702}, {0x083d, 0x083e}, {0x0964, 0x0965}, |
4168 | {0x104a, 0x104b}, {0x1367, 0x1368}, {0x1735, 0x1736}, {0x1944, 0x1945}, |
4169 | {0x1aa8, 0x1aab}, {0x1b5a, 0x1b5b}, {0x1b5e, 0x1b5f}, {0x1c3b, 0x1c3c}, |
4170 | {0x1c7e, 0x1c7f}, {0x203c, 0x203d}, {0x2047, 0x2049}, {0xa60e, 0xa60f}, |
4171 | {0xa876, 0xa877}, {0xa8ce, 0xa8cf}, {0xa9c8, 0xa9c9}, {0xaa5d, 0xaa5f}, |
4172 | {0xaaf0, 0xaaf1}, {0xfe56, 0xfe57}, {0x10a56, 0x10a57}, {0x10f55, 0x10f59}, |
4173 | {0x11047, 0x11048}, {0x110be, 0x110c1}, {0x11141, 0x11143}, {0x111c5, 0x111c6}, |
4174 | {0x111de, 0x111df}, {0x11238, 0x11239}, {0x1123b, 0x1123c}, {0x1144b, 0x1144c}, |
4175 | {0x115c2, 0x115c3}, {0x115c9, 0x115d7}, {0x11641, 0x11642}, {0x1173c, 0x1173e}, |
4176 | {0x11a42, 0x11a43}, {0x11a9b, 0x11a9c}, {0x11c41, 0x11c42}, {0x11ef7, 0x11ef8}, |
4177 | {0x16a6e, 0x16a6f}, {0x16b37, 0x16b38}}), |
4178 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4179 | return characterClass; |
4180 | } |
4181 | |
4182 | static std::unique_ptr<CharacterClass> createCharacterClass81() |
4183 | { |
4184 | // Name = Variation_Selector, number of codePoints: 259 |
4185 | auto characterClass = std::make_unique<CharacterClass>( |
4186 | std::initializer_list<UChar32>({}), |
4187 | std::initializer_list<CharacterRange>({}), |
4188 | std::initializer_list<UChar32>({}), |
4189 | std::initializer_list<CharacterRange>({{0x180b, 0x180d}, {0xfe00, 0xfe0f}, {0xe0100, 0xe01ef}}), |
4190 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4191 | return characterClass; |
4192 | } |
4193 | |
4194 | static std::unique_ptr<CharacterClass> createCharacterClass82() |
4195 | { |
4196 | // Name = Pattern_White_Space, number of codePoints: 11 |
4197 | auto characterClass = std::make_unique<CharacterClass>( |
4198 | std::initializer_list<UChar32>({0x20}), |
4199 | std::initializer_list<CharacterRange>({{0x09, 0x0d}}), |
4200 | std::initializer_list<UChar32>({0x0085}), |
4201 | std::initializer_list<CharacterRange>({{0x200e, 0x200f}, {0x2028, 0x2029}}), |
4202 | CharacterClassWidths::HasBMPChars); |
4203 | return characterClass; |
4204 | } |
4205 | |
4206 | static std::unique_ptr<CharacterClass> createCharacterClass83() |
4207 | { |
4208 | // Name = Pattern_Syntax, number of codePoints: 2760 |
4209 | auto characterClass = std::make_unique<CharacterClass>( |
4210 | std::initializer_list<UChar32>({0x60}), |
4211 | std::initializer_list<CharacterRange>({{0x21, 0x2f}, {0x3a, 0x40}, {0x5b, 0x5e}, {0x7b, 0x7e}}), |
4212 | std::initializer_list<UChar32>({0x00a9, 0x00ae, 0x00b6, 0x00bb, 0x00bf, 0x00d7, 0x00f7, 0x3030}), |
4213 | std::initializer_list<CharacterRange>({{0x00a1, 0x00a7}, {0x00ab, 0x00ac}, {0x00b0, 0x00b1}, {0x2010, 0x2027}, |
4214 | {0x2030, 0x203e}, {0x2041, 0x2053}, {0x2055, 0x205e}, {0x2190, 0x245f}, |
4215 | {0x2500, 0x2775}, {0x2794, 0x2bff}, {0x2e00, 0x2e7f}, {0x3001, 0x3003}, |
4216 | {0x3008, 0x3020}, {0xfd3e, 0xfd3f}, {0xfe45, 0xfe46}}), |
4217 | CharacterClassWidths::HasBMPChars); |
4218 | return characterClass; |
4219 | } |
4220 | |
4221 | static std::unique_ptr<CharacterClass> createCharacterClass84() |
4222 | { |
4223 | // Name = Regional_Indicator, number of codePoints: 26 |
4224 | auto characterClass = std::make_unique<CharacterClass>( |
4225 | std::initializer_list<UChar32>({}), |
4226 | std::initializer_list<CharacterRange>({}), |
4227 | std::initializer_list<UChar32>({}), |
4228 | std::initializer_list<CharacterRange>({{0x1f1e6, 0x1f1ff}}), |
4229 | CharacterClassWidths::HasNonBMPChars); |
4230 | return characterClass; |
4231 | } |
4232 | |
4233 | static std::unique_ptr<CharacterClass> createCharacterClass85() |
4234 | { |
4235 | // Name = Emoji, number of codePoints: 1250 |
4236 | auto characterClass = std::make_unique<CharacterClass>( |
4237 | std::initializer_list<UChar32>({0x23, 0x2a}), |
4238 | std::initializer_list<CharacterRange>({{0x30, 0x39}}), |
4239 | std::initializer_list<UChar32>({0x00a9, 0x00ae, 0x203c, 0x2049, 0x2122, 0x2139, 0x2328, 0x23cf, |
4240 | 0x24c2, 0x25b6, 0x25c0, 0x260e, 0x2611, 0x2618, 0x261d, 0x2620, |
4241 | 0x2626, 0x262a, 0x2640, 0x2642, 0x2663, 0x2668, 0x267b, 0x2699, |
4242 | 0x26c8, 0x26d1, 0x26fd, 0x2702, 0x2705, 0x270f, 0x2712, 0x2714, |
4243 | 0x2716, 0x271d, 0x2721, 0x2728, 0x2744, 0x2747, 0x274c, 0x274e, |
4244 | 0x2757, 0x27a1, 0x27b0, 0x27bf, 0x2b50, 0x2b55, 0x3030, 0x303d, |
4245 | 0x3297, 0x3299, 0x1f004, 0x1f0cf, 0x1f18e, 0x1f21a, 0x1f22f, 0x1f587, |
4246 | 0x1f590, 0x1f5a8, 0x1f5bc, 0x1f5e1, 0x1f5e3, 0x1f5e8, 0x1f5ef, 0x1f5f3, |
4247 | 0x1f6e9, 0x1f6f0, 0x1f97a}), |
4248 | std::initializer_list<CharacterRange>({{0x2194, 0x2199}, {0x21a9, 0x21aa}, {0x231a, 0x231b}, {0x23e9, 0x23f3}, |
4249 | {0x23f8, 0x23fa}, {0x25aa, 0x25ab}, {0x25fb, 0x25fe}, {0x2600, 0x2604}, |
4250 | {0x2614, 0x2615}, {0x2622, 0x2623}, {0x262e, 0x262f}, {0x2638, 0x263a}, |
4251 | {0x2648, 0x2653}, {0x265f, 0x2660}, {0x2665, 0x2666}, {0x267e, 0x267f}, |
4252 | {0x2692, 0x2697}, {0x269b, 0x269c}, {0x26a0, 0x26a1}, {0x26aa, 0x26ab}, |
4253 | {0x26b0, 0x26b1}, {0x26bd, 0x26be}, {0x26c4, 0x26c5}, {0x26ce, 0x26cf}, |
4254 | {0x26d3, 0x26d4}, {0x26e9, 0x26ea}, {0x26f0, 0x26f5}, {0x26f7, 0x26fa}, |
4255 | {0x2708, 0x270d}, {0x2733, 0x2734}, {0x2753, 0x2755}, {0x2763, 0x2764}, |
4256 | {0x2795, 0x2797}, {0x2934, 0x2935}, {0x2b05, 0x2b07}, {0x2b1b, 0x2b1c}, |
4257 | {0x1f170, 0x1f171}, {0x1f17e, 0x1f17f}, {0x1f191, 0x1f19a}, {0x1f1e6, 0x1f1ff}, |
4258 | {0x1f201, 0x1f202}, {0x1f232, 0x1f23a}, {0x1f250, 0x1f251}, {0x1f300, 0x1f321}, |
4259 | {0x1f324, 0x1f393}, {0x1f396, 0x1f397}, {0x1f399, 0x1f39b}, {0x1f39e, 0x1f3f0}, |
4260 | {0x1f3f3, 0x1f3f5}, {0x1f3f7, 0x1f4fd}, {0x1f4ff, 0x1f53d}, {0x1f549, 0x1f54e}, |
4261 | {0x1f550, 0x1f567}, {0x1f56f, 0x1f570}, {0x1f573, 0x1f57a}, {0x1f58a, 0x1f58d}, |
4262 | {0x1f595, 0x1f596}, {0x1f5a4, 0x1f5a5}, {0x1f5b1, 0x1f5b2}, {0x1f5c2, 0x1f5c4}, |
4263 | {0x1f5d1, 0x1f5d3}, {0x1f5dc, 0x1f5de}, {0x1f5fa, 0x1f64f}, {0x1f680, 0x1f6c5}, |
4264 | {0x1f6cb, 0x1f6d2}, {0x1f6e0, 0x1f6e5}, {0x1f6eb, 0x1f6ec}, {0x1f6f3, 0x1f6f9}, |
4265 | {0x1f910, 0x1f93a}, {0x1f93c, 0x1f93e}, {0x1f940, 0x1f945}, {0x1f947, 0x1f970}, |
4266 | {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, |
4267 | {0x1f9d0, 0x1f9ff}}), |
4268 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4269 | return characterClass; |
4270 | } |
4271 | |
4272 | static std::unique_ptr<CharacterClass> createCharacterClass86() |
4273 | { |
4274 | // Name = Emoji_Presentation, number of codePoints: 1032 |
4275 | auto characterClass = std::make_unique<CharacterClass>( |
4276 | std::initializer_list<UChar32>({}), |
4277 | std::initializer_list<CharacterRange>({}), |
4278 | std::initializer_list<UChar32>({0x23f0, 0x23f3, 0x267f, 0x2693, 0x26a1, 0x26ce, 0x26d4, 0x26ea, |
4279 | 0x26f5, 0x26fa, 0x26fd, 0x2705, 0x2728, 0x274c, 0x274e, 0x2757, |
4280 | 0x27b0, 0x27bf, 0x2b50, 0x2b55, 0x1f004, 0x1f0cf, 0x1f18e, 0x1f201, |
4281 | 0x1f21a, 0x1f22f, 0x1f3f4, 0x1f440, 0x1f57a, 0x1f5a4, 0x1f6cc, 0x1f97a}), |
4282 | std::initializer_list<CharacterRange>({{0x231a, 0x231b}, {0x23e9, 0x23ec}, {0x25fd, 0x25fe}, {0x2614, 0x2615}, |
4283 | {0x2648, 0x2653}, {0x26aa, 0x26ab}, {0x26bd, 0x26be}, {0x26c4, 0x26c5}, |
4284 | {0x26f2, 0x26f3}, {0x270a, 0x270b}, {0x2753, 0x2755}, {0x2795, 0x2797}, |
4285 | {0x2b1b, 0x2b1c}, {0x1f191, 0x1f19a}, {0x1f1e6, 0x1f1ff}, {0x1f232, 0x1f236}, |
4286 | {0x1f238, 0x1f23a}, {0x1f250, 0x1f251}, {0x1f300, 0x1f320}, {0x1f32d, 0x1f335}, |
4287 | {0x1f337, 0x1f37c}, {0x1f37e, 0x1f393}, {0x1f3a0, 0x1f3ca}, {0x1f3cf, 0x1f3d3}, |
4288 | {0x1f3e0, 0x1f3f0}, {0x1f3f8, 0x1f43e}, {0x1f442, 0x1f4fc}, {0x1f4ff, 0x1f53d}, |
4289 | {0x1f54b, 0x1f54e}, {0x1f550, 0x1f567}, {0x1f595, 0x1f596}, {0x1f5fb, 0x1f64f}, |
4290 | {0x1f680, 0x1f6c5}, {0x1f6d0, 0x1f6d2}, {0x1f6eb, 0x1f6ec}, {0x1f6f4, 0x1f6f9}, |
4291 | {0x1f910, 0x1f93a}, {0x1f93c, 0x1f93e}, {0x1f940, 0x1f945}, {0x1f947, 0x1f970}, |
4292 | {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, |
4293 | {0x1f9d0, 0x1f9ff}}), |
4294 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4295 | return characterClass; |
4296 | } |
4297 | |
4298 | static std::unique_ptr<CharacterClass> createCharacterClass87() |
4299 | { |
4300 | // Name = Emoji_Modifier, number of codePoints: 5 |
4301 | auto characterClass = std::make_unique<CharacterClass>( |
4302 | std::initializer_list<UChar32>({}), |
4303 | std::initializer_list<CharacterRange>({}), |
4304 | std::initializer_list<UChar32>({}), |
4305 | std::initializer_list<CharacterRange>({{0x1f3fb, 0x1f3ff}}), |
4306 | CharacterClassWidths::HasNonBMPChars); |
4307 | return characterClass; |
4308 | } |
4309 | |
4310 | static std::unique_ptr<CharacterClass> createCharacterClass88() |
4311 | { |
4312 | // Name = Emoji_Modifier_Base, number of codePoints: 106 |
4313 | auto characterClass = std::make_unique<CharacterClass>( |
4314 | std::initializer_list<UChar32>({}), |
4315 | std::initializer_list<CharacterRange>({}), |
4316 | std::initializer_list<UChar32>({0x261d, 0x26f9, 0x1f385, 0x1f3c7, 0x1f46e, 0x1f47c, 0x1f4aa, 0x1f57a, |
4317 | 0x1f590, 0x1f6a3, 0x1f6c0, 0x1f6cc, 0x1f926}), |
4318 | std::initializer_list<CharacterRange>({{0x270a, 0x270d}, {0x1f3c2, 0x1f3c4}, {0x1f3ca, 0x1f3cc}, {0x1f442, 0x1f443}, |
4319 | {0x1f446, 0x1f450}, {0x1f466, 0x1f469}, {0x1f470, 0x1f478}, {0x1f481, 0x1f483}, |
4320 | {0x1f485, 0x1f487}, {0x1f574, 0x1f575}, {0x1f595, 0x1f596}, {0x1f645, 0x1f647}, |
4321 | {0x1f64b, 0x1f64f}, {0x1f6b4, 0x1f6b6}, {0x1f918, 0x1f91c}, {0x1f91e, 0x1f91f}, |
4322 | {0x1f930, 0x1f939}, {0x1f93d, 0x1f93e}, {0x1f9b5, 0x1f9b6}, {0x1f9b8, 0x1f9b9}, |
4323 | {0x1f9d1, 0x1f9dd}}), |
4324 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4325 | return characterClass; |
4326 | } |
4327 | |
4328 | static std::unique_ptr<CharacterClass> createCharacterClass89() |
4329 | { |
4330 | // Name = Emoji_Component, number of codePoints: 146 |
4331 | auto characterClass = std::make_unique<CharacterClass>( |
4332 | std::initializer_list<UChar32>({0x23, 0x2a}), |
4333 | std::initializer_list<CharacterRange>({{0x30, 0x39}}), |
4334 | std::initializer_list<UChar32>({0x200d, 0x20e3, 0xfe0f}), |
4335 | std::initializer_list<CharacterRange>({{0x1f1e6, 0x1f1ff}, {0x1f3fb, 0x1f3ff}, {0x1f9b0, 0x1f9b3}, {0xe0020, 0xe007f}}), |
4336 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4337 | return characterClass; |
4338 | } |
4339 | |
4340 | static std::unique_ptr<CharacterClass> createCharacterClass90() |
4341 | { |
4342 | // Name = Extended_Pictographic, number of codePoints: 3793 |
4343 | auto characterClass = std::make_unique<CharacterClass>( |
4344 | std::initializer_list<UChar32>({}), |
4345 | std::initializer_list<CharacterRange>({}), |
4346 | std::initializer_list<UChar32>({0x00a9, 0x00ae, 0x203c, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, |
4347 | 0x23cf, 0x24c2, 0x25b6, 0x25c0, 0x2714, 0x2716, 0x271d, 0x2721, |
4348 | 0x2728, 0x2744, 0x2747, 0x274c, 0x274e, 0x2757, 0x27a1, 0x27b0, |
4349 | 0x27bf, 0x2b50, 0x2b55, 0x3030, 0x303d, 0x3297, 0x3299, 0x1f12f, |
4350 | 0x1f18e, 0x1f21a, 0x1f22f}), |
4351 | std::initializer_list<CharacterRange>({{0x2194, 0x2199}, {0x21a9, 0x21aa}, {0x231a, 0x231b}, {0x23e9, 0x23f3}, |
4352 | {0x23f8, 0x23fa}, {0x25aa, 0x25ab}, {0x25fb, 0x25fe}, {0x2600, 0x2605}, |
4353 | {0x2607, 0x2612}, {0x2614, 0x2685}, {0x2690, 0x2705}, {0x2708, 0x2712}, |
4354 | {0x2733, 0x2734}, {0x2753, 0x2755}, {0x2763, 0x2767}, {0x2795, 0x2797}, |
4355 | {0x2934, 0x2935}, {0x2b05, 0x2b07}, {0x2b1b, 0x2b1c}, {0x1f000, 0x1f0ff}, |
4356 | {0x1f10d, 0x1f10f}, {0x1f16c, 0x1f171}, {0x1f17e, 0x1f17f}, {0x1f191, 0x1f19a}, |
4357 | {0x1f1ad, 0x1f1e5}, {0x1f201, 0x1f20f}, {0x1f232, 0x1f23a}, {0x1f23c, 0x1f23f}, |
4358 | {0x1f249, 0x1f3fa}, {0x1f400, 0x1f53d}, {0x1f546, 0x1f64f}, {0x1f680, 0x1f6ff}, |
4359 | {0x1f774, 0x1f77f}, {0x1f7d5, 0x1f7ff}, {0x1f80c, 0x1f80f}, {0x1f848, 0x1f84f}, |
4360 | {0x1f85a, 0x1f85f}, {0x1f888, 0x1f88f}, {0x1f8ae, 0x1f8ff}, {0x1f90c, 0x1f93a}, |
4361 | {0x1f93c, 0x1f945}, {0x1f947, 0x1fffd}}), |
4362 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4363 | return characterClass; |
4364 | } |
4365 | |
4366 | static std::unique_ptr<CharacterClass> createCharacterClass91() |
4367 | { |
4368 | // Name = Unknown, number of codePoints: 976673 |
4369 | auto characterClass = std::make_unique<CharacterClass>( |
4370 | std::initializer_list<UChar32>({}), |
4371 | std::initializer_list<CharacterRange>({}), |
4372 | std::initializer_list<UChar32>({0x038b, 0x038d, 0x03a2, 0x0530, 0x0590, 0x061d, 0x070e, 0x083f, |
4373 | 0x085f, 0x08b5, 0x0984, 0x09a9, 0x09b1, 0x09de, 0x0a04, 0x0a29, |
4374 | 0x0a31, 0x0a34, 0x0a37, 0x0a3d, 0x0a5d, 0x0a84, 0x0a8e, 0x0a92, |
4375 | 0x0aa9, 0x0ab1, 0x0ab4, 0x0ac6, 0x0aca, 0x0b00, 0x0b04, 0x0b29, |
4376 | 0x0b31, 0x0b34, 0x0b5e, 0x0b84, 0x0b91, 0x0b9b, 0x0b9d, 0x0bc9, |
4377 | 0x0c0d, 0x0c11, 0x0c29, 0x0c45, 0x0c49, 0x0c57, 0x0c8d, 0x0c91, |
4378 | 0x0ca9, 0x0cb4, 0x0cc5, 0x0cc9, 0x0cdf, 0x0cf0, 0x0d04, 0x0d0d, |
4379 | 0x0d11, 0x0d45, 0x0d49, 0x0d84, 0x0db2, 0x0dbc, 0x0dd5, 0x0dd7, |
4380 | 0x0e83, 0x0e89, 0x0e98, 0x0ea0, 0x0ea4, 0x0ea6, 0x0eac, 0x0eba, |
4381 | 0x0ec5, 0x0ec7, 0x0f48, 0x0f98, 0x0fbd, 0x0fcd, 0x10c6, 0x1249, |
4382 | 0x1257, 0x1259, 0x1289, 0x12b1, 0x12bf, 0x12c1, 0x12d7, 0x1311, |
4383 | 0x170d, 0x176d, 0x1771, 0x180f, 0x191f, 0x1a5f, 0x1dfa, 0x1f58, |
4384 | 0x1f5a, 0x1f5c, 0x1f5e, 0x1fb5, 0x1fc5, 0x1fdc, 0x1ff5, 0x1fff, |
4385 | 0x2065, 0x208f, 0x2bc9, 0x2bff, 0x2c2f, 0x2c5f, 0x2d26, 0x2da7, |
4386 | 0x2daf, 0x2db7, 0x2dbf, 0x2dc7, 0x2dcf, 0x2dd7, 0x2ddf, 0x2e9a, |
4387 | 0x3040, 0x3130, 0x318f, 0x321f, 0x32ff, 0xa9ce, 0xa9ff, 0xab27, |
4388 | 0xab2f, 0xfb37, 0xfb3d, 0xfb3f, 0xfb42, 0xfb45, 0xfe53, 0xfe67, |
4389 | 0xfe75, 0xff00, 0xffe7, 0x1000c, 0x10027, 0x1003b, 0x1003e, 0x1018f, |
4390 | 0x1039e, 0x10809, 0x10836, 0x10856, 0x108f3, 0x10a04, 0x10a14, 0x10a18, |
4391 | 0x11135, 0x111e0, 0x11212, 0x11287, 0x11289, 0x1128e, 0x1129e, 0x11304, |
4392 | 0x11329, 0x11331, 0x11334, 0x1133a, 0x1145a, 0x1145c, 0x11c09, 0x11c37, |
4393 | 0x11ca8, 0x11d07, 0x11d0a, 0x11d3b, 0x11d3e, 0x11d66, 0x11d69, 0x11d8f, |
4394 | 0x11d92, 0x1246f, 0x16a5f, 0x16b5a, 0x16b62, 0x1d455, 0x1d49d, 0x1d4ad, |
4395 | 0x1d4ba, 0x1d4bc, 0x1d4c4, 0x1d506, 0x1d515, 0x1d51d, 0x1d53a, 0x1d53f, |
4396 | 0x1d545, 0x1d551, 0x1daa0, 0x1e007, 0x1e022, 0x1e025, 0x1ee04, 0x1ee20, |
4397 | 0x1ee23, 0x1ee28, 0x1ee33, 0x1ee38, 0x1ee3a, 0x1ee48, 0x1ee4a, 0x1ee4c, |
4398 | 0x1ee50, 0x1ee53, 0x1ee58, 0x1ee5a, 0x1ee5c, 0x1ee5e, 0x1ee60, 0x1ee63, |
4399 | 0x1ee6b, 0x1ee73, 0x1ee78, 0x1ee7d, 0x1ee7f, 0x1ee8a, 0x1eea4, 0x1eeaa, |
4400 | 0x1f0c0, 0x1f0d0, 0x1f93f, 0x1f97b}), |
4401 | std::initializer_list<CharacterRange>({{0x0378, 0x0379}, {0x0380, 0x0383}, {0x0557, 0x0558}, {0x058b, 0x058c}, |
4402 | {0x05c8, 0x05cf}, {0x05eb, 0x05ee}, {0x05f5, 0x05ff}, {0x074b, 0x074c}, |
4403 | {0x07b2, 0x07bf}, {0x07fb, 0x07fc}, {0x082e, 0x082f}, {0x085c, 0x085d}, |
4404 | {0x086b, 0x089f}, {0x08be, 0x08d2}, {0x098d, 0x098e}, {0x0991, 0x0992}, |
4405 | {0x09b3, 0x09b5}, {0x09ba, 0x09bb}, {0x09c5, 0x09c6}, {0x09c9, 0x09ca}, |
4406 | {0x09cf, 0x09d6}, {0x09d8, 0x09db}, {0x09e4, 0x09e5}, {0x09ff, 0x0a00}, |
4407 | {0x0a0b, 0x0a0e}, {0x0a11, 0x0a12}, {0x0a3a, 0x0a3b}, {0x0a43, 0x0a46}, |
4408 | {0x0a49, 0x0a4a}, {0x0a4e, 0x0a50}, {0x0a52, 0x0a58}, {0x0a5f, 0x0a65}, |
4409 | {0x0a77, 0x0a80}, {0x0aba, 0x0abb}, {0x0ace, 0x0acf}, {0x0ad1, 0x0adf}, |
4410 | {0x0ae4, 0x0ae5}, {0x0af2, 0x0af8}, {0x0b0d, 0x0b0e}, {0x0b11, 0x0b12}, |
4411 | {0x0b3a, 0x0b3b}, {0x0b45, 0x0b46}, {0x0b49, 0x0b4a}, {0x0b4e, 0x0b55}, |
4412 | {0x0b58, 0x0b5b}, {0x0b64, 0x0b65}, {0x0b78, 0x0b81}, {0x0b8b, 0x0b8d}, |
4413 | {0x0b96, 0x0b98}, {0x0ba0, 0x0ba2}, {0x0ba5, 0x0ba7}, {0x0bab, 0x0bad}, |
4414 | {0x0bba, 0x0bbd}, {0x0bc3, 0x0bc5}, {0x0bce, 0x0bcf}, {0x0bd1, 0x0bd6}, |
4415 | {0x0bd8, 0x0be5}, {0x0bfb, 0x0bff}, {0x0c3a, 0x0c3c}, {0x0c4e, 0x0c54}, |
4416 | {0x0c5b, 0x0c5f}, {0x0c64, 0x0c65}, {0x0c70, 0x0c77}, {0x0cba, 0x0cbb}, |
4417 | {0x0cce, 0x0cd4}, {0x0cd7, 0x0cdd}, {0x0ce4, 0x0ce5}, {0x0cf3, 0x0cff}, |
4418 | {0x0d50, 0x0d53}, {0x0d64, 0x0d65}, {0x0d80, 0x0d81}, {0x0d97, 0x0d99}, |
4419 | {0x0dbe, 0x0dbf}, {0x0dc7, 0x0dc9}, {0x0dcb, 0x0dce}, {0x0de0, 0x0de5}, |
4420 | {0x0df0, 0x0df1}, {0x0df5, 0x0e00}, {0x0e3b, 0x0e3e}, {0x0e5c, 0x0e80}, |
4421 | {0x0e85, 0x0e86}, {0x0e8b, 0x0e8c}, {0x0e8e, 0x0e93}, {0x0ea8, 0x0ea9}, |
4422 | {0x0ebe, 0x0ebf}, {0x0ece, 0x0ecf}, {0x0eda, 0x0edb}, {0x0ee0, 0x0eff}, |
4423 | {0x0f6d, 0x0f70}, {0x0fdb, 0x0fff}, {0x10c8, 0x10cc}, {0x10ce, 0x10cf}, |
4424 | {0x124e, 0x124f}, {0x125e, 0x125f}, {0x128e, 0x128f}, {0x12b6, 0x12b7}, |
4425 | {0x12c6, 0x12c7}, {0x1316, 0x1317}, {0x135b, 0x135c}, {0x137d, 0x137f}, |
4426 | {0x139a, 0x139f}, {0x13f6, 0x13f7}, {0x13fe, 0x13ff}, {0x169d, 0x169f}, |
4427 | {0x16f9, 0x16ff}, {0x1715, 0x171f}, {0x1737, 0x173f}, {0x1754, 0x175f}, |
4428 | {0x1774, 0x177f}, {0x17de, 0x17df}, {0x17ea, 0x17ef}, {0x17fa, 0x17ff}, |
4429 | {0x181a, 0x181f}, {0x1879, 0x187f}, {0x18ab, 0x18af}, {0x18f6, 0x18ff}, |
4430 | {0x192c, 0x192f}, {0x193c, 0x193f}, {0x1941, 0x1943}, {0x196e, 0x196f}, |
4431 | {0x1975, 0x197f}, {0x19ac, 0x19af}, {0x19ca, 0x19cf}, {0x19db, 0x19dd}, |
4432 | {0x1a1c, 0x1a1d}, {0x1a7d, 0x1a7e}, {0x1a8a, 0x1a8f}, {0x1a9a, 0x1a9f}, |
4433 | {0x1aae, 0x1aaf}, {0x1abf, 0x1aff}, {0x1b4c, 0x1b4f}, {0x1b7d, 0x1b7f}, |
4434 | {0x1bf4, 0x1bfb}, {0x1c38, 0x1c3a}, {0x1c4a, 0x1c4c}, {0x1c89, 0x1c8f}, |
4435 | {0x1cbb, 0x1cbc}, {0x1cc8, 0x1ccf}, {0x1cfa, 0x1cff}, {0x1f16, 0x1f17}, |
4436 | {0x1f1e, 0x1f1f}, {0x1f46, 0x1f47}, {0x1f4e, 0x1f4f}, {0x1f7e, 0x1f7f}, |
4437 | {0x1fd4, 0x1fd5}, {0x1ff0, 0x1ff1}, {0x2072, 0x2073}, {0x209d, 0x209f}, |
4438 | {0x20c0, 0x20cf}, {0x20f1, 0x20ff}, {0x218c, 0x218f}, {0x2427, 0x243f}, |
4439 | {0x244b, 0x245f}, {0x2b74, 0x2b75}, {0x2b96, 0x2b97}, {0x2cf4, 0x2cf8}, |
4440 | {0x2d28, 0x2d2c}, {0x2d2e, 0x2d2f}, {0x2d68, 0x2d6e}, {0x2d71, 0x2d7e}, |
4441 | {0x2d97, 0x2d9f}, {0x2e4f, 0x2e7f}, {0x2ef4, 0x2eff}, {0x2fd6, 0x2fef}, |
4442 | {0x2ffc, 0x2fff}, {0x3097, 0x3098}, {0x3100, 0x3104}, {0x31bb, 0x31bf}, |
4443 | {0x31e4, 0x31ef}, {0x4db6, 0x4dbf}, {0x9ff0, 0x9fff}, {0xa48d, 0xa48f}, |
4444 | {0xa4c7, 0xa4cf}, {0xa62c, 0xa63f}, {0xa6f8, 0xa6ff}, {0xa7ba, 0xa7f6}, |
4445 | {0xa82c, 0xa82f}, {0xa83a, 0xa83f}, {0xa878, 0xa87f}, {0xa8c6, 0xa8cd}, |
4446 | {0xa8da, 0xa8df}, {0xa954, 0xa95e}, {0xa97d, 0xa97f}, {0xa9da, 0xa9dd}, |
4447 | {0xaa37, 0xaa3f}, {0xaa4e, 0xaa4f}, {0xaa5a, 0xaa5b}, {0xaac3, 0xaada}, |
4448 | {0xaaf7, 0xab00}, {0xab07, 0xab08}, {0xab0f, 0xab10}, {0xab17, 0xab1f}, |
4449 | {0xab66, 0xab6f}, {0xabee, 0xabef}, {0xabfa, 0xabff}, {0xd7a4, 0xd7af}, |
4450 | {0xd7c7, 0xd7ca}, {0xd7fc, 0xf8ff}, {0xfa6e, 0xfa6f}, {0xfada, 0xfaff}, |
4451 | {0xfb07, 0xfb12}, {0xfb18, 0xfb1c}, {0xfbc2, 0xfbd2}, {0xfd40, 0xfd4f}, |
4452 | {0xfd90, 0xfd91}, {0xfdc8, 0xfdef}, {0xfdfe, 0xfdff}, {0xfe1a, 0xfe1f}, |
4453 | {0xfe6c, 0xfe6f}, {0xfefd, 0xfefe}, {0xffbf, 0xffc1}, {0xffc8, 0xffc9}, |
4454 | {0xffd0, 0xffd1}, {0xffd8, 0xffd9}, {0xffdd, 0xffdf}, {0xffef, 0xfff8}, |
4455 | {0xfffe, 0xffff}, {0x1004e, 0x1004f}, {0x1005e, 0x1007f}, {0x100fb, 0x100ff}, |
4456 | {0x10103, 0x10106}, {0x10134, 0x10136}, {0x1019c, 0x1019f}, {0x101a1, 0x101cf}, |
4457 | {0x101fe, 0x1027f}, {0x1029d, 0x1029f}, {0x102d1, 0x102df}, {0x102fc, 0x102ff}, |
4458 | {0x10324, 0x1032c}, {0x1034b, 0x1034f}, {0x1037b, 0x1037f}, {0x103c4, 0x103c7}, |
4459 | {0x103d6, 0x103ff}, {0x1049e, 0x1049f}, {0x104aa, 0x104af}, {0x104d4, 0x104d7}, |
4460 | {0x104fc, 0x104ff}, {0x10528, 0x1052f}, {0x10564, 0x1056e}, {0x10570, 0x105ff}, |
4461 | {0x10737, 0x1073f}, {0x10756, 0x1075f}, {0x10768, 0x107ff}, {0x10806, 0x10807}, |
4462 | {0x10839, 0x1083b}, {0x1083d, 0x1083e}, {0x1089f, 0x108a6}, {0x108b0, 0x108df}, |
4463 | {0x108f6, 0x108fa}, {0x1091c, 0x1091e}, {0x1093a, 0x1093e}, {0x10940, 0x1097f}, |
4464 | {0x109b8, 0x109bb}, {0x109d0, 0x109d1}, {0x10a07, 0x10a0b}, {0x10a36, 0x10a37}, |
4465 | {0x10a3b, 0x10a3e}, {0x10a49, 0x10a4f}, {0x10a59, 0x10a5f}, {0x10aa0, 0x10abf}, |
4466 | {0x10ae7, 0x10aea}, {0x10af7, 0x10aff}, {0x10b36, 0x10b38}, {0x10b56, 0x10b57}, |
4467 | {0x10b73, 0x10b77}, {0x10b92, 0x10b98}, {0x10b9d, 0x10ba8}, {0x10bb0, 0x10bff}, |
4468 | {0x10c49, 0x10c7f}, {0x10cb3, 0x10cbf}, {0x10cf3, 0x10cf9}, {0x10d28, 0x10d2f}, |
4469 | {0x10d3a, 0x10e5f}, {0x10e7f, 0x10eff}, {0x10f28, 0x10f2f}, {0x10f5a, 0x10fff}, |
4470 | {0x1104e, 0x11051}, {0x11070, 0x1107e}, {0x110c2, 0x110cc}, {0x110ce, 0x110cf}, |
4471 | {0x110e9, 0x110ef}, {0x110fa, 0x110ff}, {0x11147, 0x1114f}, {0x11177, 0x1117f}, |
4472 | {0x111ce, 0x111cf}, {0x111f5, 0x111ff}, {0x1123f, 0x1127f}, {0x112aa, 0x112af}, |
4473 | {0x112eb, 0x112ef}, {0x112fa, 0x112ff}, {0x1130d, 0x1130e}, {0x11311, 0x11312}, |
4474 | {0x11345, 0x11346}, {0x11349, 0x1134a}, {0x1134e, 0x1134f}, {0x11351, 0x11356}, |
4475 | {0x11358, 0x1135c}, {0x11364, 0x11365}, {0x1136d, 0x1136f}, {0x11375, 0x113ff}, |
4476 | {0x1145f, 0x1147f}, {0x114c8, 0x114cf}, {0x114da, 0x1157f}, {0x115b6, 0x115b7}, |
4477 | {0x115de, 0x115ff}, {0x11645, 0x1164f}, {0x1165a, 0x1165f}, {0x1166d, 0x1167f}, |
4478 | {0x116b8, 0x116bf}, {0x116ca, 0x116ff}, {0x1171b, 0x1171c}, {0x1172c, 0x1172f}, |
4479 | {0x11740, 0x117ff}, {0x1183c, 0x1189f}, {0x118f3, 0x118fe}, {0x11900, 0x119ff}, |
4480 | {0x11a48, 0x11a4f}, {0x11a84, 0x11a85}, {0x11aa3, 0x11abf}, {0x11af9, 0x11bff}, |
4481 | {0x11c46, 0x11c4f}, {0x11c6d, 0x11c6f}, {0x11c90, 0x11c91}, {0x11cb7, 0x11cff}, |
4482 | {0x11d37, 0x11d39}, {0x11d48, 0x11d4f}, {0x11d5a, 0x11d5f}, {0x11d99, 0x11d9f}, |
4483 | {0x11daa, 0x11edf}, {0x11ef9, 0x11fff}, {0x1239a, 0x123ff}, {0x12475, 0x1247f}, |
4484 | {0x12544, 0x12fff}, {0x1342f, 0x143ff}, {0x14647, 0x167ff}, {0x16a39, 0x16a3f}, |
4485 | {0x16a6a, 0x16a6d}, {0x16a70, 0x16acf}, {0x16aee, 0x16aef}, {0x16af6, 0x16aff}, |
4486 | {0x16b46, 0x16b4f}, {0x16b78, 0x16b7c}, {0x16b90, 0x16e3f}, {0x16e9b, 0x16eff}, |
4487 | {0x16f45, 0x16f4f}, {0x16f7f, 0x16f8e}, {0x16fa0, 0x16fdf}, {0x16fe2, 0x16fff}, |
4488 | {0x187f2, 0x187ff}, {0x18af3, 0x1afff}, {0x1b11f, 0x1b16f}, {0x1b2fc, 0x1bbff}, |
4489 | {0x1bc6b, 0x1bc6f}, {0x1bc7d, 0x1bc7f}, {0x1bc89, 0x1bc8f}, {0x1bc9a, 0x1bc9b}, |
4490 | {0x1bca4, 0x1cfff}, {0x1d0f6, 0x1d0ff}, {0x1d127, 0x1d128}, {0x1d1e9, 0x1d1ff}, |
4491 | {0x1d246, 0x1d2df}, {0x1d2f4, 0x1d2ff}, {0x1d357, 0x1d35f}, {0x1d379, 0x1d3ff}, |
4492 | {0x1d4a0, 0x1d4a1}, {0x1d4a3, 0x1d4a4}, {0x1d4a7, 0x1d4a8}, {0x1d50b, 0x1d50c}, |
4493 | {0x1d547, 0x1d549}, {0x1d6a6, 0x1d6a7}, {0x1d7cc, 0x1d7cd}, {0x1da8c, 0x1da9a}, |
4494 | {0x1dab0, 0x1dfff}, {0x1e019, 0x1e01a}, {0x1e02b, 0x1e7ff}, {0x1e8c5, 0x1e8c6}, |
4495 | {0x1e8d7, 0x1e8ff}, {0x1e94b, 0x1e94f}, {0x1e95a, 0x1e95d}, {0x1e960, 0x1ec70}, |
4496 | {0x1ecb5, 0x1edff}, {0x1ee25, 0x1ee26}, {0x1ee3c, 0x1ee41}, {0x1ee43, 0x1ee46}, |
4497 | {0x1ee55, 0x1ee56}, {0x1ee65, 0x1ee66}, {0x1ee9c, 0x1eea0}, {0x1eebc, 0x1eeef}, |
4498 | {0x1eef2, 0x1efff}, {0x1f02c, 0x1f02f}, {0x1f094, 0x1f09f}, {0x1f0af, 0x1f0b0}, |
4499 | {0x1f0f6, 0x1f0ff}, {0x1f10d, 0x1f10f}, {0x1f16c, 0x1f16f}, {0x1f1ad, 0x1f1e5}, |
4500 | {0x1f203, 0x1f20f}, {0x1f23c, 0x1f23f}, {0x1f249, 0x1f24f}, {0x1f252, 0x1f25f}, |
4501 | {0x1f266, 0x1f2ff}, {0x1f6d5, 0x1f6df}, {0x1f6ed, 0x1f6ef}, {0x1f6fa, 0x1f6ff}, |
4502 | {0x1f774, 0x1f77f}, {0x1f7d9, 0x1f7ff}, {0x1f80c, 0x1f80f}, {0x1f848, 0x1f84f}, |
4503 | {0x1f85a, 0x1f85f}, {0x1f888, 0x1f88f}, {0x1f8ae, 0x1f8ff}, {0x1f90c, 0x1f90f}, |
4504 | {0x1f971, 0x1f972}, {0x1f977, 0x1f979}, {0x1f9a3, 0x1f9af}, {0x1f9ba, 0x1f9bf}, |
4505 | {0x1f9c3, 0x1f9cf}, {0x1fa00, 0x1fa5f}, {0x1fa6e, 0x1ffff}, {0x2a6d7, 0x2a6ff}, |
4506 | {0x2b735, 0x2b73f}, {0x2b81e, 0x2b81f}, {0x2cea2, 0x2ceaf}, {0x2ebe1, 0x2f7ff}, |
4507 | {0x2fa1e, 0xe0000}, {0xe0002, 0xe001f}, {0xe0080, 0xe00ff}, {0xe01f0, 0x10ffff}}), |
4508 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4509 | return characterClass; |
4510 | } |
4511 | |
4512 | static std::unique_ptr<CharacterClass> createCharacterClass92() |
4513 | { |
4514 | // Name = Common, number of codePoints: 7591 |
4515 | auto characterClass = std::make_unique<CharacterClass>( |
4516 | std::initializer_list<UChar32>({}), |
4517 | std::initializer_list<CharacterRange>({{0x00, 0x40}, {0x5b, 0x60}, {0x7b, 0x7f}}), |
4518 | std::initializer_list<UChar32>({0x00d7, 0x00f7, 0x0374, 0x037e, 0x0385, 0x0387, 0x0589, 0x0605, |
4519 | 0x060c, 0x061b, 0x061f, 0x0640, 0x06dd, 0x08e2, 0x0e3f, 0x10fb, |
4520 | 0x1805, 0x1cd3, 0x1ce1, 0x3006, 0x30a0, 0xa92e, 0xa9cf, 0xab5b, |
4521 | 0xfeff, 0xff70, 0x1d4a2, 0x1d4bb, 0x1d546, 0x1f97a, 0xe0001}), |
4522 | std::initializer_list<CharacterRange>({{0x0080, 0x00a9}, {0x00ab, 0x00b9}, {0x00bb, 0x00bf}, {0x02b9, 0x02df}, |
4523 | {0x02e5, 0x02e9}, {0x02ec, 0x02ff}, {0x0964, 0x0965}, {0x0fd5, 0x0fd8}, |
4524 | {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x1802, 0x1803}, {0x1ce9, 0x1cec}, |
4525 | {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf7}, {0x2000, 0x200b}, {0x200e, 0x2064}, |
4526 | {0x2066, 0x2070}, {0x2074, 0x207e}, {0x2080, 0x208e}, {0x20a0, 0x20bf}, |
4527 | {0x2100, 0x2125}, {0x2127, 0x2129}, {0x212c, 0x2131}, {0x2133, 0x214d}, |
4528 | {0x214f, 0x215f}, {0x2189, 0x218b}, {0x2190, 0x2426}, {0x2440, 0x244a}, |
4529 | {0x2460, 0x27ff}, {0x2900, 0x2b73}, {0x2b76, 0x2b95}, {0x2b98, 0x2bc8}, |
4530 | {0x2bca, 0x2bfe}, {0x2e00, 0x2e4e}, {0x2ff0, 0x2ffb}, {0x3000, 0x3004}, |
4531 | {0x3008, 0x3020}, {0x3030, 0x3037}, {0x303c, 0x303f}, {0x309b, 0x309c}, |
4532 | {0x30fb, 0x30fc}, {0x3190, 0x319f}, {0x31c0, 0x31e3}, {0x3220, 0x325f}, |
4533 | {0x327f, 0x32cf}, {0x3358, 0x33ff}, {0x4dc0, 0x4dff}, {0xa700, 0xa721}, |
4534 | {0xa788, 0xa78a}, {0xa830, 0xa839}, {0xfd3e, 0xfd3f}, {0xfe10, 0xfe19}, |
4535 | {0xfe30, 0xfe52}, {0xfe54, 0xfe66}, {0xfe68, 0xfe6b}, {0xff01, 0xff20}, |
4536 | {0xff3b, 0xff40}, {0xff5b, 0xff65}, {0xff9e, 0xff9f}, {0xffe0, 0xffe6}, |
4537 | {0xffe8, 0xffee}, {0xfff9, 0xfffd}, {0x10100, 0x10102}, {0x10107, 0x10133}, |
4538 | {0x10137, 0x1013f}, {0x10190, 0x1019b}, {0x101d0, 0x101fc}, {0x102e1, 0x102fb}, |
4539 | {0x1bca0, 0x1bca3}, {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d129, 0x1d166}, |
4540 | {0x1d16a, 0x1d17a}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, {0x1d1ae, 0x1d1e8}, |
4541 | {0x1d2e0, 0x1d2f3}, {0x1d300, 0x1d356}, {0x1d360, 0x1d378}, {0x1d400, 0x1d454}, |
4542 | {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, |
4543 | {0x1d4ae, 0x1d4b9}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, |
4544 | {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, |
4545 | {0x1d540, 0x1d544}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d7cb}, |
4546 | {0x1d7ce, 0x1d7ff}, {0x1ec71, 0x1ecb4}, {0x1f000, 0x1f02b}, {0x1f030, 0x1f093}, |
4547 | {0x1f0a0, 0x1f0ae}, {0x1f0b1, 0x1f0bf}, {0x1f0c1, 0x1f0cf}, {0x1f0d1, 0x1f0f5}, |
4548 | {0x1f100, 0x1f10c}, {0x1f110, 0x1f16b}, {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f1ff}, |
4549 | {0x1f201, 0x1f202}, {0x1f210, 0x1f23b}, {0x1f240, 0x1f248}, {0x1f250, 0x1f251}, |
4550 | {0x1f260, 0x1f265}, {0x1f300, 0x1f6d4}, {0x1f6e0, 0x1f6ec}, {0x1f6f0, 0x1f6f9}, |
4551 | {0x1f700, 0x1f773}, {0x1f780, 0x1f7d8}, {0x1f800, 0x1f80b}, {0x1f810, 0x1f847}, |
4552 | {0x1f850, 0x1f859}, {0x1f860, 0x1f887}, {0x1f890, 0x1f8ad}, {0x1f900, 0x1f90b}, |
4553 | {0x1f910, 0x1f93e}, {0x1f940, 0x1f970}, {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, |
4554 | {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, {0x1f9d0, 0x1f9ff}, {0x1fa60, 0x1fa6d}, |
4555 | {0xe0020, 0xe007f}}), |
4556 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4557 | return characterClass; |
4558 | } |
4559 | |
4560 | static std::unique_ptr<CharacterClass> createCharacterClass93() |
4561 | { |
4562 | // Name = Latin, number of codePoints: 1353 |
4563 | auto characterClass = std::make_unique<CharacterClass>( |
4564 | std::initializer_list<UChar32>({}), |
4565 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
4566 | std::initializer_list<UChar32>({0x00aa, 0x00ba, 0x2071, 0x207f, 0x2132, 0x214e}), |
4567 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02b8}, {0x02e0, 0x02e4}, |
4568 | {0x1d00, 0x1d25}, {0x1d2c, 0x1d5c}, {0x1d62, 0x1d65}, {0x1d6b, 0x1d77}, |
4569 | {0x1d79, 0x1dbe}, {0x1e00, 0x1eff}, {0x2090, 0x209c}, {0x212a, 0x212b}, |
4570 | {0x2160, 0x2188}, {0x2c60, 0x2c7f}, {0xa722, 0xa787}, {0xa78b, 0xa7b9}, |
4571 | {0xa7f7, 0xa7ff}, {0xab30, 0xab5a}, {0xab5c, 0xab64}, {0xfb00, 0xfb06}, |
4572 | {0xff21, 0xff3a}, {0xff41, 0xff5a}}), |
4573 | CharacterClassWidths::HasBMPChars); |
4574 | return characterClass; |
4575 | } |
4576 | |
4577 | static std::unique_ptr<CharacterClass> createCharacterClass94() |
4578 | { |
4579 | // Name = Greek, number of codePoints: 518 |
4580 | auto characterClass = std::make_unique<CharacterClass>( |
4581 | std::initializer_list<UChar32>({}), |
4582 | std::initializer_list<CharacterRange>({}), |
4583 | std::initializer_list<UChar32>({0x037f, 0x0384, 0x0386, 0x038c, 0x1dbf, 0x1f59, 0x1f5b, 0x1f5d, |
4584 | 0x2126, 0xab65, 0x101a0}), |
4585 | std::initializer_list<CharacterRange>({{0x0370, 0x0373}, {0x0375, 0x0377}, {0x037a, 0x037d}, {0x0388, 0x038a}, |
4586 | {0x038e, 0x03a1}, {0x03a3, 0x03e1}, {0x03f0, 0x03ff}, {0x1d26, 0x1d2a}, |
4587 | {0x1d5d, 0x1d61}, {0x1d66, 0x1d6a}, {0x1f00, 0x1f15}, {0x1f18, 0x1f1d}, |
4588 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f5f, 0x1f7d}, |
4589 | {0x1f80, 0x1fb4}, {0x1fb6, 0x1fc4}, {0x1fc6, 0x1fd3}, {0x1fd6, 0x1fdb}, |
4590 | {0x1fdd, 0x1fef}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffe}, {0x10140, 0x1018e}, |
4591 | {0x1d200, 0x1d245}}), |
4592 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4593 | return characterClass; |
4594 | } |
4595 | |
4596 | static std::unique_ptr<CharacterClass> createCharacterClass95() |
4597 | { |
4598 | // Name = Cyrillic, number of codePoints: 443 |
4599 | auto characterClass = std::make_unique<CharacterClass>( |
4600 | std::initializer_list<UChar32>({}), |
4601 | std::initializer_list<CharacterRange>({}), |
4602 | std::initializer_list<UChar32>({0x1d2b, 0x1d78}), |
4603 | std::initializer_list<CharacterRange>({{0x0400, 0x0484}, {0x0487, 0x052f}, {0x1c80, 0x1c88}, {0x2de0, 0x2dff}, |
4604 | {0xa640, 0xa69f}, {0xfe2e, 0xfe2f}}), |
4605 | CharacterClassWidths::HasBMPChars); |
4606 | return characterClass; |
4607 | } |
4608 | |
4609 | static std::unique_ptr<CharacterClass> createCharacterClass96() |
4610 | { |
4611 | // Name = Armenian, number of codePoints: 95 |
4612 | auto characterClass = std::make_unique<CharacterClass>( |
4613 | std::initializer_list<UChar32>({}), |
4614 | std::initializer_list<CharacterRange>({}), |
4615 | std::initializer_list<UChar32>({0x058a}), |
4616 | std::initializer_list<CharacterRange>({{0x0531, 0x0556}, {0x0559, 0x0588}, {0x058d, 0x058f}, {0xfb13, 0xfb17}}), |
4617 | CharacterClassWidths::HasBMPChars); |
4618 | return characterClass; |
4619 | } |
4620 | |
4621 | static std::unique_ptr<CharacterClass> createCharacterClass97() |
4622 | { |
4623 | // Name = Hebrew, number of codePoints: 134 |
4624 | auto characterClass = std::make_unique<CharacterClass>( |
4625 | std::initializer_list<UChar32>({}), |
4626 | std::initializer_list<CharacterRange>({}), |
4627 | std::initializer_list<UChar32>({0xfb3e}), |
4628 | std::initializer_list<CharacterRange>({{0x0591, 0x05c7}, {0x05d0, 0x05ea}, {0x05ef, 0x05f4}, {0xfb1d, 0xfb36}, |
4629 | {0xfb38, 0xfb3c}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfb4f}}), |
4630 | CharacterClassWidths::HasBMPChars); |
4631 | return characterClass; |
4632 | } |
4633 | |
4634 | static std::unique_ptr<CharacterClass> createCharacterClass98() |
4635 | { |
4636 | // Name = Arabic, number of codePoints: 1281 |
4637 | auto characterClass = std::make_unique<CharacterClass>( |
4638 | std::initializer_list<UChar32>({}), |
4639 | std::initializer_list<CharacterRange>({}), |
4640 | std::initializer_list<UChar32>({0x061c, 0x061e, 0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, |
4641 | 0x1ee49, 0x1ee4b, 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, |
4642 | 0x1ee64, 0x1ee7e}), |
4643 | std::initializer_list<CharacterRange>({{0x0600, 0x0604}, {0x0606, 0x060b}, {0x060d, 0x061a}, {0x0620, 0x063f}, |
4644 | {0x0641, 0x064a}, {0x0656, 0x066f}, {0x0671, 0x06dc}, {0x06de, 0x06ff}, |
4645 | {0x0750, 0x077f}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d3, 0x08e1}, |
4646 | {0x08e3, 0x08ff}, {0xfb50, 0xfbc1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, |
4647 | {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfd}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, |
4648 | {0x10e60, 0x10e7e}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, |
4649 | {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, |
4650 | {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, |
4651 | {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, |
4652 | {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1eef0, 0x1eef1}}), |
4653 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4654 | return characterClass; |
4655 | } |
4656 | |
4657 | static std::unique_ptr<CharacterClass> createCharacterClass99() |
4658 | { |
4659 | // Name = Syriac, number of codePoints: 88 |
4660 | auto characterClass = std::make_unique<CharacterClass>( |
4661 | std::initializer_list<UChar32>({}), |
4662 | std::initializer_list<CharacterRange>({}), |
4663 | std::initializer_list<UChar32>({}), |
4664 | std::initializer_list<CharacterRange>({{0x0700, 0x070d}, {0x070f, 0x074a}, {0x074d, 0x074f}, {0x0860, 0x086a}}), |
4665 | CharacterClassWidths::HasBMPChars); |
4666 | return characterClass; |
4667 | } |
4668 | |
4669 | static std::unique_ptr<CharacterClass> createCharacterClass100() |
4670 | { |
4671 | // Name = Thaana, number of codePoints: 50 |
4672 | auto characterClass = std::make_unique<CharacterClass>( |
4673 | std::initializer_list<UChar32>({}), |
4674 | std::initializer_list<CharacterRange>({}), |
4675 | std::initializer_list<UChar32>({}), |
4676 | std::initializer_list<CharacterRange>({{0x0780, 0x07b1}}), |
4677 | CharacterClassWidths::HasBMPChars); |
4678 | return characterClass; |
4679 | } |
4680 | |
4681 | static std::unique_ptr<CharacterClass> createCharacterClass101() |
4682 | { |
4683 | // Name = Devanagari, number of codePoints: 156 |
4684 | auto characterClass = std::make_unique<CharacterClass>( |
4685 | std::initializer_list<UChar32>({}), |
4686 | std::initializer_list<CharacterRange>({}), |
4687 | std::initializer_list<UChar32>({}), |
4688 | std::initializer_list<CharacterRange>({{0x0900, 0x0950}, {0x0953, 0x0963}, {0x0966, 0x097f}, {0xa8e0, 0xa8ff}}), |
4689 | CharacterClassWidths::HasBMPChars); |
4690 | return characterClass; |
4691 | } |
4692 | |
4693 | static std::unique_ptr<CharacterClass> createCharacterClass102() |
4694 | { |
4695 | // Name = Bengali, number of codePoints: 96 |
4696 | auto characterClass = std::make_unique<CharacterClass>( |
4697 | std::initializer_list<UChar32>({}), |
4698 | std::initializer_list<CharacterRange>({}), |
4699 | std::initializer_list<UChar32>({0x09b2, 0x09d7}), |
4700 | std::initializer_list<CharacterRange>({{0x0980, 0x0983}, {0x0985, 0x098c}, {0x098f, 0x0990}, {0x0993, 0x09a8}, |
4701 | {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, {0x09bc, 0x09c4}, {0x09c7, 0x09c8}, |
4702 | {0x09cb, 0x09ce}, {0x09dc, 0x09dd}, {0x09df, 0x09e3}, {0x09e6, 0x09fe}}), |
4703 | CharacterClassWidths::HasBMPChars); |
4704 | return characterClass; |
4705 | } |
4706 | |
4707 | static std::unique_ptr<CharacterClass> createCharacterClass103() |
4708 | { |
4709 | // Name = Gurmukhi, number of codePoints: 80 |
4710 | auto characterClass = std::make_unique<CharacterClass>( |
4711 | std::initializer_list<UChar32>({}), |
4712 | std::initializer_list<CharacterRange>({}), |
4713 | std::initializer_list<UChar32>({0x0a3c, 0x0a51, 0x0a5e}), |
4714 | std::initializer_list<CharacterRange>({{0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, |
4715 | {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, |
4716 | {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, {0x0a4b, 0x0a4d}, {0x0a59, 0x0a5c}, |
4717 | {0x0a66, 0x0a76}}), |
4718 | CharacterClassWidths::HasBMPChars); |
4719 | return characterClass; |
4720 | } |
4721 | |
4722 | static std::unique_ptr<CharacterClass> createCharacterClass104() |
4723 | { |
4724 | // Name = Gujarati, number of codePoints: 91 |
4725 | auto characterClass = std::make_unique<CharacterClass>( |
4726 | std::initializer_list<UChar32>({}), |
4727 | std::initializer_list<CharacterRange>({}), |
4728 | std::initializer_list<UChar32>({0x0ad0}), |
4729 | std::initializer_list<CharacterRange>({{0x0a81, 0x0a83}, {0x0a85, 0x0a8d}, {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, |
4730 | {0x0aaa, 0x0ab0}, {0x0ab2, 0x0ab3}, {0x0ab5, 0x0ab9}, {0x0abc, 0x0ac5}, |
4731 | {0x0ac7, 0x0ac9}, {0x0acb, 0x0acd}, {0x0ae0, 0x0ae3}, {0x0ae6, 0x0af1}, |
4732 | {0x0af9, 0x0aff}}), |
4733 | CharacterClassWidths::HasBMPChars); |
4734 | return characterClass; |
4735 | } |
4736 | |
4737 | static std::unique_ptr<CharacterClass> createCharacterClass105() |
4738 | { |
4739 | // Name = Oriya, number of codePoints: 90 |
4740 | auto characterClass = std::make_unique<CharacterClass>( |
4741 | std::initializer_list<UChar32>({}), |
4742 | std::initializer_list<CharacterRange>({}), |
4743 | std::initializer_list<UChar32>({}), |
4744 | std::initializer_list<CharacterRange>({{0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, |
4745 | {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, {0x0b35, 0x0b39}, {0x0b3c, 0x0b44}, |
4746 | {0x0b47, 0x0b48}, {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b5c, 0x0b5d}, |
4747 | {0x0b5f, 0x0b63}, {0x0b66, 0x0b77}}), |
4748 | CharacterClassWidths::HasBMPChars); |
4749 | return characterClass; |
4750 | } |
4751 | |
4752 | static std::unique_ptr<CharacterClass> createCharacterClass106() |
4753 | { |
4754 | // Name = Tamil, number of codePoints: 72 |
4755 | auto characterClass = std::make_unique<CharacterClass>( |
4756 | std::initializer_list<UChar32>({}), |
4757 | std::initializer_list<CharacterRange>({}), |
4758 | std::initializer_list<UChar32>({0x0b9c, 0x0bd0, 0x0bd7}), |
4759 | std::initializer_list<CharacterRange>({{0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, |
4760 | {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, |
4761 | {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, |
4762 | {0x0be6, 0x0bfa}}), |
4763 | CharacterClassWidths::HasBMPChars); |
4764 | return characterClass; |
4765 | } |
4766 | |
4767 | static std::unique_ptr<CharacterClass> createCharacterClass107() |
4768 | { |
4769 | // Name = Telugu, number of codePoints: 97 |
4770 | auto characterClass = std::make_unique<CharacterClass>( |
4771 | std::initializer_list<UChar32>({}), |
4772 | std::initializer_list<CharacterRange>({}), |
4773 | std::initializer_list<UChar32>({}), |
4774 | std::initializer_list<CharacterRange>({{0x0c00, 0x0c0c}, {0x0c0e, 0x0c10}, {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, |
4775 | {0x0c3d, 0x0c44}, {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, |
4776 | {0x0c58, 0x0c5a}, {0x0c60, 0x0c63}, {0x0c66, 0x0c6f}, {0x0c78, 0x0c7f}}), |
4777 | CharacterClassWidths::HasBMPChars); |
4778 | return characterClass; |
4779 | } |
4780 | |
4781 | static std::unique_ptr<CharacterClass> createCharacterClass108() |
4782 | { |
4783 | // Name = Kannada, number of codePoints: 89 |
4784 | auto characterClass = std::make_unique<CharacterClass>( |
4785 | std::initializer_list<UChar32>({}), |
4786 | std::initializer_list<CharacterRange>({}), |
4787 | std::initializer_list<UChar32>({0x0cde}), |
4788 | std::initializer_list<CharacterRange>({{0x0c80, 0x0c8c}, {0x0c8e, 0x0c90}, {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, |
4789 | {0x0cb5, 0x0cb9}, {0x0cbc, 0x0cc4}, {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, |
4790 | {0x0cd5, 0x0cd6}, {0x0ce0, 0x0ce3}, {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}}), |
4791 | CharacterClassWidths::HasBMPChars); |
4792 | return characterClass; |
4793 | } |
4794 | |
4795 | static std::unique_ptr<CharacterClass> createCharacterClass109() |
4796 | { |
4797 | // Name = Malayalam, number of codePoints: 117 |
4798 | auto characterClass = std::make_unique<CharacterClass>( |
4799 | std::initializer_list<UChar32>({}), |
4800 | std::initializer_list<CharacterRange>({}), |
4801 | std::initializer_list<UChar32>({}), |
4802 | std::initializer_list<CharacterRange>({{0x0d00, 0x0d03}, {0x0d05, 0x0d0c}, {0x0d0e, 0x0d10}, {0x0d12, 0x0d44}, |
4803 | {0x0d46, 0x0d48}, {0x0d4a, 0x0d4f}, {0x0d54, 0x0d63}, {0x0d66, 0x0d7f}}), |
4804 | CharacterClassWidths::HasBMPChars); |
4805 | return characterClass; |
4806 | } |
4807 | |
4808 | static std::unique_ptr<CharacterClass> createCharacterClass110() |
4809 | { |
4810 | // Name = Sinhala, number of codePoints: 110 |
4811 | auto characterClass = std::make_unique<CharacterClass>( |
4812 | std::initializer_list<UChar32>({}), |
4813 | std::initializer_list<CharacterRange>({}), |
4814 | std::initializer_list<UChar32>({0x0dbd, 0x0dca, 0x0dd6}), |
4815 | std::initializer_list<CharacterRange>({{0x0d82, 0x0d83}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, {0x0db3, 0x0dbb}, |
4816 | {0x0dc0, 0x0dc6}, {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, {0x0de6, 0x0def}, |
4817 | {0x0df2, 0x0df4}, {0x111e1, 0x111f4}}), |
4818 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4819 | return characterClass; |
4820 | } |
4821 | |
4822 | static std::unique_ptr<CharacterClass> createCharacterClass111() |
4823 | { |
4824 | // Name = Thai, number of codePoints: 86 |
4825 | auto characterClass = std::make_unique<CharacterClass>( |
4826 | std::initializer_list<UChar32>({}), |
4827 | std::initializer_list<CharacterRange>({}), |
4828 | std::initializer_list<UChar32>({}), |
4829 | std::initializer_list<CharacterRange>({{0x0e01, 0x0e3a}, {0x0e40, 0x0e5b}}), |
4830 | CharacterClassWidths::HasBMPChars); |
4831 | return characterClass; |
4832 | } |
4833 | |
4834 | static std::unique_ptr<CharacterClass> createCharacterClass112() |
4835 | { |
4836 | // Name = Lao, number of codePoints: 67 |
4837 | auto characterClass = std::make_unique<CharacterClass>( |
4838 | std::initializer_list<UChar32>({}), |
4839 | std::initializer_list<CharacterRange>({}), |
4840 | std::initializer_list<UChar32>({0x0e84, 0x0e8a, 0x0e8d, 0x0ea5, 0x0ea7, 0x0ec6}), |
4841 | std::initializer_list<CharacterRange>({{0x0e81, 0x0e82}, {0x0e87, 0x0e88}, {0x0e94, 0x0e97}, {0x0e99, 0x0e9f}, |
4842 | {0x0ea1, 0x0ea3}, {0x0eaa, 0x0eab}, {0x0ead, 0x0eb9}, {0x0ebb, 0x0ebd}, |
4843 | {0x0ec0, 0x0ec4}, {0x0ec8, 0x0ecd}, {0x0ed0, 0x0ed9}, {0x0edc, 0x0edf}}), |
4844 | CharacterClassWidths::HasBMPChars); |
4845 | return characterClass; |
4846 | } |
4847 | |
4848 | static std::unique_ptr<CharacterClass> createCharacterClass113() |
4849 | { |
4850 | // Name = Tibetan, number of codePoints: 207 |
4851 | auto characterClass = std::make_unique<CharacterClass>( |
4852 | std::initializer_list<UChar32>({}), |
4853 | std::initializer_list<CharacterRange>({}), |
4854 | std::initializer_list<UChar32>({}), |
4855 | std::initializer_list<CharacterRange>({{0x0f00, 0x0f47}, {0x0f49, 0x0f6c}, {0x0f71, 0x0f97}, {0x0f99, 0x0fbc}, |
4856 | {0x0fbe, 0x0fcc}, {0x0fce, 0x0fd4}, {0x0fd9, 0x0fda}}), |
4857 | CharacterClassWidths::HasBMPChars); |
4858 | return characterClass; |
4859 | } |
4860 | |
4861 | static std::unique_ptr<CharacterClass> createCharacterClass114() |
4862 | { |
4863 | // Name = Myanmar, number of codePoints: 223 |
4864 | auto characterClass = std::make_unique<CharacterClass>( |
4865 | std::initializer_list<UChar32>({}), |
4866 | std::initializer_list<CharacterRange>({}), |
4867 | std::initializer_list<UChar32>({}), |
4868 | std::initializer_list<CharacterRange>({{0x1000, 0x109f}, {0xa9e0, 0xa9fe}, {0xaa60, 0xaa7f}}), |
4869 | CharacterClassWidths::HasBMPChars); |
4870 | return characterClass; |
4871 | } |
4872 | |
4873 | static std::unique_ptr<CharacterClass> createCharacterClass115() |
4874 | { |
4875 | // Name = Georgian, number of codePoints: 173 |
4876 | auto characterClass = std::make_unique<CharacterClass>( |
4877 | std::initializer_list<UChar32>({}), |
4878 | std::initializer_list<CharacterRange>({}), |
4879 | std::initializer_list<UChar32>({0x10c7, 0x10cd, 0x2d27, 0x2d2d}), |
4880 | std::initializer_list<CharacterRange>({{0x10a0, 0x10c5}, {0x10d0, 0x10fa}, {0x10fc, 0x10ff}, {0x1c90, 0x1cba}, |
4881 | {0x1cbd, 0x1cbf}, {0x2d00, 0x2d25}}), |
4882 | CharacterClassWidths::HasBMPChars); |
4883 | return characterClass; |
4884 | } |
4885 | |
4886 | static std::unique_ptr<CharacterClass> createCharacterClass116() |
4887 | { |
4888 | // Name = Hangul, number of codePoints: 11739 |
4889 | auto characterClass = std::make_unique<CharacterClass>( |
4890 | std::initializer_list<UChar32>({}), |
4891 | std::initializer_list<CharacterRange>({}), |
4892 | std::initializer_list<UChar32>({}), |
4893 | std::initializer_list<CharacterRange>({{0x1100, 0x11ff}, {0x302e, 0x302f}, {0x3131, 0x318e}, {0x3200, 0x321e}, |
4894 | {0x3260, 0x327e}, {0xa960, 0xa97c}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, |
4895 | {0xd7cb, 0xd7fb}, {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, |
4896 | {0xffd2, 0xffd7}, {0xffda, 0xffdc}}), |
4897 | CharacterClassWidths::HasBMPChars); |
4898 | return characterClass; |
4899 | } |
4900 | |
4901 | static std::unique_ptr<CharacterClass> createCharacterClass117() |
4902 | { |
4903 | // Name = Ethiopic, number of codePoints: 495 |
4904 | auto characterClass = std::make_unique<CharacterClass>( |
4905 | std::initializer_list<UChar32>({}), |
4906 | std::initializer_list<CharacterRange>({}), |
4907 | std::initializer_list<UChar32>({0x1258, 0x12c0}), |
4908 | std::initializer_list<CharacterRange>({{0x1200, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x125a, 0x125d}, |
4909 | {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, |
4910 | {0x12b8, 0x12be}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, |
4911 | {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x137c}, {0x1380, 0x1399}, |
4912 | {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, |
4913 | {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, |
4914 | {0x2dd8, 0x2dde}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, |
4915 | {0xab20, 0xab26}, {0xab28, 0xab2e}}), |
4916 | CharacterClassWidths::HasBMPChars); |
4917 | return characterClass; |
4918 | } |
4919 | |
4920 | static std::unique_ptr<CharacterClass> createCharacterClass118() |
4921 | { |
4922 | // Name = Cherokee, number of codePoints: 172 |
4923 | auto characterClass = std::make_unique<CharacterClass>( |
4924 | std::initializer_list<UChar32>({}), |
4925 | std::initializer_list<CharacterRange>({}), |
4926 | std::initializer_list<UChar32>({}), |
4927 | std::initializer_list<CharacterRange>({{0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0xab70, 0xabbf}}), |
4928 | CharacterClassWidths::HasBMPChars); |
4929 | return characterClass; |
4930 | } |
4931 | |
4932 | static std::unique_ptr<CharacterClass> createCharacterClass119() |
4933 | { |
4934 | // Name = Canadian_Aboriginal, number of codePoints: 710 |
4935 | auto characterClass = std::make_unique<CharacterClass>( |
4936 | std::initializer_list<UChar32>({}), |
4937 | std::initializer_list<CharacterRange>({}), |
4938 | std::initializer_list<UChar32>({}), |
4939 | std::initializer_list<CharacterRange>({{0x1400, 0x167f}, {0x18b0, 0x18f5}}), |
4940 | CharacterClassWidths::HasBMPChars); |
4941 | return characterClass; |
4942 | } |
4943 | |
4944 | static std::unique_ptr<CharacterClass> createCharacterClass120() |
4945 | { |
4946 | // Name = Ogham, number of codePoints: 29 |
4947 | auto characterClass = std::make_unique<CharacterClass>( |
4948 | std::initializer_list<UChar32>({}), |
4949 | std::initializer_list<CharacterRange>({}), |
4950 | std::initializer_list<UChar32>({}), |
4951 | std::initializer_list<CharacterRange>({{0x1680, 0x169c}}), |
4952 | CharacterClassWidths::HasBMPChars); |
4953 | return characterClass; |
4954 | } |
4955 | |
4956 | static std::unique_ptr<CharacterClass> createCharacterClass121() |
4957 | { |
4958 | // Name = Runic, number of codePoints: 86 |
4959 | auto characterClass = std::make_unique<CharacterClass>( |
4960 | std::initializer_list<UChar32>({}), |
4961 | std::initializer_list<CharacterRange>({}), |
4962 | std::initializer_list<UChar32>({}), |
4963 | std::initializer_list<CharacterRange>({{0x16a0, 0x16ea}, {0x16ee, 0x16f8}}), |
4964 | CharacterClassWidths::HasBMPChars); |
4965 | return characterClass; |
4966 | } |
4967 | |
4968 | static std::unique_ptr<CharacterClass> createCharacterClass122() |
4969 | { |
4970 | // Name = Khmer, number of codePoints: 146 |
4971 | auto characterClass = std::make_unique<CharacterClass>( |
4972 | std::initializer_list<UChar32>({}), |
4973 | std::initializer_list<CharacterRange>({}), |
4974 | std::initializer_list<UChar32>({}), |
4975 | std::initializer_list<CharacterRange>({{0x1780, 0x17dd}, {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, {0x19e0, 0x19ff}}), |
4976 | CharacterClassWidths::HasBMPChars); |
4977 | return characterClass; |
4978 | } |
4979 | |
4980 | static std::unique_ptr<CharacterClass> createCharacterClass123() |
4981 | { |
4982 | // Name = Mongolian, number of codePoints: 167 |
4983 | auto characterClass = std::make_unique<CharacterClass>( |
4984 | std::initializer_list<UChar32>({}), |
4985 | std::initializer_list<CharacterRange>({}), |
4986 | std::initializer_list<UChar32>({0x1804}), |
4987 | std::initializer_list<CharacterRange>({{0x1800, 0x1801}, {0x1806, 0x180e}, {0x1810, 0x1819}, {0x1820, 0x1878}, |
4988 | {0x1880, 0x18aa}, {0x11660, 0x1166c}}), |
4989 | CharacterClassWidths::HasBothBMPAndNonBMP); |
4990 | return characterClass; |
4991 | } |
4992 | |
4993 | static std::unique_ptr<CharacterClass> createCharacterClass124() |
4994 | { |
4995 | // Name = Hiragana, number of codePoints: 376 |
4996 | auto characterClass = std::make_unique<CharacterClass>( |
4997 | std::initializer_list<UChar32>({}), |
4998 | std::initializer_list<CharacterRange>({}), |
4999 | std::initializer_list<UChar32>({0x1f200}), |
5000 | std::initializer_list<CharacterRange>({{0x3041, 0x3096}, {0x309d, 0x309f}, {0x1b001, 0x1b11e}}), |
5001 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5002 | return characterClass; |
5003 | } |
5004 | |
5005 | static std::unique_ptr<CharacterClass> createCharacterClass125() |
5006 | { |
5007 | // Name = Katakana, number of codePoints: 300 |
5008 | auto characterClass = std::make_unique<CharacterClass>( |
5009 | std::initializer_list<UChar32>({}), |
5010 | std::initializer_list<CharacterRange>({}), |
5011 | std::initializer_list<UChar32>({0x1b000}), |
5012 | std::initializer_list<CharacterRange>({{0x30a1, 0x30fa}, {0x30fd, 0x30ff}, {0x31f0, 0x31ff}, {0x32d0, 0x32fe}, |
5013 | {0x3300, 0x3357}, {0xff66, 0xff6f}, {0xff71, 0xff9d}}), |
5014 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5015 | return characterClass; |
5016 | } |
5017 | |
5018 | static std::unique_ptr<CharacterClass> createCharacterClass126() |
5019 | { |
5020 | // Name = Bopomofo, number of codePoints: 72 |
5021 | auto characterClass = std::make_unique<CharacterClass>( |
5022 | std::initializer_list<UChar32>({}), |
5023 | std::initializer_list<CharacterRange>({}), |
5024 | std::initializer_list<UChar32>({}), |
5025 | std::initializer_list<CharacterRange>({{0x02ea, 0x02eb}, {0x3105, 0x312f}, {0x31a0, 0x31ba}}), |
5026 | CharacterClassWidths::HasBMPChars); |
5027 | return characterClass; |
5028 | } |
5029 | |
5030 | static std::unique_ptr<CharacterClass> createCharacterClass127() |
5031 | { |
5032 | // Name = Han, number of codePoints: 89233 |
5033 | auto characterClass = std::make_unique<CharacterClass>( |
5034 | std::initializer_list<UChar32>({}), |
5035 | std::initializer_list<CharacterRange>({}), |
5036 | std::initializer_list<UChar32>({0x3005, 0x3007}), |
5037 | std::initializer_list<CharacterRange>({{0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x3021, 0x3029}, |
5038 | {0x3038, 0x303b}, {0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xf900, 0xfa6d}, |
5039 | {0xfa70, 0xfad9}, {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, |
5040 | {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}}), |
5041 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5042 | return characterClass; |
5043 | } |
5044 | |
5045 | static std::unique_ptr<CharacterClass> createCharacterClass128() |
5046 | { |
5047 | // Name = Yi, number of codePoints: 1220 |
5048 | auto characterClass = std::make_unique<CharacterClass>( |
5049 | std::initializer_list<UChar32>({}), |
5050 | std::initializer_list<CharacterRange>({}), |
5051 | std::initializer_list<UChar32>({}), |
5052 | std::initializer_list<CharacterRange>({{0xa000, 0xa48c}, {0xa490, 0xa4c6}}), |
5053 | CharacterClassWidths::HasBMPChars); |
5054 | return characterClass; |
5055 | } |
5056 | |
5057 | static std::unique_ptr<CharacterClass> createCharacterClass129() |
5058 | { |
5059 | // Name = Old_Italic, number of codePoints: 39 |
5060 | auto characterClass = std::make_unique<CharacterClass>( |
5061 | std::initializer_list<UChar32>({}), |
5062 | std::initializer_list<CharacterRange>({}), |
5063 | std::initializer_list<UChar32>({}), |
5064 | std::initializer_list<CharacterRange>({{0x10300, 0x10323}, {0x1032d, 0x1032f}}), |
5065 | CharacterClassWidths::HasNonBMPChars); |
5066 | return characterClass; |
5067 | } |
5068 | |
5069 | static std::unique_ptr<CharacterClass> createCharacterClass130() |
5070 | { |
5071 | // Name = Gothic, number of codePoints: 27 |
5072 | auto characterClass = std::make_unique<CharacterClass>( |
5073 | std::initializer_list<UChar32>({}), |
5074 | std::initializer_list<CharacterRange>({}), |
5075 | std::initializer_list<UChar32>({}), |
5076 | std::initializer_list<CharacterRange>({{0x10330, 0x1034a}}), |
5077 | CharacterClassWidths::HasNonBMPChars); |
5078 | return characterClass; |
5079 | } |
5080 | |
5081 | static std::unique_ptr<CharacterClass> createCharacterClass131() |
5082 | { |
5083 | // Name = Deseret, number of codePoints: 80 |
5084 | auto characterClass = std::make_unique<CharacterClass>( |
5085 | std::initializer_list<UChar32>({}), |
5086 | std::initializer_list<CharacterRange>({}), |
5087 | std::initializer_list<UChar32>({}), |
5088 | std::initializer_list<CharacterRange>({{0x10400, 0x1044f}}), |
5089 | CharacterClassWidths::HasNonBMPChars); |
5090 | return characterClass; |
5091 | } |
5092 | |
5093 | static std::unique_ptr<CharacterClass> createCharacterClass132() |
5094 | { |
5095 | // Name = Inherited, number of codePoints: 569 |
5096 | auto characterClass = std::make_unique<CharacterClass>( |
5097 | std::initializer_list<UChar32>({}), |
5098 | std::initializer_list<CharacterRange>({}), |
5099 | std::initializer_list<UChar32>({0x0670, 0x1ced, 0x1cf4, 0x101fd, 0x102e0, 0x1133b}), |
5100 | std::initializer_list<CharacterRange>({{0x0300, 0x036f}, {0x0485, 0x0486}, {0x064b, 0x0655}, {0x0951, 0x0952}, |
5101 | {0x1ab0, 0x1abe}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1ce0}, {0x1ce2, 0x1ce8}, |
5102 | {0x1cf8, 0x1cf9}, {0x1dc0, 0x1df9}, {0x1dfb, 0x1dff}, {0x200c, 0x200d}, |
5103 | {0x20d0, 0x20f0}, {0x302a, 0x302d}, {0x3099, 0x309a}, {0xfe00, 0xfe0f}, |
5104 | {0xfe20, 0xfe2d}, {0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, |
5105 | {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef}}), |
5106 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5107 | return characterClass; |
5108 | } |
5109 | |
5110 | static std::unique_ptr<CharacterClass> createCharacterClass133() |
5111 | { |
5112 | // Name = Tagalog, number of codePoints: 20 |
5113 | auto characterClass = std::make_unique<CharacterClass>( |
5114 | std::initializer_list<UChar32>({}), |
5115 | std::initializer_list<CharacterRange>({}), |
5116 | std::initializer_list<UChar32>({}), |
5117 | std::initializer_list<CharacterRange>({{0x1700, 0x170c}, {0x170e, 0x1714}}), |
5118 | CharacterClassWidths::HasBMPChars); |
5119 | return characterClass; |
5120 | } |
5121 | |
5122 | static std::unique_ptr<CharacterClass> createCharacterClass134() |
5123 | { |
5124 | // Name = Hanunoo, number of codePoints: 21 |
5125 | auto characterClass = std::make_unique<CharacterClass>( |
5126 | std::initializer_list<UChar32>({}), |
5127 | std::initializer_list<CharacterRange>({}), |
5128 | std::initializer_list<UChar32>({}), |
5129 | std::initializer_list<CharacterRange>({{0x1720, 0x1734}}), |
5130 | CharacterClassWidths::HasBMPChars); |
5131 | return characterClass; |
5132 | } |
5133 | |
5134 | static std::unique_ptr<CharacterClass> createCharacterClass135() |
5135 | { |
5136 | // Name = Buhid, number of codePoints: 20 |
5137 | auto characterClass = std::make_unique<CharacterClass>( |
5138 | std::initializer_list<UChar32>({}), |
5139 | std::initializer_list<CharacterRange>({}), |
5140 | std::initializer_list<UChar32>({}), |
5141 | std::initializer_list<CharacterRange>({{0x1740, 0x1753}}), |
5142 | CharacterClassWidths::HasBMPChars); |
5143 | return characterClass; |
5144 | } |
5145 | |
5146 | static std::unique_ptr<CharacterClass> createCharacterClass136() |
5147 | { |
5148 | // Name = Tagbanwa, number of codePoints: 18 |
5149 | auto characterClass = std::make_unique<CharacterClass>( |
5150 | std::initializer_list<UChar32>({}), |
5151 | std::initializer_list<CharacterRange>({}), |
5152 | std::initializer_list<UChar32>({}), |
5153 | std::initializer_list<CharacterRange>({{0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}}), |
5154 | CharacterClassWidths::HasBMPChars); |
5155 | return characterClass; |
5156 | } |
5157 | |
5158 | static std::unique_ptr<CharacterClass> createCharacterClass137() |
5159 | { |
5160 | // Name = Limbu, number of codePoints: 68 |
5161 | auto characterClass = std::make_unique<CharacterClass>( |
5162 | std::initializer_list<UChar32>({}), |
5163 | std::initializer_list<CharacterRange>({}), |
5164 | std::initializer_list<UChar32>({0x1940}), |
5165 | std::initializer_list<CharacterRange>({{0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1944, 0x194f}}), |
5166 | CharacterClassWidths::HasBMPChars); |
5167 | return characterClass; |
5168 | } |
5169 | |
5170 | static std::unique_ptr<CharacterClass> createCharacterClass138() |
5171 | { |
5172 | // Name = Tai_Le, number of codePoints: 35 |
5173 | auto characterClass = std::make_unique<CharacterClass>( |
5174 | std::initializer_list<UChar32>({}), |
5175 | std::initializer_list<CharacterRange>({}), |
5176 | std::initializer_list<UChar32>({}), |
5177 | std::initializer_list<CharacterRange>({{0x1950, 0x196d}, {0x1970, 0x1974}}), |
5178 | CharacterClassWidths::HasBMPChars); |
5179 | return characterClass; |
5180 | } |
5181 | |
5182 | static std::unique_ptr<CharacterClass> createCharacterClass139() |
5183 | { |
5184 | // Name = Linear_B, number of codePoints: 211 |
5185 | auto characterClass = std::make_unique<CharacterClass>( |
5186 | std::initializer_list<UChar32>({}), |
5187 | std::initializer_list<CharacterRange>({}), |
5188 | std::initializer_list<UChar32>({}), |
5189 | std::initializer_list<CharacterRange>({{0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, |
5190 | {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}}), |
5191 | CharacterClassWidths::HasNonBMPChars); |
5192 | return characterClass; |
5193 | } |
5194 | |
5195 | static std::unique_ptr<CharacterClass> createCharacterClass140() |
5196 | { |
5197 | // Name = Ugaritic, number of codePoints: 31 |
5198 | auto characterClass = std::make_unique<CharacterClass>( |
5199 | std::initializer_list<UChar32>({}), |
5200 | std::initializer_list<CharacterRange>({}), |
5201 | std::initializer_list<UChar32>({0x1039f}), |
5202 | std::initializer_list<CharacterRange>({{0x10380, 0x1039d}}), |
5203 | CharacterClassWidths::HasNonBMPChars); |
5204 | return characterClass; |
5205 | } |
5206 | |
5207 | static std::unique_ptr<CharacterClass> createCharacterClass141() |
5208 | { |
5209 | // Name = Shavian, number of codePoints: 48 |
5210 | auto characterClass = std::make_unique<CharacterClass>( |
5211 | std::initializer_list<UChar32>({}), |
5212 | std::initializer_list<CharacterRange>({}), |
5213 | std::initializer_list<UChar32>({}), |
5214 | std::initializer_list<CharacterRange>({{0x10450, 0x1047f}}), |
5215 | CharacterClassWidths::HasNonBMPChars); |
5216 | return characterClass; |
5217 | } |
5218 | |
5219 | static std::unique_ptr<CharacterClass> createCharacterClass142() |
5220 | { |
5221 | // Name = Osmanya, number of codePoints: 40 |
5222 | auto characterClass = std::make_unique<CharacterClass>( |
5223 | std::initializer_list<UChar32>({}), |
5224 | std::initializer_list<CharacterRange>({}), |
5225 | std::initializer_list<UChar32>({}), |
5226 | std::initializer_list<CharacterRange>({{0x10480, 0x1049d}, {0x104a0, 0x104a9}}), |
5227 | CharacterClassWidths::HasNonBMPChars); |
5228 | return characterClass; |
5229 | } |
5230 | |
5231 | static std::unique_ptr<CharacterClass> createCharacterClass143() |
5232 | { |
5233 | // Name = Cypriot, number of codePoints: 55 |
5234 | auto characterClass = std::make_unique<CharacterClass>( |
5235 | std::initializer_list<UChar32>({}), |
5236 | std::initializer_list<CharacterRange>({}), |
5237 | std::initializer_list<UChar32>({0x10808, 0x1083c, 0x1083f}), |
5238 | std::initializer_list<CharacterRange>({{0x10800, 0x10805}, {0x1080a, 0x10835}, {0x10837, 0x10838}}), |
5239 | CharacterClassWidths::HasNonBMPChars); |
5240 | return characterClass; |
5241 | } |
5242 | |
5243 | static std::unique_ptr<CharacterClass> createCharacterClass144() |
5244 | { |
5245 | // Name = Braille, number of codePoints: 256 |
5246 | auto characterClass = std::make_unique<CharacterClass>( |
5247 | std::initializer_list<UChar32>({}), |
5248 | std::initializer_list<CharacterRange>({}), |
5249 | std::initializer_list<UChar32>({}), |
5250 | std::initializer_list<CharacterRange>({{0x2800, 0x28ff}}), |
5251 | CharacterClassWidths::HasBMPChars); |
5252 | return characterClass; |
5253 | } |
5254 | |
5255 | static std::unique_ptr<CharacterClass> createCharacterClass145() |
5256 | { |
5257 | // Name = Buginese, number of codePoints: 30 |
5258 | auto characterClass = std::make_unique<CharacterClass>( |
5259 | std::initializer_list<UChar32>({}), |
5260 | std::initializer_list<CharacterRange>({}), |
5261 | std::initializer_list<UChar32>({}), |
5262 | std::initializer_list<CharacterRange>({{0x1a00, 0x1a1b}, {0x1a1e, 0x1a1f}}), |
5263 | CharacterClassWidths::HasBMPChars); |
5264 | return characterClass; |
5265 | } |
5266 | |
5267 | static std::unique_ptr<CharacterClass> createCharacterClass146() |
5268 | { |
5269 | // Name = Coptic, number of codePoints: 137 |
5270 | auto characterClass = std::make_unique<CharacterClass>( |
5271 | std::initializer_list<UChar32>({}), |
5272 | std::initializer_list<CharacterRange>({}), |
5273 | std::initializer_list<UChar32>({}), |
5274 | std::initializer_list<CharacterRange>({{0x03e2, 0x03ef}, {0x2c80, 0x2cf3}, {0x2cf9, 0x2cff}}), |
5275 | CharacterClassWidths::HasBMPChars); |
5276 | return characterClass; |
5277 | } |
5278 | |
5279 | static std::unique_ptr<CharacterClass> createCharacterClass147() |
5280 | { |
5281 | // Name = New_Tai_Lue, number of codePoints: 83 |
5282 | auto characterClass = std::make_unique<CharacterClass>( |
5283 | std::initializer_list<UChar32>({}), |
5284 | std::initializer_list<CharacterRange>({}), |
5285 | std::initializer_list<UChar32>({}), |
5286 | std::initializer_list<CharacterRange>({{0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x19de, 0x19df}}), |
5287 | CharacterClassWidths::HasBMPChars); |
5288 | return characterClass; |
5289 | } |
5290 | |
5291 | static std::unique_ptr<CharacterClass> createCharacterClass148() |
5292 | { |
5293 | // Name = Glagolitic, number of codePoints: 132 |
5294 | auto characterClass = std::make_unique<CharacterClass>( |
5295 | std::initializer_list<UChar32>({}), |
5296 | std::initializer_list<CharacterRange>({}), |
5297 | std::initializer_list<UChar32>({}), |
5298 | std::initializer_list<CharacterRange>({{0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, |
5299 | {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}}), |
5300 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5301 | return characterClass; |
5302 | } |
5303 | |
5304 | static std::unique_ptr<CharacterClass> createCharacterClass149() |
5305 | { |
5306 | // Name = Tifinagh, number of codePoints: 59 |
5307 | auto characterClass = std::make_unique<CharacterClass>( |
5308 | std::initializer_list<UChar32>({}), |
5309 | std::initializer_list<CharacterRange>({}), |
5310 | std::initializer_list<UChar32>({0x2d7f}), |
5311 | std::initializer_list<CharacterRange>({{0x2d30, 0x2d67}, {0x2d6f, 0x2d70}}), |
5312 | CharacterClassWidths::HasBMPChars); |
5313 | return characterClass; |
5314 | } |
5315 | |
5316 | static std::unique_ptr<CharacterClass> createCharacterClass150() |
5317 | { |
5318 | // Name = Syloti_Nagri, number of codePoints: 44 |
5319 | auto characterClass = std::make_unique<CharacterClass>( |
5320 | std::initializer_list<UChar32>({}), |
5321 | std::initializer_list<CharacterRange>({}), |
5322 | std::initializer_list<UChar32>({}), |
5323 | std::initializer_list<CharacterRange>({{0xa800, 0xa82b}}), |
5324 | CharacterClassWidths::HasBMPChars); |
5325 | return characterClass; |
5326 | } |
5327 | |
5328 | static std::unique_ptr<CharacterClass> createCharacterClass151() |
5329 | { |
5330 | // Name = Old_Persian, number of codePoints: 50 |
5331 | auto characterClass = std::make_unique<CharacterClass>( |
5332 | std::initializer_list<UChar32>({}), |
5333 | std::initializer_list<CharacterRange>({}), |
5334 | std::initializer_list<UChar32>({}), |
5335 | std::initializer_list<CharacterRange>({{0x103a0, 0x103c3}, {0x103c8, 0x103d5}}), |
5336 | CharacterClassWidths::HasNonBMPChars); |
5337 | return characterClass; |
5338 | } |
5339 | |
5340 | static std::unique_ptr<CharacterClass> createCharacterClass152() |
5341 | { |
5342 | // Name = Kharoshthi, number of codePoints: 68 |
5343 | auto characterClass = std::make_unique<CharacterClass>( |
5344 | std::initializer_list<UChar32>({}), |
5345 | std::initializer_list<CharacterRange>({}), |
5346 | std::initializer_list<UChar32>({}), |
5347 | std::initializer_list<CharacterRange>({{0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, |
5348 | {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a48}, {0x10a50, 0x10a58}}), |
5349 | CharacterClassWidths::HasNonBMPChars); |
5350 | return characterClass; |
5351 | } |
5352 | |
5353 | static std::unique_ptr<CharacterClass> createCharacterClass153() |
5354 | { |
5355 | // Name = Balinese, number of codePoints: 121 |
5356 | auto characterClass = std::make_unique<CharacterClass>( |
5357 | std::initializer_list<UChar32>({}), |
5358 | std::initializer_list<CharacterRange>({}), |
5359 | std::initializer_list<UChar32>({}), |
5360 | std::initializer_list<CharacterRange>({{0x1b00, 0x1b4b}, {0x1b50, 0x1b7c}}), |
5361 | CharacterClassWidths::HasBMPChars); |
5362 | return characterClass; |
5363 | } |
5364 | |
5365 | static std::unique_ptr<CharacterClass> createCharacterClass154() |
5366 | { |
5367 | // Name = Cuneiform, number of codePoints: 1234 |
5368 | auto characterClass = std::make_unique<CharacterClass>( |
5369 | std::initializer_list<UChar32>({}), |
5370 | std::initializer_list<CharacterRange>({}), |
5371 | std::initializer_list<UChar32>({}), |
5372 | std::initializer_list<CharacterRange>({{0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12470, 0x12474}, {0x12480, 0x12543}}), |
5373 | CharacterClassWidths::HasNonBMPChars); |
5374 | return characterClass; |
5375 | } |
5376 | |
5377 | static std::unique_ptr<CharacterClass> createCharacterClass155() |
5378 | { |
5379 | // Name = Phoenician, number of codePoints: 29 |
5380 | auto characterClass = std::make_unique<CharacterClass>( |
5381 | std::initializer_list<UChar32>({}), |
5382 | std::initializer_list<CharacterRange>({}), |
5383 | std::initializer_list<UChar32>({0x1091f}), |
5384 | std::initializer_list<CharacterRange>({{0x10900, 0x1091b}}), |
5385 | CharacterClassWidths::HasNonBMPChars); |
5386 | return characterClass; |
5387 | } |
5388 | |
5389 | static std::unique_ptr<CharacterClass> createCharacterClass156() |
5390 | { |
5391 | // Name = Phags_Pa, number of codePoints: 56 |
5392 | auto characterClass = std::make_unique<CharacterClass>( |
5393 | std::initializer_list<UChar32>({}), |
5394 | std::initializer_list<CharacterRange>({}), |
5395 | std::initializer_list<UChar32>({}), |
5396 | std::initializer_list<CharacterRange>({{0xa840, 0xa877}}), |
5397 | CharacterClassWidths::HasBMPChars); |
5398 | return characterClass; |
5399 | } |
5400 | |
5401 | static std::unique_ptr<CharacterClass> createCharacterClass157() |
5402 | { |
5403 | // Name = Nko, number of codePoints: 62 |
5404 | auto characterClass = std::make_unique<CharacterClass>( |
5405 | std::initializer_list<UChar32>({}), |
5406 | std::initializer_list<CharacterRange>({}), |
5407 | std::initializer_list<UChar32>({}), |
5408 | std::initializer_list<CharacterRange>({{0x07c0, 0x07fa}, {0x07fd, 0x07ff}}), |
5409 | CharacterClassWidths::HasBMPChars); |
5410 | return characterClass; |
5411 | } |
5412 | |
5413 | static std::unique_ptr<CharacterClass> createCharacterClass158() |
5414 | { |
5415 | // Name = Sundanese, number of codePoints: 72 |
5416 | auto characterClass = std::make_unique<CharacterClass>( |
5417 | std::initializer_list<UChar32>({}), |
5418 | std::initializer_list<CharacterRange>({}), |
5419 | std::initializer_list<UChar32>({}), |
5420 | std::initializer_list<CharacterRange>({{0x1b80, 0x1bbf}, {0x1cc0, 0x1cc7}}), |
5421 | CharacterClassWidths::HasBMPChars); |
5422 | return characterClass; |
5423 | } |
5424 | |
5425 | static std::unique_ptr<CharacterClass> createCharacterClass159() |
5426 | { |
5427 | // Name = Lepcha, number of codePoints: 74 |
5428 | auto characterClass = std::make_unique<CharacterClass>( |
5429 | std::initializer_list<UChar32>({}), |
5430 | std::initializer_list<CharacterRange>({}), |
5431 | std::initializer_list<UChar32>({}), |
5432 | std::initializer_list<CharacterRange>({{0x1c00, 0x1c37}, {0x1c3b, 0x1c49}, {0x1c4d, 0x1c4f}}), |
5433 | CharacterClassWidths::HasBMPChars); |
5434 | return characterClass; |
5435 | } |
5436 | |
5437 | static std::unique_ptr<CharacterClass> createCharacterClass160() |
5438 | { |
5439 | // Name = Ol_Chiki, number of codePoints: 48 |
5440 | auto characterClass = std::make_unique<CharacterClass>( |
5441 | std::initializer_list<UChar32>({}), |
5442 | std::initializer_list<CharacterRange>({}), |
5443 | std::initializer_list<UChar32>({}), |
5444 | std::initializer_list<CharacterRange>({{0x1c50, 0x1c7f}}), |
5445 | CharacterClassWidths::HasBMPChars); |
5446 | return characterClass; |
5447 | } |
5448 | |
5449 | static std::unique_ptr<CharacterClass> createCharacterClass161() |
5450 | { |
5451 | // Name = Vai, number of codePoints: 300 |
5452 | auto characterClass = std::make_unique<CharacterClass>( |
5453 | std::initializer_list<UChar32>({}), |
5454 | std::initializer_list<CharacterRange>({}), |
5455 | std::initializer_list<UChar32>({}), |
5456 | std::initializer_list<CharacterRange>({{0xa500, 0xa62b}}), |
5457 | CharacterClassWidths::HasBMPChars); |
5458 | return characterClass; |
5459 | } |
5460 | |
5461 | static std::unique_ptr<CharacterClass> createCharacterClass162() |
5462 | { |
5463 | // Name = Saurashtra, number of codePoints: 82 |
5464 | auto characterClass = std::make_unique<CharacterClass>( |
5465 | std::initializer_list<UChar32>({}), |
5466 | std::initializer_list<CharacterRange>({}), |
5467 | std::initializer_list<UChar32>({}), |
5468 | std::initializer_list<CharacterRange>({{0xa880, 0xa8c5}, {0xa8ce, 0xa8d9}}), |
5469 | CharacterClassWidths::HasBMPChars); |
5470 | return characterClass; |
5471 | } |
5472 | |
5473 | static std::unique_ptr<CharacterClass> createCharacterClass163() |
5474 | { |
5475 | // Name = Kayah_Li, number of codePoints: 47 |
5476 | auto characterClass = std::make_unique<CharacterClass>( |
5477 | std::initializer_list<UChar32>({}), |
5478 | std::initializer_list<CharacterRange>({}), |
5479 | std::initializer_list<UChar32>({0xa92f}), |
5480 | std::initializer_list<CharacterRange>({{0xa900, 0xa92d}}), |
5481 | CharacterClassWidths::HasBMPChars); |
5482 | return characterClass; |
5483 | } |
5484 | |
5485 | static std::unique_ptr<CharacterClass> createCharacterClass164() |
5486 | { |
5487 | // Name = Rejang, number of codePoints: 37 |
5488 | auto characterClass = std::make_unique<CharacterClass>( |
5489 | std::initializer_list<UChar32>({}), |
5490 | std::initializer_list<CharacterRange>({}), |
5491 | std::initializer_list<UChar32>({0xa95f}), |
5492 | std::initializer_list<CharacterRange>({{0xa930, 0xa953}}), |
5493 | CharacterClassWidths::HasBMPChars); |
5494 | return characterClass; |
5495 | } |
5496 | |
5497 | static std::unique_ptr<CharacterClass> createCharacterClass165() |
5498 | { |
5499 | // Name = Lycian, number of codePoints: 29 |
5500 | auto characterClass = std::make_unique<CharacterClass>( |
5501 | std::initializer_list<UChar32>({}), |
5502 | std::initializer_list<CharacterRange>({}), |
5503 | std::initializer_list<UChar32>({}), |
5504 | std::initializer_list<CharacterRange>({{0x10280, 0x1029c}}), |
5505 | CharacterClassWidths::HasNonBMPChars); |
5506 | return characterClass; |
5507 | } |
5508 | |
5509 | static std::unique_ptr<CharacterClass> createCharacterClass166() |
5510 | { |
5511 | // Name = Carian, number of codePoints: 49 |
5512 | auto characterClass = std::make_unique<CharacterClass>( |
5513 | std::initializer_list<UChar32>({}), |
5514 | std::initializer_list<CharacterRange>({}), |
5515 | std::initializer_list<UChar32>({}), |
5516 | std::initializer_list<CharacterRange>({{0x102a0, 0x102d0}}), |
5517 | CharacterClassWidths::HasNonBMPChars); |
5518 | return characterClass; |
5519 | } |
5520 | |
5521 | static std::unique_ptr<CharacterClass> createCharacterClass167() |
5522 | { |
5523 | // Name = Lydian, number of codePoints: 27 |
5524 | auto characterClass = std::make_unique<CharacterClass>( |
5525 | std::initializer_list<UChar32>({}), |
5526 | std::initializer_list<CharacterRange>({}), |
5527 | std::initializer_list<UChar32>({0x1093f}), |
5528 | std::initializer_list<CharacterRange>({{0x10920, 0x10939}}), |
5529 | CharacterClassWidths::HasNonBMPChars); |
5530 | return characterClass; |
5531 | } |
5532 | |
5533 | static std::unique_ptr<CharacterClass> createCharacterClass168() |
5534 | { |
5535 | // Name = Cham, number of codePoints: 83 |
5536 | auto characterClass = std::make_unique<CharacterClass>( |
5537 | std::initializer_list<UChar32>({}), |
5538 | std::initializer_list<CharacterRange>({}), |
5539 | std::initializer_list<UChar32>({}), |
5540 | std::initializer_list<CharacterRange>({{0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa5c, 0xaa5f}}), |
5541 | CharacterClassWidths::HasBMPChars); |
5542 | return characterClass; |
5543 | } |
5544 | |
5545 | static std::unique_ptr<CharacterClass> createCharacterClass169() |
5546 | { |
5547 | // Name = Tai_Tham, number of codePoints: 127 |
5548 | auto characterClass = std::make_unique<CharacterClass>( |
5549 | std::initializer_list<UChar32>({}), |
5550 | std::initializer_list<CharacterRange>({}), |
5551 | std::initializer_list<UChar32>({}), |
5552 | std::initializer_list<CharacterRange>({{0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, |
5553 | {0x1aa0, 0x1aad}}), |
5554 | CharacterClassWidths::HasBMPChars); |
5555 | return characterClass; |
5556 | } |
5557 | |
5558 | static std::unique_ptr<CharacterClass> createCharacterClass170() |
5559 | { |
5560 | // Name = Tai_Viet, number of codePoints: 72 |
5561 | auto characterClass = std::make_unique<CharacterClass>( |
5562 | std::initializer_list<UChar32>({}), |
5563 | std::initializer_list<CharacterRange>({}), |
5564 | std::initializer_list<UChar32>({}), |
5565 | std::initializer_list<CharacterRange>({{0xaa80, 0xaac2}, {0xaadb, 0xaadf}}), |
5566 | CharacterClassWidths::HasBMPChars); |
5567 | return characterClass; |
5568 | } |
5569 | |
5570 | static std::unique_ptr<CharacterClass> createCharacterClass171() |
5571 | { |
5572 | // Name = Avestan, number of codePoints: 61 |
5573 | auto characterClass = std::make_unique<CharacterClass>( |
5574 | std::initializer_list<UChar32>({}), |
5575 | std::initializer_list<CharacterRange>({}), |
5576 | std::initializer_list<UChar32>({}), |
5577 | std::initializer_list<CharacterRange>({{0x10b00, 0x10b35}, {0x10b39, 0x10b3f}}), |
5578 | CharacterClassWidths::HasNonBMPChars); |
5579 | return characterClass; |
5580 | } |
5581 | |
5582 | static std::unique_ptr<CharacterClass> createCharacterClass172() |
5583 | { |
5584 | // Name = Egyptian_Hieroglyphs, number of codePoints: 1071 |
5585 | auto characterClass = std::make_unique<CharacterClass>( |
5586 | std::initializer_list<UChar32>({}), |
5587 | std::initializer_list<CharacterRange>({}), |
5588 | std::initializer_list<UChar32>({}), |
5589 | std::initializer_list<CharacterRange>({{0x13000, 0x1342e}}), |
5590 | CharacterClassWidths::HasNonBMPChars); |
5591 | return characterClass; |
5592 | } |
5593 | |
5594 | static std::unique_ptr<CharacterClass> createCharacterClass173() |
5595 | { |
5596 | // Name = Samaritan, number of codePoints: 61 |
5597 | auto characterClass = std::make_unique<CharacterClass>( |
5598 | std::initializer_list<UChar32>({}), |
5599 | std::initializer_list<CharacterRange>({}), |
5600 | std::initializer_list<UChar32>({}), |
5601 | std::initializer_list<CharacterRange>({{0x0800, 0x082d}, {0x0830, 0x083e}}), |
5602 | CharacterClassWidths::HasBMPChars); |
5603 | return characterClass; |
5604 | } |
5605 | |
5606 | static std::unique_ptr<CharacterClass> createCharacterClass174() |
5607 | { |
5608 | // Name = Lisu, number of codePoints: 48 |
5609 | auto characterClass = std::make_unique<CharacterClass>( |
5610 | std::initializer_list<UChar32>({}), |
5611 | std::initializer_list<CharacterRange>({}), |
5612 | std::initializer_list<UChar32>({}), |
5613 | std::initializer_list<CharacterRange>({{0xa4d0, 0xa4ff}}), |
5614 | CharacterClassWidths::HasBMPChars); |
5615 | return characterClass; |
5616 | } |
5617 | |
5618 | static std::unique_ptr<CharacterClass> createCharacterClass175() |
5619 | { |
5620 | // Name = Bamum, number of codePoints: 657 |
5621 | auto characterClass = std::make_unique<CharacterClass>( |
5622 | std::initializer_list<UChar32>({}), |
5623 | std::initializer_list<CharacterRange>({}), |
5624 | std::initializer_list<UChar32>({}), |
5625 | std::initializer_list<CharacterRange>({{0xa6a0, 0xa6f7}, {0x16800, 0x16a38}}), |
5626 | CharacterClassWidths::HasBothBMPAndNonBMP); |
5627 | return characterClass; |
5628 | } |
5629 | |
5630 | static std::unique_ptr<CharacterClass> createCharacterClass176() |
5631 | { |
5632 | // Name = Javanese, number of codePoints: 90 |
5633 | auto characterClass = std::make_unique<CharacterClass>( |
5634 | std::initializer_list<UChar32>({}), |
5635 | std::initializer_list<CharacterRange>({}), |
5636 | std::initializer_list<UChar32>({}), |
5637 | std::initializer_list<CharacterRange>({{0xa980, 0xa9cd}, {0xa9d0, 0xa9d9}, {0xa9de, 0xa9df}}), |
5638 | CharacterClassWidths::HasBMPChars); |
5639 | return characterClass; |
5640 | } |
5641 | |
5642 | static std::unique_ptr<CharacterClass> createCharacterClass177() |
5643 | { |
5644 | // Name = Meetei_Mayek, number of codePoints: 79 |
5645 | auto characterClass = std::make_unique<CharacterClass>( |
5646 | std::initializer_list<UChar32>({}), |
5647 | std::initializer_list<CharacterRange>({}), |
5648 | std::initializer_list<UChar32>({}), |
5649 | std::initializer_list<CharacterRange>({{0xaae0, 0xaaf6}, {0xabc0, 0xabed}, {0xabf0, 0xabf9}}), |
5650 | CharacterClassWidths::HasBMPChars); |
5651 | return characterClass; |
5652 | } |
5653 | |
5654 | static std::unique_ptr<CharacterClass> createCharacterClass178() |
5655 | { |
5656 | // Name = Imperial_Aramaic, number of codePoints: 31 |
5657 | auto characterClass = std::make_unique<CharacterClass>( |
5658 | std::initializer_list<UChar32>({}), |
5659 | std::initializer_list<CharacterRange>({}), |
5660 | std::initializer_list<UChar32>({}), |
5661 | std::initializer_list<CharacterRange>({{0x10840, 0x10855}, {0x10857, 0x1085f}}), |
5662 | CharacterClassWidths::HasNonBMPChars); |
5663 | return characterClass; |
5664 | } |
5665 | |
5666 | static std::unique_ptr<CharacterClass> createCharacterClass179() |
5667 | { |
5668 | // Name = Old_South_Arabian, number of codePoints: 32 |
5669 | auto characterClass = std::make_unique<CharacterClass>( |
5670 | std::initializer_list<UChar32>({}), |
5671 | std::initializer_list<CharacterRange>({}), |
5672 | std::initializer_list<UChar32>({}), |
5673 | std::initializer_list<CharacterRange>({{0x10a60, 0x10a7f}}), |
5674 | CharacterClassWidths::HasNonBMPChars); |
5675 | return characterClass; |
5676 | } |
5677 | |
5678 | static std::unique_ptr<CharacterClass> createCharacterClass180() |
5679 | { |
5680 | // Name = Inscriptional_Parthian, number of codePoints: 30 |
5681 | auto characterClass = std::make_unique<CharacterClass>( |
5682 | std::initializer_list<UChar32>({}), |
5683 | std::initializer_list<CharacterRange>({}), |
5684 | std::initializer_list<UChar32>({}), |
5685 | std::initializer_list<CharacterRange>({{0x10b40, 0x10b55}, {0x10b58, 0x10b5f}}), |
5686 | CharacterClassWidths::HasNonBMPChars); |
5687 | return characterClass; |
5688 | } |
5689 | |
5690 | static std::unique_ptr<CharacterClass> createCharacterClass181() |
5691 | { |
5692 | // Name = Inscriptional_Pahlavi, number of codePoints: 27 |
5693 | auto characterClass = std::make_unique<CharacterClass>( |
5694 | std::initializer_list<UChar32>({}), |
5695 | std::initializer_list<CharacterRange>({}), |
5696 | std::initializer_list<UChar32>({}), |
5697 | std::initializer_list<CharacterRange>({{0x10b60, 0x10b72}, {0x10b78, 0x10b7f}}), |
5698 | CharacterClassWidths::HasNonBMPChars); |
5699 | return characterClass; |
5700 | } |
5701 | |
5702 | static std::unique_ptr<CharacterClass> createCharacterClass182() |
5703 | { |
5704 | // Name = Old_Turkic, number of codePoints: 73 |
5705 | auto characterClass = std::make_unique<CharacterClass>( |
5706 | std::initializer_list<UChar32>({}), |
5707 | std::initializer_list<CharacterRange>({}), |
5708 | std::initializer_list<UChar32>({}), |
5709 | std::initializer_list<CharacterRange>({{0x10c00, 0x10c48}}), |
5710 | CharacterClassWidths::HasNonBMPChars); |
5711 | return characterClass; |
5712 | } |
5713 | |
5714 | static std::unique_ptr<CharacterClass> createCharacterClass183() |
5715 | { |
5716 | // Name = Kaithi, number of codePoints: 67 |
5717 | auto characterClass = std::make_unique<CharacterClass>( |
5718 | std::initializer_list<UChar32>({}), |
5719 | std::initializer_list<CharacterRange>({}), |
5720 | std::initializer_list<UChar32>({0x110cd}), |
5721 | std::initializer_list<CharacterRange>({{0x11080, 0x110c1}}), |
5722 | CharacterClassWidths::HasNonBMPChars); |
5723 | return characterClass; |
5724 | } |
5725 | |
5726 | static std::unique_ptr<CharacterClass> createCharacterClass184() |
5727 | { |
5728 | // Name = Batak, number of codePoints: 56 |
5729 | auto characterClass = std::make_unique<CharacterClass>( |
5730 | std::initializer_list<UChar32>({}), |
5731 | std::initializer_list<CharacterRange>({}), |
5732 | std::initializer_list<UChar32>({}), |
5733 | std::initializer_list<CharacterRange>({{0x1bc0, 0x1bf3}, {0x1bfc, 0x1bff}}), |
5734 | CharacterClassWidths::HasBMPChars); |
5735 | return characterClass; |
5736 | } |
5737 | |
5738 | static std::unique_ptr<CharacterClass> createCharacterClass185() |
5739 | { |
5740 | // Name = Brahmi, number of codePoints: 109 |
5741 | auto characterClass = std::make_unique<CharacterClass>( |
5742 | std::initializer_list<UChar32>({}), |
5743 | std::initializer_list<CharacterRange>({}), |
5744 | std::initializer_list<UChar32>({0x1107f}), |
5745 | std::initializer_list<CharacterRange>({{0x11000, 0x1104d}, {0x11052, 0x1106f}}), |
5746 | CharacterClassWidths::HasNonBMPChars); |
5747 | return characterClass; |
5748 | } |
5749 | |
5750 | static std::unique_ptr<CharacterClass> createCharacterClass186() |
5751 | { |
5752 | // Name = Mandaic, number of codePoints: 29 |
5753 | auto characterClass = std::make_unique<CharacterClass>( |
5754 | std::initializer_list<UChar32>({}), |
5755 | std::initializer_list<CharacterRange>({}), |
5756 | std::initializer_list<UChar32>({0x085e}), |
5757 | std::initializer_list<CharacterRange>({{0x0840, 0x085b}}), |
5758 | CharacterClassWidths::HasBMPChars); |
5759 | return characterClass; |
5760 | } |
5761 | |
5762 | static std::unique_ptr<CharacterClass> createCharacterClass187() |
5763 | { |
5764 | // Name = Chakma, number of codePoints: 70 |
5765 | auto characterClass = std::make_unique<CharacterClass>( |
5766 | std::initializer_list<UChar32>({}), |
5767 | std::initializer_list<CharacterRange>({}), |
5768 | std::initializer_list<UChar32>({}), |
5769 | std::initializer_list<CharacterRange>({{0x11100, 0x11134}, {0x11136, 0x11146}}), |
5770 | CharacterClassWidths::HasNonBMPChars); |
5771 | return characterClass; |
5772 | } |
5773 | |
5774 | static std::unique_ptr<CharacterClass> createCharacterClass188() |
5775 | { |
5776 | // Name = Meroitic_Cursive, number of codePoints: 90 |
5777 | auto characterClass = std::make_unique<CharacterClass>( |
5778 | std::initializer_list<UChar32>({}), |
5779 | std::initializer_list<CharacterRange>({}), |
5780 | std::initializer_list<UChar32>({}), |
5781 | std::initializer_list<CharacterRange>({{0x109a0, 0x109b7}, {0x109bc, 0x109cf}, {0x109d2, 0x109ff}}), |
5782 | CharacterClassWidths::HasNonBMPChars); |
5783 | return characterClass; |
5784 | } |
5785 | |
5786 | static std::unique_ptr<CharacterClass> createCharacterClass189() |
5787 | { |
5788 | // Name = Meroitic_Hieroglyphs, number of codePoints: 32 |
5789 | auto characterClass = std::make_unique<CharacterClass>( |
5790 | std::initializer_list<UChar32>({}), |
5791 | std::initializer_list<CharacterRange>({}), |
5792 | std::initializer_list<UChar32>({}), |
5793 | std::initializer_list<CharacterRange>({{0x10980, 0x1099f}}), |
5794 | CharacterClassWidths::HasNonBMPChars); |
5795 | return characterClass; |
5796 | } |
5797 | |
5798 | static std::unique_ptr<CharacterClass> createCharacterClass190() |
5799 | { |
5800 | // Name = Miao, number of codePoints: 133 |
5801 | auto characterClass = std::make_unique<CharacterClass>( |
5802 | std::initializer_list<UChar32>({}), |
5803 | std::initializer_list<CharacterRange>({}), |
5804 | std::initializer_list<UChar32>({}), |
5805 | std::initializer_list<CharacterRange>({{0x16f00, 0x16f44}, {0x16f50, 0x16f7e}, {0x16f8f, 0x16f9f}}), |
5806 | CharacterClassWidths::HasNonBMPChars); |
5807 | return characterClass; |
5808 | } |
5809 | |
5810 | static std::unique_ptr<CharacterClass> createCharacterClass191() |
5811 | { |
5812 | // Name = Sharada, number of codePoints: 94 |
5813 | auto characterClass = std::make_unique<CharacterClass>( |
5814 | std::initializer_list<UChar32>({}), |
5815 | std::initializer_list<CharacterRange>({}), |
5816 | std::initializer_list<UChar32>({}), |
5817 | std::initializer_list<CharacterRange>({{0x11180, 0x111cd}, {0x111d0, 0x111df}}), |
5818 | CharacterClassWidths::HasNonBMPChars); |
5819 | return characterClass; |
5820 | } |
5821 | |
5822 | static std::unique_ptr<CharacterClass> createCharacterClass192() |
5823 | { |
5824 | // Name = Sora_Sompeng, number of codePoints: 35 |
5825 | auto characterClass = std::make_unique<CharacterClass>( |
5826 | std::initializer_list<UChar32>({}), |
5827 | std::initializer_list<CharacterRange>({}), |
5828 | std::initializer_list<UChar32>({}), |
5829 | std::initializer_list<CharacterRange>({{0x110d0, 0x110e8}, {0x110f0, 0x110f9}}), |
5830 | CharacterClassWidths::HasNonBMPChars); |
5831 | return characterClass; |
5832 | } |
5833 | |
5834 | static std::unique_ptr<CharacterClass> createCharacterClass193() |
5835 | { |
5836 | // Name = Takri, number of codePoints: 66 |
5837 | auto characterClass = std::make_unique<CharacterClass>( |
5838 | std::initializer_list<UChar32>({}), |
5839 | std::initializer_list<CharacterRange>({}), |
5840 | std::initializer_list<UChar32>({}), |
5841 | std::initializer_list<CharacterRange>({{0x11680, 0x116b7}, {0x116c0, 0x116c9}}), |
5842 | CharacterClassWidths::HasNonBMPChars); |
5843 | return characterClass; |
5844 | } |
5845 | |
5846 | static std::unique_ptr<CharacterClass> createCharacterClass194() |
5847 | { |
5848 | // Name = Caucasian_Albanian, number of codePoints: 53 |
5849 | auto characterClass = std::make_unique<CharacterClass>( |
5850 | std::initializer_list<UChar32>({}), |
5851 | std::initializer_list<CharacterRange>({}), |
5852 | std::initializer_list<UChar32>({0x1056f}), |
5853 | std::initializer_list<CharacterRange>({{0x10530, 0x10563}}), |
5854 | CharacterClassWidths::HasNonBMPChars); |
5855 | return characterClass; |
5856 | } |
5857 | |
5858 | static std::unique_ptr<CharacterClass> createCharacterClass195() |
5859 | { |
5860 | // Name = Bassa_Vah, number of codePoints: 36 |
5861 | auto characterClass = std::make_unique<CharacterClass>( |
5862 | std::initializer_list<UChar32>({}), |
5863 | std::initializer_list<CharacterRange>({}), |
5864 | std::initializer_list<UChar32>({}), |
5865 | std::initializer_list<CharacterRange>({{0x16ad0, 0x16aed}, {0x16af0, 0x16af5}}), |
5866 | CharacterClassWidths::HasNonBMPChars); |
5867 | return characterClass; |
5868 | } |
5869 | |
5870 | static std::unique_ptr<CharacterClass> createCharacterClass196() |
5871 | { |
5872 | // Name = Duployan, number of codePoints: 143 |
5873 | auto characterClass = std::make_unique<CharacterClass>( |
5874 | std::initializer_list<UChar32>({}), |
5875 | std::initializer_list<CharacterRange>({}), |
5876 | std::initializer_list<UChar32>({}), |
5877 | std::initializer_list<CharacterRange>({{0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, |
5878 | {0x1bc9c, 0x1bc9f}}), |
5879 | CharacterClassWidths::HasNonBMPChars); |
5880 | return characterClass; |
5881 | } |
5882 | |
5883 | static std::unique_ptr<CharacterClass> createCharacterClass197() |
5884 | { |
5885 | // Name = Elbasan, number of codePoints: 40 |
5886 | auto characterClass = std::make_unique<CharacterClass>( |
5887 | std::initializer_list<UChar32>({}), |
5888 | std::initializer_list<CharacterRange>({}), |
5889 | std::initializer_list<UChar32>({}), |
5890 | std::initializer_list<CharacterRange>({{0x10500, 0x10527}}), |
5891 | CharacterClassWidths::HasNonBMPChars); |
5892 | return characterClass; |
5893 | } |
5894 | |
5895 | static std::unique_ptr<CharacterClass> createCharacterClass198() |
5896 | { |
5897 | // Name = Grantha, number of codePoints: 85 |
5898 | auto characterClass = std::make_unique<CharacterClass>( |
5899 | std::initializer_list<UChar32>({}), |
5900 | std::initializer_list<CharacterRange>({}), |
5901 | std::initializer_list<UChar32>({0x11350, 0x11357}), |
5902 | std::initializer_list<CharacterRange>({{0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, |
5903 | {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133c, 0x11344}, |
5904 | {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x1135d, 0x11363}, {0x11366, 0x1136c}, |
5905 | {0x11370, 0x11374}}), |
5906 | CharacterClassWidths::HasNonBMPChars); |
5907 | return characterClass; |
5908 | } |
5909 | |
5910 | static std::unique_ptr<CharacterClass> createCharacterClass199() |
5911 | { |
5912 | // Name = Pahawh_Hmong, number of codePoints: 127 |
5913 | auto characterClass = std::make_unique<CharacterClass>( |
5914 | std::initializer_list<UChar32>({}), |
5915 | std::initializer_list<CharacterRange>({}), |
5916 | std::initializer_list<UChar32>({}), |
5917 | std::initializer_list<CharacterRange>({{0x16b00, 0x16b45}, {0x16b50, 0x16b59}, {0x16b5b, 0x16b61}, {0x16b63, 0x16b77}, |
5918 | {0x16b7d, 0x16b8f}}), |
5919 | CharacterClassWidths::HasNonBMPChars); |
5920 | return characterClass; |
5921 | } |
5922 | |
5923 | static std::unique_ptr<CharacterClass> createCharacterClass200() |
5924 | { |
5925 | // Name = Khojki, number of codePoints: 62 |
5926 | auto characterClass = std::make_unique<CharacterClass>( |
5927 | std::initializer_list<UChar32>({}), |
5928 | std::initializer_list<CharacterRange>({}), |
5929 | std::initializer_list<UChar32>({}), |
5930 | std::initializer_list<CharacterRange>({{0x11200, 0x11211}, {0x11213, 0x1123e}}), |
5931 | CharacterClassWidths::HasNonBMPChars); |
5932 | return characterClass; |
5933 | } |
5934 | |
5935 | static std::unique_ptr<CharacterClass> createCharacterClass201() |
5936 | { |
5937 | // Name = Linear_A, number of codePoints: 341 |
5938 | auto characterClass = std::make_unique<CharacterClass>( |
5939 | std::initializer_list<UChar32>({}), |
5940 | std::initializer_list<CharacterRange>({}), |
5941 | std::initializer_list<UChar32>({}), |
5942 | std::initializer_list<CharacterRange>({{0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}}), |
5943 | CharacterClassWidths::HasNonBMPChars); |
5944 | return characterClass; |
5945 | } |
5946 | |
5947 | static std::unique_ptr<CharacterClass> createCharacterClass202() |
5948 | { |
5949 | // Name = Mahajani, number of codePoints: 39 |
5950 | auto characterClass = std::make_unique<CharacterClass>( |
5951 | std::initializer_list<UChar32>({}), |
5952 | std::initializer_list<CharacterRange>({}), |
5953 | std::initializer_list<UChar32>({}), |
5954 | std::initializer_list<CharacterRange>({{0x11150, 0x11176}}), |
5955 | CharacterClassWidths::HasNonBMPChars); |
5956 | return characterClass; |
5957 | } |
5958 | |
5959 | static std::unique_ptr<CharacterClass> createCharacterClass203() |
5960 | { |
5961 | // Name = Manichaean, number of codePoints: 51 |
5962 | auto characterClass = std::make_unique<CharacterClass>( |
5963 | std::initializer_list<UChar32>({}), |
5964 | std::initializer_list<CharacterRange>({}), |
5965 | std::initializer_list<UChar32>({}), |
5966 | std::initializer_list<CharacterRange>({{0x10ac0, 0x10ae6}, {0x10aeb, 0x10af6}}), |
5967 | CharacterClassWidths::HasNonBMPChars); |
5968 | return characterClass; |
5969 | } |
5970 | |
5971 | static std::unique_ptr<CharacterClass> createCharacterClass204() |
5972 | { |
5973 | // Name = Mende_Kikakui, number of codePoints: 213 |
5974 | auto characterClass = std::make_unique<CharacterClass>( |
5975 | std::initializer_list<UChar32>({}), |
5976 | std::initializer_list<CharacterRange>({}), |
5977 | std::initializer_list<UChar32>({}), |
5978 | std::initializer_list<CharacterRange>({{0x1e800, 0x1e8c4}, {0x1e8c7, 0x1e8d6}}), |
5979 | CharacterClassWidths::HasNonBMPChars); |
5980 | return characterClass; |
5981 | } |
5982 | |
5983 | static std::unique_ptr<CharacterClass> createCharacterClass205() |
5984 | { |
5985 | // Name = Modi, number of codePoints: 79 |
5986 | auto characterClass = std::make_unique<CharacterClass>( |
5987 | std::initializer_list<UChar32>({}), |
5988 | std::initializer_list<CharacterRange>({}), |
5989 | std::initializer_list<UChar32>({}), |
5990 | std::initializer_list<CharacterRange>({{0x11600, 0x11644}, {0x11650, 0x11659}}), |
5991 | CharacterClassWidths::HasNonBMPChars); |
5992 | return characterClass; |
5993 | } |
5994 | |
5995 | static std::unique_ptr<CharacterClass> createCharacterClass206() |
5996 | { |
5997 | // Name = Mro, number of codePoints: 43 |
5998 | auto characterClass = std::make_unique<CharacterClass>( |
5999 | std::initializer_list<UChar32>({}), |
6000 | std::initializer_list<CharacterRange>({}), |
6001 | std::initializer_list<UChar32>({}), |
6002 | std::initializer_list<CharacterRange>({{0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a6e, 0x16a6f}}), |
6003 | CharacterClassWidths::HasNonBMPChars); |
6004 | return characterClass; |
6005 | } |
6006 | |
6007 | static std::unique_ptr<CharacterClass> createCharacterClass207() |
6008 | { |
6009 | // Name = Old_North_Arabian, number of codePoints: 32 |
6010 | auto characterClass = std::make_unique<CharacterClass>( |
6011 | std::initializer_list<UChar32>({}), |
6012 | std::initializer_list<CharacterRange>({}), |
6013 | std::initializer_list<UChar32>({}), |
6014 | std::initializer_list<CharacterRange>({{0x10a80, 0x10a9f}}), |
6015 | CharacterClassWidths::HasNonBMPChars); |
6016 | return characterClass; |
6017 | } |
6018 | |
6019 | static std::unique_ptr<CharacterClass> createCharacterClass208() |
6020 | { |
6021 | // Name = Nabataean, number of codePoints: 40 |
6022 | auto characterClass = std::make_unique<CharacterClass>( |
6023 | std::initializer_list<UChar32>({}), |
6024 | std::initializer_list<CharacterRange>({}), |
6025 | std::initializer_list<UChar32>({}), |
6026 | std::initializer_list<CharacterRange>({{0x10880, 0x1089e}, {0x108a7, 0x108af}}), |
6027 | CharacterClassWidths::HasNonBMPChars); |
6028 | return characterClass; |
6029 | } |
6030 | |
6031 | static std::unique_ptr<CharacterClass> createCharacterClass209() |
6032 | { |
6033 | // Name = Palmyrene, number of codePoints: 32 |
6034 | auto characterClass = std::make_unique<CharacterClass>( |
6035 | std::initializer_list<UChar32>({}), |
6036 | std::initializer_list<CharacterRange>({}), |
6037 | std::initializer_list<UChar32>({}), |
6038 | std::initializer_list<CharacterRange>({{0x10860, 0x1087f}}), |
6039 | CharacterClassWidths::HasNonBMPChars); |
6040 | return characterClass; |
6041 | } |
6042 | |
6043 | static std::unique_ptr<CharacterClass> createCharacterClass210() |
6044 | { |
6045 | // Name = Pau_Cin_Hau, number of codePoints: 57 |
6046 | auto characterClass = std::make_unique<CharacterClass>( |
6047 | std::initializer_list<UChar32>({}), |
6048 | std::initializer_list<CharacterRange>({}), |
6049 | std::initializer_list<UChar32>({}), |
6050 | std::initializer_list<CharacterRange>({{0x11ac0, 0x11af8}}), |
6051 | CharacterClassWidths::HasNonBMPChars); |
6052 | return characterClass; |
6053 | } |
6054 | |
6055 | static std::unique_ptr<CharacterClass> createCharacterClass211() |
6056 | { |
6057 | // Name = Old_Permic, number of codePoints: 43 |
6058 | auto characterClass = std::make_unique<CharacterClass>( |
6059 | std::initializer_list<UChar32>({}), |
6060 | std::initializer_list<CharacterRange>({}), |
6061 | std::initializer_list<UChar32>({}), |
6062 | std::initializer_list<CharacterRange>({{0x10350, 0x1037a}}), |
6063 | CharacterClassWidths::HasNonBMPChars); |
6064 | return characterClass; |
6065 | } |
6066 | |
6067 | static std::unique_ptr<CharacterClass> createCharacterClass212() |
6068 | { |
6069 | // Name = Psalter_Pahlavi, number of codePoints: 29 |
6070 | auto characterClass = std::make_unique<CharacterClass>( |
6071 | std::initializer_list<UChar32>({}), |
6072 | std::initializer_list<CharacterRange>({}), |
6073 | std::initializer_list<UChar32>({}), |
6074 | std::initializer_list<CharacterRange>({{0x10b80, 0x10b91}, {0x10b99, 0x10b9c}, {0x10ba9, 0x10baf}}), |
6075 | CharacterClassWidths::HasNonBMPChars); |
6076 | return characterClass; |
6077 | } |
6078 | |
6079 | static std::unique_ptr<CharacterClass> createCharacterClass213() |
6080 | { |
6081 | // Name = Siddham, number of codePoints: 92 |
6082 | auto characterClass = std::make_unique<CharacterClass>( |
6083 | std::initializer_list<UChar32>({}), |
6084 | std::initializer_list<CharacterRange>({}), |
6085 | std::initializer_list<UChar32>({}), |
6086 | std::initializer_list<CharacterRange>({{0x11580, 0x115b5}, {0x115b8, 0x115dd}}), |
6087 | CharacterClassWidths::HasNonBMPChars); |
6088 | return characterClass; |
6089 | } |
6090 | |
6091 | static std::unique_ptr<CharacterClass> createCharacterClass214() |
6092 | { |
6093 | // Name = Khudawadi, number of codePoints: 69 |
6094 | auto characterClass = std::make_unique<CharacterClass>( |
6095 | std::initializer_list<UChar32>({}), |
6096 | std::initializer_list<CharacterRange>({}), |
6097 | std::initializer_list<UChar32>({}), |
6098 | std::initializer_list<CharacterRange>({{0x112b0, 0x112ea}, {0x112f0, 0x112f9}}), |
6099 | CharacterClassWidths::HasNonBMPChars); |
6100 | return characterClass; |
6101 | } |
6102 | |
6103 | static std::unique_ptr<CharacterClass> createCharacterClass215() |
6104 | { |
6105 | // Name = Tirhuta, number of codePoints: 82 |
6106 | auto characterClass = std::make_unique<CharacterClass>( |
6107 | std::initializer_list<UChar32>({}), |
6108 | std::initializer_list<CharacterRange>({}), |
6109 | std::initializer_list<UChar32>({}), |
6110 | std::initializer_list<CharacterRange>({{0x11480, 0x114c7}, {0x114d0, 0x114d9}}), |
6111 | CharacterClassWidths::HasNonBMPChars); |
6112 | return characterClass; |
6113 | } |
6114 | |
6115 | static std::unique_ptr<CharacterClass> createCharacterClass216() |
6116 | { |
6117 | // Name = Warang_Citi, number of codePoints: 84 |
6118 | auto characterClass = std::make_unique<CharacterClass>( |
6119 | std::initializer_list<UChar32>({}), |
6120 | std::initializer_list<CharacterRange>({}), |
6121 | std::initializer_list<UChar32>({0x118ff}), |
6122 | std::initializer_list<CharacterRange>({{0x118a0, 0x118f2}}), |
6123 | CharacterClassWidths::HasNonBMPChars); |
6124 | return characterClass; |
6125 | } |
6126 | |
6127 | static std::unique_ptr<CharacterClass> createCharacterClass217() |
6128 | { |
6129 | // Name = Ahom, number of codePoints: 58 |
6130 | auto characterClass = std::make_unique<CharacterClass>( |
6131 | std::initializer_list<UChar32>({}), |
6132 | std::initializer_list<CharacterRange>({}), |
6133 | std::initializer_list<UChar32>({}), |
6134 | std::initializer_list<CharacterRange>({{0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x1173f}}), |
6135 | CharacterClassWidths::HasNonBMPChars); |
6136 | return characterClass; |
6137 | } |
6138 | |
6139 | static std::unique_ptr<CharacterClass> createCharacterClass218() |
6140 | { |
6141 | // Name = Anatolian_Hieroglyphs, number of codePoints: 583 |
6142 | auto characterClass = std::make_unique<CharacterClass>( |
6143 | std::initializer_list<UChar32>({}), |
6144 | std::initializer_list<CharacterRange>({}), |
6145 | std::initializer_list<UChar32>({}), |
6146 | std::initializer_list<CharacterRange>({{0x14400, 0x14646}}), |
6147 | CharacterClassWidths::HasNonBMPChars); |
6148 | return characterClass; |
6149 | } |
6150 | |
6151 | static std::unique_ptr<CharacterClass> createCharacterClass219() |
6152 | { |
6153 | // Name = Hatran, number of codePoints: 26 |
6154 | auto characterClass = std::make_unique<CharacterClass>( |
6155 | std::initializer_list<UChar32>({}), |
6156 | std::initializer_list<CharacterRange>({}), |
6157 | std::initializer_list<UChar32>({}), |
6158 | std::initializer_list<CharacterRange>({{0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x108fb, 0x108ff}}), |
6159 | CharacterClassWidths::HasNonBMPChars); |
6160 | return characterClass; |
6161 | } |
6162 | |
6163 | static std::unique_ptr<CharacterClass> createCharacterClass220() |
6164 | { |
6165 | // Name = Multani, number of codePoints: 38 |
6166 | auto characterClass = std::make_unique<CharacterClass>( |
6167 | std::initializer_list<UChar32>({}), |
6168 | std::initializer_list<CharacterRange>({}), |
6169 | std::initializer_list<UChar32>({0x11288}), |
6170 | std::initializer_list<CharacterRange>({{0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a9}}), |
6171 | CharacterClassWidths::HasNonBMPChars); |
6172 | return characterClass; |
6173 | } |
6174 | |
6175 | static std::unique_ptr<CharacterClass> createCharacterClass221() |
6176 | { |
6177 | // Name = Old_Hungarian, number of codePoints: 108 |
6178 | auto characterClass = std::make_unique<CharacterClass>( |
6179 | std::initializer_list<UChar32>({}), |
6180 | std::initializer_list<CharacterRange>({}), |
6181 | std::initializer_list<UChar32>({}), |
6182 | std::initializer_list<CharacterRange>({{0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10cfa, 0x10cff}}), |
6183 | CharacterClassWidths::HasNonBMPChars); |
6184 | return characterClass; |
6185 | } |
6186 | |
6187 | static std::unique_ptr<CharacterClass> createCharacterClass222() |
6188 | { |
6189 | // Name = SignWriting, number of codePoints: 672 |
6190 | auto characterClass = std::make_unique<CharacterClass>( |
6191 | std::initializer_list<UChar32>({}), |
6192 | std::initializer_list<CharacterRange>({}), |
6193 | std::initializer_list<UChar32>({}), |
6194 | std::initializer_list<CharacterRange>({{0x1d800, 0x1da8b}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}}), |
6195 | CharacterClassWidths::HasNonBMPChars); |
6196 | return characterClass; |
6197 | } |
6198 | |
6199 | static std::unique_ptr<CharacterClass> createCharacterClass223() |
6200 | { |
6201 | // Name = Adlam, number of codePoints: 87 |
6202 | auto characterClass = std::make_unique<CharacterClass>( |
6203 | std::initializer_list<UChar32>({}), |
6204 | std::initializer_list<CharacterRange>({}), |
6205 | std::initializer_list<UChar32>({}), |
6206 | std::initializer_list<CharacterRange>({{0x1e900, 0x1e94a}, {0x1e950, 0x1e959}, {0x1e95e, 0x1e95f}}), |
6207 | CharacterClassWidths::HasNonBMPChars); |
6208 | return characterClass; |
6209 | } |
6210 | |
6211 | static std::unique_ptr<CharacterClass> createCharacterClass224() |
6212 | { |
6213 | // Name = Bhaiksuki, number of codePoints: 97 |
6214 | auto characterClass = std::make_unique<CharacterClass>( |
6215 | std::initializer_list<UChar32>({}), |
6216 | std::initializer_list<CharacterRange>({}), |
6217 | std::initializer_list<UChar32>({}), |
6218 | std::initializer_list<CharacterRange>({{0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c45}, {0x11c50, 0x11c6c}}), |
6219 | CharacterClassWidths::HasNonBMPChars); |
6220 | return characterClass; |
6221 | } |
6222 | |
6223 | static std::unique_ptr<CharacterClass> createCharacterClass225() |
6224 | { |
6225 | // Name = Marchen, number of codePoints: 68 |
6226 | auto characterClass = std::make_unique<CharacterClass>( |
6227 | std::initializer_list<UChar32>({}), |
6228 | std::initializer_list<CharacterRange>({}), |
6229 | std::initializer_list<UChar32>({}), |
6230 | std::initializer_list<CharacterRange>({{0x11c70, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}}), |
6231 | CharacterClassWidths::HasNonBMPChars); |
6232 | return characterClass; |
6233 | } |
6234 | |
6235 | static std::unique_ptr<CharacterClass> createCharacterClass226() |
6236 | { |
6237 | // Name = Newa, number of codePoints: 93 |
6238 | auto characterClass = std::make_unique<CharacterClass>( |
6239 | std::initializer_list<UChar32>({}), |
6240 | std::initializer_list<CharacterRange>({}), |
6241 | std::initializer_list<UChar32>({0x1145b}), |
6242 | std::initializer_list<CharacterRange>({{0x11400, 0x11459}, {0x1145d, 0x1145e}}), |
6243 | CharacterClassWidths::HasNonBMPChars); |
6244 | return characterClass; |
6245 | } |
6246 | |
6247 | static std::unique_ptr<CharacterClass> createCharacterClass227() |
6248 | { |
6249 | // Name = Osage, number of codePoints: 72 |
6250 | auto characterClass = std::make_unique<CharacterClass>( |
6251 | std::initializer_list<UChar32>({}), |
6252 | std::initializer_list<CharacterRange>({}), |
6253 | std::initializer_list<UChar32>({}), |
6254 | std::initializer_list<CharacterRange>({{0x104b0, 0x104d3}, {0x104d8, 0x104fb}}), |
6255 | CharacterClassWidths::HasNonBMPChars); |
6256 | return characterClass; |
6257 | } |
6258 | |
6259 | static std::unique_ptr<CharacterClass> createCharacterClass228() |
6260 | { |
6261 | // Name = Tangut, number of codePoints: 6886 |
6262 | auto characterClass = std::make_unique<CharacterClass>( |
6263 | std::initializer_list<UChar32>({}), |
6264 | std::initializer_list<CharacterRange>({}), |
6265 | std::initializer_list<UChar32>({0x16fe0}), |
6266 | std::initializer_list<CharacterRange>({{0x17000, 0x187f1}, {0x18800, 0x18af2}}), |
6267 | CharacterClassWidths::HasNonBMPChars); |
6268 | return characterClass; |
6269 | } |
6270 | |
6271 | static std::unique_ptr<CharacterClass> createCharacterClass229() |
6272 | { |
6273 | // Name = Masaram_Gondi, number of codePoints: 75 |
6274 | auto characterClass = std::make_unique<CharacterClass>( |
6275 | std::initializer_list<UChar32>({}), |
6276 | std::initializer_list<CharacterRange>({}), |
6277 | std::initializer_list<UChar32>({0x11d3a}), |
6278 | std::initializer_list<CharacterRange>({{0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3c, 0x11d3d}, |
6279 | {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}}), |
6280 | CharacterClassWidths::HasNonBMPChars); |
6281 | return characterClass; |
6282 | } |
6283 | |
6284 | static std::unique_ptr<CharacterClass> createCharacterClass230() |
6285 | { |
6286 | // Name = Nushu, number of codePoints: 397 |
6287 | auto characterClass = std::make_unique<CharacterClass>( |
6288 | std::initializer_list<UChar32>({}), |
6289 | std::initializer_list<CharacterRange>({}), |
6290 | std::initializer_list<UChar32>({0x16fe1}), |
6291 | std::initializer_list<CharacterRange>({{0x1b170, 0x1b2fb}}), |
6292 | CharacterClassWidths::HasNonBMPChars); |
6293 | return characterClass; |
6294 | } |
6295 | |
6296 | static std::unique_ptr<CharacterClass> createCharacterClass231() |
6297 | { |
6298 | // Name = Soyombo, number of codePoints: 81 |
6299 | auto characterClass = std::make_unique<CharacterClass>( |
6300 | std::initializer_list<UChar32>({}), |
6301 | std::initializer_list<CharacterRange>({}), |
6302 | std::initializer_list<UChar32>({}), |
6303 | std::initializer_list<CharacterRange>({{0x11a50, 0x11a83}, {0x11a86, 0x11aa2}}), |
6304 | CharacterClassWidths::HasNonBMPChars); |
6305 | return characterClass; |
6306 | } |
6307 | |
6308 | static std::unique_ptr<CharacterClass> createCharacterClass232() |
6309 | { |
6310 | // Name = Zanabazar_Square, number of codePoints: 72 |
6311 | auto characterClass = std::make_unique<CharacterClass>( |
6312 | std::initializer_list<UChar32>({}), |
6313 | std::initializer_list<CharacterRange>({}), |
6314 | std::initializer_list<UChar32>({}), |
6315 | std::initializer_list<CharacterRange>({{0x11a00, 0x11a47}}), |
6316 | CharacterClassWidths::HasNonBMPChars); |
6317 | return characterClass; |
6318 | } |
6319 | |
6320 | static std::unique_ptr<CharacterClass> createCharacterClass233() |
6321 | { |
6322 | // Name = Dogra, number of codePoints: 60 |
6323 | auto characterClass = std::make_unique<CharacterClass>( |
6324 | std::initializer_list<UChar32>({}), |
6325 | std::initializer_list<CharacterRange>({}), |
6326 | std::initializer_list<UChar32>({}), |
6327 | std::initializer_list<CharacterRange>({{0x11800, 0x1183b}}), |
6328 | CharacterClassWidths::HasNonBMPChars); |
6329 | return characterClass; |
6330 | } |
6331 | |
6332 | static std::unique_ptr<CharacterClass> createCharacterClass234() |
6333 | { |
6334 | // Name = Gunjala_Gondi, number of codePoints: 63 |
6335 | auto characterClass = std::make_unique<CharacterClass>( |
6336 | std::initializer_list<UChar32>({}), |
6337 | std::initializer_list<CharacterRange>({}), |
6338 | std::initializer_list<UChar32>({}), |
6339 | std::initializer_list<CharacterRange>({{0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, |
6340 | {0x11d93, 0x11d98}, {0x11da0, 0x11da9}}), |
6341 | CharacterClassWidths::HasNonBMPChars); |
6342 | return characterClass; |
6343 | } |
6344 | |
6345 | static std::unique_ptr<CharacterClass> createCharacterClass235() |
6346 | { |
6347 | // Name = Makasar, number of codePoints: 25 |
6348 | auto characterClass = std::make_unique<CharacterClass>( |
6349 | std::initializer_list<UChar32>({}), |
6350 | std::initializer_list<CharacterRange>({}), |
6351 | std::initializer_list<UChar32>({}), |
6352 | std::initializer_list<CharacterRange>({{0x11ee0, 0x11ef8}}), |
6353 | CharacterClassWidths::HasNonBMPChars); |
6354 | return characterClass; |
6355 | } |
6356 | |
6357 | static std::unique_ptr<CharacterClass> createCharacterClass236() |
6358 | { |
6359 | // Name = Medefaidrin, number of codePoints: 91 |
6360 | auto characterClass = std::make_unique<CharacterClass>( |
6361 | std::initializer_list<UChar32>({}), |
6362 | std::initializer_list<CharacterRange>({}), |
6363 | std::initializer_list<UChar32>({}), |
6364 | std::initializer_list<CharacterRange>({{0x16e40, 0x16e9a}}), |
6365 | CharacterClassWidths::HasNonBMPChars); |
6366 | return characterClass; |
6367 | } |
6368 | |
6369 | static std::unique_ptr<CharacterClass> createCharacterClass237() |
6370 | { |
6371 | // Name = Hanifi_Rohingya, number of codePoints: 50 |
6372 | auto characterClass = std::make_unique<CharacterClass>( |
6373 | std::initializer_list<UChar32>({}), |
6374 | std::initializer_list<CharacterRange>({}), |
6375 | std::initializer_list<UChar32>({}), |
6376 | std::initializer_list<CharacterRange>({{0x10d00, 0x10d27}, {0x10d30, 0x10d39}}), |
6377 | CharacterClassWidths::HasNonBMPChars); |
6378 | return characterClass; |
6379 | } |
6380 | |
6381 | static std::unique_ptr<CharacterClass> createCharacterClass238() |
6382 | { |
6383 | // Name = Sogdian, number of codePoints: 42 |
6384 | auto characterClass = std::make_unique<CharacterClass>( |
6385 | std::initializer_list<UChar32>({}), |
6386 | std::initializer_list<CharacterRange>({}), |
6387 | std::initializer_list<UChar32>({}), |
6388 | std::initializer_list<CharacterRange>({{0x10f30, 0x10f59}}), |
6389 | CharacterClassWidths::HasNonBMPChars); |
6390 | return characterClass; |
6391 | } |
6392 | |
6393 | static std::unique_ptr<CharacterClass> createCharacterClass239() |
6394 | { |
6395 | // Name = Old_Sogdian, number of codePoints: 40 |
6396 | auto characterClass = std::make_unique<CharacterClass>( |
6397 | std::initializer_list<UChar32>({}), |
6398 | std::initializer_list<CharacterRange>({}), |
6399 | std::initializer_list<UChar32>({}), |
6400 | std::initializer_list<CharacterRange>({{0x10f00, 0x10f27}}), |
6401 | CharacterClassWidths::HasNonBMPChars); |
6402 | return characterClass; |
6403 | } |
6404 | |
6405 | static std::unique_ptr<CharacterClass> createCharacterClass240() |
6406 | { |
6407 | // Name = Common, number of codePoints: 7209 |
6408 | auto characterClass = std::make_unique<CharacterClass>( |
6409 | std::initializer_list<UChar32>({}), |
6410 | std::initializer_list<CharacterRange>({{0x00, 0x40}, {0x5b, 0x60}, {0x7b, 0x7f}}), |
6411 | std::initializer_list<UChar32>({0x00d7, 0x00f7, 0x0374, 0x037e, 0x0385, 0x0387, 0x0605, 0x06dd, |
6412 | 0x08e2, 0x0e3f, 0x3000, 0x3004, 0x3012, 0x3020, 0x3036, 0x327f, |
6413 | 0x33ff, 0xab5b, 0xfeff, 0x1d4a2, 0x1d4bb, 0x1d546, 0x1f97a, 0xe0001}), |
6414 | std::initializer_list<CharacterRange>({{0x0080, 0x00a9}, {0x00ab, 0x00b9}, {0x00bb, 0x00bf}, {0x02b9, 0x02df}, |
6415 | {0x02e5, 0x02e9}, {0x02ec, 0x02ff}, {0x0fd5, 0x0fd8}, {0x16eb, 0x16ed}, |
6416 | {0x2000, 0x200b}, {0x200e, 0x2064}, {0x2066, 0x2070}, {0x2074, 0x207e}, |
6417 | {0x2080, 0x208e}, {0x20a0, 0x20bf}, {0x2100, 0x2125}, {0x2127, 0x2129}, |
6418 | {0x212c, 0x2131}, {0x2133, 0x214d}, {0x214f, 0x215f}, {0x2189, 0x218b}, |
6419 | {0x2190, 0x2426}, {0x2440, 0x244a}, {0x2460, 0x27ff}, {0x2900, 0x2b73}, |
6420 | {0x2b76, 0x2b95}, {0x2b98, 0x2bc8}, {0x2bca, 0x2bfe}, {0x2e00, 0x2e42}, |
6421 | {0x2e44, 0x2e4e}, {0x2ff0, 0x2ffb}, {0x3248, 0x325f}, {0x32b1, 0x32bf}, |
6422 | {0x32cc, 0x32cf}, {0x3371, 0x337a}, {0x3380, 0x33df}, {0x4dc0, 0x4dff}, |
6423 | {0xa700, 0xa721}, {0xa788, 0xa78a}, {0xfd3e, 0xfd3f}, {0xfe10, 0xfe19}, |
6424 | {0xfe30, 0xfe44}, {0xfe47, 0xfe52}, {0xfe54, 0xfe66}, {0xfe68, 0xfe6b}, |
6425 | {0xff01, 0xff20}, {0xff3b, 0xff40}, {0xff5b, 0xff60}, {0xffe0, 0xffe6}, |
6426 | {0xffe8, 0xffee}, {0xfff9, 0xfffd}, {0x10190, 0x1019b}, {0x101d0, 0x101fc}, |
6427 | {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d129, 0x1d166}, {0x1d16a, 0x1d17a}, |
6428 | {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, {0x1d1ae, 0x1d1e8}, {0x1d2e0, 0x1d2f3}, |
6429 | {0x1d300, 0x1d356}, {0x1d372, 0x1d378}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, |
6430 | {0x1d49e, 0x1d49f}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, |
6431 | {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |
6432 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, |
6433 | {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, |
6434 | {0x1ec71, 0x1ecb4}, {0x1f000, 0x1f02b}, {0x1f030, 0x1f093}, {0x1f0a0, 0x1f0ae}, |
6435 | {0x1f0b1, 0x1f0bf}, {0x1f0c1, 0x1f0cf}, {0x1f0d1, 0x1f0f5}, {0x1f100, 0x1f10c}, |
6436 | {0x1f110, 0x1f16b}, {0x1f170, 0x1f1ac}, {0x1f1e6, 0x1f1ff}, {0x1f201, 0x1f202}, |
6437 | {0x1f210, 0x1f23b}, {0x1f240, 0x1f248}, {0x1f260, 0x1f265}, {0x1f300, 0x1f6d4}, |
6438 | {0x1f6e0, 0x1f6ec}, {0x1f6f0, 0x1f6f9}, {0x1f700, 0x1f773}, {0x1f780, 0x1f7d8}, |
6439 | {0x1f800, 0x1f80b}, {0x1f810, 0x1f847}, {0x1f850, 0x1f859}, {0x1f860, 0x1f887}, |
6440 | {0x1f890, 0x1f8ad}, {0x1f900, 0x1f90b}, {0x1f910, 0x1f93e}, {0x1f940, 0x1f970}, |
6441 | {0x1f973, 0x1f976}, {0x1f97c, 0x1f9a2}, {0x1f9b0, 0x1f9b9}, {0x1f9c0, 0x1f9c2}, |
6442 | {0x1f9d0, 0x1f9ff}, {0x1fa60, 0x1fa6d}, {0xe0020, 0xe007f}}), |
6443 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6444 | return characterClass; |
6445 | } |
6446 | |
6447 | static std::unique_ptr<CharacterClass> createCharacterClass241() |
6448 | { |
6449 | // Name = Inherited, number of codePoints: 514 |
6450 | auto characterClass = std::make_unique<CharacterClass>( |
6451 | std::initializer_list<UChar32>({}), |
6452 | std::initializer_list<CharacterRange>({}), |
6453 | std::initializer_list<UChar32>({0x101fd}), |
6454 | std::initializer_list<CharacterRange>({{0x0300, 0x0341}, {0x0343, 0x0344}, {0x0346, 0x0362}, {0x1ab0, 0x1abe}, |
6455 | {0x1dc2, 0x1df9}, {0x1dfb, 0x1dff}, {0x200c, 0x200d}, {0x20d0, 0x20ef}, |
6456 | {0xfe00, 0xfe0f}, {0xfe20, 0xfe2d}, {0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, |
6457 | {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef}}), |
6458 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6459 | return characterClass; |
6460 | } |
6461 | |
6462 | static std::unique_ptr<CharacterClass> createCharacterClass242() |
6463 | { |
6464 | // Name = Bengali, number of codePoints: 112 |
6465 | auto characterClass = std::make_unique<CharacterClass>( |
6466 | std::initializer_list<UChar32>({}), |
6467 | std::initializer_list<CharacterRange>({}), |
6468 | std::initializer_list<UChar32>({0x09b2, 0x09d7, 0x1cd0, 0x1cd2, 0x1cd8, 0x1ce1, 0x1cea, 0x1ced, |
6469 | 0xa8f1}), |
6470 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0980, 0x0983}, {0x0985, 0x098c}, |
6471 | {0x098f, 0x0990}, {0x0993, 0x09a8}, {0x09aa, 0x09b0}, {0x09b6, 0x09b9}, |
6472 | {0x09bc, 0x09c4}, {0x09c7, 0x09c8}, {0x09cb, 0x09ce}, {0x09dc, 0x09dd}, |
6473 | {0x09df, 0x09e3}, {0x09e6, 0x09fe}, {0x1cd5, 0x1cd6}, {0x1cf5, 0x1cf7}}), |
6474 | CharacterClassWidths::HasBMPChars); |
6475 | return characterClass; |
6476 | } |
6477 | |
6478 | static std::unique_ptr<CharacterClass> createCharacterClass243() |
6479 | { |
6480 | // Name = Devanagari, number of codePoints: 212 |
6481 | auto characterClass = std::make_unique<CharacterClass>( |
6482 | std::initializer_list<UChar32>({}), |
6483 | std::initializer_list<CharacterRange>({}), |
6484 | std::initializer_list<UChar32>({0x20f0}), |
6485 | std::initializer_list<CharacterRange>({{0x0900, 0x097f}, {0x1cd0, 0x1cf6}, {0x1cf8, 0x1cf9}, {0xa830, 0xa839}, |
6486 | {0xa8e0, 0xa8ff}}), |
6487 | CharacterClassWidths::HasBMPChars); |
6488 | return characterClass; |
6489 | } |
6490 | |
6491 | static std::unique_ptr<CharacterClass> createCharacterClass244() |
6492 | { |
6493 | // Name = Duployan, number of codePoints: 147 |
6494 | auto characterClass = std::make_unique<CharacterClass>( |
6495 | std::initializer_list<UChar32>({}), |
6496 | std::initializer_list<CharacterRange>({}), |
6497 | std::initializer_list<UChar32>({}), |
6498 | std::initializer_list<CharacterRange>({{0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, |
6499 | {0x1bc9c, 0x1bca3}}), |
6500 | CharacterClassWidths::HasNonBMPChars); |
6501 | return characterClass; |
6502 | } |
6503 | |
6504 | static std::unique_ptr<CharacterClass> createCharacterClass245() |
6505 | { |
6506 | // Name = Greek, number of codePoints: 522 |
6507 | auto characterClass = std::make_unique<CharacterClass>( |
6508 | std::initializer_list<UChar32>({}), |
6509 | std::initializer_list<CharacterRange>({}), |
6510 | std::initializer_list<UChar32>({0x0342, 0x0345, 0x037f, 0x0384, 0x0386, 0x038c, 0x1f59, 0x1f5b, |
6511 | 0x1f5d, 0x2126, 0xab65, 0x101a0}), |
6512 | std::initializer_list<CharacterRange>({{0x0370, 0x0373}, {0x0375, 0x0377}, {0x037a, 0x037d}, {0x0388, 0x038a}, |
6513 | {0x038e, 0x03a1}, {0x03a3, 0x03e1}, {0x03f0, 0x03ff}, {0x1d26, 0x1d2a}, |
6514 | {0x1d5d, 0x1d61}, {0x1d66, 0x1d6a}, {0x1dbf, 0x1dc1}, {0x1f00, 0x1f15}, |
6515 | {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, |
6516 | {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fc4}, {0x1fc6, 0x1fd3}, |
6517 | {0x1fd6, 0x1fdb}, {0x1fdd, 0x1fef}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffe}, |
6518 | {0x10140, 0x1018e}, {0x1d200, 0x1d245}}), |
6519 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6520 | return characterClass; |
6521 | } |
6522 | |
6523 | static std::unique_ptr<CharacterClass> createCharacterClass246() |
6524 | { |
6525 | // Name = Han, number of codePoints: 89512 |
6526 | auto characterClass = std::make_unique<CharacterClass>( |
6527 | std::initializer_list<UChar32>({}), |
6528 | std::initializer_list<CharacterRange>({}), |
6529 | std::initializer_list<UChar32>({0x3003, 0x3030, 0x30fb}), |
6530 | std::initializer_list<CharacterRange>({{0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x3001, 0x3002}, |
6531 | {0x3005, 0x3011}, {0x3013, 0x301f}, {0x3021, 0x302d}, {0x3037, 0x303f}, |
6532 | {0x3190, 0x319f}, {0x31c0, 0x31e3}, {0x3220, 0x3247}, {0x3280, 0x32b0}, |
6533 | {0x32c0, 0x32cb}, {0x3358, 0x3370}, {0x337b, 0x337f}, {0x33e0, 0x33fe}, |
6534 | {0x3400, 0x4db5}, {0x4e00, 0x9fef}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, |
6535 | {0xfe45, 0xfe46}, {0xff61, 0xff65}, {0x1d360, 0x1d371}, {0x1f250, 0x1f251}, |
6536 | {0x20000, 0x2a6d6}, {0x2a700, 0x2b734}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, |
6537 | {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}}), |
6538 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6539 | return characterClass; |
6540 | } |
6541 | |
6542 | static std::unique_ptr<CharacterClass> createCharacterClass247() |
6543 | { |
6544 | // Name = Latin, number of codePoints: 1373 |
6545 | auto characterClass = std::make_unique<CharacterClass>( |
6546 | std::initializer_list<UChar32>({}), |
6547 | std::initializer_list<CharacterRange>({{0x41, 0x5a}, {0x61, 0x7a}}), |
6548 | std::initializer_list<UChar32>({0x00aa, 0x00ba, 0x10fb, 0x2071, 0x207f, 0x20f0, 0x2132, 0x214e, |
6549 | 0xa92e}), |
6550 | std::initializer_list<CharacterRange>({{0x00c0, 0x00d6}, {0x00d8, 0x00f6}, {0x00f8, 0x02b8}, {0x02e0, 0x02e4}, |
6551 | {0x0363, 0x036f}, {0x0485, 0x0486}, {0x0951, 0x0952}, {0x1d00, 0x1d25}, |
6552 | {0x1d2c, 0x1d5c}, {0x1d62, 0x1d65}, {0x1d6b, 0x1d77}, {0x1d79, 0x1dbe}, |
6553 | {0x1e00, 0x1eff}, {0x2090, 0x209c}, {0x212a, 0x212b}, {0x2160, 0x2188}, |
6554 | {0x2c60, 0x2c7f}, {0xa722, 0xa787}, {0xa78b, 0xa7b9}, {0xa7f7, 0xa7ff}, |
6555 | {0xab30, 0xab5a}, {0xab5c, 0xab64}, {0xfb00, 0xfb06}, {0xff21, 0xff3a}, |
6556 | {0xff41, 0xff5a}}), |
6557 | CharacterClassWidths::HasBMPChars); |
6558 | return characterClass; |
6559 | } |
6560 | |
6561 | static std::unique_ptr<CharacterClass> createCharacterClass248() |
6562 | { |
6563 | // Name = Arabic, number of codePoints: 1325 |
6564 | auto characterClass = std::make_unique<CharacterClass>( |
6565 | std::initializer_list<UChar32>({}), |
6566 | std::initializer_list<CharacterRange>({}), |
6567 | std::initializer_list<UChar32>({0x1ee24, 0x1ee27, 0x1ee39, 0x1ee3b, 0x1ee42, 0x1ee47, 0x1ee49, 0x1ee4b, |
6568 | 0x1ee54, 0x1ee57, 0x1ee59, 0x1ee5b, 0x1ee5d, 0x1ee5f, 0x1ee64, 0x1ee7e}), |
6569 | std::initializer_list<CharacterRange>({{0x0600, 0x0604}, {0x0606, 0x061c}, {0x061e, 0x06dc}, {0x06de, 0x06ff}, |
6570 | {0x0750, 0x077f}, {0x08a0, 0x08b4}, {0x08b6, 0x08bd}, {0x08d3, 0x08e1}, |
6571 | {0x08e3, 0x08ff}, {0xfb50, 0xfbc1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, |
6572 | {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfd}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, |
6573 | {0x102e0, 0x102fb}, {0x10e60, 0x10e7e}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, |
6574 | {0x1ee21, 0x1ee22}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee4d, 0x1ee4f}, |
6575 | {0x1ee51, 0x1ee52}, {0x1ee61, 0x1ee62}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, |
6576 | {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, |
6577 | {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1eef0, 0x1eef1}}), |
6578 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6579 | return characterClass; |
6580 | } |
6581 | |
6582 | static std::unique_ptr<CharacterClass> createCharacterClass249() |
6583 | { |
6584 | // Name = Coptic, number of codePoints: 165 |
6585 | auto characterClass = std::make_unique<CharacterClass>( |
6586 | std::initializer_list<UChar32>({}), |
6587 | std::initializer_list<CharacterRange>({}), |
6588 | std::initializer_list<UChar32>({}), |
6589 | std::initializer_list<CharacterRange>({{0x03e2, 0x03ef}, {0x2c80, 0x2cf3}, {0x2cf9, 0x2cff}, {0x102e0, 0x102fb}}), |
6590 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6591 | return characterClass; |
6592 | } |
6593 | |
6594 | static std::unique_ptr<CharacterClass> createCharacterClass250() |
6595 | { |
6596 | // Name = Hanifi_Rohingya, number of codePoints: 55 |
6597 | auto characterClass = std::make_unique<CharacterClass>( |
6598 | std::initializer_list<UChar32>({}), |
6599 | std::initializer_list<CharacterRange>({}), |
6600 | std::initializer_list<UChar32>({0x060c, 0x061b, 0x061f, 0x0640, 0x06d4}), |
6601 | std::initializer_list<CharacterRange>({{0x10d00, 0x10d27}, {0x10d30, 0x10d39}}), |
6602 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6603 | return characterClass; |
6604 | } |
6605 | |
6606 | static std::unique_ptr<CharacterClass> createCharacterClass251() |
6607 | { |
6608 | // Name = Syriac, number of codePoints: 105 |
6609 | auto characterClass = std::make_unique<CharacterClass>( |
6610 | std::initializer_list<UChar32>({}), |
6611 | std::initializer_list<CharacterRange>({}), |
6612 | std::initializer_list<UChar32>({0x060c, 0x061f, 0x0640, 0x0670}), |
6613 | std::initializer_list<CharacterRange>({{0x061b, 0x061c}, {0x064b, 0x0655}, {0x0700, 0x070d}, {0x070f, 0x074a}, |
6614 | {0x074d, 0x074f}, {0x0860, 0x086a}}), |
6615 | CharacterClassWidths::HasBMPChars); |
6616 | return characterClass; |
6617 | } |
6618 | |
6619 | static std::unique_ptr<CharacterClass> createCharacterClass252() |
6620 | { |
6621 | // Name = Thaana, number of codePoints: 66 |
6622 | auto characterClass = std::make_unique<CharacterClass>( |
6623 | std::initializer_list<UChar32>({}), |
6624 | std::initializer_list<CharacterRange>({}), |
6625 | std::initializer_list<UChar32>({0x060c, 0x061f, 0xfdf2, 0xfdfd}), |
6626 | std::initializer_list<CharacterRange>({{0x061b, 0x061c}, {0x0660, 0x0669}, {0x0780, 0x07b1}}), |
6627 | CharacterClassWidths::HasBMPChars); |
6628 | return characterClass; |
6629 | } |
6630 | |
6631 | static std::unique_ptr<CharacterClass> createCharacterClass253() |
6632 | { |
6633 | // Name = Armenian, number of codePoints: 96 |
6634 | auto characterClass = std::make_unique<CharacterClass>( |
6635 | std::initializer_list<UChar32>({}), |
6636 | std::initializer_list<CharacterRange>({}), |
6637 | std::initializer_list<UChar32>({}), |
6638 | std::initializer_list<CharacterRange>({{0x0531, 0x0556}, {0x0559, 0x058a}, {0x058d, 0x058f}, {0xfb13, 0xfb17}}), |
6639 | CharacterClassWidths::HasBMPChars); |
6640 | return characterClass; |
6641 | } |
6642 | |
6643 | static std::unique_ptr<CharacterClass> createCharacterClass254() |
6644 | { |
6645 | // Name = Georgian, number of codePoints: 175 |
6646 | auto characterClass = std::make_unique<CharacterClass>( |
6647 | std::initializer_list<UChar32>({}), |
6648 | std::initializer_list<CharacterRange>({}), |
6649 | std::initializer_list<UChar32>({0x0589, 0x10c7, 0x10cd, 0x2d27, 0x2d2d}), |
6650 | std::initializer_list<CharacterRange>({{0x10a0, 0x10c5}, {0x10d0, 0x10ff}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, |
6651 | {0x2d00, 0x2d25}}), |
6652 | CharacterClassWidths::HasBMPChars); |
6653 | return characterClass; |
6654 | } |
6655 | |
6656 | static std::unique_ptr<CharacterClass> createCharacterClass255() |
6657 | { |
6658 | // Name = Bopomofo, number of codePoints: 112 |
6659 | auto characterClass = std::make_unique<CharacterClass>( |
6660 | std::initializer_list<UChar32>({}), |
6661 | std::initializer_list<CharacterRange>({}), |
6662 | std::initializer_list<UChar32>({0x3003, 0x3030, 0x3037, 0x30fb}), |
6663 | std::initializer_list<CharacterRange>({{0x02ea, 0x02eb}, {0x3001, 0x3002}, {0x3008, 0x3011}, {0x3013, 0x301f}, |
6664 | {0x302a, 0x302d}, {0x3105, 0x312f}, {0x31a0, 0x31ba}, {0xfe45, 0xfe46}, |
6665 | {0xff61, 0xff65}}), |
6666 | CharacterClassWidths::HasBMPChars); |
6667 | return characterClass; |
6668 | } |
6669 | |
6670 | static std::unique_ptr<CharacterClass> createCharacterClass256() |
6671 | { |
6672 | // Name = Buginese, number of codePoints: 31 |
6673 | auto characterClass = std::make_unique<CharacterClass>( |
6674 | std::initializer_list<UChar32>({}), |
6675 | std::initializer_list<CharacterRange>({}), |
6676 | std::initializer_list<UChar32>({0xa9cf}), |
6677 | std::initializer_list<CharacterRange>({{0x1a00, 0x1a1b}, {0x1a1e, 0x1a1f}}), |
6678 | CharacterClassWidths::HasBMPChars); |
6679 | return characterClass; |
6680 | } |
6681 | |
6682 | static std::unique_ptr<CharacterClass> createCharacterClass257() |
6683 | { |
6684 | // Name = Javanese, number of codePoints: 91 |
6685 | auto characterClass = std::make_unique<CharacterClass>( |
6686 | std::initializer_list<UChar32>({}), |
6687 | std::initializer_list<CharacterRange>({}), |
6688 | std::initializer_list<UChar32>({}), |
6689 | std::initializer_list<CharacterRange>({{0xa980, 0xa9cd}, {0xa9cf, 0xa9d9}, {0xa9de, 0xa9df}}), |
6690 | CharacterClassWidths::HasBMPChars); |
6691 | return characterClass; |
6692 | } |
6693 | |
6694 | static std::unique_ptr<CharacterClass> createCharacterClass258() |
6695 | { |
6696 | // Name = Cypriot, number of codePoints: 112 |
6697 | auto characterClass = std::make_unique<CharacterClass>( |
6698 | std::initializer_list<UChar32>({}), |
6699 | std::initializer_list<CharacterRange>({}), |
6700 | std::initializer_list<UChar32>({0x10808, 0x1083c, 0x1083f}), |
6701 | std::initializer_list<CharacterRange>({{0x10100, 0x10102}, {0x10107, 0x10133}, {0x10137, 0x1013f}, {0x10800, 0x10805}, |
6702 | {0x1080a, 0x10835}, {0x10837, 0x10838}}), |
6703 | CharacterClassWidths::HasNonBMPChars); |
6704 | return characterClass; |
6705 | } |
6706 | |
6707 | static std::unique_ptr<CharacterClass> createCharacterClass259() |
6708 | { |
6709 | // Name = Linear_B, number of codePoints: 268 |
6710 | auto characterClass = std::make_unique<CharacterClass>( |
6711 | std::initializer_list<UChar32>({}), |
6712 | std::initializer_list<CharacterRange>({}), |
6713 | std::initializer_list<UChar32>({}), |
6714 | std::initializer_list<CharacterRange>({{0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, |
6715 | {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10100, 0x10102}, |
6716 | {0x10107, 0x10133}, {0x10137, 0x1013f}}), |
6717 | CharacterClassWidths::HasNonBMPChars); |
6718 | return characterClass; |
6719 | } |
6720 | |
6721 | static std::unique_ptr<CharacterClass> createCharacterClass260() |
6722 | { |
6723 | // Name = Cyrillic, number of codePoints: 446 |
6724 | auto characterClass = std::make_unique<CharacterClass>( |
6725 | std::initializer_list<UChar32>({}), |
6726 | std::initializer_list<CharacterRange>({}), |
6727 | std::initializer_list<UChar32>({0x1d2b, 0x1d78, 0x2e43}), |
6728 | std::initializer_list<CharacterRange>({{0x0400, 0x052f}, {0x1c80, 0x1c88}, {0x2de0, 0x2dff}, {0xa640, 0xa69f}, |
6729 | {0xfe2e, 0xfe2f}}), |
6730 | CharacterClassWidths::HasBMPChars); |
6731 | return characterClass; |
6732 | } |
6733 | |
6734 | static std::unique_ptr<CharacterClass> createCharacterClass261() |
6735 | { |
6736 | // Name = Glagolitic, number of codePoints: 136 |
6737 | auto characterClass = std::make_unique<CharacterClass>( |
6738 | std::initializer_list<UChar32>({}), |
6739 | std::initializer_list<CharacterRange>({}), |
6740 | std::initializer_list<UChar32>({0x0484, 0x0487, 0x2e43, 0xa66f}), |
6741 | std::initializer_list<CharacterRange>({{0x2c00, 0x2c2e}, {0x2c30, 0x2c5e}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, |
6742 | {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}}), |
6743 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6744 | return characterClass; |
6745 | } |
6746 | |
6747 | static std::unique_ptr<CharacterClass> createCharacterClass262() |
6748 | { |
6749 | // Name = Old_Permic, number of codePoints: 44 |
6750 | auto characterClass = std::make_unique<CharacterClass>( |
6751 | std::initializer_list<UChar32>({}), |
6752 | std::initializer_list<CharacterRange>({}), |
6753 | std::initializer_list<UChar32>({0x0483}), |
6754 | std::initializer_list<CharacterRange>({{0x10350, 0x1037a}}), |
6755 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6756 | return characterClass; |
6757 | } |
6758 | |
6759 | static std::unique_ptr<CharacterClass> createCharacterClass263() |
6760 | { |
6761 | // Name = Grantha, number of codePoints: 113 |
6762 | auto characterClass = std::make_unique<CharacterClass>( |
6763 | std::initializer_list<UChar32>({}), |
6764 | std::initializer_list<CharacterRange>({}), |
6765 | std::initializer_list<UChar32>({0x1cd0, 0x20f0, 0x11350, 0x11357}), |
6766 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0be6, 0x0bf3}, {0x1cd2, 0x1cd3}, |
6767 | {0x1cf2, 0x1cf4}, {0x1cf8, 0x1cf9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, |
6768 | {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, |
6769 | {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, |
6770 | {0x1135d, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}}), |
6771 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6772 | return characterClass; |
6773 | } |
6774 | |
6775 | static std::unique_ptr<CharacterClass> createCharacterClass264() |
6776 | { |
6777 | // Name = Sharada, number of codePoints: 100 |
6778 | auto characterClass = std::make_unique<CharacterClass>( |
6779 | std::initializer_list<UChar32>({}), |
6780 | std::initializer_list<CharacterRange>({}), |
6781 | std::initializer_list<UChar32>({0x0951, 0x1cd7, 0x1cd9, 0x1ce0}), |
6782 | std::initializer_list<CharacterRange>({{0x1cdc, 0x1cdd}, {0x11180, 0x111cd}, {0x111d0, 0x111df}}), |
6783 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6784 | return characterClass; |
6785 | } |
6786 | |
6787 | static std::unique_ptr<CharacterClass> createCharacterClass265() |
6788 | { |
6789 | // Name = Tamil, number of codePoints: 82 |
6790 | auto characterClass = std::make_unique<CharacterClass>( |
6791 | std::initializer_list<UChar32>({}), |
6792 | std::initializer_list<CharacterRange>({}), |
6793 | std::initializer_list<UChar32>({0x0b9c, 0x0bd0, 0x0bd7, 0x1cda, 0xa8f3, 0x11301, 0x11303}), |
6794 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0b82, 0x0b83}, {0x0b85, 0x0b8a}, |
6795 | {0x0b8e, 0x0b90}, {0x0b92, 0x0b95}, {0x0b99, 0x0b9a}, {0x0b9e, 0x0b9f}, |
6796 | {0x0ba3, 0x0ba4}, {0x0ba8, 0x0baa}, {0x0bae, 0x0bb9}, {0x0bbe, 0x0bc2}, |
6797 | {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0be6, 0x0bfa}, {0x1133b, 0x1133c}}), |
6798 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6799 | return characterClass; |
6800 | } |
6801 | |
6802 | static std::unique_ptr<CharacterClass> createCharacterClass266() |
6803 | { |
6804 | // Name = Gujarati, number of codePoints: 105 |
6805 | auto characterClass = std::make_unique<CharacterClass>( |
6806 | std::initializer_list<UChar32>({}), |
6807 | std::initializer_list<CharacterRange>({}), |
6808 | std::initializer_list<UChar32>({0x0ad0}), |
6809 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0a81, 0x0a83}, {0x0a85, 0x0a8d}, |
6810 | {0x0a8f, 0x0a91}, {0x0a93, 0x0aa8}, {0x0aaa, 0x0ab0}, {0x0ab2, 0x0ab3}, |
6811 | {0x0ab5, 0x0ab9}, {0x0abc, 0x0ac5}, {0x0ac7, 0x0ac9}, {0x0acb, 0x0acd}, |
6812 | {0x0ae0, 0x0ae3}, {0x0ae6, 0x0af1}, {0x0af9, 0x0aff}, {0xa830, 0xa839}}), |
6813 | CharacterClassWidths::HasBMPChars); |
6814 | return characterClass; |
6815 | } |
6816 | |
6817 | static std::unique_ptr<CharacterClass> createCharacterClass267() |
6818 | { |
6819 | // Name = Khojki, number of codePoints: 82 |
6820 | auto characterClass = std::make_unique<CharacterClass>( |
6821 | std::initializer_list<UChar32>({}), |
6822 | std::initializer_list<CharacterRange>({}), |
6823 | std::initializer_list<UChar32>({}), |
6824 | std::initializer_list<CharacterRange>({{0x0ae6, 0x0aef}, {0xa830, 0xa839}, {0x11200, 0x11211}, {0x11213, 0x1123e}}), |
6825 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6826 | return characterClass; |
6827 | } |
6828 | |
6829 | static std::unique_ptr<CharacterClass> createCharacterClass268() |
6830 | { |
6831 | // Name = Gurmukhi, number of codePoints: 94 |
6832 | auto characterClass = std::make_unique<CharacterClass>( |
6833 | std::initializer_list<UChar32>({}), |
6834 | std::initializer_list<CharacterRange>({}), |
6835 | std::initializer_list<UChar32>({0x0a3c, 0x0a51, 0x0a5e}), |
6836 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0a01, 0x0a03}, {0x0a05, 0x0a0a}, |
6837 | {0x0a0f, 0x0a10}, {0x0a13, 0x0a28}, {0x0a2a, 0x0a30}, {0x0a32, 0x0a33}, |
6838 | {0x0a35, 0x0a36}, {0x0a38, 0x0a39}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, |
6839 | {0x0a4b, 0x0a4d}, {0x0a59, 0x0a5c}, {0x0a66, 0x0a76}, {0xa830, 0xa839}}), |
6840 | CharacterClassWidths::HasBMPChars); |
6841 | return characterClass; |
6842 | } |
6843 | |
6844 | static std::unique_ptr<CharacterClass> createCharacterClass269() |
6845 | { |
6846 | // Name = Multani, number of codePoints: 48 |
6847 | auto characterClass = std::make_unique<CharacterClass>( |
6848 | std::initializer_list<UChar32>({}), |
6849 | std::initializer_list<CharacterRange>({}), |
6850 | std::initializer_list<UChar32>({0x11288}), |
6851 | std::initializer_list<CharacterRange>({{0x0a66, 0x0a6f}, {0x11280, 0x11286}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, |
6852 | {0x1129f, 0x112a9}}), |
6853 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6854 | return characterClass; |
6855 | } |
6856 | |
6857 | static std::unique_ptr<CharacterClass> createCharacterClass270() |
6858 | { |
6859 | // Name = Hiragana, number of codePoints: 428 |
6860 | auto characterClass = std::make_unique<CharacterClass>( |
6861 | std::initializer_list<UChar32>({}), |
6862 | std::initializer_list<CharacterRange>({}), |
6863 | std::initializer_list<UChar32>({0x3003, 0x3037, 0xff70, 0x1f200}), |
6864 | std::initializer_list<CharacterRange>({{0x3001, 0x3002}, {0x3008, 0x3011}, {0x3013, 0x301f}, {0x3030, 0x3035}, |
6865 | {0x303c, 0x303d}, {0x3041, 0x3096}, {0x3099, 0x30a0}, {0x30fb, 0x30fc}, |
6866 | {0xfe45, 0xfe46}, {0xff61, 0xff65}, {0xff9e, 0xff9f}, {0x1b001, 0x1b11e}}), |
6867 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6868 | return characterClass; |
6869 | } |
6870 | |
6871 | static std::unique_ptr<CharacterClass> createCharacterClass271() |
6872 | { |
6873 | // Name = Katakana, number of codePoints: 352 |
6874 | auto characterClass = std::make_unique<CharacterClass>( |
6875 | std::initializer_list<UChar32>({}), |
6876 | std::initializer_list<CharacterRange>({}), |
6877 | std::initializer_list<UChar32>({0x3003, 0x3037, 0x1b000}), |
6878 | std::initializer_list<CharacterRange>({{0x3001, 0x3002}, {0x3008, 0x3011}, {0x3013, 0x301f}, {0x3030, 0x3035}, |
6879 | {0x303c, 0x303d}, {0x3099, 0x309c}, {0x30a0, 0x30ff}, {0x31f0, 0x31ff}, |
6880 | {0x32d0, 0x32fe}, {0x3300, 0x3357}, {0xfe45, 0xfe46}, {0xff61, 0xff9f}}), |
6881 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6882 | return characterClass; |
6883 | } |
6884 | |
6885 | static std::unique_ptr<CharacterClass> createCharacterClass272() |
6886 | { |
6887 | // Name = Mongolian, number of codePoints: 170 |
6888 | auto characterClass = std::make_unique<CharacterClass>( |
6889 | std::initializer_list<UChar32>({}), |
6890 | std::initializer_list<CharacterRange>({}), |
6891 | std::initializer_list<UChar32>({}), |
6892 | std::initializer_list<CharacterRange>({{0x1800, 0x180e}, {0x1810, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, |
6893 | {0x11660, 0x1166c}}), |
6894 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6895 | return characterClass; |
6896 | } |
6897 | |
6898 | static std::unique_ptr<CharacterClass> createCharacterClass273() |
6899 | { |
6900 | // Name = Phags_Pa, number of codePoints: 59 |
6901 | auto characterClass = std::make_unique<CharacterClass>( |
6902 | std::initializer_list<UChar32>({}), |
6903 | std::initializer_list<CharacterRange>({}), |
6904 | std::initializer_list<UChar32>({0x1805}), |
6905 | std::initializer_list<CharacterRange>({{0x1802, 0x1803}, {0xa840, 0xa877}}), |
6906 | CharacterClassWidths::HasBMPChars); |
6907 | return characterClass; |
6908 | } |
6909 | |
6910 | static std::unique_ptr<CharacterClass> createCharacterClass274() |
6911 | { |
6912 | // Name = Chakma, number of codePoints: 90 |
6913 | auto characterClass = std::make_unique<CharacterClass>( |
6914 | std::initializer_list<UChar32>({}), |
6915 | std::initializer_list<CharacterRange>({}), |
6916 | std::initializer_list<UChar32>({}), |
6917 | std::initializer_list<CharacterRange>({{0x09e6, 0x09ef}, {0x1040, 0x1049}, {0x11100, 0x11134}, {0x11136, 0x11146}}), |
6918 | CharacterClassWidths::HasBothBMPAndNonBMP); |
6919 | return characterClass; |
6920 | } |
6921 | |
6922 | static std::unique_ptr<CharacterClass> createCharacterClass275() |
6923 | { |
6924 | // Name = Syloti_Nagri, number of codePoints: 56 |
6925 | auto characterClass = std::make_unique<CharacterClass>( |
6926 | std::initializer_list<UChar32>({}), |
6927 | std::initializer_list<CharacterRange>({}), |
6928 | std::initializer_list<UChar32>({}), |
6929 | std::initializer_list<CharacterRange>({{0x0964, 0x0965}, {0x09e6, 0x09ef}, {0xa800, 0xa82b}}), |
6930 | CharacterClassWidths::HasBMPChars); |
6931 | return characterClass; |
6932 | } |
6933 | |
6934 | static std::unique_ptr<CharacterClass> createCharacterClass276() |
6935 | { |
6936 | // Name = Myanmar, number of codePoints: 224 |
6937 | auto characterClass = std::make_unique<CharacterClass>( |
6938 | std::initializer_list<UChar32>({}), |
6939 | std::initializer_list<CharacterRange>({}), |
6940 | std::initializer_list<UChar32>({0xa92e}), |
6941 | std::initializer_list<CharacterRange>({{0x1000, 0x109f}, {0xa9e0, 0xa9fe}, {0xaa60, 0xaa7f}}), |
6942 | CharacterClassWidths::HasBMPChars); |
6943 | return characterClass; |
6944 | } |
6945 | |
6946 | static std::unique_ptr<CharacterClass> createCharacterClass277() |
6947 | { |
6948 | // Name = Tai_Le, number of codePoints: 45 |
6949 | auto characterClass = std::make_unique<CharacterClass>( |
6950 | std::initializer_list<UChar32>({}), |
6951 | std::initializer_list<CharacterRange>({}), |
6952 | std::initializer_list<UChar32>({}), |
6953 | std::initializer_list<CharacterRange>({{0x1040, 0x1049}, {0x1950, 0x196d}, {0x1970, 0x1974}}), |
6954 | CharacterClassWidths::HasBMPChars); |
6955 | return characterClass; |
6956 | } |
6957 | |
6958 | static std::unique_ptr<CharacterClass> createCharacterClass278() |
6959 | { |
6960 | // Name = Linear_A, number of codePoints: 386 |
6961 | auto characterClass = std::make_unique<CharacterClass>( |
6962 | std::initializer_list<UChar32>({}), |
6963 | std::initializer_list<CharacterRange>({}), |
6964 | std::initializer_list<UChar32>({}), |
6965 | std::initializer_list<CharacterRange>({{0x10107, 0x10133}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}}), |
6966 | CharacterClassWidths::HasNonBMPChars); |
6967 | return characterClass; |
6968 | } |
6969 | |
6970 | static std::unique_ptr<CharacterClass> createCharacterClass279() |
6971 | { |
6972 | // Name = Kannada, number of codePoints: 103 |
6973 | auto characterClass = std::make_unique<CharacterClass>( |
6974 | std::initializer_list<UChar32>({}), |
6975 | std::initializer_list<CharacterRange>({}), |
6976 | std::initializer_list<UChar32>({0x0cde, 0x1cd0, 0x1cd2, 0x1cda, 0x1cf4}), |
6977 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0c80, 0x0c8c}, {0x0c8e, 0x0c90}, |
6978 | {0x0c92, 0x0ca8}, {0x0caa, 0x0cb3}, {0x0cb5, 0x0cb9}, {0x0cbc, 0x0cc4}, |
6979 | {0x0cc6, 0x0cc8}, {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, {0x0ce0, 0x0ce3}, |
6980 | {0x0ce6, 0x0cef}, {0x0cf1, 0x0cf2}, {0xa830, 0xa835}}), |
6981 | CharacterClassWidths::HasBMPChars); |
6982 | return characterClass; |
6983 | } |
6984 | |
6985 | static std::unique_ptr<CharacterClass> createCharacterClass280() |
6986 | { |
6987 | // Name = Kayah_Li, number of codePoints: 48 |
6988 | auto characterClass = std::make_unique<CharacterClass>( |
6989 | std::initializer_list<UChar32>({}), |
6990 | std::initializer_list<CharacterRange>({}), |
6991 | std::initializer_list<UChar32>({}), |
6992 | std::initializer_list<CharacterRange>({{0xa900, 0xa92f}}), |
6993 | CharacterClassWidths::HasBMPChars); |
6994 | return characterClass; |
6995 | } |
6996 | |
6997 | static std::unique_ptr<CharacterClass> createCharacterClass281() |
6998 | { |
6999 | // Name = Buhid, number of codePoints: 22 |
7000 | auto characterClass = std::make_unique<CharacterClass>( |
7001 | std::initializer_list<UChar32>({}), |
7002 | std::initializer_list<CharacterRange>({}), |
7003 | std::initializer_list<UChar32>({}), |
7004 | std::initializer_list<CharacterRange>({{0x1735, 0x1736}, {0x1740, 0x1753}}), |
7005 | CharacterClassWidths::HasBMPChars); |
7006 | return characterClass; |
7007 | } |
7008 | |
7009 | static std::unique_ptr<CharacterClass> createCharacterClass282() |
7010 | { |
7011 | // Name = Hanunoo, number of codePoints: 23 |
7012 | auto characterClass = std::make_unique<CharacterClass>( |
7013 | std::initializer_list<UChar32>({}), |
7014 | std::initializer_list<CharacterRange>({}), |
7015 | std::initializer_list<UChar32>({}), |
7016 | std::initializer_list<CharacterRange>({{0x1720, 0x1736}}), |
7017 | CharacterClassWidths::HasBMPChars); |
7018 | return characterClass; |
7019 | } |
7020 | |
7021 | static std::unique_ptr<CharacterClass> createCharacterClass283() |
7022 | { |
7023 | // Name = Tagbanwa, number of codePoints: 20 |
7024 | auto characterClass = std::make_unique<CharacterClass>( |
7025 | std::initializer_list<UChar32>({}), |
7026 | std::initializer_list<CharacterRange>({}), |
7027 | std::initializer_list<UChar32>({}), |
7028 | std::initializer_list<CharacterRange>({{0x1735, 0x1736}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}}), |
7029 | CharacterClassWidths::HasBMPChars); |
7030 | return characterClass; |
7031 | } |
7032 | |
7033 | static std::unique_ptr<CharacterClass> createCharacterClass284() |
7034 | { |
7035 | // Name = Tagalog, number of codePoints: 22 |
7036 | auto characterClass = std::make_unique<CharacterClass>( |
7037 | std::initializer_list<UChar32>({}), |
7038 | std::initializer_list<CharacterRange>({}), |
7039 | std::initializer_list<UChar32>({}), |
7040 | std::initializer_list<CharacterRange>({{0x1700, 0x170c}, {0x170e, 0x1714}, {0x1735, 0x1736}}), |
7041 | CharacterClassWidths::HasBMPChars); |
7042 | return characterClass; |
7043 | } |
7044 | |
7045 | static std::unique_ptr<CharacterClass> createCharacterClass285() |
7046 | { |
7047 | // Name = Dogra, number of codePoints: 82 |
7048 | auto characterClass = std::make_unique<CharacterClass>( |
7049 | std::initializer_list<UChar32>({}), |
7050 | std::initializer_list<CharacterRange>({}), |
7051 | std::initializer_list<UChar32>({}), |
7052 | std::initializer_list<CharacterRange>({{0x0964, 0x096f}, {0xa830, 0xa839}, {0x11800, 0x1183b}}), |
7053 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7054 | return characterClass; |
7055 | } |
7056 | |
7057 | static std::unique_ptr<CharacterClass> createCharacterClass286() |
7058 | { |
7059 | // Name = Kaithi, number of codePoints: 87 |
7060 | auto characterClass = std::make_unique<CharacterClass>( |
7061 | std::initializer_list<UChar32>({}), |
7062 | std::initializer_list<CharacterRange>({}), |
7063 | std::initializer_list<UChar32>({0x110cd}), |
7064 | std::initializer_list<CharacterRange>({{0x0966, 0x096f}, {0xa830, 0xa839}, {0x11080, 0x110c1}}), |
7065 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7066 | return characterClass; |
7067 | } |
7068 | |
7069 | static std::unique_ptr<CharacterClass> createCharacterClass287() |
7070 | { |
7071 | // Name = Mahajani, number of codePoints: 61 |
7072 | auto characterClass = std::make_unique<CharacterClass>( |
7073 | std::initializer_list<UChar32>({}), |
7074 | std::initializer_list<CharacterRange>({}), |
7075 | std::initializer_list<UChar32>({}), |
7076 | std::initializer_list<CharacterRange>({{0x0964, 0x096f}, {0xa830, 0xa839}, {0x11150, 0x11176}}), |
7077 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7078 | return characterClass; |
7079 | } |
7080 | |
7081 | static std::unique_ptr<CharacterClass> createCharacterClass288() |
7082 | { |
7083 | // Name = Hangul, number of codePoints: 11775 |
7084 | auto characterClass = std::make_unique<CharacterClass>( |
7085 | std::initializer_list<UChar32>({}), |
7086 | std::initializer_list<CharacterRange>({}), |
7087 | std::initializer_list<UChar32>({0x3003, 0x3037, 0x30fb}), |
7088 | std::initializer_list<CharacterRange>({{0x1100, 0x11ff}, {0x3001, 0x3002}, {0x3008, 0x3011}, {0x3013, 0x301f}, |
7089 | {0x302e, 0x3030}, {0x3131, 0x318e}, {0x3200, 0x321e}, {0x3260, 0x327e}, |
7090 | {0xa960, 0xa97c}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, |
7091 | {0xfe45, 0xfe46}, {0xff61, 0xff65}, {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, |
7092 | {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}}), |
7093 | CharacterClassWidths::HasBMPChars); |
7094 | return characterClass; |
7095 | } |
7096 | |
7097 | static std::unique_ptr<CharacterClass> createCharacterClass289() |
7098 | { |
7099 | // Name = Yi, number of codePoints: 1246 |
7100 | auto characterClass = std::make_unique<CharacterClass>( |
7101 | std::initializer_list<UChar32>({}), |
7102 | std::initializer_list<CharacterRange>({}), |
7103 | std::initializer_list<UChar32>({0x30fb}), |
7104 | std::initializer_list<CharacterRange>({{0x3001, 0x3002}, {0x3008, 0x3011}, {0x3014, 0x301b}, {0xa000, 0xa48c}, |
7105 | {0xa490, 0xa4c6}, {0xff61, 0xff65}}), |
7106 | CharacterClassWidths::HasBMPChars); |
7107 | return characterClass; |
7108 | } |
7109 | |
7110 | static std::unique_ptr<CharacterClass> createCharacterClass290() |
7111 | { |
7112 | // Name = Malayalam, number of codePoints: 125 |
7113 | auto characterClass = std::make_unique<CharacterClass>( |
7114 | std::initializer_list<UChar32>({}), |
7115 | std::initializer_list<CharacterRange>({}), |
7116 | std::initializer_list<UChar32>({0x1cda}), |
7117 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0d00, 0x0d03}, {0x0d05, 0x0d0c}, |
7118 | {0x0d0e, 0x0d10}, {0x0d12, 0x0d44}, {0x0d46, 0x0d48}, {0x0d4a, 0x0d4f}, |
7119 | {0x0d54, 0x0d63}, {0x0d66, 0x0d7f}, {0xa830, 0xa832}}), |
7120 | CharacterClassWidths::HasBMPChars); |
7121 | return characterClass; |
7122 | } |
7123 | |
7124 | static std::unique_ptr<CharacterClass> createCharacterClass291() |
7125 | { |
7126 | // Name = Oriya, number of codePoints: 95 |
7127 | auto characterClass = std::make_unique<CharacterClass>( |
7128 | std::initializer_list<UChar32>({}), |
7129 | std::initializer_list<CharacterRange>({}), |
7130 | std::initializer_list<UChar32>({0x1cda}), |
7131 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0b01, 0x0b03}, {0x0b05, 0x0b0c}, |
7132 | {0x0b0f, 0x0b10}, {0x0b13, 0x0b28}, {0x0b2a, 0x0b30}, {0x0b32, 0x0b33}, |
7133 | {0x0b35, 0x0b39}, {0x0b3c, 0x0b44}, {0x0b47, 0x0b48}, {0x0b4b, 0x0b4d}, |
7134 | {0x0b56, 0x0b57}, {0x0b5c, 0x0b5d}, {0x0b5f, 0x0b63}, {0x0b66, 0x0b77}}), |
7135 | CharacterClassWidths::HasBMPChars); |
7136 | return characterClass; |
7137 | } |
7138 | |
7139 | static std::unique_ptr<CharacterClass> createCharacterClass292() |
7140 | { |
7141 | // Name = Telugu, number of codePoints: 102 |
7142 | auto characterClass = std::make_unique<CharacterClass>( |
7143 | std::initializer_list<UChar32>({}), |
7144 | std::initializer_list<CharacterRange>({}), |
7145 | std::initializer_list<UChar32>({0x1cda}), |
7146 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0x0c00, 0x0c0c}, {0x0c0e, 0x0c10}, |
7147 | {0x0c12, 0x0c28}, {0x0c2a, 0x0c39}, {0x0c3d, 0x0c44}, {0x0c46, 0x0c48}, |
7148 | {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, {0x0c58, 0x0c5a}, {0x0c60, 0x0c63}, |
7149 | {0x0c66, 0x0c6f}, {0x0c78, 0x0c7f}}), |
7150 | CharacterClassWidths::HasBMPChars); |
7151 | return characterClass; |
7152 | } |
7153 | |
7154 | static std::unique_ptr<CharacterClass> createCharacterClass293() |
7155 | { |
7156 | // Name = Adlam, number of codePoints: 88 |
7157 | auto characterClass = std::make_unique<CharacterClass>( |
7158 | std::initializer_list<UChar32>({}), |
7159 | std::initializer_list<CharacterRange>({}), |
7160 | std::initializer_list<UChar32>({0x0640}), |
7161 | std::initializer_list<CharacterRange>({{0x1e900, 0x1e94a}, {0x1e950, 0x1e959}, {0x1e95e, 0x1e95f}}), |
7162 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7163 | return characterClass; |
7164 | } |
7165 | |
7166 | static std::unique_ptr<CharacterClass> createCharacterClass294() |
7167 | { |
7168 | // Name = Mandaic, number of codePoints: 30 |
7169 | auto characterClass = std::make_unique<CharacterClass>( |
7170 | std::initializer_list<UChar32>({}), |
7171 | std::initializer_list<CharacterRange>({}), |
7172 | std::initializer_list<UChar32>({0x0640, 0x085e}), |
7173 | std::initializer_list<CharacterRange>({{0x0840, 0x085b}}), |
7174 | CharacterClassWidths::HasBMPChars); |
7175 | return characterClass; |
7176 | } |
7177 | |
7178 | static std::unique_ptr<CharacterClass> createCharacterClass295() |
7179 | { |
7180 | // Name = Manichaean, number of codePoints: 52 |
7181 | auto characterClass = std::make_unique<CharacterClass>( |
7182 | std::initializer_list<UChar32>({}), |
7183 | std::initializer_list<CharacterRange>({}), |
7184 | std::initializer_list<UChar32>({0x0640}), |
7185 | std::initializer_list<CharacterRange>({{0x10ac0, 0x10ae6}, {0x10aeb, 0x10af6}}), |
7186 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7187 | return characterClass; |
7188 | } |
7189 | |
7190 | static std::unique_ptr<CharacterClass> createCharacterClass296() |
7191 | { |
7192 | // Name = Psalter_Pahlavi, number of codePoints: 30 |
7193 | auto characterClass = std::make_unique<CharacterClass>( |
7194 | std::initializer_list<UChar32>({}), |
7195 | std::initializer_list<CharacterRange>({}), |
7196 | std::initializer_list<UChar32>({0x0640}), |
7197 | std::initializer_list<CharacterRange>({{0x10b80, 0x10b91}, {0x10b99, 0x10b9c}, {0x10ba9, 0x10baf}}), |
7198 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7199 | return characterClass; |
7200 | } |
7201 | |
7202 | static std::unique_ptr<CharacterClass> createCharacterClass297() |
7203 | { |
7204 | // Name = Sogdian, number of codePoints: 43 |
7205 | auto characterClass = std::make_unique<CharacterClass>( |
7206 | std::initializer_list<UChar32>({}), |
7207 | std::initializer_list<CharacterRange>({}), |
7208 | std::initializer_list<UChar32>({0x0640}), |
7209 | std::initializer_list<CharacterRange>({{0x10f30, 0x10f59}}), |
7210 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7211 | return characterClass; |
7212 | } |
7213 | |
7214 | static std::unique_ptr<CharacterClass> createCharacterClass298() |
7215 | { |
7216 | // Name = Modi, number of codePoints: 89 |
7217 | auto characterClass = std::make_unique<CharacterClass>( |
7218 | std::initializer_list<UChar32>({}), |
7219 | std::initializer_list<CharacterRange>({}), |
7220 | std::initializer_list<UChar32>({}), |
7221 | std::initializer_list<CharacterRange>({{0xa830, 0xa839}, {0x11600, 0x11644}, {0x11650, 0x11659}}), |
7222 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7223 | return characterClass; |
7224 | } |
7225 | |
7226 | static std::unique_ptr<CharacterClass> createCharacterClass299() |
7227 | { |
7228 | // Name = Khudawadi, number of codePoints: 81 |
7229 | auto characterClass = std::make_unique<CharacterClass>( |
7230 | std::initializer_list<UChar32>({}), |
7231 | std::initializer_list<CharacterRange>({}), |
7232 | std::initializer_list<UChar32>({}), |
7233 | std::initializer_list<CharacterRange>({{0x0964, 0x0965}, {0xa830, 0xa839}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}}), |
7234 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7235 | return characterClass; |
7236 | } |
7237 | |
7238 | static std::unique_ptr<CharacterClass> createCharacterClass300() |
7239 | { |
7240 | // Name = Takri, number of codePoints: 78 |
7241 | auto characterClass = std::make_unique<CharacterClass>( |
7242 | std::initializer_list<UChar32>({}), |
7243 | std::initializer_list<CharacterRange>({}), |
7244 | std::initializer_list<UChar32>({}), |
7245 | std::initializer_list<CharacterRange>({{0x0964, 0x0965}, {0xa830, 0xa839}, {0x11680, 0x116b7}, {0x116c0, 0x116c9}}), |
7246 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7247 | return characterClass; |
7248 | } |
7249 | |
7250 | static std::unique_ptr<CharacterClass> createCharacterClass301() |
7251 | { |
7252 | // Name = Tirhuta, number of codePoints: 96 |
7253 | auto characterClass = std::make_unique<CharacterClass>( |
7254 | std::initializer_list<UChar32>({}), |
7255 | std::initializer_list<CharacterRange>({}), |
7256 | std::initializer_list<UChar32>({}), |
7257 | std::initializer_list<CharacterRange>({{0x0951, 0x0952}, {0x0964, 0x0965}, {0xa830, 0xa839}, {0x11480, 0x114c7}, |
7258 | {0x114d0, 0x114d9}}), |
7259 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7260 | return characterClass; |
7261 | } |
7262 | |
7263 | static std::unique_ptr<CharacterClass> createCharacterClass302() |
7264 | { |
7265 | // Name = Gunjala_Gondi, number of codePoints: 65 |
7266 | auto characterClass = std::make_unique<CharacterClass>( |
7267 | std::initializer_list<UChar32>({}), |
7268 | std::initializer_list<CharacterRange>({}), |
7269 | std::initializer_list<UChar32>({}), |
7270 | std::initializer_list<CharacterRange>({{0x0964, 0x0965}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, |
7271 | {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}}), |
7272 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7273 | return characterClass; |
7274 | } |
7275 | |
7276 | static std::unique_ptr<CharacterClass> createCharacterClass303() |
7277 | { |
7278 | // Name = Sinhala, number of codePoints: 112 |
7279 | auto characterClass = std::make_unique<CharacterClass>( |
7280 | std::initializer_list<UChar32>({}), |
7281 | std::initializer_list<CharacterRange>({}), |
7282 | std::initializer_list<UChar32>({0x0dbd, 0x0dca, 0x0dd6}), |
7283 | std::initializer_list<CharacterRange>({{0x0964, 0x0965}, {0x0d82, 0x0d83}, {0x0d85, 0x0d96}, {0x0d9a, 0x0db1}, |
7284 | {0x0db3, 0x0dbb}, {0x0dc0, 0x0dc6}, {0x0dcf, 0x0dd4}, {0x0dd8, 0x0ddf}, |
7285 | {0x0de6, 0x0def}, {0x0df2, 0x0df4}, {0x111e1, 0x111f4}}), |
7286 | CharacterClassWidths::HasBothBMPAndNonBMP); |
7287 | return characterClass; |
7288 | } |
7289 | |
7290 | static std::unique_ptr<CharacterClass> createCharacterClass304() |
7291 | { |
7292 | // Name = Limbu, number of codePoints: 69 |
7293 | auto characterClass = std::make_unique<CharacterClass>( |
7294 | std::initializer_list<UChar32>({}), |
7295 | std::initializer_list<CharacterRange>({}), |
7296 | std::initializer_list<UChar32>({0x0965, 0x1940}), |
7297 | std::initializer_list<CharacterRange>({{0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1944, 0x194f}}), |
7298 | CharacterClassWidths::HasBMPChars); |
7299 | return characterClass; |
7300 | } |
7301 | |
7302 | typedef std::unique_ptr<CharacterClass> (*CreateCharacterClass)(); |
7303 | static CreateCharacterClass createFunctions[305] = { |
7304 | createCharacterClass0, createCharacterClass1, createCharacterClass2, createCharacterClass3, |
7305 | createCharacterClass4, createCharacterClass5, createCharacterClass6, createCharacterClass7, |
7306 | createCharacterClass8, createCharacterClass9, createCharacterClass10, createCharacterClass11, |
7307 | createCharacterClass12, createCharacterClass13, createCharacterClass14, createCharacterClass15, |
7308 | createCharacterClass16, createCharacterClass17, createCharacterClass18, createCharacterClass19, |
7309 | createCharacterClass20, createCharacterClass21, createCharacterClass22, createCharacterClass23, |
7310 | createCharacterClass24, createCharacterClass25, createCharacterClass26, createCharacterClass27, |
7311 | createCharacterClass28, createCharacterClass29, createCharacterClass30, createCharacterClass31, |
7312 | createCharacterClass32, createCharacterClass33, createCharacterClass34, createCharacterClass35, |
7313 | createCharacterClass36, createCharacterClass37, createCharacterClass38, createCharacterClass39, |
7314 | createCharacterClass40, createCharacterClass41, createCharacterClass42, createCharacterClass43, |
7315 | createCharacterClass44, createCharacterClass45, createCharacterClass46, createCharacterClass47, |
7316 | createCharacterClass48, createCharacterClass49, createCharacterClass50, createCharacterClass51, |
7317 | createCharacterClass52, createCharacterClass53, createCharacterClass54, createCharacterClass55, |
7318 | createCharacterClass56, createCharacterClass57, createCharacterClass58, createCharacterClass59, |
7319 | createCharacterClass60, createCharacterClass61, createCharacterClass62, createCharacterClass63, |
7320 | createCharacterClass64, createCharacterClass65, createCharacterClass66, createCharacterClass67, |
7321 | createCharacterClass68, createCharacterClass69, createCharacterClass70, createCharacterClass71, |
7322 | createCharacterClass72, createCharacterClass73, createCharacterClass74, createCharacterClass75, |
7323 | createCharacterClass76, createCharacterClass77, createCharacterClass78, createCharacterClass79, |
7324 | createCharacterClass80, createCharacterClass81, createCharacterClass82, createCharacterClass83, |
7325 | createCharacterClass84, createCharacterClass85, createCharacterClass86, createCharacterClass87, |
7326 | createCharacterClass88, createCharacterClass89, createCharacterClass90, createCharacterClass91, |
7327 | createCharacterClass92, createCharacterClass93, createCharacterClass94, createCharacterClass95, |
7328 | createCharacterClass96, createCharacterClass97, createCharacterClass98, createCharacterClass99, |
7329 | createCharacterClass100, createCharacterClass101, createCharacterClass102, createCharacterClass103, |
7330 | createCharacterClass104, createCharacterClass105, createCharacterClass106, createCharacterClass107, |
7331 | createCharacterClass108, createCharacterClass109, createCharacterClass110, createCharacterClass111, |
7332 | createCharacterClass112, createCharacterClass113, createCharacterClass114, createCharacterClass115, |
7333 | createCharacterClass116, createCharacterClass117, createCharacterClass118, createCharacterClass119, |
7334 | createCharacterClass120, createCharacterClass121, createCharacterClass122, createCharacterClass123, |
7335 | createCharacterClass124, createCharacterClass125, createCharacterClass126, createCharacterClass127, |
7336 | createCharacterClass128, createCharacterClass129, createCharacterClass130, createCharacterClass131, |
7337 | createCharacterClass132, createCharacterClass133, createCharacterClass134, createCharacterClass135, |
7338 | createCharacterClass136, createCharacterClass137, createCharacterClass138, createCharacterClass139, |
7339 | createCharacterClass140, createCharacterClass141, createCharacterClass142, createCharacterClass143, |
7340 | createCharacterClass144, createCharacterClass145, createCharacterClass146, createCharacterClass147, |
7341 | createCharacterClass148, createCharacterClass149, createCharacterClass150, createCharacterClass151, |
7342 | createCharacterClass152, createCharacterClass153, createCharacterClass154, createCharacterClass155, |
7343 | createCharacterClass156, createCharacterClass157, createCharacterClass158, createCharacterClass159, |
7344 | createCharacterClass160, createCharacterClass161, createCharacterClass162, createCharacterClass163, |
7345 | createCharacterClass164, createCharacterClass165, createCharacterClass166, createCharacterClass167, |
7346 | createCharacterClass168, createCharacterClass169, createCharacterClass170, createCharacterClass171, |
7347 | createCharacterClass172, createCharacterClass173, createCharacterClass174, createCharacterClass175, |
7348 | createCharacterClass176, createCharacterClass177, createCharacterClass178, createCharacterClass179, |
7349 | createCharacterClass180, createCharacterClass181, createCharacterClass182, createCharacterClass183, |
7350 | createCharacterClass184, createCharacterClass185, createCharacterClass186, createCharacterClass187, |
7351 | createCharacterClass188, createCharacterClass189, createCharacterClass190, createCharacterClass191, |
7352 | createCharacterClass192, createCharacterClass193, createCharacterClass194, createCharacterClass195, |
7353 | createCharacterClass196, createCharacterClass197, createCharacterClass198, createCharacterClass199, |
7354 | createCharacterClass200, createCharacterClass201, createCharacterClass202, createCharacterClass203, |
7355 | createCharacterClass204, createCharacterClass205, createCharacterClass206, createCharacterClass207, |
7356 | createCharacterClass208, createCharacterClass209, createCharacterClass210, createCharacterClass211, |
7357 | createCharacterClass212, createCharacterClass213, createCharacterClass214, createCharacterClass215, |
7358 | createCharacterClass216, createCharacterClass217, createCharacterClass218, createCharacterClass219, |
7359 | createCharacterClass220, createCharacterClass221, createCharacterClass222, createCharacterClass223, |
7360 | createCharacterClass224, createCharacterClass225, createCharacterClass226, createCharacterClass227, |
7361 | createCharacterClass228, createCharacterClass229, createCharacterClass230, createCharacterClass231, |
7362 | createCharacterClass232, createCharacterClass233, createCharacterClass234, createCharacterClass235, |
7363 | createCharacterClass236, createCharacterClass237, createCharacterClass238, createCharacterClass239, |
7364 | createCharacterClass240, createCharacterClass241, createCharacterClass242, createCharacterClass243, |
7365 | createCharacterClass244, createCharacterClass245, createCharacterClass246, createCharacterClass247, |
7366 | createCharacterClass248, createCharacterClass249, createCharacterClass250, createCharacterClass251, |
7367 | createCharacterClass252, createCharacterClass253, createCharacterClass254, createCharacterClass255, |
7368 | createCharacterClass256, createCharacterClass257, createCharacterClass258, createCharacterClass259, |
7369 | createCharacterClass260, createCharacterClass261, createCharacterClass262, createCharacterClass263, |
7370 | createCharacterClass264, createCharacterClass265, createCharacterClass266, createCharacterClass267, |
7371 | createCharacterClass268, createCharacterClass269, createCharacterClass270, createCharacterClass271, |
7372 | createCharacterClass272, createCharacterClass273, createCharacterClass274, createCharacterClass275, |
7373 | createCharacterClass276, createCharacterClass277, createCharacterClass278, createCharacterClass279, |
7374 | createCharacterClass280, createCharacterClass281, createCharacterClass282, createCharacterClass283, |
7375 | createCharacterClass284, createCharacterClass285, createCharacterClass286, createCharacterClass287, |
7376 | createCharacterClass288, createCharacterClass289, createCharacterClass290, createCharacterClass291, |
7377 | createCharacterClass292, createCharacterClass293, createCharacterClass294, createCharacterClass295, |
7378 | createCharacterClass296, createCharacterClass297, createCharacterClass298, createCharacterClass299, |
7379 | createCharacterClass300, createCharacterClass301, createCharacterClass302, createCharacterClass303, |
7380 | createCharacterClass304,}; |
7381 | |
7382 | // General_Category: |
7383 | static const struct HashIndex generalCategoryTableIndex[152] = { |
7384 | { -1, -1 }, |
7385 | { -1, -1 }, |
7386 | { -1, -1 }, |
7387 | { -1, -1 }, |
7388 | { 31, -1 }, |
7389 | { 1, 128 }, |
7390 | { 73, -1 }, |
7391 | { 26, 139 }, |
7392 | { 46, -1 }, |
7393 | { -1, -1 }, |
7394 | { 45, 136 }, |
7395 | { -1, -1 }, |
7396 | { -1, -1 }, |
7397 | { 50, -1 }, |
7398 | { -1, -1 }, |
7399 | { 29, -1 }, |
7400 | { 51, -1 }, |
7401 | { -1, -1 }, |
7402 | { -1, -1 }, |
7403 | { -1, -1 }, |
7404 | { 34, 143 }, |
7405 | { 20, -1 }, |
7406 | { -1, -1 }, |
7407 | { -1, -1 }, |
7408 | { -1, -1 }, |
7409 | { 37, -1 }, |
7410 | { 61, -1 }, |
7411 | { 82, -1 }, |
7412 | { -1, -1 }, |
7413 | { 69, 148 }, |
7414 | { 79, -1 }, |
7415 | { 27, 144 }, |
7416 | { -1, -1 }, |
7417 | { -1, -1 }, |
7418 | { 21, -1 }, |
7419 | { 24, 146 }, |
7420 | { -1, -1 }, |
7421 | { -1, -1 }, |
7422 | { -1, -1 }, |
7423 | { -1, -1 }, |
7424 | { -1, -1 }, |
7425 | { 58, 150 }, |
7426 | { -1, -1 }, |
7427 | { 10, -1 }, |
7428 | { 39, 138 }, |
7429 | { 40, 137 }, |
7430 | { 5, -1 }, |
7431 | { -1, -1 }, |
7432 | { -1, -1 }, |
7433 | { -1, -1 }, |
7434 | { 60, -1 }, |
7435 | { -1, -1 }, |
7436 | { 67, -1 }, |
7437 | { -1, -1 }, |
7438 | { -1, -1 }, |
7439 | { 16, 142 }, |
7440 | { 72, 149 }, |
7441 | { 71, -1 }, |
7442 | { -1, -1 }, |
7443 | { 12, -1 }, |
7444 | { 0, -1 }, |
7445 | { 54, -1 }, |
7446 | { 11, 133 }, |
7447 | { 43, -1 }, |
7448 | { 4, -1 }, |
7449 | { -1, -1 }, |
7450 | { -1, -1 }, |
7451 | { -1, -1 }, |
7452 | { 19, -1 }, |
7453 | { 30, -1 }, |
7454 | { -1, -1 }, |
7455 | { -1, -1 }, |
7456 | { -1, -1 }, |
7457 | { -1, -1 }, |
7458 | { -1, -1 }, |
7459 | { -1, -1 }, |
7460 | { -1, -1 }, |
7461 | { 2, -1 }, |
7462 | { -1, -1 }, |
7463 | { -1, -1 }, |
7464 | { -1, -1 }, |
7465 | { -1, -1 }, |
7466 | { -1, -1 }, |
7467 | { -1, -1 }, |
7468 | { 6, 140 }, |
7469 | { 25, -1 }, |
7470 | { 48, -1 }, |
7471 | { -1, -1 }, |
7472 | { -1, -1 }, |
7473 | { -1, -1 }, |
7474 | { 59, -1 }, |
7475 | { 42, 151 }, |
7476 | { 8, -1 }, |
7477 | { -1, -1 }, |
7478 | { -1, -1 }, |
7479 | { -1, -1 }, |
7480 | { -1, -1 }, |
7481 | { -1, -1 }, |
7482 | { 18, 131 }, |
7483 | { 65, -1 }, |
7484 | { -1, -1 }, |
7485 | { -1, -1 }, |
7486 | { 28, -1 }, |
7487 | { 9, -1 }, |
7488 | { -1, -1 }, |
7489 | { 41, -1 }, |
7490 | { -1, -1 }, |
7491 | { -1, -1 }, |
7492 | { 22, -1 }, |
7493 | { 44, 145 }, |
7494 | { 13, 134 }, |
7495 | { 23, 132 }, |
7496 | { 77, -1 }, |
7497 | { -1, -1 }, |
7498 | { -1, -1 }, |
7499 | { 7, -1 }, |
7500 | { -1, -1 }, |
7501 | { 47, -1 }, |
7502 | { -1, -1 }, |
7503 | { -1, -1 }, |
7504 | { -1, -1 }, |
7505 | { 66, -1 }, |
7506 | { -1, -1 }, |
7507 | { 32, -1 }, |
7508 | { -1, -1 }, |
7509 | { -1, -1 }, |
7510 | { 15, 130 }, |
7511 | { -1, -1 }, |
7512 | { 3, 129 }, |
7513 | { 14, -1 }, |
7514 | { 17, -1 }, |
7515 | { 33, -1 }, |
7516 | { 35, 135 }, |
7517 | { 36, -1 }, |
7518 | { 38, 141 }, |
7519 | { 49, 147 }, |
7520 | { 52, -1 }, |
7521 | { 53, -1 }, |
7522 | { 55, -1 }, |
7523 | { 56, -1 }, |
7524 | { 57, -1 }, |
7525 | { 62, -1 }, |
7526 | { 63, -1 }, |
7527 | { 64, -1 }, |
7528 | { 68, -1 }, |
7529 | { 70, -1 }, |
7530 | { 74, -1 }, |
7531 | { 75, -1 }, |
7532 | { 76, -1 }, |
7533 | { 78, -1 }, |
7534 | { 80, -1 }, |
7535 | { 81, -1 }, |
7536 | }; |
7537 | |
7538 | static const struct HashValue generalCategoryTableValue[83] = { |
7539 | { "Spacing_Mark" , 35 }, |
7540 | { "Mc" , 35 }, |
7541 | { "Modifier_Symbol" , 21 }, |
7542 | { "Sk" , 21 }, |
7543 | { "Punctuation" , 10 }, |
7544 | { "P" , 10 }, |
7545 | { "punct" , 10 }, |
7546 | { "Decimal_Number" , 19 }, |
7547 | { "Nd" , 19 }, |
7548 | { "digit" , 19 }, |
7549 | { "Other_Number" , 28 }, |
7550 | { "No" , 28 }, |
7551 | { "Mark" , 32 }, |
7552 | { "M" , 32 }, |
7553 | { "Combining_Mark" , 32 }, |
7554 | { "Other" , 3 }, |
7555 | { "C" , 3 }, |
7556 | { "Nonspacing_Mark" , 33 }, |
7557 | { "Mn" , 33 }, |
7558 | { "Connector_Punctuation" , 22 }, |
7559 | { "Pc" , 22 }, |
7560 | { "Private_Use" , 40 }, |
7561 | { "Co" , 40 }, |
7562 | { "Format" , 27 }, |
7563 | { "Cf" , 27 }, |
7564 | { "Line_Separator" , 37 }, |
7565 | { "Zl" , 37 }, |
7566 | { "Symbol" , 12 }, |
7567 | { "S" , 12 }, |
7568 | { "Close_Punctuation" , 15 }, |
7569 | { "Pe" , 15 }, |
7570 | { "Cased_Letter" , 6 }, |
7571 | { "LC" , 6 }, |
7572 | { "Letter" , 5 }, |
7573 | { "L" , 5 }, |
7574 | { "Titlecase_Letter" , 30 }, |
7575 | { "Lt" , 30 }, |
7576 | { "Dash_Punctuation" , 17 }, |
7577 | { "Pd" , 17 }, |
7578 | { "Open_Punctuation" , 14 }, |
7579 | { "Ps" , 14 }, |
7580 | { "Enclosing_Mark" , 34 }, |
7581 | { "Me" , 34 }, |
7582 | { "Lowercase_Letter" , 23 }, |
7583 | { "Ll" , 23 }, |
7584 | { "Letter_Number" , 36 }, |
7585 | { "Nl" , 36 }, |
7586 | { "Surrogate" , 39 }, |
7587 | { "Cs" , 39 }, |
7588 | { "Currency_Symbol" , 13 }, |
7589 | { "Sc" , 13 }, |
7590 | { "Separator" , 8 }, |
7591 | { "Z" , 8 }, |
7592 | { "Other_Symbol" , 24 }, |
7593 | { "So" , 24 }, |
7594 | { "Final_Punctuation" , 29 }, |
7595 | { "Pf" , 29 }, |
7596 | { "Paragraph_Separator" , 38 }, |
7597 | { "Zp" , 38 }, |
7598 | { "Modifier_Letter" , 31 }, |
7599 | { "Lm" , 31 }, |
7600 | { "Control" , 7 }, |
7601 | { "Cc" , 7 }, |
7602 | { "cntrl" , 7 }, |
7603 | { "Initial_Punctuation" , 26 }, |
7604 | { "Pi" , 26 }, |
7605 | { "Other_Letter" , 25 }, |
7606 | { "Lo" , 25 }, |
7607 | { "Number" , 18 }, |
7608 | { "N" , 18 }, |
7609 | { "Any" , 0 }, |
7610 | { "Assigned" , 2 }, |
7611 | { "Unassigned" , 4 }, |
7612 | { "Cn" , 4 }, |
7613 | { "Other_Punctuation" , 11 }, |
7614 | { "Po" , 11 }, |
7615 | { "Uppercase_Letter" , 20 }, |
7616 | { "Lu" , 20 }, |
7617 | { "Math_Symbol" , 16 }, |
7618 | { "Sm" , 16 }, |
7619 | { "ASCII" , 1 }, |
7620 | { "Space_Separator" , 9 }, |
7621 | { "Zs" , 9 }, |
7622 | }; |
7623 | |
7624 | static const struct HashTable generalCategoryHashTable = |
7625 | { 83, 127, generalCategoryTableValue, generalCategoryTableIndex }; |
7626 | |
7627 | // binary properties: |
7628 | static const struct HashIndex binaryPropertyTableIndex[152] = { |
7629 | { -1, -1 }, |
7630 | { 38, -1 }, |
7631 | { 11, -1 }, |
7632 | { -1, -1 }, |
7633 | { -1, -1 }, |
7634 | { 74, -1 }, |
7635 | { -1, -1 }, |
7636 | { 5, 143 }, |
7637 | { -1, -1 }, |
7638 | { 35, -1 }, |
7639 | { 67, 150 }, |
7640 | { -1, -1 }, |
7641 | { -1, -1 }, |
7642 | { -1, -1 }, |
7643 | { 9, 137 }, |
7644 | { 12, 132 }, |
7645 | { -1, -1 }, |
7646 | { 60, -1 }, |
7647 | { 73, 151 }, |
7648 | { -1, -1 }, |
7649 | { -1, -1 }, |
7650 | { 22, -1 }, |
7651 | { 7, 141 }, |
7652 | { 15, -1 }, |
7653 | { 24, 136 }, |
7654 | { -1, -1 }, |
7655 | { -1, -1 }, |
7656 | { -1, -1 }, |
7657 | { 34, -1 }, |
7658 | { -1, -1 }, |
7659 | { 4, 149 }, |
7660 | { 89, -1 }, |
7661 | { 85, 148 }, |
7662 | { 2, -1 }, |
7663 | { 80, -1 }, |
7664 | { -1, -1 }, |
7665 | { -1, -1 }, |
7666 | { 6, -1 }, |
7667 | { -1, -1 }, |
7668 | { 83, -1 }, |
7669 | { -1, -1 }, |
7670 | { 47, -1 }, |
7671 | { 29, 131 }, |
7672 | { 23, -1 }, |
7673 | { -1, -1 }, |
7674 | { -1, -1 }, |
7675 | { 41, -1 }, |
7676 | { 25, 142 }, |
7677 | { -1, -1 }, |
7678 | { -1, -1 }, |
7679 | { 93, -1 }, |
7680 | { 28, 138 }, |
7681 | { -1, -1 }, |
7682 | { 1, 146 }, |
7683 | { 0, 135 }, |
7684 | { 50, -1 }, |
7685 | { -1, -1 }, |
7686 | { 48, -1 }, |
7687 | { 66, -1 }, |
7688 | { -1, -1 }, |
7689 | { 42, 134 }, |
7690 | { 33, -1 }, |
7691 | { 51, -1 }, |
7692 | { 68, -1 }, |
7693 | { -1, -1 }, |
7694 | { -1, -1 }, |
7695 | { -1, -1 }, |
7696 | { -1, -1 }, |
7697 | { 56, -1 }, |
7698 | { 31, -1 }, |
7699 | { 71, -1 }, |
7700 | { 77, -1 }, |
7701 | { 59, 144 }, |
7702 | { -1, -1 }, |
7703 | { 10, -1 }, |
7704 | { -1, -1 }, |
7705 | { 70, -1 }, |
7706 | { 36, -1 }, |
7707 | { -1, -1 }, |
7708 | { 19, -1 }, |
7709 | { -1, -1 }, |
7710 | { 17, 128 }, |
7711 | { 27, -1 }, |
7712 | { -1, -1 }, |
7713 | { -1, -1 }, |
7714 | { 94, -1 }, |
7715 | { -1, -1 }, |
7716 | { 84, -1 }, |
7717 | { 16, 147 }, |
7718 | { -1, -1 }, |
7719 | { -1, -1 }, |
7720 | { 79, -1 }, |
7721 | { -1, -1 }, |
7722 | { 64, -1 }, |
7723 | { 63, -1 }, |
7724 | { 3, -1 }, |
7725 | { 40, -1 }, |
7726 | { -1, -1 }, |
7727 | { 72, -1 }, |
7728 | { 75, 145 }, |
7729 | { -1, -1 }, |
7730 | { 26, 133 }, |
7731 | { -1, -1 }, |
7732 | { 13, 139 }, |
7733 | { -1, -1 }, |
7734 | { -1, -1 }, |
7735 | { -1, -1 }, |
7736 | { -1, -1 }, |
7737 | { -1, -1 }, |
7738 | { 81, -1 }, |
7739 | { 57, -1 }, |
7740 | { -1, -1 }, |
7741 | { 91, -1 }, |
7742 | { 8, 129 }, |
7743 | { -1, -1 }, |
7744 | { -1, -1 }, |
7745 | { -1, -1 }, |
7746 | { 49, -1 }, |
7747 | { -1, -1 }, |
7748 | { 14, -1 }, |
7749 | { 62, -1 }, |
7750 | { -1, -1 }, |
7751 | { 61, -1 }, |
7752 | { -1, -1 }, |
7753 | { 90, -1 }, |
7754 | { -1, -1 }, |
7755 | { 37, -1 }, |
7756 | { -1, -1 }, |
7757 | { 18, 130 }, |
7758 | { 20, -1 }, |
7759 | { 21, -1 }, |
7760 | { 30, -1 }, |
7761 | { 32, -1 }, |
7762 | { 39, -1 }, |
7763 | { 43, -1 }, |
7764 | { 44, -1 }, |
7765 | { 45, -1 }, |
7766 | { 46, -1 }, |
7767 | { 52, 140 }, |
7768 | { 53, -1 }, |
7769 | { 54, -1 }, |
7770 | { 55, -1 }, |
7771 | { 58, -1 }, |
7772 | { 65, -1 }, |
7773 | { 69, -1 }, |
7774 | { 76, -1 }, |
7775 | { 78, -1 }, |
7776 | { 82, -1 }, |
7777 | { 86, -1 }, |
7778 | { 87, -1 }, |
7779 | { 88, -1 }, |
7780 | { 92, -1 }, |
7781 | }; |
7782 | |
7783 | static const struct HashValue binaryPropertyTableValue[95] = { |
7784 | { "Grapheme_Extend" , 58 }, |
7785 | { "Gr_Ext" , 58 }, |
7786 | { "Extended_Pictographic" , 90 }, |
7787 | { "Emoji_Presentation" , 86 }, |
7788 | { "Pattern_White_Space" , 82 }, |
7789 | { "Pat_WS" , 82 }, |
7790 | { "Emoji_Component" , 89 }, |
7791 | { "Changes_When_Uppercased" , 49 }, |
7792 | { "CWU" , 49 }, |
7793 | { "Ideographic" , 69 }, |
7794 | { "Ideo" , 69 }, |
7795 | { "IDS_Binary_Operator" , 73 }, |
7796 | { "IDSB" , 73 }, |
7797 | { "Regional_Indicator" , 84 }, |
7798 | { "RI" , 84 }, |
7799 | { "Alphabetic" , 43 }, |
7800 | { "Alpha" , 43 }, |
7801 | { "Math" , 42 }, |
7802 | { "Math" , 42 }, |
7803 | { "Changes_When_Casemapped" , 52 }, |
7804 | { "CWCM" , 52 }, |
7805 | { "IDS_Trinary_Operator" , 74 }, |
7806 | { "IDST" , 74 }, |
7807 | { "Changes_When_NFKC_Casefolded" , 60 }, |
7808 | { "CWKCF" , 60 }, |
7809 | { "Bidi_Control" , 62 }, |
7810 | { "Bidi_C" , 62 }, |
7811 | { "ASCII_Hex_Digit" , 68 }, |
7812 | { "AHex" , 68 }, |
7813 | { "Cased" , 46 }, |
7814 | { "Cased" , 46 }, |
7815 | { "Soft_Dotted" , 78 }, |
7816 | { "SD" , 78 }, |
7817 | { "Case_Ignorable" , 47 }, |
7818 | { "CI" , 47 }, |
7819 | { "Extender" , 71 }, |
7820 | { "Ext" , 71 }, |
7821 | { "Changes_When_Titlecased" , 50 }, |
7822 | { "CWT" , 50 }, |
7823 | { "Lowercase" , 44 }, |
7824 | { "Lower" , 44 }, |
7825 | { "Sentence_Terminal" , 80 }, |
7826 | { "STerm" , 80 }, |
7827 | { "Deprecated" , 77 }, |
7828 | { "Dep" , 77 }, |
7829 | { "Pattern_Syntax" , 83 }, |
7830 | { "Pat_Syn" , 83 }, |
7831 | { "Emoji_Modifier_Base" , 88 }, |
7832 | { "Join_Control" , 63 }, |
7833 | { "Join_C" , 63 }, |
7834 | { "Logical_Order_Exception" , 79 }, |
7835 | { "LOE" , 79 }, |
7836 | { "XID_Start" , 55 }, |
7837 | { "XIDS" , 55 }, |
7838 | { "Emoji_Modifier" , 87 }, |
7839 | { "Terminal_Punctuation" , 66 }, |
7840 | { "Term" , 66 }, |
7841 | { "Variation_Selector" , 81 }, |
7842 | { "VS" , 81 }, |
7843 | { "ID_Continue" , 54 }, |
7844 | { "IDC" , 54 }, |
7845 | { "Hex_Digit" , 67 }, |
7846 | { "Hex" , 67 }, |
7847 | { "Grapheme_Base" , 59 }, |
7848 | { "Gr_Base" , 59 }, |
7849 | { "Diacritic" , 70 }, |
7850 | { "Dia" , 70 }, |
7851 | { "Uppercase" , 45 }, |
7852 | { "Upper" , 45 }, |
7853 | { "ID_Start" , 53 }, |
7854 | { "IDS" , 53 }, |
7855 | { "Unified_Ideograph" , 76 }, |
7856 | { "UIdeo" , 76 }, |
7857 | { "Bidi_Mirrored" , 41 }, |
7858 | { "Bidi_M" , 41 }, |
7859 | { "Dash" , 64 }, |
7860 | { "Dash" , 64 }, |
7861 | { "XID_Continue" , 56 }, |
7862 | { "XIDC" , 56 }, |
7863 | { "Changes_When_Lowercased" , 48 }, |
7864 | { "CWL" , 48 }, |
7865 | { "Changes_When_Casefolded" , 51 }, |
7866 | { "CWCF" , 51 }, |
7867 | { "Noncharacter_Code_Point" , 72 }, |
7868 | { "NChar" , 72 }, |
7869 | { "Radical" , 75 }, |
7870 | { "Radical" , 75 }, |
7871 | { "Quotation_Mark" , 65 }, |
7872 | { "QMark" , 65 }, |
7873 | { "White_Space" , 61 }, |
7874 | { "WSpace" , 61 }, |
7875 | { "space" , 61 }, |
7876 | { "Default_Ignorable_Code_Point" , 57 }, |
7877 | { "DI" , 57 }, |
7878 | { "Emoji" , 85 }, |
7879 | }; |
7880 | |
7881 | static const struct HashTable binaryPropertyHashTable = |
7882 | { 95, 127, binaryPropertyTableValue, binaryPropertyTableIndex }; |
7883 | |
7884 | // Scripts: |
7885 | static const struct HashIndex scriptTableIndex[582] = { |
7886 | { -1, -1 }, |
7887 | { -1, -1 }, |
7888 | { 27, -1 }, |
7889 | { -1, -1 }, |
7890 | { -1, -1 }, |
7891 | { -1, -1 }, |
7892 | { -1, -1 }, |
7893 | { 285, -1 }, |
7894 | { -1, -1 }, |
7895 | { -1, -1 }, |
7896 | { 21, -1 }, |
7897 | { -1, -1 }, |
7898 | { -1, -1 }, |
7899 | { 165, -1 }, |
7900 | { 8, -1 }, |
7901 | { -1, -1 }, |
7902 | { 23, 515 }, |
7903 | { 128, 579 }, |
7904 | { -1, -1 }, |
7905 | { -1, -1 }, |
7906 | { -1, -1 }, |
7907 | { -1, -1 }, |
7908 | { 71, -1 }, |
7909 | { -1, -1 }, |
7910 | { 38, -1 }, |
7911 | { -1, -1 }, |
7912 | { -1, -1 }, |
7913 | { 36, -1 }, |
7914 | { -1, -1 }, |
7915 | { 247, -1 }, |
7916 | { 51, 516 }, |
7917 | { 153, -1 }, |
7918 | { -1, -1 }, |
7919 | { -1, -1 }, |
7920 | { -1, -1 }, |
7921 | { -1, -1 }, |
7922 | { 202, -1 }, |
7923 | { -1, -1 }, |
7924 | { 101, -1 }, |
7925 | { -1, -1 }, |
7926 | { -1, -1 }, |
7927 | { -1, -1 }, |
7928 | { 212, -1 }, |
7929 | { 271, -1 }, |
7930 | { -1, -1 }, |
7931 | { -1, -1 }, |
7932 | { -1, -1 }, |
7933 | { -1, -1 }, |
7934 | { -1, -1 }, |
7935 | { 279, -1 }, |
7936 | { 188, -1 }, |
7937 | { 7, 521 }, |
7938 | { -1, -1 }, |
7939 | { -1, -1 }, |
7940 | { 138, 531 }, |
7941 | { 171, -1 }, |
7942 | { -1, -1 }, |
7943 | { 193, -1 }, |
7944 | { -1, -1 }, |
7945 | { 163, 538 }, |
7946 | { -1, -1 }, |
7947 | { 289, -1 }, |
7948 | { -1, -1 }, |
7949 | { 262, -1 }, |
7950 | { 137, -1 }, |
7951 | { -1, -1 }, |
7952 | { 290, -1 }, |
7953 | { -1, -1 }, |
7954 | { 83, -1 }, |
7955 | { -1, -1 }, |
7956 | { 2, -1 }, |
7957 | { -1, -1 }, |
7958 | { 174, -1 }, |
7959 | { 197, -1 }, |
7960 | { 268, -1 }, |
7961 | { -1, -1 }, |
7962 | { -1, -1 }, |
7963 | { 241, -1 }, |
7964 | { -1, -1 }, |
7965 | { 232, 562 }, |
7966 | { 181, -1 }, |
7967 | { -1, -1 }, |
7968 | { -1, -1 }, |
7969 | { -1, -1 }, |
7970 | { 68, -1 }, |
7971 | { -1, -1 }, |
7972 | { -1, -1 }, |
7973 | { 236, -1 }, |
7974 | { -1, -1 }, |
7975 | { 223, -1 }, |
7976 | { 255, -1 }, |
7977 | { -1, -1 }, |
7978 | { -1, -1 }, |
7979 | { -1, -1 }, |
7980 | { 234, 568 }, |
7981 | { -1, -1 }, |
7982 | { -1, -1 }, |
7983 | { 134, -1 }, |
7984 | { -1, -1 }, |
7985 | { -1, -1 }, |
7986 | { -1, -1 }, |
7987 | { 37, -1 }, |
7988 | { -1, -1 }, |
7989 | { 158, 556 }, |
7990 | { -1, -1 }, |
7991 | { -1, -1 }, |
7992 | { 220, -1 }, |
7993 | { 164, -1 }, |
7994 | { 28, 532 }, |
7995 | { 5, 514 }, |
7996 | { -1, -1 }, |
7997 | { 64, -1 }, |
7998 | { -1, -1 }, |
7999 | { 80, -1 }, |
8000 | { 254, -1 }, |
8001 | { 145, -1 }, |
8002 | { -1, -1 }, |
8003 | { -1, -1 }, |
8004 | { -1, -1 }, |
8005 | { 175, -1 }, |
8006 | { -1, -1 }, |
8007 | { 155, 544 }, |
8008 | { -1, -1 }, |
8009 | { 139, 528 }, |
8010 | { 277, -1 }, |
8011 | { 198, -1 }, |
8012 | { -1, -1 }, |
8013 | { -1, -1 }, |
8014 | { -1, -1 }, |
8015 | { -1, -1 }, |
8016 | { 265, -1 }, |
8017 | { 248, -1 }, |
8018 | { 52, 565 }, |
8019 | { 129, 542 }, |
8020 | { 93, -1 }, |
8021 | { 260, -1 }, |
8022 | { 132, -1 }, |
8023 | { -1, -1 }, |
8024 | { -1, -1 }, |
8025 | { -1, -1 }, |
8026 | { 124, -1 }, |
8027 | { 215, -1 }, |
8028 | { 114, -1 }, |
8029 | { 74, -1 }, |
8030 | { -1, -1 }, |
8031 | { -1, -1 }, |
8032 | { 296, -1 }, |
8033 | { -1, -1 }, |
8034 | { -1, -1 }, |
8035 | { 43, -1 }, |
8036 | { -1, -1 }, |
8037 | { -1, -1 }, |
8038 | { -1, -1 }, |
8039 | { -1, -1 }, |
8040 | { -1, -1 }, |
8041 | { 205, -1 }, |
8042 | { -1, -1 }, |
8043 | { 82, 553 }, |
8044 | { 273, -1 }, |
8045 | { -1, -1 }, |
8046 | { 19, -1 }, |
8047 | { 50, -1 }, |
8048 | { 116, -1 }, |
8049 | { -1, -1 }, |
8050 | { 61, -1 }, |
8051 | { 39, -1 }, |
8052 | { 100, -1 }, |
8053 | { -1, -1 }, |
8054 | { -1, -1 }, |
8055 | { 120, -1 }, |
8056 | { 107, 576 }, |
8057 | { -1, -1 }, |
8058 | { -1, -1 }, |
8059 | { -1, -1 }, |
8060 | { 243, -1 }, |
8061 | { 119, 539 }, |
8062 | { -1, -1 }, |
8063 | { 231, -1 }, |
8064 | { 70, -1 }, |
8065 | { -1, -1 }, |
8066 | { -1, -1 }, |
8067 | { -1, -1 }, |
8068 | { -1, -1 }, |
8069 | { -1, -1 }, |
8070 | { -1, -1 }, |
8071 | { 214, -1 }, |
8072 | { -1, -1 }, |
8073 | { 9, 527 }, |
8074 | { 121, 525 }, |
8075 | { -1, -1 }, |
8076 | { -1, -1 }, |
8077 | { -1, -1 }, |
8078 | { -1, -1 }, |
8079 | { -1, -1 }, |
8080 | { 157, -1 }, |
8081 | { -1, -1 }, |
8082 | { -1, -1 }, |
8083 | { 44, 551 }, |
8084 | { 203, -1 }, |
8085 | { -1, -1 }, |
8086 | { -1, -1 }, |
8087 | { -1, -1 }, |
8088 | { -1, -1 }, |
8089 | { 87, -1 }, |
8090 | { 92, -1 }, |
8091 | { -1, -1 }, |
8092 | { -1, -1 }, |
8093 | { 253, -1 }, |
8094 | { -1, -1 }, |
8095 | { 156, -1 }, |
8096 | { 251, -1 }, |
8097 | { 84, 519 }, |
8098 | { -1, -1 }, |
8099 | { 266, -1 }, |
8100 | { 65, -1 }, |
8101 | { 256, -1 }, |
8102 | { 63, -1 }, |
8103 | { 227, -1 }, |
8104 | { -1, -1 }, |
8105 | { 1, 530 }, |
8106 | { -1, -1 }, |
8107 | { 166, -1 }, |
8108 | { 102, 558 }, |
8109 | { 280, -1 }, |
8110 | { 294, -1 }, |
8111 | { 250, -1 }, |
8112 | { 34, -1 }, |
8113 | { -1, -1 }, |
8114 | { -1, -1 }, |
8115 | { 25, 512 }, |
8116 | { 204, -1 }, |
8117 | { 217, -1 }, |
8118 | { -1, -1 }, |
8119 | { -1, -1 }, |
8120 | { -1, -1 }, |
8121 | { 216, -1 }, |
8122 | { -1, -1 }, |
8123 | { -1, -1 }, |
8124 | { 85, -1 }, |
8125 | { 31, -1 }, |
8126 | { -1, -1 }, |
8127 | { 113, 526 }, |
8128 | { -1, -1 }, |
8129 | { -1, -1 }, |
8130 | { -1, -1 }, |
8131 | { 66, 549 }, |
8132 | { -1, -1 }, |
8133 | { 48, -1 }, |
8134 | { 104, -1 }, |
8135 | { -1, -1 }, |
8136 | { -1, -1 }, |
8137 | { -1, -1 }, |
8138 | { -1, -1 }, |
8139 | { -1, -1 }, |
8140 | { 201, -1 }, |
8141 | { -1, -1 }, |
8142 | { 183, 552 }, |
8143 | { -1, -1 }, |
8144 | { -1, -1 }, |
8145 | { -1, -1 }, |
8146 | { -1, -1 }, |
8147 | { 135, -1 }, |
8148 | { -1, -1 }, |
8149 | { -1, -1 }, |
8150 | { -1, -1 }, |
8151 | { 154, -1 }, |
8152 | { 4, -1 }, |
8153 | { 186, -1 }, |
8154 | { -1, -1 }, |
8155 | { 218, -1 }, |
8156 | { 168, -1 }, |
8157 | { 192, 555 }, |
8158 | { -1, -1 }, |
8159 | { -1, -1 }, |
8160 | { -1, -1 }, |
8161 | { -1, -1 }, |
8162 | { 54, 522 }, |
8163 | { 127, 580 }, |
8164 | { -1, -1 }, |
8165 | { 162, -1 }, |
8166 | { -1, -1 }, |
8167 | { -1, -1 }, |
8168 | { -1, -1 }, |
8169 | { -1, -1 }, |
8170 | { -1, -1 }, |
8171 | { -1, -1 }, |
8172 | { 91, 534 }, |
8173 | { 257, -1 }, |
8174 | { -1, -1 }, |
8175 | { 261, -1 }, |
8176 | { 56, -1 }, |
8177 | { -1, -1 }, |
8178 | { -1, -1 }, |
8179 | { -1, -1 }, |
8180 | { 184, 548 }, |
8181 | { 14, -1 }, |
8182 | { -1, -1 }, |
8183 | { -1, -1 }, |
8184 | { -1, -1 }, |
8185 | { -1, -1 }, |
8186 | { -1, -1 }, |
8187 | { 224, 564 }, |
8188 | { 41, 547 }, |
8189 | { -1, -1 }, |
8190 | { 10, -1 }, |
8191 | { -1, -1 }, |
8192 | { -1, -1 }, |
8193 | { -1, -1 }, |
8194 | { -1, -1 }, |
8195 | { 53, -1 }, |
8196 | { 239, -1 }, |
8197 | { 11, -1 }, |
8198 | { 60, -1 }, |
8199 | { -1, -1 }, |
8200 | { 274, -1 }, |
8201 | { -1, -1 }, |
8202 | { -1, -1 }, |
8203 | { -1, -1 }, |
8204 | { -1, -1 }, |
8205 | { 206, -1 }, |
8206 | { 249, -1 }, |
8207 | { -1, -1 }, |
8208 | { -1, -1 }, |
8209 | { -1, -1 }, |
8210 | { -1, -1 }, |
8211 | { 97, 540 }, |
8212 | { -1, -1 }, |
8213 | { -1, -1 }, |
8214 | { -1, -1 }, |
8215 | { -1, -1 }, |
8216 | { 35, -1 }, |
8217 | { -1, -1 }, |
8218 | { 210, -1 }, |
8219 | { -1, -1 }, |
8220 | { 283, -1 }, |
8221 | { 208, -1 }, |
8222 | { 226, -1 }, |
8223 | { -1, -1 }, |
8224 | { 276, -1 }, |
8225 | { 103, 541 }, |
8226 | { 0, -1 }, |
8227 | { 75, 578 }, |
8228 | { -1, -1 }, |
8229 | { -1, -1 }, |
8230 | { -1, -1 }, |
8231 | { -1, -1 }, |
8232 | { 109, 569 }, |
8233 | { -1, -1 }, |
8234 | { -1, -1 }, |
8235 | { 58, 517 }, |
8236 | { 24, -1 }, |
8237 | { -1, -1 }, |
8238 | { -1, -1 }, |
8239 | { -1, -1 }, |
8240 | { -1, -1 }, |
8241 | { 110, 533 }, |
8242 | { -1, -1 }, |
8243 | { -1, -1 }, |
8244 | { 46, -1 }, |
8245 | { 259, -1 }, |
8246 | { -1, -1 }, |
8247 | { -1, -1 }, |
8248 | { 112, -1 }, |
8249 | { -1, -1 }, |
8250 | { 42, -1 }, |
8251 | { 18, -1 }, |
8252 | { -1, -1 }, |
8253 | { -1, -1 }, |
8254 | { 73, -1 }, |
8255 | { 13, -1 }, |
8256 | { 295, -1 }, |
8257 | { 117, 574 }, |
8258 | { 131, -1 }, |
8259 | { 30, -1 }, |
8260 | { -1, -1 }, |
8261 | { -1, -1 }, |
8262 | { 33, -1 }, |
8263 | { -1, -1 }, |
8264 | { -1, -1 }, |
8265 | { -1, -1 }, |
8266 | { -1, -1 }, |
8267 | { 49, -1 }, |
8268 | { 148, -1 }, |
8269 | { -1, -1 }, |
8270 | { 178, -1 }, |
8271 | { 125, -1 }, |
8272 | { 16, 523 }, |
8273 | { -1, -1 }, |
8274 | { -1, -1 }, |
8275 | { 118, -1 }, |
8276 | { 151, -1 }, |
8277 | { -1, -1 }, |
8278 | { 78, -1 }, |
8279 | { -1, -1 }, |
8280 | { -1, -1 }, |
8281 | { 55, 536 }, |
8282 | { -1, -1 }, |
8283 | { 17, -1 }, |
8284 | { 235, -1 }, |
8285 | { -1, -1 }, |
8286 | { 182, -1 }, |
8287 | { -1, -1 }, |
8288 | { -1, -1 }, |
8289 | { -1, -1 }, |
8290 | { -1, -1 }, |
8291 | { -1, -1 }, |
8292 | { -1, -1 }, |
8293 | { 278, -1 }, |
8294 | { -1, -1 }, |
8295 | { -1, -1 }, |
8296 | { -1, -1 }, |
8297 | { 275, -1 }, |
8298 | { 111, -1 }, |
8299 | { -1, -1 }, |
8300 | { -1, -1 }, |
8301 | { 72, 518 }, |
8302 | { -1, -1 }, |
8303 | { -1, -1 }, |
8304 | { 40, -1 }, |
8305 | { -1, -1 }, |
8306 | { -1, -1 }, |
8307 | { 45, 524 }, |
8308 | { -1, -1 }, |
8309 | { 281, -1 }, |
8310 | { -1, -1 }, |
8311 | { 29, 535 }, |
8312 | { 98, -1 }, |
8313 | { -1, -1 }, |
8314 | { -1, -1 }, |
8315 | { 270, -1 }, |
8316 | { -1, -1 }, |
8317 | { -1, -1 }, |
8318 | { -1, -1 }, |
8319 | { 15, -1 }, |
8320 | { 142, 546 }, |
8321 | { -1, -1 }, |
8322 | { 219, 557 }, |
8323 | { -1, -1 }, |
8324 | { -1, -1 }, |
8325 | { 123, -1 }, |
8326 | { -1, -1 }, |
8327 | { -1, -1 }, |
8328 | { -1, -1 }, |
8329 | { 169, -1 }, |
8330 | { -1, -1 }, |
8331 | { -1, -1 }, |
8332 | { -1, -1 }, |
8333 | { 86, -1 }, |
8334 | { -1, -1 }, |
8335 | { -1, -1 }, |
8336 | { 287, -1 }, |
8337 | { -1, -1 }, |
8338 | { -1, -1 }, |
8339 | { 185, -1 }, |
8340 | { 77, -1 }, |
8341 | { -1, -1 }, |
8342 | { 90, 561 }, |
8343 | { 76, -1 }, |
8344 | { 267, -1 }, |
8345 | { -1, -1 }, |
8346 | { -1, -1 }, |
8347 | { -1, -1 }, |
8348 | { -1, -1 }, |
8349 | { -1, -1 }, |
8350 | { -1, -1 }, |
8351 | { 136, -1 }, |
8352 | { 32, 573 }, |
8353 | { -1, -1 }, |
8354 | { -1, -1 }, |
8355 | { 6, 513 }, |
8356 | { 221, 560 }, |
8357 | { -1, -1 }, |
8358 | { 22, -1 }, |
8359 | { -1, -1 }, |
8360 | { -1, -1 }, |
8361 | { 12, -1 }, |
8362 | { 161, 567 }, |
8363 | { -1, -1 }, |
8364 | { -1, -1 }, |
8365 | { -1, -1 }, |
8366 | { -1, -1 }, |
8367 | { 67, -1 }, |
8368 | { -1, -1 }, |
8369 | { -1, -1 }, |
8370 | { 57, 566 }, |
8371 | { 20, -1 }, |
8372 | { 62, -1 }, |
8373 | { 246, -1 }, |
8374 | { 108, -1 }, |
8375 | { -1, -1 }, |
8376 | { -1, -1 }, |
8377 | { 3, -1 }, |
8378 | { -1, -1 }, |
8379 | { -1, -1 }, |
8380 | { -1, -1 }, |
8381 | { -1, -1 }, |
8382 | { -1, -1 }, |
8383 | { 133, -1 }, |
8384 | { 81, 545 }, |
8385 | { -1, -1 }, |
8386 | { 94, -1 }, |
8387 | { 191, -1 }, |
8388 | { 167, -1 }, |
8389 | { -1, -1 }, |
8390 | { -1, -1 }, |
8391 | { -1, -1 }, |
8392 | { -1, -1 }, |
8393 | { -1, -1 }, |
8394 | { -1, -1 }, |
8395 | { 297, -1 }, |
8396 | { 149, -1 }, |
8397 | { -1, -1 }, |
8398 | { 26, -1 }, |
8399 | { 47, -1 }, |
8400 | { 59, -1 }, |
8401 | { 69, 575 }, |
8402 | { 79, -1 }, |
8403 | { 88, -1 }, |
8404 | { 89, -1 }, |
8405 | { 95, 520 }, |
8406 | { 96, -1 }, |
8407 | { 99, 529 }, |
8408 | { 105, -1 }, |
8409 | { 106, -1 }, |
8410 | { 115, 554 }, |
8411 | { 122, 543 }, |
8412 | { 126, -1 }, |
8413 | { 130, -1 }, |
8414 | { 140, -1 }, |
8415 | { 141, -1 }, |
8416 | { 143, -1 }, |
8417 | { 144, 570 }, |
8418 | { 146, -1 }, |
8419 | { 147, -1 }, |
8420 | { 150, 563 }, |
8421 | { 152, -1 }, |
8422 | { 159, 537 }, |
8423 | { 160, -1 }, |
8424 | { 170, -1 }, |
8425 | { 172, -1 }, |
8426 | { 173, -1 }, |
8427 | { 176, 550 }, |
8428 | { 177, -1 }, |
8429 | { 179, -1 }, |
8430 | { 180, 581 }, |
8431 | { 187, -1 }, |
8432 | { 189, 559 }, |
8433 | { 190, -1 }, |
8434 | { 194, -1 }, |
8435 | { 195, -1 }, |
8436 | { 196, -1 }, |
8437 | { 199, -1 }, |
8438 | { 200, 571 }, |
8439 | { 207, -1 }, |
8440 | { 209, -1 }, |
8441 | { 211, -1 }, |
8442 | { 213, -1 }, |
8443 | { 222, -1 }, |
8444 | { 225, 577 }, |
8445 | { 228, -1 }, |
8446 | { 229, -1 }, |
8447 | { 230, -1 }, |
8448 | { 233, -1 }, |
8449 | { 237, -1 }, |
8450 | { 238, -1 }, |
8451 | { 240, -1 }, |
8452 | { 242, -1 }, |
8453 | { 244, -1 }, |
8454 | { 245, -1 }, |
8455 | { 252, -1 }, |
8456 | { 258, -1 }, |
8457 | { 263, 572 }, |
8458 | { 264, -1 }, |
8459 | { 269, -1 }, |
8460 | { 272, -1 }, |
8461 | { 282, -1 }, |
8462 | { 284, -1 }, |
8463 | { 286, -1 }, |
8464 | { 288, -1 }, |
8465 | { 291, -1 }, |
8466 | { 292, -1 }, |
8467 | { 293, -1 }, |
8468 | }; |
8469 | |
8470 | static const struct HashValue scriptTableValue[298] = { |
8471 | { "Tangut" , 228 }, |
8472 | { "Tang" , 228 }, |
8473 | { "Thaana" , 100 }, |
8474 | { "Thaa" , 100 }, |
8475 | { "Adlam" , 223 }, |
8476 | { "Adlm" , 223 }, |
8477 | { "Telugu" , 107 }, |
8478 | { "Telu" , 107 }, |
8479 | { "Cyrillic" , 95 }, |
8480 | { "Cyrl" , 95 }, |
8481 | { "Zanabazar_Square" , 232 }, |
8482 | { "Zanb" , 232 }, |
8483 | { "Hangul" , 116 }, |
8484 | { "Hang" , 116 }, |
8485 | { "Old_South_Arabian" , 179 }, |
8486 | { "Sarb" , 179 }, |
8487 | { "Ethiopic" , 117 }, |
8488 | { "Ethi" , 117 }, |
8489 | { "Inherited" , 132 }, |
8490 | { "Zinh" , 132 }, |
8491 | { "Qaai" , 132 }, |
8492 | { "Meroitic_Cursive" , 188 }, |
8493 | { "Merc" , 188 }, |
8494 | { "Bhaiksuki" , 224 }, |
8495 | { "Bhks" , 224 }, |
8496 | { "Ahom" , 217 }, |
8497 | { "Ahom" , 217 }, |
8498 | { "Han" , 127 }, |
8499 | { "Hani" , 127 }, |
8500 | { "Old_North_Arabian" , 207 }, |
8501 | { "Narb" , 207 }, |
8502 | { "Armenian" , 96 }, |
8503 | { "Armn" , 96 }, |
8504 | { "Tamil" , 106 }, |
8505 | { "Taml" , 106 }, |
8506 | { "Bopomofo" , 126 }, |
8507 | { "Bopo" , 126 }, |
8508 | { "Bassa_Vah" , 195 }, |
8509 | { "Bass" , 195 }, |
8510 | { "Sundanese" , 158 }, |
8511 | { "Sund" , 158 }, |
8512 | { "Osage" , 227 }, |
8513 | { "Osge" , 227 }, |
8514 | { "Old_Sogdian" , 239 }, |
8515 | { "Sogo" , 239 }, |
8516 | { "Tagalog" , 133 }, |
8517 | { "Tglg" , 133 }, |
8518 | { "Malayalam" , 109 }, |
8519 | { "Mlym" , 109 }, |
8520 | { "Marchen" , 225 }, |
8521 | { "Marc" , 225 }, |
8522 | { "Carian" , 166 }, |
8523 | { "Cari" , 166 }, |
8524 | { "Hiragana" , 124 }, |
8525 | { "Hira" , 124 }, |
8526 | { "Tagbanwa" , 136 }, |
8527 | { "Tagb" , 136 }, |
8528 | { "Meetei_Mayek" , 177 }, |
8529 | { "Mtei" , 177 }, |
8530 | { "Hanifi_Rohingya" , 237 }, |
8531 | { "Rohg" , 237 }, |
8532 | { "Pahawh_Hmong" , 199 }, |
8533 | { "Hmng" , 199 }, |
8534 | { "Tai_Le" , 138 }, |
8535 | { "Tale" , 138 }, |
8536 | { "Kayah_Li" , 163 }, |
8537 | { "Kali" , 163 }, |
8538 | { "Buginese" , 145 }, |
8539 | { "Bugi" , 145 }, |
8540 | { "Kharoshthi" , 152 }, |
8541 | { "Khar" , 152 }, |
8542 | { "Tai_Tham" , 169 }, |
8543 | { "Lana" , 169 }, |
8544 | { "Old_Italic" , 129 }, |
8545 | { "Ital" , 129 }, |
8546 | { "Old_Persian" , 151 }, |
8547 | { "Xpeo" , 151 }, |
8548 | { "Warang_Citi" , 216 }, |
8549 | { "Wara" , 216 }, |
8550 | { "Latin" , 93 }, |
8551 | { "Latn" , 93 }, |
8552 | { "Saurashtra" , 162 }, |
8553 | { "Saur" , 162 }, |
8554 | { "Shavian" , 141 }, |
8555 | { "Shaw" , 141 }, |
8556 | { "Georgian" , 115 }, |
8557 | { "Geor" , 115 }, |
8558 | { "Grantha" , 198 }, |
8559 | { "Gran" , 198 }, |
8560 | { "Duployan" , 196 }, |
8561 | { "Dupl" , 196 }, |
8562 | { "Batak" , 184 }, |
8563 | { "Batk" , 184 }, |
8564 | { "Devanagari" , 101 }, |
8565 | { "Deva" , 101 }, |
8566 | { "Thai" , 111 }, |
8567 | { "Thai" , 111 }, |
8568 | { "Tibetan" , 113 }, |
8569 | { "Tibt" , 113 }, |
8570 | { "Tifinagh" , 149 }, |
8571 | { "Tfng" , 149 }, |
8572 | { "Ugaritic" , 140 }, |
8573 | { "Ugar" , 140 }, |
8574 | { "Braille" , 144 }, |
8575 | { "Brai" , 144 }, |
8576 | { "Anatolian_Hieroglyphs" , 218 }, |
8577 | { "Hluw" , 218 }, |
8578 | { "Greek" , 94 }, |
8579 | { "Grek" , 94 }, |
8580 | { "Lycian" , 165 }, |
8581 | { "Lyci" , 165 }, |
8582 | { "Mende_Kikakui" , 204 }, |
8583 | { "Mend" , 204 }, |
8584 | { "Tai_Viet" , 170 }, |
8585 | { "Tavt" , 170 }, |
8586 | { "Vai" , 161 }, |
8587 | { "Vaii" , 161 }, |
8588 | { "Ogham" , 120 }, |
8589 | { "Ogam" , 120 }, |
8590 | { "Inscriptional_Parthian" , 180 }, |
8591 | { "Prti" , 180 }, |
8592 | { "Cham" , 168 }, |
8593 | { "Cham" , 168 }, |
8594 | { "Syriac" , 99 }, |
8595 | { "Syrc" , 99 }, |
8596 | { "Runic" , 121 }, |
8597 | { "Runr" , 121 }, |
8598 | { "Gothic" , 130 }, |
8599 | { "Goth" , 130 }, |
8600 | { "Mahajani" , 202 }, |
8601 | { "Mahj" , 202 }, |
8602 | { "Katakana" , 125 }, |
8603 | { "Kana" , 125 }, |
8604 | { "Osmanya" , 142 }, |
8605 | { "Osma" , 142 }, |
8606 | { "New_Tai_Lue" , 147 }, |
8607 | { "Talu" , 147 }, |
8608 | { "Ol_Chiki" , 160 }, |
8609 | { "Olck" , 160 }, |
8610 | { "Newa" , 226 }, |
8611 | { "Newa" , 226 }, |
8612 | { "Limbu" , 137 }, |
8613 | { "Limb" , 137 }, |
8614 | { "Pau_Cin_Hau" , 210 }, |
8615 | { "Pauc" , 210 }, |
8616 | { "Cherokee" , 118 }, |
8617 | { "Cher" , 118 }, |
8618 | { "Miao" , 190 }, |
8619 | { "Plrd" , 190 }, |
8620 | { "Oriya" , 105 }, |
8621 | { "Orya" , 105 }, |
8622 | { "Medefaidrin" , 236 }, |
8623 | { "Medf" , 236 }, |
8624 | { "Sharada" , 191 }, |
8625 | { "Shrd" , 191 }, |
8626 | { "Gujarati" , 104 }, |
8627 | { "Gujr" , 104 }, |
8628 | { "Nushu" , 230 }, |
8629 | { "Nshu" , 230 }, |
8630 | { "Modi" , 205 }, |
8631 | { "Modi" , 205 }, |
8632 | { "Gunjala_Gondi" , 234 }, |
8633 | { "Gong" , 234 }, |
8634 | { "Inscriptional_Pahlavi" , 181 }, |
8635 | { "Phli" , 181 }, |
8636 | { "Manichaean" , 203 }, |
8637 | { "Mani" , 203 }, |
8638 | { "Khmer" , 122 }, |
8639 | { "Khmr" , 122 }, |
8640 | { "Cuneiform" , 154 }, |
8641 | { "Xsux" , 154 }, |
8642 | { "Khudawadi" , 214 }, |
8643 | { "Sind" , 214 }, |
8644 | { "Mandaic" , 186 }, |
8645 | { "Mand" , 186 }, |
8646 | { "Hatran" , 219 }, |
8647 | { "Hatr" , 219 }, |
8648 | { "Syloti_Nagri" , 150 }, |
8649 | { "Sylo" , 150 }, |
8650 | { "Nko" , 157 }, |
8651 | { "Nkoo" , 157 }, |
8652 | { "Canadian_Aboriginal" , 119 }, |
8653 | { "Cans" , 119 }, |
8654 | { "Meroitic_Hieroglyphs" , 189 }, |
8655 | { "Mero" , 189 }, |
8656 | { "Phoenician" , 155 }, |
8657 | { "Phnx" , 155 }, |
8658 | { "Nabataean" , 208 }, |
8659 | { "Nbat" , 208 }, |
8660 | { "Bengali" , 102 }, |
8661 | { "Beng" , 102 }, |
8662 | { "Kaithi" , 183 }, |
8663 | { "Kthi" , 183 }, |
8664 | { "Glagolitic" , 148 }, |
8665 | { "Glag" , 148 }, |
8666 | { "Imperial_Aramaic" , 178 }, |
8667 | { "Armi" , 178 }, |
8668 | { "Sora_Sompeng" , 192 }, |
8669 | { "Sora" , 192 }, |
8670 | { "Gurmukhi" , 103 }, |
8671 | { "Guru" , 103 }, |
8672 | { "Javanese" , 176 }, |
8673 | { "Java" , 176 }, |
8674 | { "Old_Permic" , 211 }, |
8675 | { "Perm" , 211 }, |
8676 | { "Phags_Pa" , 156 }, |
8677 | { "Phag" , 156 }, |
8678 | { "Cypriot" , 143 }, |
8679 | { "Cprt" , 143 }, |
8680 | { "Kannada" , 108 }, |
8681 | { "Knda" , 108 }, |
8682 | { "Khojki" , 200 }, |
8683 | { "Khoj" , 200 }, |
8684 | { "Mongolian" , 123 }, |
8685 | { "Mong" , 123 }, |
8686 | { "Sinhala" , 110 }, |
8687 | { "Sinh" , 110 }, |
8688 | { "Brahmi" , 185 }, |
8689 | { "Brah" , 185 }, |
8690 | { "Elbasan" , 197 }, |
8691 | { "Elba" , 197 }, |
8692 | { "Deseret" , 131 }, |
8693 | { "Dsrt" , 131 }, |
8694 | { "Rejang" , 164 }, |
8695 | { "Rjng" , 164 }, |
8696 | { "SignWriting" , 222 }, |
8697 | { "Sgnw" , 222 }, |
8698 | { "Multani" , 220 }, |
8699 | { "Mult" , 220 }, |
8700 | { "Yi" , 128 }, |
8701 | { "Yiii" , 128 }, |
8702 | { "Balinese" , 153 }, |
8703 | { "Bali" , 153 }, |
8704 | { "Lao" , 112 }, |
8705 | { "Laoo" , 112 }, |
8706 | { "Hanunoo" , 134 }, |
8707 | { "Hano" , 134 }, |
8708 | { "Masaram_Gondi" , 229 }, |
8709 | { "Gonm" , 229 }, |
8710 | { "Linear_B" , 139 }, |
8711 | { "Linb" , 139 }, |
8712 | { "Linear_A" , 201 }, |
8713 | { "Lina" , 201 }, |
8714 | { "Dogra" , 233 }, |
8715 | { "Dogr" , 233 }, |
8716 | { "Old_Turkic" , 182 }, |
8717 | { "Orkh" , 182 }, |
8718 | { "Lepcha" , 159 }, |
8719 | { "Lepc" , 159 }, |
8720 | { "Lydian" , 167 }, |
8721 | { "Lydi" , 167 }, |
8722 | { "Egyptian_Hieroglyphs" , 172 }, |
8723 | { "Egyp" , 172 }, |
8724 | { "Sogdian" , 238 }, |
8725 | { "Sogd" , 238 }, |
8726 | { "Caucasian_Albanian" , 194 }, |
8727 | { "Aghb" , 194 }, |
8728 | { "Makasar" , 235 }, |
8729 | { "Maka" , 235 }, |
8730 | { "Old_Hungarian" , 221 }, |
8731 | { "Hung" , 221 }, |
8732 | { "Samaritan" , 173 }, |
8733 | { "Samr" , 173 }, |
8734 | { "Lisu" , 174 }, |
8735 | { "Lisu" , 174 }, |
8736 | { "Buhid" , 135 }, |
8737 | { "Buhd" , 135 }, |
8738 | { "Palmyrene" , 209 }, |
8739 | { "Palm" , 209 }, |
8740 | { "Tirhuta" , 215 }, |
8741 | { "Tirh" , 215 }, |
8742 | { "Mro" , 206 }, |
8743 | { "Mroo" , 206 }, |
8744 | { "Common" , 92 }, |
8745 | { "Zyyy" , 92 }, |
8746 | { "Coptic" , 146 }, |
8747 | { "Copt" , 146 }, |
8748 | { "Qaac" , 146 }, |
8749 | { "Chakma" , 187 }, |
8750 | { "Cakm" , 187 }, |
8751 | { "Arabic" , 98 }, |
8752 | { "Arab" , 98 }, |
8753 | { "Bamum" , 175 }, |
8754 | { "Bamu" , 175 }, |
8755 | { "Myanmar" , 114 }, |
8756 | { "Mymr" , 114 }, |
8757 | { "Siddham" , 213 }, |
8758 | { "Sidd" , 213 }, |
8759 | { "Soyombo" , 231 }, |
8760 | { "Soyo" , 231 }, |
8761 | { "Avestan" , 171 }, |
8762 | { "Avst" , 171 }, |
8763 | { "Hebrew" , 97 }, |
8764 | { "Hebr" , 97 }, |
8765 | { "Psalter_Pahlavi" , 212 }, |
8766 | { "Phlp" , 212 }, |
8767 | { "Takri" , 193 }, |
8768 | { "Takr" , 193 }, |
8769 | }; |
8770 | |
8771 | static const struct HashTable scriptHashTable = |
8772 | { 298, 511, scriptTableValue, scriptTableIndex }; |
8773 | |
8774 | // Script_Extensions: |
8775 | static const struct HashIndex scriptExtensionTableIndex[582] = { |
8776 | { -1, -1 }, |
8777 | { -1, -1 }, |
8778 | { 27, -1 }, |
8779 | { -1, -1 }, |
8780 | { -1, -1 }, |
8781 | { -1, -1 }, |
8782 | { -1, -1 }, |
8783 | { 285, -1 }, |
8784 | { -1, -1 }, |
8785 | { -1, -1 }, |
8786 | { 21, -1 }, |
8787 | { -1, -1 }, |
8788 | { -1, -1 }, |
8789 | { 169, -1 }, |
8790 | { 8, -1 }, |
8791 | { -1, -1 }, |
8792 | { 23, 516 }, |
8793 | { 132, 579 }, |
8794 | { -1, -1 }, |
8795 | { -1, -1 }, |
8796 | { -1, -1 }, |
8797 | { -1, -1 }, |
8798 | { 75, -1 }, |
8799 | { -1, -1 }, |
8800 | { 38, -1 }, |
8801 | { -1, -1 }, |
8802 | { -1, -1 }, |
8803 | { 36, -1 }, |
8804 | { -1, -1 }, |
8805 | { 247, -1 }, |
8806 | { 51, 517 }, |
8807 | { 157, -1 }, |
8808 | { -1, -1 }, |
8809 | { -1, -1 }, |
8810 | { -1, -1 }, |
8811 | { -1, -1 }, |
8812 | { 204, -1 }, |
8813 | { -1, -1 }, |
8814 | { 105, -1 }, |
8815 | { -1, -1 }, |
8816 | { -1, -1 }, |
8817 | { -1, -1 }, |
8818 | { 214, -1 }, |
8819 | { 271, -1 }, |
8820 | { -1, -1 }, |
8821 | { -1, -1 }, |
8822 | { -1, -1 }, |
8823 | { -1, -1 }, |
8824 | { -1, -1 }, |
8825 | { 164, -1 }, |
8826 | { 192, -1 }, |
8827 | { 7, 522 }, |
8828 | { -1, -1 }, |
8829 | { -1, -1 }, |
8830 | { 142, 555 }, |
8831 | { 175, -1 }, |
8832 | { -1, -1 }, |
8833 | { 195, -1 }, |
8834 | { -1, -1 }, |
8835 | { 167, 535 }, |
8836 | { -1, -1 }, |
8837 | { 289, -1 }, |
8838 | { -1, -1 }, |
8839 | { 262, -1 }, |
8840 | { 141, -1 }, |
8841 | { -1, -1 }, |
8842 | { 290, -1 }, |
8843 | { -1, -1 }, |
8844 | { 87, -1 }, |
8845 | { -1, -1 }, |
8846 | { 2, -1 }, |
8847 | { -1, -1 }, |
8848 | { 178, -1 }, |
8849 | { 199, -1 }, |
8850 | { 268, -1 }, |
8851 | { -1, -1 }, |
8852 | { -1, -1 }, |
8853 | { 241, -1 }, |
8854 | { -1, -1 }, |
8855 | { 232, 560 }, |
8856 | { 185, -1 }, |
8857 | { -1, -1 }, |
8858 | { -1, -1 }, |
8859 | { -1, -1 }, |
8860 | { 72, -1 }, |
8861 | { -1, -1 }, |
8862 | { -1, -1 }, |
8863 | { 236, -1 }, |
8864 | { -1, -1 }, |
8865 | { 225, -1 }, |
8866 | { 255, -1 }, |
8867 | { -1, -1 }, |
8868 | { -1, -1 }, |
8869 | { -1, -1 }, |
8870 | { 234, 566 }, |
8871 | { -1, -1 }, |
8872 | { -1, -1 }, |
8873 | { 138, -1 }, |
8874 | { -1, -1 }, |
8875 | { -1, -1 }, |
8876 | { -1, -1 }, |
8877 | { 37, -1 }, |
8878 | { -1, -1 }, |
8879 | { 162, 553 }, |
8880 | { -1, -1 }, |
8881 | { -1, -1 }, |
8882 | { 148, -1 }, |
8883 | { 168, -1 }, |
8884 | { 28, 531 }, |
8885 | { 5, 514 }, |
8886 | { -1, -1 }, |
8887 | { 68, -1 }, |
8888 | { -1, -1 }, |
8889 | { 84, -1 }, |
8890 | { 254, -1 }, |
8891 | { 149, -1 }, |
8892 | { -1, -1 }, |
8893 | { -1, -1 }, |
8894 | { -1, -1 }, |
8895 | { 179, -1 }, |
8896 | { -1, -1 }, |
8897 | { 159, 541 }, |
8898 | { -1, -1 }, |
8899 | { 143, 528 }, |
8900 | { 277, -1 }, |
8901 | { 200, -1 }, |
8902 | { -1, -1 }, |
8903 | { -1, -1 }, |
8904 | { -1, -1 }, |
8905 | { -1, -1 }, |
8906 | { 265, -1 }, |
8907 | { 248, -1 }, |
8908 | { 52, 563 }, |
8909 | { 133, 539 }, |
8910 | { 97, -1 }, |
8911 | { 260, -1 }, |
8912 | { 136, -1 }, |
8913 | { -1, -1 }, |
8914 | { -1, -1 }, |
8915 | { -1, -1 }, |
8916 | { 128, -1 }, |
8917 | { 217, -1 }, |
8918 | { 118, -1 }, |
8919 | { 78, -1 }, |
8920 | { -1, -1 }, |
8921 | { -1, -1 }, |
8922 | { 296, -1 }, |
8923 | { -1, -1 }, |
8924 | { -1, -1 }, |
8925 | { 43, -1 }, |
8926 | { -1, -1 }, |
8927 | { -1, -1 }, |
8928 | { -1, -1 }, |
8929 | { -1, -1 }, |
8930 | { -1, -1 }, |
8931 | { 207, -1 }, |
8932 | { -1, -1 }, |
8933 | { 86, 550 }, |
8934 | { 273, -1 }, |
8935 | { -1, -1 }, |
8936 | { 19, -1 }, |
8937 | { 250, -1 }, |
8938 | { 62, -1 }, |
8939 | { -1, -1 }, |
8940 | { 63, -1 }, |
8941 | { 39, -1 }, |
8942 | { 104, -1 }, |
8943 | { -1, -1 }, |
8944 | { -1, -1 }, |
8945 | { 124, -1 }, |
8946 | { 111, 576 }, |
8947 | { -1, -1 }, |
8948 | { -1, -1 }, |
8949 | { -1, -1 }, |
8950 | { 243, -1 }, |
8951 | { 123, 536 }, |
8952 | { -1, -1 }, |
8953 | { 231, -1 }, |
8954 | { 74, -1 }, |
8955 | { -1, -1 }, |
8956 | { -1, -1 }, |
8957 | { -1, -1 }, |
8958 | { -1, -1 }, |
8959 | { -1, -1 }, |
8960 | { -1, -1 }, |
8961 | { 216, -1 }, |
8962 | { -1, -1 }, |
8963 | { 9, 527 }, |
8964 | { 125, 525 }, |
8965 | { -1, -1 }, |
8966 | { -1, -1 }, |
8967 | { -1, -1 }, |
8968 | { -1, -1 }, |
8969 | { -1, -1 }, |
8970 | { 161, -1 }, |
8971 | { -1, -1 }, |
8972 | { -1, -1 }, |
8973 | { 44, 547 }, |
8974 | { 41, -1 }, |
8975 | { -1, -1 }, |
8976 | { -1, -1 }, |
8977 | { -1, -1 }, |
8978 | { -1, -1 }, |
8979 | { 91, -1 }, |
8980 | { 108, -1 }, |
8981 | { -1, -1 }, |
8982 | { -1, -1 }, |
8983 | { 253, -1 }, |
8984 | { -1, -1 }, |
8985 | { 160, -1 }, |
8986 | { 251, -1 }, |
8987 | { 88, 520 }, |
8988 | { -1, -1 }, |
8989 | { 266, -1 }, |
8990 | { 69, -1 }, |
8991 | { 256, -1 }, |
8992 | { 67, -1 }, |
8993 | { 55, -1 }, |
8994 | { -1, -1 }, |
8995 | { 1, 554 }, |
8996 | { -1, -1 }, |
8997 | { 170, -1 }, |
8998 | { 106, 557 }, |
8999 | { 280, -1 }, |
9000 | { 294, -1 }, |
9001 | { 50, -1 }, |
9002 | { 34, -1 }, |
9003 | { -1, -1 }, |
9004 | { -1, -1 }, |
9005 | { 25, 512 }, |
9006 | { 42, -1 }, |
9007 | { 219, -1 }, |
9008 | { -1, -1 }, |
9009 | { -1, -1 }, |
9010 | { -1, -1 }, |
9011 | { 218, -1 }, |
9012 | { -1, -1 }, |
9013 | { -1, -1 }, |
9014 | { 89, -1 }, |
9015 | { 31, -1 }, |
9016 | { -1, -1 }, |
9017 | { 117, 526 }, |
9018 | { -1, -1 }, |
9019 | { -1, -1 }, |
9020 | { -1, -1 }, |
9021 | { 70, 545 }, |
9022 | { -1, -1 }, |
9023 | { 48, -1 }, |
9024 | { 96, -1 }, |
9025 | { -1, -1 }, |
9026 | { -1, -1 }, |
9027 | { -1, -1 }, |
9028 | { -1, -1 }, |
9029 | { -1, -1 }, |
9030 | { 203, -1 }, |
9031 | { -1, -1 }, |
9032 | { 187, 548 }, |
9033 | { -1, -1 }, |
9034 | { -1, -1 }, |
9035 | { -1, -1 }, |
9036 | { -1, -1 }, |
9037 | { 139, -1 }, |
9038 | { -1, -1 }, |
9039 | { -1, -1 }, |
9040 | { -1, -1 }, |
9041 | { 158, -1 }, |
9042 | { 4, -1 }, |
9043 | { 190, -1 }, |
9044 | { -1, -1 }, |
9045 | { 220, -1 }, |
9046 | { 172, -1 }, |
9047 | { 120, 552 }, |
9048 | { -1, -1 }, |
9049 | { -1, -1 }, |
9050 | { -1, -1 }, |
9051 | { -1, -1 }, |
9052 | { 54, 523 }, |
9053 | { 131, 580 }, |
9054 | { -1, -1 }, |
9055 | { 166, -1 }, |
9056 | { -1, -1 }, |
9057 | { -1, -1 }, |
9058 | { -1, -1 }, |
9059 | { -1, -1 }, |
9060 | { -1, -1 }, |
9061 | { -1, -1 }, |
9062 | { 107, 533 }, |
9063 | { 257, -1 }, |
9064 | { -1, -1 }, |
9065 | { 261, -1 }, |
9066 | { 66, -1 }, |
9067 | { -1, -1 }, |
9068 | { -1, -1 }, |
9069 | { -1, -1 }, |
9070 | { 188, 544 }, |
9071 | { 14, -1 }, |
9072 | { -1, -1 }, |
9073 | { -1, -1 }, |
9074 | { -1, -1 }, |
9075 | { -1, -1 }, |
9076 | { -1, -1 }, |
9077 | { 226, 562 }, |
9078 | { 194, 549 }, |
9079 | { -1, -1 }, |
9080 | { 10, -1 }, |
9081 | { -1, -1 }, |
9082 | { -1, -1 }, |
9083 | { -1, -1 }, |
9084 | { -1, -1 }, |
9085 | { 53, -1 }, |
9086 | { 239, -1 }, |
9087 | { 11, -1 }, |
9088 | { 60, -1 }, |
9089 | { -1, -1 }, |
9090 | { 274, -1 }, |
9091 | { -1, -1 }, |
9092 | { -1, -1 }, |
9093 | { -1, -1 }, |
9094 | { -1, -1 }, |
9095 | { 208, -1 }, |
9096 | { 49, -1 }, |
9097 | { -1, -1 }, |
9098 | { -1, -1 }, |
9099 | { -1, -1 }, |
9100 | { -1, -1 }, |
9101 | { 101, 537 }, |
9102 | { -1, -1 }, |
9103 | { -1, -1 }, |
9104 | { -1, -1 }, |
9105 | { -1, -1 }, |
9106 | { 35, -1 }, |
9107 | { -1, -1 }, |
9108 | { 212, -1 }, |
9109 | { -1, -1 }, |
9110 | { 283, -1 }, |
9111 | { 210, -1 }, |
9112 | { 228, -1 }, |
9113 | { -1, -1 }, |
9114 | { 276, -1 }, |
9115 | { 95, 538 }, |
9116 | { 0, -1 }, |
9117 | { 79, 578 }, |
9118 | { -1, -1 }, |
9119 | { -1, -1 }, |
9120 | { -1, -1 }, |
9121 | { -1, -1 }, |
9122 | { 113, 567 }, |
9123 | { -1, -1 }, |
9124 | { -1, -1 }, |
9125 | { 58, 518 }, |
9126 | { 24, -1 }, |
9127 | { -1, -1 }, |
9128 | { -1, -1 }, |
9129 | { -1, -1 }, |
9130 | { -1, -1 }, |
9131 | { 114, 532 }, |
9132 | { -1, -1 }, |
9133 | { -1, -1 }, |
9134 | { 46, -1 }, |
9135 | { 259, -1 }, |
9136 | { -1, -1 }, |
9137 | { -1, -1 }, |
9138 | { 116, -1 }, |
9139 | { -1, -1 }, |
9140 | { 206, -1 }, |
9141 | { 18, -1 }, |
9142 | { -1, -1 }, |
9143 | { -1, -1 }, |
9144 | { 77, -1 }, |
9145 | { 13, -1 }, |
9146 | { 295, -1 }, |
9147 | { 121, 572 }, |
9148 | { 135, -1 }, |
9149 | { 30, -1 }, |
9150 | { -1, -1 }, |
9151 | { -1, -1 }, |
9152 | { 33, -1 }, |
9153 | { -1, -1 }, |
9154 | { -1, -1 }, |
9155 | { -1, -1 }, |
9156 | { -1, -1 }, |
9157 | { 249, -1 }, |
9158 | { 152, -1 }, |
9159 | { -1, -1 }, |
9160 | { 182, -1 }, |
9161 | { 129, -1 }, |
9162 | { 16, 524 }, |
9163 | { -1, -1 }, |
9164 | { -1, -1 }, |
9165 | { 122, -1 }, |
9166 | { 155, -1 }, |
9167 | { -1, -1 }, |
9168 | { 82, -1 }, |
9169 | { -1, -1 }, |
9170 | { -1, -1 }, |
9171 | { 65, 573 }, |
9172 | { -1, -1 }, |
9173 | { 17, -1 }, |
9174 | { 235, -1 }, |
9175 | { -1, -1 }, |
9176 | { 186, -1 }, |
9177 | { -1, -1 }, |
9178 | { -1, -1 }, |
9179 | { -1, -1 }, |
9180 | { -1, -1 }, |
9181 | { -1, -1 }, |
9182 | { -1, -1 }, |
9183 | { 163, -1 }, |
9184 | { -1, -1 }, |
9185 | { -1, -1 }, |
9186 | { -1, -1 }, |
9187 | { 275, -1 }, |
9188 | { 115, -1 }, |
9189 | { -1, -1 }, |
9190 | { -1, -1 }, |
9191 | { 76, 519 }, |
9192 | { -1, -1 }, |
9193 | { -1, -1 }, |
9194 | { 40, -1 }, |
9195 | { -1, -1 }, |
9196 | { -1, -1 }, |
9197 | { 45, 515 }, |
9198 | { -1, -1 }, |
9199 | { 281, -1 }, |
9200 | { -1, -1 }, |
9201 | { 29, 534 }, |
9202 | { 102, -1 }, |
9203 | { -1, -1 }, |
9204 | { -1, -1 }, |
9205 | { 270, -1 }, |
9206 | { -1, -1 }, |
9207 | { -1, -1 }, |
9208 | { -1, -1 }, |
9209 | { 15, -1 }, |
9210 | { 56, 530 }, |
9211 | { -1, -1 }, |
9212 | { 147, 556 }, |
9213 | { -1, -1 }, |
9214 | { -1, -1 }, |
9215 | { 127, -1 }, |
9216 | { -1, -1 }, |
9217 | { -1, -1 }, |
9218 | { -1, -1 }, |
9219 | { 173, -1 }, |
9220 | { -1, -1 }, |
9221 | { -1, -1 }, |
9222 | { -1, -1 }, |
9223 | { 90, -1 }, |
9224 | { -1, -1 }, |
9225 | { -1, -1 }, |
9226 | { 287, -1 }, |
9227 | { -1, -1 }, |
9228 | { -1, -1 }, |
9229 | { 189, -1 }, |
9230 | { 81, -1 }, |
9231 | { -1, -1 }, |
9232 | { 94, 559 }, |
9233 | { 80, -1 }, |
9234 | { 267, -1 }, |
9235 | { -1, -1 }, |
9236 | { -1, -1 }, |
9237 | { -1, -1 }, |
9238 | { -1, -1 }, |
9239 | { -1, -1 }, |
9240 | { -1, -1 }, |
9241 | { 140, -1 }, |
9242 | { 32, 571 }, |
9243 | { -1, -1 }, |
9244 | { -1, -1 }, |
9245 | { 6, 513 }, |
9246 | { 223, 558 }, |
9247 | { -1, -1 }, |
9248 | { 22, -1 }, |
9249 | { -1, -1 }, |
9250 | { -1, -1 }, |
9251 | { 12, -1 }, |
9252 | { 165, 565 }, |
9253 | { -1, -1 }, |
9254 | { -1, -1 }, |
9255 | { -1, -1 }, |
9256 | { -1, -1 }, |
9257 | { 71, -1 }, |
9258 | { -1, -1 }, |
9259 | { -1, -1 }, |
9260 | { 57, 564 }, |
9261 | { 20, -1 }, |
9262 | { 64, -1 }, |
9263 | { 246, -1 }, |
9264 | { 112, -1 }, |
9265 | { -1, -1 }, |
9266 | { -1, -1 }, |
9267 | { 3, -1 }, |
9268 | { -1, -1 }, |
9269 | { -1, -1 }, |
9270 | { -1, -1 }, |
9271 | { -1, -1 }, |
9272 | { -1, -1 }, |
9273 | { 137, -1 }, |
9274 | { 85, 542 }, |
9275 | { -1, -1 }, |
9276 | { 98, -1 }, |
9277 | { 119, -1 }, |
9278 | { 171, -1 }, |
9279 | { -1, -1 }, |
9280 | { -1, -1 }, |
9281 | { -1, -1 }, |
9282 | { -1, -1 }, |
9283 | { -1, -1 }, |
9284 | { -1, -1 }, |
9285 | { 297, -1 }, |
9286 | { 153, -1 }, |
9287 | { -1, -1 }, |
9288 | { 26, -1 }, |
9289 | { 47, -1 }, |
9290 | { 59, -1 }, |
9291 | { 61, 551 }, |
9292 | { 73, 575 }, |
9293 | { 83, -1 }, |
9294 | { 92, -1 }, |
9295 | { 93, -1 }, |
9296 | { 99, 521 }, |
9297 | { 100, -1 }, |
9298 | { 103, 529 }, |
9299 | { 109, -1 }, |
9300 | { 110, -1 }, |
9301 | { 126, 540 }, |
9302 | { 130, -1 }, |
9303 | { 134, -1 }, |
9304 | { 144, -1 }, |
9305 | { 145, -1 }, |
9306 | { 146, 543 }, |
9307 | { 150, -1 }, |
9308 | { 151, -1 }, |
9309 | { 154, 561 }, |
9310 | { 156, -1 }, |
9311 | { 174, -1 }, |
9312 | { 176, -1 }, |
9313 | { 177, -1 }, |
9314 | { 180, 546 }, |
9315 | { 181, -1 }, |
9316 | { 183, -1 }, |
9317 | { 184, 581 }, |
9318 | { 191, -1 }, |
9319 | { 193, -1 }, |
9320 | { 196, -1 }, |
9321 | { 197, -1 }, |
9322 | { 198, -1 }, |
9323 | { 201, -1 }, |
9324 | { 202, 569 }, |
9325 | { 205, -1 }, |
9326 | { 209, -1 }, |
9327 | { 211, -1 }, |
9328 | { 213, -1 }, |
9329 | { 215, -1 }, |
9330 | { 221, -1 }, |
9331 | { 222, 568 }, |
9332 | { 224, -1 }, |
9333 | { 227, 577 }, |
9334 | { 229, -1 }, |
9335 | { 230, -1 }, |
9336 | { 233, -1 }, |
9337 | { 237, -1 }, |
9338 | { 238, -1 }, |
9339 | { 240, -1 }, |
9340 | { 242, -1 }, |
9341 | { 244, -1 }, |
9342 | { 245, -1 }, |
9343 | { 252, -1 }, |
9344 | { 258, -1 }, |
9345 | { 263, 570 }, |
9346 | { 264, -1 }, |
9347 | { 269, -1 }, |
9348 | { 272, -1 }, |
9349 | { 278, 574 }, |
9350 | { 279, -1 }, |
9351 | { 282, -1 }, |
9352 | { 284, -1 }, |
9353 | { 286, -1 }, |
9354 | { 288, -1 }, |
9355 | { 291, -1 }, |
9356 | { 292, -1 }, |
9357 | { 293, -1 }, |
9358 | }; |
9359 | |
9360 | static const struct HashValue scriptExtensionTableValue[298] = { |
9361 | { "Tangut" , 228 }, |
9362 | { "Tang" , 228 }, |
9363 | { "Thaana" , 252 }, |
9364 | { "Thaa" , 252 }, |
9365 | { "Adlam" , 293 }, |
9366 | { "Adlm" , 293 }, |
9367 | { "Telugu" , 292 }, |
9368 | { "Telu" , 292 }, |
9369 | { "Cyrillic" , 260 }, |
9370 | { "Cyrl" , 260 }, |
9371 | { "Zanabazar_Square" , 232 }, |
9372 | { "Zanb" , 232 }, |
9373 | { "Hangul" , 288 }, |
9374 | { "Hang" , 288 }, |
9375 | { "Old_South_Arabian" , 179 }, |
9376 | { "Sarb" , 179 }, |
9377 | { "Ethiopic" , 117 }, |
9378 | { "Ethi" , 117 }, |
9379 | { "Inherited" , 241 }, |
9380 | { "Zinh" , 241 }, |
9381 | { "Qaai" , 241 }, |
9382 | { "Meroitic_Cursive" , 188 }, |
9383 | { "Merc" , 188 }, |
9384 | { "Bhaiksuki" , 224 }, |
9385 | { "Bhks" , 224 }, |
9386 | { "Ahom" , 217 }, |
9387 | { "Ahom" , 217 }, |
9388 | { "Han" , 246 }, |
9389 | { "Hani" , 246 }, |
9390 | { "Old_North_Arabian" , 207 }, |
9391 | { "Narb" , 207 }, |
9392 | { "Armenian" , 253 }, |
9393 | { "Armn" , 253 }, |
9394 | { "Tamil" , 265 }, |
9395 | { "Taml" , 265 }, |
9396 | { "Bopomofo" , 255 }, |
9397 | { "Bopo" , 255 }, |
9398 | { "Bassa_Vah" , 195 }, |
9399 | { "Bass" , 195 }, |
9400 | { "Sundanese" , 158 }, |
9401 | { "Sund" , 158 }, |
9402 | { "Old_Permic" , 262 }, |
9403 | { "Perm" , 262 }, |
9404 | { "Old_Sogdian" , 239 }, |
9405 | { "Sogo" , 239 }, |
9406 | { "Tagalog" , 284 }, |
9407 | { "Tglg" , 284 }, |
9408 | { "Malayalam" , 290 }, |
9409 | { "Mlym" , 290 }, |
9410 | { "Lydian" , 167 }, |
9411 | { "Lydi" , 167 }, |
9412 | { "Carian" , 166 }, |
9413 | { "Cari" , 166 }, |
9414 | { "Hiragana" , 270 }, |
9415 | { "Hira" , 270 }, |
9416 | { "Multani" , 269 }, |
9417 | { "Mult" , 269 }, |
9418 | { "Meetei_Mayek" , 177 }, |
9419 | { "Mtei" , 177 }, |
9420 | { "Hanifi_Rohingya" , 250 }, |
9421 | { "Rohg" , 250 }, |
9422 | { "Vai" , 161 }, |
9423 | { "Vaii" , 161 }, |
9424 | { "Pahawh_Hmong" , 199 }, |
9425 | { "Hmng" , 199 }, |
9426 | { "Tagbanwa" , 283 }, |
9427 | { "Tagb" , 283 }, |
9428 | { "Tai_Le" , 277 }, |
9429 | { "Tale" , 277 }, |
9430 | { "Kayah_Li" , 280 }, |
9431 | { "Kali" , 280 }, |
9432 | { "Buginese" , 256 }, |
9433 | { "Bugi" , 256 }, |
9434 | { "Kharoshthi" , 152 }, |
9435 | { "Khar" , 152 }, |
9436 | { "Tai_Tham" , 169 }, |
9437 | { "Lana" , 169 }, |
9438 | { "Old_Italic" , 129 }, |
9439 | { "Ital" , 129 }, |
9440 | { "Old_Persian" , 151 }, |
9441 | { "Xpeo" , 151 }, |
9442 | { "Warang_Citi" , 216 }, |
9443 | { "Wara" , 216 }, |
9444 | { "Latin" , 247 }, |
9445 | { "Latn" , 247 }, |
9446 | { "Saurashtra" , 162 }, |
9447 | { "Saur" , 162 }, |
9448 | { "Shavian" , 141 }, |
9449 | { "Shaw" , 141 }, |
9450 | { "Georgian" , 254 }, |
9451 | { "Geor" , 254 }, |
9452 | { "Grantha" , 263 }, |
9453 | { "Gran" , 263 }, |
9454 | { "Duployan" , 244 }, |
9455 | { "Dupl" , 244 }, |
9456 | { "Braille" , 144 }, |
9457 | { "Brai" , 144 }, |
9458 | { "Devanagari" , 243 }, |
9459 | { "Deva" , 243 }, |
9460 | { "Thai" , 111 }, |
9461 | { "Thai" , 111 }, |
9462 | { "Tibetan" , 113 }, |
9463 | { "Tibt" , 113 }, |
9464 | { "Tifinagh" , 149 }, |
9465 | { "Tfng" , 149 }, |
9466 | { "Ugaritic" , 140 }, |
9467 | { "Ugar" , 140 }, |
9468 | { "Batak" , 184 }, |
9469 | { "Batk" , 184 }, |
9470 | { "Anatolian_Hieroglyphs" , 218 }, |
9471 | { "Hluw" , 218 }, |
9472 | { "Greek" , 245 }, |
9473 | { "Grek" , 245 }, |
9474 | { "Lycian" , 165 }, |
9475 | { "Lyci" , 165 }, |
9476 | { "Mende_Kikakui" , 204 }, |
9477 | { "Mend" , 204 }, |
9478 | { "Tai_Viet" , 170 }, |
9479 | { "Tavt" , 170 }, |
9480 | { "Kaithi" , 286 }, |
9481 | { "Kthi" , 286 }, |
9482 | { "Ogham" , 120 }, |
9483 | { "Ogam" , 120 }, |
9484 | { "Inscriptional_Parthian" , 180 }, |
9485 | { "Prti" , 180 }, |
9486 | { "Cham" , 168 }, |
9487 | { "Cham" , 168 }, |
9488 | { "Syriac" , 251 }, |
9489 | { "Syrc" , 251 }, |
9490 | { "Runic" , 121 }, |
9491 | { "Runr" , 121 }, |
9492 | { "Gothic" , 130 }, |
9493 | { "Goth" , 130 }, |
9494 | { "Mahajani" , 287 }, |
9495 | { "Mahj" , 287 }, |
9496 | { "Katakana" , 271 }, |
9497 | { "Kana" , 271 }, |
9498 | { "Osmanya" , 142 }, |
9499 | { "Osma" , 142 }, |
9500 | { "New_Tai_Lue" , 147 }, |
9501 | { "Talu" , 147 }, |
9502 | { "Ol_Chiki" , 160 }, |
9503 | { "Olck" , 160 }, |
9504 | { "Newa" , 226 }, |
9505 | { "Newa" , 226 }, |
9506 | { "Limbu" , 304 }, |
9507 | { "Limb" , 304 }, |
9508 | { "Elbasan" , 197 }, |
9509 | { "Elba" , 197 }, |
9510 | { "Cherokee" , 118 }, |
9511 | { "Cher" , 118 }, |
9512 | { "Miao" , 190 }, |
9513 | { "Plrd" , 190 }, |
9514 | { "Oriya" , 291 }, |
9515 | { "Orya" , 291 }, |
9516 | { "Medefaidrin" , 236 }, |
9517 | { "Medf" , 236 }, |
9518 | { "Sharada" , 264 }, |
9519 | { "Shrd" , 264 }, |
9520 | { "Gujarati" , 266 }, |
9521 | { "Gujr" , 266 }, |
9522 | { "Nushu" , 230 }, |
9523 | { "Nshu" , 230 }, |
9524 | { "Chakma" , 274 }, |
9525 | { "Cakm" , 274 }, |
9526 | { "Gunjala_Gondi" , 302 }, |
9527 | { "Gong" , 302 }, |
9528 | { "Inscriptional_Pahlavi" , 181 }, |
9529 | { "Phli" , 181 }, |
9530 | { "Manichaean" , 295 }, |
9531 | { "Mani" , 295 }, |
9532 | { "Khmer" , 122 }, |
9533 | { "Khmr" , 122 }, |
9534 | { "Cuneiform" , 154 }, |
9535 | { "Xsux" , 154 }, |
9536 | { "Khudawadi" , 299 }, |
9537 | { "Sind" , 299 }, |
9538 | { "Mandaic" , 294 }, |
9539 | { "Mand" , 294 }, |
9540 | { "Hatran" , 219 }, |
9541 | { "Hatr" , 219 }, |
9542 | { "Syloti_Nagri" , 275 }, |
9543 | { "Sylo" , 275 }, |
9544 | { "Nko" , 157 }, |
9545 | { "Nkoo" , 157 }, |
9546 | { "Canadian_Aboriginal" , 119 }, |
9547 | { "Cans" , 119 }, |
9548 | { "Meroitic_Hieroglyphs" , 189 }, |
9549 | { "Mero" , 189 }, |
9550 | { "Phoenician" , 155 }, |
9551 | { "Phnx" , 155 }, |
9552 | { "Nabataean" , 208 }, |
9553 | { "Nbat" , 208 }, |
9554 | { "Bengali" , 242 }, |
9555 | { "Beng" , 242 }, |
9556 | { "Glagolitic" , 261 }, |
9557 | { "Glag" , 261 }, |
9558 | { "Imperial_Aramaic" , 178 }, |
9559 | { "Armi" , 178 }, |
9560 | { "Sora_Sompeng" , 192 }, |
9561 | { "Sora" , 192 }, |
9562 | { "Gurmukhi" , 268 }, |
9563 | { "Guru" , 268 }, |
9564 | { "Javanese" , 257 }, |
9565 | { "Java" , 257 }, |
9566 | { "Osage" , 227 }, |
9567 | { "Osge" , 227 }, |
9568 | { "Phags_Pa" , 273 }, |
9569 | { "Phag" , 273 }, |
9570 | { "Cypriot" , 258 }, |
9571 | { "Cprt" , 258 }, |
9572 | { "Kannada" , 279 }, |
9573 | { "Knda" , 279 }, |
9574 | { "Khojki" , 267 }, |
9575 | { "Khoj" , 267 }, |
9576 | { "Mongolian" , 272 }, |
9577 | { "Mong" , 272 }, |
9578 | { "Sinhala" , 303 }, |
9579 | { "Sinh" , 303 }, |
9580 | { "Brahmi" , 185 }, |
9581 | { "Brah" , 185 }, |
9582 | { "Pau_Cin_Hau" , 210 }, |
9583 | { "Pauc" , 210 }, |
9584 | { "Deseret" , 131 }, |
9585 | { "Dsrt" , 131 }, |
9586 | { "Rejang" , 164 }, |
9587 | { "Rjng" , 164 }, |
9588 | { "SignWriting" , 222 }, |
9589 | { "Sgnw" , 222 }, |
9590 | { "Yi" , 289 }, |
9591 | { "Yiii" , 289 }, |
9592 | { "Balinese" , 153 }, |
9593 | { "Bali" , 153 }, |
9594 | { "Lao" , 112 }, |
9595 | { "Laoo" , 112 }, |
9596 | { "Hanunoo" , 282 }, |
9597 | { "Hano" , 282 }, |
9598 | { "Masaram_Gondi" , 229 }, |
9599 | { "Gonm" , 229 }, |
9600 | { "Linear_B" , 259 }, |
9601 | { "Linb" , 259 }, |
9602 | { "Linear_A" , 278 }, |
9603 | { "Lina" , 278 }, |
9604 | { "Dogra" , 285 }, |
9605 | { "Dogr" , 285 }, |
9606 | { "Old_Turkic" , 182 }, |
9607 | { "Orkh" , 182 }, |
9608 | { "Lepcha" , 159 }, |
9609 | { "Lepc" , 159 }, |
9610 | { "Marchen" , 225 }, |
9611 | { "Marc" , 225 }, |
9612 | { "Egyptian_Hieroglyphs" , 172 }, |
9613 | { "Egyp" , 172 }, |
9614 | { "Sogdian" , 297 }, |
9615 | { "Sogd" , 297 }, |
9616 | { "Caucasian_Albanian" , 194 }, |
9617 | { "Aghb" , 194 }, |
9618 | { "Makasar" , 235 }, |
9619 | { "Maka" , 235 }, |
9620 | { "Old_Hungarian" , 221 }, |
9621 | { "Hung" , 221 }, |
9622 | { "Samaritan" , 173 }, |
9623 | { "Samr" , 173 }, |
9624 | { "Lisu" , 174 }, |
9625 | { "Lisu" , 174 }, |
9626 | { "Buhid" , 281 }, |
9627 | { "Buhd" , 281 }, |
9628 | { "Palmyrene" , 209 }, |
9629 | { "Palm" , 209 }, |
9630 | { "Tirhuta" , 301 }, |
9631 | { "Tirh" , 301 }, |
9632 | { "Mro" , 206 }, |
9633 | { "Mroo" , 206 }, |
9634 | { "Common" , 240 }, |
9635 | { "Zyyy" , 240 }, |
9636 | { "Coptic" , 249 }, |
9637 | { "Copt" , 249 }, |
9638 | { "Qaac" , 249 }, |
9639 | { "Modi" , 298 }, |
9640 | { "Modi" , 298 }, |
9641 | { "Arabic" , 248 }, |
9642 | { "Arab" , 248 }, |
9643 | { "Bamum" , 175 }, |
9644 | { "Bamu" , 175 }, |
9645 | { "Myanmar" , 276 }, |
9646 | { "Mymr" , 276 }, |
9647 | { "Siddham" , 213 }, |
9648 | { "Sidd" , 213 }, |
9649 | { "Soyombo" , 231 }, |
9650 | { "Soyo" , 231 }, |
9651 | { "Avestan" , 171 }, |
9652 | { "Avst" , 171 }, |
9653 | { "Hebrew" , 97 }, |
9654 | { "Hebr" , 97 }, |
9655 | { "Psalter_Pahlavi" , 296 }, |
9656 | { "Phlp" , 296 }, |
9657 | { "Takri" , 300 }, |
9658 | { "Takr" , 300 }, |
9659 | }; |
9660 | |
9661 | static const struct HashTable scriptExtensionHashTable = |
9662 | { 298, 511, scriptExtensionTableValue, scriptExtensionTableIndex }; |
9663 | |
9664 | |
9665 | |