1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 const static std::array<CharacterProperties, 611> sCharacterProperties = {{
18     {0x0030, 0x0039, CharacterProperties::kXidContinue},
19     {0x0041, 0x005a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
20     {0x005f, 0x005f, CharacterProperties::kXidContinue},
21     {0x0061, 0x007a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
22     {0x00aa, 0x00aa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
23     {0x00b5, 0x00b5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
24     {0x00b7, 0x00b7, CharacterProperties::kXidContinue},
25     {0x00ba, 0x00ba, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
26     {0x00c0, 0x00d6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
27     {0x00d8, 0x00f6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
28     {0x00f8, 0x02c1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
29     {0x02c6, 0x02d1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
30     {0x02e0, 0x02e4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
31     {0x02ec, 0x02ec, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
32     {0x02ee, 0x02ee, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
33     {0x0300, 0x036f, CharacterProperties::kXidContinue},
34     {0x0370, 0x0374, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
35     {0x0376, 0x0377, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
36     {0x037b, 0x037d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
37     {0x037f, 0x037f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
38     {0x0386, 0x0386, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
39     {0x0387, 0x0387, CharacterProperties::kXidContinue},
40     {0x0388, 0x038a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
41     {0x038c, 0x038c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
42     {0x038e, 0x03a1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
43     {0x03a3, 0x03f5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
44     {0x03f7, 0x0481, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
45     {0x0483, 0x0487, CharacterProperties::kXidContinue},
46     {0x048a, 0x052f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
47     {0x0531, 0x0556, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
48     {0x0559, 0x0559, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
49     {0x0561, 0x0587, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
50     {0x0591, 0x05bd, CharacterProperties::kXidContinue},
51     {0x05bf, 0x05bf, CharacterProperties::kXidContinue},
52     {0x05c1, 0x05c2, CharacterProperties::kXidContinue},
53     {0x05c4, 0x05c5, CharacterProperties::kXidContinue},
54     {0x05c7, 0x05c7, CharacterProperties::kXidContinue},
55     {0x05d0, 0x05ea, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
56     {0x05f0, 0x05f2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
57     {0x0610, 0x061a, CharacterProperties::kXidContinue},
58     {0x0620, 0x064a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
59     {0x064b, 0x0669, CharacterProperties::kXidContinue},
60     {0x066e, 0x066f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
61     {0x0670, 0x0670, CharacterProperties::kXidContinue},
62     {0x0671, 0x06d3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
63     {0x06d5, 0x06d5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
64     {0x06d6, 0x06dc, CharacterProperties::kXidContinue},
65     {0x06df, 0x06e4, CharacterProperties::kXidContinue},
66     {0x06e5, 0x06e6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
67     {0x06e7, 0x06e8, CharacterProperties::kXidContinue},
68     {0x06ea, 0x06ed, CharacterProperties::kXidContinue},
69     {0x06ee, 0x06ef, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
70     {0x06f0, 0x06f9, CharacterProperties::kXidContinue},
71     {0x06fa, 0x06fc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
72     {0x06ff, 0x06ff, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
73     {0x0710, 0x0710, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
74     {0x0711, 0x0711, CharacterProperties::kXidContinue},
75     {0x0712, 0x072f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
76     {0x0730, 0x074a, CharacterProperties::kXidContinue},
77     {0x074d, 0x07a5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
78     {0x07a6, 0x07b0, CharacterProperties::kXidContinue},
79     {0x07b1, 0x07b1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
80     {0x07c0, 0x07c9, CharacterProperties::kXidContinue},
81     {0x07ca, 0x07ea, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
82     {0x07eb, 0x07f3, CharacterProperties::kXidContinue},
83     {0x07f4, 0x07f5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
84     {0x07fa, 0x07fa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
85     {0x0800, 0x0815, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
86     {0x0816, 0x0819, CharacterProperties::kXidContinue},
87     {0x081a, 0x081a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
88     {0x081b, 0x0823, CharacterProperties::kXidContinue},
89     {0x0824, 0x0824, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
90     {0x0825, 0x0827, CharacterProperties::kXidContinue},
91     {0x0828, 0x0828, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
92     {0x0829, 0x082d, CharacterProperties::kXidContinue},
93     {0x0840, 0x0858, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
94     {0x0859, 0x085b, CharacterProperties::kXidContinue},
95     {0x08a0, 0x08b4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
96     {0x08b6, 0x08bd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
97     {0x08d4, 0x08e1, CharacterProperties::kXidContinue},
98     {0x08e3, 0x0903, CharacterProperties::kXidContinue},
99     {0x0904, 0x0939, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
100     {0x093a, 0x093c, CharacterProperties::kXidContinue},
101     {0x093d, 0x093d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
102     {0x093e, 0x094f, CharacterProperties::kXidContinue},
103     {0x0950, 0x0950, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
104     {0x0951, 0x0957, CharacterProperties::kXidContinue},
105     {0x0958, 0x0961, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
106     {0x0962, 0x0963, CharacterProperties::kXidContinue},
107     {0x0966, 0x096f, CharacterProperties::kXidContinue},
108     {0x0971, 0x0980, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
109     {0x0981, 0x0983, CharacterProperties::kXidContinue},
110     {0x0985, 0x098c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
111     {0x098f, 0x0990, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
112     {0x0993, 0x09a8, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
113     {0x09aa, 0x09b0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
114     {0x09b2, 0x09b2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
115     {0x09b6, 0x09b9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
116     {0x09bc, 0x09bc, CharacterProperties::kXidContinue},
117     {0x09bd, 0x09bd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
118     {0x09be, 0x09c4, CharacterProperties::kXidContinue},
119     {0x09c7, 0x09c8, CharacterProperties::kXidContinue},
120     {0x09cb, 0x09cd, CharacterProperties::kXidContinue},
121     {0x09ce, 0x09ce, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
122     {0x09d7, 0x09d7, CharacterProperties::kXidContinue},
123     {0x09dc, 0x09dd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
124     {0x09df, 0x09e1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
125     {0x09e2, 0x09e3, CharacterProperties::kXidContinue},
126     {0x09e6, 0x09ef, CharacterProperties::kXidContinue},
127     {0x09f0, 0x09f1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
128     {0x0a01, 0x0a03, CharacterProperties::kXidContinue},
129     {0x0a05, 0x0a0a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
130     {0x0a0f, 0x0a10, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
131     {0x0a13, 0x0a28, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
132     {0x0a2a, 0x0a30, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
133     {0x0a32, 0x0a33, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
134     {0x0a35, 0x0a36, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
135     {0x0a38, 0x0a39, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
136     {0x0a3c, 0x0a3c, CharacterProperties::kXidContinue},
137     {0x0a3e, 0x0a42, CharacterProperties::kXidContinue},
138     {0x0a47, 0x0a48, CharacterProperties::kXidContinue},
139     {0x0a4b, 0x0a4d, CharacterProperties::kXidContinue},
140     {0x0a51, 0x0a51, CharacterProperties::kXidContinue},
141     {0x0a59, 0x0a5c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
142     {0x0a5e, 0x0a5e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
143     {0x0a66, 0x0a71, CharacterProperties::kXidContinue},
144     {0x0a72, 0x0a74, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
145     {0x0a75, 0x0a75, CharacterProperties::kXidContinue},
146     {0x0a81, 0x0a83, CharacterProperties::kXidContinue},
147     {0x0a85, 0x0a8d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
148     {0x0a8f, 0x0a91, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
149     {0x0a93, 0x0aa8, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
150     {0x0aaa, 0x0ab0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
151     {0x0ab2, 0x0ab3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
152     {0x0ab5, 0x0ab9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
153     {0x0abc, 0x0abc, CharacterProperties::kXidContinue},
154     {0x0abd, 0x0abd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
155     {0x0abe, 0x0ac5, CharacterProperties::kXidContinue},
156     {0x0ac7, 0x0ac9, CharacterProperties::kXidContinue},
157     {0x0acb, 0x0acd, CharacterProperties::kXidContinue},
158     {0x0ad0, 0x0ad0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
159     {0x0ae0, 0x0ae1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
160     {0x0ae2, 0x0ae3, CharacterProperties::kXidContinue},
161     {0x0ae6, 0x0aef, CharacterProperties::kXidContinue},
162     {0x0af9, 0x0af9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
163     {0x0b01, 0x0b03, CharacterProperties::kXidContinue},
164     {0x0b05, 0x0b0c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
165     {0x0b0f, 0x0b10, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
166     {0x0b13, 0x0b28, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
167     {0x0b2a, 0x0b30, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
168     {0x0b32, 0x0b33, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
169     {0x0b35, 0x0b39, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
170     {0x0b3c, 0x0b3c, CharacterProperties::kXidContinue},
171     {0x0b3d, 0x0b3d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
172     {0x0b3e, 0x0b44, CharacterProperties::kXidContinue},
173     {0x0b47, 0x0b48, CharacterProperties::kXidContinue},
174     {0x0b4b, 0x0b4d, CharacterProperties::kXidContinue},
175     {0x0b56, 0x0b57, CharacterProperties::kXidContinue},
176     {0x0b5c, 0x0b5d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
177     {0x0b5f, 0x0b61, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
178     {0x0b62, 0x0b63, CharacterProperties::kXidContinue},
179     {0x0b66, 0x0b6f, CharacterProperties::kXidContinue},
180     {0x0b71, 0x0b71, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
181     {0x0b82, 0x0b82, CharacterProperties::kXidContinue},
182     {0x0b83, 0x0b83, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
183     {0x0b85, 0x0b8a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
184     {0x0b8e, 0x0b90, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
185     {0x0b92, 0x0b95, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
186     {0x0b99, 0x0b9a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
187     {0x0b9c, 0x0b9c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
188     {0x0b9e, 0x0b9f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
189     {0x0ba3, 0x0ba4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
190     {0x0ba8, 0x0baa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
191     {0x0bae, 0x0bb9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
192     {0x0bbe, 0x0bc2, CharacterProperties::kXidContinue},
193     {0x0bc6, 0x0bc8, CharacterProperties::kXidContinue},
194     {0x0bca, 0x0bcd, CharacterProperties::kXidContinue},
195     {0x0bd0, 0x0bd0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
196     {0x0bd7, 0x0bd7, CharacterProperties::kXidContinue},
197     {0x0be6, 0x0bef, CharacterProperties::kXidContinue},
198     {0x0c00, 0x0c03, CharacterProperties::kXidContinue},
199     {0x0c05, 0x0c0c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
200     {0x0c0e, 0x0c10, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
201     {0x0c12, 0x0c28, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
202     {0x0c2a, 0x0c39, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
203     {0x0c3d, 0x0c3d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
204     {0x0c3e, 0x0c44, CharacterProperties::kXidContinue},
205     {0x0c46, 0x0c48, CharacterProperties::kXidContinue},
206     {0x0c4a, 0x0c4d, CharacterProperties::kXidContinue},
207     {0x0c55, 0x0c56, CharacterProperties::kXidContinue},
208     {0x0c58, 0x0c5a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
209     {0x0c60, 0x0c61, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
210     {0x0c62, 0x0c63, CharacterProperties::kXidContinue},
211     {0x0c66, 0x0c6f, CharacterProperties::kXidContinue},
212     {0x0c80, 0x0c80, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
213     {0x0c81, 0x0c83, CharacterProperties::kXidContinue},
214     {0x0c85, 0x0c8c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
215     {0x0c8e, 0x0c90, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
216     {0x0c92, 0x0ca8, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
217     {0x0caa, 0x0cb3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
218     {0x0cb5, 0x0cb9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
219     {0x0cbc, 0x0cbc, CharacterProperties::kXidContinue},
220     {0x0cbd, 0x0cbd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
221     {0x0cbe, 0x0cc4, CharacterProperties::kXidContinue},
222     {0x0cc6, 0x0cc8, CharacterProperties::kXidContinue},
223     {0x0cca, 0x0ccd, CharacterProperties::kXidContinue},
224     {0x0cd5, 0x0cd6, CharacterProperties::kXidContinue},
225     {0x0cde, 0x0cde, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
226     {0x0ce0, 0x0ce1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
227     {0x0ce2, 0x0ce3, CharacterProperties::kXidContinue},
228     {0x0ce6, 0x0cef, CharacterProperties::kXidContinue},
229     {0x0cf1, 0x0cf2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
230     {0x0d01, 0x0d03, CharacterProperties::kXidContinue},
231     {0x0d05, 0x0d0c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
232     {0x0d0e, 0x0d10, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
233     {0x0d12, 0x0d3a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
234     {0x0d3d, 0x0d3d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
235     {0x0d3e, 0x0d44, CharacterProperties::kXidContinue},
236     {0x0d46, 0x0d48, CharacterProperties::kXidContinue},
237     {0x0d4a, 0x0d4d, CharacterProperties::kXidContinue},
238     {0x0d4e, 0x0d4e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
239     {0x0d54, 0x0d56, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
240     {0x0d57, 0x0d57, CharacterProperties::kXidContinue},
241     {0x0d5f, 0x0d61, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
242     {0x0d62, 0x0d63, CharacterProperties::kXidContinue},
243     {0x0d66, 0x0d6f, CharacterProperties::kXidContinue},
244     {0x0d7a, 0x0d7f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
245     {0x0d82, 0x0d83, CharacterProperties::kXidContinue},
246     {0x0d85, 0x0d96, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
247     {0x0d9a, 0x0db1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
248     {0x0db3, 0x0dbb, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
249     {0x0dbd, 0x0dbd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
250     {0x0dc0, 0x0dc6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
251     {0x0dca, 0x0dca, CharacterProperties::kXidContinue},
252     {0x0dcf, 0x0dd4, CharacterProperties::kXidContinue},
253     {0x0dd6, 0x0dd6, CharacterProperties::kXidContinue},
254     {0x0dd8, 0x0ddf, CharacterProperties::kXidContinue},
255     {0x0de6, 0x0def, CharacterProperties::kXidContinue},
256     {0x0df2, 0x0df3, CharacterProperties::kXidContinue},
257     {0x0e01, 0x0e30, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
258     {0x0e31, 0x0e31, CharacterProperties::kXidContinue},
259     {0x0e32, 0x0e32, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
260     {0x0e33, 0x0e3a, CharacterProperties::kXidContinue},
261     {0x0e40, 0x0e46, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
262     {0x0e47, 0x0e4e, CharacterProperties::kXidContinue},
263     {0x0e50, 0x0e59, CharacterProperties::kXidContinue},
264     {0x0e81, 0x0e82, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
265     {0x0e84, 0x0e84, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
266     {0x0e87, 0x0e88, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
267     {0x0e8a, 0x0e8a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
268     {0x0e8d, 0x0e8d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
269     {0x0e94, 0x0e97, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
270     {0x0e99, 0x0e9f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
271     {0x0ea1, 0x0ea3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
272     {0x0ea5, 0x0ea5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
273     {0x0ea7, 0x0ea7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
274     {0x0eaa, 0x0eab, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
275     {0x0ead, 0x0eb0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
276     {0x0eb1, 0x0eb1, CharacterProperties::kXidContinue},
277     {0x0eb2, 0x0eb2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
278     {0x0eb3, 0x0eb9, CharacterProperties::kXidContinue},
279     {0x0ebb, 0x0ebc, CharacterProperties::kXidContinue},
280     {0x0ebd, 0x0ebd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
281     {0x0ec0, 0x0ec4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
282     {0x0ec6, 0x0ec6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
283     {0x0ec8, 0x0ecd, CharacterProperties::kXidContinue},
284     {0x0ed0, 0x0ed9, CharacterProperties::kXidContinue},
285     {0x0edc, 0x0edf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
286     {0x0f00, 0x0f00, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
287     {0x0f18, 0x0f19, CharacterProperties::kXidContinue},
288     {0x0f20, 0x0f29, CharacterProperties::kXidContinue},
289     {0x0f35, 0x0f35, CharacterProperties::kXidContinue},
290     {0x0f37, 0x0f37, CharacterProperties::kXidContinue},
291     {0x0f39, 0x0f39, CharacterProperties::kXidContinue},
292     {0x0f3e, 0x0f3f, CharacterProperties::kXidContinue},
293     {0x0f40, 0x0f47, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
294     {0x0f49, 0x0f6c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
295     {0x0f71, 0x0f84, CharacterProperties::kXidContinue},
296     {0x0f86, 0x0f87, CharacterProperties::kXidContinue},
297     {0x0f88, 0x0f8c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
298     {0x0f8d, 0x0f97, CharacterProperties::kXidContinue},
299     {0x0f99, 0x0fbc, CharacterProperties::kXidContinue},
300     {0x0fc6, 0x0fc6, CharacterProperties::kXidContinue},
301     {0x1000, 0x102a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
302     {0x102b, 0x103e, CharacterProperties::kXidContinue},
303     {0x103f, 0x103f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
304     {0x1040, 0x1049, CharacterProperties::kXidContinue},
305     {0x1050, 0x1055, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
306     {0x1056, 0x1059, CharacterProperties::kXidContinue},
307     {0x105a, 0x105d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
308     {0x105e, 0x1060, CharacterProperties::kXidContinue},
309     {0x1061, 0x1061, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
310     {0x1062, 0x1064, CharacterProperties::kXidContinue},
311     {0x1065, 0x1066, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
312     {0x1067, 0x106d, CharacterProperties::kXidContinue},
313     {0x106e, 0x1070, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
314     {0x1071, 0x1074, CharacterProperties::kXidContinue},
315     {0x1075, 0x1081, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
316     {0x1082, 0x108d, CharacterProperties::kXidContinue},
317     {0x108e, 0x108e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
318     {0x108f, 0x109d, CharacterProperties::kXidContinue},
319     {0x10a0, 0x10c5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
320     {0x10c7, 0x10c7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
321     {0x10cd, 0x10cd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
322     {0x10d0, 0x10fa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
323     {0x10fc, 0x1248, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
324     {0x124a, 0x124d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
325     {0x1250, 0x1256, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
326     {0x1258, 0x1258, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
327     {0x125a, 0x125d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
328     {0x1260, 0x1288, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
329     {0x128a, 0x128d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
330     {0x1290, 0x12b0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
331     {0x12b2, 0x12b5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
332     {0x12b8, 0x12be, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
333     {0x12c0, 0x12c0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
334     {0x12c2, 0x12c5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
335     {0x12c8, 0x12d6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
336     {0x12d8, 0x1310, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
337     {0x1312, 0x1315, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
338     {0x1318, 0x135a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
339     {0x135d, 0x135f, CharacterProperties::kXidContinue},
340     {0x1369, 0x1371, CharacterProperties::kXidContinue},
341     {0x1380, 0x138f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
342     {0x13a0, 0x13f5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
343     {0x13f8, 0x13fd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
344     {0x1401, 0x166c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
345     {0x166f, 0x167f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
346     {0x1681, 0x169a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
347     {0x16a0, 0x16ea, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
348     {0x16ee, 0x16f8, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
349     {0x1700, 0x170c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
350     {0x170e, 0x1711, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
351     {0x1712, 0x1714, CharacterProperties::kXidContinue},
352     {0x1720, 0x1731, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
353     {0x1732, 0x1734, CharacterProperties::kXidContinue},
354     {0x1740, 0x1751, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
355     {0x1752, 0x1753, CharacterProperties::kXidContinue},
356     {0x1760, 0x176c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
357     {0x176e, 0x1770, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
358     {0x1772, 0x1773, CharacterProperties::kXidContinue},
359     {0x1780, 0x17b3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
360     {0x17b4, 0x17d3, CharacterProperties::kXidContinue},
361     {0x17d7, 0x17d7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
362     {0x17dc, 0x17dc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
363     {0x17dd, 0x17dd, CharacterProperties::kXidContinue},
364     {0x17e0, 0x17e9, CharacterProperties::kXidContinue},
365     {0x180b, 0x180d, CharacterProperties::kXidContinue},
366     {0x1810, 0x1819, CharacterProperties::kXidContinue},
367     {0x1820, 0x1877, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
368     {0x1880, 0x18a8, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
369     {0x18a9, 0x18a9, CharacterProperties::kXidContinue},
370     {0x18aa, 0x18aa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
371     {0x18b0, 0x18f5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
372     {0x1900, 0x191e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
373     {0x1920, 0x192b, CharacterProperties::kXidContinue},
374     {0x1930, 0x193b, CharacterProperties::kXidContinue},
375     {0x1946, 0x194f, CharacterProperties::kXidContinue},
376     {0x1950, 0x196d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
377     {0x1970, 0x1974, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
378     {0x1980, 0x19ab, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
379     {0x19b0, 0x19c9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
380     {0x19d0, 0x19da, CharacterProperties::kXidContinue},
381     {0x1a00, 0x1a16, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
382     {0x1a17, 0x1a1b, CharacterProperties::kXidContinue},
383     {0x1a20, 0x1a54, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
384     {0x1a55, 0x1a5e, CharacterProperties::kXidContinue},
385     {0x1a60, 0x1a7c, CharacterProperties::kXidContinue},
386     {0x1a7f, 0x1a89, CharacterProperties::kXidContinue},
387     {0x1a90, 0x1a99, CharacterProperties::kXidContinue},
388     {0x1aa7, 0x1aa7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
389     {0x1ab0, 0x1abd, CharacterProperties::kXidContinue},
390     {0x1b00, 0x1b04, CharacterProperties::kXidContinue},
391     {0x1b05, 0x1b33, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
392     {0x1b34, 0x1b44, CharacterProperties::kXidContinue},
393     {0x1b45, 0x1b4b, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
394     {0x1b50, 0x1b59, CharacterProperties::kXidContinue},
395     {0x1b6b, 0x1b73, CharacterProperties::kXidContinue},
396     {0x1b80, 0x1b82, CharacterProperties::kXidContinue},
397     {0x1b83, 0x1ba0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
398     {0x1ba1, 0x1bad, CharacterProperties::kXidContinue},
399     {0x1bae, 0x1baf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
400     {0x1bb0, 0x1bb9, CharacterProperties::kXidContinue},
401     {0x1bba, 0x1be5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
402     {0x1be6, 0x1bf3, CharacterProperties::kXidContinue},
403     {0x1c00, 0x1c23, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
404     {0x1c24, 0x1c37, CharacterProperties::kXidContinue},
405     {0x1c40, 0x1c49, CharacterProperties::kXidContinue},
406     {0x1c4d, 0x1c4f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
407     {0x1c50, 0x1c59, CharacterProperties::kXidContinue},
408     {0x1c5a, 0x1c7d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
409     {0x1c80, 0x1c88, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
410     {0x1cd0, 0x1cd2, CharacterProperties::kXidContinue},
411     {0x1cd4, 0x1ce8, CharacterProperties::kXidContinue},
412     {0x1ce9, 0x1cec, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
413     {0x1ced, 0x1ced, CharacterProperties::kXidContinue},
414     {0x1cee, 0x1cf1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
415     {0x1cf2, 0x1cf4, CharacterProperties::kXidContinue},
416     {0x1cf5, 0x1cf6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
417     {0x1cf8, 0x1cf9, CharacterProperties::kXidContinue},
418     {0x1d00, 0x1dbf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
419     {0x1dc0, 0x1df5, CharacterProperties::kXidContinue},
420     {0x1dfb, 0x1dff, CharacterProperties::kXidContinue},
421     {0x1e00, 0x1f15, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
422     {0x1f18, 0x1f1d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
423     {0x1f20, 0x1f45, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
424     {0x1f48, 0x1f4d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
425     {0x1f50, 0x1f57, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
426     {0x1f59, 0x1f59, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
427     {0x1f5b, 0x1f5b, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
428     {0x1f5d, 0x1f5d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
429     {0x1f5f, 0x1f7d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
430     {0x1f80, 0x1fb4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
431     {0x1fb6, 0x1fbc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
432     {0x1fbe, 0x1fbe, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
433     {0x1fc2, 0x1fc4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
434     {0x1fc6, 0x1fcc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
435     {0x1fd0, 0x1fd3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
436     {0x1fd6, 0x1fdb, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
437     {0x1fe0, 0x1fec, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
438     {0x1ff2, 0x1ff4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
439     {0x1ff6, 0x1ffc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
440     {0x203f, 0x2040, CharacterProperties::kXidContinue},
441     {0x2054, 0x2054, CharacterProperties::kXidContinue},
442     {0x2071, 0x2071, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
443     {0x207f, 0x207f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
444     {0x2090, 0x209c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
445     {0x20d0, 0x20dc, CharacterProperties::kXidContinue},
446     {0x20e1, 0x20e1, CharacterProperties::kXidContinue},
447     {0x20e5, 0x20f0, CharacterProperties::kXidContinue},
448     {0x2102, 0x2102, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
449     {0x2107, 0x2107, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
450     {0x210a, 0x2113, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
451     {0x2115, 0x2115, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
452     {0x2118, 0x211d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
453     {0x2124, 0x2124, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
454     {0x2126, 0x2126, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
455     {0x2128, 0x2128, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
456     {0x212a, 0x2139, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
457     {0x213c, 0x213f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
458     {0x2145, 0x2149, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
459     {0x214e, 0x214e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
460     {0x2160, 0x2188, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
461     {0x2c00, 0x2c2e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
462     {0x2c30, 0x2c5e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
463     {0x2c60, 0x2ce4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
464     {0x2ceb, 0x2cee, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
465     {0x2cef, 0x2cf1, CharacterProperties::kXidContinue},
466     {0x2cf2, 0x2cf3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
467     {0x2d00, 0x2d25, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
468     {0x2d27, 0x2d27, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
469     {0x2d2d, 0x2d2d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
470     {0x2d30, 0x2d67, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
471     {0x2d6f, 0x2d6f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
472     {0x2d7f, 0x2d7f, CharacterProperties::kXidContinue},
473     {0x2d80, 0x2d96, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
474     {0x2da0, 0x2da6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
475     {0x2da8, 0x2dae, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
476     {0x2db0, 0x2db6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
477     {0x2db8, 0x2dbe, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
478     {0x2dc0, 0x2dc6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
479     {0x2dc8, 0x2dce, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
480     {0x2dd0, 0x2dd6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
481     {0x2dd8, 0x2dde, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
482     {0x2de0, 0x2dff, CharacterProperties::kXidContinue},
483     {0x3005, 0x3007, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
484     {0x3021, 0x3029, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
485     {0x302a, 0x302f, CharacterProperties::kXidContinue},
486     {0x3031, 0x3035, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
487     {0x3038, 0x303c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
488     {0x3041, 0x3096, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
489     {0x3099, 0x309a, CharacterProperties::kXidContinue},
490     {0x309d, 0x309f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
491     {0x30a1, 0x30fa, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
492     {0x30fc, 0x30ff, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
493     {0x3105, 0x312d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
494     {0x3131, 0x318e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
495     {0x31a0, 0x31ba, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
496     {0x31f0, 0x31ff, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
497     {0x3400, 0x4db5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
498     {0x4e00, 0x9fd5, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
499     {0xa000, 0xa48c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
500     {0xa4d0, 0xa4fd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
501     {0xa500, 0xa60c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
502     {0xa610, 0xa61f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
503     {0xa620, 0xa629, CharacterProperties::kXidContinue},
504     {0xa62a, 0xa62b, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
505     {0xa640, 0xa66e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
506     {0xa66f, 0xa66f, CharacterProperties::kXidContinue},
507     {0xa674, 0xa67d, CharacterProperties::kXidContinue},
508     {0xa67f, 0xa69d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
509     {0xa69e, 0xa69f, CharacterProperties::kXidContinue},
510     {0xa6a0, 0xa6ef, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
511     {0xa6f0, 0xa6f1, CharacterProperties::kXidContinue},
512     {0xa717, 0xa71f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
513     {0xa722, 0xa788, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
514     {0xa78b, 0xa7ae, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
515     {0xa7b0, 0xa7b7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
516     {0xa7f7, 0xa801, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
517     {0xa802, 0xa802, CharacterProperties::kXidContinue},
518     {0xa803, 0xa805, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
519     {0xa806, 0xa806, CharacterProperties::kXidContinue},
520     {0xa807, 0xa80a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
521     {0xa80b, 0xa80b, CharacterProperties::kXidContinue},
522     {0xa80c, 0xa822, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
523     {0xa823, 0xa827, CharacterProperties::kXidContinue},
524     {0xa840, 0xa873, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
525     {0xa880, 0xa881, CharacterProperties::kXidContinue},
526     {0xa882, 0xa8b3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
527     {0xa8b4, 0xa8c5, CharacterProperties::kXidContinue},
528     {0xa8d0, 0xa8d9, CharacterProperties::kXidContinue},
529     {0xa8e0, 0xa8f1, CharacterProperties::kXidContinue},
530     {0xa8f2, 0xa8f7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
531     {0xa8fb, 0xa8fb, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
532     {0xa8fd, 0xa8fd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
533     {0xa900, 0xa909, CharacterProperties::kXidContinue},
534     {0xa90a, 0xa925, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
535     {0xa926, 0xa92d, CharacterProperties::kXidContinue},
536     {0xa930, 0xa946, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
537     {0xa947, 0xa953, CharacterProperties::kXidContinue},
538     {0xa960, 0xa97c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
539     {0xa980, 0xa983, CharacterProperties::kXidContinue},
540     {0xa984, 0xa9b2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
541     {0xa9b3, 0xa9c0, CharacterProperties::kXidContinue},
542     {0xa9cf, 0xa9cf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
543     {0xa9d0, 0xa9d9, CharacterProperties::kXidContinue},
544     {0xa9e0, 0xa9e4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
545     {0xa9e5, 0xa9e5, CharacterProperties::kXidContinue},
546     {0xa9e6, 0xa9ef, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
547     {0xa9f0, 0xa9f9, CharacterProperties::kXidContinue},
548     {0xa9fa, 0xa9fe, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
549     {0xaa00, 0xaa28, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
550     {0xaa29, 0xaa36, CharacterProperties::kXidContinue},
551     {0xaa40, 0xaa42, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
552     {0xaa43, 0xaa43, CharacterProperties::kXidContinue},
553     {0xaa44, 0xaa4b, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
554     {0xaa4c, 0xaa4d, CharacterProperties::kXidContinue},
555     {0xaa50, 0xaa59, CharacterProperties::kXidContinue},
556     {0xaa60, 0xaa76, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
557     {0xaa7a, 0xaa7a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
558     {0xaa7b, 0xaa7d, CharacterProperties::kXidContinue},
559     {0xaa7e, 0xaaaf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
560     {0xaab0, 0xaab0, CharacterProperties::kXidContinue},
561     {0xaab1, 0xaab1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
562     {0xaab2, 0xaab4, CharacterProperties::kXidContinue},
563     {0xaab5, 0xaab6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
564     {0xaab7, 0xaab8, CharacterProperties::kXidContinue},
565     {0xaab9, 0xaabd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
566     {0xaabe, 0xaabf, CharacterProperties::kXidContinue},
567     {0xaac0, 0xaac0, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
568     {0xaac1, 0xaac1, CharacterProperties::kXidContinue},
569     {0xaac2, 0xaac2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
570     {0xaadb, 0xaadd, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
571     {0xaae0, 0xaaea, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
572     {0xaaeb, 0xaaef, CharacterProperties::kXidContinue},
573     {0xaaf2, 0xaaf4, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
574     {0xaaf5, 0xaaf6, CharacterProperties::kXidContinue},
575     {0xab01, 0xab06, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
576     {0xab09, 0xab0e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
577     {0xab11, 0xab16, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
578     {0xab20, 0xab26, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
579     {0xab28, 0xab2e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
580     {0xab30, 0xab5a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
581     {0xab5c, 0xab65, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
582     {0xab70, 0xabe2, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
583     {0xabe3, 0xabea, CharacterProperties::kXidContinue},
584     {0xabec, 0xabed, CharacterProperties::kXidContinue},
585     {0xabf0, 0xabf9, CharacterProperties::kXidContinue},
586     {0xac00, 0xd7a3, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
587     {0xd7b0, 0xd7c6, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
588     {0xd7cb, 0xd7fb, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
589     {0xf900, 0xfa6d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
590     {0xfa70, 0xfad9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
591     {0xfb00, 0xfb06, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
592     {0xfb13, 0xfb17, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
593     {0xfb1d, 0xfb1d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
594     {0xfb1e, 0xfb1e, CharacterProperties::kXidContinue},
595     {0xfb1f, 0xfb28, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
596     {0xfb2a, 0xfb36, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
597     {0xfb38, 0xfb3c, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
598     {0xfb3e, 0xfb3e, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
599     {0xfb40, 0xfb41, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
600     {0xfb43, 0xfb44, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
601     {0xfb46, 0xfbb1, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
602     {0xfbd3, 0xfc5d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
603     {0xfc64, 0xfd3d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
604     {0xfd50, 0xfd8f, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
605     {0xfd92, 0xfdc7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
606     {0xfdf0, 0xfdf9, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
607     {0xfe00, 0xfe0f, CharacterProperties::kXidContinue},
608     {0xfe20, 0xfe2f, CharacterProperties::kXidContinue},
609     {0xfe33, 0xfe34, CharacterProperties::kXidContinue},
610     {0xfe4d, 0xfe4f, CharacterProperties::kXidContinue},
611     {0xfe71, 0xfe71, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
612     {0xfe73, 0xfe73, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
613     {0xfe77, 0xfe77, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
614     {0xfe79, 0xfe79, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
615     {0xfe7b, 0xfe7b, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
616     {0xfe7d, 0xfe7d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
617     {0xfe7f, 0xfefc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
618     {0xff10, 0xff19, CharacterProperties::kXidContinue},
619     {0xff21, 0xff3a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
620     {0xff3f, 0xff3f, CharacterProperties::kXidContinue},
621     {0xff41, 0xff5a, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
622     {0xff66, 0xff9d, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
623     {0xff9e, 0xff9f, CharacterProperties::kXidContinue},
624     {0xffa0, 0xffbe, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
625     {0xffc2, 0xffc7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
626     {0xffca, 0xffcf, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
627     {0xffd2, 0xffd7, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
628     {0xffda, 0xffdc, CharacterProperties::kXidStart | CharacterProperties::kXidContinue},
629 }};
630