ba7631b6d81b1f504d9471dba641f4350693fded
[platform/upstream/gcc.git] / libgo / go / unicode / tables.go
1 // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
2
3 package unicode
4
5 // Version is the Unicode edition from which the tables are derived.
6 const Version = "11.0.0"
7
8 // Categories is the set of Unicode category tables.
9 var Categories = map[string]*RangeTable{
10         "C":  C,
11         "Cc": Cc,
12         "Cf": Cf,
13         "Co": Co,
14         "Cs": Cs,
15         "L":  L,
16         "Ll": Ll,
17         "Lm": Lm,
18         "Lo": Lo,
19         "Lt": Lt,
20         "Lu": Lu,
21         "M":  M,
22         "Mc": Mc,
23         "Me": Me,
24         "Mn": Mn,
25         "N":  N,
26         "Nd": Nd,
27         "Nl": Nl,
28         "No": No,
29         "P":  P,
30         "Pc": Pc,
31         "Pd": Pd,
32         "Pe": Pe,
33         "Pf": Pf,
34         "Pi": Pi,
35         "Po": Po,
36         "Ps": Ps,
37         "S":  S,
38         "Sc": Sc,
39         "Sk": Sk,
40         "Sm": Sm,
41         "So": So,
42         "Z":  Z,
43         "Zl": Zl,
44         "Zp": Zp,
45         "Zs": Zs,
46 }
47
48 var _C = &RangeTable{
49         R16: []Range16{
50                 {0x0000, 0x001f, 1},
51                 {0x007f, 0x009f, 1},
52                 {0x00ad, 0x0600, 1363},
53                 {0x0601, 0x0605, 1},
54                 {0x061c, 0x06dd, 193},
55                 {0x070f, 0x08e2, 467},
56                 {0x180e, 0x200b, 2045},
57                 {0x200c, 0x200f, 1},
58                 {0x202a, 0x202e, 1},
59                 {0x2060, 0x2064, 1},
60                 {0x2066, 0x206f, 1},
61                 {0xd800, 0xf8ff, 1},
62                 {0xfeff, 0xfff9, 250},
63                 {0xfffa, 0xfffb, 1},
64         },
65         R32: []Range32{
66                 {0x110bd, 0x110cd, 16},
67                 {0x1bca0, 0x1bca3, 1},
68                 {0x1d173, 0x1d17a, 1},
69                 {0xe0001, 0xe0020, 31},
70                 {0xe0021, 0xe007f, 1},
71                 {0xf0000, 0xffffd, 1},
72                 {0x100000, 0x10fffd, 1},
73         },
74         LatinOffset: 2,
75 }
76
77 var _Cc = &RangeTable{
78         R16: []Range16{
79                 {0x0000, 0x001f, 1},
80                 {0x007f, 0x009f, 1},
81         },
82         LatinOffset: 2,
83 }
84
85 var _Cf = &RangeTable{
86         R16: []Range16{
87                 {0x00ad, 0x0600, 1363},
88                 {0x0601, 0x0605, 1},
89                 {0x061c, 0x06dd, 193},
90                 {0x070f, 0x08e2, 467},
91                 {0x180e, 0x200b, 2045},
92                 {0x200c, 0x200f, 1},
93                 {0x202a, 0x202e, 1},
94                 {0x2060, 0x2064, 1},
95                 {0x2066, 0x206f, 1},
96                 {0xfeff, 0xfff9, 250},
97                 {0xfffa, 0xfffb, 1},
98         },
99         R32: []Range32{
100                 {0x110bd, 0x110cd, 16},
101                 {0x1bca0, 0x1bca3, 1},
102                 {0x1d173, 0x1d17a, 1},
103                 {0xe0001, 0xe0020, 31},
104                 {0xe0021, 0xe007f, 1},
105         },
106 }
107
108 var _Co = &RangeTable{
109         R16: []Range16{
110                 {0xe000, 0xf8ff, 1},
111         },
112         R32: []Range32{
113                 {0xf0000, 0xffffd, 1},
114                 {0x100000, 0x10fffd, 1},
115         },
116 }
117
118 var _Cs = &RangeTable{
119         R16: []Range16{
120                 {0xd800, 0xdfff, 1},
121         },
122 }
123
124 var _L = &RangeTable{
125         R16: []Range16{
126                 {0x0041, 0x005a, 1},
127                 {0x0061, 0x007a, 1},
128                 {0x00aa, 0x00b5, 11},
129                 {0x00ba, 0x00c0, 6},
130                 {0x00c1, 0x00d6, 1},
131                 {0x00d8, 0x00f6, 1},
132                 {0x00f8, 0x02c1, 1},
133                 {0x02c6, 0x02d1, 1},
134                 {0x02e0, 0x02e4, 1},
135                 {0x02ec, 0x02ee, 2},
136                 {0x0370, 0x0374, 1},
137                 {0x0376, 0x0377, 1},
138                 {0x037a, 0x037d, 1},
139                 {0x037f, 0x0386, 7},
140                 {0x0388, 0x038a, 1},
141                 {0x038c, 0x038e, 2},
142                 {0x038f, 0x03a1, 1},
143                 {0x03a3, 0x03f5, 1},
144                 {0x03f7, 0x0481, 1},
145                 {0x048a, 0x052f, 1},
146                 {0x0531, 0x0556, 1},
147                 {0x0559, 0x0560, 7},
148                 {0x0561, 0x0588, 1},
149                 {0x05d0, 0x05ea, 1},
150                 {0x05ef, 0x05f2, 1},
151                 {0x0620, 0x064a, 1},
152                 {0x066e, 0x066f, 1},
153                 {0x0671, 0x06d3, 1},
154                 {0x06d5, 0x06e5, 16},
155                 {0x06e6, 0x06ee, 8},
156                 {0x06ef, 0x06fa, 11},
157                 {0x06fb, 0x06fc, 1},
158                 {0x06ff, 0x0710, 17},
159                 {0x0712, 0x072f, 1},
160                 {0x074d, 0x07a5, 1},
161                 {0x07b1, 0x07ca, 25},
162                 {0x07cb, 0x07ea, 1},
163                 {0x07f4, 0x07f5, 1},
164                 {0x07fa, 0x0800, 6},
165                 {0x0801, 0x0815, 1},
166                 {0x081a, 0x0824, 10},
167                 {0x0828, 0x0840, 24},
168                 {0x0841, 0x0858, 1},
169                 {0x0860, 0x086a, 1},
170                 {0x08a0, 0x08b4, 1},
171                 {0x08b6, 0x08bd, 1},
172                 {0x0904, 0x0939, 1},
173                 {0x093d, 0x0950, 19},
174                 {0x0958, 0x0961, 1},
175                 {0x0971, 0x0980, 1},
176                 {0x0985, 0x098c, 1},
177                 {0x098f, 0x0990, 1},
178                 {0x0993, 0x09a8, 1},
179                 {0x09aa, 0x09b0, 1},
180                 {0x09b2, 0x09b6, 4},
181                 {0x09b7, 0x09b9, 1},
182                 {0x09bd, 0x09ce, 17},
183                 {0x09dc, 0x09dd, 1},
184                 {0x09df, 0x09e1, 1},
185                 {0x09f0, 0x09f1, 1},
186                 {0x09fc, 0x0a05, 9},
187                 {0x0a06, 0x0a0a, 1},
188                 {0x0a0f, 0x0a10, 1},
189                 {0x0a13, 0x0a28, 1},
190                 {0x0a2a, 0x0a30, 1},
191                 {0x0a32, 0x0a33, 1},
192                 {0x0a35, 0x0a36, 1},
193                 {0x0a38, 0x0a39, 1},
194                 {0x0a59, 0x0a5c, 1},
195                 {0x0a5e, 0x0a72, 20},
196                 {0x0a73, 0x0a74, 1},
197                 {0x0a85, 0x0a8d, 1},
198                 {0x0a8f, 0x0a91, 1},
199                 {0x0a93, 0x0aa8, 1},
200                 {0x0aaa, 0x0ab0, 1},
201                 {0x0ab2, 0x0ab3, 1},
202                 {0x0ab5, 0x0ab9, 1},
203                 {0x0abd, 0x0ad0, 19},
204                 {0x0ae0, 0x0ae1, 1},
205                 {0x0af9, 0x0b05, 12},
206                 {0x0b06, 0x0b0c, 1},
207                 {0x0b0f, 0x0b10, 1},
208                 {0x0b13, 0x0b28, 1},
209                 {0x0b2a, 0x0b30, 1},
210                 {0x0b32, 0x0b33, 1},
211                 {0x0b35, 0x0b39, 1},
212                 {0x0b3d, 0x0b5c, 31},
213                 {0x0b5d, 0x0b5f, 2},
214                 {0x0b60, 0x0b61, 1},
215                 {0x0b71, 0x0b83, 18},
216                 {0x0b85, 0x0b8a, 1},
217                 {0x0b8e, 0x0b90, 1},
218                 {0x0b92, 0x0b95, 1},
219                 {0x0b99, 0x0b9a, 1},
220                 {0x0b9c, 0x0b9e, 2},
221                 {0x0b9f, 0x0ba3, 4},
222                 {0x0ba4, 0x0ba8, 4},
223                 {0x0ba9, 0x0baa, 1},
224                 {0x0bae, 0x0bb9, 1},
225                 {0x0bd0, 0x0c05, 53},
226                 {0x0c06, 0x0c0c, 1},
227                 {0x0c0e, 0x0c10, 1},
228                 {0x0c12, 0x0c28, 1},
229                 {0x0c2a, 0x0c39, 1},
230                 {0x0c3d, 0x0c58, 27},
231                 {0x0c59, 0x0c5a, 1},
232                 {0x0c60, 0x0c61, 1},
233                 {0x0c80, 0x0c85, 5},
234                 {0x0c86, 0x0c8c, 1},
235                 {0x0c8e, 0x0c90, 1},
236                 {0x0c92, 0x0ca8, 1},
237                 {0x0caa, 0x0cb3, 1},
238                 {0x0cb5, 0x0cb9, 1},
239                 {0x0cbd, 0x0cde, 33},
240                 {0x0ce0, 0x0ce1, 1},
241                 {0x0cf1, 0x0cf2, 1},
242                 {0x0d05, 0x0d0c, 1},
243                 {0x0d0e, 0x0d10, 1},
244                 {0x0d12, 0x0d3a, 1},
245                 {0x0d3d, 0x0d4e, 17},
246                 {0x0d54, 0x0d56, 1},
247                 {0x0d5f, 0x0d61, 1},
248                 {0x0d7a, 0x0d7f, 1},
249                 {0x0d85, 0x0d96, 1},
250                 {0x0d9a, 0x0db1, 1},
251                 {0x0db3, 0x0dbb, 1},
252                 {0x0dbd, 0x0dc0, 3},
253                 {0x0dc1, 0x0dc6, 1},
254                 {0x0e01, 0x0e30, 1},
255                 {0x0e32, 0x0e33, 1},
256                 {0x0e40, 0x0e46, 1},
257                 {0x0e81, 0x0e82, 1},
258                 {0x0e84, 0x0e87, 3},
259                 {0x0e88, 0x0e8a, 2},
260                 {0x0e8d, 0x0e94, 7},
261                 {0x0e95, 0x0e97, 1},
262                 {0x0e99, 0x0e9f, 1},
263                 {0x0ea1, 0x0ea3, 1},
264                 {0x0ea5, 0x0ea7, 2},
265                 {0x0eaa, 0x0eab, 1},
266                 {0x0ead, 0x0eb0, 1},
267                 {0x0eb2, 0x0eb3, 1},
268                 {0x0ebd, 0x0ec0, 3},
269                 {0x0ec1, 0x0ec4, 1},
270                 {0x0ec6, 0x0edc, 22},
271                 {0x0edd, 0x0edf, 1},
272                 {0x0f00, 0x0f40, 64},
273                 {0x0f41, 0x0f47, 1},
274                 {0x0f49, 0x0f6c, 1},
275                 {0x0f88, 0x0f8c, 1},
276                 {0x1000, 0x102a, 1},
277                 {0x103f, 0x1050, 17},
278                 {0x1051, 0x1055, 1},
279                 {0x105a, 0x105d, 1},
280                 {0x1061, 0x1065, 4},
281                 {0x1066, 0x106e, 8},
282                 {0x106f, 0x1070, 1},
283                 {0x1075, 0x1081, 1},
284                 {0x108e, 0x10a0, 18},
285                 {0x10a1, 0x10c5, 1},
286                 {0x10c7, 0x10cd, 6},
287                 {0x10d0, 0x10fa, 1},
288                 {0x10fc, 0x1248, 1},
289                 {0x124a, 0x124d, 1},
290                 {0x1250, 0x1256, 1},
291                 {0x1258, 0x125a, 2},
292                 {0x125b, 0x125d, 1},
293                 {0x1260, 0x1288, 1},
294                 {0x128a, 0x128d, 1},
295                 {0x1290, 0x12b0, 1},
296                 {0x12b2, 0x12b5, 1},
297                 {0x12b8, 0x12be, 1},
298                 {0x12c0, 0x12c2, 2},
299                 {0x12c3, 0x12c5, 1},
300                 {0x12c8, 0x12d6, 1},
301                 {0x12d8, 0x1310, 1},
302                 {0x1312, 0x1315, 1},
303                 {0x1318, 0x135a, 1},
304                 {0x1380, 0x138f, 1},
305                 {0x13a0, 0x13f5, 1},
306                 {0x13f8, 0x13fd, 1},
307                 {0x1401, 0x166c, 1},
308                 {0x166f, 0x167f, 1},
309                 {0x1681, 0x169a, 1},
310                 {0x16a0, 0x16ea, 1},
311                 {0x16f1, 0x16f8, 1},
312                 {0x1700, 0x170c, 1},
313                 {0x170e, 0x1711, 1},
314                 {0x1720, 0x1731, 1},
315                 {0x1740, 0x1751, 1},
316                 {0x1760, 0x176c, 1},
317                 {0x176e, 0x1770, 1},
318                 {0x1780, 0x17b3, 1},
319                 {0x17d7, 0x17dc, 5},
320                 {0x1820, 0x1878, 1},
321                 {0x1880, 0x1884, 1},
322                 {0x1887, 0x18a8, 1},
323                 {0x18aa, 0x18b0, 6},
324                 {0x18b1, 0x18f5, 1},
325                 {0x1900, 0x191e, 1},
326                 {0x1950, 0x196d, 1},
327                 {0x1970, 0x1974, 1},
328                 {0x1980, 0x19ab, 1},
329                 {0x19b0, 0x19c9, 1},
330                 {0x1a00, 0x1a16, 1},
331                 {0x1a20, 0x1a54, 1},
332                 {0x1aa7, 0x1b05, 94},
333                 {0x1b06, 0x1b33, 1},
334                 {0x1b45, 0x1b4b, 1},
335                 {0x1b83, 0x1ba0, 1},
336                 {0x1bae, 0x1baf, 1},
337                 {0x1bba, 0x1be5, 1},
338                 {0x1c00, 0x1c23, 1},
339                 {0x1c4d, 0x1c4f, 1},
340                 {0x1c5a, 0x1c7d, 1},
341                 {0x1c80, 0x1c88, 1},
342                 {0x1c90, 0x1cba, 1},
343                 {0x1cbd, 0x1cbf, 1},
344                 {0x1ce9, 0x1cec, 1},
345                 {0x1cee, 0x1cf1, 1},
346                 {0x1cf5, 0x1cf6, 1},
347                 {0x1d00, 0x1dbf, 1},
348                 {0x1e00, 0x1f15, 1},
349                 {0x1f18, 0x1f1d, 1},
350                 {0x1f20, 0x1f45, 1},
351                 {0x1f48, 0x1f4d, 1},
352                 {0x1f50, 0x1f57, 1},
353                 {0x1f59, 0x1f5f, 2},
354                 {0x1f60, 0x1f7d, 1},
355                 {0x1f80, 0x1fb4, 1},
356                 {0x1fb6, 0x1fbc, 1},
357                 {0x1fbe, 0x1fc2, 4},
358                 {0x1fc3, 0x1fc4, 1},
359                 {0x1fc6, 0x1fcc, 1},
360                 {0x1fd0, 0x1fd3, 1},
361                 {0x1fd6, 0x1fdb, 1},
362                 {0x1fe0, 0x1fec, 1},
363                 {0x1ff2, 0x1ff4, 1},
364                 {0x1ff6, 0x1ffc, 1},
365                 {0x2071, 0x207f, 14},
366                 {0x2090, 0x209c, 1},
367                 {0x2102, 0x2107, 5},
368                 {0x210a, 0x2113, 1},
369                 {0x2115, 0x2119, 4},
370                 {0x211a, 0x211d, 1},
371                 {0x2124, 0x212a, 2},
372                 {0x212b, 0x212d, 1},
373                 {0x212f, 0x2139, 1},
374                 {0x213c, 0x213f, 1},
375                 {0x2145, 0x2149, 1},
376                 {0x214e, 0x2183, 53},
377                 {0x2184, 0x2c00, 2684},
378                 {0x2c01, 0x2c2e, 1},
379                 {0x2c30, 0x2c5e, 1},
380                 {0x2c60, 0x2ce4, 1},
381                 {0x2ceb, 0x2cee, 1},
382                 {0x2cf2, 0x2cf3, 1},
383                 {0x2d00, 0x2d25, 1},
384                 {0x2d27, 0x2d2d, 6},
385                 {0x2d30, 0x2d67, 1},
386                 {0x2d6f, 0x2d80, 17},
387                 {0x2d81, 0x2d96, 1},
388                 {0x2da0, 0x2da6, 1},
389                 {0x2da8, 0x2dae, 1},
390                 {0x2db0, 0x2db6, 1},
391                 {0x2db8, 0x2dbe, 1},
392                 {0x2dc0, 0x2dc6, 1},
393                 {0x2dc8, 0x2dce, 1},
394                 {0x2dd0, 0x2dd6, 1},
395                 {0x2dd8, 0x2dde, 1},
396                 {0x2e2f, 0x3005, 470},
397                 {0x3006, 0x3031, 43},
398                 {0x3032, 0x3035, 1},
399                 {0x303b, 0x303c, 1},
400                 {0x3041, 0x3096, 1},
401                 {0x309d, 0x309f, 1},
402                 {0x30a1, 0x30fa, 1},
403                 {0x30fc, 0x30ff, 1},
404                 {0x3105, 0x312f, 1},
405                 {0x3131, 0x318e, 1},
406                 {0x31a0, 0x31ba, 1},
407                 {0x31f0, 0x31ff, 1},
408                 {0x3400, 0x4db5, 1},
409                 {0x4e00, 0x9fef, 1},
410                 {0xa000, 0xa48c, 1},
411                 {0xa4d0, 0xa4fd, 1},
412                 {0xa500, 0xa60c, 1},
413                 {0xa610, 0xa61f, 1},
414                 {0xa62a, 0xa62b, 1},
415                 {0xa640, 0xa66e, 1},
416                 {0xa67f, 0xa69d, 1},
417                 {0xa6a0, 0xa6e5, 1},
418                 {0xa717, 0xa71f, 1},
419                 {0xa722, 0xa788, 1},
420                 {0xa78b, 0xa7b9, 1},
421                 {0xa7f7, 0xa801, 1},
422                 {0xa803, 0xa805, 1},
423                 {0xa807, 0xa80a, 1},
424                 {0xa80c, 0xa822, 1},
425                 {0xa840, 0xa873, 1},
426                 {0xa882, 0xa8b3, 1},
427                 {0xa8f2, 0xa8f7, 1},
428                 {0xa8fb, 0xa8fd, 2},
429                 {0xa8fe, 0xa90a, 12},
430                 {0xa90b, 0xa925, 1},
431                 {0xa930, 0xa946, 1},
432                 {0xa960, 0xa97c, 1},
433                 {0xa984, 0xa9b2, 1},
434                 {0xa9cf, 0xa9e0, 17},
435                 {0xa9e1, 0xa9e4, 1},
436                 {0xa9e6, 0xa9ef, 1},
437                 {0xa9fa, 0xa9fe, 1},
438                 {0xaa00, 0xaa28, 1},
439                 {0xaa40, 0xaa42, 1},
440                 {0xaa44, 0xaa4b, 1},
441                 {0xaa60, 0xaa76, 1},
442                 {0xaa7a, 0xaa7e, 4},
443                 {0xaa7f, 0xaaaf, 1},
444                 {0xaab1, 0xaab5, 4},
445                 {0xaab6, 0xaab9, 3},
446                 {0xaaba, 0xaabd, 1},
447                 {0xaac0, 0xaac2, 2},
448                 {0xaadb, 0xaadd, 1},
449                 {0xaae0, 0xaaea, 1},
450                 {0xaaf2, 0xaaf4, 1},
451                 {0xab01, 0xab06, 1},
452                 {0xab09, 0xab0e, 1},
453                 {0xab11, 0xab16, 1},
454                 {0xab20, 0xab26, 1},
455                 {0xab28, 0xab2e, 1},
456                 {0xab30, 0xab5a, 1},
457                 {0xab5c, 0xab65, 1},
458                 {0xab70, 0xabe2, 1},
459                 {0xac00, 0xd7a3, 1},
460                 {0xd7b0, 0xd7c6, 1},
461                 {0xd7cb, 0xd7fb, 1},
462                 {0xf900, 0xfa6d, 1},
463                 {0xfa70, 0xfad9, 1},
464                 {0xfb00, 0xfb06, 1},
465                 {0xfb13, 0xfb17, 1},
466                 {0xfb1d, 0xfb1f, 2},
467                 {0xfb20, 0xfb28, 1},
468                 {0xfb2a, 0xfb36, 1},
469                 {0xfb38, 0xfb3c, 1},
470                 {0xfb3e, 0xfb40, 2},
471                 {0xfb41, 0xfb43, 2},
472                 {0xfb44, 0xfb46, 2},
473                 {0xfb47, 0xfbb1, 1},
474                 {0xfbd3, 0xfd3d, 1},
475                 {0xfd50, 0xfd8f, 1},
476                 {0xfd92, 0xfdc7, 1},
477                 {0xfdf0, 0xfdfb, 1},
478                 {0xfe70, 0xfe74, 1},
479                 {0xfe76, 0xfefc, 1},
480                 {0xff21, 0xff3a, 1},
481                 {0xff41, 0xff5a, 1},
482                 {0xff66, 0xffbe, 1},
483                 {0xffc2, 0xffc7, 1},
484                 {0xffca, 0xffcf, 1},
485                 {0xffd2, 0xffd7, 1},
486                 {0xffda, 0xffdc, 1},
487         },
488         R32: []Range32{
489                 {0x10000, 0x1000b, 1},
490                 {0x1000d, 0x10026, 1},
491                 {0x10028, 0x1003a, 1},
492                 {0x1003c, 0x1003d, 1},
493                 {0x1003f, 0x1004d, 1},
494                 {0x10050, 0x1005d, 1},
495                 {0x10080, 0x100fa, 1},
496                 {0x10280, 0x1029c, 1},
497                 {0x102a0, 0x102d0, 1},
498                 {0x10300, 0x1031f, 1},
499                 {0x1032d, 0x10340, 1},
500                 {0x10342, 0x10349, 1},
501                 {0x10350, 0x10375, 1},
502                 {0x10380, 0x1039d, 1},
503                 {0x103a0, 0x103c3, 1},
504                 {0x103c8, 0x103cf, 1},
505                 {0x10400, 0x1049d, 1},
506                 {0x104b0, 0x104d3, 1},
507                 {0x104d8, 0x104fb, 1},
508                 {0x10500, 0x10527, 1},
509                 {0x10530, 0x10563, 1},
510                 {0x10600, 0x10736, 1},
511                 {0x10740, 0x10755, 1},
512                 {0x10760, 0x10767, 1},
513                 {0x10800, 0x10805, 1},
514                 {0x10808, 0x1080a, 2},
515                 {0x1080b, 0x10835, 1},
516                 {0x10837, 0x10838, 1},
517                 {0x1083c, 0x1083f, 3},
518                 {0x10840, 0x10855, 1},
519                 {0x10860, 0x10876, 1},
520                 {0x10880, 0x1089e, 1},
521                 {0x108e0, 0x108f2, 1},
522                 {0x108f4, 0x108f5, 1},
523                 {0x10900, 0x10915, 1},
524                 {0x10920, 0x10939, 1},
525                 {0x10980, 0x109b7, 1},
526                 {0x109be, 0x109bf, 1},
527                 {0x10a00, 0x10a10, 16},
528                 {0x10a11, 0x10a13, 1},
529                 {0x10a15, 0x10a17, 1},
530                 {0x10a19, 0x10a35, 1},
531                 {0x10a60, 0x10a7c, 1},
532                 {0x10a80, 0x10a9c, 1},
533                 {0x10ac0, 0x10ac7, 1},
534                 {0x10ac9, 0x10ae4, 1},
535                 {0x10b00, 0x10b35, 1},
536                 {0x10b40, 0x10b55, 1},
537                 {0x10b60, 0x10b72, 1},
538                 {0x10b80, 0x10b91, 1},
539                 {0x10c00, 0x10c48, 1},
540                 {0x10c80, 0x10cb2, 1},
541                 {0x10cc0, 0x10cf2, 1},
542                 {0x10d00, 0x10d23, 1},
543                 {0x10f00, 0x10f1c, 1},
544                 {0x10f27, 0x10f30, 9},
545                 {0x10f31, 0x10f45, 1},
546                 {0x11003, 0x11037, 1},
547                 {0x11083, 0x110af, 1},
548                 {0x110d0, 0x110e8, 1},
549                 {0x11103, 0x11126, 1},
550                 {0x11144, 0x11150, 12},
551                 {0x11151, 0x11172, 1},
552                 {0x11176, 0x11183, 13},
553                 {0x11184, 0x111b2, 1},
554                 {0x111c1, 0x111c4, 1},
555                 {0x111da, 0x111dc, 2},
556                 {0x11200, 0x11211, 1},
557                 {0x11213, 0x1122b, 1},
558                 {0x11280, 0x11286, 1},
559                 {0x11288, 0x1128a, 2},
560                 {0x1128b, 0x1128d, 1},
561                 {0x1128f, 0x1129d, 1},
562                 {0x1129f, 0x112a8, 1},
563                 {0x112b0, 0x112de, 1},
564                 {0x11305, 0x1130c, 1},
565                 {0x1130f, 0x11310, 1},
566                 {0x11313, 0x11328, 1},
567                 {0x1132a, 0x11330, 1},
568                 {0x11332, 0x11333, 1},
569                 {0x11335, 0x11339, 1},
570                 {0x1133d, 0x11350, 19},
571                 {0x1135d, 0x11361, 1},
572                 {0x11400, 0x11434, 1},
573                 {0x11447, 0x1144a, 1},
574                 {0x11480, 0x114af, 1},
575                 {0x114c4, 0x114c5, 1},
576                 {0x114c7, 0x11580, 185},
577                 {0x11581, 0x115ae, 1},
578                 {0x115d8, 0x115db, 1},
579                 {0x11600, 0x1162f, 1},
580                 {0x11644, 0x11680, 60},
581                 {0x11681, 0x116aa, 1},
582                 {0x11700, 0x1171a, 1},
583                 {0x11800, 0x1182b, 1},
584                 {0x118a0, 0x118df, 1},
585                 {0x118ff, 0x11a00, 257},
586                 {0x11a0b, 0x11a32, 1},
587                 {0x11a3a, 0x11a50, 22},
588                 {0x11a5c, 0x11a83, 1},
589                 {0x11a86, 0x11a89, 1},
590                 {0x11a9d, 0x11ac0, 35},
591                 {0x11ac1, 0x11af8, 1},
592                 {0x11c00, 0x11c08, 1},
593                 {0x11c0a, 0x11c2e, 1},
594                 {0x11c40, 0x11c72, 50},
595                 {0x11c73, 0x11c8f, 1},
596                 {0x11d00, 0x11d06, 1},
597                 {0x11d08, 0x11d09, 1},
598                 {0x11d0b, 0x11d30, 1},
599                 {0x11d46, 0x11d60, 26},
600                 {0x11d61, 0x11d65, 1},
601                 {0x11d67, 0x11d68, 1},
602                 {0x11d6a, 0x11d89, 1},
603                 {0x11d98, 0x11ee0, 328},
604                 {0x11ee1, 0x11ef2, 1},
605                 {0x12000, 0x12399, 1},
606                 {0x12480, 0x12543, 1},
607                 {0x13000, 0x1342e, 1},
608                 {0x14400, 0x14646, 1},
609                 {0x16800, 0x16a38, 1},
610                 {0x16a40, 0x16a5e, 1},
611                 {0x16ad0, 0x16aed, 1},
612                 {0x16b00, 0x16b2f, 1},
613                 {0x16b40, 0x16b43, 1},
614                 {0x16b63, 0x16b77, 1},
615                 {0x16b7d, 0x16b8f, 1},
616                 {0x16e40, 0x16e7f, 1},
617                 {0x16f00, 0x16f44, 1},
618                 {0x16f50, 0x16f93, 67},
619                 {0x16f94, 0x16f9f, 1},
620                 {0x16fe0, 0x16fe1, 1},
621                 {0x17000, 0x187f1, 1},
622                 {0x18800, 0x18af2, 1},
623                 {0x1b000, 0x1b11e, 1},
624                 {0x1b170, 0x1b2fb, 1},
625                 {0x1bc00, 0x1bc6a, 1},
626                 {0x1bc70, 0x1bc7c, 1},
627                 {0x1bc80, 0x1bc88, 1},
628                 {0x1bc90, 0x1bc99, 1},
629                 {0x1d400, 0x1d454, 1},
630                 {0x1d456, 0x1d49c, 1},
631                 {0x1d49e, 0x1d49f, 1},
632                 {0x1d4a2, 0x1d4a5, 3},
633                 {0x1d4a6, 0x1d4a9, 3},
634                 {0x1d4aa, 0x1d4ac, 1},
635                 {0x1d4ae, 0x1d4b9, 1},
636                 {0x1d4bb, 0x1d4bd, 2},
637                 {0x1d4be, 0x1d4c3, 1},
638                 {0x1d4c5, 0x1d505, 1},
639                 {0x1d507, 0x1d50a, 1},
640                 {0x1d50d, 0x1d514, 1},
641                 {0x1d516, 0x1d51c, 1},
642                 {0x1d51e, 0x1d539, 1},
643                 {0x1d53b, 0x1d53e, 1},
644                 {0x1d540, 0x1d544, 1},
645                 {0x1d546, 0x1d54a, 4},
646                 {0x1d54b, 0x1d550, 1},
647                 {0x1d552, 0x1d6a5, 1},
648                 {0x1d6a8, 0x1d6c0, 1},
649                 {0x1d6c2, 0x1d6da, 1},
650                 {0x1d6dc, 0x1d6fa, 1},
651                 {0x1d6fc, 0x1d714, 1},
652                 {0x1d716, 0x1d734, 1},
653                 {0x1d736, 0x1d74e, 1},
654                 {0x1d750, 0x1d76e, 1},
655                 {0x1d770, 0x1d788, 1},
656                 {0x1d78a, 0x1d7a8, 1},
657                 {0x1d7aa, 0x1d7c2, 1},
658                 {0x1d7c4, 0x1d7cb, 1},
659                 {0x1e800, 0x1e8c4, 1},
660                 {0x1e900, 0x1e943, 1},
661                 {0x1ee00, 0x1ee03, 1},
662                 {0x1ee05, 0x1ee1f, 1},
663                 {0x1ee21, 0x1ee22, 1},
664                 {0x1ee24, 0x1ee27, 3},
665                 {0x1ee29, 0x1ee32, 1},
666                 {0x1ee34, 0x1ee37, 1},
667                 {0x1ee39, 0x1ee3b, 2},
668                 {0x1ee42, 0x1ee47, 5},
669                 {0x1ee49, 0x1ee4d, 2},
670                 {0x1ee4e, 0x1ee4f, 1},
671                 {0x1ee51, 0x1ee52, 1},
672                 {0x1ee54, 0x1ee57, 3},
673                 {0x1ee59, 0x1ee61, 2},
674                 {0x1ee62, 0x1ee64, 2},
675                 {0x1ee67, 0x1ee6a, 1},
676                 {0x1ee6c, 0x1ee72, 1},
677                 {0x1ee74, 0x1ee77, 1},
678                 {0x1ee79, 0x1ee7c, 1},
679                 {0x1ee7e, 0x1ee80, 2},
680                 {0x1ee81, 0x1ee89, 1},
681                 {0x1ee8b, 0x1ee9b, 1},
682                 {0x1eea1, 0x1eea3, 1},
683                 {0x1eea5, 0x1eea9, 1},
684                 {0x1eeab, 0x1eebb, 1},
685                 {0x20000, 0x2a6d6, 1},
686                 {0x2a700, 0x2b734, 1},
687                 {0x2b740, 0x2b81d, 1},
688                 {0x2b820, 0x2cea1, 1},
689                 {0x2ceb0, 0x2ebe0, 1},
690                 {0x2f800, 0x2fa1d, 1},
691         },
692         LatinOffset: 6,
693 }
694
695 var _Ll = &RangeTable{
696         R16: []Range16{
697                 {0x0061, 0x007a, 1},
698                 {0x00b5, 0x00df, 42},
699                 {0x00e0, 0x00f6, 1},
700                 {0x00f8, 0x00ff, 1},
701                 {0x0101, 0x0137, 2},
702                 {0x0138, 0x0148, 2},
703                 {0x0149, 0x0177, 2},
704                 {0x017a, 0x017e, 2},
705                 {0x017f, 0x0180, 1},
706                 {0x0183, 0x0185, 2},
707                 {0x0188, 0x018c, 4},
708                 {0x018d, 0x0192, 5},
709                 {0x0195, 0x0199, 4},
710                 {0x019a, 0x019b, 1},
711                 {0x019e, 0x01a1, 3},
712                 {0x01a3, 0x01a5, 2},
713                 {0x01a8, 0x01aa, 2},
714                 {0x01ab, 0x01ad, 2},
715                 {0x01b0, 0x01b4, 4},
716                 {0x01b6, 0x01b9, 3},
717                 {0x01ba, 0x01bd, 3},
718                 {0x01be, 0x01bf, 1},
719                 {0x01c6, 0x01cc, 3},
720                 {0x01ce, 0x01dc, 2},
721                 {0x01dd, 0x01ef, 2},
722                 {0x01f0, 0x01f3, 3},
723                 {0x01f5, 0x01f9, 4},
724                 {0x01fb, 0x0233, 2},
725                 {0x0234, 0x0239, 1},
726                 {0x023c, 0x023f, 3},
727                 {0x0240, 0x0242, 2},
728                 {0x0247, 0x024f, 2},
729                 {0x0250, 0x0293, 1},
730                 {0x0295, 0x02af, 1},
731                 {0x0371, 0x0373, 2},
732                 {0x0377, 0x037b, 4},
733                 {0x037c, 0x037d, 1},
734                 {0x0390, 0x03ac, 28},
735                 {0x03ad, 0x03ce, 1},
736                 {0x03d0, 0x03d1, 1},
737                 {0x03d5, 0x03d7, 1},
738                 {0x03d9, 0x03ef, 2},
739                 {0x03f0, 0x03f3, 1},
740                 {0x03f5, 0x03fb, 3},
741                 {0x03fc, 0x0430, 52},
742                 {0x0431, 0x045f, 1},
743                 {0x0461, 0x0481, 2},
744                 {0x048b, 0x04bf, 2},
745                 {0x04c2, 0x04ce, 2},
746                 {0x04cf, 0x052f, 2},
747                 {0x0560, 0x0588, 1},
748                 {0x10d0, 0x10fa, 1},
749                 {0x10fd, 0x10ff, 1},
750                 {0x13f8, 0x13fd, 1},
751                 {0x1c80, 0x1c88, 1},
752                 {0x1d00, 0x1d2b, 1},
753                 {0x1d6b, 0x1d77, 1},
754                 {0x1d79, 0x1d9a, 1},
755                 {0x1e01, 0x1e95, 2},
756                 {0x1e96, 0x1e9d, 1},
757                 {0x1e9f, 0x1eff, 2},
758                 {0x1f00, 0x1f07, 1},
759                 {0x1f10, 0x1f15, 1},
760                 {0x1f20, 0x1f27, 1},
761                 {0x1f30, 0x1f37, 1},
762                 {0x1f40, 0x1f45, 1},
763                 {0x1f50, 0x1f57, 1},
764                 {0x1f60, 0x1f67, 1},
765                 {0x1f70, 0x1f7d, 1},
766                 {0x1f80, 0x1f87, 1},
767                 {0x1f90, 0x1f97, 1},
768                 {0x1fa0, 0x1fa7, 1},
769                 {0x1fb0, 0x1fb4, 1},
770                 {0x1fb6, 0x1fb7, 1},
771                 {0x1fbe, 0x1fc2, 4},
772                 {0x1fc3, 0x1fc4, 1},
773                 {0x1fc6, 0x1fc7, 1},
774                 {0x1fd0, 0x1fd3, 1},
775                 {0x1fd6, 0x1fd7, 1},
776                 {0x1fe0, 0x1fe7, 1},
777                 {0x1ff2, 0x1ff4, 1},
778                 {0x1ff6, 0x1ff7, 1},
779                 {0x210a, 0x210e, 4},
780                 {0x210f, 0x2113, 4},
781                 {0x212f, 0x2139, 5},
782                 {0x213c, 0x213d, 1},
783                 {0x2146, 0x2149, 1},
784                 {0x214e, 0x2184, 54},
785                 {0x2c30, 0x2c5e, 1},
786                 {0x2c61, 0x2c65, 4},
787                 {0x2c66, 0x2c6c, 2},
788                 {0x2c71, 0x2c73, 2},
789                 {0x2c74, 0x2c76, 2},
790                 {0x2c77, 0x2c7b, 1},
791                 {0x2c81, 0x2ce3, 2},
792                 {0x2ce4, 0x2cec, 8},
793                 {0x2cee, 0x2cf3, 5},
794                 {0x2d00, 0x2d25, 1},
795                 {0x2d27, 0x2d2d, 6},
796                 {0xa641, 0xa66d, 2},
797                 {0xa681, 0xa69b, 2},
798                 {0xa723, 0xa72f, 2},
799                 {0xa730, 0xa731, 1},
800                 {0xa733, 0xa771, 2},
801                 {0xa772, 0xa778, 1},
802                 {0xa77a, 0xa77c, 2},
803                 {0xa77f, 0xa787, 2},
804                 {0xa78c, 0xa78e, 2},
805                 {0xa791, 0xa793, 2},
806                 {0xa794, 0xa795, 1},
807                 {0xa797, 0xa7a9, 2},
808                 {0xa7af, 0xa7b5, 6},
809                 {0xa7b7, 0xa7b9, 2},
810                 {0xa7fa, 0xab30, 822},
811                 {0xab31, 0xab5a, 1},
812                 {0xab60, 0xab65, 1},
813                 {0xab70, 0xabbf, 1},
814                 {0xfb00, 0xfb06, 1},
815                 {0xfb13, 0xfb17, 1},
816                 {0xff41, 0xff5a, 1},
817         },
818         R32: []Range32{
819                 {0x10428, 0x1044f, 1},
820                 {0x104d8, 0x104fb, 1},
821                 {0x10cc0, 0x10cf2, 1},
822                 {0x118c0, 0x118df, 1},
823                 {0x16e60, 0x16e7f, 1},
824                 {0x1d41a, 0x1d433, 1},
825                 {0x1d44e, 0x1d454, 1},
826                 {0x1d456, 0x1d467, 1},
827                 {0x1d482, 0x1d49b, 1},
828                 {0x1d4b6, 0x1d4b9, 1},
829                 {0x1d4bb, 0x1d4bd, 2},
830                 {0x1d4be, 0x1d4c3, 1},
831                 {0x1d4c5, 0x1d4cf, 1},
832                 {0x1d4ea, 0x1d503, 1},
833                 {0x1d51e, 0x1d537, 1},
834                 {0x1d552, 0x1d56b, 1},
835                 {0x1d586, 0x1d59f, 1},
836                 {0x1d5ba, 0x1d5d3, 1},
837                 {0x1d5ee, 0x1d607, 1},
838                 {0x1d622, 0x1d63b, 1},
839                 {0x1d656, 0x1d66f, 1},
840                 {0x1d68a, 0x1d6a5, 1},
841                 {0x1d6c2, 0x1d6da, 1},
842                 {0x1d6dc, 0x1d6e1, 1},
843                 {0x1d6fc, 0x1d714, 1},
844                 {0x1d716, 0x1d71b, 1},
845                 {0x1d736, 0x1d74e, 1},
846                 {0x1d750, 0x1d755, 1},
847                 {0x1d770, 0x1d788, 1},
848                 {0x1d78a, 0x1d78f, 1},
849                 {0x1d7aa, 0x1d7c2, 1},
850                 {0x1d7c4, 0x1d7c9, 1},
851                 {0x1d7cb, 0x1e922, 4439},
852                 {0x1e923, 0x1e943, 1},
853         },
854         LatinOffset: 4,
855 }
856
857 var _Lm = &RangeTable{
858         R16: []Range16{
859                 {0x02b0, 0x02c1, 1},
860                 {0x02c6, 0x02d1, 1},
861                 {0x02e0, 0x02e4, 1},
862                 {0x02ec, 0x02ee, 2},
863                 {0x0374, 0x037a, 6},
864                 {0x0559, 0x0640, 231},
865                 {0x06e5, 0x06e6, 1},
866                 {0x07f4, 0x07f5, 1},
867                 {0x07fa, 0x081a, 32},
868                 {0x0824, 0x0828, 4},
869                 {0x0971, 0x0e46, 1237},
870                 {0x0ec6, 0x10fc, 566},
871                 {0x17d7, 0x1843, 108},
872                 {0x1aa7, 0x1c78, 465},
873                 {0x1c79, 0x1c7d, 1},
874                 {0x1d2c, 0x1d6a, 1},
875                 {0x1d78, 0x1d9b, 35},
876                 {0x1d9c, 0x1dbf, 1},
877                 {0x2071, 0x207f, 14},
878                 {0x2090, 0x209c, 1},
879                 {0x2c7c, 0x2c7d, 1},
880                 {0x2d6f, 0x2e2f, 192},
881                 {0x3005, 0x3031, 44},
882                 {0x3032, 0x3035, 1},
883                 {0x303b, 0x309d, 98},
884                 {0x309e, 0x30fc, 94},
885                 {0x30fd, 0x30fe, 1},
886                 {0xa015, 0xa4f8, 1251},
887                 {0xa4f9, 0xa4fd, 1},
888                 {0xa60c, 0xa67f, 115},
889                 {0xa69c, 0xa69d, 1},
890                 {0xa717, 0xa71f, 1},
891                 {0xa770, 0xa788, 24},
892                 {0xa7f8, 0xa7f9, 1},
893                 {0xa9cf, 0xa9e6, 23},
894                 {0xaa70, 0xaadd, 109},
895                 {0xaaf3, 0xaaf4, 1},
896                 {0xab5c, 0xab5f, 1},
897                 {0xff70, 0xff9e, 46},
898                 {0xff9f, 0xff9f, 1},
899         },
900         R32: []Range32{
901                 {0x16b40, 0x16b43, 1},
902                 {0x16f93, 0x16f9f, 1},
903                 {0x16fe0, 0x16fe1, 1},
904         },
905 }
906
907 var _Lo = &RangeTable{
908         R16: []Range16{
909                 {0x00aa, 0x00ba, 16},
910                 {0x01bb, 0x01c0, 5},
911                 {0x01c1, 0x01c3, 1},
912                 {0x0294, 0x05d0, 828},
913                 {0x05d1, 0x05ea, 1},
914                 {0x05ef, 0x05f2, 1},
915                 {0x0620, 0x063f, 1},
916                 {0x0641, 0x064a, 1},
917                 {0x066e, 0x066f, 1},
918                 {0x0671, 0x06d3, 1},
919                 {0x06d5, 0x06ee, 25},
920                 {0x06ef, 0x06fa, 11},
921                 {0x06fb, 0x06fc, 1},
922                 {0x06ff, 0x0710, 17},
923                 {0x0712, 0x072f, 1},
924                 {0x074d, 0x07a5, 1},
925                 {0x07b1, 0x07ca, 25},
926                 {0x07cb, 0x07ea, 1},
927                 {0x0800, 0x0815, 1},
928                 {0x0840, 0x0858, 1},
929                 {0x0860, 0x086a, 1},
930                 {0x08a0, 0x08b4, 1},
931                 {0x08b6, 0x08bd, 1},
932                 {0x0904, 0x0939, 1},
933                 {0x093d, 0x0950, 19},
934                 {0x0958, 0x0961, 1},
935                 {0x0972, 0x0980, 1},
936                 {0x0985, 0x098c, 1},
937                 {0x098f, 0x0990, 1},
938                 {0x0993, 0x09a8, 1},
939                 {0x09aa, 0x09b0, 1},
940                 {0x09b2, 0x09b6, 4},
941                 {0x09b7, 0x09b9, 1},
942                 {0x09bd, 0x09ce, 17},
943                 {0x09dc, 0x09dd, 1},
944                 {0x09df, 0x09e1, 1},
945                 {0x09f0, 0x09f1, 1},
946                 {0x09fc, 0x0a05, 9},
947                 {0x0a06, 0x0a0a, 1},
948                 {0x0a0f, 0x0a10, 1},
949                 {0x0a13, 0x0a28, 1},
950                 {0x0a2a, 0x0a30, 1},
951                 {0x0a32, 0x0a33, 1},
952                 {0x0a35, 0x0a36, 1},
953                 {0x0a38, 0x0a39, 1},
954                 {0x0a59, 0x0a5c, 1},
955                 {0x0a5e, 0x0a72, 20},
956                 {0x0a73, 0x0a74, 1},
957                 {0x0a85, 0x0a8d, 1},
958                 {0x0a8f, 0x0a91, 1},
959                 {0x0a93, 0x0aa8, 1},
960                 {0x0aaa, 0x0ab0, 1},
961                 {0x0ab2, 0x0ab3, 1},
962                 {0x0ab5, 0x0ab9, 1},
963                 {0x0abd, 0x0ad0, 19},
964                 {0x0ae0, 0x0ae1, 1},
965                 {0x0af9, 0x0b05, 12},
966                 {0x0b06, 0x0b0c, 1},
967                 {0x0b0f, 0x0b10, 1},
968                 {0x0b13, 0x0b28, 1},
969                 {0x0b2a, 0x0b30, 1},
970                 {0x0b32, 0x0b33, 1},
971                 {0x0b35, 0x0b39, 1},
972                 {0x0b3d, 0x0b5c, 31},
973                 {0x0b5d, 0x0b5f, 2},
974                 {0x0b60, 0x0b61, 1},
975                 {0x0b71, 0x0b83, 18},
976                 {0x0b85, 0x0b8a, 1},
977                 {0x0b8e, 0x0b90, 1},
978                 {0x0b92, 0x0b95, 1},
979                 {0x0b99, 0x0b9a, 1},
980                 {0x0b9c, 0x0b9e, 2},
981                 {0x0b9f, 0x0ba3, 4},
982                 {0x0ba4, 0x0ba8, 4},
983                 {0x0ba9, 0x0baa, 1},
984                 {0x0bae, 0x0bb9, 1},
985                 {0x0bd0, 0x0c05, 53},
986                 {0x0c06, 0x0c0c, 1},
987                 {0x0c0e, 0x0c10, 1},
988                 {0x0c12, 0x0c28, 1},
989                 {0x0c2a, 0x0c39, 1},
990                 {0x0c3d, 0x0c58, 27},
991                 {0x0c59, 0x0c5a, 1},
992                 {0x0c60, 0x0c61, 1},
993                 {0x0c80, 0x0c85, 5},
994                 {0x0c86, 0x0c8c, 1},
995                 {0x0c8e, 0x0c90, 1},
996                 {0x0c92, 0x0ca8, 1},
997                 {0x0caa, 0x0cb3, 1},
998                 {0x0cb5, 0x0cb9, 1},
999                 {0x0cbd, 0x0cde, 33},
1000                 {0x0ce0, 0x0ce1, 1},
1001                 {0x0cf1, 0x0cf2, 1},
1002                 {0x0d05, 0x0d0c, 1},
1003                 {0x0d0e, 0x0d10, 1},
1004                 {0x0d12, 0x0d3a, 1},
1005                 {0x0d3d, 0x0d4e, 17},
1006                 {0x0d54, 0x0d56, 1},
1007                 {0x0d5f, 0x0d61, 1},
1008                 {0x0d7a, 0x0d7f, 1},
1009                 {0x0d85, 0x0d96, 1},
1010                 {0x0d9a, 0x0db1, 1},
1011                 {0x0db3, 0x0dbb, 1},
1012                 {0x0dbd, 0x0dc0, 3},
1013                 {0x0dc1, 0x0dc6, 1},
1014                 {0x0e01, 0x0e30, 1},
1015                 {0x0e32, 0x0e33, 1},
1016                 {0x0e40, 0x0e45, 1},
1017                 {0x0e81, 0x0e82, 1},
1018                 {0x0e84, 0x0e87, 3},
1019                 {0x0e88, 0x0e8a, 2},
1020                 {0x0e8d, 0x0e94, 7},
1021                 {0x0e95, 0x0e97, 1},
1022                 {0x0e99, 0x0e9f, 1},
1023                 {0x0ea1, 0x0ea3, 1},
1024                 {0x0ea5, 0x0ea7, 2},
1025                 {0x0eaa, 0x0eab, 1},
1026                 {0x0ead, 0x0eb0, 1},
1027                 {0x0eb2, 0x0eb3, 1},
1028                 {0x0ebd, 0x0ec0, 3},
1029                 {0x0ec1, 0x0ec4, 1},
1030                 {0x0edc, 0x0edf, 1},
1031                 {0x0f00, 0x0f40, 64},
1032                 {0x0f41, 0x0f47, 1},
1033                 {0x0f49, 0x0f6c, 1},
1034                 {0x0f88, 0x0f8c, 1},
1035                 {0x1000, 0x102a, 1},
1036                 {0x103f, 0x1050, 17},
1037                 {0x1051, 0x1055, 1},
1038                 {0x105a, 0x105d, 1},
1039                 {0x1061, 0x1065, 4},
1040                 {0x1066, 0x106e, 8},
1041                 {0x106f, 0x1070, 1},
1042                 {0x1075, 0x1081, 1},
1043                 {0x108e, 0x1100, 114},
1044                 {0x1101, 0x1248, 1},
1045                 {0x124a, 0x124d, 1},
1046                 {0x1250, 0x1256, 1},
1047                 {0x1258, 0x125a, 2},
1048                 {0x125b, 0x125d, 1},
1049                 {0x1260, 0x1288, 1},
1050                 {0x128a, 0x128d, 1},
1051                 {0x1290, 0x12b0, 1},
1052                 {0x12b2, 0x12b5, 1},
1053                 {0x12b8, 0x12be, 1},
1054                 {0x12c0, 0x12c2, 2},
1055                 {0x12c3, 0x12c5, 1},
1056                 {0x12c8, 0x12d6, 1},
1057                 {0x12d8, 0x1310, 1},
1058                 {0x1312, 0x1315, 1},
1059                 {0x1318, 0x135a, 1},
1060                 {0x1380, 0x138f, 1},
1061                 {0x1401, 0x166c, 1},
1062                 {0x166f, 0x167f, 1},
1063                 {0x1681, 0x169a, 1},
1064                 {0x16a0, 0x16ea, 1},
1065                 {0x16f1, 0x16f8, 1},
1066                 {0x1700, 0x170c, 1},
1067                 {0x170e, 0x1711, 1},
1068                 {0x1720, 0x1731, 1},
1069                 {0x1740, 0x1751, 1},
1070                 {0x1760, 0x176c, 1},
1071                 {0x176e, 0x1770, 1},
1072                 {0x1780, 0x17b3, 1},
1073                 {0x17dc, 0x1820, 68},
1074                 {0x1821, 0x1842, 1},
1075                 {0x1844, 0x1878, 1},
1076                 {0x1880, 0x1884, 1},
1077                 {0x1887, 0x18a8, 1},
1078                 {0x18aa, 0x18b0, 6},
1079                 {0x18b1, 0x18f5, 1},
1080                 {0x1900, 0x191e, 1},
1081                 {0x1950, 0x196d, 1},
1082                 {0x1970, 0x1974, 1},
1083                 {0x1980, 0x19ab, 1},
1084                 {0x19b0, 0x19c9, 1},
1085                 {0x1a00, 0x1a16, 1},
1086                 {0x1a20, 0x1a54, 1},
1087                 {0x1b05, 0x1b33, 1},
1088                 {0x1b45, 0x1b4b, 1},
1089                 {0x1b83, 0x1ba0, 1},
1090                 {0x1bae, 0x1baf, 1},
1091                 {0x1bba, 0x1be5, 1},
1092                 {0x1c00, 0x1c23, 1},
1093                 {0x1c4d, 0x1c4f, 1},
1094                 {0x1c5a, 0x1c77, 1},
1095                 {0x1ce9, 0x1cec, 1},
1096                 {0x1cee, 0x1cf1, 1},
1097                 {0x1cf5, 0x1cf6, 1},
1098                 {0x2135, 0x2138, 1},
1099                 {0x2d30, 0x2d67, 1},
1100                 {0x2d80, 0x2d96, 1},
1101                 {0x2da0, 0x2da6, 1},
1102                 {0x2da8, 0x2dae, 1},
1103                 {0x2db0, 0x2db6, 1},
1104                 {0x2db8, 0x2dbe, 1},
1105                 {0x2dc0, 0x2dc6, 1},
1106                 {0x2dc8, 0x2dce, 1},
1107                 {0x2dd0, 0x2dd6, 1},
1108                 {0x2dd8, 0x2dde, 1},
1109                 {0x3006, 0x303c, 54},
1110                 {0x3041, 0x3096, 1},
1111                 {0x309f, 0x30a1, 2},
1112                 {0x30a2, 0x30fa, 1},
1113                 {0x30ff, 0x3105, 6},
1114                 {0x3106, 0x312f, 1},
1115                 {0x3131, 0x318e, 1},
1116                 {0x31a0, 0x31ba, 1},
1117                 {0x31f0, 0x31ff, 1},
1118                 {0x3400, 0x4db5, 1},
1119                 {0x4e00, 0x9fef, 1},
1120                 {0xa000, 0xa014, 1},
1121                 {0xa016, 0xa48c, 1},
1122                 {0xa4d0, 0xa4f7, 1},
1123                 {0xa500, 0xa60b, 1},
1124                 {0xa610, 0xa61f, 1},
1125                 {0xa62a, 0xa62b, 1},
1126                 {0xa66e, 0xa6a0, 50},
1127                 {0xa6a1, 0xa6e5, 1},
1128                 {0xa78f, 0xa7f7, 104},
1129                 {0xa7fb, 0xa801, 1},
1130                 {0xa803, 0xa805, 1},
1131                 {0xa807, 0xa80a, 1},
1132                 {0xa80c, 0xa822, 1},
1133                 {0xa840, 0xa873, 1},
1134                 {0xa882, 0xa8b3, 1},
1135                 {0xa8f2, 0xa8f7, 1},
1136                 {0xa8fb, 0xa8fd, 2},
1137                 {0xa8fe, 0xa90a, 12},
1138                 {0xa90b, 0xa925, 1},
1139                 {0xa930, 0xa946, 1},
1140                 {0xa960, 0xa97c, 1},
1141                 {0xa984, 0xa9b2, 1},
1142                 {0xa9e0, 0xa9e4, 1},
1143                 {0xa9e7, 0xa9ef, 1},
1144                 {0xa9fa, 0xa9fe, 1},
1145                 {0xaa00, 0xaa28, 1},
1146                 {0xaa40, 0xaa42, 1},
1147                 {0xaa44, 0xaa4b, 1},
1148                 {0xaa60, 0xaa6f, 1},
1149                 {0xaa71, 0xaa76, 1},
1150                 {0xaa7a, 0xaa7e, 4},
1151                 {0xaa7f, 0xaaaf, 1},
1152                 {0xaab1, 0xaab5, 4},
1153                 {0xaab6, 0xaab9, 3},
1154                 {0xaaba, 0xaabd, 1},
1155                 {0xaac0, 0xaac2, 2},
1156                 {0xaadb, 0xaadc, 1},
1157                 {0xaae0, 0xaaea, 1},
1158                 {0xaaf2, 0xab01, 15},
1159                 {0xab02, 0xab06, 1},
1160                 {0xab09, 0xab0e, 1},
1161                 {0xab11, 0xab16, 1},
1162                 {0xab20, 0xab26, 1},
1163                 {0xab28, 0xab2e, 1},
1164                 {0xabc0, 0xabe2, 1},
1165                 {0xac00, 0xd7a3, 1},
1166                 {0xd7b0, 0xd7c6, 1},
1167                 {0xd7cb, 0xd7fb, 1},
1168                 {0xf900, 0xfa6d, 1},
1169                 {0xfa70, 0xfad9, 1},
1170                 {0xfb1d, 0xfb1f, 2},
1171                 {0xfb20, 0xfb28, 1},
1172                 {0xfb2a, 0xfb36, 1},
1173                 {0xfb38, 0xfb3c, 1},
1174                 {0xfb3e, 0xfb40, 2},
1175                 {0xfb41, 0xfb43, 2},
1176                 {0xfb44, 0xfb46, 2},
1177                 {0xfb47, 0xfbb1, 1},
1178                 {0xfbd3, 0xfd3d, 1},
1179                 {0xfd50, 0xfd8f, 1},
1180                 {0xfd92, 0xfdc7, 1},
1181                 {0xfdf0, 0xfdfb, 1},
1182                 {0xfe70, 0xfe74, 1},
1183                 {0xfe76, 0xfefc, 1},
1184                 {0xff66, 0xff6f, 1},
1185                 {0xff71, 0xff9d, 1},
1186                 {0xffa0, 0xffbe, 1},
1187                 {0xffc2, 0xffc7, 1},
1188                 {0xffca, 0xffcf, 1},
1189                 {0xffd2, 0xffd7, 1},
1190                 {0xffda, 0xffdc, 1},
1191         },
1192         R32: []Range32{
1193                 {0x10000, 0x1000b, 1},
1194                 {0x1000d, 0x10026, 1},
1195                 {0x10028, 0x1003a, 1},
1196                 {0x1003c, 0x1003d, 1},
1197                 {0x1003f, 0x1004d, 1},
1198                 {0x10050, 0x1005d, 1},
1199                 {0x10080, 0x100fa, 1},
1200                 {0x10280, 0x1029c, 1},
1201                 {0x102a0, 0x102d0, 1},
1202                 {0x10300, 0x1031f, 1},
1203                 {0x1032d, 0x10340, 1},
1204                 {0x10342, 0x10349, 1},
1205                 {0x10350, 0x10375, 1},
1206                 {0x10380, 0x1039d, 1},
1207                 {0x103a0, 0x103c3, 1},
1208                 {0x103c8, 0x103cf, 1},
1209                 {0x10450, 0x1049d, 1},
1210                 {0x10500, 0x10527, 1},
1211                 {0x10530, 0x10563, 1},
1212                 {0x10600, 0x10736, 1},
1213                 {0x10740, 0x10755, 1},
1214                 {0x10760, 0x10767, 1},
1215                 {0x10800, 0x10805, 1},
1216                 {0x10808, 0x1080a, 2},
1217                 {0x1080b, 0x10835, 1},
1218                 {0x10837, 0x10838, 1},
1219                 {0x1083c, 0x1083f, 3},
1220                 {0x10840, 0x10855, 1},
1221                 {0x10860, 0x10876, 1},
1222                 {0x10880, 0x1089e, 1},
1223                 {0x108e0, 0x108f2, 1},
1224                 {0x108f4, 0x108f5, 1},
1225                 {0x10900, 0x10915, 1},
1226                 {0x10920, 0x10939, 1},
1227                 {0x10980, 0x109b7, 1},
1228                 {0x109be, 0x109bf, 1},
1229                 {0x10a00, 0x10a10, 16},
1230                 {0x10a11, 0x10a13, 1},
1231                 {0x10a15, 0x10a17, 1},
1232                 {0x10a19, 0x10a35, 1},
1233                 {0x10a60, 0x10a7c, 1},
1234                 {0x10a80, 0x10a9c, 1},
1235                 {0x10ac0, 0x10ac7, 1},
1236                 {0x10ac9, 0x10ae4, 1},
1237                 {0x10b00, 0x10b35, 1},
1238                 {0x10b40, 0x10b55, 1},
1239                 {0x10b60, 0x10b72, 1},
1240                 {0x10b80, 0x10b91, 1},
1241                 {0x10c00, 0x10c48, 1},
1242                 {0x10d00, 0x10d23, 1},
1243                 {0x10f00, 0x10f1c, 1},
1244                 {0x10f27, 0x10f30, 9},
1245                 {0x10f31, 0x10f45, 1},
1246                 {0x11003, 0x11037, 1},
1247                 {0x11083, 0x110af, 1},
1248                 {0x110d0, 0x110e8, 1},
1249                 {0x11103, 0x11126, 1},
1250                 {0x11144, 0x11150, 12},
1251                 {0x11151, 0x11172, 1},
1252                 {0x11176, 0x11183, 13},
1253                 {0x11184, 0x111b2, 1},
1254                 {0x111c1, 0x111c4, 1},
1255                 {0x111da, 0x111dc, 2},
1256                 {0x11200, 0x11211, 1},
1257                 {0x11213, 0x1122b, 1},
1258                 {0x11280, 0x11286, 1},
1259                 {0x11288, 0x1128a, 2},
1260                 {0x1128b, 0x1128d, 1},
1261                 {0x1128f, 0x1129d, 1},
1262                 {0x1129f, 0x112a8, 1},
1263                 {0x112b0, 0x112de, 1},
1264                 {0x11305, 0x1130c, 1},
1265                 {0x1130f, 0x11310, 1},
1266                 {0x11313, 0x11328, 1},
1267                 {0x1132a, 0x11330, 1},
1268                 {0x11332, 0x11333, 1},
1269                 {0x11335, 0x11339, 1},
1270                 {0x1133d, 0x11350, 19},
1271                 {0x1135d, 0x11361, 1},
1272                 {0x11400, 0x11434, 1},
1273                 {0x11447, 0x1144a, 1},
1274                 {0x11480, 0x114af, 1},
1275                 {0x114c4, 0x114c5, 1},
1276                 {0x114c7, 0x11580, 185},
1277                 {0x11581, 0x115ae, 1},
1278                 {0x115d8, 0x115db, 1},
1279                 {0x11600, 0x1162f, 1},
1280                 {0x11644, 0x11680, 60},
1281                 {0x11681, 0x116aa, 1},
1282                 {0x11700, 0x1171a, 1},
1283                 {0x11800, 0x1182b, 1},
1284                 {0x118ff, 0x11a00, 257},
1285                 {0x11a0b, 0x11a32, 1},
1286                 {0x11a3a, 0x11a50, 22},
1287                 {0x11a5c, 0x11a83, 1},
1288                 {0x11a86, 0x11a89, 1},
1289                 {0x11a9d, 0x11ac0, 35},
1290                 {0x11ac1, 0x11af8, 1},
1291                 {0x11c00, 0x11c08, 1},
1292                 {0x11c0a, 0x11c2e, 1},
1293                 {0x11c40, 0x11c72, 50},
1294                 {0x11c73, 0x11c8f, 1},
1295                 {0x11d00, 0x11d06, 1},
1296                 {0x11d08, 0x11d09, 1},
1297                 {0x11d0b, 0x11d30, 1},
1298                 {0x11d46, 0x11d60, 26},
1299                 {0x11d61, 0x11d65, 1},
1300                 {0x11d67, 0x11d68, 1},
1301                 {0x11d6a, 0x11d89, 1},
1302                 {0x11d98, 0x11ee0, 328},
1303                 {0x11ee1, 0x11ef2, 1},
1304                 {0x12000, 0x12399, 1},
1305                 {0x12480, 0x12543, 1},
1306                 {0x13000, 0x1342e, 1},
1307                 {0x14400, 0x14646, 1},
1308                 {0x16800, 0x16a38, 1},
1309                 {0x16a40, 0x16a5e, 1},
1310                 {0x16ad0, 0x16aed, 1},
1311                 {0x16b00, 0x16b2f, 1},
1312                 {0x16b63, 0x16b77, 1},
1313                 {0x16b7d, 0x16b8f, 1},
1314                 {0x16f00, 0x16f44, 1},
1315                 {0x16f50, 0x17000, 176},
1316                 {0x17001, 0x187f1, 1},
1317                 {0x18800, 0x18af2, 1},
1318                 {0x1b000, 0x1b11e, 1},
1319                 {0x1b170, 0x1b2fb, 1},
1320                 {0x1bc00, 0x1bc6a, 1},
1321                 {0x1bc70, 0x1bc7c, 1},
1322                 {0x1bc80, 0x1bc88, 1},
1323                 {0x1bc90, 0x1bc99, 1},
1324                 {0x1e800, 0x1e8c4, 1},
1325                 {0x1ee00, 0x1ee03, 1},
1326                 {0x1ee05, 0x1ee1f, 1},
1327                 {0x1ee21, 0x1ee22, 1},
1328                 {0x1ee24, 0x1ee27, 3},
1329                 {0x1ee29, 0x1ee32, 1},
1330                 {0x1ee34, 0x1ee37, 1},
1331                 {0x1ee39, 0x1ee3b, 2},
1332                 {0x1ee42, 0x1ee47, 5},
1333                 {0x1ee49, 0x1ee4d, 2},
1334                 {0x1ee4e, 0x1ee4f, 1},
1335                 {0x1ee51, 0x1ee52, 1},
1336                 {0x1ee54, 0x1ee57, 3},
1337                 {0x1ee59, 0x1ee61, 2},
1338                 {0x1ee62, 0x1ee64, 2},
1339                 {0x1ee67, 0x1ee6a, 1},
1340                 {0x1ee6c, 0x1ee72, 1},
1341                 {0x1ee74, 0x1ee77, 1},
1342                 {0x1ee79, 0x1ee7c, 1},
1343                 {0x1ee7e, 0x1ee80, 2},
1344                 {0x1ee81, 0x1ee89, 1},
1345                 {0x1ee8b, 0x1ee9b, 1},
1346                 {0x1eea1, 0x1eea3, 1},
1347                 {0x1eea5, 0x1eea9, 1},
1348                 {0x1eeab, 0x1eebb, 1},
1349                 {0x20000, 0x2a6d6, 1},
1350                 {0x2a700, 0x2b734, 1},
1351                 {0x2b740, 0x2b81d, 1},
1352                 {0x2b820, 0x2cea1, 1},
1353                 {0x2ceb0, 0x2ebe0, 1},
1354                 {0x2f800, 0x2fa1d, 1},
1355         },
1356         LatinOffset: 1,
1357 }
1358
1359 var _Lt = &RangeTable{
1360         R16: []Range16{
1361                 {0x01c5, 0x01cb, 3},
1362                 {0x01f2, 0x1f88, 7574},
1363                 {0x1f89, 0x1f8f, 1},
1364                 {0x1f98, 0x1f9f, 1},
1365                 {0x1fa8, 0x1faf, 1},
1366                 {0x1fbc, 0x1fcc, 16},
1367                 {0x1ffc, 0x1ffc, 1},
1368         },
1369 }
1370
1371 var _Lu = &RangeTable{
1372         R16: []Range16{
1373                 {0x0041, 0x005a, 1},
1374                 {0x00c0, 0x00d6, 1},
1375                 {0x00d8, 0x00de, 1},
1376                 {0x0100, 0x0136, 2},
1377                 {0x0139, 0x0147, 2},
1378                 {0x014a, 0x0178, 2},
1379                 {0x0179, 0x017d, 2},
1380                 {0x0181, 0x0182, 1},
1381                 {0x0184, 0x0186, 2},
1382                 {0x0187, 0x0189, 2},
1383                 {0x018a, 0x018b, 1},
1384                 {0x018e, 0x0191, 1},
1385                 {0x0193, 0x0194, 1},
1386                 {0x0196, 0x0198, 1},
1387                 {0x019c, 0x019d, 1},
1388                 {0x019f, 0x01a0, 1},
1389                 {0x01a2, 0x01a6, 2},
1390                 {0x01a7, 0x01a9, 2},
1391                 {0x01ac, 0x01ae, 2},
1392                 {0x01af, 0x01b1, 2},
1393                 {0x01b2, 0x01b3, 1},
1394                 {0x01b5, 0x01b7, 2},
1395                 {0x01b8, 0x01bc, 4},
1396                 {0x01c4, 0x01cd, 3},
1397                 {0x01cf, 0x01db, 2},
1398                 {0x01de, 0x01ee, 2},
1399                 {0x01f1, 0x01f4, 3},
1400                 {0x01f6, 0x01f8, 1},
1401                 {0x01fa, 0x0232, 2},
1402                 {0x023a, 0x023b, 1},
1403                 {0x023d, 0x023e, 1},
1404                 {0x0241, 0x0243, 2},
1405                 {0x0244, 0x0246, 1},
1406                 {0x0248, 0x024e, 2},
1407                 {0x0370, 0x0372, 2},
1408                 {0x0376, 0x037f, 9},
1409                 {0x0386, 0x0388, 2},
1410                 {0x0389, 0x038a, 1},
1411                 {0x038c, 0x038e, 2},
1412                 {0x038f, 0x0391, 2},
1413                 {0x0392, 0x03a1, 1},
1414                 {0x03a3, 0x03ab, 1},
1415                 {0x03cf, 0x03d2, 3},
1416                 {0x03d3, 0x03d4, 1},
1417                 {0x03d8, 0x03ee, 2},
1418                 {0x03f4, 0x03f7, 3},
1419                 {0x03f9, 0x03fa, 1},
1420                 {0x03fd, 0x042f, 1},
1421                 {0x0460, 0x0480, 2},
1422                 {0x048a, 0x04c0, 2},
1423                 {0x04c1, 0x04cd, 2},
1424                 {0x04d0, 0x052e, 2},
1425                 {0x0531, 0x0556, 1},
1426                 {0x10a0, 0x10c5, 1},
1427                 {0x10c7, 0x10cd, 6},
1428                 {0x13a0, 0x13f5, 1},
1429                 {0x1c90, 0x1cba, 1},
1430                 {0x1cbd, 0x1cbf, 1},
1431                 {0x1e00, 0x1e94, 2},
1432                 {0x1e9e, 0x1efe, 2},
1433                 {0x1f08, 0x1f0f, 1},
1434                 {0x1f18, 0x1f1d, 1},
1435                 {0x1f28, 0x1f2f, 1},
1436                 {0x1f38, 0x1f3f, 1},
1437                 {0x1f48, 0x1f4d, 1},
1438                 {0x1f59, 0x1f5f, 2},
1439                 {0x1f68, 0x1f6f, 1},
1440                 {0x1fb8, 0x1fbb, 1},
1441                 {0x1fc8, 0x1fcb, 1},
1442                 {0x1fd8, 0x1fdb, 1},
1443                 {0x1fe8, 0x1fec, 1},
1444                 {0x1ff8, 0x1ffb, 1},
1445                 {0x2102, 0x2107, 5},
1446                 {0x210b, 0x210d, 1},
1447                 {0x2110, 0x2112, 1},
1448                 {0x2115, 0x2119, 4},
1449                 {0x211a, 0x211d, 1},
1450                 {0x2124, 0x212a, 2},
1451                 {0x212b, 0x212d, 1},
1452                 {0x2130, 0x2133, 1},
1453                 {0x213e, 0x213f, 1},
1454                 {0x2145, 0x2183, 62},
1455                 {0x2c00, 0x2c2e, 1},
1456                 {0x2c60, 0x2c62, 2},
1457                 {0x2c63, 0x2c64, 1},
1458                 {0x2c67, 0x2c6d, 2},
1459                 {0x2c6e, 0x2c70, 1},
1460                 {0x2c72, 0x2c75, 3},
1461                 {0x2c7e, 0x2c80, 1},
1462                 {0x2c82, 0x2ce2, 2},
1463                 {0x2ceb, 0x2ced, 2},
1464                 {0x2cf2, 0xa640, 31054},
1465                 {0xa642, 0xa66c, 2},
1466                 {0xa680, 0xa69a, 2},
1467                 {0xa722, 0xa72e, 2},
1468                 {0xa732, 0xa76e, 2},
1469                 {0xa779, 0xa77d, 2},
1470                 {0xa77e, 0xa786, 2},
1471                 {0xa78b, 0xa78d, 2},
1472                 {0xa790, 0xa792, 2},
1473                 {0xa796, 0xa7aa, 2},
1474                 {0xa7ab, 0xa7ae, 1},
1475                 {0xa7b0, 0xa7b4, 1},
1476                 {0xa7b6, 0xa7b8, 2},
1477                 {0xff21, 0xff3a, 1},
1478         },
1479         R32: []Range32{
1480                 {0x10400, 0x10427, 1},
1481                 {0x104b0, 0x104d3, 1},
1482                 {0x10c80, 0x10cb2, 1},
1483                 {0x118a0, 0x118bf, 1},
1484                 {0x16e40, 0x16e5f, 1},
1485                 {0x1d400, 0x1d419, 1},
1486                 {0x1d434, 0x1d44d, 1},
1487                 {0x1d468, 0x1d481, 1},
1488                 {0x1d49c, 0x1d49e, 2},
1489                 {0x1d49f, 0x1d4a5, 3},
1490                 {0x1d4a6, 0x1d4a9, 3},
1491                 {0x1d4aa, 0x1d4ac, 1},
1492                 {0x1d4ae, 0x1d4b5, 1},
1493                 {0x1d4d0, 0x1d4e9, 1},
1494                 {0x1d504, 0x1d505, 1},
1495                 {0x1d507, 0x1d50a, 1},
1496                 {0x1d50d, 0x1d514, 1},
1497                 {0x1d516, 0x1d51c, 1},
1498                 {0x1d538, 0x1d539, 1},
1499                 {0x1d53b, 0x1d53e, 1},
1500                 {0x1d540, 0x1d544, 1},
1501                 {0x1d546, 0x1d54a, 4},
1502                 {0x1d54b, 0x1d550, 1},
1503                 {0x1d56c, 0x1d585, 1},
1504                 {0x1d5a0, 0x1d5b9, 1},
1505                 {0x1d5d4, 0x1d5ed, 1},
1506                 {0x1d608, 0x1d621, 1},
1507                 {0x1d63c, 0x1d655, 1},
1508                 {0x1d670, 0x1d689, 1},
1509                 {0x1d6a8, 0x1d6c0, 1},
1510                 {0x1d6e2, 0x1d6fa, 1},
1511                 {0x1d71c, 0x1d734, 1},
1512                 {0x1d756, 0x1d76e, 1},
1513                 {0x1d790, 0x1d7a8, 1},
1514                 {0x1d7ca, 0x1e900, 4406},
1515                 {0x1e901, 0x1e921, 1},
1516         },
1517         LatinOffset: 3,
1518 }
1519
1520 var _M = &RangeTable{
1521         R16: []Range16{
1522                 {0x0300, 0x036f, 1},
1523                 {0x0483, 0x0489, 1},
1524                 {0x0591, 0x05bd, 1},
1525                 {0x05bf, 0x05c1, 2},
1526                 {0x05c2, 0x05c4, 2},
1527                 {0x05c5, 0x05c7, 2},
1528                 {0x0610, 0x061a, 1},
1529                 {0x064b, 0x065f, 1},
1530                 {0x0670, 0x06d6, 102},
1531                 {0x06d7, 0x06dc, 1},
1532                 {0x06df, 0x06e4, 1},
1533                 {0x06e7, 0x06e8, 1},
1534                 {0x06ea, 0x06ed, 1},
1535                 {0x0711, 0x0730, 31},
1536                 {0x0731, 0x074a, 1},
1537                 {0x07a6, 0x07b0, 1},
1538                 {0x07eb, 0x07f3, 1},
1539                 {0x07fd, 0x0816, 25},
1540                 {0x0817, 0x0819, 1},
1541                 {0x081b, 0x0823, 1},
1542                 {0x0825, 0x0827, 1},
1543                 {0x0829, 0x082d, 1},
1544                 {0x0859, 0x085b, 1},
1545                 {0x08d3, 0x08e1, 1},
1546                 {0x08e3, 0x0903, 1},
1547                 {0x093a, 0x093c, 1},
1548                 {0x093e, 0x094f, 1},
1549                 {0x0951, 0x0957, 1},
1550                 {0x0962, 0x0963, 1},
1551                 {0x0981, 0x0983, 1},
1552                 {0x09bc, 0x09be, 2},
1553                 {0x09bf, 0x09c4, 1},
1554                 {0x09c7, 0x09c8, 1},
1555                 {0x09cb, 0x09cd, 1},
1556                 {0x09d7, 0x09e2, 11},
1557                 {0x09e3, 0x09fe, 27},
1558                 {0x0a01, 0x0a03, 1},
1559                 {0x0a3c, 0x0a3e, 2},
1560                 {0x0a3f, 0x0a42, 1},
1561                 {0x0a47, 0x0a48, 1},
1562                 {0x0a4b, 0x0a4d, 1},
1563                 {0x0a51, 0x0a70, 31},
1564                 {0x0a71, 0x0a75, 4},
1565                 {0x0a81, 0x0a83, 1},
1566                 {0x0abc, 0x0abe, 2},
1567                 {0x0abf, 0x0ac5, 1},
1568                 {0x0ac7, 0x0ac9, 1},
1569                 {0x0acb, 0x0acd, 1},
1570                 {0x0ae2, 0x0ae3, 1},
1571                 {0x0afa, 0x0aff, 1},
1572                 {0x0b01, 0x0b03, 1},
1573                 {0x0b3c, 0x0b3e, 2},
1574                 {0x0b3f, 0x0b44, 1},
1575                 {0x0b47, 0x0b48, 1},
1576                 {0x0b4b, 0x0b4d, 1},
1577                 {0x0b56, 0x0b57, 1},
1578                 {0x0b62, 0x0b63, 1},
1579                 {0x0b82, 0x0bbe, 60},
1580                 {0x0bbf, 0x0bc2, 1},
1581                 {0x0bc6, 0x0bc8, 1},
1582                 {0x0bca, 0x0bcd, 1},
1583                 {0x0bd7, 0x0c00, 41},
1584                 {0x0c01, 0x0c04, 1},
1585                 {0x0c3e, 0x0c44, 1},
1586                 {0x0c46, 0x0c48, 1},
1587                 {0x0c4a, 0x0c4d, 1},
1588                 {0x0c55, 0x0c56, 1},
1589                 {0x0c62, 0x0c63, 1},
1590                 {0x0c81, 0x0c83, 1},
1591                 {0x0cbc, 0x0cbe, 2},
1592                 {0x0cbf, 0x0cc4, 1},
1593                 {0x0cc6, 0x0cc8, 1},
1594                 {0x0cca, 0x0ccd, 1},
1595                 {0x0cd5, 0x0cd6, 1},
1596                 {0x0ce2, 0x0ce3, 1},
1597                 {0x0d00, 0x0d03, 1},
1598                 {0x0d3b, 0x0d3c, 1},
1599                 {0x0d3e, 0x0d44, 1},
1600                 {0x0d46, 0x0d48, 1},
1601                 {0x0d4a, 0x0d4d, 1},
1602                 {0x0d57, 0x0d62, 11},
1603                 {0x0d63, 0x0d82, 31},
1604                 {0x0d83, 0x0dca, 71},
1605                 {0x0dcf, 0x0dd4, 1},
1606                 {0x0dd6, 0x0dd8, 2},
1607                 {0x0dd9, 0x0ddf, 1},
1608                 {0x0df2, 0x0df3, 1},
1609                 {0x0e31, 0x0e34, 3},
1610                 {0x0e35, 0x0e3a, 1},
1611                 {0x0e47, 0x0e4e, 1},
1612                 {0x0eb1, 0x0eb4, 3},
1613                 {0x0eb5, 0x0eb9, 1},
1614                 {0x0ebb, 0x0ebc, 1},
1615                 {0x0ec8, 0x0ecd, 1},
1616                 {0x0f18, 0x0f19, 1},
1617                 {0x0f35, 0x0f39, 2},
1618                 {0x0f3e, 0x0f3f, 1},
1619                 {0x0f71, 0x0f84, 1},
1620                 {0x0f86, 0x0f87, 1},
1621                 {0x0f8d, 0x0f97, 1},
1622                 {0x0f99, 0x0fbc, 1},
1623                 {0x0fc6, 0x102b, 101},
1624                 {0x102c, 0x103e, 1},
1625                 {0x1056, 0x1059, 1},
1626                 {0x105e, 0x1060, 1},
1627                 {0x1062, 0x1064, 1},
1628                 {0x1067, 0x106d, 1},
1629                 {0x1071, 0x1074, 1},
1630                 {0x1082, 0x108d, 1},
1631                 {0x108f, 0x109a, 11},
1632                 {0x109b, 0x109d, 1},
1633                 {0x135d, 0x135f, 1},
1634                 {0x1712, 0x1714, 1},
1635                 {0x1732, 0x1734, 1},
1636                 {0x1752, 0x1753, 1},
1637                 {0x1772, 0x1773, 1},
1638                 {0x17b4, 0x17d3, 1},
1639                 {0x17dd, 0x180b, 46},
1640                 {0x180c, 0x180d, 1},
1641                 {0x1885, 0x1886, 1},
1642                 {0x18a9, 0x1920, 119},
1643                 {0x1921, 0x192b, 1},
1644                 {0x1930, 0x193b, 1},
1645                 {0x1a17, 0x1a1b, 1},
1646                 {0x1a55, 0x1a5e, 1},
1647                 {0x1a60, 0x1a7c, 1},
1648                 {0x1a7f, 0x1ab0, 49},
1649                 {0x1ab1, 0x1abe, 1},
1650                 {0x1b00, 0x1b04, 1},
1651                 {0x1b34, 0x1b44, 1},
1652                 {0x1b6b, 0x1b73, 1},
1653                 {0x1b80, 0x1b82, 1},
1654                 {0x1ba1, 0x1bad, 1},
1655                 {0x1be6, 0x1bf3, 1},
1656                 {0x1c24, 0x1c37, 1},
1657                 {0x1cd0, 0x1cd2, 1},
1658                 {0x1cd4, 0x1ce8, 1},
1659                 {0x1ced, 0x1cf2, 5},
1660                 {0x1cf3, 0x1cf4, 1},
1661                 {0x1cf7, 0x1cf9, 1},
1662                 {0x1dc0, 0x1df9, 1},
1663                 {0x1dfb, 0x1dff, 1},
1664                 {0x20d0, 0x20f0, 1},
1665                 {0x2cef, 0x2cf1, 1},
1666                 {0x2d7f, 0x2de0, 97},
1667                 {0x2de1, 0x2dff, 1},
1668                 {0x302a, 0x302f, 1},
1669                 {0x3099, 0x309a, 1},
1670                 {0xa66f, 0xa672, 1},
1671                 {0xa674, 0xa67d, 1},
1672                 {0xa69e, 0xa69f, 1},
1673                 {0xa6f0, 0xa6f1, 1},
1674                 {0xa802, 0xa806, 4},
1675                 {0xa80b, 0xa823, 24},
1676                 {0xa824, 0xa827, 1},
1677                 {0xa880, 0xa881, 1},
1678                 {0xa8b4, 0xa8c5, 1},
1679                 {0xa8e0, 0xa8f1, 1},
1680                 {0xa8ff, 0xa926, 39},
1681                 {0xa927, 0xa92d, 1},
1682                 {0xa947, 0xa953, 1},
1683                 {0xa980, 0xa983, 1},
1684                 {0xa9b3, 0xa9c0, 1},
1685                 {0xa9e5, 0xaa29, 68},
1686                 {0xaa2a, 0xaa36, 1},
1687                 {0xaa43, 0xaa4c, 9},
1688                 {0xaa4d, 0xaa7b, 46},
1689                 {0xaa7c, 0xaa7d, 1},
1690                 {0xaab0, 0xaab2, 2},
1691                 {0xaab3, 0xaab4, 1},
1692                 {0xaab7, 0xaab8, 1},
1693                 {0xaabe, 0xaabf, 1},
1694                 {0xaac1, 0xaaeb, 42},
1695                 {0xaaec, 0xaaef, 1},
1696                 {0xaaf5, 0xaaf6, 1},
1697                 {0xabe3, 0xabea, 1},
1698                 {0xabec, 0xabed, 1},
1699                 {0xfb1e, 0xfe00, 738},
1700                 {0xfe01, 0xfe0f, 1},
1701                 {0xfe20, 0xfe2f, 1},
1702         },
1703         R32: []Range32{
1704                 {0x101fd, 0x102e0, 227},
1705                 {0x10376, 0x1037a, 1},
1706                 {0x10a01, 0x10a03, 1},
1707                 {0x10a05, 0x10a06, 1},
1708                 {0x10a0c, 0x10a0f, 1},
1709                 {0x10a38, 0x10a3a, 1},
1710                 {0x10a3f, 0x10ae5, 166},
1711                 {0x10ae6, 0x10d24, 574},
1712                 {0x10d25, 0x10d27, 1},
1713                 {0x10f46, 0x10f50, 1},
1714                 {0x11000, 0x11002, 1},
1715                 {0x11038, 0x11046, 1},
1716                 {0x1107f, 0x11082, 1},
1717                 {0x110b0, 0x110ba, 1},
1718                 {0x11100, 0x11102, 1},
1719                 {0x11127, 0x11134, 1},
1720                 {0x11145, 0x11146, 1},
1721                 {0x11173, 0x11180, 13},
1722                 {0x11181, 0x11182, 1},
1723                 {0x111b3, 0x111c0, 1},
1724                 {0x111c9, 0x111cc, 1},
1725                 {0x1122c, 0x11237, 1},
1726                 {0x1123e, 0x112df, 161},
1727                 {0x112e0, 0x112ea, 1},
1728                 {0x11300, 0x11303, 1},
1729                 {0x1133b, 0x1133c, 1},
1730                 {0x1133e, 0x11344, 1},
1731                 {0x11347, 0x11348, 1},
1732                 {0x1134b, 0x1134d, 1},
1733                 {0x11357, 0x11362, 11},
1734                 {0x11363, 0x11366, 3},
1735                 {0x11367, 0x1136c, 1},
1736                 {0x11370, 0x11374, 1},
1737                 {0x11435, 0x11446, 1},
1738                 {0x1145e, 0x114b0, 82},
1739                 {0x114b1, 0x114c3, 1},
1740                 {0x115af, 0x115b5, 1},
1741                 {0x115b8, 0x115c0, 1},
1742                 {0x115dc, 0x115dd, 1},
1743                 {0x11630, 0x11640, 1},
1744                 {0x116ab, 0x116b7, 1},
1745                 {0x1171d, 0x1172b, 1},
1746                 {0x1182c, 0x1183a, 1},
1747                 {0x11a01, 0x11a0a, 1},
1748                 {0x11a33, 0x11a39, 1},
1749                 {0x11a3b, 0x11a3e, 1},
1750                 {0x11a47, 0x11a51, 10},
1751                 {0x11a52, 0x11a5b, 1},
1752                 {0x11a8a, 0x11a99, 1},
1753                 {0x11c2f, 0x11c36, 1},
1754                 {0x11c38, 0x11c3f, 1},
1755                 {0x11c92, 0x11ca7, 1},
1756                 {0x11ca9, 0x11cb6, 1},
1757                 {0x11d31, 0x11d36, 1},
1758                 {0x11d3a, 0x11d3c, 2},
1759                 {0x11d3d, 0x11d3f, 2},
1760                 {0x11d40, 0x11d45, 1},
1761                 {0x11d47, 0x11d8a, 67},
1762                 {0x11d8b, 0x11d8e, 1},
1763                 {0x11d90, 0x11d91, 1},
1764                 {0x11d93, 0x11d97, 1},
1765                 {0x11ef3, 0x11ef6, 1},
1766                 {0x16af0, 0x16af4, 1},
1767                 {0x16b30, 0x16b36, 1},
1768                 {0x16f51, 0x16f7e, 1},
1769                 {0x16f8f, 0x16f92, 1},
1770                 {0x1bc9d, 0x1bc9e, 1},
1771                 {0x1d165, 0x1d169, 1},
1772                 {0x1d16d, 0x1d172, 1},
1773                 {0x1d17b, 0x1d182, 1},
1774                 {0x1d185, 0x1d18b, 1},
1775                 {0x1d1aa, 0x1d1ad, 1},
1776                 {0x1d242, 0x1d244, 1},
1777                 {0x1da00, 0x1da36, 1},
1778                 {0x1da3b, 0x1da6c, 1},
1779                 {0x1da75, 0x1da84, 15},
1780                 {0x1da9b, 0x1da9f, 1},
1781                 {0x1daa1, 0x1daaf, 1},
1782                 {0x1e000, 0x1e006, 1},
1783                 {0x1e008, 0x1e018, 1},
1784                 {0x1e01b, 0x1e021, 1},
1785                 {0x1e023, 0x1e024, 1},
1786                 {0x1e026, 0x1e02a, 1},
1787                 {0x1e8d0, 0x1e8d6, 1},
1788                 {0x1e944, 0x1e94a, 1},
1789                 {0xe0100, 0xe01ef, 1},
1790         },
1791 }
1792
1793 var _Mc = &RangeTable{
1794         R16: []Range16{
1795                 {0x0903, 0x093b, 56},
1796                 {0x093e, 0x0940, 1},
1797                 {0x0949, 0x094c, 1},
1798                 {0x094e, 0x094f, 1},
1799                 {0x0982, 0x0983, 1},
1800                 {0x09be, 0x09c0, 1},
1801                 {0x09c7, 0x09c8, 1},
1802                 {0x09cb, 0x09cc, 1},
1803                 {0x09d7, 0x0a03, 44},
1804                 {0x0a3e, 0x0a40, 1},
1805                 {0x0a83, 0x0abe, 59},
1806                 {0x0abf, 0x0ac0, 1},
1807                 {0x0ac9, 0x0acb, 2},
1808                 {0x0acc, 0x0b02, 54},
1809                 {0x0b03, 0x0b3e, 59},
1810                 {0x0b40, 0x0b47, 7},
1811                 {0x0b48, 0x0b4b, 3},
1812                 {0x0b4c, 0x0b57, 11},
1813                 {0x0bbe, 0x0bbf, 1},
1814                 {0x0bc1, 0x0bc2, 1},
1815                 {0x0bc6, 0x0bc8, 1},
1816                 {0x0bca, 0x0bcc, 1},
1817                 {0x0bd7, 0x0c01, 42},
1818                 {0x0c02, 0x0c03, 1},
1819                 {0x0c41, 0x0c44, 1},
1820                 {0x0c82, 0x0c83, 1},
1821                 {0x0cbe, 0x0cc0, 2},
1822                 {0x0cc1, 0x0cc4, 1},
1823                 {0x0cc7, 0x0cc8, 1},
1824                 {0x0cca, 0x0ccb, 1},
1825                 {0x0cd5, 0x0cd6, 1},
1826                 {0x0d02, 0x0d03, 1},
1827                 {0x0d3e, 0x0d40, 1},
1828                 {0x0d46, 0x0d48, 1},
1829                 {0x0d4a, 0x0d4c, 1},
1830                 {0x0d57, 0x0d82, 43},
1831                 {0x0d83, 0x0dcf, 76},
1832                 {0x0dd0, 0x0dd1, 1},
1833                 {0x0dd8, 0x0ddf, 1},
1834                 {0x0df2, 0x0df3, 1},
1835                 {0x0f3e, 0x0f3f, 1},
1836                 {0x0f7f, 0x102b, 172},
1837                 {0x102c, 0x1031, 5},
1838                 {0x1038, 0x103b, 3},
1839                 {0x103c, 0x1056, 26},
1840                 {0x1057, 0x1062, 11},
1841                 {0x1063, 0x1064, 1},
1842                 {0x1067, 0x106d, 1},
1843                 {0x1083, 0x1084, 1},
1844                 {0x1087, 0x108c, 1},
1845                 {0x108f, 0x109a, 11},
1846                 {0x109b, 0x109c, 1},
1847                 {0x17b6, 0x17be, 8},
1848                 {0x17bf, 0x17c5, 1},
1849                 {0x17c7, 0x17c8, 1},
1850                 {0x1923, 0x1926, 1},
1851                 {0x1929, 0x192b, 1},
1852                 {0x1930, 0x1931, 1},
1853                 {0x1933, 0x1938, 1},
1854                 {0x1a19, 0x1a1a, 1},
1855                 {0x1a55, 0x1a57, 2},
1856                 {0x1a61, 0x1a63, 2},
1857                 {0x1a64, 0x1a6d, 9},
1858                 {0x1a6e, 0x1a72, 1},
1859                 {0x1b04, 0x1b35, 49},
1860                 {0x1b3b, 0x1b3d, 2},
1861                 {0x1b3e, 0x1b41, 1},
1862                 {0x1b43, 0x1b44, 1},
1863                 {0x1b82, 0x1ba1, 31},
1864                 {0x1ba6, 0x1ba7, 1},
1865                 {0x1baa, 0x1be7, 61},
1866                 {0x1bea, 0x1bec, 1},
1867                 {0x1bee, 0x1bf2, 4},
1868                 {0x1bf3, 0x1c24, 49},
1869                 {0x1c25, 0x1c2b, 1},
1870                 {0x1c34, 0x1c35, 1},
1871                 {0x1ce1, 0x1cf2, 17},
1872                 {0x1cf3, 0x1cf7, 4},
1873                 {0x302e, 0x302f, 1},
1874                 {0xa823, 0xa824, 1},
1875                 {0xa827, 0xa880, 89},
1876                 {0xa881, 0xa8b4, 51},
1877                 {0xa8b5, 0xa8c3, 1},
1878                 {0xa952, 0xa953, 1},
1879                 {0xa983, 0xa9b4, 49},
1880                 {0xa9b5, 0xa9ba, 5},
1881                 {0xa9bb, 0xa9bd, 2},
1882                 {0xa9be, 0xa9c0, 1},
1883                 {0xaa2f, 0xaa30, 1},
1884                 {0xaa33, 0xaa34, 1},
1885                 {0xaa4d, 0xaa7b, 46},
1886                 {0xaa7d, 0xaaeb, 110},
1887                 {0xaaee, 0xaaef, 1},
1888                 {0xaaf5, 0xabe3, 238},
1889                 {0xabe4, 0xabe6, 2},
1890                 {0xabe7, 0xabe9, 2},
1891                 {0xabea, 0xabec, 2},
1892         },
1893         R32: []Range32{
1894                 {0x11000, 0x11002, 2},
1895                 {0x11082, 0x110b0, 46},
1896                 {0x110b1, 0x110b2, 1},
1897                 {0x110b7, 0x110b8, 1},
1898                 {0x1112c, 0x11145, 25},
1899                 {0x11146, 0x11182, 60},
1900                 {0x111b3, 0x111b5, 1},
1901                 {0x111bf, 0x111c0, 1},
1902                 {0x1122c, 0x1122e, 1},
1903                 {0x11232, 0x11233, 1},
1904                 {0x11235, 0x112e0, 171},
1905                 {0x112e1, 0x112e2, 1},
1906                 {0x11302, 0x11303, 1},
1907                 {0x1133e, 0x1133f, 1},
1908                 {0x11341, 0x11344, 1},
1909                 {0x11347, 0x11348, 1},
1910                 {0x1134b, 0x1134d, 1},
1911                 {0x11357, 0x11362, 11},
1912                 {0x11363, 0x11435, 210},
1913                 {0x11436, 0x11437, 1},
1914                 {0x11440, 0x11441, 1},
1915                 {0x11445, 0x114b0, 107},
1916                 {0x114b1, 0x114b2, 1},
1917                 {0x114b9, 0x114bb, 2},
1918                 {0x114bc, 0x114be, 1},
1919                 {0x114c1, 0x115af, 238},
1920                 {0x115b0, 0x115b1, 1},
1921                 {0x115b8, 0x115bb, 1},
1922                 {0x115be, 0x11630, 114},
1923                 {0x11631, 0x11632, 1},
1924                 {0x1163b, 0x1163c, 1},
1925                 {0x1163e, 0x116ac, 110},
1926                 {0x116ae, 0x116af, 1},
1927                 {0x116b6, 0x11720, 106},
1928                 {0x11721, 0x11726, 5},
1929                 {0x1182c, 0x1182e, 1},
1930                 {0x11838, 0x11a39, 513},
1931                 {0x11a57, 0x11a58, 1},
1932                 {0x11a97, 0x11c2f, 408},
1933                 {0x11c3e, 0x11ca9, 107},
1934                 {0x11cb1, 0x11cb4, 3},
1935                 {0x11d8a, 0x11d8e, 1},
1936                 {0x11d93, 0x11d94, 1},
1937                 {0x11d96, 0x11ef5, 351},
1938                 {0x11ef6, 0x16f51, 20571},
1939                 {0x16f52, 0x16f7e, 1},
1940                 {0x1d165, 0x1d166, 1},
1941                 {0x1d16d, 0x1d172, 1},
1942         },
1943 }
1944
1945 var _Me = &RangeTable{
1946         R16: []Range16{
1947                 {0x0488, 0x0489, 1},
1948                 {0x1abe, 0x20dd, 1567},
1949                 {0x20de, 0x20e0, 1},
1950                 {0x20e2, 0x20e4, 1},
1951                 {0xa670, 0xa672, 1},
1952         },
1953 }
1954
1955 var _Mn = &RangeTable{
1956         R16: []Range16{
1957                 {0x0300, 0x036f, 1},
1958                 {0x0483, 0x0487, 1},
1959                 {0x0591, 0x05bd, 1},
1960                 {0x05bf, 0x05c1, 2},
1961                 {0x05c2, 0x05c4, 2},
1962                 {0x05c5, 0x05c7, 2},
1963                 {0x0610, 0x061a, 1},
1964                 {0x064b, 0x065f, 1},
1965                 {0x0670, 0x06d6, 102},
1966                 {0x06d7, 0x06dc, 1},
1967                 {0x06df, 0x06e4, 1},
1968                 {0x06e7, 0x06e8, 1},
1969                 {0x06ea, 0x06ed, 1},
1970                 {0x0711, 0x0730, 31},
1971                 {0x0731, 0x074a, 1},
1972                 {0x07a6, 0x07b0, 1},
1973                 {0x07eb, 0x07f3, 1},
1974                 {0x07fd, 0x0816, 25},
1975                 {0x0817, 0x0819, 1},
1976                 {0x081b, 0x0823, 1},
1977                 {0x0825, 0x0827, 1},
1978                 {0x0829, 0x082d, 1},
1979                 {0x0859, 0x085b, 1},
1980                 {0x08d3, 0x08e1, 1},
1981                 {0x08e3, 0x0902, 1},
1982                 {0x093a, 0x093c, 2},
1983                 {0x0941, 0x0948, 1},
1984                 {0x094d, 0x0951, 4},
1985                 {0x0952, 0x0957, 1},
1986                 {0x0962, 0x0963, 1},
1987                 {0x0981, 0x09bc, 59},
1988                 {0x09c1, 0x09c4, 1},
1989                 {0x09cd, 0x09e2, 21},
1990                 {0x09e3, 0x09fe, 27},
1991                 {0x0a01, 0x0a02, 1},
1992                 {0x0a3c, 0x0a41, 5},
1993                 {0x0a42, 0x0a47, 5},
1994                 {0x0a48, 0x0a4b, 3},
1995                 {0x0a4c, 0x0a4d, 1},
1996                 {0x0a51, 0x0a70, 31},
1997                 {0x0a71, 0x0a75, 4},
1998                 {0x0a81, 0x0a82, 1},
1999                 {0x0abc, 0x0ac1, 5},
2000                 {0x0ac2, 0x0ac5, 1},
2001                 {0x0ac7, 0x0ac8, 1},
2002                 {0x0acd, 0x0ae2, 21},
2003                 {0x0ae3, 0x0afa, 23},
2004                 {0x0afb, 0x0aff, 1},
2005                 {0x0b01, 0x0b3c, 59},
2006                 {0x0b3f, 0x0b41, 2},
2007                 {0x0b42, 0x0b44, 1},
2008                 {0x0b4d, 0x0b56, 9},
2009                 {0x0b62, 0x0b63, 1},
2010                 {0x0b82, 0x0bc0, 62},
2011                 {0x0bcd, 0x0c00, 51},
2012                 {0x0c04, 0x0c3e, 58},
2013                 {0x0c3f, 0x0c40, 1},
2014                 {0x0c46, 0x0c48, 1},
2015                 {0x0c4a, 0x0c4d, 1},
2016                 {0x0c55, 0x0c56, 1},
2017                 {0x0c62, 0x0c63, 1},
2018                 {0x0c81, 0x0cbc, 59},
2019                 {0x0cbf, 0x0cc6, 7},
2020                 {0x0ccc, 0x0ccd, 1},
2021                 {0x0ce2, 0x0ce3, 1},
2022                 {0x0d00, 0x0d01, 1},
2023                 {0x0d3b, 0x0d3c, 1},
2024                 {0x0d41, 0x0d44, 1},
2025                 {0x0d4d, 0x0d62, 21},
2026                 {0x0d63, 0x0dca, 103},
2027                 {0x0dd2, 0x0dd4, 1},
2028                 {0x0dd6, 0x0e31, 91},
2029                 {0x0e34, 0x0e3a, 1},
2030                 {0x0e47, 0x0e4e, 1},
2031                 {0x0eb1, 0x0eb4, 3},
2032                 {0x0eb5, 0x0eb9, 1},
2033                 {0x0ebb, 0x0ebc, 1},
2034                 {0x0ec8, 0x0ecd, 1},
2035                 {0x0f18, 0x0f19, 1},
2036                 {0x0f35, 0x0f39, 2},
2037                 {0x0f71, 0x0f7e, 1},
2038                 {0x0f80, 0x0f84, 1},
2039                 {0x0f86, 0x0f87, 1},
2040                 {0x0f8d, 0x0f97, 1},
2041                 {0x0f99, 0x0fbc, 1},
2042                 {0x0fc6, 0x102d, 103},
2043                 {0x102e, 0x1030, 1},
2044                 {0x1032, 0x1037, 1},
2045                 {0x1039, 0x103a, 1},
2046                 {0x103d, 0x103e, 1},
2047                 {0x1058, 0x1059, 1},
2048                 {0x105e, 0x1060, 1},
2049                 {0x1071, 0x1074, 1},
2050                 {0x1082, 0x1085, 3},
2051                 {0x1086, 0x108d, 7},
2052                 {0x109d, 0x135d, 704},
2053                 {0x135e, 0x135f, 1},
2054                 {0x1712, 0x1714, 1},
2055                 {0x1732, 0x1734, 1},
2056                 {0x1752, 0x1753, 1},
2057                 {0x1772, 0x1773, 1},
2058                 {0x17b4, 0x17b5, 1},
2059                 {0x17b7, 0x17bd, 1},
2060                 {0x17c6, 0x17c9, 3},
2061                 {0x17ca, 0x17d3, 1},
2062                 {0x17dd, 0x180b, 46},
2063                 {0x180c, 0x180d, 1},
2064                 {0x1885, 0x1886, 1},
2065                 {0x18a9, 0x1920, 119},
2066                 {0x1921, 0x1922, 1},
2067                 {0x1927, 0x1928, 1},
2068                 {0x1932, 0x1939, 7},
2069                 {0x193a, 0x193b, 1},
2070                 {0x1a17, 0x1a18, 1},
2071                 {0x1a1b, 0x1a56, 59},
2072                 {0x1a58, 0x1a5e, 1},
2073                 {0x1a60, 0x1a62, 2},
2074                 {0x1a65, 0x1a6c, 1},
2075                 {0x1a73, 0x1a7c, 1},
2076                 {0x1a7f, 0x1ab0, 49},
2077                 {0x1ab1, 0x1abd, 1},
2078                 {0x1b00, 0x1b03, 1},
2079                 {0x1b34, 0x1b36, 2},
2080                 {0x1b37, 0x1b3a, 1},
2081                 {0x1b3c, 0x1b42, 6},
2082                 {0x1b6b, 0x1b73, 1},
2083                 {0x1b80, 0x1b81, 1},
2084                 {0x1ba2, 0x1ba5, 1},
2085                 {0x1ba8, 0x1ba9, 1},
2086                 {0x1bab, 0x1bad, 1},
2087                 {0x1be6, 0x1be8, 2},
2088                 {0x1be9, 0x1bed, 4},
2089                 {0x1bef, 0x1bf1, 1},
2090                 {0x1c2c, 0x1c33, 1},
2091                 {0x1c36, 0x1c37, 1},
2092                 {0x1cd0, 0x1cd2, 1},
2093                 {0x1cd4, 0x1ce0, 1},
2094                 {0x1ce2, 0x1ce8, 1},
2095                 {0x1ced, 0x1cf4, 7},
2096                 {0x1cf8, 0x1cf9, 1},
2097                 {0x1dc0, 0x1df9, 1},
2098                 {0x1dfb, 0x1dff, 1},
2099                 {0x20d0, 0x20dc, 1},
2100                 {0x20e1, 0x20e5, 4},
2101                 {0x20e6, 0x20f0, 1},
2102                 {0x2cef, 0x2cf1, 1},
2103                 {0x2d7f, 0x2de0, 97},
2104                 {0x2de1, 0x2dff, 1},
2105                 {0x302a, 0x302d, 1},
2106                 {0x3099, 0x309a, 1},
2107                 {0xa66f, 0xa674, 5},
2108                 {0xa675, 0xa67d, 1},
2109                 {0xa69e, 0xa69f, 1},
2110                 {0xa6f0, 0xa6f1, 1},
2111                 {0xa802, 0xa806, 4},
2112                 {0xa80b, 0xa825, 26},
2113                 {0xa826, 0xa8c4, 158},
2114                 {0xa8c5, 0xa8e0, 27},
2115                 {0xa8e1, 0xa8f1, 1},
2116                 {0xa8ff, 0xa926, 39},
2117                 {0xa927, 0xa92d, 1},
2118                 {0xa947, 0xa951, 1},
2119                 {0xa980, 0xa982, 1},
2120                 {0xa9b3, 0xa9b6, 3},
2121                 {0xa9b7, 0xa9b9, 1},
2122                 {0xa9bc, 0xa9e5, 41},
2123                 {0xaa29, 0xaa2e, 1},
2124                 {0xaa31, 0xaa32, 1},
2125                 {0xaa35, 0xaa36, 1},
2126                 {0xaa43, 0xaa4c, 9},
2127                 {0xaa7c, 0xaab0, 52},
2128                 {0xaab2, 0xaab4, 1},
2129                 {0xaab7, 0xaab8, 1},
2130                 {0xaabe, 0xaabf, 1},
2131                 {0xaac1, 0xaaec, 43},
2132                 {0xaaed, 0xaaf6, 9},
2133                 {0xabe5, 0xabe8, 3},
2134                 {0xabed, 0xfb1e, 20273},
2135                 {0xfe00, 0xfe0f, 1},
2136                 {0xfe20, 0xfe2f, 1},
2137         },
2138         R32: []Range32{
2139                 {0x101fd, 0x102e0, 227},
2140                 {0x10376, 0x1037a, 1},
2141                 {0x10a01, 0x10a03, 1},
2142                 {0x10a05, 0x10a06, 1},
2143                 {0x10a0c, 0x10a0f, 1},
2144                 {0x10a38, 0x10a3a, 1},
2145                 {0x10a3f, 0x10ae5, 166},
2146                 {0x10ae6, 0x10d24, 574},
2147                 {0x10d25, 0x10d27, 1},
2148                 {0x10f46, 0x10f50, 1},
2149                 {0x11001, 0x11038, 55},
2150                 {0x11039, 0x11046, 1},
2151                 {0x1107f, 0x11081, 1},
2152                 {0x110b3, 0x110b6, 1},
2153                 {0x110b9, 0x110ba, 1},
2154                 {0x11100, 0x11102, 1},
2155                 {0x11127, 0x1112b, 1},
2156                 {0x1112d, 0x11134, 1},
2157                 {0x11173, 0x11180, 13},
2158                 {0x11181, 0x111b6, 53},
2159                 {0x111b7, 0x111be, 1},
2160                 {0x111c9, 0x111cc, 1},
2161                 {0x1122f, 0x11231, 1},
2162                 {0x11234, 0x11236, 2},
2163                 {0x11237, 0x1123e, 7},
2164                 {0x112df, 0x112e3, 4},
2165                 {0x112e4, 0x112ea, 1},
2166                 {0x11300, 0x11301, 1},
2167                 {0x1133b, 0x1133c, 1},
2168                 {0x11340, 0x11366, 38},
2169                 {0x11367, 0x1136c, 1},
2170                 {0x11370, 0x11374, 1},
2171                 {0x11438, 0x1143f, 1},
2172                 {0x11442, 0x11444, 1},
2173                 {0x11446, 0x1145e, 24},
2174                 {0x114b3, 0x114b8, 1},
2175                 {0x114ba, 0x114bf, 5},
2176                 {0x114c0, 0x114c2, 2},
2177                 {0x114c3, 0x115b2, 239},
2178                 {0x115b3, 0x115b5, 1},
2179                 {0x115bc, 0x115bd, 1},
2180                 {0x115bf, 0x115c0, 1},
2181                 {0x115dc, 0x115dd, 1},
2182                 {0x11633, 0x1163a, 1},
2183                 {0x1163d, 0x1163f, 2},
2184                 {0x11640, 0x116ab, 107},
2185                 {0x116ad, 0x116b0, 3},
2186                 {0x116b1, 0x116b5, 1},
2187                 {0x116b7, 0x1171d, 102},
2188                 {0x1171e, 0x1171f, 1},
2189                 {0x11722, 0x11725, 1},
2190                 {0x11727, 0x1172b, 1},
2191                 {0x1182f, 0x11837, 1},
2192                 {0x11839, 0x1183a, 1},
2193                 {0x11a01, 0x11a0a, 1},
2194                 {0x11a33, 0x11a38, 1},
2195                 {0x11a3b, 0x11a3e, 1},
2196                 {0x11a47, 0x11a51, 10},
2197                 {0x11a52, 0x11a56, 1},
2198                 {0x11a59, 0x11a5b, 1},
2199                 {0x11a8a, 0x11a96, 1},
2200                 {0x11a98, 0x11a99, 1},
2201                 {0x11c30, 0x11c36, 1},
2202                 {0x11c38, 0x11c3d, 1},
2203                 {0x11c3f, 0x11c92, 83},
2204                 {0x11c93, 0x11ca7, 1},
2205                 {0x11caa, 0x11cb0, 1},
2206                 {0x11cb2, 0x11cb3, 1},
2207                 {0x11cb5, 0x11cb6, 1},
2208                 {0x11d31, 0x11d36, 1},
2209                 {0x11d3a, 0x11d3c, 2},
2210                 {0x11d3d, 0x11d3f, 2},
2211                 {0x11d40, 0x11d45, 1},
2212                 {0x11d47, 0x11d90, 73},
2213                 {0x11d91, 0x11d95, 4},
2214                 {0x11d97, 0x11ef3, 348},
2215                 {0x11ef4, 0x16af0, 19452},
2216                 {0x16af1, 0x16af4, 1},
2217                 {0x16b30, 0x16b36, 1},
2218                 {0x16f8f, 0x16f92, 1},
2219                 {0x1bc9d, 0x1bc9e, 1},
2220                 {0x1d167, 0x1d169, 1},
2221                 {0x1d17b, 0x1d182, 1},
2222                 {0x1d185, 0x1d18b, 1},
2223                 {0x1d1aa, 0x1d1ad, 1},
2224                 {0x1d242, 0x1d244, 1},
2225                 {0x1da00, 0x1da36, 1},
2226                 {0x1da3b, 0x1da6c, 1},
2227                 {0x1da75, 0x1da84, 15},
2228                 {0x1da9b, 0x1da9f, 1},
2229                 {0x1daa1, 0x1daaf, 1},
2230                 {0x1e000, 0x1e006, 1},
2231                 {0x1e008, 0x1e018, 1},
2232                 {0x1e01b, 0x1e021, 1},
2233                 {0x1e023, 0x1e024, 1},
2234                 {0x1e026, 0x1e02a, 1},
2235                 {0x1e8d0, 0x1e8d6, 1},
2236                 {0x1e944, 0x1e94a, 1},
2237                 {0xe0100, 0xe01ef, 1},
2238         },
2239 }
2240
2241 var _N = &RangeTable{
2242         R16: []Range16{
2243                 {0x0030, 0x0039, 1},
2244                 {0x00b2, 0x00b3, 1},
2245                 {0x00b9, 0x00bc, 3},
2246                 {0x00bd, 0x00be, 1},
2247                 {0x0660, 0x0669, 1},
2248                 {0x06f0, 0x06f9, 1},
2249                 {0x07c0, 0x07c9, 1},
2250                 {0x0966, 0x096f, 1},
2251                 {0x09e6, 0x09ef, 1},
2252                 {0x09f4, 0x09f9, 1},
2253                 {0x0a66, 0x0a6f, 1},
2254                 {0x0ae6, 0x0aef, 1},
2255                 {0x0b66, 0x0b6f, 1},
2256                 {0x0b72, 0x0b77, 1},
2257                 {0x0be6, 0x0bf2, 1},
2258                 {0x0c66, 0x0c6f, 1},
2259                 {0x0c78, 0x0c7e, 1},
2260                 {0x0ce6, 0x0cef, 1},
2261                 {0x0d58, 0x0d5e, 1},
2262                 {0x0d66, 0x0d78, 1},
2263                 {0x0de6, 0x0def, 1},
2264                 {0x0e50, 0x0e59, 1},
2265                 {0x0ed0, 0x0ed9, 1},
2266                 {0x0f20, 0x0f33, 1},
2267                 {0x1040, 0x1049, 1},
2268                 {0x1090, 0x1099, 1},
2269                 {0x1369, 0x137c, 1},
2270                 {0x16ee, 0x16f0, 1},
2271                 {0x17e0, 0x17e9, 1},
2272                 {0x17f0, 0x17f9, 1},
2273                 {0x1810, 0x1819, 1},
2274                 {0x1946, 0x194f, 1},
2275                 {0x19d0, 0x19da, 1},
2276                 {0x1a80, 0x1a89, 1},
2277                 {0x1a90, 0x1a99, 1},
2278                 {0x1b50, 0x1b59, 1},
2279                 {0x1bb0, 0x1bb9, 1},
2280                 {0x1c40, 0x1c49, 1},
2281                 {0x1c50, 0x1c59, 1},
2282                 {0x2070, 0x2074, 4},
2283                 {0x2075, 0x2079, 1},
2284                 {0x2080, 0x2089, 1},
2285                 {0x2150, 0x2182, 1},
2286                 {0x2185, 0x2189, 1},
2287                 {0x2460, 0x249b, 1},
2288                 {0x24ea, 0x24ff, 1},
2289                 {0x2776, 0x2793, 1},
2290                 {0x2cfd, 0x3007, 778},
2291                 {0x3021, 0x3029, 1},
2292                 {0x3038, 0x303a, 1},
2293                 {0x3192, 0x3195, 1},
2294                 {0x3220, 0x3229, 1},
2295                 {0x3248, 0x324f, 1},
2296                 {0x3251, 0x325f, 1},
2297                 {0x3280, 0x3289, 1},
2298                 {0x32b1, 0x32bf, 1},
2299                 {0xa620, 0xa629, 1},
2300                 {0xa6e6, 0xa6ef, 1},
2301                 {0xa830, 0xa835, 1},
2302                 {0xa8d0, 0xa8d9, 1},
2303                 {0xa900, 0xa909, 1},
2304                 {0xa9d0, 0xa9d9, 1},
2305                 {0xa9f0, 0xa9f9, 1},
2306                 {0xaa50, 0xaa59, 1},
2307                 {0xabf0, 0xabf9, 1},
2308                 {0xff10, 0xff19, 1},
2309         },
2310         R32: []Range32{
2311                 {0x10107, 0x10133, 1},
2312                 {0x10140, 0x10178, 1},
2313                 {0x1018a, 0x1018b, 1},
2314                 {0x102e1, 0x102fb, 1},
2315                 {0x10320, 0x10323, 1},
2316                 {0x10341, 0x1034a, 9},
2317                 {0x103d1, 0x103d5, 1},
2318                 {0x104a0, 0x104a9, 1},
2319                 {0x10858, 0x1085f, 1},
2320                 {0x10879, 0x1087f, 1},
2321                 {0x108a7, 0x108af, 1},
2322                 {0x108fb, 0x108ff, 1},
2323                 {0x10916, 0x1091b, 1},
2324                 {0x109bc, 0x109bd, 1},
2325                 {0x109c0, 0x109cf, 1},
2326                 {0x109d2, 0x109ff, 1},
2327                 {0x10a40, 0x10a48, 1},
2328                 {0x10a7d, 0x10a7e, 1},
2329                 {0x10a9d, 0x10a9f, 1},
2330                 {0x10aeb, 0x10aef, 1},
2331                 {0x10b58, 0x10b5f, 1},
2332                 {0x10b78, 0x10b7f, 1},
2333                 {0x10ba9, 0x10baf, 1},
2334                 {0x10cfa, 0x10cff, 1},
2335                 {0x10d30, 0x10d39, 1},
2336                 {0x10e60, 0x10e7e, 1},
2337                 {0x10f1d, 0x10f26, 1},
2338                 {0x10f51, 0x10f54, 1},
2339                 {0x11052, 0x1106f, 1},
2340                 {0x110f0, 0x110f9, 1},
2341                 {0x11136, 0x1113f, 1},
2342                 {0x111d0, 0x111d9, 1},
2343                 {0x111e1, 0x111f4, 1},
2344                 {0x112f0, 0x112f9, 1},
2345                 {0x11450, 0x11459, 1},
2346                 {0x114d0, 0x114d9, 1},
2347                 {0x11650, 0x11659, 1},
2348                 {0x116c0, 0x116c9, 1},
2349                 {0x11730, 0x1173b, 1},
2350                 {0x118e0, 0x118f2, 1},
2351                 {0x11c50, 0x11c6c, 1},
2352                 {0x11d50, 0x11d59, 1},
2353                 {0x11da0, 0x11da9, 1},
2354                 {0x12400, 0x1246e, 1},
2355                 {0x16a60, 0x16a69, 1},
2356                 {0x16b50, 0x16b59, 1},
2357                 {0x16b5b, 0x16b61, 1},
2358                 {0x16e80, 0x16e96, 1},
2359                 {0x1d2e0, 0x1d2f3, 1},
2360                 {0x1d360, 0x1d378, 1},
2361                 {0x1d7ce, 0x1d7ff, 1},
2362                 {0x1e8c7, 0x1e8cf, 1},
2363                 {0x1e950, 0x1e959, 1},
2364                 {0x1ec71, 0x1ecab, 1},
2365                 {0x1ecad, 0x1ecaf, 1},
2366                 {0x1ecb1, 0x1ecb4, 1},
2367                 {0x1f100, 0x1f10c, 1},
2368         },
2369         LatinOffset: 4,
2370 }
2371
2372 var _Nd = &RangeTable{
2373         R16: []Range16{
2374                 {0x0030, 0x0039, 1},
2375                 {0x0660, 0x0669, 1},
2376                 {0x06f0, 0x06f9, 1},
2377                 {0x07c0, 0x07c9, 1},
2378                 {0x0966, 0x096f, 1},
2379                 {0x09e6, 0x09ef, 1},
2380                 {0x0a66, 0x0a6f, 1},
2381                 {0x0ae6, 0x0aef, 1},
2382                 {0x0b66, 0x0b6f, 1},
2383                 {0x0be6, 0x0bef, 1},
2384                 {0x0c66, 0x0c6f, 1},
2385                 {0x0ce6, 0x0cef, 1},
2386                 {0x0d66, 0x0d6f, 1},
2387                 {0x0de6, 0x0def, 1},
2388                 {0x0e50, 0x0e59, 1},
2389                 {0x0ed0, 0x0ed9, 1},
2390                 {0x0f20, 0x0f29, 1},
2391                 {0x1040, 0x1049, 1},
2392                 {0x1090, 0x1099, 1},
2393                 {0x17e0, 0x17e9, 1},
2394                 {0x1810, 0x1819, 1},
2395                 {0x1946, 0x194f, 1},
2396                 {0x19d0, 0x19d9, 1},
2397                 {0x1a80, 0x1a89, 1},
2398                 {0x1a90, 0x1a99, 1},
2399                 {0x1b50, 0x1b59, 1},
2400                 {0x1bb0, 0x1bb9, 1},
2401                 {0x1c40, 0x1c49, 1},
2402                 {0x1c50, 0x1c59, 1},
2403                 {0xa620, 0xa629, 1},
2404                 {0xa8d0, 0xa8d9, 1},
2405                 {0xa900, 0xa909, 1},
2406                 {0xa9d0, 0xa9d9, 1},
2407                 {0xa9f0, 0xa9f9, 1},
2408                 {0xaa50, 0xaa59, 1},
2409                 {0xabf0, 0xabf9, 1},
2410                 {0xff10, 0xff19, 1},
2411         },
2412         R32: []Range32{
2413                 {0x104a0, 0x104a9, 1},
2414                 {0x10d30, 0x10d39, 1},
2415                 {0x11066, 0x1106f, 1},
2416                 {0x110f0, 0x110f9, 1},
2417                 {0x11136, 0x1113f, 1},
2418                 {0x111d0, 0x111d9, 1},
2419                 {0x112f0, 0x112f9, 1},
2420                 {0x11450, 0x11459, 1},
2421                 {0x114d0, 0x114d9, 1},
2422                 {0x11650, 0x11659, 1},
2423                 {0x116c0, 0x116c9, 1},
2424                 {0x11730, 0x11739, 1},
2425                 {0x118e0, 0x118e9, 1},
2426                 {0x11c50, 0x11c59, 1},
2427                 {0x11d50, 0x11d59, 1},
2428                 {0x11da0, 0x11da9, 1},
2429                 {0x16a60, 0x16a69, 1},
2430                 {0x16b50, 0x16b59, 1},
2431                 {0x1d7ce, 0x1d7ff, 1},
2432                 {0x1e950, 0x1e959, 1},
2433         },
2434         LatinOffset: 1,
2435 }
2436
2437 var _Nl = &RangeTable{
2438         R16: []Range16{
2439                 {0x16ee, 0x16f0, 1},
2440                 {0x2160, 0x2182, 1},
2441                 {0x2185, 0x2188, 1},
2442                 {0x3007, 0x3021, 26},
2443                 {0x3022, 0x3029, 1},
2444                 {0x3038, 0x303a, 1},
2445                 {0xa6e6, 0xa6ef, 1},
2446         },
2447         R32: []Range32{
2448                 {0x10140, 0x10174, 1},
2449                 {0x10341, 0x1034a, 9},
2450                 {0x103d1, 0x103d5, 1},
2451                 {0x12400, 0x1246e, 1},
2452         },
2453 }
2454
2455 var _No = &RangeTable{
2456         R16: []Range16{
2457                 {0x00b2, 0x00b3, 1},
2458                 {0x00b9, 0x00bc, 3},
2459                 {0x00bd, 0x00be, 1},
2460                 {0x09f4, 0x09f9, 1},
2461                 {0x0b72, 0x0b77, 1},
2462                 {0x0bf0, 0x0bf2, 1},
2463                 {0x0c78, 0x0c7e, 1},
2464                 {0x0d58, 0x0d5e, 1},
2465                 {0x0d70, 0x0d78, 1},
2466                 {0x0f2a, 0x0f33, 1},
2467                 {0x1369, 0x137c, 1},
2468                 {0x17f0, 0x17f9, 1},
2469                 {0x19da, 0x2070, 1686},
2470                 {0x2074, 0x2079, 1},
2471                 {0x2080, 0x2089, 1},
2472                 {0x2150, 0x215f, 1},
2473                 {0x2189, 0x2460, 727},
2474                 {0x2461, 0x249b, 1},
2475                 {0x24ea, 0x24ff, 1},
2476                 {0x2776, 0x2793, 1},
2477                 {0x2cfd, 0x3192, 1173},
2478                 {0x3193, 0x3195, 1},
2479                 {0x3220, 0x3229, 1},
2480                 {0x3248, 0x324f, 1},
2481                 {0x3251, 0x325f, 1},
2482                 {0x3280, 0x3289, 1},
2483                 {0x32b1, 0x32bf, 1},
2484                 {0xa830, 0xa835, 1},
2485         },
2486         R32: []Range32{
2487                 {0x10107, 0x10133, 1},
2488                 {0x10175, 0x10178, 1},
2489                 {0x1018a, 0x1018b, 1},
2490                 {0x102e1, 0x102fb, 1},
2491                 {0x10320, 0x10323, 1},
2492                 {0x10858, 0x1085f, 1},
2493                 {0x10879, 0x1087f, 1},
2494                 {0x108a7, 0x108af, 1},
2495                 {0x108fb, 0x108ff, 1},
2496                 {0x10916, 0x1091b, 1},
2497                 {0x109bc, 0x109bd, 1},
2498                 {0x109c0, 0x109cf, 1},
2499                 {0x109d2, 0x109ff, 1},
2500                 {0x10a40, 0x10a48, 1},
2501                 {0x10a7d, 0x10a7e, 1},
2502                 {0x10a9d, 0x10a9f, 1},
2503                 {0x10aeb, 0x10aef, 1},
2504                 {0x10b58, 0x10b5f, 1},
2505                 {0x10b78, 0x10b7f, 1},
2506                 {0x10ba9, 0x10baf, 1},
2507                 {0x10cfa, 0x10cff, 1},
2508                 {0x10e60, 0x10e7e, 1},
2509                 {0x10f1d, 0x10f26, 1},
2510                 {0x10f51, 0x10f54, 1},
2511                 {0x11052, 0x11065, 1},
2512                 {0x111e1, 0x111f4, 1},
2513                 {0x1173a, 0x1173b, 1},
2514                 {0x118ea, 0x118f2, 1},
2515                 {0x11c5a, 0x11c6c, 1},
2516                 {0x16b5b, 0x16b61, 1},
2517                 {0x16e80, 0x16e96, 1},
2518                 {0x1d2e0, 0x1d2f3, 1},
2519                 {0x1d360, 0x1d378, 1},
2520                 {0x1e8c7, 0x1e8cf, 1},
2521                 {0x1ec71, 0x1ecab, 1},
2522                 {0x1ecad, 0x1ecaf, 1},
2523                 {0x1ecb1, 0x1ecb4, 1},
2524                 {0x1f100, 0x1f10c, 1},
2525         },
2526         LatinOffset: 3,
2527 }
2528
2529 var _P = &RangeTable{
2530         R16: []Range16{
2531                 {0x0021, 0x0023, 1},
2532                 {0x0025, 0x002a, 1},
2533                 {0x002c, 0x002f, 1},
2534                 {0x003a, 0x003b, 1},
2535                 {0x003f, 0x0040, 1},
2536                 {0x005b, 0x005d, 1},
2537                 {0x005f, 0x007b, 28},
2538                 {0x007d, 0x00a1, 36},
2539                 {0x00a7, 0x00ab, 4},
2540                 {0x00b6, 0x00b7, 1},
2541                 {0x00bb, 0x00bf, 4},
2542                 {0x037e, 0x0387, 9},
2543                 {0x055a, 0x055f, 1},
2544                 {0x0589, 0x058a, 1},
2545                 {0x05be, 0x05c0, 2},
2546                 {0x05c3, 0x05c6, 3},
2547                 {0x05f3, 0x05f4, 1},
2548                 {0x0609, 0x060a, 1},
2549                 {0x060c, 0x060d, 1},
2550                 {0x061b, 0x061e, 3},
2551                 {0x061f, 0x066a, 75},
2552                 {0x066b, 0x066d, 1},
2553                 {0x06d4, 0x0700, 44},
2554                 {0x0701, 0x070d, 1},
2555                 {0x07f7, 0x07f9, 1},
2556                 {0x0830, 0x083e, 1},
2557                 {0x085e, 0x0964, 262},
2558                 {0x0965, 0x0970, 11},
2559                 {0x09fd, 0x0a76, 121},
2560                 {0x0af0, 0x0c84, 404},
2561                 {0x0df4, 0x0e4f, 91},
2562                 {0x0e5a, 0x0e5b, 1},
2563                 {0x0f04, 0x0f12, 1},
2564                 {0x0f14, 0x0f3a, 38},
2565                 {0x0f3b, 0x0f3d, 1},
2566                 {0x0f85, 0x0fd0, 75},
2567                 {0x0fd1, 0x0fd4, 1},
2568                 {0x0fd9, 0x0fda, 1},
2569                 {0x104a, 0x104f, 1},
2570                 {0x10fb, 0x1360, 613},
2571                 {0x1361, 0x1368, 1},
2572                 {0x1400, 0x166d, 621},
2573                 {0x166e, 0x169b, 45},
2574                 {0x169c, 0x16eb, 79},
2575                 {0x16ec, 0x16ed, 1},
2576                 {0x1735, 0x1736, 1},
2577                 {0x17d4, 0x17d6, 1},
2578                 {0x17d8, 0x17da, 1},
2579                 {0x1800, 0x180a, 1},
2580                 {0x1944, 0x1945, 1},
2581                 {0x1a1e, 0x1a1f, 1},
2582                 {0x1aa0, 0x1aa6, 1},
2583                 {0x1aa8, 0x1aad, 1},
2584                 {0x1b5a, 0x1b60, 1},
2585                 {0x1bfc, 0x1bff, 1},
2586                 {0x1c3b, 0x1c3f, 1},
2587                 {0x1c7e, 0x1c7f, 1},
2588                 {0x1cc0, 0x1cc7, 1},
2589                 {0x1cd3, 0x2010, 829},
2590                 {0x2011, 0x2027, 1},
2591                 {0x2030, 0x2043, 1},
2592                 {0x2045, 0x2051, 1},
2593                 {0x2053, 0x205e, 1},
2594                 {0x207d, 0x207e, 1},
2595                 {0x208d, 0x208e, 1},
2596                 {0x2308, 0x230b, 1},
2597                 {0x2329, 0x232a, 1},
2598                 {0x2768, 0x2775, 1},
2599                 {0x27c5, 0x27c6, 1},
2600                 {0x27e6, 0x27ef, 1},
2601                 {0x2983, 0x2998, 1},
2602                 {0x29d8, 0x29db, 1},
2603                 {0x29fc, 0x29fd, 1},
2604                 {0x2cf9, 0x2cfc, 1},
2605                 {0x2cfe, 0x2cff, 1},
2606                 {0x2d70, 0x2e00, 144},
2607                 {0x2e01, 0x2e2e, 1},
2608                 {0x2e30, 0x2e4e, 1},
2609                 {0x3001, 0x3003, 1},
2610                 {0x3008, 0x3011, 1},
2611                 {0x3014, 0x301f, 1},
2612                 {0x3030, 0x303d, 13},
2613                 {0x30a0, 0x30fb, 91},
2614                 {0xa4fe, 0xa4ff, 1},
2615                 {0xa60d, 0xa60f, 1},
2616                 {0xa673, 0xa67e, 11},
2617                 {0xa6f2, 0xa6f7, 1},
2618                 {0xa874, 0xa877, 1},
2619                 {0xa8ce, 0xa8cf, 1},
2620                 {0xa8f8, 0xa8fa, 1},
2621                 {0xa8fc, 0xa92e, 50},
2622                 {0xa92f, 0xa95f, 48},
2623                 {0xa9c1, 0xa9cd, 1},
2624                 {0xa9de, 0xa9df, 1},
2625                 {0xaa5c, 0xaa5f, 1},
2626                 {0xaade, 0xaadf, 1},
2627                 {0xaaf0, 0xaaf1, 1},
2628                 {0xabeb, 0xfd3e, 20819},
2629                 {0xfd3f, 0xfe10, 209},
2630                 {0xfe11, 0xfe19, 1},
2631                 {0xfe30, 0xfe52, 1},
2632                 {0xfe54, 0xfe61, 1},
2633                 {0xfe63, 0xfe68, 5},
2634                 {0xfe6a, 0xfe6b, 1},
2635                 {0xff01, 0xff03, 1},
2636                 {0xff05, 0xff0a, 1},
2637                 {0xff0c, 0xff0f, 1},
2638                 {0xff1a, 0xff1b, 1},
2639                 {0xff1f, 0xff20, 1},
2640                 {0xff3b, 0xff3d, 1},
2641                 {0xff3f, 0xff5b, 28},
2642                 {0xff5d, 0xff5f, 2},
2643                 {0xff60, 0xff65, 1},
2644         },
2645         R32: []Range32{
2646                 {0x10100, 0x10102, 1},
2647                 {0x1039f, 0x103d0, 49},
2648                 {0x1056f, 0x10857, 744},
2649                 {0x1091f, 0x1093f, 32},
2650                 {0x10a50, 0x10a58, 1},
2651                 {0x10a7f, 0x10af0, 113},
2652                 {0x10af1, 0x10af6, 1},
2653                 {0x10b39, 0x10b3f, 1},
2654                 {0x10b99, 0x10b9c, 1},
2655                 {0x10f55, 0x10f59, 1},
2656                 {0x11047, 0x1104d, 1},
2657                 {0x110bb, 0x110bc, 1},
2658                 {0x110be, 0x110c1, 1},
2659                 {0x11140, 0x11143, 1},
2660                 {0x11174, 0x11175, 1},
2661                 {0x111c5, 0x111c8, 1},
2662                 {0x111cd, 0x111db, 14},
2663                 {0x111dd, 0x111df, 1},
2664                 {0x11238, 0x1123d, 1},
2665                 {0x112a9, 0x1144b, 418},
2666                 {0x1144c, 0x1144f, 1},
2667                 {0x1145b, 0x1145d, 2},
2668                 {0x114c6, 0x115c1, 251},
2669                 {0x115c2, 0x115d7, 1},
2670                 {0x11641, 0x11643, 1},
2671                 {0x11660, 0x1166c, 1},
2672                 {0x1173c, 0x1173e, 1},
2673                 {0x1183b, 0x11a3f, 516},
2674                 {0x11a40, 0x11a46, 1},
2675                 {0x11a9a, 0x11a9c, 1},
2676                 {0x11a9e, 0x11aa2, 1},
2677                 {0x11c41, 0x11c45, 1},
2678                 {0x11c70, 0x11c71, 1},
2679                 {0x11ef7, 0x11ef8, 1},
2680                 {0x12470, 0x12474, 1},
2681                 {0x16a6e, 0x16a6f, 1},
2682                 {0x16af5, 0x16b37, 66},
2683                 {0x16b38, 0x16b3b, 1},
2684                 {0x16b44, 0x16e97, 851},
2685                 {0x16e98, 0x16e9a, 1},
2686                 {0x1bc9f, 0x1da87, 7656},
2687                 {0x1da88, 0x1da8b, 1},
2688                 {0x1e95e, 0x1e95f, 1},
2689         },
2690         LatinOffset: 11,
2691 }
2692
2693 var _Pc = &RangeTable{
2694         R16: []Range16{
2695                 {0x005f, 0x203f, 8160},
2696                 {0x2040, 0x2054, 20},
2697                 {0xfe33, 0xfe34, 1},
2698                 {0xfe4d, 0xfe4f, 1},
2699                 {0xff3f, 0xff3f, 1},
2700         },
2701 }
2702
2703 var _Pd = &RangeTable{
2704         R16: []Range16{
2705                 {0x002d, 0x058a, 1373},
2706                 {0x05be, 0x1400, 3650},
2707                 {0x1806, 0x2010, 2058},
2708                 {0x2011, 0x2015, 1},
2709                 {0x2e17, 0x2e1a, 3},
2710                 {0x2e3a, 0x2e3b, 1},
2711                 {0x2e40, 0x301c, 476},
2712                 {0x3030, 0x30a0, 112},
2713                 {0xfe31, 0xfe32, 1},
2714                 {0xfe58, 0xfe63, 11},
2715                 {0xff0d, 0xff0d, 1},
2716         },
2717 }
2718
2719 var _Pe = &RangeTable{
2720         R16: []Range16{
2721                 {0x0029, 0x005d, 52},
2722                 {0x007d, 0x0f3b, 3774},
2723                 {0x0f3d, 0x169c, 1887},
2724                 {0x2046, 0x207e, 56},
2725                 {0x208e, 0x2309, 635},
2726                 {0x230b, 0x232a, 31},
2727                 {0x2769, 0x2775, 2},
2728                 {0x27c6, 0x27e7, 33},
2729                 {0x27e9, 0x27ef, 2},
2730                 {0x2984, 0x2998, 2},
2731                 {0x29d9, 0x29db, 2},
2732                 {0x29fd, 0x2e23, 1062},
2733                 {0x2e25, 0x2e29, 2},
2734                 {0x3009, 0x3011, 2},
2735                 {0x3015, 0x301b, 2},
2736                 {0x301e, 0x301f, 1},
2737                 {0xfd3e, 0xfe18, 218},
2738                 {0xfe36, 0xfe44, 2},
2739                 {0xfe48, 0xfe5a, 18},
2740                 {0xfe5c, 0xfe5e, 2},
2741                 {0xff09, 0xff3d, 52},
2742                 {0xff5d, 0xff63, 3},
2743         },
2744         LatinOffset: 1,
2745 }
2746
2747 var _Pf = &RangeTable{
2748         R16: []Range16{
2749                 {0x00bb, 0x2019, 8030},
2750                 {0x201d, 0x203a, 29},
2751                 {0x2e03, 0x2e05, 2},
2752                 {0x2e0a, 0x2e0d, 3},
2753                 {0x2e1d, 0x2e21, 4},
2754         },
2755 }
2756
2757 var _Pi = &RangeTable{
2758         R16: []Range16{
2759                 {0x00ab, 0x2018, 8045},
2760                 {0x201b, 0x201c, 1},
2761                 {0x201f, 0x2039, 26},
2762                 {0x2e02, 0x2e04, 2},
2763                 {0x2e09, 0x2e0c, 3},
2764                 {0x2e1c, 0x2e20, 4},
2765         },
2766 }
2767
2768 var _Po = &RangeTable{
2769         R16: []Range16{
2770                 {0x0021, 0x0023, 1},
2771                 {0x0025, 0x0027, 1},
2772                 {0x002a, 0x002e, 2},
2773                 {0x002f, 0x003a, 11},
2774                 {0x003b, 0x003f, 4},
2775                 {0x0040, 0x005c, 28},
2776                 {0x00a1, 0x00a7, 6},
2777                 {0x00b6, 0x00b7, 1},
2778                 {0x00bf, 0x037e, 703},
2779                 {0x0387, 0x055a, 467},
2780                 {0x055b, 0x055f, 1},
2781                 {0x0589, 0x05c0, 55},
2782                 {0x05c3, 0x05c6, 3},
2783                 {0x05f3, 0x05f4, 1},
2784                 {0x0609, 0x060a, 1},
2785                 {0x060c, 0x060d, 1},
2786                 {0x061b, 0x061e, 3},
2787                 {0x061f, 0x066a, 75},
2788                 {0x066b, 0x066d, 1},
2789                 {0x06d4, 0x0700, 44},
2790                 {0x0701, 0x070d, 1},
2791                 {0x07f7, 0x07f9, 1},
2792                 {0x0830, 0x083e, 1},
2793                 {0x085e, 0x0964, 262},
2794                 {0x0965, 0x0970, 11},
2795                 {0x09fd, 0x0a76, 121},
2796                 {0x0af0, 0x0c84, 404},
2797                 {0x0df4, 0x0e4f, 91},
2798                 {0x0e5a, 0x0e5b, 1},
2799                 {0x0f04, 0x0f12, 1},
2800                 {0x0f14, 0x0f85, 113},
2801                 {0x0fd0, 0x0fd4, 1},
2802                 {0x0fd9, 0x0fda, 1},
2803                 {0x104a, 0x104f, 1},
2804                 {0x10fb, 0x1360, 613},
2805                 {0x1361, 0x1368, 1},
2806                 {0x166d, 0x166e, 1},
2807                 {0x16eb, 0x16ed, 1},
2808                 {0x1735, 0x1736, 1},
2809                 {0x17d4, 0x17d6, 1},
2810                 {0x17d8, 0x17da, 1},
2811                 {0x1800, 0x1805, 1},
2812                 {0x1807, 0x180a, 1},
2813                 {0x1944, 0x1945, 1},
2814                 {0x1a1e, 0x1a1f, 1},
2815                 {0x1aa0, 0x1aa6, 1},
2816                 {0x1aa8, 0x1aad, 1},
2817                 {0x1b5a, 0x1b60, 1},
2818                 {0x1bfc, 0x1bff, 1},
2819                 {0x1c3b, 0x1c3f, 1},
2820                 {0x1c7e, 0x1c7f, 1},
2821                 {0x1cc0, 0x1cc7, 1},
2822                 {0x1cd3, 0x2016, 835},
2823                 {0x2017, 0x2020, 9},
2824                 {0x2021, 0x2027, 1},
2825                 {0x2030, 0x2038, 1},
2826                 {0x203b, 0x203e, 1},
2827                 {0x2041, 0x2043, 1},
2828                 {0x2047, 0x2051, 1},
2829                 {0x2053, 0x2055, 2},
2830                 {0x2056, 0x205e, 1},
2831                 {0x2cf9, 0x2cfc, 1},
2832                 {0x2cfe, 0x2cff, 1},
2833                 {0x2d70, 0x2e00, 144},
2834                 {0x2e01, 0x2e06, 5},
2835                 {0x2e07, 0x2e08, 1},
2836                 {0x2e0b, 0x2e0e, 3},
2837                 {0x2e0f, 0x2e16, 1},
2838                 {0x2e18, 0x2e19, 1},
2839                 {0x2e1b, 0x2e1e, 3},
2840                 {0x2e1f, 0x2e2a, 11},
2841                 {0x2e2b, 0x2e2e, 1},
2842                 {0x2e30, 0x2e39, 1},
2843                 {0x2e3c, 0x2e3f, 1},
2844                 {0x2e41, 0x2e43, 2},
2845                 {0x2e44, 0x2e4e, 1},
2846                 {0x3001, 0x3003, 1},
2847                 {0x303d, 0x30fb, 190},
2848                 {0xa4fe, 0xa4ff, 1},
2849                 {0xa60d, 0xa60f, 1},
2850                 {0xa673, 0xa67e, 11},
2851                 {0xa6f2, 0xa6f7, 1},
2852                 {0xa874, 0xa877, 1},
2853                 {0xa8ce, 0xa8cf, 1},
2854                 {0xa8f8, 0xa8fa, 1},
2855                 {0xa8fc, 0xa92e, 50},
2856                 {0xa92f, 0xa95f, 48},
2857                 {0xa9c1, 0xa9cd, 1},
2858                 {0xa9de, 0xa9df, 1},
2859                 {0xaa5c, 0xaa5f, 1},
2860                 {0xaade, 0xaadf, 1},
2861                 {0xaaf0, 0xaaf1, 1},
2862                 {0xabeb, 0xfe10, 21029},
2863                 {0xfe11, 0xfe16, 1},
2864                 {0xfe19, 0xfe30, 23},
2865                 {0xfe45, 0xfe46, 1},
2866                 {0xfe49, 0xfe4c, 1},
2867                 {0xfe50, 0xfe52, 1},
2868                 {0xfe54, 0xfe57, 1},
2869                 {0xfe5f, 0xfe61, 1},
2870                 {0xfe68, 0xfe6a, 2},
2871                 {0xfe6b, 0xff01, 150},
2872                 {0xff02, 0xff03, 1},
2873                 {0xff05, 0xff07, 1},
2874                 {0xff0a, 0xff0e, 2},
2875                 {0xff0f, 0xff1a, 11},
2876                 {0xff1b, 0xff1f, 4},
2877                 {0xff20, 0xff3c, 28},
2878                 {0xff61, 0xff64, 3},
2879                 {0xff65, 0xff65, 1},
2880         },
2881         R32: []Range32{
2882                 {0x10100, 0x10102, 1},
2883                 {0x1039f, 0x103d0, 49},
2884                 {0x1056f, 0x10857, 744},
2885                 {0x1091f, 0x1093f, 32},
2886                 {0x10a50, 0x10a58, 1},
2887                 {0x10a7f, 0x10af0, 113},
2888                 {0x10af1, 0x10af6, 1},
2889                 {0x10b39, 0x10b3f, 1},
2890                 {0x10b99, 0x10b9c, 1},
2891                 {0x10f55, 0x10f59, 1},
2892                 {0x11047, 0x1104d, 1},
2893                 {0x110bb, 0x110bc, 1},
2894                 {0x110be, 0x110c1, 1},
2895                 {0x11140, 0x11143, 1},
2896                 {0x11174, 0x11175, 1},
2897                 {0x111c5, 0x111c8, 1},
2898                 {0x111cd, 0x111db, 14},
2899                 {0x111dd, 0x111df, 1},
2900                 {0x11238, 0x1123d, 1},
2901                 {0x112a9, 0x1144b, 418},
2902                 {0x1144c, 0x1144f, 1},
2903                 {0x1145b, 0x1145d, 2},
2904                 {0x114c6, 0x115c1, 251},
2905                 {0x115c2, 0x115d7, 1},
2906                 {0x11641, 0x11643, 1},
2907                 {0x11660, 0x1166c, 1},
2908                 {0x1173c, 0x1173e, 1},
2909                 {0x1183b, 0x11a3f, 516},
2910                 {0x11a40, 0x11a46, 1},
2911                 {0x11a9a, 0x11a9c, 1},
2912                 {0x11a9e, 0x11aa2, 1},
2913                 {0x11c41, 0x11c45, 1},
2914                 {0x11c70, 0x11c71, 1},
2915                 {0x11ef7, 0x11ef8, 1},
2916                 {0x12470, 0x12474, 1},
2917                 {0x16a6e, 0x16a6f, 1},
2918                 {0x16af5, 0x16b37, 66},
2919                 {0x16b38, 0x16b3b, 1},
2920                 {0x16b44, 0x16e97, 851},
2921                 {0x16e98, 0x16e9a, 1},
2922                 {0x1bc9f, 0x1da87, 7656},
2923                 {0x1da88, 0x1da8b, 1},
2924                 {0x1e95e, 0x1e95f, 1},
2925         },
2926         LatinOffset: 8,
2927 }
2928
2929 var _Ps = &RangeTable{
2930         R16: []Range16{
2931                 {0x0028, 0x005b, 51},
2932                 {0x007b, 0x0f3a, 3775},
2933                 {0x0f3c, 0x169b, 1887},
2934                 {0x201a, 0x201e, 4},
2935                 {0x2045, 0x207d, 56},
2936                 {0x208d, 0x2308, 635},
2937                 {0x230a, 0x2329, 31},
2938                 {0x2768, 0x2774, 2},
2939                 {0x27c5, 0x27e6, 33},
2940                 {0x27e8, 0x27ee, 2},
2941                 {0x2983, 0x2997, 2},
2942                 {0x29d8, 0x29da, 2},
2943                 {0x29fc, 0x2e22, 1062},
2944                 {0x2e24, 0x2e28, 2},
2945                 {0x2e42, 0x3008, 454},
2946                 {0x300a, 0x3010, 2},
2947                 {0x3014, 0x301a, 2},
2948                 {0x301d, 0xfd3f, 52514},
2949                 {0xfe17, 0xfe35, 30},
2950                 {0xfe37, 0xfe43, 2},
2951                 {0xfe47, 0xfe59, 18},
2952                 {0xfe5b, 0xfe5d, 2},
2953                 {0xff08, 0xff3b, 51},
2954                 {0xff5b, 0xff5f, 4},
2955                 {0xff62, 0xff62, 1},
2956         },
2957         LatinOffset: 1,
2958 }
2959
2960 var _S = &RangeTable{
2961         R16: []Range16{
2962                 {0x0024, 0x002b, 7},
2963                 {0x003c, 0x003e, 1},
2964                 {0x005e, 0x0060, 2},
2965                 {0x007c, 0x007e, 2},
2966                 {0x00a2, 0x00a6, 1},
2967                 {0x00a8, 0x00a9, 1},
2968                 {0x00ac, 0x00ae, 2},
2969                 {0x00af, 0x00b1, 1},
2970                 {0x00b4, 0x00b8, 4},
2971                 {0x00d7, 0x00f7, 32},
2972                 {0x02c2, 0x02c5, 1},
2973                 {0x02d2, 0x02df, 1},
2974                 {0x02e5, 0x02eb, 1},
2975                 {0x02ed, 0x02ef, 2},
2976                 {0x02f0, 0x02ff, 1},
2977                 {0x0375, 0x0384, 15},
2978                 {0x0385, 0x03f6, 113},
2979                 {0x0482, 0x058d, 267},
2980                 {0x058e, 0x058f, 1},
2981                 {0x0606, 0x0608, 1},
2982                 {0x060b, 0x060e, 3},
2983                 {0x060f, 0x06de, 207},
2984                 {0x06e9, 0x06fd, 20},
2985                 {0x06fe, 0x07f6, 248},
2986                 {0x07fe, 0x07ff, 1},
2987                 {0x09f2, 0x09f3, 1},
2988                 {0x09fa, 0x09fb, 1},
2989                 {0x0af1, 0x0b70, 127},
2990                 {0x0bf3, 0x0bfa, 1},
2991                 {0x0c7f, 0x0d4f, 208},
2992                 {0x0d79, 0x0e3f, 198},
2993                 {0x0f01, 0x0f03, 1},
2994                 {0x0f13, 0x0f15, 2},
2995                 {0x0f16, 0x0f17, 1},
2996                 {0x0f1a, 0x0f1f, 1},
2997                 {0x0f34, 0x0f38, 2},
2998                 {0x0fbe, 0x0fc5, 1},
2999                 {0x0fc7, 0x0fcc, 1},
3000                 {0x0fce, 0x0fcf, 1},
3001                 {0x0fd5, 0x0fd8, 1},
3002                 {0x109e, 0x109f, 1},
3003                 {0x1390, 0x1399, 1},
3004                 {0x17db, 0x1940, 357},
3005                 {0x19de, 0x19ff, 1},
3006                 {0x1b61, 0x1b6a, 1},
3007                 {0x1b74, 0x1b7c, 1},
3008                 {0x1fbd, 0x1fbf, 2},
3009                 {0x1fc0, 0x1fc1, 1},
3010                 {0x1fcd, 0x1fcf, 1},
3011                 {0x1fdd, 0x1fdf, 1},
3012                 {0x1fed, 0x1fef, 1},
3013                 {0x1ffd, 0x1ffe, 1},
3014                 {0x2044, 0x2052, 14},
3015                 {0x207a, 0x207c, 1},
3016                 {0x208a, 0x208c, 1},
3017                 {0x20a0, 0x20bf, 1},
3018                 {0x2100, 0x2101, 1},
3019                 {0x2103, 0x2106, 1},
3020                 {0x2108, 0x2109, 1},
3021                 {0x2114, 0x2116, 2},
3022                 {0x2117, 0x2118, 1},
3023                 {0x211e, 0x2123, 1},
3024                 {0x2125, 0x2129, 2},
3025                 {0x212e, 0x213a, 12},
3026                 {0x213b, 0x2140, 5},
3027                 {0x2141, 0x2144, 1},
3028                 {0x214a, 0x214d, 1},
3029                 {0x214f, 0x218a, 59},
3030                 {0x218b, 0x2190, 5},
3031                 {0x2191, 0x2307, 1},
3032                 {0x230c, 0x2328, 1},
3033                 {0x232b, 0x2426, 1},
3034                 {0x2440, 0x244a, 1},
3035                 {0x249c, 0x24e9, 1},
3036                 {0x2500, 0x2767, 1},
3037                 {0x2794, 0x27c4, 1},
3038                 {0x27c7, 0x27e5, 1},
3039                 {0x27f0, 0x2982, 1},
3040                 {0x2999, 0x29d7, 1},
3041                 {0x29dc, 0x29fb, 1},
3042                 {0x29fe, 0x2b73, 1},
3043                 {0x2b76, 0x2b95, 1},
3044                 {0x2b98, 0x2bc8, 1},
3045                 {0x2bca, 0x2bfe, 1},
3046                 {0x2ce5, 0x2cea, 1},
3047                 {0x2e80, 0x2e99, 1},
3048                 {0x2e9b, 0x2ef3, 1},
3049                 {0x2f00, 0x2fd5, 1},
3050                 {0x2ff0, 0x2ffb, 1},
3051                 {0x3004, 0x3012, 14},
3052                 {0x3013, 0x3020, 13},
3053                 {0x3036, 0x3037, 1},
3054                 {0x303e, 0x303f, 1},
3055                 {0x309b, 0x309c, 1},
3056                 {0x3190, 0x3191, 1},
3057                 {0x3196, 0x319f, 1},
3058                 {0x31c0, 0x31e3, 1},
3059                 {0x3200, 0x321e, 1},
3060                 {0x322a, 0x3247, 1},
3061                 {0x3250, 0x3260, 16},
3062                 {0x3261, 0x327f, 1},
3063                 {0x328a, 0x32b0, 1},
3064                 {0x32c0, 0x32fe, 1},
3065                 {0x3300, 0x33ff, 1},
3066                 {0x4dc0, 0x4dff, 1},
3067                 {0xa490, 0xa4c6, 1},
3068                 {0xa700, 0xa716, 1},
3069                 {0xa720, 0xa721, 1},
3070                 {0xa789, 0xa78a, 1},
3071                 {0xa828, 0xa82b, 1},
3072                 {0xa836, 0xa839, 1},
3073                 {0xaa77, 0xaa79, 1},
3074                 {0xab5b, 0xfb29, 20430},
3075                 {0xfbb2, 0xfbc1, 1},
3076                 {0xfdfc, 0xfdfd, 1},
3077                 {0xfe62, 0xfe64, 2},
3078                 {0xfe65, 0xfe66, 1},
3079                 {0xfe69, 0xff04, 155},
3080                 {0xff0b, 0xff1c, 17},
3081                 {0xff1d, 0xff1e, 1},
3082                 {0xff3e, 0xff40, 2},
3083                 {0xff5c, 0xff5e, 2},
3084                 {0xffe0, 0xffe6, 1},
3085                 {0xffe8, 0xffee, 1},
3086                 {0xfffc, 0xfffd, 1},
3087         },
3088         R32: []Range32{
3089                 {0x10137, 0x1013f, 1},
3090                 {0x10179, 0x10189, 1},
3091                 {0x1018c, 0x1018e, 1},
3092                 {0x10190, 0x1019b, 1},
3093                 {0x101a0, 0x101d0, 48},
3094                 {0x101d1, 0x101fc, 1},
3095                 {0x10877, 0x10878, 1},
3096                 {0x10ac8, 0x1173f, 3191},
3097                 {0x16b3c, 0x16b3f, 1},
3098                 {0x16b45, 0x1bc9c, 20823},
3099                 {0x1d000, 0x1d0f5, 1},
3100                 {0x1d100, 0x1d126, 1},
3101                 {0x1d129, 0x1d164, 1},
3102                 {0x1d16a, 0x1d16c, 1},
3103                 {0x1d183, 0x1d184, 1},
3104                 {0x1d18c, 0x1d1a9, 1},
3105                 {0x1d1ae, 0x1d1e8, 1},
3106                 {0x1d200, 0x1d241, 1},
3107                 {0x1d245, 0x1d300, 187},
3108                 {0x1d301, 0x1d356, 1},
3109                 {0x1d6c1, 0x1d6db, 26},
3110                 {0x1d6fb, 0x1d715, 26},
3111                 {0x1d735, 0x1d74f, 26},
3112                 {0x1d76f, 0x1d789, 26},
3113                 {0x1d7a9, 0x1d7c3, 26},
3114                 {0x1d800, 0x1d9ff, 1},
3115                 {0x1da37, 0x1da3a, 1},
3116                 {0x1da6d, 0x1da74, 1},
3117                 {0x1da76, 0x1da83, 1},
3118                 {0x1da85, 0x1da86, 1},
3119                 {0x1ecac, 0x1ecb0, 4},
3120                 {0x1eef0, 0x1eef1, 1},
3121                 {0x1f000, 0x1f02b, 1},
3122                 {0x1f030, 0x1f093, 1},
3123                 {0x1f0a0, 0x1f0ae, 1},
3124                 {0x1f0b1, 0x1f0bf, 1},
3125                 {0x1f0c1, 0x1f0cf, 1},
3126                 {0x1f0d1, 0x1f0f5, 1},
3127                 {0x1f110, 0x1f16b, 1},
3128                 {0x1f170, 0x1f1ac, 1},
3129                 {0x1f1e6, 0x1f202, 1},
3130                 {0x1f210, 0x1f23b, 1},
3131                 {0x1f240, 0x1f248, 1},
3132                 {0x1f250, 0x1f251, 1},
3133                 {0x1f260, 0x1f265, 1},
3134                 {0x1f300, 0x1f6d4, 1},
3135                 {0x1f6e0, 0x1f6ec, 1},
3136                 {0x1f6f0, 0x1f6f9, 1},
3137                 {0x1f700, 0x1f773, 1},
3138                 {0x1f780, 0x1f7d8, 1},
3139                 {0x1f800, 0x1f80b, 1},
3140                 {0x1f810, 0x1f847, 1},
3141                 {0x1f850, 0x1f859, 1},
3142                 {0x1f860, 0x1f887, 1},
3143                 {0x1f890, 0x1f8ad, 1},
3144                 {0x1f900, 0x1f90b, 1},
3145                 {0x1f910, 0x1f93e, 1},
3146                 {0x1f940, 0x1f970, 1},
3147                 {0x1f973, 0x1f976, 1},
3148                 {0x1f97a, 0x1f97c, 2},
3149                 {0x1f97d, 0x1f9a2, 1},
3150                 {0x1f9b0, 0x1f9b9, 1},
3151                 {0x1f9c0, 0x1f9c2, 1},
3152                 {0x1f9d0, 0x1f9ff, 1},
3153                 {0x1fa60, 0x1fa6d, 1},
3154         },
3155         LatinOffset: 10,
3156 }
3157
3158 var _Sc = &RangeTable{
3159         R16: []Range16{
3160                 {0x0024, 0x00a2, 126},
3161                 {0x00a3, 0x00a5, 1},
3162                 {0x058f, 0x060b, 124},
3163                 {0x07fe, 0x07ff, 1},
3164                 {0x09f2, 0x09f3, 1},
3165                 {0x09fb, 0x0af1, 246},
3166                 {0x0bf9, 0x0e3f, 582},
3167                 {0x17db, 0x20a0, 2245},
3168                 {0x20a1, 0x20bf, 1},
3169                 {0xa838, 0xfdfc, 21956},
3170                 {0xfe69, 0xff04, 155},
3171                 {0xffe0, 0xffe1, 1},
3172                 {0xffe5, 0xffe6, 1},
3173         },
3174         R32: []Range32{
3175                 {0x1ecb0, 0x1ecb0, 1},
3176         },
3177         LatinOffset: 2,
3178 }
3179
3180 var _Sk = &RangeTable{
3181         R16: []Range16{
3182                 {0x005e, 0x0060, 2},
3183                 {0x00a8, 0x00af, 7},
3184                 {0x00b4, 0x00b8, 4},
3185                 {0x02c2, 0x02c5, 1},
3186                 {0x02d2, 0x02df, 1},
3187                 {0x02e5, 0x02eb, 1},
3188                 {0x02ed, 0x02ef, 2},
3189                 {0x02f0, 0x02ff, 1},
3190                 {0x0375, 0x0384, 15},
3191                 {0x0385, 0x1fbd, 7224},
3192                 {0x1fbf, 0x1fc1, 1},
3193                 {0x1fcd, 0x1fcf, 1},
3194                 {0x1fdd, 0x1fdf, 1},
3195                 {0x1fed, 0x1fef, 1},
3196                 {0x1ffd, 0x1ffe, 1},
3197                 {0x309b, 0x309c, 1},
3198                 {0xa700, 0xa716, 1},
3199                 {0xa720, 0xa721, 1},
3200                 {0xa789, 0xa78a, 1},
3201                 {0xab5b, 0xfbb2, 20567},
3202                 {0xfbb3, 0xfbc1, 1},
3203                 {0xff3e, 0xff40, 2},
3204                 {0xffe3, 0xffe3, 1},
3205         },
3206         R32: []Range32{
3207                 {0x1f3fb, 0x1f3ff, 1},
3208         },
3209         LatinOffset: 3,
3210 }
3211
3212 var _Sm = &RangeTable{
3213         R16: []Range16{
3214                 {0x002b, 0x003c, 17},
3215                 {0x003d, 0x003e, 1},
3216                 {0x007c, 0x007e, 2},
3217                 {0x00ac, 0x00b1, 5},
3218                 {0x00d7, 0x00f7, 32},
3219                 {0x03f6, 0x0606, 528},
3220                 {0x0607, 0x0608, 1},
3221                 {0x2044, 0x2052, 14},
3222                 {0x207a, 0x207c, 1},
3223                 {0x208a, 0x208c, 1},
3224                 {0x2118, 0x2140, 40},
3225                 {0x2141, 0x2144, 1},
3226                 {0x214b, 0x2190, 69},
3227                 {0x2191, 0x2194, 1},
3228                 {0x219a, 0x219b, 1},
3229                 {0x21a0, 0x21a6, 3},
3230                 {0x21ae, 0x21ce, 32},
3231                 {0x21cf, 0x21d2, 3},
3232                 {0x21d4, 0x21f4, 32},
3233                 {0x21f5, 0x22ff, 1},
3234                 {0x2320, 0x2321, 1},
3235                 {0x237c, 0x239b, 31},
3236                 {0x239c, 0x23b3, 1},
3237                 {0x23dc, 0x23e1, 1},
3238                 {0x25b7, 0x25c1, 10},
3239                 {0x25f8, 0x25ff, 1},
3240                 {0x266f, 0x27c0, 337},
3241                 {0x27c1, 0x27c4, 1},
3242                 {0x27c7, 0x27e5, 1},
3243                 {0x27f0, 0x27ff, 1},
3244                 {0x2900, 0x2982, 1},
3245                 {0x2999, 0x29d7, 1},
3246                 {0x29dc, 0x29fb, 1},
3247                 {0x29fe, 0x2aff, 1},
3248                 {0x2b30, 0x2b44, 1},
3249                 {0x2b47, 0x2b4c, 1},
3250                 {0xfb29, 0xfe62, 825},
3251                 {0xfe64, 0xfe66, 1},
3252                 {0xff0b, 0xff1c, 17},
3253                 {0xff1d, 0xff1e, 1},
3254                 {0xff5c, 0xff5e, 2},
3255                 {0xffe2, 0xffe9, 7},
3256                 {0xffea, 0xffec, 1},
3257         },
3258         R32: []Range32{
3259                 {0x1d6c1, 0x1d6db, 26},
3260                 {0x1d6fb, 0x1d715, 26},
3261                 {0x1d735, 0x1d74f, 26},
3262                 {0x1d76f, 0x1d789, 26},
3263                 {0x1d7a9, 0x1d7c3, 26},
3264                 {0x1eef0, 0x1eef1, 1},
3265         },
3266         LatinOffset: 5,
3267 }
3268
3269 var _So = &RangeTable{
3270         R16: []Range16{
3271                 {0x00a6, 0x00a9, 3},
3272                 {0x00ae, 0x00b0, 2},
3273                 {0x0482, 0x058d, 267},
3274                 {0x058e, 0x060e, 128},
3275                 {0x060f, 0x06de, 207},
3276                 {0x06e9, 0x06fd, 20},
3277                 {0x06fe, 0x07f6, 248},
3278                 {0x09fa, 0x0b70, 374},
3279                 {0x0bf3, 0x0bf8, 1},
3280                 {0x0bfa, 0x0c7f, 133},
3281                 {0x0d4f, 0x0d79, 42},
3282                 {0x0f01, 0x0f03, 1},
3283                 {0x0f13, 0x0f15, 2},
3284                 {0x0f16, 0x0f17, 1},
3285                 {0x0f1a, 0x0f1f, 1},
3286                 {0x0f34, 0x0f38, 2},
3287                 {0x0fbe, 0x0fc5, 1},
3288                 {0x0fc7, 0x0fcc, 1},
3289                 {0x0fce, 0x0fcf, 1},
3290                 {0x0fd5, 0x0fd8, 1},
3291                 {0x109e, 0x109f, 1},
3292                 {0x1390, 0x1399, 1},
3293                 {0x1940, 0x19de, 158},
3294                 {0x19df, 0x19ff, 1},
3295                 {0x1b61, 0x1b6a, 1},
3296                 {0x1b74, 0x1b7c, 1},
3297                 {0x2100, 0x2101, 1},
3298                 {0x2103, 0x2106, 1},
3299                 {0x2108, 0x2109, 1},
3300                 {0x2114, 0x2116, 2},
3301                 {0x2117, 0x211e, 7},
3302                 {0x211f, 0x2123, 1},
3303                 {0x2125, 0x2129, 2},
3304                 {0x212e, 0x213a, 12},
3305                 {0x213b, 0x214a, 15},
3306                 {0x214c, 0x214d, 1},
3307                 {0x214f, 0x218a, 59},
3308                 {0x218b, 0x2195, 10},
3309                 {0x2196, 0x2199, 1},
3310                 {0x219c, 0x219f, 1},
3311                 {0x21a1, 0x21a2, 1},
3312                 {0x21a4, 0x21a5, 1},
3313                 {0x21a7, 0x21ad, 1},
3314                 {0x21af, 0x21cd, 1},
3315                 {0x21d0, 0x21d1, 1},
3316                 {0x21d3, 0x21d5, 2},
3317                 {0x21d6, 0x21f3, 1},
3318                 {0x2300, 0x2307, 1},
3319                 {0x230c, 0x231f, 1},
3320                 {0x2322, 0x2328, 1},
3321                 {0x232b, 0x237b, 1},
3322                 {0x237d, 0x239a, 1},
3323                 {0x23b4, 0x23db, 1},
3324                 {0x23e2, 0x2426, 1},
3325                 {0x2440, 0x244a, 1},
3326                 {0x249c, 0x24e9, 1},
3327                 {0x2500, 0x25b6, 1},
3328                 {0x25b8, 0x25c0, 1},
3329                 {0x25c2, 0x25f7, 1},
3330                 {0x2600, 0x266e, 1},
3331                 {0x2670, 0x2767, 1},
3332                 {0x2794, 0x27bf, 1},
3333                 {0x2800, 0x28ff, 1},
3334                 {0x2b00, 0x2b2f, 1},
3335                 {0x2b45, 0x2b46, 1},
3336                 {0x2b4d, 0x2b73, 1},
3337                 {0x2b76, 0x2b95, 1},
3338                 {0x2b98, 0x2bc8, 1},
3339                 {0x2bca, 0x2bfe, 1},
3340                 {0x2ce5, 0x2cea, 1},
3341                 {0x2e80, 0x2e99, 1},
3342                 {0x2e9b, 0x2ef3, 1},
3343                 {0x2f00, 0x2fd5, 1},
3344                 {0x2ff0, 0x2ffb, 1},
3345                 {0x3004, 0x3012, 14},
3346                 {0x3013, 0x3020, 13},
3347                 {0x3036, 0x3037, 1},
3348                 {0x303e, 0x303f, 1},
3349                 {0x3190, 0x3191, 1},
3350                 {0x3196, 0x319f, 1},
3351                 {0x31c0, 0x31e3, 1},
3352                 {0x3200, 0x321e, 1},
3353                 {0x322a, 0x3247, 1},
3354                 {0x3250, 0x3260, 16},
3355                 {0x3261, 0x327f, 1},
3356                 {0x328a, 0x32b0, 1},
3357                 {0x32c0, 0x32fe, 1},
3358                 {0x3300, 0x33ff, 1},
3359                 {0x4dc0, 0x4dff, 1},
3360                 {0xa490, 0xa4c6, 1},
3361                 {0xa828, 0xa82b, 1},
3362                 {0xa836, 0xa837, 1},
3363                 {0xa839, 0xaa77, 574},
3364                 {0xaa78, 0xaa79, 1},
3365                 {0xfdfd, 0xffe4, 487},
3366                 {0xffe8, 0xffed, 5},
3367                 {0xffee, 0xfffc, 14},
3368                 {0xfffd, 0xfffd, 1},
3369         },
3370         R32: []Range32{
3371                 {0x10137, 0x1013f, 1},
3372                 {0x10179, 0x10189, 1},
3373                 {0x1018c, 0x1018e, 1},
3374                 {0x10190, 0x1019b, 1},
3375                 {0x101a0, 0x101d0, 48},
3376                 {0x101d1, 0x101fc, 1},
3377                 {0x10877, 0x10878, 1},
3378                 {0x10ac8, 0x1173f, 3191},
3379                 {0x16b3c, 0x16b3f, 1},
3380                 {0x16b45, 0x1bc9c, 20823},
3381                 {0x1d000, 0x1d0f5, 1},
3382                 {0x1d100, 0x1d126, 1},
3383                 {0x1d129, 0x1d164, 1},
3384                 {0x1d16a, 0x1d16c, 1},
3385                 {0x1d183, 0x1d184, 1},
3386                 {0x1d18c, 0x1d1a9, 1},
3387                 {0x1d1ae, 0x1d1e8, 1},
3388                 {0x1d200, 0x1d241, 1},
3389                 {0x1d245, 0x1d300, 187},
3390                 {0x1d301, 0x1d356, 1},
3391                 {0x1d800, 0x1d9ff, 1},
3392                 {0x1da37, 0x1da3a, 1},
3393                 {0x1da6d, 0x1da74, 1},
3394                 {0x1da76, 0x1da83, 1},
3395                 {0x1da85, 0x1da86, 1},
3396                 {0x1ecac, 0x1f000, 852},
3397                 {0x1f001, 0x1f02b, 1},
3398                 {0x1f030, 0x1f093, 1},
3399                 {0x1f0a0, 0x1f0ae, 1},
3400                 {0x1f0b1, 0x1f0bf, 1},
3401                 {0x1f0c1, 0x1f0cf, 1},
3402                 {0x1f0d1, 0x1f0f5, 1},
3403                 {0x1f110, 0x1f16b, 1},
3404                 {0x1f170, 0x1f1ac, 1},
3405                 {0x1f1e6, 0x1f202, 1},
3406                 {0x1f210, 0x1f23b, 1},
3407                 {0x1f240, 0x1f248, 1},
3408                 {0x1f250, 0x1f251, 1},
3409                 {0x1f260, 0x1f265, 1},
3410                 {0x1f300, 0x1f3fa, 1},
3411                 {0x1f400, 0x1f6d4, 1},
3412                 {0x1f6e0, 0x1f6ec, 1},
3413                 {0x1f6f0, 0x1f6f9, 1},
3414                 {0x1f700, 0x1f773, 1},
3415                 {0x1f780, 0x1f7d8, 1},
3416                 {0x1f800, 0x1f80b, 1},
3417                 {0x1f810, 0x1f847, 1},
3418                 {0x1f850, 0x1f859, 1},
3419                 {0x1f860, 0x1f887, 1},
3420                 {0x1f890, 0x1f8ad, 1},
3421                 {0x1f900, 0x1f90b, 1},
3422                 {0x1f910, 0x1f93e, 1},
3423                 {0x1f940, 0x1f970, 1},
3424                 {0x1f973, 0x1f976, 1},
3425                 {0x1f97a, 0x1f97c, 2},
3426                 {0x1f97d, 0x1f9a2, 1},
3427                 {0x1f9b0, 0x1f9b9, 1},
3428                 {0x1f9c0, 0x1f9c2, 1},
3429                 {0x1f9d0, 0x1f9ff, 1},
3430                 {0x1fa60, 0x1fa6d, 1},
3431         },
3432         LatinOffset: 2,
3433 }
3434
3435 var _Z = &RangeTable{
3436         R16: []Range16{
3437                 {0x0020, 0x00a0, 128},
3438                 {0x1680, 0x2000, 2432},
3439                 {0x2001, 0x200a, 1},
3440                 {0x2028, 0x2029, 1},
3441                 {0x202f, 0x205f, 48},
3442                 {0x3000, 0x3000, 1},
3443         },
3444         LatinOffset: 1,
3445 }
3446
3447 var _Zl = &RangeTable{
3448         R16: []Range16{
3449                 {0x2028, 0x2028, 1},
3450         },
3451 }
3452
3453 var _Zp = &RangeTable{
3454         R16: []Range16{
3455                 {0x2029, 0x2029, 1},
3456         },
3457 }
3458
3459 var _Zs = &RangeTable{
3460         R16: []Range16{
3461                 {0x0020, 0x00a0, 128},
3462                 {0x1680, 0x2000, 2432},
3463                 {0x2001, 0x200a, 1},
3464                 {0x202f, 0x205f, 48},
3465                 {0x3000, 0x3000, 1},
3466         },
3467         LatinOffset: 1,
3468 }
3469
3470 // These variables have type *RangeTable.
3471 var (
3472         Cc     = _Cc // Cc is the set of Unicode characters in category Cc (Other, control).
3473         Cf     = _Cf // Cf is the set of Unicode characters in category Cf (Other, format).
3474         Co     = _Co // Co is the set of Unicode characters in category Co (Other, private use).
3475         Cs     = _Cs // Cs is the set of Unicode characters in category Cs (Other, surrogate).
3476         Digit  = _Nd // Digit is the set of Unicode characters with the "decimal digit" property.
3477         Nd     = _Nd // Nd is the set of Unicode characters in category Nd (Number, decimal digit).
3478         Letter = _L  // Letter/L is the set of Unicode letters, category L.
3479         L      = _L
3480         Lm     = _Lm // Lm is the set of Unicode characters in category Lm (Letter, modifier).
3481         Lo     = _Lo // Lo is the set of Unicode characters in category Lo (Letter, other).
3482         Lower  = _Ll // Lower is the set of Unicode lower case letters.
3483         Ll     = _Ll // Ll is the set of Unicode characters in category Ll (Letter, lowercase).
3484         Mark   = _M  // Mark/M is the set of Unicode mark characters, category M.
3485         M      = _M
3486         Mc     = _Mc // Mc is the set of Unicode characters in category Mc (Mark, spacing combining).
3487         Me     = _Me // Me is the set of Unicode characters in category Me (Mark, enclosing).
3488         Mn     = _Mn // Mn is the set of Unicode characters in category Mn (Mark, nonspacing).
3489         Nl     = _Nl // Nl is the set of Unicode characters in category Nl (Number, letter).
3490         No     = _No // No is the set of Unicode characters in category No (Number, other).
3491         Number = _N  // Number/N is the set of Unicode number characters, category N.
3492         N      = _N
3493         Other  = _C // Other/C is the set of Unicode control and special characters, category C.
3494         C      = _C
3495         Pc     = _Pc // Pc is the set of Unicode characters in category Pc (Punctuation, connector).
3496         Pd     = _Pd // Pd is the set of Unicode characters in category Pd (Punctuation, dash).
3497         Pe     = _Pe // Pe is the set of Unicode characters in category Pe (Punctuation, close).
3498         Pf     = _Pf // Pf is the set of Unicode characters in category Pf (Punctuation, final quote).
3499         Pi     = _Pi // Pi is the set of Unicode characters in category Pi (Punctuation, initial quote).
3500         Po     = _Po // Po is the set of Unicode characters in category Po (Punctuation, other).
3501         Ps     = _Ps // Ps is the set of Unicode characters in category Ps (Punctuation, open).
3502         Punct  = _P  // Punct/P is the set of Unicode punctuation characters, category P.
3503         P      = _P
3504         Sc     = _Sc // Sc is the set of Unicode characters in category Sc (Symbol, currency).
3505         Sk     = _Sk // Sk is the set of Unicode characters in category Sk (Symbol, modifier).
3506         Sm     = _Sm // Sm is the set of Unicode characters in category Sm (Symbol, math).
3507         So     = _So // So is the set of Unicode characters in category So (Symbol, other).
3508         Space  = _Z  // Space/Z is the set of Unicode space characters, category Z.
3509         Z      = _Z
3510         Symbol = _S // Symbol/S is the set of Unicode symbol characters, category S.
3511         S      = _S
3512         Title  = _Lt // Title is the set of Unicode title case letters.
3513         Lt     = _Lt // Lt is the set of Unicode characters in category Lt (Letter, titlecase).
3514         Upper  = _Lu // Upper is the set of Unicode upper case letters.
3515         Lu     = _Lu // Lu is the set of Unicode characters in category Lu (Letter, uppercase).
3516         Zl     = _Zl // Zl is the set of Unicode characters in category Zl (Separator, line).
3517         Zp     = _Zp // Zp is the set of Unicode characters in category Zp (Separator, paragraph).
3518         Zs     = _Zs // Zs is the set of Unicode characters in category Zs (Separator, space).
3519 )
3520
3521 // Scripts is the set of Unicode script tables.
3522 var Scripts = map[string]*RangeTable{
3523         "Adlam":                  Adlam,
3524         "Ahom":                   Ahom,
3525         "Anatolian_Hieroglyphs":  Anatolian_Hieroglyphs,
3526         "Arabic":                 Arabic,
3527         "Armenian":               Armenian,
3528         "Avestan":                Avestan,
3529         "Balinese":               Balinese,
3530         "Bamum":                  Bamum,
3531         "Bassa_Vah":              Bassa_Vah,
3532         "Batak":                  Batak,
3533         "Bengali":                Bengali,
3534         "Bhaiksuki":              Bhaiksuki,
3535         "Bopomofo":               Bopomofo,
3536         "Brahmi":                 Brahmi,
3537         "Braille":                Braille,
3538         "Buginese":               Buginese,
3539         "Buhid":                  Buhid,
3540         "Canadian_Aboriginal":    Canadian_Aboriginal,
3541         "Carian":                 Carian,
3542         "Caucasian_Albanian":     Caucasian_Albanian,
3543         "Chakma":                 Chakma,
3544         "Cham":                   Cham,
3545         "Cherokee":               Cherokee,
3546         "Common":                 Common,
3547         "Coptic":                 Coptic,
3548         "Cuneiform":              Cuneiform,
3549         "Cypriot":                Cypriot,
3550         "Cyrillic":               Cyrillic,
3551         "Deseret":                Deseret,
3552         "Devanagari":             Devanagari,
3553         "Dogra":                  Dogra,
3554         "Duployan":               Duployan,
3555         "Egyptian_Hieroglyphs":   Egyptian_Hieroglyphs,
3556         "Elbasan":                Elbasan,
3557         "Ethiopic":               Ethiopic,
3558         "Georgian":               Georgian,
3559         "Glagolitic":             Glagolitic,
3560         "Gothic":                 Gothic,
3561         "Grantha":                Grantha,
3562         "Greek":                  Greek,
3563         "Gujarati":               Gujarati,
3564         "Gunjala_Gondi":          Gunjala_Gondi,
3565         "Gurmukhi":               Gurmukhi,
3566         "Han":                    Han,
3567         "Hangul":                 Hangul,
3568         "Hanifi_Rohingya":        Hanifi_Rohingya,
3569         "Hanunoo":                Hanunoo,
3570         "Hatran":                 Hatran,
3571         "Hebrew":                 Hebrew,
3572         "Hiragana":               Hiragana,
3573         "Imperial_Aramaic":       Imperial_Aramaic,
3574         "Inherited":              Inherited,
3575         "Inscriptional_Pahlavi":  Inscriptional_Pahlavi,
3576         "Inscriptional_Parthian": Inscriptional_Parthian,
3577         "Javanese":               Javanese,
3578         "Kaithi":                 Kaithi,
3579         "Kannada":                Kannada,
3580         "Katakana":               Katakana,
3581         "Kayah_Li":               Kayah_Li,
3582         "Kharoshthi":             Kharoshthi,
3583         "Khmer":                  Khmer,
3584         "Khojki":                 Khojki,
3585         "Khudawadi":              Khudawadi,
3586         "Lao":                    Lao,
3587         "Latin":                  Latin,
3588         "Lepcha":                 Lepcha,
3589         "Limbu":                  Limbu,
3590         "Linear_A":               Linear_A,
3591         "Linear_B":               Linear_B,
3592         "Lisu":                   Lisu,
3593         "Lycian":                 Lycian,
3594         "Lydian":                 Lydian,
3595         "Mahajani":               Mahajani,
3596         "Makasar":                Makasar,
3597         "Malayalam":              Malayalam,
3598         "Mandaic":                Mandaic,
3599         "Manichaean":             Manichaean,
3600         "Marchen":                Marchen,
3601         "Masaram_Gondi":          Masaram_Gondi,
3602         "Medefaidrin":            Medefaidrin,
3603         "Meetei_Mayek":           Meetei_Mayek,
3604         "Mende_Kikakui":          Mende_Kikakui,
3605         "Meroitic_Cursive":       Meroitic_Cursive,
3606         "Meroitic_Hieroglyphs":   Meroitic_Hieroglyphs,
3607         "Miao":                   Miao,
3608         "Modi":                   Modi,
3609         "Mongolian":              Mongolian,
3610         "Mro":                    Mro,
3611         "Multani":                Multani,
3612         "Myanmar":                Myanmar,
3613         "Nabataean":              Nabataean,
3614         "New_Tai_Lue":            New_Tai_Lue,
3615         "Newa":                   Newa,
3616         "Nko":                    Nko,
3617         "Nushu":                  Nushu,
3618         "Ogham":                  Ogham,
3619         "Ol_Chiki":               Ol_Chiki,
3620         "Old_Hungarian":          Old_Hungarian,
3621         "Old_Italic":             Old_Italic,
3622         "Old_North_Arabian":      Old_North_Arabian,
3623         "Old_Permic":             Old_Permic,
3624         "Old_Persian":            Old_Persian,
3625         "Old_Sogdian":            Old_Sogdian,
3626         "Old_South_Arabian":      Old_South_Arabian,
3627         "Old_Turkic":             Old_Turkic,
3628         "Oriya":                  Oriya,
3629         "Osage":                  Osage,
3630         "Osmanya":                Osmanya,
3631         "Pahawh_Hmong":           Pahawh_Hmong,
3632         "Palmyrene":              Palmyrene,
3633         "Pau_Cin_Hau":            Pau_Cin_Hau,
3634         "Phags_Pa":               Phags_Pa,
3635         "Phoenician":             Phoenician,
3636         "Psalter_Pahlavi":        Psalter_Pahlavi,
3637         "Rejang":                 Rejang,
3638         "Runic":                  Runic,
3639         "Samaritan":              Samaritan,
3640         "Saurashtra":             Saurashtra,
3641         "Sharada":                Sharada,
3642         "Shavian":                Shavian,
3643         "Siddham":                Siddham,
3644         "SignWriting":            SignWriting,
3645         "Sinhala":                Sinhala,
3646         "Sogdian":                Sogdian,
3647         "Sora_Sompeng":           Sora_Sompeng,
3648         "Soyombo":                Soyombo,
3649         "Sundanese":              Sundanese,
3650         "Syloti_Nagri":           Syloti_Nagri,
3651         "Syriac":                 Syriac,
3652         "Tagalog":                Tagalog,
3653         "Tagbanwa":               Tagbanwa,
3654         "Tai_Le":                 Tai_Le,
3655         "Tai_Tham":               Tai_Tham,
3656         "Tai_Viet":               Tai_Viet,
3657         "Takri":                  Takri,
3658         "Tamil":                  Tamil,
3659         "Tangut":                 Tangut,
3660         "Telugu":                 Telugu,
3661         "Thaana":                 Thaana,
3662         "Thai":                   Thai,
3663         "Tibetan":                Tibetan,
3664         "Tifinagh":               Tifinagh,
3665         "Tirhuta":                Tirhuta,
3666         "Ugaritic":               Ugaritic,
3667         "Vai":                    Vai,
3668         "Warang_Citi":            Warang_Citi,
3669         "Yi":                     Yi,
3670         "Zanabazar_Square":       Zanabazar_Square,
3671 }
3672
3673 var _Adlam = &RangeTable{
3674         R16: []Range16{},
3675         R32: []Range32{
3676                 {0x1e900, 0x1e94a, 1},
3677                 {0x1e950, 0x1e959, 1},
3678                 {0x1e95e, 0x1e95f, 1},
3679         },
3680 }
3681
3682 var _Ahom = &RangeTable{
3683         R16: []Range16{},
3684         R32: []Range32{
3685                 {0x11700, 0x1171a, 1},
3686                 {0x1171d, 0x1172b, 1},
3687                 {0x11730, 0x1173f, 1},
3688         },
3689 }
3690
3691 var _Anatolian_Hieroglyphs = &RangeTable{
3692         R16: []Range16{},
3693         R32: []Range32{
3694                 {0x14400, 0x14646, 1},
3695         },
3696 }
3697
3698 var _Arabic = &RangeTable{
3699         R16: []Range16{
3700                 {0x0600, 0x0604, 1},
3701                 {0x0606, 0x060b, 1},
3702                 {0x060d, 0x061a, 1},
3703                 {0x061c, 0x0620, 2},
3704                 {0x0621, 0x063f, 1},
3705                 {0x0641, 0x064a, 1},
3706                 {0x0656, 0x066f, 1},
3707                 {0x0671, 0x06dc, 1},
3708                 {0x06de, 0x06ff, 1},
3709                 {0x0750, 0x077f, 1},
3710                 {0x08a0, 0x08b4, 1},
3711                 {0x08b6, 0x08bd, 1},
3712                 {0x08d3, 0x08e1, 1},
3713                 {0x08e3, 0x08ff, 1},
3714                 {0xfb50, 0xfbc1, 1},
3715                 {0xfbd3, 0xfd3d, 1},
3716                 {0xfd50, 0xfd8f, 1},
3717                 {0xfd92, 0xfdc7, 1},
3718                 {0xfdf0, 0xfdfd, 1},
3719                 {0xfe70, 0xfe74, 1},
3720                 {0xfe76, 0xfefc, 1},
3721         },
3722         R32: []Range32{
3723                 {0x10e60, 0x10e7e, 1},
3724                 {0x1ee00, 0x1ee03, 1},
3725                 {0x1ee05, 0x1ee1f, 1},
3726                 {0x1ee21, 0x1ee22, 1},
3727                 {0x1ee24, 0x1ee27, 3},
3728                 {0x1ee29, 0x1ee32, 1},
3729                 {0x1ee34, 0x1ee37, 1},
3730                 {0x1ee39, 0x1ee3b, 2},
3731                 {0x1ee42, 0x1ee47, 5},
3732                 {0x1ee49, 0x1ee4d, 2},
3733                 {0x1ee4e, 0x1ee4f, 1},
3734                 {0x1ee51, 0x1ee52, 1},
3735                 {0x1ee54, 0x1ee57, 3},
3736                 {0x1ee59, 0x1ee61, 2},
3737                 {0x1ee62, 0x1ee64, 2},
3738                 {0x1ee67, 0x1ee6a, 1},
3739                 {0x1ee6c, 0x1ee72, 1},
3740                 {0x1ee74, 0x1ee77, 1},
3741                 {0x1ee79, 0x1ee7c, 1},
3742                 {0x1ee7e, 0x1ee80, 2},
3743                 {0x1ee81, 0x1ee89, 1},
3744                 {0x1ee8b, 0x1ee9b, 1},
3745                 {0x1eea1, 0x1eea3, 1},
3746                 {0x1eea5, 0x1eea9, 1},
3747                 {0x1eeab, 0x1eebb, 1},
3748                 {0x1eef0, 0x1eef1, 1},
3749         },
3750 }
3751
3752 var _Armenian = &RangeTable{
3753         R16: []Range16{
3754                 {0x0531, 0x0556, 1},
3755                 {0x0559, 0x0588, 1},
3756                 {0x058a, 0x058d, 3},
3757                 {0x058e, 0x058f, 1},
3758                 {0xfb13, 0xfb17, 1},
3759         },
3760 }
3761
3762 var _Avestan = &RangeTable{
3763         R16: []Range16{},
3764         R32: []Range32{
3765                 {0x10b00, 0x10b35, 1},
3766                 {0x10b39, 0x10b3f, 1},
3767         },
3768 }
3769
3770 var _Balinese = &RangeTable{
3771         R16: []Range16{
3772                 {0x1b00, 0x1b4b, 1},
3773                 {0x1b50, 0x1b7c, 1},
3774         },
3775 }
3776
3777 var _Bamum = &RangeTable{
3778         R16: []Range16{
3779                 {0xa6a0, 0xa6f7, 1},
3780         },
3781         R32: []Range32{
3782                 {0x16800, 0x16a38, 1},
3783         },
3784 }
3785
3786 var _Bassa_Vah = &RangeTable{
3787         R16: []Range16{},
3788         R32: []Range32{
3789                 {0x16ad0, 0x16aed, 1},
3790                 {0x16af0, 0x16af5, 1},
3791         },
3792 }
3793
3794 var _Batak = &RangeTable{
3795         R16: []Range16{
3796                 {0x1bc0, 0x1bf3, 1},
3797                 {0x1bfc, 0x1bff, 1},
3798         },
3799 }
3800
3801 var _Bengali = &RangeTable{
3802         R16: []Range16{
3803                 {0x0980, 0x0983, 1},
3804                 {0x0985, 0x098c, 1},
3805                 {0x098f, 0x0990, 1},
3806                 {0x0993, 0x09a8, 1},
3807                 {0x09aa, 0x09b0, 1},
3808                 {0x09b2, 0x09b6, 4},
3809                 {0x09b7, 0x09b9, 1},
3810                 {0x09bc, 0x09c4, 1},
3811                 {0x09c7, 0x09c8, 1},
3812                 {0x09cb, 0x09ce, 1},
3813                 {0x09d7, 0x09dc, 5},
3814                 {0x09dd, 0x09df, 2},
3815                 {0x09e0, 0x09e3, 1},
3816                 {0x09e6, 0x09fe, 1},
3817         },
3818 }
3819
3820 var _Bhaiksuki = &RangeTable{
3821         R16: []Range16{},
3822         R32: []Range32{
3823                 {0x11c00, 0x11c08, 1},
3824                 {0x11c0a, 0x11c36, 1},
3825                 {0x11c38, 0x11c45, 1},
3826                 {0x11c50, 0x11c6c, 1},
3827         },
3828 }
3829
3830 var _Bopomofo = &RangeTable{
3831         R16: []Range16{
3832                 {0x02ea, 0x02eb, 1},
3833                 {0x3105, 0x312f, 1},
3834                 {0x31a0, 0x31ba, 1},
3835         },
3836 }
3837
3838 var _Brahmi = &RangeTable{
3839         R16: []Range16{},
3840         R32: []Range32{
3841                 {0x11000, 0x1104d, 1},
3842                 {0x11052, 0x1106f, 1},
3843                 {0x1107f, 0x1107f, 1},
3844         },
3845 }
3846
3847 var _Braille = &RangeTable{
3848         R16: []Range16{
3849                 {0x2800, 0x28ff, 1},
3850         },
3851 }
3852
3853 var _Buginese = &RangeTable{
3854         R16: []Range16{
3855                 {0x1a00, 0x1a1b, 1},
3856                 {0x1a1e, 0x1a1f, 1},
3857         },
3858 }
3859
3860 var _Buhid = &RangeTable{
3861         R16: []Range16{
3862                 {0x1740, 0x1753, 1},
3863         },
3864 }
3865
3866 var _Canadian_Aboriginal = &RangeTable{
3867         R16: []Range16{
3868                 {0x1400, 0x167f, 1},
3869                 {0x18b0, 0x18f5, 1},
3870         },
3871 }
3872
3873 var _Carian = &RangeTable{
3874         R16: []Range16{},
3875         R32: []Range32{
3876                 {0x102a0, 0x102d0, 1},
3877         },
3878 }
3879
3880 var _Caucasian_Albanian = &RangeTable{
3881         R16: []Range16{},
3882         R32: []Range32{
3883                 {0x10530, 0x10563, 1},
3884                 {0x1056f, 0x1056f, 1},
3885         },
3886 }
3887
3888 var _Chakma = &RangeTable{
3889         R16: []Range16{},
3890         R32: []Range32{
3891                 {0x11100, 0x11134, 1},
3892                 {0x11136, 0x11146, 1},
3893         },
3894 }
3895
3896 var _Cham = &RangeTable{
3897         R16: []Range16{
3898                 {0xaa00, 0xaa36, 1},
3899                 {0xaa40, 0xaa4d, 1},
3900                 {0xaa50, 0xaa59, 1},
3901                 {0xaa5c, 0xaa5f, 1},
3902         },
3903 }
3904
3905 var _Cherokee = &RangeTable{
3906         R16: []Range16{
3907                 {0x13a0, 0x13f5, 1},
3908                 {0x13f8, 0x13fd, 1},
3909                 {0xab70, 0xabbf, 1},
3910         },
3911 }
3912
3913 var _Common = &RangeTable{
3914         R16: []Range16{
3915                 {0x0000, 0x0040, 1},
3916                 {0x005b, 0x0060, 1},
3917                 {0x007b, 0x00a9, 1},
3918                 {0x00ab, 0x00b9, 1},
3919                 {0x00bb, 0x00bf, 1},
3920                 {0x00d7, 0x00f7, 32},
3921                 {0x02b9, 0x02df, 1},
3922                 {0x02e5, 0x02e9, 1},
3923                 {0x02ec, 0x02ff, 1},
3924                 {0x0374, 0x037e, 10},
3925                 {0x0385, 0x0387, 2},
3926                 {0x0589, 0x0605, 124},
3927                 {0x060c, 0x061b, 15},
3928                 {0x061f, 0x0640, 33},
3929                 {0x06dd, 0x08e2, 517},
3930                 {0x0964, 0x0965, 1},
3931                 {0x0e3f, 0x0fd5, 406},
3932                 {0x0fd6, 0x0fd8, 1},
3933                 {0x10fb, 0x16eb, 1520},
3934                 {0x16ec, 0x16ed, 1},
3935                 {0x1735, 0x1736, 1},
3936                 {0x1802, 0x1803, 1},
3937                 {0x1805, 0x1cd3, 1230},
3938                 {0x1ce1, 0x1ce9, 8},
3939                 {0x1cea, 0x1cec, 1},
3940                 {0x1cee, 0x1cf3, 1},
3941                 {0x1cf5, 0x1cf7, 1},
3942                 {0x2000, 0x200b, 1},
3943                 {0x200e, 0x2064, 1},
3944                 {0x2066, 0x2070, 1},
3945                 {0x2074, 0x207e, 1},
3946                 {0x2080, 0x208e, 1},
3947                 {0x20a0, 0x20bf, 1},
3948                 {0x2100, 0x2125, 1},
3949                 {0x2127, 0x2129, 1},
3950                 {0x212c, 0x2131, 1},
3951                 {0x2133, 0x214d, 1},
3952                 {0x214f, 0x215f, 1},
3953                 {0x2189, 0x218b, 1},
3954                 {0x2190, 0x2426, 1},
3955                 {0x2440, 0x244a, 1},
3956                 {0x2460, 0x27ff, 1},
3957                 {0x2900, 0x2b73, 1},
3958                 {0x2b76, 0x2b95, 1},
3959                 {0x2b98, 0x2bc8, 1},
3960                 {0x2bca, 0x2bfe, 1},
3961                 {0x2e00, 0x2e4e, 1},
3962                 {0x2ff0, 0x2ffb, 1},
3963                 {0x3000, 0x3004, 1},
3964                 {0x3006, 0x3008, 2},
3965                 {0x3009, 0x3020, 1},
3966                 {0x3030, 0x3037, 1},
3967                 {0x303c, 0x303f, 1},
3968                 {0x309b, 0x309c, 1},
3969                 {0x30a0, 0x30fb, 91},
3970                 {0x30fc, 0x3190, 148},
3971                 {0x3191, 0x319f, 1},
3972                 {0x31c0, 0x31e3, 1},
3973                 {0x3220, 0x325f, 1},
3974                 {0x327f, 0x32cf, 1},
3975                 {0x3358, 0x33ff, 1},
3976                 {0x4dc0, 0x4dff, 1},
3977                 {0xa700, 0xa721, 1},
3978                 {0xa788, 0xa78a, 1},
3979                 {0xa830, 0xa839, 1},
3980                 {0xa92e, 0xa9cf, 161},
3981                 {0xab5b, 0xfd3e, 20963},
3982                 {0xfd3f, 0xfe10, 209},
3983                 {0xfe11, 0xfe19, 1},
3984                 {0xfe30, 0xfe52, 1},
3985                 {0xfe54, 0xfe66, 1},
3986                 {0xfe68, 0xfe6b, 1},
3987                 {0xfeff, 0xff01, 2},
3988                 {0xff02, 0xff20, 1},
3989                 {0xff3b, 0xff40, 1},
3990                 {0xff5b, 0xff65, 1},
3991                 {0xff70, 0xff9e, 46},
3992                 {0xff9f, 0xffe0, 65},
3993                 {0xffe1, 0xffe6, 1},
3994                 {0xffe8, 0xffee, 1},
3995                 {0xfff9, 0xfffd, 1},
3996         },
3997         R32: []Range32{
3998                 {0x10100, 0x10102, 1},
3999                 {0x10107, 0x10133, 1},
4000                 {0x10137, 0x1013f, 1},
4001                 {0x10190, 0x1019b, 1},
4002                 {0x101d0, 0x101fc, 1},
4003                 {0x102e1, 0x102fb, 1},
4004                 {0x1bca0, 0x1bca3, 1},
4005                 {0x1d000, 0x1d0f5, 1},
4006                 {0x1d100, 0x1d126, 1},
4007                 {0x1d129, 0x1d166, 1},
4008                 {0x1d16a, 0x1d17a, 1},
4009                 {0x1d183, 0x1d184, 1},
4010                 {0x1d18c, 0x1d1a9, 1},
4011                 {0x1d1ae, 0x1d1e8, 1},
4012                 {0x1d2e0, 0x1d2f3, 1},
4013                 {0x1d300, 0x1d356, 1},
4014                 {0x1d360, 0x1d378, 1},
4015                 {0x1d400, 0x1d454, 1},
4016                 {0x1d456, 0x1d49c, 1},
4017                 {0x1d49e, 0x1d49f, 1},
4018                 {0x1d4a2, 0x1d4a5, 3},
4019                 {0x1d4a6, 0x1d4a9, 3},
4020                 {0x1d4aa, 0x1d4ac, 1},
4021                 {0x1d4ae, 0x1d4b9, 1},
4022                 {0x1d4bb, 0x1d4bd, 2},
4023                 {0x1d4be, 0x1d4c3, 1},
4024                 {0x1d4c5, 0x1d505, 1},
4025                 {0x1d507, 0x1d50a, 1},
4026                 {0x1d50d, 0x1d514, 1},
4027                 {0x1d516, 0x1d51c, 1},
4028                 {0x1d51e, 0x1d539, 1},
4029                 {0x1d53b, 0x1d53e, 1},
4030                 {0x1d540, 0x1d544, 1},
4031                 {0x1d546, 0x1d54a, 4},
4032                 {0x1d54b, 0x1d550, 1},
4033                 {0x1d552, 0x1d6a5, 1},
4034                 {0x1d6a8, 0x1d7cb, 1},
4035                 {0x1d7ce, 0x1d7ff, 1},
4036                 {0x1ec71, 0x1ecb4, 1},
4037                 {0x1f000, 0x1f02b, 1},
4038                 {0x1f030, 0x1f093, 1},
4039                 {0x1f0a0, 0x1f0ae, 1},
4040                 {0x1f0b1, 0x1f0bf, 1},
4041                 {0x1f0c1, 0x1f0cf, 1},
4042                 {0x1f0d1, 0x1f0f5, 1},
4043                 {0x1f100, 0x1f10c, 1},
4044                 {0x1f110, 0x1f16b, 1},
4045                 {0x1f170, 0x1f1ac, 1},
4046                 {0x1f1e6, 0x1f1ff, 1},
4047                 {0x1f201, 0x1f202, 1},
4048                 {0x1f210, 0x1f23b, 1},
4049                 {0x1f240, 0x1f248, 1},
4050                 {0x1f250, 0x1f251, 1},
4051                 {0x1f260, 0x1f265, 1},
4052                 {0x1f300, 0x1f6d4, 1},
4053                 {0x1f6e0, 0x1f6ec, 1},
4054                 {0x1f6f0, 0x1f6f9, 1},
4055                 {0x1f700, 0x1f773, 1},
4056                 {0x1f780, 0x1f7d8, 1},
4057                 {0x1f800, 0x1f80b, 1},
4058                 {0x1f810, 0x1f847, 1},
4059                 {0x1f850, 0x1f859, 1},
4060                 {0x1f860, 0x1f887, 1},
4061                 {0x1f890, 0x1f8ad, 1},
4062                 {0x1f900, 0x1f90b, 1},
4063                 {0x1f910, 0x1f93e, 1},
4064                 {0x1f940, 0x1f970, 1},
4065                 {0x1f973, 0x1f976, 1},
4066                 {0x1f97a, 0x1f97c, 2},
4067                 {0x1f97d, 0x1f9a2, 1},
4068                 {0x1f9b0, 0x1f9b9, 1},
4069                 {0x1f9c0, 0x1f9c2, 1},
4070                 {0x1f9d0, 0x1f9ff, 1},
4071                 {0x1fa60, 0x1fa6d, 1},
4072                 {0xe0001, 0xe0020, 31},
4073                 {0xe0021, 0xe007f, 1},
4074         },
4075         LatinOffset: 6,
4076 }
4077
4078 var _Coptic = &RangeTable{
4079         R16: []Range16{
4080                 {0x03e2, 0x03ef, 1},
4081                 {0x2c80, 0x2cf3, 1},
4082                 {0x2cf9, 0x2cff, 1},
4083         },
4084 }
4085
4086 var _Cuneiform = &RangeTable{
4087         R16: []Range16{},
4088         R32: []Range32{
4089                 {0x12000, 0x12399, 1},
4090                 {0x12400, 0x1246e, 1},
4091                 {0x12470, 0x12474, 1},
4092                 {0x12480, 0x12543, 1},
4093         },
4094 }
4095
4096 var _Cypriot = &RangeTable{
4097         R16: []Range16{},
4098         R32: []Range32{
4099                 {0x10800, 0x10805, 1},
4100                 {0x10808, 0x1080a, 2},
4101                 {0x1080b, 0x10835, 1},
4102                 {0x10837, 0x10838, 1},
4103                 {0x1083c, 0x1083f, 3},
4104         },
4105 }
4106
4107 var _Cyrillic = &RangeTable{
4108         R16: []Range16{
4109                 {0x0400, 0x0484, 1},
4110                 {0x0487, 0x052f, 1},
4111                 {0x1c80, 0x1c88, 1},
4112                 {0x1d2b, 0x1d78, 77},
4113                 {0x2de0, 0x2dff, 1},
4114                 {0xa640, 0xa69f, 1},
4115                 {0xfe2e, 0xfe2f, 1},
4116         },
4117 }
4118
4119 var _Deseret = &RangeTable{
4120         R16: []Range16{},
4121         R32: []Range32{
4122                 {0x10400, 0x1044f, 1},
4123         },
4124 }
4125
4126 var _Devanagari = &RangeTable{
4127         R16: []Range16{
4128                 {0x0900, 0x0950, 1},
4129                 {0x0953, 0x0963, 1},
4130                 {0x0966, 0x097f, 1},
4131                 {0xa8e0, 0xa8ff, 1},
4132         },
4133 }
4134
4135 var _Dogra = &RangeTable{
4136         R16: []Range16{},
4137         R32: []Range32{
4138                 {0x11800, 0x1183b, 1},
4139         },
4140 }
4141
4142 var _Duployan = &RangeTable{
4143         R16: []Range16{},
4144         R32: []Range32{
4145                 {0x1bc00, 0x1bc6a, 1},
4146                 {0x1bc70, 0x1bc7c, 1},
4147                 {0x1bc80, 0x1bc88, 1},
4148                 {0x1bc90, 0x1bc99, 1},
4149                 {0x1bc9c, 0x1bc9f, 1},
4150         },
4151 }
4152
4153 var _Egyptian_Hieroglyphs = &RangeTable{
4154         R16: []Range16{},
4155         R32: []Range32{
4156                 {0x13000, 0x1342e, 1},
4157         },
4158 }
4159
4160 var _Elbasan = &RangeTable{
4161         R16: []Range16{},
4162         R32: []Range32{
4163                 {0x10500, 0x10527, 1},
4164         },
4165 }
4166
4167 var _Ethiopic = &RangeTable{
4168         R16: []Range16{
4169                 {0x1200, 0x1248, 1},
4170                 {0x124a, 0x124d, 1},
4171                 {0x1250, 0x1256, 1},
4172                 {0x1258, 0x125a, 2},
4173                 {0x125b, 0x125d, 1},
4174                 {0x1260, 0x1288, 1},
4175                 {0x128a, 0x128d, 1},
4176                 {0x1290, 0x12b0, 1},
4177                 {0x12b2, 0x12b5, 1},
4178                 {0x12b8, 0x12be, 1},
4179                 {0x12c0, 0x12c2, 2},
4180                 {0x12c3, 0x12c5, 1},
4181                 {0x12c8, 0x12d6, 1},
4182                 {0x12d8, 0x1310, 1},
4183                 {0x1312, 0x1315, 1},
4184                 {0x1318, 0x135a, 1},
4185                 {0x135d, 0x137c, 1},
4186                 {0x1380, 0x1399, 1},
4187                 {0x2d80, 0x2d96, 1},
4188                 {0x2da0, 0x2da6, 1},
4189                 {0x2da8, 0x2dae, 1},
4190                 {0x2db0, 0x2db6, 1},
4191                 {0x2db8, 0x2dbe, 1},
4192                 {0x2dc0, 0x2dc6, 1},
4193                 {0x2dc8, 0x2dce, 1},
4194                 {0x2dd0, 0x2dd6, 1},
4195                 {0x2dd8, 0x2dde, 1},
4196                 {0xab01, 0xab06, 1},
4197                 {0xab09, 0xab0e, 1},
4198                 {0xab11, 0xab16, 1},
4199                 {0xab20, 0xab26, 1},
4200                 {0xab28, 0xab2e, 1},
4201         },
4202 }
4203
4204 var _Georgian = &RangeTable{
4205         R16: []Range16{
4206                 {0x10a0, 0x10c5, 1},
4207                 {0x10c7, 0x10cd, 6},
4208                 {0x10d0, 0x10fa, 1},
4209                 {0x10fc, 0x10ff, 1},
4210                 {0x1c90, 0x1cba, 1},
4211                 {0x1cbd, 0x1cbf, 1},
4212                 {0x2d00, 0x2d25, 1},
4213                 {0x2d27, 0x2d2d, 6},
4214         },
4215 }
4216
4217 var _Glagolitic = &RangeTable{
4218         R16: []Range16{
4219                 {0x2c00, 0x2c2e, 1},
4220                 {0x2c30, 0x2c5e, 1},
4221         },
4222         R32: []Range32{
4223                 {0x1e000, 0x1e006, 1},
4224                 {0x1e008, 0x1e018, 1},
4225                 {0x1e01b, 0x1e021, 1},
4226                 {0x1e023, 0x1e024, 1},
4227                 {0x1e026, 0x1e02a, 1},
4228         },
4229 }
4230
4231 var _Gothic = &RangeTable{
4232         R16: []Range16{},
4233         R32: []Range32{
4234                 {0x10330, 0x1034a, 1},
4235         },
4236 }
4237
4238 var _Grantha = &RangeTable{
4239         R16: []Range16{},
4240         R32: []Range32{
4241                 {0x11300, 0x11303, 1},
4242                 {0x11305, 0x1130c, 1},
4243                 {0x1130f, 0x11310, 1},
4244                 {0x11313, 0x11328, 1},
4245                 {0x1132a, 0x11330, 1},
4246                 {0x11332, 0x11333, 1},
4247                 {0x11335, 0x11339, 1},
4248                 {0x1133c, 0x11344, 1},
4249                 {0x11347, 0x11348, 1},
4250                 {0x1134b, 0x1134d, 1},
4251                 {0x11350, 0x11357, 7},
4252                 {0x1135d, 0x11363, 1},
4253                 {0x11366, 0x1136c, 1},
4254                 {0x11370, 0x11374, 1},
4255         },
4256 }
4257
4258 var _Greek = &RangeTable{
4259         R16: []Range16{
4260                 {0x0370, 0x0373, 1},
4261                 {0x0375, 0x0377, 1},
4262                 {0x037a, 0x037d, 1},
4263                 {0x037f, 0x0384, 5},
4264                 {0x0386, 0x0388, 2},
4265                 {0x0389, 0x038a, 1},
4266                 {0x038c, 0x038e, 2},
4267                 {0x038f, 0x03a1, 1},
4268                 {0x03a3, 0x03e1, 1},
4269                 {0x03f0, 0x03ff, 1},
4270                 {0x1d26, 0x1d2a, 1},
4271                 {0x1d5d, 0x1d61, 1},
4272                 {0x1d66, 0x1d6a, 1},
4273                 {0x1dbf, 0x1f00, 321},
4274                 {0x1f01, 0x1f15, 1},
4275                 {0x1f18, 0x1f1d, 1},
4276                 {0x1f20, 0x1f45, 1},
4277                 {0x1f48, 0x1f4d, 1},
4278                 {0x1f50, 0x1f57, 1},
4279                 {0x1f59, 0x1f5f, 2},
4280                 {0x1f60, 0x1f7d, 1},
4281                 {0x1f80, 0x1fb4, 1},
4282                 {0x1fb6, 0x1fc4, 1},
4283                 {0x1fc6, 0x1fd3, 1},
4284                 {0x1fd6, 0x1fdb, 1},
4285                 {0x1fdd, 0x1fef, 1},
4286                 {0x1ff2, 0x1ff4, 1},
4287                 {0x1ff6, 0x1ffe, 1},
4288                 {0x2126, 0xab65, 35391},
4289         },
4290         R32: []Range32{
4291                 {0x10140, 0x1018e, 1},
4292                 {0x101a0, 0x1d200, 53344},
4293                 {0x1d201, 0x1d245, 1},
4294         },
4295 }
4296
4297 var _Gujarati = &RangeTable{
4298         R16: []Range16{
4299                 {0x0a81, 0x0a83, 1},
4300                 {0x0a85, 0x0a8d, 1},
4301                 {0x0a8f, 0x0a91, 1},
4302                 {0x0a93, 0x0aa8, 1},
4303                 {0x0aaa, 0x0ab0, 1},
4304                 {0x0ab2, 0x0ab3, 1},
4305                 {0x0ab5, 0x0ab9, 1},
4306                 {0x0abc, 0x0ac5, 1},
4307                 {0x0ac7, 0x0ac9, 1},
4308                 {0x0acb, 0x0acd, 1},
4309                 {0x0ad0, 0x0ae0, 16},
4310                 {0x0ae1, 0x0ae3, 1},
4311                 {0x0ae6, 0x0af1, 1},
4312                 {0x0af9, 0x0aff, 1},
4313         },
4314 }
4315
4316 var _Gunjala_Gondi = &RangeTable{
4317         R16: []Range16{},
4318         R32: []Range32{
4319                 {0x11d60, 0x11d65, 1},
4320                 {0x11d67, 0x11d68, 1},
4321                 {0x11d6a, 0x11d8e, 1},
4322                 {0x11d90, 0x11d91, 1},
4323                 {0x11d93, 0x11d98, 1},
4324                 {0x11da0, 0x11da9, 1},
4325         },
4326 }
4327
4328 var _Gurmukhi = &RangeTable{
4329         R16: []Range16{
4330                 {0x0a01, 0x0a03, 1},
4331                 {0x0a05, 0x0a0a, 1},
4332                 {0x0a0f, 0x0a10, 1},
4333                 {0x0a13, 0x0a28, 1},
4334                 {0x0a2a, 0x0a30, 1},
4335                 {0x0a32, 0x0a33, 1},
4336                 {0x0a35, 0x0a36, 1},
4337                 {0x0a38, 0x0a39, 1},
4338                 {0x0a3c, 0x0a3e, 2},
4339                 {0x0a3f, 0x0a42, 1},
4340                 {0x0a47, 0x0a48, 1},
4341                 {0x0a4b, 0x0a4d, 1},
4342                 {0x0a51, 0x0a59, 8},
4343                 {0x0a5a, 0x0a5c, 1},
4344                 {0x0a5e, 0x0a66, 8},
4345                 {0x0a67, 0x0a76, 1},
4346         },
4347 }
4348
4349 var _Han = &RangeTable{
4350         R16: []Range16{
4351                 {0x2e80, 0x2e99, 1},
4352                 {0x2e9b, 0x2ef3, 1},
4353                 {0x2f00, 0x2fd5, 1},
4354                 {0x3005, 0x3007, 2},
4355                 {0x3021, 0x3029, 1},
4356                 {0x3038, 0x303b, 1},
4357                 {0x3400, 0x4db5, 1},
4358                 {0x4e00, 0x9fef, 1},
4359                 {0xf900, 0xfa6d, 1},
4360                 {0xfa70, 0xfad9, 1},
4361         },
4362         R32: []Range32{
4363                 {0x20000, 0x2a6d6, 1},
4364                 {0x2a700, 0x2b734, 1},
4365                 {0x2b740, 0x2b81d, 1},
4366                 {0x2b820, 0x2cea1, 1},
4367                 {0x2ceb0, 0x2ebe0, 1},
4368                 {0x2f800, 0x2fa1d, 1},
4369         },
4370 }
4371
4372 var _Hangul = &RangeTable{
4373         R16: []Range16{
4374                 {0x1100, 0x11ff, 1},
4375                 {0x302e, 0x302f, 1},
4376                 {0x3131, 0x318e, 1},
4377                 {0x3200, 0x321e, 1},
4378                 {0x3260, 0x327e, 1},
4379                 {0xa960, 0xa97c, 1},
4380                 {0xac00, 0xd7a3, 1},
4381                 {0xd7b0, 0xd7c6, 1},
4382                 {0xd7cb, 0xd7fb, 1},
4383                 {0xffa0, 0xffbe, 1},
4384                 {0xffc2, 0xffc7, 1},
4385                 {0xffca, 0xffcf, 1},
4386                 {0xffd2, 0xffd7, 1},
4387                 {0xffda, 0xffdc, 1},
4388         },
4389 }
4390
4391 var _Hanifi_Rohingya = &RangeTable{
4392         R16: []Range16{},
4393         R32: []Range32{
4394                 {0x10d00, 0x10d27, 1},
4395                 {0x10d30, 0x10d39, 1},
4396         },
4397 }
4398
4399 var _Hanunoo = &RangeTable{
4400         R16: []Range16{
4401                 {0x1720, 0x1734, 1},
4402         },
4403 }
4404
4405 var _Hatran = &RangeTable{
4406         R16: []Range16{},
4407         R32: []Range32{
4408                 {0x108e0, 0x108f2, 1},
4409                 {0x108f4, 0x108f5, 1},
4410                 {0x108fb, 0x108ff, 1},
4411         },
4412 }
4413
4414 var _Hebrew = &RangeTable{
4415         R16: []Range16{
4416                 {0x0591, 0x05c7, 1},
4417                 {0x05d0, 0x05ea, 1},
4418                 {0x05ef, 0x05f4, 1},
4419                 {0xfb1d, 0xfb36, 1},
4420                 {0xfb38, 0xfb3c, 1},
4421                 {0xfb3e, 0xfb40, 2},
4422                 {0xfb41, 0xfb43, 2},
4423                 {0xfb44, 0xfb46, 2},
4424                 {0xfb47, 0xfb4f, 1},
4425         },
4426 }
4427
4428 var _Hiragana = &RangeTable{
4429         R16: []Range16{
4430                 {0x3041, 0x3096, 1},
4431                 {0x309d, 0x309f, 1},
4432         },
4433         R32: []Range32{
4434                 {0x1b001, 0x1b11e, 1},
4435                 {0x1f200, 0x1f200, 1},
4436         },
4437 }
4438
4439 var _Imperial_Aramaic = &RangeTable{
4440         R16: []Range16{},
4441         R32: []Range32{
4442                 {0x10840, 0x10855, 1},
4443                 {0x10857, 0x1085f, 1},
4444         },
4445 }
4446
4447 var _Inherited = &RangeTable{
4448         R16: []Range16{
4449                 {0x0300, 0x036f, 1},
4450                 {0x0485, 0x0486, 1},
4451                 {0x064b, 0x0655, 1},
4452                 {0x0670, 0x0951, 737},
4453                 {0x0952, 0x1ab0, 4446},
4454                 {0x1ab1, 0x1abe, 1},
4455                 {0x1cd0, 0x1cd2, 1},
4456                 {0x1cd4, 0x1ce0, 1},
4457                 {0x1ce2, 0x1ce8, 1},
4458                 {0x1ced, 0x1cf4, 7},
4459                 {0x1cf8, 0x1cf9, 1},
4460                 {0x1dc0, 0x1df9, 1},
4461                 {0x1dfb, 0x1dff, 1},
4462                 {0x200c, 0x200d, 1},
4463                 {0x20d0, 0x20f0, 1},
4464                 {0x302a, 0x302d, 1},
4465                 {0x3099, 0x309a, 1},
4466                 {0xfe00, 0xfe0f, 1},
4467                 {0xfe20, 0xfe2d, 1},
4468         },
4469         R32: []Range32{
4470                 {0x101fd, 0x102e0, 227},
4471                 {0x1133b, 0x1d167, 48684},
4472                 {0x1d168, 0x1d169, 1},
4473                 {0x1d17b, 0x1d182, 1},
4474                 {0x1d185, 0x1d18b, 1},
4475                 {0x1d1aa, 0x1d1ad, 1},
4476                 {0xe0100, 0xe01ef, 1},
4477         },
4478 }
4479
4480 var _Inscriptional_Pahlavi = &RangeTable{
4481         R16: []Range16{},
4482         R32: []Range32{
4483                 {0x10b60, 0x10b72, 1},
4484                 {0x10b78, 0x10b7f, 1},
4485         },
4486 }
4487
4488 var _Inscriptional_Parthian = &RangeTable{
4489         R16: []Range16{},
4490         R32: []Range32{
4491                 {0x10b40, 0x10b55, 1},
4492                 {0x10b58, 0x10b5f, 1},
4493         },
4494 }
4495
4496 var _Javanese = &RangeTable{
4497         R16: []Range16{
4498                 {0xa980, 0xa9cd, 1},
4499                 {0xa9d0, 0xa9d9, 1},
4500                 {0xa9de, 0xa9df, 1},
4501         },
4502 }
4503
4504 var _Kaithi = &RangeTable{
4505         R16: []Range16{},
4506         R32: []Range32{
4507                 {0x11080, 0x110c1, 1},
4508                 {0x110cd, 0x110cd, 1},
4509         },
4510 }
4511
4512 var _Kannada = &RangeTable{
4513         R16: []Range16{
4514                 {0x0c80, 0x0c8c, 1},
4515                 {0x0c8e, 0x0c90, 1},
4516                 {0x0c92, 0x0ca8, 1},
4517                 {0x0caa, 0x0cb3, 1},
4518                 {0x0cb5, 0x0cb9, 1},
4519                 {0x0cbc, 0x0cc4, 1},
4520                 {0x0cc6, 0x0cc8, 1},
4521                 {0x0cca, 0x0ccd, 1},
4522                 {0x0cd5, 0x0cd6, 1},
4523                 {0x0cde, 0x0ce0, 2},
4524                 {0x0ce1, 0x0ce3, 1},
4525                 {0x0ce6, 0x0cef, 1},
4526                 {0x0cf1, 0x0cf2, 1},
4527         },
4528 }
4529
4530 var _Katakana = &RangeTable{
4531         R16: []Range16{
4532                 {0x30a1, 0x30fa, 1},
4533                 {0x30fd, 0x30ff, 1},
4534                 {0x31f0, 0x31ff, 1},
4535                 {0x32d0, 0x32fe, 1},
4536                 {0x3300, 0x3357, 1},
4537                 {0xff66, 0xff6f, 1},
4538                 {0xff71, 0xff9d, 1},
4539         },
4540         R32: []Range32{
4541                 {0x1b000, 0x1b000, 1},
4542         },
4543 }
4544
4545 var _Kayah_Li = &RangeTable{
4546         R16: []Range16{
4547                 {0xa900, 0xa92d, 1},
4548                 {0xa92f, 0xa92f, 1},
4549         },
4550 }
4551
4552 var _Kharoshthi = &RangeTable{
4553         R16: []Range16{},
4554         R32: []Range32{
4555                 {0x10a00, 0x10a03, 1},
4556                 {0x10a05, 0x10a06, 1},
4557                 {0x10a0c, 0x10a13, 1},
4558                 {0x10a15, 0x10a17, 1},
4559                 {0x10a19, 0x10a35, 1},
4560                 {0x10a38, 0x10a3a, 1},
4561                 {0x10a3f, 0x10a48, 1},
4562                 {0x10a50, 0x10a58, 1},
4563         },
4564 }
4565
4566 var _Khmer = &RangeTable{
4567         R16: []Range16{
4568                 {0x1780, 0x17dd, 1},
4569                 {0x17e0, 0x17e9, 1},
4570                 {0x17f0, 0x17f9, 1},
4571                 {0x19e0, 0x19ff, 1},
4572         },
4573 }
4574
4575 var _Khojki = &RangeTable{
4576         R16: []Range16{},
4577         R32: []Range32{
4578                 {0x11200, 0x11211, 1},
4579                 {0x11213, 0x1123e, 1},
4580         },
4581 }
4582
4583 var _Khudawadi = &RangeTable{
4584         R16: []Range16{},
4585         R32: []Range32{
4586                 {0x112b0, 0x112ea, 1},
4587                 {0x112f0, 0x112f9, 1},
4588         },
4589 }
4590
4591 var _Lao = &RangeTable{
4592         R16: []Range16{
4593                 {0x0e81, 0x0e82, 1},
4594                 {0x0e84, 0x0e87, 3},
4595                 {0x0e88, 0x0e8a, 2},
4596                 {0x0e8d, 0x0e94, 7},
4597                 {0x0e95, 0x0e97, 1},
4598                 {0x0e99, 0x0e9f, 1},
4599                 {0x0ea1, 0x0ea3, 1},
4600                 {0x0ea5, 0x0ea7, 2},
4601                 {0x0eaa, 0x0eab, 1},
4602                 {0x0ead, 0x0eb9, 1},
4603                 {0x0ebb, 0x0ebd, 1},
4604                 {0x0ec0, 0x0ec4, 1},
4605                 {0x0ec6, 0x0ec8, 2},
4606                 {0x0ec9, 0x0ecd, 1},
4607                 {0x0ed0, 0x0ed9, 1},
4608                 {0x0edc, 0x0edf, 1},
4609         },
4610 }
4611
4612 var _Latin = &RangeTable{
4613         R16: []Range16{
4614                 {0x0041, 0x005a, 1},
4615                 {0x0061, 0x007a, 1},
4616                 {0x00aa, 0x00ba, 16},
4617                 {0x00c0, 0x00d6, 1},
4618                 {0x00d8, 0x00f6, 1},
4619                 {0x00f8, 0x02b8, 1},
4620                 {0x02e0, 0x02e4, 1},
4621                 {0x1d00, 0x1d25, 1},
4622                 {0x1d2c, 0x1d5c, 1},
4623                 {0x1d62, 0x1d65, 1},
4624                 {0x1d6b, 0x1d77, 1},
4625                 {0x1d79, 0x1dbe, 1},
4626                 {0x1e00, 0x1eff, 1},
4627                 {0x2071, 0x207f, 14},
4628                 {0x2090, 0x209c, 1},
4629                 {0x212a, 0x212b, 1},
4630                 {0x2132, 0x214e, 28},
4631                 {0x2160, 0x2188, 1},
4632                 {0x2c60, 0x2c7f, 1},
4633                 {0xa722, 0xa787, 1},
4634                 {0xa78b, 0xa7b9, 1},
4635                 {0xa7f7, 0xa7ff, 1},
4636                 {0xab30, 0xab5a, 1},
4637                 {0xab5c, 0xab64, 1},
4638                 {0xfb00, 0xfb06, 1},
4639                 {0xff21, 0xff3a, 1},
4640                 {0xff41, 0xff5a, 1},
4641         },
4642         LatinOffset: 5,
4643 }
4644
4645 var _Lepcha = &RangeTable{
4646         R16: []Range16{
4647                 {0x1c00, 0x1c37, 1},
4648                 {0x1c3b, 0x1c49, 1},
4649                 {0x1c4d, 0x1c4f, 1},
4650         },
4651 }
4652
4653 var _Limbu = &RangeTable{
4654         R16: []Range16{
4655                 {0x1900, 0x191e, 1},
4656                 {0x1920, 0x192b, 1},
4657                 {0x1930, 0x193b, 1},
4658                 {0x1940, 0x1944, 4},
4659                 {0x1945, 0x194f, 1},
4660         },
4661 }
4662
4663 var _Linear_A = &RangeTable{
4664         R16: []Range16{},
4665         R32: []Range32{
4666                 {0x10600, 0x10736, 1},
4667                 {0x10740, 0x10755, 1},
4668                 {0x10760, 0x10767, 1},
4669         },
4670 }
4671
4672 var _Linear_B = &RangeTable{
4673         R16: []Range16{},
4674         R32: []Range32{
4675                 {0x10000, 0x1000b, 1},
4676                 {0x1000d, 0x10026, 1},
4677                 {0x10028, 0x1003a, 1},
4678                 {0x1003c, 0x1003d, 1},
4679                 {0x1003f, 0x1004d, 1},
4680                 {0x10050, 0x1005d, 1},
4681                 {0x10080, 0x100fa, 1},
4682         },
4683 }
4684
4685 var _Lisu = &RangeTable{
4686         R16: []Range16{
4687                 {0xa4d0, 0xa4ff, 1},
4688         },
4689 }
4690
4691 var _Lycian = &RangeTable{
4692         R16: []Range16{},
4693         R32: []Range32{
4694                 {0x10280, 0x1029c, 1},
4695         },
4696 }
4697
4698 var _Lydian = &RangeTable{
4699         R16: []Range16{},
4700         R32: []Range32{
4701                 {0x10920, 0x10939, 1},
4702                 {0x1093f, 0x1093f, 1},
4703         },
4704 }
4705
4706 var _Mahajani = &RangeTable{
4707         R16: []Range16{},
4708         R32: []Range32{
4709                 {0x11150, 0x11176, 1},
4710         },
4711 }
4712
4713 var _Makasar = &RangeTable{
4714         R16: []Range16{},
4715         R32: []Range32{
4716                 {0x11ee0, 0x11ef8, 1},
4717         },
4718 }
4719
4720 var _Malayalam = &RangeTable{
4721         R16: []Range16{
4722                 {0x0d00, 0x0d03, 1},
4723                 {0x0d05, 0x0d0c, 1},
4724                 {0x0d0e, 0x0d10, 1},
4725                 {0x0d12, 0x0d44, 1},
4726                 {0x0d46, 0x0d48, 1},
4727                 {0x0d4a, 0x0d4f, 1},
4728                 {0x0d54, 0x0d63, 1},
4729                 {0x0d66, 0x0d7f, 1},
4730         },
4731 }
4732
4733 var _Mandaic = &RangeTable{
4734         R16: []Range16{
4735                 {0x0840, 0x085b, 1},
4736                 {0x085e, 0x085e, 1},
4737         },
4738 }
4739
4740 var _Manichaean = &RangeTable{
4741         R16: []Range16{},
4742         R32: []Range32{
4743                 {0x10ac0, 0x10ae6, 1},
4744                 {0x10aeb, 0x10af6, 1},
4745         },
4746 }
4747
4748 var _Marchen = &RangeTable{
4749         R16: []Range16{},
4750         R32: []Range32{
4751                 {0x11c70, 0x11c8f, 1},
4752                 {0x11c92, 0x11ca7, 1},
4753                 {0x11ca9, 0x11cb6, 1},
4754         },
4755 }
4756
4757 var _Masaram_Gondi = &RangeTable{
4758         R16: []Range16{},
4759         R32: []Range32{
4760                 {0x11d00, 0x11d06, 1},
4761                 {0x11d08, 0x11d09, 1},
4762                 {0x11d0b, 0x11d36, 1},
4763                 {0x11d3a, 0x11d3c, 2},
4764                 {0x11d3d, 0x11d3f, 2},
4765                 {0x11d40, 0x11d47, 1},
4766                 {0x11d50, 0x11d59, 1},
4767         },
4768 }
4769
4770 var _Medefaidrin = &RangeTable{
4771         R16: []Range16{},
4772         R32: []Range32{
4773                 {0x16e40, 0x16e9a, 1},
4774         },
4775 }
4776
4777 var _Meetei_Mayek = &RangeTable{
4778         R16: []Range16{
4779                 {0xaae0, 0xaaf6, 1},
4780                 {0xabc0, 0xabed, 1},
4781                 {0xabf0, 0xabf9, 1},
4782         },
4783 }
4784
4785 var _Mende_Kikakui = &RangeTable{
4786         R16: []Range16{},
4787         R32: []Range32{
4788                 {0x1e800, 0x1e8c4, 1},
4789                 {0x1e8c7, 0x1e8d6, 1},
4790         },
4791 }
4792
4793 var _Meroitic_Cursive = &RangeTable{
4794         R16: []Range16{},
4795         R32: []Range32{
4796                 {0x109a0, 0x109b7, 1},
4797                 {0x109bc, 0x109cf, 1},
4798                 {0x109d2, 0x109ff, 1},
4799         },
4800 }
4801
4802 var _Meroitic_Hieroglyphs = &RangeTable{
4803         R16: []Range16{},
4804         R32: []Range32{
4805                 {0x10980, 0x1099f, 1},
4806         },
4807 }
4808
4809 var _Miao = &RangeTable{
4810         R16: []Range16{},
4811         R32: []Range32{
4812                 {0x16f00, 0x16f44, 1},
4813                 {0x16f50, 0x16f7e, 1},
4814                 {0x16f8f, 0x16f9f, 1},
4815         },
4816 }
4817
4818 var _Modi = &RangeTable{
4819         R16: []Range16{},
4820         R32: []Range32{
4821                 {0x11600, 0x11644, 1},
4822                 {0x11650, 0x11659, 1},
4823         },
4824 }
4825
4826 var _Mongolian = &RangeTable{
4827         R16: []Range16{
4828                 {0x1800, 0x1801, 1},
4829                 {0x1804, 0x1806, 2},
4830                 {0x1807, 0x180e, 1},
4831                 {0x1810, 0x1819, 1},
4832                 {0x1820, 0x1878, 1},
4833                 {0x1880, 0x18aa, 1},
4834         },
4835         R32: []Range32{
4836                 {0x11660, 0x1166c, 1},
4837         },
4838 }
4839
4840 var _Mro = &RangeTable{
4841         R16: []Range16{},
4842         R32: []Range32{
4843                 {0x16a40, 0x16a5e, 1},
4844                 {0x16a60, 0x16a69, 1},
4845                 {0x16a6e, 0x16a6f, 1},
4846         },
4847 }
4848
4849 var _Multani = &RangeTable{
4850         R16: []Range16{},
4851         R32: []Range32{
4852                 {0x11280, 0x11286, 1},
4853                 {0x11288, 0x1128a, 2},
4854                 {0x1128b, 0x1128d, 1},
4855                 {0x1128f, 0x1129d, 1},
4856                 {0x1129f, 0x112a9, 1},
4857         },
4858 }
4859
4860 var _Myanmar = &RangeTable{
4861         R16: []Range16{
4862                 {0x1000, 0x109f, 1},
4863                 {0xa9e0, 0xa9fe, 1},
4864                 {0xaa60, 0xaa7f, 1},
4865         },
4866 }
4867
4868 var _Nabataean = &RangeTable{
4869         R16: []Range16{},
4870         R32: []Range32{
4871                 {0x10880, 0x1089e, 1},
4872                 {0x108a7, 0x108af, 1},
4873         },
4874 }
4875
4876 var _New_Tai_Lue = &RangeTable{
4877         R16: []Range16{
4878                 {0x1980, 0x19ab, 1},
4879                 {0x19b0, 0x19c9, 1},
4880                 {0x19d0, 0x19da, 1},
4881                 {0x19de, 0x19df, 1},
4882         },
4883 }
4884
4885 var _Newa = &RangeTable{
4886         R16: []Range16{},
4887         R32: []Range32{
4888                 {0x11400, 0x11459, 1},
4889                 {0x1145b, 0x1145d, 2},
4890                 {0x1145e, 0x1145e, 1},
4891         },
4892 }
4893
4894 var _Nko = &RangeTable{
4895         R16: []Range16{
4896                 {0x07c0, 0x07fa, 1},
4897                 {0x07fd, 0x07ff, 1},
4898         },
4899 }
4900
4901 var _Nushu = &RangeTable{
4902         R16: []Range16{},
4903         R32: []Range32{
4904                 {0x16fe1, 0x1b170, 16783},
4905                 {0x1b171, 0x1b2fb, 1},
4906         },
4907 }
4908
4909 var _Ogham = &RangeTable{
4910         R16: []Range16{
4911                 {0x1680, 0x169c, 1},
4912         },
4913 }
4914
4915 var _Ol_Chiki = &RangeTable{
4916         R16: []Range16{
4917                 {0x1c50, 0x1c7f, 1},
4918         },
4919 }
4920
4921 var _Old_Hungarian = &RangeTable{
4922         R16: []Range16{},
4923         R32: []Range32{
4924                 {0x10c80, 0x10cb2, 1},
4925                 {0x10cc0, 0x10cf2, 1},
4926                 {0x10cfa, 0x10cff, 1},
4927         },
4928 }
4929
4930 var _Old_Italic = &RangeTable{
4931         R16: []Range16{},
4932         R32: []Range32{
4933                 {0x10300, 0x10323, 1},
4934                 {0x1032d, 0x1032f, 1},
4935         },
4936 }
4937
4938 var _Old_North_Arabian = &RangeTable{
4939         R16: []Range16{},
4940         R32: []Range32{
4941                 {0x10a80, 0x10a9f, 1},
4942         },
4943 }
4944
4945 var _Old_Permic = &RangeTable{
4946         R16: []Range16{},
4947         R32: []Range32{
4948                 {0x10350, 0x1037a, 1},
4949         },
4950 }
4951
4952 var _Old_Persian = &RangeTable{
4953         R16: []Range16{},
4954         R32: []Range32{
4955                 {0x103a0, 0x103c3, 1},
4956                 {0x103c8, 0x103d5, 1},
4957         },
4958 }
4959
4960 var _Old_Sogdian = &RangeTable{
4961         R16: []Range16{},
4962         R32: []Range32{
4963                 {0x10f00, 0x10f27, 1},
4964         },
4965 }
4966
4967 var _Old_South_Arabian = &RangeTable{
4968         R16: []Range16{},
4969         R32: []Range32{
4970                 {0x10a60, 0x10a7f, 1},
4971         },
4972 }
4973
4974 var _Old_Turkic = &RangeTable{
4975         R16: []Range16{},
4976         R32: []Range32{
4977                 {0x10c00, 0x10c48, 1},
4978         },
4979 }
4980
4981 var _Oriya = &RangeTable{
4982         R16: []Range16{
4983                 {0x0b01, 0x0b03, 1},
4984                 {0x0b05, 0x0b0c, 1},
4985                 {0x0b0f, 0x0b10, 1},
4986                 {0x0b13, 0x0b28, 1},
4987                 {0x0b2a, 0x0b30, 1},
4988                 {0x0b32, 0x0b33, 1},
4989                 {0x0b35, 0x0b39, 1},
4990                 {0x0b3c, 0x0b44, 1},
4991                 {0x0b47, 0x0b48, 1},
4992                 {0x0b4b, 0x0b4d, 1},
4993                 {0x0b56, 0x0b57, 1},
4994                 {0x0b5c, 0x0b5d, 1},
4995                 {0x0b5f, 0x0b63, 1},
4996                 {0x0b66, 0x0b77, 1},
4997         },
4998 }
4999
5000 var _Osage = &RangeTable{
5001         R16: []Range16{},
5002         R32: []Range32{
5003                 {0x104b0, 0x104d3, 1},
5004                 {0x104d8, 0x104fb, 1},
5005         },
5006 }
5007
5008 var _Osmanya = &RangeTable{
5009         R16: []Range16{},
5010         R32: []Range32{
5011                 {0x10480, 0x1049d, 1},
5012                 {0x104a0, 0x104a9, 1},
5013         },
5014 }
5015
5016 var _Pahawh_Hmong = &RangeTable{
5017         R16: []Range16{},
5018         R32: []Range32{
5019                 {0x16b00, 0x16b45, 1},
5020                 {0x16b50, 0x16b59, 1},
5021                 {0x16b5b, 0x16b61, 1},
5022                 {0x16b63, 0x16b77, 1},
5023                 {0x16b7d, 0x16b8f, 1},
5024         },
5025 }
5026
5027 var _Palmyrene = &RangeTable{
5028         R16: []Range16{},
5029         R32: []Range32{
5030                 {0x10860, 0x1087f, 1},
5031         },
5032 }
5033
5034 var _Pau_Cin_Hau = &RangeTable{
5035         R16: []Range16{},
5036         R32: []Range32{
5037                 {0x11ac0, 0x11af8, 1},
5038         },
5039 }
5040
5041 var _Phags_Pa = &RangeTable{
5042         R16: []Range16{
5043                 {0xa840, 0xa877, 1},
5044         },
5045 }
5046
5047 var _Phoenician = &RangeTable{
5048         R16: []Range16{},
5049         R32: []Range32{
5050                 {0x10900, 0x1091b, 1},
5051                 {0x1091f, 0x1091f, 1},
5052         },
5053 }
5054
5055 var _Psalter_Pahlavi = &RangeTable{
5056         R16: []Range16{},
5057         R32: []Range32{
5058                 {0x10b80, 0x10b91, 1},
5059                 {0x10b99, 0x10b9c, 1},
5060                 {0x10ba9, 0x10baf, 1},
5061         },
5062 }
5063
5064 var _Rejang = &RangeTable{
5065         R16: []Range16{
5066                 {0xa930, 0xa953, 1},
5067                 {0xa95f, 0xa95f, 1},
5068         },
5069 }
5070
5071 var _Runic = &RangeTable{
5072         R16: []Range16{
5073                 {0x16a0, 0x16ea, 1},
5074                 {0x16ee, 0x16f8, 1},
5075         },
5076 }
5077
5078 var _Samaritan = &RangeTable{
5079         R16: []Range16{
5080                 {0x0800, 0x082d, 1},
5081                 {0x0830, 0x083e, 1},
5082         },
5083 }
5084
5085 var _Saurashtra = &RangeTable{
5086         R16: []Range16{
5087                 {0xa880, 0xa8c5, 1},
5088                 {0xa8ce, 0xa8d9, 1},
5089         },
5090 }
5091
5092 var _Sharada = &RangeTable{
5093         R16: []Range16{},
5094         R32: []Range32{
5095                 {0x11180, 0x111cd, 1},
5096                 {0x111d0, 0x111df, 1},
5097         },
5098 }
5099
5100 var _Shavian = &RangeTable{
5101         R16: []Range16{},
5102         R32: []Range32{
5103                 {0x10450, 0x1047f, 1},
5104         },
5105 }
5106
5107 var _Siddham = &RangeTable{
5108         R16: []Range16{},
5109         R32: []Range32{
5110                 {0x11580, 0x115b5, 1},
5111                 {0x115b8, 0x115dd, 1},
5112         },
5113 }
5114
5115 var _SignWriting = &RangeTable{
5116         R16: []Range16{},
5117         R32: []Range32{
5118                 {0x1d800, 0x1da8b, 1},
5119                 {0x1da9b, 0x1da9f, 1},
5120                 {0x1daa1, 0x1daaf, 1},
5121         },
5122 }
5123
5124 var _Sinhala = &RangeTable{
5125         R16: []Range16{
5126                 {0x0d82, 0x0d83, 1},
5127                 {0x0d85, 0x0d96, 1},
5128                 {0x0d9a, 0x0db1, 1},
5129                 {0x0db3, 0x0dbb, 1},
5130                 {0x0dbd, 0x0dc0, 3},
5131                 {0x0dc1, 0x0dc6, 1},
5132                 {0x0dca, 0x0dcf, 5},
5133                 {0x0dd0, 0x0dd4, 1},
5134                 {0x0dd6, 0x0dd8, 2},
5135                 {0x0dd9, 0x0ddf, 1},
5136                 {0x0de6, 0x0def, 1},
5137                 {0x0df2, 0x0df4, 1},
5138         },
5139         R32: []Range32{
5140                 {0x111e1, 0x111f4, 1},
5141         },
5142 }
5143
5144 var _Sogdian = &RangeTable{
5145         R16: []Range16{},
5146         R32: []Range32{
5147                 {0x10f30, 0x10f59, 1},
5148         },
5149 }
5150
5151 var _Sora_Sompeng = &RangeTable{
5152         R16: []Range16{},
5153         R32: []Range32{
5154                 {0x110d0, 0x110e8, 1},
5155                 {0x110f0, 0x110f9, 1},
5156         },
5157 }
5158
5159 var _Soyombo = &RangeTable{
5160         R16: []Range16{},
5161         R32: []Range32{
5162                 {0x11a50, 0x11a83, 1},
5163                 {0x11a86, 0x11aa2, 1},
5164         },
5165 }
5166
5167 var _Sundanese = &RangeTable{
5168         R16: []Range16{
5169                 {0x1b80, 0x1bbf, 1},
5170                 {0x1cc0, 0x1cc7, 1},
5171         },
5172 }
5173
5174 var _Syloti_Nagri = &RangeTable{
5175         R16: []Range16{
5176                 {0xa800, 0xa82b, 1},
5177         },
5178 }
5179
5180 var _Syriac = &RangeTable{
5181         R16: []Range16{
5182                 {0x0700, 0x070d, 1},
5183                 {0x070f, 0x074a, 1},
5184                 {0x074d, 0x074f, 1},
5185                 {0x0860, 0x086a, 1},
5186         },
5187 }
5188
5189 var _Tagalog = &RangeTable{
5190         R16: []Range16{
5191                 {0x1700, 0x170c, 1},
5192                 {0x170e, 0x1714, 1},
5193         },
5194 }
5195
5196 var _Tagbanwa = &RangeTable{
5197         R16: []Range16{
5198                 {0x1760, 0x176c, 1},
5199                 {0x176e, 0x1770, 1},
5200                 {0x1772, 0x1773, 1},
5201         },
5202 }
5203
5204 var _Tai_Le = &RangeTable{
5205         R16: []Range16{
5206                 {0x1950, 0x196d, 1},
5207                 {0x1970, 0x1974, 1},
5208         },
5209 }
5210
5211 var _Tai_Tham = &RangeTable{
5212         R16: []Range16{
5213                 {0x1a20, 0x1a5e, 1},
5214                 {0x1a60, 0x1a7c, 1},
5215                 {0x1a7f, 0x1a89, 1},
5216                 {0x1a90, 0x1a99, 1},
5217                 {0x1aa0, 0x1aad, 1},
5218         },
5219 }
5220
5221 var _Tai_Viet = &RangeTable{
5222         R16: []Range16{
5223                 {0xaa80, 0xaac2, 1},
5224                 {0xaadb, 0xaadf, 1},
5225         },
5226 }
5227
5228 var _Takri = &RangeTable{
5229         R16: []Range16{},
5230         R32: []Range32{
5231                 {0x11680, 0x116b7, 1},
5232                 {0x116c0, 0x116c9, 1},
5233         },
5234 }
5235
5236 var _Tamil = &RangeTable{
5237         R16: []Range16{
5238                 {0x0b82, 0x0b83, 1},
5239                 {0x0b85, 0x0b8a, 1},
5240                 {0x0b8e, 0x0b90, 1},
5241                 {0x0b92, 0x0b95, 1},
5242                 {0x0b99, 0x0b9a, 1},
5243                 {0x0b9c, 0x0b9e, 2},
5244                 {0x0b9f, 0x0ba3, 4},
5245                 {0x0ba4, 0x0ba8, 4},
5246                 {0x0ba9, 0x0baa, 1},
5247                 {0x0bae, 0x0bb9, 1},
5248                 {0x0bbe, 0x0bc2, 1},
5249                 {0x0bc6, 0x0bc8, 1},
5250                 {0x0bca, 0x0bcd, 1},
5251                 {0x0bd0, 0x0bd7, 7},
5252                 {0x0be6, 0x0bfa, 1},
5253         },
5254 }
5255
5256 var _Tangut = &RangeTable{
5257         R16: []Range16{},
5258         R32: []Range32{
5259                 {0x16fe0, 0x17000, 32},
5260                 {0x17001, 0x187f1, 1},
5261                 {0x18800, 0x18af2, 1},
5262         },
5263 }
5264
5265 var _Telugu = &RangeTable{
5266         R16: []Range16{
5267                 {0x0c00, 0x0c0c, 1},
5268                 {0x0c0e, 0x0c10, 1},
5269                 {0x0c12, 0x0c28, 1},
5270                 {0x0c2a, 0x0c39, 1},
5271                 {0x0c3d, 0x0c44, 1},
5272                 {0x0c46, 0x0c48, 1},
5273                 {0x0c4a, 0x0c4d, 1},
5274                 {0x0c55, 0x0c56, 1},
5275                 {0x0c58, 0x0c5a, 1},
5276                 {0x0c60, 0x0c63, 1},
5277                 {0x0c66, 0x0c6f, 1},
5278                 {0x0c78, 0x0c7f, 1},
5279         },
5280 }
5281
5282 var _Thaana = &RangeTable{
5283         R16: []Range16{
5284                 {0x0780, 0x07b1, 1},
5285         },
5286 }
5287
5288 var _Thai = &RangeTable{
5289         R16: []Range16{
5290                 {0x0e01, 0x0e3a, 1},
5291                 {0x0e40, 0x0e5b, 1},
5292         },
5293 }
5294
5295 var _Tibetan = &RangeTable{
5296         R16: []Range16{
5297                 {0x0f00, 0x0f47, 1},
5298                 {0x0f49, 0x0f6c, 1},
5299                 {0x0f71, 0x0f97, 1},
5300                 {0x0f99, 0x0fbc, 1},
5301                 {0x0fbe, 0x0fcc, 1},
5302                 {0x0fce, 0x0fd4, 1},
5303                 {0x0fd9, 0x0fda, 1},
5304         },
5305 }
5306
5307 var _Tifinagh = &RangeTable{
5308         R16: []Range16{
5309                 {0x2d30, 0x2d67, 1},
5310                 {0x2d6f, 0x2d70, 1},
5311                 {0x2d7f, 0x2d7f, 1},
5312         },
5313 }
5314
5315 var _Tirhuta = &RangeTable{
5316         R16: []Range16{},
5317         R32: []Range32{
5318                 {0x11480, 0x114c7, 1},
5319                 {0x114d0, 0x114d9, 1},
5320         },
5321 }
5322
5323 var _Ugaritic = &RangeTable{
5324         R16: []Range16{},
5325         R32: []Range32{
5326                 {0x10380, 0x1039d, 1},
5327                 {0x1039f, 0x1039f, 1},
5328         },
5329 }
5330
5331 var _Vai = &RangeTable{
5332         R16: []Range16{
5333                 {0xa500, 0xa62b, 1},
5334         },
5335 }
5336
5337 var _Warang_Citi = &RangeTable{
5338         R16: []Range16{},
5339         R32: []Range32{
5340                 {0x118a0, 0x118f2, 1},
5341                 {0x118ff, 0x118ff, 1},
5342         },
5343 }
5344
5345 var _Yi = &RangeTable{
5346         R16: []Range16{
5347                 {0xa000, 0xa48c, 1},
5348                 {0xa490, 0xa4c6, 1},
5349         },
5350 }
5351
5352 var _Zanabazar_Square = &RangeTable{
5353         R16: []Range16{},
5354         R32: []Range32{
5355                 {0x11a00, 0x11a47, 1},
5356         },
5357 }
5358
5359 // These variables have type *RangeTable.
5360 var (
5361         Adlam                  = _Adlam                  // Adlam is the set of Unicode characters in script Adlam.
5362         Ahom                   = _Ahom                   // Ahom is the set of Unicode characters in script Ahom.
5363         Anatolian_Hieroglyphs  = _Anatolian_Hieroglyphs  // Anatolian_Hieroglyphs is the set of Unicode characters in script Anatolian_Hieroglyphs.
5364         Arabic                 = _Arabic                 // Arabic is the set of Unicode characters in script Arabic.
5365         Armenian               = _Armenian               // Armenian is the set of Unicode characters in script Armenian.
5366         Avestan                = _Avestan                // Avestan is the set of Unicode characters in script Avestan.
5367         Balinese               = _Balinese               // Balinese is the set of Unicode characters in script Balinese.
5368         Bamum                  = _Bamum                  // Bamum is the set of Unicode characters in script Bamum.
5369         Bassa_Vah              = _Bassa_Vah              // Bassa_Vah is the set of Unicode characters in script Bassa_Vah.
5370         Batak                  = _Batak                  // Batak is the set of Unicode characters in script Batak.
5371         Bengali                = _Bengali                // Bengali is the set of Unicode characters in script Bengali.
5372         Bhaiksuki              = _Bhaiksuki              // Bhaiksuki is the set of Unicode characters in script Bhaiksuki.
5373         Bopomofo               = _Bopomofo               // Bopomofo is the set of Unicode characters in script Bopomofo.
5374         Brahmi                 = _Brahmi                 // Brahmi is the set of Unicode characters in script Brahmi.
5375         Braille                = _Braille                // Braille is the set of Unicode characters in script Braille.
5376         Buginese               = _Buginese               // Buginese is the set of Unicode characters in script Buginese.
5377         Buhid                  = _Buhid                  // Buhid is the set of Unicode characters in script Buhid.
5378         Canadian_Aboriginal    = _Canadian_Aboriginal    // Canadian_Aboriginal is the set of Unicode characters in script Canadian_Aboriginal.
5379         Carian                 = _Carian                 // Carian is the set of Unicode characters in script Carian.
5380         Caucasian_Albanian     = _Caucasian_Albanian     // Caucasian_Albanian is the set of Unicode characters in script Caucasian_Albanian.
5381         Chakma                 = _Chakma                 // Chakma is the set of Unicode characters in script Chakma.
5382         Cham                   = _Cham                   // Cham is the set of Unicode characters in script Cham.
5383         Cherokee               = _Cherokee               // Cherokee is the set of Unicode characters in script Cherokee.
5384         Common                 = _Common                 // Common is the set of Unicode characters in script Common.
5385         Coptic                 = _Coptic                 // Coptic is the set of Unicode characters in script Coptic.
5386         Cuneiform              = _Cuneiform              // Cuneiform is the set of Unicode characters in script Cuneiform.
5387         Cypriot                = _Cypriot                // Cypriot is the set of Unicode characters in script Cypriot.
5388         Cyrillic               = _Cyrillic               // Cyrillic is the set of Unicode characters in script Cyrillic.
5389         Deseret                = _Deseret                // Deseret is the set of Unicode characters in script Deseret.
5390         Devanagari             = _Devanagari             // Devanagari is the set of Unicode characters in script Devanagari.
5391         Dogra                  = _Dogra                  // Dogra is the set of Unicode characters in script Dogra.
5392         Duployan               = _Duployan               // Duployan is the set of Unicode characters in script Duployan.
5393         Egyptian_Hieroglyphs   = _Egyptian_Hieroglyphs   // Egyptian_Hieroglyphs is the set of Unicode characters in script Egyptian_Hieroglyphs.
5394         Elbasan                = _Elbasan                // Elbasan is the set of Unicode characters in script Elbasan.
5395         Ethiopic               = _Ethiopic               // Ethiopic is the set of Unicode characters in script Ethiopic.
5396         Georgian               = _Georgian               // Georgian is the set of Unicode characters in script Georgian.
5397         Glagolitic             = _Glagolitic             // Glagolitic is the set of Unicode characters in script Glagolitic.
5398         Gothic                 = _Gothic                 // Gothic is the set of Unicode characters in script Gothic.
5399         Grantha                = _Grantha                // Grantha is the set of Unicode characters in script Grantha.
5400         Greek                  = _Greek                  // Greek is the set of Unicode characters in script Greek.
5401         Gujarati               = _Gujarati               // Gujarati is the set of Unicode characters in script Gujarati.
5402         Gunjala_Gondi          = _Gunjala_Gondi          // Gunjala_Gondi is the set of Unicode characters in script Gunjala_Gondi.
5403         Gurmukhi               = _Gurmukhi               // Gurmukhi is the set of Unicode characters in script Gurmukhi.
5404         Han                    = _Han                    // Han is the set of Unicode characters in script Han.
5405         Hangul                 = _Hangul                 // Hangul is the set of Unicode characters in script Hangul.
5406         Hanifi_Rohingya        = _Hanifi_Rohingya        // Hanifi_Rohingya is the set of Unicode characters in script Hanifi_Rohingya.
5407         Hanunoo                = _Hanunoo                // Hanunoo is the set of Unicode characters in script Hanunoo.
5408         Hatran                 = _Hatran                 // Hatran is the set of Unicode characters in script Hatran.
5409         Hebrew                 = _Hebrew                 // Hebrew is the set of Unicode characters in script Hebrew.
5410         Hiragana               = _Hiragana               // Hiragana is the set of Unicode characters in script Hiragana.
5411         Imperial_Aramaic       = _Imperial_Aramaic       // Imperial_Aramaic is the set of Unicode characters in script Imperial_Aramaic.
5412         Inherited              = _Inherited              // Inherited is the set of Unicode characters in script Inherited.
5413         Inscriptional_Pahlavi  = _Inscriptional_Pahlavi  // Inscriptional_Pahlavi is the set of Unicode characters in script Inscriptional_Pahlavi.
5414         Inscriptional_Parthian = _Inscriptional_Parthian // Inscriptional_Parthian is the set of Unicode characters in script Inscriptional_Parthian.
5415         Javanese               = _Javanese               // Javanese is the set of Unicode characters in script Javanese.
5416         Kaithi                 = _Kaithi                 // Kaithi is the set of Unicode characters in script Kaithi.
5417         Kannada                = _Kannada                // Kannada is the set of Unicode characters in script Kannada.
5418         Katakana               = _Katakana               // Katakana is the set of Unicode characters in script Katakana.
5419         Kayah_Li               = _Kayah_Li               // Kayah_Li is the set of Unicode characters in script Kayah_Li.
5420         Kharoshthi             = _Kharoshthi             // Kharoshthi is the set of Unicode characters in script Kharoshthi.
5421         Khmer                  = _Khmer                  // Khmer is the set of Unicode characters in script Khmer.
5422         Khojki                 = _Khojki                 // Khojki is the set of Unicode characters in script Khojki.
5423         Khudawadi              = _Khudawadi              // Khudawadi is the set of Unicode characters in script Khudawadi.
5424         Lao                    = _Lao                    // Lao is the set of Unicode characters in script Lao.
5425         Latin                  = _Latin                  // Latin is the set of Unicode characters in script Latin.
5426         Lepcha                 = _Lepcha                 // Lepcha is the set of Unicode characters in script Lepcha.
5427         Limbu                  = _Limbu                  // Limbu is the set of Unicode characters in script Limbu.
5428         Linear_A               = _Linear_A               // Linear_A is the set of Unicode characters in script Linear_A.
5429         Linear_B               = _Linear_B               // Linear_B is the set of Unicode characters in script Linear_B.
5430         Lisu                   = _Lisu                   // Lisu is the set of Unicode characters in script Lisu.
5431         Lycian                 = _Lycian                 // Lycian is the set of Unicode characters in script Lycian.
5432         Lydian                 = _Lydian                 // Lydian is the set of Unicode characters in script Lydian.
5433         Mahajani               = _Mahajani               // Mahajani is the set of Unicode characters in script Mahajani.
5434         Makasar                = _Makasar                // Makasar is the set of Unicode characters in script Makasar.
5435         Malayalam              = _Malayalam              // Malayalam is the set of Unicode characters in script Malayalam.
5436         Mandaic                = _Mandaic                // Mandaic is the set of Unicode characters in script Mandaic.
5437         Manichaean             = _Manichaean             // Manichaean is the set of Unicode characters in script Manichaean.
5438         Marchen                = _Marchen                // Marchen is the set of Unicode characters in script Marchen.
5439         Masaram_Gondi          = _Masaram_Gondi          // Masaram_Gondi is the set of Unicode characters in script Masaram_Gondi.
5440         Medefaidrin            = _Medefaidrin            // Medefaidrin is the set of Unicode characters in script Medefaidrin.
5441         Meetei_Mayek           = _Meetei_Mayek           // Meetei_Mayek is the set of Unicode characters in script Meetei_Mayek.
5442         Mende_Kikakui          = _Mende_Kikakui          // Mende_Kikakui is the set of Unicode characters in script Mende_Kikakui.
5443         Meroitic_Cursive       = _Meroitic_Cursive       // Meroitic_Cursive is the set of Unicode characters in script Meroitic_Cursive.
5444         Meroitic_Hieroglyphs   = _Meroitic_Hieroglyphs   // Meroitic_Hieroglyphs is the set of Unicode characters in script Meroitic_Hieroglyphs.
5445         Miao                   = _Miao                   // Miao is the set of Unicode characters in script Miao.
5446         Modi                   = _Modi                   // Modi is the set of Unicode characters in script Modi.
5447         Mongolian              = _Mongolian              // Mongolian is the set of Unicode characters in script Mongolian.
5448         Mro                    = _Mro                    // Mro is the set of Unicode characters in script Mro.
5449         Multani                = _Multani                // Multani is the set of Unicode characters in script Multani.
5450         Myanmar                = _Myanmar                // Myanmar is the set of Unicode characters in script Myanmar.
5451         Nabataean              = _Nabataean              // Nabataean is the set of Unicode characters in script Nabataean.
5452         New_Tai_Lue            = _New_Tai_Lue            // New_Tai_Lue is the set of Unicode characters in script New_Tai_Lue.
5453         Newa                   = _Newa                   // Newa is the set of Unicode characters in script Newa.
5454         Nko                    = _Nko                    // Nko is the set of Unicode characters in script Nko.
5455         Nushu                  = _Nushu                  // Nushu is the set of Unicode characters in script Nushu.
5456         Ogham                  = _Ogham                  // Ogham is the set of Unicode characters in script Ogham.
5457         Ol_Chiki               = _Ol_Chiki               // Ol_Chiki is the set of Unicode characters in script Ol_Chiki.
5458         Old_Hungarian          = _Old_Hungarian          // Old_Hungarian is the set of Unicode characters in script Old_Hungarian.
5459         Old_Italic             = _Old_Italic             // Old_Italic is the set of Unicode characters in script Old_Italic.
5460         Old_North_Arabian      = _Old_North_Arabian      // Old_North_Arabian is the set of Unicode characters in script Old_North_Arabian.
5461         Old_Permic             = _Old_Permic             // Old_Permic is the set of Unicode characters in script Old_Permic.
5462         Old_Persian            = _Old_Persian            // Old_Persian is the set of Unicode characters in script Old_Persian.
5463         Old_Sogdian            = _Old_Sogdian            // Old_Sogdian is the set of Unicode characters in script Old_Sogdian.
5464         Old_South_Arabian      = _Old_South_Arabian      // Old_South_Arabian is the set of Unicode characters in script Old_South_Arabian.
5465         Old_Turkic             = _Old_Turkic             // Old_Turkic is the set of Unicode characters in script Old_Turkic.
5466         Oriya                  = _Oriya                  // Oriya is the set of Unicode characters in script Oriya.
5467         Osage                  = _Osage                  // Osage is the set of Unicode characters in script Osage.
5468         Osmanya                = _Osmanya                // Osmanya is the set of Unicode characters in script Osmanya.
5469         Pahawh_Hmong           = _Pahawh_Hmong           // Pahawh_Hmong is the set of Unicode characters in script Pahawh_Hmong.
5470         Palmyrene              = _Palmyrene              // Palmyrene is the set of Unicode characters in script Palmyrene.
5471         Pau_Cin_Hau            = _Pau_Cin_Hau            // Pau_Cin_Hau is the set of Unicode characters in script Pau_Cin_Hau.
5472         Phags_Pa               = _Phags_Pa               // Phags_Pa is the set of Unicode characters in script Phags_Pa.
5473         Phoenician             = _Phoenician             // Phoenician is the set of Unicode characters in script Phoenician.
5474         Psalter_Pahlavi        = _Psalter_Pahlavi        // Psalter_Pahlavi is the set of Unicode characters in script Psalter_Pahlavi.
5475         Rejang                 = _Rejang                 // Rejang is the set of Unicode characters in script Rejang.
5476         Runic                  = _Runic                  // Runic is the set of Unicode characters in script Runic.
5477         Samaritan              = _Samaritan              // Samaritan is the set of Unicode characters in script Samaritan.
5478         Saurashtra             = _Saurashtra             // Saurashtra is the set of Unicode characters in script Saurashtra.
5479         Sharada                = _Sharada                // Sharada is the set of Unicode characters in script Sharada.
5480         Shavian                = _Shavian                // Shavian is the set of Unicode characters in script Shavian.
5481         Siddham                = _Siddham                // Siddham is the set of Unicode characters in script Siddham.
5482         SignWriting            = _SignWriting            // SignWriting is the set of Unicode characters in script SignWriting.
5483         Sinhala                = _Sinhala                // Sinhala is the set of Unicode characters in script Sinhala.
5484         Sogdian                = _Sogdian                // Sogdian is the set of Unicode characters in script Sogdian.
5485         Sora_Sompeng           = _Sora_Sompeng           // Sora_Sompeng is the set of Unicode characters in script Sora_Sompeng.
5486         Soyombo                = _Soyombo                // Soyombo is the set of Unicode characters in script Soyombo.
5487         Sundanese              = _Sundanese              // Sundanese is the set of Unicode characters in script Sundanese.
5488         Syloti_Nagri           = _Syloti_Nagri           // Syloti_Nagri is the set of Unicode characters in script Syloti_Nagri.
5489         Syriac                 = _Syriac                 // Syriac is the set of Unicode characters in script Syriac.
5490         Tagalog                = _Tagalog                // Tagalog is the set of Unicode characters in script Tagalog.
5491         Tagbanwa               = _Tagbanwa               // Tagbanwa is the set of Unicode characters in script Tagbanwa.
5492         Tai_Le                 = _Tai_Le                 // Tai_Le is the set of Unicode characters in script Tai_Le.
5493         Tai_Tham               = _Tai_Tham               // Tai_Tham is the set of Unicode characters in script Tai_Tham.
5494         Tai_Viet               = _Tai_Viet               // Tai_Viet is the set of Unicode characters in script Tai_Viet.
5495         Takri                  = _Takri                  // Takri is the set of Unicode characters in script Takri.
5496         Tamil                  = _Tamil                  // Tamil is the set of Unicode characters in script Tamil.
5497         Tangut                 = _Tangut                 // Tangut is the set of Unicode characters in script Tangut.
5498         Telugu                 = _Telugu                 // Telugu is the set of Unicode characters in script Telugu.
5499         Thaana                 = _Thaana                 // Thaana is the set of Unicode characters in script Thaana.
5500         Thai                   = _Thai                   // Thai is the set of Unicode characters in script Thai.
5501         Tibetan                = _Tibetan                // Tibetan is the set of Unicode characters in script Tibetan.
5502         Tifinagh               = _Tifinagh               // Tifinagh is the set of Unicode characters in script Tifinagh.
5503         Tirhuta                = _Tirhuta                // Tirhuta is the set of Unicode characters in script Tirhuta.
5504         Ugaritic               = _Ugaritic               // Ugaritic is the set of Unicode characters in script Ugaritic.
5505         Vai                    = _Vai                    // Vai is the set of Unicode characters in script Vai.
5506         Warang_Citi            = _Warang_Citi            // Warang_Citi is the set of Unicode characters in script Warang_Citi.
5507         Yi                     = _Yi                     // Yi is the set of Unicode characters in script Yi.
5508         Zanabazar_Square       = _Zanabazar_Square       // Zanabazar_Square is the set of Unicode characters in script Zanabazar_Square.
5509 )
5510
5511 // Properties is the set of Unicode property tables.
5512 var Properties = map[string]*RangeTable{
5513         "ASCII_Hex_Digit":                    ASCII_Hex_Digit,
5514         "Bidi_Control":                       Bidi_Control,
5515         "Dash":                               Dash,
5516         "Deprecated":                         Deprecated,
5517         "Diacritic":                          Diacritic,
5518         "Extender":                           Extender,
5519         "Hex_Digit":                          Hex_Digit,
5520         "Hyphen":                             Hyphen,
5521         "IDS_Binary_Operator":                IDS_Binary_Operator,
5522         "IDS_Trinary_Operator":               IDS_Trinary_Operator,
5523         "Ideographic":                        Ideographic,
5524         "Join_Control":                       Join_Control,
5525         "Logical_Order_Exception":            Logical_Order_Exception,
5526         "Noncharacter_Code_Point":            Noncharacter_Code_Point,
5527         "Other_Alphabetic":                   Other_Alphabetic,
5528         "Other_Default_Ignorable_Code_Point": Other_Default_Ignorable_Code_Point,
5529         "Other_Grapheme_Extend":              Other_Grapheme_Extend,
5530         "Other_ID_Continue":                  Other_ID_Continue,
5531         "Other_ID_Start":                     Other_ID_Start,
5532         "Other_Lowercase":                    Other_Lowercase,
5533         "Other_Math":                         Other_Math,
5534         "Other_Uppercase":                    Other_Uppercase,
5535         "Pattern_Syntax":                     Pattern_Syntax,
5536         "Pattern_White_Space":                Pattern_White_Space,
5537         "Prepended_Concatenation_Mark":       Prepended_Concatenation_Mark,
5538         "Quotation_Mark":                     Quotation_Mark,
5539         "Radical":                            Radical,
5540         "Regional_Indicator":                 Regional_Indicator,
5541         "Sentence_Terminal":                  Sentence_Terminal,
5542         "STerm":                              Sentence_Terminal,
5543         "Soft_Dotted":                        Soft_Dotted,
5544         "Terminal_Punctuation":               Terminal_Punctuation,
5545         "Unified_Ideograph":                  Unified_Ideograph,
5546         "Variation_Selector":                 Variation_Selector,
5547         "White_Space":                        White_Space,
5548 }
5549
5550 var _ASCII_Hex_Digit = &RangeTable{
5551         R16: []Range16{
5552                 {0x0030, 0x0039, 1},
5553                 {0x0041, 0x0046, 1},
5554                 {0x0061, 0x0066, 1},
5555         },
5556         LatinOffset: 3,
5557 }
5558
5559 var _Bidi_Control = &RangeTable{
5560         R16: []Range16{
5561                 {0x061c, 0x200e, 6642},
5562                 {0x200f, 0x202a, 27},
5563                 {0x202b, 0x202e, 1},
5564                 {0x2066, 0x2069, 1},
5565         },
5566 }
5567
5568 var _Dash = &RangeTable{
5569         R16: []Range16{
5570                 {0x002d, 0x058a, 1373},
5571                 {0x05be, 0x1400, 3650},
5572                 {0x1806, 0x2010, 2058},
5573                 {0x2011, 0x2015, 1},
5574                 {0x2053, 0x207b, 40},
5575                 {0x208b, 0x2212, 391},
5576                 {0x2e17, 0x2e1a, 3},
5577                 {0x2e3a, 0x2e3b, 1},
5578                 {0x2e40, 0x301c, 476},
5579                 {0x3030, 0x30a0, 112},
5580                 {0xfe31, 0xfe32, 1},
5581                 {0xfe58, 0xfe63, 11},
5582                 {0xff0d, 0xff0d, 1},
5583         },
5584 }
5585
5586 var _Deprecated = &RangeTable{
5587         R16: []Range16{
5588                 {0x0149, 0x0673, 1322},
5589                 {0x0f77, 0x0f79, 2},
5590                 {0x17a3, 0x17a4, 1},
5591                 {0x206a, 0x206f, 1},
5592                 {0x2329, 0x232a, 1},
5593         },
5594         R32: []Range32{
5595                 {0xe0001, 0xe0001, 1},
5596         },
5597 }
5598
5599 var _Diacritic = &RangeTable{
5600         R16: []Range16{
5601                 {0x005e, 0x0060, 2},
5602                 {0x00a8, 0x00af, 7},
5603                 {0x00b4, 0x00b7, 3},
5604                 {0x00b8, 0x02b0, 504},
5605                 {0x02b1, 0x034e, 1},
5606                 {0x0350, 0x0357, 1},
5607                 {0x035d, 0x0362, 1},
5608                 {0x0374, 0x0375, 1},
5609                 {0x037a, 0x0384, 10},
5610                 {0x0385, 0x0483, 254},
5611                 {0x0484, 0x0487, 1},
5612                 {0x0559, 0x0591, 56},
5613                 {0x0592, 0x05a1, 1},
5614                 {0x05a3, 0x05bd, 1},
5615                 {0x05bf, 0x05c1, 2},
5616                 {0x05c2, 0x05c4, 2},
5617                 {0x064b, 0x0652, 1},
5618                 {0x0657, 0x0658, 1},
5619                 {0x06df, 0x06e0, 1},
5620                 {0x06e5, 0x06e6, 1},
5621                 {0x06ea, 0x06ec, 1},
5622                 {0x0730, 0x074a, 1},
5623                 {0x07a6, 0x07b0, 1},
5624                 {0x07eb, 0x07f5, 1},
5625                 {0x0818, 0x0819, 1},
5626                 {0x08e3, 0x08fe, 1},
5627                 {0x093c, 0x094d, 17},
5628                 {0x0951, 0x0954, 1},
5629                 {0x0971, 0x09bc, 75},
5630                 {0x09cd, 0x0a3c, 111},
5631                 {0x0a4d, 0x0abc, 111},
5632                 {0x0acd, 0x0afd, 48},
5633                 {0x0afe, 0x0aff, 1},
5634                 {0x0b3c, 0x0b4d, 17},
5635                 {0x0bcd, 0x0c4d, 128},
5636                 {0x0cbc, 0x0ccd, 17},
5637                 {0x0d3b, 0x0d3c, 1},
5638                 {0x0d4d, 0x0e47, 125},
5639                 {0x0e48, 0x0e4c, 1},
5640                 {0x0e4e, 0x0ec8, 122},
5641                 {0x0ec9, 0x0ecc, 1},
5642                 {0x0f18, 0x0f19, 1},
5643                 {0x0f35, 0x0f39, 2},
5644                 {0x0f3e, 0x0f3f, 1},
5645                 {0x0f82, 0x0f84, 1},
5646                 {0x0f86, 0x0f87, 1},
5647                 {0x0fc6, 0x1037, 113},
5648                 {0x1039, 0x103a, 1},
5649                 {0x1087, 0x108d, 1},
5650                 {0x108f, 0x109a, 11},
5651                 {0x109b, 0x17c9, 1838},
5652                 {0x17ca, 0x17d3, 1},
5653                 {0x17dd, 0x1939, 348},
5654                 {0x193a, 0x193b, 1},
5655                 {0x1a75, 0x1a7c, 1},
5656                 {0x1a7f, 0x1ab0, 49},
5657                 {0x1ab1, 0x1abd, 1},
5658                 {0x1b34, 0x1b44, 16},
5659                 {0x1b6b, 0x1b73, 1},
5660                 {0x1baa, 0x1bab, 1},
5661                 {0x1c36, 0x1c37, 1},
5662                 {0x1c78, 0x1c7d, 1},
5663                 {0x1cd0, 0x1ce8, 1},
5664                 {0x1ced, 0x1cf4, 7},
5665                 {0x1cf7, 0x1cf9, 1},
5666                 {0x1d2c, 0x1d6a, 1},
5667                 {0x1dc4, 0x1dcf, 1},
5668                 {0x1df5, 0x1df9, 1},
5669                 {0x1dfd, 0x1dff, 1},
5670                 {0x1fbd, 0x1fbf, 2},
5671                 {0x1fc0, 0x1fc1, 1},
5672                 {0x1fcd, 0x1fcf, 1},
5673                 {0x1fdd, 0x1fdf, 1},
5674                 {0x1fed, 0x1fef, 1},
5675                 {0x1ffd, 0x1ffe, 1},
5676                 {0x2cef, 0x2cf1, 1},
5677                 {0x2e2f, 0x302a, 507},
5678                 {0x302b, 0x302f, 1},
5679                 {0x3099, 0x309c, 1},
5680                 {0x30fc, 0xa66f, 30067},
5681                 {0xa67c, 0xa67d, 1},
5682                 {0xa67f, 0xa69c, 29},
5683                 {0xa69d, 0xa6f0, 83},
5684                 {0xa6f1, 0xa717, 38},
5685                 {0xa718, 0xa721, 1},
5686                 {0xa788, 0xa7f8, 112},
5687                 {0xa7f9, 0xa8c4, 203},
5688                 {0xa8e0, 0xa8f1, 1},
5689                 {0xa92b, 0xa92e, 1},
5690                 {0xa953, 0xa9b3, 96},
5691                 {0xa9c0, 0xa9e5, 37},
5692                 {0xaa7b, 0xaa7d, 1},
5693                 {0xaabf, 0xaac2, 1},
5694                 {0xaaf6, 0xab5b, 101},
5695                 {0xab5c, 0xab5f, 1},
5696                 {0xabec, 0xabed, 1},
5697                 {0xfb1e, 0xfe20, 770},
5698                 {0xfe21, 0xfe2f, 1},
5699                 {0xff3e, 0xff40, 2},
5700                 {0xff70, 0xff9e, 46},
5701                 {0xff9f, 0xffe3, 68},
5702         },
5703         R32: []Range32{
5704                 {0x102e0, 0x10ae5, 2053},
5705                 {0x10ae6, 0x10d22, 572},
5706                 {0x10d23, 0x10d27, 1},
5707                 {0x10f46, 0x10f50, 1},
5708                 {0x110b9, 0x110ba, 1},
5709                 {0x11133, 0x11134, 1},
5710                 {0x11173, 0x111c0, 77},
5711                 {0x111ca, 0x111cc, 1},
5712                 {0x11235, 0x11236, 1},
5713                 {0x112e9, 0x112ea, 1},
5714                 {0x1133c, 0x1134d, 17},
5715                 {0x11366, 0x1136c, 1},
5716                 {0x11370, 0x11374, 1},
5717                 {0x11442, 0x11446, 4},
5718                 {0x114c2, 0x114c3, 1},
5719                 {0x115bf, 0x115c0, 1},
5720                 {0x1163f, 0x116b6, 119},
5721                 {0x116b7, 0x1172b, 116},
5722                 {0x11839, 0x1183a, 1},
5723                 {0x11a34, 0x11a47, 19},
5724                 {0x11a99, 0x11c3f, 422},
5725                 {0x11d42, 0x11d44, 2},
5726                 {0x11d45, 0x11d97, 82},
5727                 {0x16af0, 0x16af4, 1},
5728                 {0x16f8f, 0x16f9f, 1},
5729                 {0x1d167, 0x1d169, 1},
5730                 {0x1d16d, 0x1d172, 1},
5731                 {0x1d17b, 0x1d182, 1},
5732                 {0x1d185, 0x1d18b, 1},
5733                 {0x1d1aa, 0x1d1ad, 1},
5734                 {0x1e8d0, 0x1e8d6, 1},
5735                 {0x1e944, 0x1e946, 1},
5736                 {0x1e948, 0x1e94a, 1},
5737         },
5738         LatinOffset: 3,
5739 }
5740
5741 var _Extender = &RangeTable{
5742         R16: []Range16{
5743                 {0x00b7, 0x02d0, 537},
5744                 {0x02d1, 0x0640, 879},
5745                 {0x07fa, 0x0e46, 1612},
5746                 {0x0ec6, 0x180a, 2372},
5747                 {0x1843, 0x1aa7, 612},
5748                 {0x1c36, 0x1c7b, 69},
5749                 {0x3005, 0x3031, 44},
5750                 {0x3032, 0x3035, 1},
5751                 {0x309d, 0x309e, 1},
5752                 {0x30fc, 0x30fe, 1},
5753                 {0xa015, 0xa60c, 1527},
5754                 {0xa9cf, 0xa9e6, 23},
5755                 {0xaa70, 0xaadd, 109},
5756                 {0xaaf3, 0xaaf4, 1},
5757                 {0xff70, 0xff70, 1},
5758         },
5759         R32: []Range32{
5760                 {0x1135d, 0x115c6, 617},
5761                 {0x115c7, 0x115c8, 1},
5762                 {0x11a98, 0x16b42, 20650},
5763                 {0x16b43, 0x16fe0, 1181},
5764                 {0x16fe1, 0x1e944, 31075},
5765                 {0x1e945, 0x1e946, 1},
5766         },
5767 }
5768
5769 var _Hex_Digit = &RangeTable{
5770         R16: []Range16{
5771                 {0x0030, 0x0039, 1},
5772                 {0x0041, 0x0046, 1},
5773                 {0x0061, 0x0066, 1},
5774                 {0xff10, 0xff19, 1},
5775                 {0xff21, 0xff26, 1},
5776                 {0xff41, 0xff46, 1},
5777         },
5778         LatinOffset: 3,
5779 }
5780
5781 var _Hyphen = &RangeTable{
5782         R16: []Range16{
5783                 {0x002d, 0x00ad, 128},
5784                 {0x058a, 0x1806, 4732},
5785                 {0x2010, 0x2011, 1},
5786                 {0x2e17, 0x30fb, 740},
5787                 {0xfe63, 0xff0d, 170},
5788                 {0xff65, 0xff65, 1},
5789         },
5790         LatinOffset: 1,
5791 }
5792
5793 var _IDS_Binary_Operator = &RangeTable{
5794         R16: []Range16{
5795                 {0x2ff0, 0x2ff1, 1},
5796                 {0x2ff4, 0x2ffb, 1},
5797         },
5798 }
5799
5800 var _IDS_Trinary_Operator = &RangeTable{
5801         R16: []Range16{
5802                 {0x2ff2, 0x2ff3, 1},
5803         },
5804 }
5805
5806 var _Ideographic = &RangeTable{
5807         R16: []Range16{
5808                 {0x3006, 0x3007, 1},
5809                 {0x3021, 0x3029, 1},
5810                 {0x3038, 0x303a, 1},
5811                 {0x3400, 0x4db5, 1},
5812                 {0x4e00, 0x9fef, 1},
5813                 {0xf900, 0xfa6d, 1},
5814                 {0xfa70, 0xfad9, 1},
5815         },
5816         R32: []Range32{
5817                 {0x17000, 0x187f1, 1},
5818                 {0x18800, 0x18af2, 1},
5819                 {0x1b170, 0x1b2fb, 1},
5820                 {0x20000, 0x2a6d6, 1},
5821                 {0x2a700, 0x2b734, 1},
5822                 {0x2b740, 0x2b81d, 1},
5823                 {0x2b820, 0x2cea1, 1},
5824                 {0x2ceb0, 0x2ebe0, 1},
5825                 {0x2f800, 0x2fa1d, 1},
5826         },
5827 }
5828
5829 var _Join_Control = &RangeTable{
5830         R16: []Range16{
5831                 {0x200c, 0x200d, 1},
5832         },
5833 }
5834
5835 var _Logical_Order_Exception = &RangeTable{
5836         R16: []Range16{
5837                 {0x0e40, 0x0e44, 1},
5838                 {0x0ec0, 0x0ec4, 1},
5839                 {0x19b5, 0x19b7, 1},
5840                 {0x19ba, 0xaab5, 37115},
5841                 {0xaab6, 0xaab9, 3},
5842                 {0xaabb, 0xaabc, 1},
5843         },
5844 }
5845
5846 var _Noncharacter_Code_Point = &RangeTable{
5847         R16: []Range16{
5848                 {0xfdd0, 0xfdef, 1},
5849                 {0xfffe, 0xffff, 1},
5850         },
5851         R32: []Range32{
5852                 {0x1fffe, 0x1ffff, 1},
5853                 {0x2fffe, 0x2ffff, 1},
5854                 {0x3fffe, 0x3ffff, 1},
5855                 {0x4fffe, 0x4ffff, 1},
5856                 {0x5fffe, 0x5ffff, 1},
5857                 {0x6fffe, 0x6ffff, 1},
5858                 {0x7fffe, 0x7ffff, 1},
5859                 {0x8fffe, 0x8ffff, 1},
5860                 {0x9fffe, 0x9ffff, 1},
5861                 {0xafffe, 0xaffff, 1},
5862                 {0xbfffe, 0xbffff, 1},
5863                 {0xcfffe, 0xcffff, 1},
5864                 {0xdfffe, 0xdffff, 1},
5865                 {0xefffe, 0xeffff, 1},
5866                 {0xffffe, 0xfffff, 1},
5867                 {0x10fffe, 0x10ffff, 1},
5868         },
5869 }
5870
5871 var _Other_Alphabetic = &RangeTable{
5872         R16: []Range16{
5873                 {0x0345, 0x05b0, 619},
5874                 {0x05b1, 0x05bd, 1},
5875                 {0x05bf, 0x05c1, 2},
5876                 {0x05c2, 0x05c4, 2},
5877                 {0x05c5, 0x05c7, 2},
5878                 {0x0610, 0x061a, 1},
5879                 {0x064b, 0x0657, 1},
5880                 {0x0659, 0x065f, 1},
5881                 {0x0670, 0x06d6, 102},
5882                 {0x06d7, 0x06dc, 1},
5883                 {0x06e1, 0x06e4, 1},
5884                 {0x06e7, 0x06e8, 1},
5885                 {0x06ed, 0x0711, 36},
5886                 {0x0730, 0x073f, 1},
5887                 {0x07a6, 0x07b0, 1},
5888                 {0x0816, 0x0817, 1},
5889                 {0x081b, 0x0823, 1},
5890                 {0x0825, 0x0827, 1},
5891                 {0x0829, 0x082c, 1},
5892                 {0x08d4, 0x08df, 1},
5893                 {0x08e3, 0x08e9, 1},
5894                 {0x08f0, 0x0903, 1},
5895                 {0x093a, 0x093b, 1},
5896                 {0x093e, 0x094c, 1},
5897                 {0x094e, 0x094f, 1},
5898                 {0x0955, 0x0957, 1},
5899                 {0x0962, 0x0963, 1},
5900                 {0x0981, 0x0983, 1},
5901                 {0x09be, 0x09c4, 1},
5902                 {0x09c7, 0x09c8, 1},
5903                 {0x09cb, 0x09cc, 1},
5904                 {0x09d7, 0x09e2, 11},
5905                 {0x09e3, 0x0a01, 30},
5906                 {0x0a02, 0x0a03, 1},
5907                 {0x0a3e, 0x0a42, 1},
5908                 {0x0a47, 0x0a48, 1},
5909                 {0x0a4b, 0x0a4c, 1},
5910                 {0x0a51, 0x0a70, 31},
5911                 {0x0a71, 0x0a75, 4},
5912                 {0x0a81, 0x0a83, 1},
5913                 {0x0abe, 0x0ac5, 1},
5914                 {0x0ac7, 0x0ac9, 1},
5915                 {0x0acb, 0x0acc, 1},
5916                 {0x0ae2, 0x0ae3, 1},
5917                 {0x0afa, 0x0afc, 1},
5918                 {0x0b01, 0x0b03, 1},
5919                 {0x0b3e, 0x0b44, 1},
5920                 {0x0b47, 0x0b48, 1},
5921                 {0x0b4b, 0x0b4c, 1},
5922                 {0x0b56, 0x0b57, 1},
5923                 {0x0b62, 0x0b63, 1},
5924                 {0x0b82, 0x0bbe, 60},
5925                 {0x0bbf, 0x0bc2, 1},
5926                 {0x0bc6, 0x0bc8, 1},
5927                 {0x0bca, 0x0bcc, 1},
5928                 {0x0bd7, 0x0c00, 41},
5929                 {0x0c01, 0x0c03, 1},
5930                 {0x0c3e, 0x0c44, 1},
5931                 {0x0c46, 0x0c48, 1},
5932                 {0x0c4a, 0x0c4c, 1},
5933                 {0x0c55, 0x0c56, 1},
5934                 {0x0c62, 0x0c63, 1},
5935                 {0x0c81, 0x0c83, 1},
5936                 {0x0cbe, 0x0cc4, 1},
5937                 {0x0cc6, 0x0cc8, 1},
5938                 {0x0cca, 0x0ccc, 1},
5939                 {0x0cd5, 0x0cd6, 1},
5940                 {0x0ce2, 0x0ce3, 1},
5941                 {0x0d00, 0x0d03, 1},
5942                 {0x0d3e, 0x0d44, 1},
5943                 {0x0d46, 0x0d48, 1},
5944                 {0x0d4a, 0x0d4c, 1},
5945                 {0x0d57, 0x0d62, 11},
5946                 {0x0d63, 0x0d82, 31},
5947                 {0x0d83, 0x0dcf, 76},
5948                 {0x0dd0, 0x0dd4, 1},
5949                 {0x0dd6, 0x0dd8, 2},
5950                 {0x0dd9, 0x0ddf, 1},
5951                 {0x0df2, 0x0df3, 1},
5952                 {0x0e31, 0x0e34, 3},
5953                 {0x0e35, 0x0e3a, 1},
5954                 {0x0e4d, 0x0eb1, 100},
5955                 {0x0eb4, 0x0eb9, 1},
5956                 {0x0ebb, 0x0ebc, 1},
5957                 {0x0ecd, 0x0f71, 164},
5958                 {0x0f72, 0x0f81, 1},
5959                 {0x0f8d, 0x0f97, 1},
5960                 {0x0f99, 0x0fbc, 1},
5961                 {0x102b, 0x1036, 1},
5962                 {0x1038, 0x103b, 3},
5963                 {0x103c, 0x103e, 1},
5964                 {0x1056, 0x1059, 1},
5965                 {0x105e, 0x1060, 1},
5966                 {0x1062, 0x1067, 5},
5967                 {0x1068, 0x1071, 9},
5968                 {0x1072, 0x1074, 1},
5969                 {0x1082, 0x1086, 1},
5970                 {0x109c, 0x109d, 1},
5971                 {0x135f, 0x1712, 947},
5972                 {0x1713, 0x1732, 31},
5973                 {0x1733, 0x1752, 31},
5974                 {0x1753, 0x1772, 31},
5975                 {0x1773, 0x17b6, 67},
5976                 {0x17b7, 0x17c8, 1},
5977                 {0x1885, 0x1886, 1},
5978                 {0x18a9, 0x1920, 119},
5979                 {0x1921, 0x192b, 1},
5980                 {0x1930, 0x1938, 1},
5981                 {0x1a17, 0x1a1b, 1},
5982                 {0x1a55, 0x1a5e, 1},
5983                 {0x1a61, 0x1a74, 1},
5984                 {0x1b00, 0x1b04, 1},
5985                 {0x1b35, 0x1b43, 1},
5986                 {0x1b80, 0x1b82, 1},
5987                 {0x1ba1, 0x1ba9, 1},
5988                 {0x1bac, 0x1bad, 1},
5989                 {0x1be7, 0x1bf1, 1},
5990                 {0x1c24, 0x1c35, 1},
5991                 {0x1cf2, 0x1cf3, 1},
5992                 {0x1de7, 0x1df4, 1},
5993                 {0x24b6, 0x24e9, 1},
5994                 {0x2de0, 0x2dff, 1},
5995                 {0xa674, 0xa67b, 1},
5996                 {0xa69e, 0xa69f, 1},
5997                 {0xa823, 0xa827, 1},
5998                 {0xa880, 0xa881, 1},
5999                 {0xa8b4, 0xa8c3, 1},
6000                 {0xa8c5, 0xa926, 97},
6001                 {0xa927, 0xa92a, 1},
6002                 {0xa947, 0xa952, 1},
6003                 {0xa980, 0xa983, 1},
6004                 {0xa9b4, 0xa9bf, 1},
6005                 {0xaa29, 0xaa36, 1},
6006                 {0xaa43, 0xaa4c, 9},
6007                 {0xaa4d, 0xaab0, 99},
6008                 {0xaab2, 0xaab4, 1},
6009                 {0xaab7, 0xaab8, 1},
6010                 {0xaabe, 0xaaeb, 45},
6011                 {0xaaec, 0xaaef, 1},
6012                 {0xaaf5, 0xabe3, 238},
6013                 {0xabe4, 0xabea, 1},
6014                 {0xfb1e, 0xfb1e, 1},
6015         },
6016         R32: []Range32{
6017                 {0x10376, 0x1037a, 1},
6018                 {0x10a01, 0x10a03, 1},
6019                 {0x10a05, 0x10a06, 1},
6020                 {0x10a0c, 0x10a0f, 1},
6021                 {0x10d24, 0x10d27, 1},
6022                 {0x11000, 0x11002, 1},
6023                 {0x11038, 0x11045, 1},
6024                 {0x11082, 0x110b0, 46},
6025                 {0x110b1, 0x110b8, 1},
6026                 {0x11100, 0x11102, 1},
6027                 {0x11127, 0x11132, 1},
6028                 {0x11145, 0x11146, 1},
6029                 {0x11180, 0x11182, 1},
6030                 {0x111b3, 0x111bf, 1},
6031                 {0x1122c, 0x11234, 1},
6032                 {0x11237, 0x1123e, 7},
6033                 {0x112df, 0x112e8, 1},
6034                 {0x11300, 0x11303, 1},
6035                 {0x1133e, 0x11344, 1},
6036                 {0x11347, 0x11348, 1},
6037                 {0x1134b, 0x1134c, 1},
6038                 {0x11357, 0x11362, 11},
6039                 {0x11363, 0x11435, 210},
6040                 {0x11436, 0x11441, 1},
6041                 {0x11443, 0x11445, 1},
6042                 {0x114b0, 0x114c1, 1},
6043                 {0x115af, 0x115b5, 1},
6044                 {0x115b8, 0x115be, 1},
6045                 {0x115dc, 0x115dd, 1},
6046                 {0x11630, 0x1163e, 1},
6047                 {0x11640, 0x116ab, 107},
6048                 {0x116ac, 0x116b5, 1},
6049                 {0x1171d, 0x1172a, 1},
6050                 {0x1182c, 0x11838, 1},
6051                 {0x11a01, 0x11a0a, 1},
6052                 {0x11a35, 0x11a39, 1},
6053                 {0x11a3b, 0x11a3e, 1},
6054                 {0x11a51, 0x11a5b, 1},
6055                 {0x11a8a, 0x11a97, 1},
6056                 {0x11c2f, 0x11c36, 1},
6057                 {0x11c38, 0x11c3e, 1},
6058                 {0x11c92, 0x11ca7, 1},
6059                 {0x11ca9, 0x11cb6, 1},
6060                 {0x11d31, 0x11d36, 1},
6061                 {0x11d3a, 0x11d3c, 2},
6062                 {0x11d3d, 0x11d3f, 2},
6063                 {0x11d40, 0x11d41, 1},
6064                 {0x11d43, 0x11d47, 4},
6065                 {0x11d8a, 0x11d8e, 1},
6066                 {0x11d90, 0x11d91, 1},
6067                 {0x11d93, 0x11d96, 1},
6068                 {0x11ef3, 0x11ef6, 1},
6069                 {0x16b30, 0x16b36, 1},
6070                 {0x16f51, 0x16f7e, 1},
6071                 {0x1bc9e, 0x1e000, 9058},
6072                 {0x1e001, 0x1e006, 1},
6073                 {0x1e008, 0x1e018, 1},
6074                 {0x1e01b, 0x1e021, 1},
6075                 {0x1e023, 0x1e024, 1},
6076                 {0x1e026, 0x1e02a, 1},
6077                 {0x1e947, 0x1f130, 2025},
6078                 {0x1f131, 0x1f149, 1},
6079                 {0x1f150, 0x1f169, 1},
6080                 {0x1f170, 0x1f189, 1},
6081         },
6082 }
6083
6084 var _Other_Default_Ignorable_Code_Point = &RangeTable{
6085         R16: []Range16{
6086                 {0x034f, 0x115f, 3600},
6087                 {0x1160, 0x17b4, 1620},
6088                 {0x17b5, 0x2065, 2224},
6089                 {0x3164, 0xffa0, 52796},
6090                 {0xfff0, 0xfff8, 1},
6091         },
6092         R32: []Range32{
6093                 {0xe0000, 0xe0002, 2},
6094                 {0xe0003, 0xe001f, 1},
6095                 {0xe0080, 0xe00ff, 1},
6096                 {0xe01f0, 0xe0fff, 1},
6097         },
6098 }
6099
6100 var _Other_Grapheme_Extend = &RangeTable{
6101         R16: []Range16{
6102                 {0x09be, 0x09d7, 25},
6103                 {0x0b3e, 0x0b57, 25},
6104                 {0x0bbe, 0x0bd7, 25},
6105                 {0x0cc2, 0x0cd5, 19},
6106                 {0x0cd6, 0x0d3e, 104},
6107                 {0x0d57, 0x0dcf, 120},
6108                 {0x0ddf, 0x200c, 4653},
6109                 {0x302e, 0x302f, 1},
6110                 {0xff9e, 0xff9f, 1},
6111         },
6112         R32: []Range32{
6113                 {0x1133e, 0x11357, 25},
6114                 {0x114b0, 0x114bd, 13},
6115                 {0x115af, 0x1d165, 48054},
6116                 {0x1d16e, 0x1d172, 1},
6117                 {0xe0020, 0xe007f, 1},
6118         },
6119 }
6120
6121 var _Other_ID_Continue = &RangeTable{
6122         R16: []Range16{
6123                 {0x00b7, 0x0387, 720},
6124                 {0x1369, 0x1371, 1},
6125                 {0x19da, 0x19da, 1},
6126         },
6127 }
6128
6129 var _Other_ID_Start = &RangeTable{
6130         R16: []Range16{
6131                 {0x1885, 0x1886, 1},
6132                 {0x2118, 0x212e, 22},
6133                 {0x309b, 0x309c, 1},
6134         },
6135 }
6136
6137 var _Other_Lowercase = &RangeTable{
6138         R16: []Range16{
6139                 {0x00aa, 0x00ba, 16},
6140                 {0x02b0, 0x02b8, 1},
6141                 {0x02c0, 0x02c1, 1},
6142                 {0x02e0, 0x02e4, 1},
6143                 {0x0345, 0x037a, 53},
6144                 {0x1d2c, 0x1d6a, 1},
6145                 {0x1d78, 0x1d9b, 35},
6146                 {0x1d9c, 0x1dbf, 1},
6147                 {0x2071, 0x207f, 14},
6148                 {0x2090, 0x209c, 1},
6149                 {0x2170, 0x217f, 1},
6150                 {0x24d0, 0x24e9, 1},
6151                 {0x2c7c, 0x2c7d, 1},
6152                 {0xa69c, 0xa69d, 1},
6153                 {0xa770, 0xa7f8, 136},
6154                 {0xa7f9, 0xab5c, 867},
6155                 {0xab5d, 0xab5f, 1},
6156         },
6157         LatinOffset: 1,
6158 }
6159
6160 var _Other_Math = &RangeTable{
6161         R16: []Range16{
6162                 {0x005e, 0x03d0, 882},
6163                 {0x03d1, 0x03d2, 1},
6164                 {0x03d5, 0x03f0, 27},
6165                 {0x03f1, 0x03f4, 3},
6166                 {0x03f5, 0x2016, 7201},
6167                 {0x2032, 0x2034, 1},
6168                 {0x2040, 0x2061, 33},
6169                 {0x2062, 0x2064, 1},
6170                 {0x207d, 0x207e, 1},
6171                 {0x208d, 0x208e, 1},
6172                 {0x20d0, 0x20dc, 1},
6173                 {0x20e1, 0x20e5, 4},
6174                 {0x20e6, 0x20eb, 5},
6175                 {0x20ec, 0x20ef, 1},
6176                 {0x2102, 0x2107, 5},
6177                 {0x210a, 0x2113, 1},
6178                 {0x2115, 0x2119, 4},
6179                 {0x211a, 0x211d, 1},
6180                 {0x2124, 0x2128, 4},
6181                 {0x2129, 0x212c, 3},
6182                 {0x212d, 0x212f, 2},
6183                 {0x2130, 0x2131, 1},
6184                 {0x2133, 0x2138, 1},
6185                 {0x213c, 0x213f, 1},
6186                 {0x2145, 0x2149, 1},
6187                 {0x2195, 0x2199, 1},
6188                 {0x219c, 0x219f, 1},
6189                 {0x21a1, 0x21a2, 1},
6190                 {0x21a4, 0x21a5, 1},
6191                 {0x21a7, 0x21a9, 2},
6192                 {0x21aa, 0x21ad, 1},
6193                 {0x21b0, 0x21b1, 1},
6194                 {0x21b6, 0x21b7, 1},
6195                 {0x21bc, 0x21cd, 1},
6196                 {0x21d0, 0x21d1, 1},
6197                 {0x21d3, 0x21d5, 2},
6198                 {0x21d6, 0x21db, 1},
6199                 {0x21dd, 0x21e4, 7},
6200                 {0x21e5, 0x2308, 291},
6201                 {0x2309, 0x230b, 1},
6202                 {0x23b4, 0x23b5, 1},
6203                 {0x23b7, 0x23d0, 25},
6204                 {0x23e2, 0x25a0, 446},
6205                 {0x25a1, 0x25ae, 13},
6206                 {0x25af, 0x25b6, 1},
6207                 {0x25bc, 0x25c0, 1},
6208                 {0x25c6, 0x25c7, 1},
6209                 {0x25ca, 0x25cb, 1},
6210                 {0x25cf, 0x25d3, 1},
6211                 {0x25e2, 0x25e4, 2},
6212                 {0x25e7, 0x25ec, 1},
6213                 {0x2605, 0x2606, 1},
6214                 {0x2640, 0x2642, 2},
6215                 {0x2660, 0x2663, 1},
6216                 {0x266d, 0x266e, 1},
6217                 {0x27c5, 0x27c6, 1},
6218                 {0x27e6, 0x27ef, 1},
6219                 {0x2983, 0x2998, 1},
6220                 {0x29d8, 0x29db, 1},
6221                 {0x29fc, 0x29fd, 1},
6222                 {0xfe61, 0xfe63, 2},
6223                 {0xfe68, 0xff3c, 212},
6224                 {0xff3e, 0xff3e, 1},
6225         },
6226         R32: []Range32{
6227                 {0x1d400, 0x1d454, 1},
6228                 {0x1d456, 0x1d49c, 1},
6229                 {0x1d49e, 0x1d49f, 1},
6230                 {0x1d4a2, 0x1d4a5, 3},
6231                 {0x1d4a6, 0x1d4a9, 3},
6232                 {0x1d4aa, 0x1d4ac, 1},
6233                 {0x1d4ae, 0x1d4b9, 1},
6234                 {0x1d4bb, 0x1d4bd, 2},
6235                 {0x1d4be, 0x1d4c3, 1},
6236                 {0x1d4c5, 0x1d505, 1},
6237                 {0x1d507, 0x1d50a, 1},
6238                 {0x1d50d, 0x1d514, 1},
6239                 {0x1d516, 0x1d51c, 1},
6240                 {0x1d51e, 0x1d539, 1},
6241                 {0x1d53b, 0x1d53e, 1},
6242                 {0x1d540, 0x1d544, 1},
6243                 {0x1d546, 0x1d54a, 4},
6244                 {0x1d54b, 0x1d550, 1},
6245                 {0x1d552, 0x1d6a5, 1},
6246                 {0x1d6a8, 0x1d6c0, 1},
6247                 {0x1d6c2, 0x1d6da, 1},
6248                 {0x1d6dc, 0x1d6fa, 1},
6249                 {0x1d6fc, 0x1d714, 1},
6250                 {0x1d716, 0x1d734, 1},
6251                 {0x1d736, 0x1d74e, 1},
6252                 {0x1d750, 0x1d76e, 1},
6253                 {0x1d770, 0x1d788, 1},
6254                 {0x1d78a, 0x1d7a8, 1},
6255                 {0x1d7aa, 0x1d7c2, 1},
6256                 {0x1d7c4, 0x1d7cb, 1},
6257                 {0x1d7ce, 0x1d7ff, 1},
6258                 {0x1ee00, 0x1ee03, 1},
6259                 {0x1ee05, 0x1ee1f, 1},
6260                 {0x1ee21, 0x1ee22, 1},
6261                 {0x1ee24, 0x1ee27, 3},
6262                 {0x1ee29, 0x1ee32, 1},
6263                 {0x1ee34, 0x1ee37, 1},
6264                 {0x1ee39, 0x1ee3b, 2},
6265                 {0x1ee42, 0x1ee47, 5},
6266                 {0x1ee49, 0x1ee4d, 2},
6267                 {0x1ee4e, 0x1ee4f, 1},
6268                 {0x1ee51, 0x1ee52, 1},
6269                 {0x1ee54, 0x1ee57, 3},
6270                 {0x1ee59, 0x1ee61, 2},
6271                 {0x1ee62, 0x1ee64, 2},
6272                 {0x1ee67, 0x1ee6a, 1},
6273                 {0x1ee6c, 0x1ee72, 1},
6274                 {0x1ee74, 0x1ee77, 1},
6275                 {0x1ee79, 0x1ee7c, 1},
6276                 {0x1ee7e, 0x1ee80, 2},
6277                 {0x1ee81, 0x1ee89, 1},
6278                 {0x1ee8b, 0x1ee9b, 1},
6279                 {0x1eea1, 0x1eea3, 1},
6280                 {0x1eea5, 0x1eea9, 1},
6281                 {0x1eeab, 0x1eebb, 1},
6282         },
6283 }
6284
6285 var _Other_Uppercase = &RangeTable{
6286         R16: []Range16{
6287                 {0x2160, 0x216f, 1},
6288                 {0x24b6, 0x24cf, 1},
6289         },
6290         R32: []Range32{
6291                 {0x1f130, 0x1f149, 1},
6292                 {0x1f150, 0x1f169, 1},
6293                 {0x1f170, 0x1f189, 1},
6294         },
6295 }
6296
6297 var _Pattern_Syntax = &RangeTable{
6298         R16: []Range16{
6299                 {0x0021, 0x002f, 1},
6300                 {0x003a, 0x0040, 1},
6301                 {0x005b, 0x005e, 1},
6302                 {0x0060, 0x007b, 27},
6303                 {0x007c, 0x007e, 1},
6304                 {0x00a1, 0x00a7, 1},
6305                 {0x00a9, 0x00ab, 2},
6306                 {0x00ac, 0x00b0, 2},
6307                 {0x00b1, 0x00bb, 5},
6308                 {0x00bf, 0x00d7, 24},
6309                 {0x00f7, 0x2010, 7961},
6310                 {0x2011, 0x2027, 1},
6311                 {0x2030, 0x203e, 1},
6312                 {0x2041, 0x2053, 1},
6313                 {0x2055, 0x205e, 1},
6314                 {0x2190, 0x245f, 1},
6315                 {0x2500, 0x2775, 1},
6316                 {0x2794, 0x2bff, 1},
6317                 {0x2e00, 0x2e7f, 1},
6318                 {0x3001, 0x3003, 1},
6319                 {0x3008, 0x3020, 1},
6320                 {0x3030, 0xfd3e, 52494},
6321                 {0xfd3f, 0xfe45, 262},
6322                 {0xfe46, 0xfe46, 1},
6323         },
6324         LatinOffset: 10,
6325 }
6326
6327 var _Pattern_White_Space = &RangeTable{
6328         R16: []Range16{
6329                 {0x0009, 0x000d, 1},
6330                 {0x0020, 0x0085, 101},
6331                 {0x200e, 0x200f, 1},
6332                 {0x2028, 0x2029, 1},
6333         },
6334         LatinOffset: 2,
6335 }
6336
6337 var _Prepended_Concatenation_Mark = &RangeTable{
6338         R16: []Range16{
6339                 {0x0600, 0x0605, 1},
6340                 {0x06dd, 0x070f, 50},
6341                 {0x08e2, 0x08e2, 1},
6342         },
6343         R32: []Range32{
6344                 {0x110bd, 0x110cd, 16},
6345         },
6346 }
6347
6348 var _Quotation_Mark = &RangeTable{
6349         R16: []Range16{
6350                 {0x0022, 0x0027, 5},
6351                 {0x00ab, 0x00bb, 16},
6352                 {0x2018, 0x201f, 1},
6353                 {0x2039, 0x203a, 1},
6354                 {0x2e42, 0x300c, 458},
6355                 {0x300d, 0x300f, 1},
6356                 {0x301d, 0x301f, 1},
6357                 {0xfe41, 0xfe44, 1},
6358                 {0xff02, 0xff07, 5},
6359                 {0xff62, 0xff63, 1},
6360         },
6361         LatinOffset: 2,
6362 }
6363
6364 var _Radical = &RangeTable{
6365         R16: []Range16{
6366                 {0x2e80, 0x2e99, 1},
6367                 {0x2e9b, 0x2ef3, 1},
6368                 {0x2f00, 0x2fd5, 1},
6369         },
6370 }
6371
6372 var _Regional_Indicator = &RangeTable{
6373         R16: []Range16{},
6374         R32: []Range32{
6375                 {0x1f1e6, 0x1f1ff, 1},
6376         },
6377 }
6378
6379 var _Sentence_Terminal = &RangeTable{
6380         R16: []Range16{
6381                 {0x0021, 0x002e, 13},
6382                 {0x003f, 0x0589, 1354},
6383                 {0x061e, 0x061f, 1},
6384                 {0x06d4, 0x0700, 44},
6385                 {0x0701, 0x0702, 1},
6386                 {0x07f9, 0x0837, 62},
6387                 {0x0839, 0x083d, 4},
6388                 {0x083e, 0x0964, 294},
6389                 {0x0965, 0x104a, 1765},
6390                 {0x104b, 0x1362, 791},
6391                 {0x1367, 0x1368, 1},
6392                 {0x166e, 0x1735, 199},
6393                 {0x1736, 0x1803, 205},
6394                 {0x1809, 0x1944, 315},
6395                 {0x1945, 0x1aa8, 355},
6396                 {0x1aa9, 0x1aab, 1},
6397                 {0x1b5a, 0x1b5b, 1},
6398                 {0x1b5e, 0x1b5f, 1},
6399                 {0x1c3b, 0x1c3c, 1},
6400                 {0x1c7e, 0x1c7f, 1},
6401                 {0x203c, 0x203d, 1},
6402                 {0x2047, 0x2049, 1},
6403                 {0x2e2e, 0x2e3c, 14},
6404                 {0x3002, 0xa4ff, 29949},
6405                 {0xa60e, 0xa60f, 1},
6406                 {0xa6f3, 0xa6f7, 4},
6407                 {0xa876, 0xa877, 1},
6408                 {0xa8ce, 0xa8cf, 1},
6409                 {0xa92f, 0xa9c8, 153},
6410                 {0xa9c9, 0xaa5d, 148},
6411                 {0xaa5e, 0xaa5f, 1},
6412                 {0xaaf0, 0xaaf1, 1},
6413                 {0xabeb, 0xfe52, 21095},
6414                 {0xfe56, 0xfe57, 1},
6415                 {0xff01, 0xff0e, 13},
6416                 {0xff1f, 0xff61, 66},
6417         },
6418         R32: []Range32{
6419                 {0x10a56, 0x10a57, 1},
6420                 {0x10f55, 0x10f59, 1},
6421                 {0x11047, 0x11048, 1},
6422                 {0x110be, 0x110c1, 1},
6423                 {0x11141, 0x11143, 1},
6424                 {0x111c5, 0x111c6, 1},
6425                 {0x111cd, 0x111de, 17},
6426                 {0x111df, 0x11238, 89},
6427                 {0x11239, 0x1123b, 2},
6428                 {0x1123c, 0x112a9, 109},
6429                 {0x1144b, 0x1144c, 1},
6430                 {0x115c2, 0x115c3, 1},
6431                 {0x115c9, 0x115d7, 1},
6432                 {0x11641, 0x11642, 1},
6433                 {0x1173c, 0x1173e, 1},
6434                 {0x11a42, 0x11a43, 1},
6435                 {0x11a9b, 0x11a9c, 1},
6436                 {0x11c41, 0x11c42, 1},
6437                 {0x11ef7, 0x11ef8, 1},
6438                 {0x16a6e, 0x16a6f, 1},
6439                 {0x16af5, 0x16b37, 66},
6440                 {0x16b38, 0x16b44, 12},
6441                 {0x16e98, 0x1bc9f, 19975},
6442                 {0x1da88, 0x1da88, 1},
6443         },
6444         LatinOffset: 1,
6445 }
6446
6447 var _Soft_Dotted = &RangeTable{
6448         R16: []Range16{
6449                 {0x0069, 0x006a, 1},
6450                 {0x012f, 0x0249, 282},
6451                 {0x0268, 0x029d, 53},
6452                 {0x02b2, 0x03f3, 321},
6453                 {0x0456, 0x0458, 2},
6454                 {0x1d62, 0x1d96, 52},
6455                 {0x1da4, 0x1da8, 4},
6456                 {0x1e2d, 0x1ecb, 158},
6457                 {0x2071, 0x2148, 215},
6458                 {0x2149, 0x2c7c, 2867},
6459         },
6460         R32: []Range32{
6461                 {0x1d422, 0x1d423, 1},
6462                 {0x1d456, 0x1d457, 1},
6463                 {0x1d48a, 0x1d48b, 1},
6464                 {0x1d4be, 0x1d4bf, 1},
6465                 {0x1d4f2, 0x1d4f3, 1},
6466                 {0x1d526, 0x1d527, 1},
6467                 {0x1d55a, 0x1d55b, 1},
6468                 {0x1d58e, 0x1d58f, 1},
6469                 {0x1d5c2, 0x1d5c3, 1},
6470                 {0x1d5f6, 0x1d5f7, 1},
6471                 {0x1d62a, 0x1d62b, 1},
6472                 {0x1d65e, 0x1d65f, 1},
6473                 {0x1d692, 0x1d693, 1},
6474         },
6475         LatinOffset: 1,
6476 }
6477
6478 var _Terminal_Punctuation = &RangeTable{
6479         R16: []Range16{
6480                 {0x0021, 0x002c, 11},
6481                 {0x002e, 0x003a, 12},
6482                 {0x003b, 0x003f, 4},
6483                 {0x037e, 0x0387, 9},
6484                 {0x0589, 0x05c3, 58},
6485                 {0x060c, 0x061b, 15},
6486                 {0x061e, 0x061f, 1},
6487                 {0x06d4, 0x0700, 44},
6488                 {0x0701, 0x070a, 1},
6489                 {0x070c, 0x07f8, 236},
6490                 {0x07f9, 0x0830, 55},
6491                 {0x0831, 0x083e, 1},
6492                 {0x085e, 0x0964, 262},
6493                 {0x0965, 0x0e5a, 1269},
6494                 {0x0e5b, 0x0f08, 173},
6495                 {0x0f0d, 0x0f12, 1},
6496                 {0x104a, 0x104b, 1},
6497                 {0x1361, 0x1368, 1},
6498                 {0x166d, 0x166e, 1},
6499                 {0x16eb, 0x16ed, 1},
6500                 {0x1735, 0x1736, 1},
6501                 {0x17d4, 0x17d6, 1},
6502                 {0x17da, 0x1802, 40},
6503                 {0x1803, 0x1805, 1},
6504                 {0x1808, 0x1809, 1},
6505                 {0x1944, 0x1945, 1},
6506                 {0x1aa8, 0x1aab, 1},
6507                 {0x1b5a, 0x1b5b, 1},
6508                 {0x1b5d, 0x1b5f, 1},
6509                 {0x1c3b, 0x1c3f, 1},
6510                 {0x1c7e, 0x1c7f, 1},
6511                 {0x203c, 0x203d, 1},
6512                 {0x2047, 0x2049, 1},
6513                 {0x2e2e, 0x2e3c, 14},
6514                 {0x2e41, 0x2e4c, 11},
6515                 {0x2e4e, 0x3001, 435},
6516                 {0x3002, 0xa4fe, 29948},
6517                 {0xa4ff, 0xa60d, 270},
6518                 {0xa60e, 0xa60f, 1},
6519                 {0xa6f3, 0xa6f7, 1},
6520                 {0xa876, 0xa877, 1},
6521                 {0xa8ce, 0xa8cf, 1},
6522                 {0xa92f, 0xa9c7, 152},
6523                 {0xa9c8, 0xa9c9, 1},
6524                 {0xaa5d, 0xaa5f, 1},
6525                 {0xaadf, 0xaaf0, 17},
6526                 {0xaaf1, 0xabeb, 250},
6527                 {0xfe50, 0xfe52, 1},
6528                 {0xfe54, 0xfe57, 1},
6529                 {0xff01, 0xff0c, 11},
6530                 {0xff0e, 0xff1a, 12},
6531                 {0xff1b, 0xff1f, 4},
6532                 {0xff61, 0xff64, 3},
6533         },
6534         R32: []Range32{
6535                 {0x1039f, 0x103d0, 49},
6536                 {0x10857, 0x1091f, 200},
6537                 {0x10a56, 0x10a57, 1},
6538                 {0x10af0, 0x10af5, 1},
6539                 {0x10b3a, 0x10b3f, 1},
6540                 {0x10b99, 0x10b9c, 1},
6541                 {0x10f55, 0x10f59, 1},
6542                 {0x11047, 0x1104d, 1},
6543                 {0x110be, 0x110c1, 1},
6544                 {0x11141, 0x11143, 1},
6545                 {0x111c5, 0x111c6, 1},
6546                 {0x111cd, 0x111de, 17},
6547                 {0x111df, 0x11238, 89},
6548                 {0x11239, 0x1123c, 1},
6549                 {0x112a9, 0x1144b, 418},
6550                 {0x1144c, 0x1144d, 1},
6551                 {0x1145b, 0x115c2, 359},
6552                 {0x115c3, 0x115c5, 1},
6553                 {0x115c9, 0x115d7, 1},
6554                 {0x11641, 0x11642, 1},
6555                 {0x1173c, 0x1173e, 1},
6556                 {0x11a42, 0x11a43, 1},
6557                 {0x11a9b, 0x11a9c, 1},
6558                 {0x11aa1, 0x11aa2, 1},
6559                 {0x11c41, 0x11c43, 1},
6560                 {0x11c71, 0x11ef7, 646},
6561                 {0x11ef8, 0x12470, 1400},
6562                 {0x12471, 0x12474, 1},
6563                 {0x16a6e, 0x16a6f, 1},
6564                 {0x16af5, 0x16b37, 66},
6565                 {0x16b38, 0x16b39, 1},
6566                 {0x16b44, 0x16e97, 851},
6567                 {0x16e98, 0x1bc9f, 19975},
6568                 {0x1da87, 0x1da8a, 1},
6569         },
6570         LatinOffset: 3,
6571 }
6572
6573 var _Unified_Ideograph = &RangeTable{
6574         R16: []Range16{
6575                 {0x3400, 0x4db5, 1},
6576                 {0x4e00, 0x9fef, 1},
6577                 {0xfa0e, 0xfa0f, 1},
6578                 {0xfa11, 0xfa13, 2},
6579                 {0xfa14, 0xfa1f, 11},
6580                 {0xfa21, 0xfa23, 2},
6581                 {0xfa24, 0xfa27, 3},
6582                 {0xfa28, 0xfa29, 1},
6583         },
6584         R32: []Range32{
6585                 {0x20000, 0x2a6d6, 1},
6586                 {0x2a700, 0x2b734, 1},
6587                 {0x2b740, 0x2b81d, 1},
6588                 {0x2b820, 0x2cea1, 1},
6589                 {0x2ceb0, 0x2ebe0, 1},
6590         },
6591 }
6592
6593 var _Variation_Selector = &RangeTable{
6594         R16: []Range16{
6595                 {0x180b, 0x180d, 1},
6596                 {0xfe00, 0xfe0f, 1},
6597         },
6598         R32: []Range32{
6599                 {0xe0100, 0xe01ef, 1},
6600         },
6601 }
6602
6603 var _White_Space = &RangeTable{
6604         R16: []Range16{
6605                 {0x0009, 0x000d, 1},
6606                 {0x0020, 0x0085, 101},
6607                 {0x00a0, 0x1680, 5600},
6608                 {0x2000, 0x200a, 1},
6609                 {0x2028, 0x2029, 1},
6610                 {0x202f, 0x205f, 48},
6611                 {0x3000, 0x3000, 1},
6612         },
6613         LatinOffset: 2,
6614 }
6615
6616 // These variables have type *RangeTable.
6617 var (
6618         ASCII_Hex_Digit                    = _ASCII_Hex_Digit                    // ASCII_Hex_Digit is the set of Unicode characters with property ASCII_Hex_Digit.
6619         Bidi_Control                       = _Bidi_Control                       // Bidi_Control is the set of Unicode characters with property Bidi_Control.
6620         Dash                               = _Dash                               // Dash is the set of Unicode characters with property Dash.
6621         Deprecated                         = _Deprecated                         // Deprecated is the set of Unicode characters with property Deprecated.
6622         Diacritic                          = _Diacritic                          // Diacritic is the set of Unicode characters with property Diacritic.
6623         Extender                           = _Extender                           // Extender is the set of Unicode characters with property Extender.
6624         Hex_Digit                          = _Hex_Digit                          // Hex_Digit is the set of Unicode characters with property Hex_Digit.
6625         Hyphen                             = _Hyphen                             // Hyphen is the set of Unicode characters with property Hyphen.
6626         IDS_Binary_Operator                = _IDS_Binary_Operator                // IDS_Binary_Operator is the set of Unicode characters with property IDS_Binary_Operator.
6627         IDS_Trinary_Operator               = _IDS_Trinary_Operator               // IDS_Trinary_Operator is the set of Unicode characters with property IDS_Trinary_Operator.
6628         Ideographic                        = _Ideographic                        // Ideographic is the set of Unicode characters with property Ideographic.
6629         Join_Control                       = _Join_Control                       // Join_Control is the set of Unicode characters with property Join_Control.
6630         Logical_Order_Exception            = _Logical_Order_Exception            // Logical_Order_Exception is the set of Unicode characters with property Logical_Order_Exception.
6631         Noncharacter_Code_Point            = _Noncharacter_Code_Point            // Noncharacter_Code_Point is the set of Unicode characters with property Noncharacter_Code_Point.
6632         Other_Alphabetic                   = _Other_Alphabetic                   // Other_Alphabetic is the set of Unicode characters with property Other_Alphabetic.
6633         Other_Default_Ignorable_Code_Point = _Other_Default_Ignorable_Code_Point // Other_Default_Ignorable_Code_Point is the set of Unicode characters with property Other_Default_Ignorable_Code_Point.
6634         Other_Grapheme_Extend              = _Other_Grapheme_Extend              // Other_Grapheme_Extend is the set of Unicode characters with property Other_Grapheme_Extend.
6635         Other_ID_Continue                  = _Other_ID_Continue                  // Other_ID_Continue is the set of Unicode characters with property Other_ID_Continue.
6636         Other_ID_Start                     = _Other_ID_Start                     // Other_ID_Start is the set of Unicode characters with property Other_ID_Start.
6637         Other_Lowercase                    = _Other_Lowercase                    // Other_Lowercase is the set of Unicode characters with property Other_Lowercase.
6638         Other_Math                         = _Other_Math                         // Other_Math is the set of Unicode characters with property Other_Math.
6639         Other_Uppercase                    = _Other_Uppercase                    // Other_Uppercase is the set of Unicode characters with property Other_Uppercase.
6640         Pattern_Syntax                     = _Pattern_Syntax                     // Pattern_Syntax is the set of Unicode characters with property Pattern_Syntax.
6641         Pattern_White_Space                = _Pattern_White_Space                // Pattern_White_Space is the set of Unicode characters with property Pattern_White_Space.
6642         Prepended_Concatenation_Mark       = _Prepended_Concatenation_Mark       // Prepended_Concatenation_Mark is the set of Unicode characters with property Prepended_Concatenation_Mark.
6643         Quotation_Mark                     = _Quotation_Mark                     // Quotation_Mark is the set of Unicode characters with property Quotation_Mark.
6644         Radical                            = _Radical                            // Radical is the set of Unicode characters with property Radical.
6645         Regional_Indicator                 = _Regional_Indicator                 // Regional_Indicator is the set of Unicode characters with property Regional_Indicator.
6646         STerm                              = _Sentence_Terminal                  // STerm is an alias for Sentence_Terminal.
6647         Sentence_Terminal                  = _Sentence_Terminal                  // Sentence_Terminal is the set of Unicode characters with property Sentence_Terminal.
6648         Soft_Dotted                        = _Soft_Dotted                        // Soft_Dotted is the set of Unicode characters with property Soft_Dotted.
6649         Terminal_Punctuation               = _Terminal_Punctuation               // Terminal_Punctuation is the set of Unicode characters with property Terminal_Punctuation.
6650         Unified_Ideograph                  = _Unified_Ideograph                  // Unified_Ideograph is the set of Unicode characters with property Unified_Ideograph.
6651         Variation_Selector                 = _Variation_Selector                 // Variation_Selector is the set of Unicode characters with property Variation_Selector.
6652         White_Space                        = _White_Space                        // White_Space is the set of Unicode characters with property White_Space.
6653 )
6654
6655 // CaseRanges is the table describing case mappings for all letters with
6656 // non-self mappings.
6657 var CaseRanges = _CaseRanges
6658 var _CaseRanges = []CaseRange{
6659         {0x0041, 0x005A, d{0, 32, 0}},
6660         {0x0061, 0x007A, d{-32, 0, -32}},
6661         {0x00B5, 0x00B5, d{743, 0, 743}},
6662         {0x00C0, 0x00D6, d{0, 32, 0}},
6663         {0x00D8, 0x00DE, d{0, 32, 0}},
6664         {0x00E0, 0x00F6, d{-32, 0, -32}},
6665         {0x00F8, 0x00FE, d{-32, 0, -32}},
6666         {0x00FF, 0x00FF, d{121, 0, 121}},
6667         {0x0100, 0x012F, d{UpperLower, UpperLower, UpperLower}},
6668         {0x0130, 0x0130, d{0, -199, 0}},
6669         {0x0131, 0x0131, d{-232, 0, -232}},
6670         {0x0132, 0x0137, d{UpperLower, UpperLower, UpperLower}},
6671         {0x0139, 0x0148, d{UpperLower, UpperLower, UpperLower}},
6672         {0x014A, 0x0177, d{UpperLower, UpperLower, UpperLower}},
6673         {0x0178, 0x0178, d{0, -121, 0}},
6674         {0x0179, 0x017E, d{UpperLower, UpperLower, UpperLower}},
6675         {0x017F, 0x017F, d{-300, 0, -300}},
6676         {0x0180, 0x0180, d{195, 0, 195}},
6677         {0x0181, 0x0181, d{0, 210, 0}},
6678         {0x0182, 0x0185, d{UpperLower, UpperLower, UpperLower}},
6679         {0x0186, 0x0186, d{0, 206, 0}},
6680         {0x0187, 0x0188, d{UpperLower, UpperLower, UpperLower}},
6681         {0x0189, 0x018A, d{0, 205, 0}},
6682         {0x018B, 0x018C, d{UpperLower, UpperLower, UpperLower}},
6683         {0x018E, 0x018E, d{0, 79, 0}},
6684         {0x018F, 0x018F, d{0, 202, 0}},
6685         {0x0190, 0x0190, d{0, 203, 0}},
6686         {0x0191, 0x0192, d{UpperLower, UpperLower, UpperLower}},
6687         {0x0193, 0x0193, d{0, 205, 0}},
6688         {0x0194, 0x0194, d{0, 207, 0}},
6689         {0x0195, 0x0195, d{97, 0, 97}},
6690         {0x0196, 0x0196, d{0, 211, 0}},
6691         {0x0197, 0x0197, d{0, 209, 0}},
6692         {0x0198, 0x0199, d{UpperLower, UpperLower, UpperLower}},
6693         {0x019A, 0x019A, d{163, 0, 163}},
6694         {0x019C, 0x019C, d{0, 211, 0}},
6695         {0x019D, 0x019D, d{0, 213, 0}},
6696         {0x019E, 0x019E, d{130, 0, 130}},
6697         {0x019F, 0x019F, d{0, 214, 0}},
6698         {0x01A0, 0x01A5, d{UpperLower, UpperLower, UpperLower}},
6699         {0x01A6, 0x01A6, d{0, 218, 0}},
6700         {0x01A7, 0x01A8, d{UpperLower, UpperLower, UpperLower}},
6701         {0x01A9, 0x01A9, d{0, 218, 0}},
6702         {0x01AC, 0x01AD, d{UpperLower, UpperLower, UpperLower}},
6703         {0x01AE, 0x01AE, d{0, 218, 0}},
6704         {0x01AF, 0x01B0, d{UpperLower, UpperLower, UpperLower}},
6705         {0x01B1, 0x01B2, d{0, 217, 0}},
6706         {0x01B3, 0x01B6, d{UpperLower, UpperLower, UpperLower}},
6707         {0x01B7, 0x01B7, d{0, 219, 0}},
6708         {0x01B8, 0x01B9, d{UpperLower, UpperLower, UpperLower}},
6709         {0x01BC, 0x01BD, d{UpperLower, UpperLower, UpperLower}},
6710         {0x01BF, 0x01BF, d{56, 0, 56}},
6711         {0x01C4, 0x01C4, d{0, 2, 1}},
6712         {0x01C5, 0x01C5, d{-1, 1, 0}},
6713         {0x01C6, 0x01C6, d{-2, 0, -1}},
6714         {0x01C7, 0x01C7, d{0, 2, 1}},
6715         {0x01C8, 0x01C8, d{-1, 1, 0}},
6716         {0x01C9, 0x01C9, d{-2, 0, -1}},
6717         {0x01CA, 0x01CA, d{0, 2, 1}},
6718         {0x01CB, 0x01CB, d{-1, 1, 0}},
6719         {0x01CC, 0x01CC, d{-2, 0, -1}},
6720         {0x01CD, 0x01DC, d{UpperLower, UpperLower, UpperLower}},
6721         {0x01DD, 0x01DD, d{-79, 0, -79}},
6722         {0x01DE, 0x01EF, d{UpperLower, UpperLower, UpperLower}},
6723         {0x01F1, 0x01F1, d{0, 2, 1}},
6724         {0x01F2, 0x01F2, d{-1, 1, 0}},
6725         {0x01F3, 0x01F3, d{-2, 0, -1}},
6726         {0x01F4, 0x01F5, d{UpperLower, UpperLower, UpperLower}},
6727         {0x01F6, 0x01F6, d{0, -97, 0}},
6728         {0x01F7, 0x01F7, d{0, -56, 0}},
6729         {0x01F8, 0x021F, d{UpperLower, UpperLower, UpperLower}},
6730         {0x0220, 0x0220, d{0, -130, 0}},
6731         {0x0222, 0x0233, d{UpperLower, UpperLower, UpperLower}},
6732         {0x023A, 0x023A, d{0, 10795, 0}},
6733         {0x023B, 0x023C, d{UpperLower, UpperLower, UpperLower}},
6734         {0x023D, 0x023D, d{0, -163, 0}},
6735         {0x023E, 0x023E, d{0, 10792, 0}},
6736         {0x023F, 0x0240, d{10815, 0, 10815}},
6737         {0x0241, 0x0242, d{UpperLower, UpperLower, UpperLower}},
6738         {0x0243, 0x0243, d{0, -195, 0}},
6739         {0x0244, 0x0244, d{0, 69, 0}},
6740         {0x0245, 0x0245, d{0, 71, 0}},
6741         {0x0246, 0x024F, d{UpperLower, UpperLower, UpperLower}},
6742         {0x0250, 0x0250, d{10783, 0, 10783}},
6743         {0x0251, 0x0251, d{10780, 0, 10780}},
6744         {0x0252, 0x0252, d{10782, 0, 10782}},
6745         {0x0253, 0x0253, d{-210, 0, -210}},
6746         {0x0254, 0x0254, d{-206, 0, -206}},
6747         {0x0256, 0x0257, d{-205, 0, -205}},
6748         {0x0259, 0x0259, d{-202, 0, -202}},
6749         {0x025B, 0x025B, d{-203, 0, -203}},
6750         {0x025C, 0x025C, d{42319, 0, 42319}},
6751         {0x0260, 0x0260, d{-205, 0, -205}},
6752         {0x0261, 0x0261, d{42315, 0, 42315}},
6753         {0x0263, 0x0263, d{-207, 0, -207}},
6754         {0x0265, 0x0265, d{42280, 0, 42280}},
6755         {0x0266, 0x0266, d{42308, 0, 42308}},
6756         {0x0268, 0x0268, d{-209, 0, -209}},
6757         {0x0269, 0x0269, d{-211, 0, -211}},
6758         {0x026A, 0x026A, d{42308, 0, 42308}},
6759         {0x026B, 0x026B, d{10743, 0, 10743}},
6760         {0x026C, 0x026C, d{42305, 0, 42305}},
6761         {0x026F, 0x026F, d{-211, 0, -211}},
6762         {0x0271, 0x0271, d{10749, 0, 10749}},
6763         {0x0272, 0x0272, d{-213, 0, -213}},
6764         {0x0275, 0x0275, d{-214, 0, -214}},
6765         {0x027D, 0x027D, d{10727, 0, 10727}},
6766         {0x0280, 0x0280, d{-218, 0, -218}},
6767         {0x0283, 0x0283, d{-218, 0, -218}},
6768         {0x0287, 0x0287, d{42282, 0, 42282}},
6769         {0x0288, 0x0288, d{-218, 0, -218}},
6770         {0x0289, 0x0289, d{-69, 0, -69}},
6771         {0x028A, 0x028B, d{-217, 0, -217}},
6772         {0x028C, 0x028C, d{-71, 0, -71}},
6773         {0x0292, 0x0292, d{-219, 0, -219}},
6774         {0x029D, 0x029D, d{42261, 0, 42261}},
6775         {0x029E, 0x029E, d{42258, 0, 42258}},
6776         {0x0345, 0x0345, d{84, 0, 84}},
6777         {0x0370, 0x0373, d{UpperLower, UpperLower, UpperLower}},
6778         {0x0376, 0x0377, d{UpperLower, UpperLower, UpperLower}},
6779         {0x037B, 0x037D, d{130, 0, 130}},
6780         {0x037F, 0x037F, d{0, 116, 0}},
6781         {0x0386, 0x0386, d{0, 38, 0}},
6782         {0x0388, 0x038A, d{0, 37, 0}},
6783         {0x038C, 0x038C, d{0, 64, 0}},
6784         {0x038E, 0x038F, d{0, 63, 0}},
6785         {0x0391, 0x03A1, d{0, 32, 0}},
6786         {0x03A3, 0x03AB, d{0, 32, 0}},
6787         {0x03AC, 0x03AC, d{-38, 0, -38}},
6788         {0x03AD, 0x03AF, d{-37, 0, -37}},
6789         {0x03B1, 0x03C1, d{-32, 0, -32}},
6790         {0x03C2, 0x03C2, d{-31, 0, -31}},
6791         {0x03C3, 0x03CB, d{-32, 0, -32}},
6792         {0x03CC, 0x03CC, d{-64, 0, -64}},
6793         {0x03CD, 0x03CE, d{-63, 0, -63}},
6794         {0x03CF, 0x03CF, d{0, 8, 0}},
6795         {0x03D0, 0x03D0, d{-62, 0, -62}},
6796         {0x03D1, 0x03D1, d{-57, 0, -57}},
6797         {0x03D5, 0x03D5, d{-47, 0, -47}},
6798         {0x03D6, 0x03D6, d{-54, 0, -54}},
6799         {0x03D7, 0x03D7, d{-8, 0, -8}},
6800         {0x03D8, 0x03EF, d{UpperLower, UpperLower, UpperLower}},
6801         {0x03F0, 0x03F0, d{-86, 0, -86}},
6802         {0x03F1, 0x03F1, d{-80, 0, -80}},
6803         {0x03F2, 0x03F2, d{7, 0, 7}},
6804         {0x03F3, 0x03F3, d{-116, 0, -116}},
6805         {0x03F4, 0x03F4, d{0, -60, 0}},
6806         {0x03F5, 0x03F5, d{-96, 0, -96}},
6807         {0x03F7, 0x03F8, d{UpperLower, UpperLower, UpperLower}},
6808         {0x03F9, 0x03F9, d{0, -7, 0}},
6809         {0x03FA, 0x03FB, d{UpperLower, UpperLower, UpperLower}},
6810         {0x03FD, 0x03FF, d{0, -130, 0}},
6811         {0x0400, 0x040F, d{0, 80, 0}},
6812         {0x0410, 0x042F, d{0, 32, 0}},
6813         {0x0430, 0x044F, d{-32, 0, -32}},
6814         {0x0450, 0x045F, d{-80, 0, -80}},
6815         {0x0460, 0x0481, d{UpperLower, UpperLower, UpperLower}},
6816         {0x048A, 0x04BF, d{UpperLower, UpperLower, UpperLower}},
6817         {0x04C0, 0x04C0, d{0, 15, 0}},
6818         {0x04C1, 0x04CE, d{UpperLower, UpperLower, UpperLower}},
6819         {0x04CF, 0x04CF, d{-15, 0, -15}},
6820         {0x04D0, 0x052F, d{UpperLower, UpperLower, UpperLower}},
6821         {0x0531, 0x0556, d{0, 48, 0}},
6822         {0x0561, 0x0586, d{-48, 0, -48}},
6823         {0x10A0, 0x10C5, d{0, 7264, 0}},
6824         {0x10C7, 0x10C7, d{0, 7264, 0}},
6825         {0x10CD, 0x10CD, d{0, 7264, 0}},
6826         {0x10D0, 0x10FA, d{3008, 0, 0}},
6827         {0x10FD, 0x10FF, d{3008, 0, 0}},
6828         {0x13A0, 0x13EF, d{0, 38864, 0}},
6829         {0x13F0, 0x13F5, d{0, 8, 0}},
6830         {0x13F8, 0x13FD, d{-8, 0, -8}},
6831         {0x1C80, 0x1C80, d{-6254, 0, -6254}},
6832         {0x1C81, 0x1C81, d{-6253, 0, -6253}},
6833         {0x1C82, 0x1C82, d{-6244, 0, -6244}},
6834         {0x1C83, 0x1C84, d{-6242, 0, -6242}},
6835         {0x1C85, 0x1C85, d{-6243, 0, -6243}},
6836         {0x1C86, 0x1C86, d{-6236, 0, -6236}},
6837         {0x1C87, 0x1C87, d{-6181, 0, -6181}},
6838         {0x1C88, 0x1C88, d{35266, 0, 35266}},
6839         {0x1C90, 0x1CBA, d{0, -3008, 0}},
6840         {0x1CBD, 0x1CBF, d{0, -3008, 0}},
6841         {0x1D79, 0x1D79, d{35332, 0, 35332}},
6842         {0x1D7D, 0x1D7D, d{3814, 0, 3814}},
6843         {0x1E00, 0x1E95, d{UpperLower, UpperLower, UpperLower}},
6844         {0x1E9B, 0x1E9B, d{-59, 0, -59}},
6845         {0x1E9E, 0x1E9E, d{0, -7615, 0}},
6846         {0x1EA0, 0x1EFF, d{UpperLower, UpperLower, UpperLower}},
6847         {0x1F00, 0x1F07, d{8, 0, 8}},
6848         {0x1F08, 0x1F0F, d{0, -8, 0}},
6849         {0x1F10, 0x1F15, d{8, 0, 8}},
6850         {0x1F18, 0x1F1D, d{0, -8, 0}},
6851         {0x1F20, 0x1F27, d{8, 0, 8}},
6852         {0x1F28, 0x1F2F, d{0, -8, 0}},
6853         {0x1F30, 0x1F37, d{8, 0, 8}},
6854         {0x1F38, 0x1F3F, d{0, -8, 0}},
6855         {0x1F40, 0x1F45, d{8, 0, 8}},
6856         {0x1F48, 0x1F4D, d{0, -8, 0}},
6857         {0x1F51, 0x1F51, d{8, 0, 8}},
6858         {0x1F53, 0x1F53, d{8, 0, 8}},
6859         {0x1F55, 0x1F55, d{8, 0, 8}},
6860         {0x1F57, 0x1F57, d{8, 0, 8}},
6861         {0x1F59, 0x1F59, d{0, -8, 0}},
6862         {0x1F5B, 0x1F5B, d{0, -8, 0}},
6863         {0x1F5D, 0x1F5D, d{0, -8, 0}},
6864         {0x1F5F, 0x1F5F, d{0, -8, 0}},
6865         {0x1F60, 0x1F67, d{8, 0, 8}},
6866         {0x1F68, 0x1F6F, d{0, -8, 0}},
6867         {0x1F70, 0x1F71, d{74, 0, 74}},
6868         {0x1F72, 0x1F75, d{86, 0, 86}},
6869         {0x1F76, 0x1F77, d{100, 0, 100}},
6870         {0x1F78, 0x1F79, d{128, 0, 128}},
6871         {0x1F7A, 0x1F7B, d{112, 0, 112}},
6872         {0x1F7C, 0x1F7D, d{126, 0, 126}},
6873         {0x1F80, 0x1F87, d{8, 0, 8}},
6874         {0x1F88, 0x1F8F, d{0, -8, 0}},
6875         {0x1F90, 0x1F97, d{8, 0, 8}},
6876         {0x1F98, 0x1F9F, d{0, -8, 0}},
6877         {0x1FA0, 0x1FA7, d{8, 0, 8}},
6878         {0x1FA8, 0x1FAF, d{0, -8, 0}},
6879         {0x1FB0, 0x1FB1, d{8, 0, 8}},
6880         {0x1FB3, 0x1FB3, d{9, 0, 9}},
6881         {0x1FB8, 0x1FB9, d{0, -8, 0}},
6882         {0x1FBA, 0x1FBB, d{0, -74, 0}},
6883         {0x1FBC, 0x1FBC, d{0, -9, 0}},
6884         {0x1FBE, 0x1FBE, d{-7205, 0, -7205}},
6885         {0x1FC3, 0x1FC3, d{9, 0, 9}},
6886         {0x1FC8, 0x1FCB, d{0, -86, 0}},
6887         {0x1FCC, 0x1FCC, d{0, -9, 0}},
6888         {0x1FD0, 0x1FD1, d{8, 0, 8}},
6889         {0x1FD8, 0x1FD9, d{0, -8, 0}},
6890         {0x1FDA, 0x1FDB, d{0, -100, 0}},
6891         {0x1FE0, 0x1FE1, d{8, 0, 8}},
6892         {0x1FE5, 0x1FE5, d{7, 0, 7}},
6893         {0x1FE8, 0x1FE9, d{0, -8, 0}},
6894         {0x1FEA, 0x1FEB, d{0, -112, 0}},
6895         {0x1FEC, 0x1FEC, d{0, -7, 0}},
6896         {0x1FF3, 0x1FF3, d{9, 0, 9}},
6897         {0x1FF8, 0x1FF9, d{0, -128, 0}},
6898         {0x1FFA, 0x1FFB, d{0, -126, 0}},
6899         {0x1FFC, 0x1FFC, d{0, -9, 0}},
6900         {0x2126, 0x2126, d{0, -7517, 0}},
6901         {0x212A, 0x212A, d{0, -8383, 0}},
6902         {0x212B, 0x212B, d{0, -8262, 0}},
6903         {0x2132, 0x2132, d{0, 28, 0}},
6904         {0x214E, 0x214E, d{-28, 0, -28}},
6905         {0x2160, 0x216F, d{0, 16, 0}},
6906         {0x2170, 0x217F, d{-16, 0, -16}},
6907         {0x2183, 0x2184, d{UpperLower, UpperLower, UpperLower}},
6908         {0x24B6, 0x24CF, d{0, 26, 0}},
6909         {0x24D0, 0x24E9, d{-26, 0, -26}},
6910         {0x2C00, 0x2C2E, d{0, 48, 0}},
6911         {0x2C30, 0x2C5E, d{-48, 0, -48}},
6912         {0x2C60, 0x2C61, d{UpperLower, UpperLower, UpperLower}},
6913         {0x2C62, 0x2C62, d{0, -10743, 0}},
6914         {0x2C63, 0x2C63, d{0, -3814, 0}},
6915         {0x2C64, 0x2C64, d{0, -10727, 0}},
6916         {0x2C65, 0x2C65, d{-10795, 0, -10795}},
6917         {0x2C66, 0x2C66, d{-10792, 0, -10792}},
6918         {0x2C67, 0x2C6C, d{UpperLower, UpperLower, UpperLower}},
6919         {0x2C6D, 0x2C6D, d{0, -10780, 0}},
6920         {0x2C6E, 0x2C6E, d{0, -10749, 0}},
6921         {0x2C6F, 0x2C6F, d{0, -10783, 0}},
6922         {0x2C70, 0x2C70, d{0, -10782, 0}},
6923         {0x2C72, 0x2C73, d{UpperLower, UpperLower, UpperLower}},
6924         {0x2C75, 0x2C76, d{UpperLower, UpperLower, UpperLower}},
6925         {0x2C7E, 0x2C7F, d{0, -10815, 0}},
6926         {0x2C80, 0x2CE3, d{UpperLower, UpperLower, UpperLower}},
6927         {0x2CEB, 0x2CEE, d{UpperLower, UpperLower, UpperLower}},
6928         {0x2CF2, 0x2CF3, d{UpperLower, UpperLower, UpperLower}},
6929         {0x2D00, 0x2D25, d{-7264, 0, -7264}},
6930         {0x2D27, 0x2D27, d{-7264, 0, -7264}},
6931         {0x2D2D, 0x2D2D, d{-7264, 0, -7264}},
6932         {0xA640, 0xA66D, d{UpperLower, UpperLower, UpperLower}},
6933         {0xA680, 0xA69B, d{UpperLower, UpperLower, UpperLower}},
6934         {0xA722, 0xA72F, d{UpperLower, UpperLower, UpperLower}},
6935         {0xA732, 0xA76F, d{UpperLower, UpperLower, UpperLower}},
6936         {0xA779, 0xA77C, d{UpperLower, UpperLower, UpperLower}},
6937         {0xA77D, 0xA77D, d{0, -35332, 0}},
6938         {0xA77E, 0xA787, d{UpperLower, UpperLower, UpperLower}},
6939         {0xA78B, 0xA78C, d{UpperLower, UpperLower, UpperLower}},
6940         {0xA78D, 0xA78D, d{0, -42280, 0}},
6941         {0xA790, 0xA793, d{UpperLower, UpperLower, UpperLower}},
6942         {0xA796, 0xA7A9, d{UpperLower, UpperLower, UpperLower}},
6943         {0xA7AA, 0xA7AA, d{0, -42308, 0}},
6944         {0xA7AB, 0xA7AB, d{0, -42319, 0}},
6945         {0xA7AC, 0xA7AC, d{0, -42315, 0}},
6946         {0xA7AD, 0xA7AD, d{0, -42305, 0}},
6947         {0xA7AE, 0xA7AE, d{0, -42308, 0}},
6948         {0xA7B0, 0xA7B0, d{0, -42258, 0}},
6949         {0xA7B1, 0xA7B1, d{0, -42282, 0}},
6950         {0xA7B2, 0xA7B2, d{0, -42261, 0}},
6951         {0xA7B3, 0xA7B3, d{0, 928, 0}},
6952         {0xA7B4, 0xA7B9, d{UpperLower, UpperLower, UpperLower}},
6953         {0xAB53, 0xAB53, d{-928, 0, -928}},
6954         {0xAB70, 0xABBF, d{-38864, 0, -38864}},
6955         {0xFF21, 0xFF3A, d{0, 32, 0}},
6956         {0xFF41, 0xFF5A, d{-32, 0, -32}},
6957         {0x10400, 0x10427, d{0, 40, 0}},
6958         {0x10428, 0x1044F, d{-40, 0, -40}},
6959         {0x104B0, 0x104D3, d{0, 40, 0}},
6960         {0x104D8, 0x104FB, d{-40, 0, -40}},
6961         {0x10C80, 0x10CB2, d{0, 64, 0}},
6962         {0x10CC0, 0x10CF2, d{-64, 0, -64}},
6963         {0x118A0, 0x118BF, d{0, 32, 0}},
6964         {0x118C0, 0x118DF, d{-32, 0, -32}},
6965         {0x16E40, 0x16E5F, d{0, 32, 0}},
6966         {0x16E60, 0x16E7F, d{-32, 0, -32}},
6967         {0x1E900, 0x1E921, d{0, 34, 0}},
6968         {0x1E922, 0x1E943, d{-34, 0, -34}},
6969 }
6970 var properties = [MaxLatin1 + 1]uint8{
6971         0x00: pC,       // '\x00'
6972         0x01: pC,       // '\x01'
6973         0x02: pC,       // '\x02'
6974         0x03: pC,       // '\x03'
6975         0x04: pC,       // '\x04'
6976         0x05: pC,       // '\x05'
6977         0x06: pC,       // '\x06'
6978         0x07: pC,       // '\a'
6979         0x08: pC,       // '\b'
6980         0x09: pC,       // '\t'
6981         0x0A: pC,       // '\n'
6982         0x0B: pC,       // '\v'
6983         0x0C: pC,       // '\f'
6984         0x0D: pC,       // '\r'
6985         0x0E: pC,       // '\x0e'
6986         0x0F: pC,       // '\x0f'
6987         0x10: pC,       // '\x10'
6988         0x11: pC,       // '\x11'
6989         0x12: pC,       // '\x12'
6990         0x13: pC,       // '\x13'
6991         0x14: pC,       // '\x14'
6992         0x15: pC,       // '\x15'
6993         0x16: pC,       // '\x16'
6994         0x17: pC,       // '\x17'
6995         0x18: pC,       // '\x18'
6996         0x19: pC,       // '\x19'
6997         0x1A: pC,       // '\x1a'
6998         0x1B: pC,       // '\x1b'
6999         0x1C: pC,       // '\x1c'
7000         0x1D: pC,       // '\x1d'
7001         0x1E: pC,       // '\x1e'
7002         0x1F: pC,       // '\x1f'
7003         0x20: pZ | pp,  // ' '
7004         0x21: pP | pp,  // '!'
7005         0x22: pP | pp,  // '"'
7006         0x23: pP | pp,  // '#'
7007         0x24: pS | pp,  // '$'
7008         0x25: pP | pp,  // '%'
7009         0x26: pP | pp,  // '&'
7010         0x27: pP | pp,  // '\''
7011         0x28: pP | pp,  // '('
7012         0x29: pP | pp,  // ')'
7013         0x2A: pP | pp,  // '*'
7014         0x2B: pS | pp,  // '+'
7015         0x2C: pP | pp,  // ','
7016         0x2D: pP | pp,  // '-'
7017         0x2E: pP | pp,  // '.'
7018         0x2F: pP | pp,  // '/'
7019         0x30: pN | pp,  // '0'
7020         0x31: pN | pp,  // '1'
7021         0x32: pN | pp,  // '2'
7022         0x33: pN | pp,  // '3'
7023         0x34: pN | pp,  // '4'
7024         0x35: pN | pp,  // '5'
7025         0x36: pN | pp,  // '6'
7026         0x37: pN | pp,  // '7'
7027         0x38: pN | pp,  // '8'
7028         0x39: pN | pp,  // '9'
7029         0x3A: pP | pp,  // ':'
7030         0x3B: pP | pp,  // ';'
7031         0x3C: pS | pp,  // '<'
7032         0x3D: pS | pp,  // '='
7033         0x3E: pS | pp,  // '>'
7034         0x3F: pP | pp,  // '?'
7035         0x40: pP | pp,  // '@'
7036         0x41: pLu | pp, // 'A'
7037         0x42: pLu | pp, // 'B'
7038         0x43: pLu | pp, // 'C'
7039         0x44: pLu | pp, // 'D'
7040         0x45: pLu | pp, // 'E'
7041         0x46: pLu | pp, // 'F'
7042         0x47: pLu | pp, // 'G'
7043         0x48: pLu | pp, // 'H'
7044         0x49: pLu | pp, // 'I'
7045         0x4A: pLu | pp, // 'J'
7046         0x4B: pLu | pp, // 'K'
7047         0x4C: pLu | pp, // 'L'
7048         0x4D: pLu | pp, // 'M'
7049         0x4E: pLu | pp, // 'N'
7050         0x4F: pLu | pp, // 'O'
7051         0x50: pLu | pp, // 'P'
7052         0x51: pLu | pp, // 'Q'
7053         0x52: pLu | pp, // 'R'
7054         0x53: pLu | pp, // 'S'
7055         0x54: pLu | pp, // 'T'
7056         0x55: pLu | pp, // 'U'
7057         0x56: pLu | pp, // 'V'
7058         0x57: pLu | pp, // 'W'
7059         0x58: pLu | pp, // 'X'
7060         0x59: pLu | pp, // 'Y'
7061         0x5A: pLu | pp, // 'Z'
7062         0x5B: pP | pp,  // '['
7063         0x5C: pP | pp,  // '\\'
7064         0x5D: pP | pp,  // ']'
7065         0x5E: pS | pp,  // '^'
7066         0x5F: pP | pp,  // '_'
7067         0x60: pS | pp,  // '`'
7068         0x61: pLl | pp, // 'a'
7069         0x62: pLl | pp, // 'b'
7070         0x63: pLl | pp, // 'c'
7071         0x64: pLl | pp, // 'd'
7072         0x65: pLl | pp, // 'e'
7073         0x66: pLl | pp, // 'f'
7074         0x67: pLl | pp, // 'g'
7075         0x68: pLl | pp, // 'h'
7076         0x69: pLl | pp, // 'i'
7077         0x6A: pLl | pp, // 'j'
7078         0x6B: pLl | pp, // 'k'
7079         0x6C: pLl | pp, // 'l'
7080         0x6D: pLl | pp, // 'm'
7081         0x6E: pLl | pp, // 'n'
7082         0x6F: pLl | pp, // 'o'
7083         0x70: pLl | pp, // 'p'
7084         0x71: pLl | pp, // 'q'
7085         0x72: pLl | pp, // 'r'
7086         0x73: pLl | pp, // 's'
7087         0x74: pLl | pp, // 't'
7088         0x75: pLl | pp, // 'u'
7089         0x76: pLl | pp, // 'v'
7090         0x77: pLl | pp, // 'w'
7091         0x78: pLl | pp, // 'x'
7092         0x79: pLl | pp, // 'y'
7093         0x7A: pLl | pp, // 'z'
7094         0x7B: pP | pp,  // '{'
7095         0x7C: pS | pp,  // '|'
7096         0x7D: pP | pp,  // '}'
7097         0x7E: pS | pp,  // '~'
7098         0x7F: pC,       // '\u007f'
7099         0x80: pC,       // '\u0080'
7100         0x81: pC,       // '\u0081'
7101         0x82: pC,       // '\u0082'
7102         0x83: pC,       // '\u0083'
7103         0x84: pC,       // '\u0084'
7104         0x85: pC,       // '\u0085'
7105         0x86: pC,       // '\u0086'
7106         0x87: pC,       // '\u0087'
7107         0x88: pC,       // '\u0088'
7108         0x89: pC,       // '\u0089'
7109         0x8A: pC,       // '\u008a'
7110         0x8B: pC,       // '\u008b'
7111         0x8C: pC,       // '\u008c'
7112         0x8D: pC,       // '\u008d'
7113         0x8E: pC,       // '\u008e'
7114         0x8F: pC,       // '\u008f'
7115         0x90: pC,       // '\u0090'
7116         0x91: pC,       // '\u0091'
7117         0x92: pC,       // '\u0092'
7118         0x93: pC,       // '\u0093'
7119         0x94: pC,       // '\u0094'
7120         0x95: pC,       // '\u0095'
7121         0x96: pC,       // '\u0096'
7122         0x97: pC,       // '\u0097'
7123         0x98: pC,       // '\u0098'
7124         0x99: pC,       // '\u0099'
7125         0x9A: pC,       // '\u009a'
7126         0x9B: pC,       // '\u009b'
7127         0x9C: pC,       // '\u009c'
7128         0x9D: pC,       // '\u009d'
7129         0x9E: pC,       // '\u009e'
7130         0x9F: pC,       // '\u009f'
7131         0xA0: pZ,       // '\u00a0'
7132         0xA1: pP | pp,  // '¡'
7133         0xA2: pS | pp,  // '¢'
7134         0xA3: pS | pp,  // '£'
7135         0xA4: pS | pp,  // '¤'
7136         0xA5: pS | pp,  // '¥'
7137         0xA6: pS | pp,  // '¦'
7138         0xA7: pP | pp,  // '§'
7139         0xA8: pS | pp,  // '¨'
7140         0xA9: pS | pp,  // '©'
7141         0xAA: pLo | pp, // 'ª'
7142         0xAB: pP | pp,  // '«'
7143         0xAC: pS | pp,  // '¬'
7144         0xAD: 0,        // '\u00ad'
7145         0xAE: pS | pp,  // '®'
7146         0xAF: pS | pp,  // '¯'
7147         0xB0: pS | pp,  // '°'
7148         0xB1: pS | pp,  // '±'
7149         0xB2: pN | pp,  // '²'
7150         0xB3: pN | pp,  // '³'
7151         0xB4: pS | pp,  // '´'
7152         0xB5: pLl | pp, // 'µ'
7153         0xB6: pP | pp,  // '¶'
7154         0xB7: pP | pp,  // '·'
7155         0xB8: pS | pp,  // '¸'
7156         0xB9: pN | pp,  // '¹'
7157         0xBA: pLo | pp, // 'º'
7158         0xBB: pP | pp,  // '»'
7159         0xBC: pN | pp,  // '¼'
7160         0xBD: pN | pp,  // '½'
7161         0xBE: pN | pp,  // '¾'
7162         0xBF: pP | pp,  // '¿'
7163         0xC0: pLu | pp, // 'À'
7164         0xC1: pLu | pp, // 'Á'
7165         0xC2: pLu | pp, // 'Â'
7166         0xC3: pLu | pp, // 'Ã'
7167         0xC4: pLu | pp, // 'Ä'
7168         0xC5: pLu | pp, // 'Å'
7169         0xC6: pLu | pp, // 'Æ'
7170         0xC7: pLu | pp, // 'Ç'
7171         0xC8: pLu | pp, // 'È'
7172         0xC9: pLu | pp, // 'É'
7173         0xCA: pLu | pp, // 'Ê'
7174         0xCB: pLu | pp, // 'Ë'
7175         0xCC: pLu | pp, // 'Ì'
7176         0xCD: pLu | pp, // 'Í'
7177         0xCE: pLu | pp, // 'Î'
7178         0xCF: pLu | pp, // 'Ï'
7179         0xD0: pLu | pp, // 'Ð'
7180         0xD1: pLu | pp, // 'Ñ'
7181         0xD2: pLu | pp, // 'Ò'
7182         0xD3: pLu | pp, // 'Ó'
7183         0xD4: pLu | pp, // 'Ô'
7184         0xD5: pLu | pp, // 'Õ'
7185         0xD6: pLu | pp, // 'Ö'
7186         0xD7: pS | pp,  // '×'
7187         0xD8: pLu | pp, // 'Ø'
7188         0xD9: pLu | pp, // 'Ù'
7189         0xDA: pLu | pp, // 'Ú'
7190         0xDB: pLu | pp, // 'Û'
7191         0xDC: pLu | pp, // 'Ü'
7192         0xDD: pLu | pp, // 'Ý'
7193         0xDE: pLu | pp, // 'Þ'
7194         0xDF: pLl | pp, // 'ß'
7195         0xE0: pLl | pp, // 'à'
7196         0xE1: pLl | pp, // 'á'
7197         0xE2: pLl | pp, // 'â'
7198         0xE3: pLl | pp, // 'ã'
7199         0xE4: pLl | pp, // 'ä'
7200         0xE5: pLl | pp, // 'å'
7201         0xE6: pLl | pp, // 'æ'
7202         0xE7: pLl | pp, // 'ç'
7203         0xE8: pLl | pp, // 'è'
7204         0xE9: pLl | pp, // 'é'
7205         0xEA: pLl | pp, // 'ê'
7206         0xEB: pLl | pp, // 'ë'
7207         0xEC: pLl | pp, // 'ì'
7208         0xED: pLl | pp, // 'í'
7209         0xEE: pLl | pp, // 'î'
7210         0xEF: pLl | pp, // 'ï'
7211         0xF0: pLl | pp, // 'ð'
7212         0xF1: pLl | pp, // 'ñ'
7213         0xF2: pLl | pp, // 'ò'
7214         0xF3: pLl | pp, // 'ó'
7215         0xF4: pLl | pp, // 'ô'
7216         0xF5: pLl | pp, // 'õ'
7217         0xF6: pLl | pp, // 'ö'
7218         0xF7: pS | pp,  // '÷'
7219         0xF8: pLl | pp, // 'ø'
7220         0xF9: pLl | pp, // 'ù'
7221         0xFA: pLl | pp, // 'ú'
7222         0xFB: pLl | pp, // 'û'
7223         0xFC: pLl | pp, // 'ü'
7224         0xFD: pLl | pp, // 'ý'
7225         0xFE: pLl | pp, // 'þ'
7226         0xFF: pLl | pp, // 'ÿ'
7227 }
7228
7229 var asciiFold = [MaxASCII + 1]uint16{
7230         0x0000,
7231         0x0001,
7232         0x0002,
7233         0x0003,
7234         0x0004,
7235         0x0005,
7236         0x0006,
7237         0x0007,
7238         0x0008,
7239         0x0009,
7240         0x000A,
7241         0x000B,
7242         0x000C,
7243         0x000D,
7244         0x000E,
7245         0x000F,
7246         0x0010,
7247         0x0011,
7248         0x0012,
7249         0x0013,
7250         0x0014,
7251         0x0015,
7252         0x0016,
7253         0x0017,
7254         0x0018,
7255         0x0019,
7256         0x001A,
7257         0x001B,
7258         0x001C,
7259         0x001D,
7260         0x001E,
7261         0x001F,
7262         0x0020,
7263         0x0021,
7264         0x0022,
7265         0x0023,
7266         0x0024,
7267         0x0025,
7268         0x0026,
7269         0x0027,
7270         0x0028,
7271         0x0029,
7272         0x002A,
7273         0x002B,
7274         0x002C,
7275         0x002D,
7276         0x002E,
7277         0x002F,
7278         0x0030,
7279         0x0031,
7280         0x0032,
7281         0x0033,
7282         0x0034,
7283         0x0035,
7284         0x0036,
7285         0x0037,
7286         0x0038,
7287         0x0039,
7288         0x003A,
7289         0x003B,
7290         0x003C,
7291         0x003D,
7292         0x003E,
7293         0x003F,
7294         0x0040,
7295         0x0061,
7296         0x0062,
7297         0x0063,
7298         0x0064,
7299         0x0065,
7300         0x0066,
7301         0x0067,
7302         0x0068,
7303         0x0069,
7304         0x006A,
7305         0x006B,
7306         0x006C,
7307         0x006D,
7308         0x006E,
7309         0x006F,
7310         0x0070,
7311         0x0071,
7312         0x0072,
7313         0x0073,
7314         0x0074,
7315         0x0075,
7316         0x0076,
7317         0x0077,
7318         0x0078,
7319         0x0079,
7320         0x007A,
7321         0x005B,
7322         0x005C,
7323         0x005D,
7324         0x005E,
7325         0x005F,
7326         0x0060,
7327         0x0041,
7328         0x0042,
7329         0x0043,
7330         0x0044,
7331         0x0045,
7332         0x0046,
7333         0x0047,
7334         0x0048,
7335         0x0049,
7336         0x004A,
7337         0x212A,
7338         0x004C,
7339         0x004D,
7340         0x004E,
7341         0x004F,
7342         0x0050,
7343         0x0051,
7344         0x0052,
7345         0x017F,
7346         0x0054,
7347         0x0055,
7348         0x0056,
7349         0x0057,
7350         0x0058,
7351         0x0059,
7352         0x005A,
7353         0x007B,
7354         0x007C,
7355         0x007D,
7356         0x007E,
7357         0x007F,
7358 }
7359
7360 var caseOrbit = []foldPair{
7361         {0x004B, 0x006B},
7362         {0x0053, 0x0073},
7363         {0x006B, 0x212A},
7364         {0x0073, 0x017F},
7365         {0x00B5, 0x039C},
7366         {0x00C5, 0x00E5},
7367         {0x00DF, 0x1E9E},
7368         {0x00E5, 0x212B},
7369         {0x0130, 0x0130},
7370         {0x0131, 0x0131},
7371         {0x017F, 0x0053},
7372         {0x01C4, 0x01C5},
7373         {0x01C5, 0x01C6},
7374         {0x01C6, 0x01C4},
7375         {0x01C7, 0x01C8},
7376         {0x01C8, 0x01C9},
7377         {0x01C9, 0x01C7},
7378         {0x01CA, 0x01CB},
7379         {0x01CB, 0x01CC},
7380         {0x01CC, 0x01CA},
7381         {0x01F1, 0x01F2},
7382         {0x01F2, 0x01F3},
7383         {0x01F3, 0x01F1},
7384         {0x0345, 0x0399},
7385         {0x0392, 0x03B2},
7386         {0x0395, 0x03B5},
7387         {0x0398, 0x03B8},
7388         {0x0399, 0x03B9},
7389         {0x039A, 0x03BA},
7390         {0x039C, 0x03BC},
7391         {0x03A0, 0x03C0},
7392         {0x03A1, 0x03C1},
7393         {0x03A3, 0x03C2},
7394         {0x03A6, 0x03C6},
7395         {0x03A9, 0x03C9},
7396         {0x03B2, 0x03D0},
7397         {0x03B5, 0x03F5},
7398         {0x03B8, 0x03D1},
7399         {0x03B9, 0x1FBE},
7400         {0x03BA, 0x03F0},
7401         {0x03BC, 0x00B5},
7402         {0x03C0, 0x03D6},
7403         {0x03C1, 0x03F1},
7404         {0x03C2, 0x03C3},
7405         {0x03C3, 0x03A3},
7406         {0x03C6, 0x03D5},
7407         {0x03C9, 0x2126},
7408         {0x03D0, 0x0392},
7409         {0x03D1, 0x03F4},
7410         {0x03D5, 0x03A6},
7411         {0x03D6, 0x03A0},
7412         {0x03F0, 0x039A},
7413         {0x03F1, 0x03A1},
7414         {0x03F4, 0x0398},
7415         {0x03F5, 0x0395},
7416         {0x0412, 0x0432},
7417         {0x0414, 0x0434},
7418         {0x041E, 0x043E},
7419         {0x0421, 0x0441},
7420         {0x0422, 0x0442},
7421         {0x042A, 0x044A},
7422         {0x0432, 0x1C80},
7423         {0x0434, 0x1C81},
7424         {0x043E, 0x1C82},
7425         {0x0441, 0x1C83},
7426         {0x0442, 0x1C84},
7427         {0x044A, 0x1C86},
7428         {0x0462, 0x0463},
7429         {0x0463, 0x1C87},
7430         {0x1C80, 0x0412},
7431         {0x1C81, 0x0414},
7432         {0x1C82, 0x041E},
7433         {0x1C83, 0x0421},
7434         {0x1C84, 0x1C85},
7435         {0x1C85, 0x0422},
7436         {0x1C86, 0x042A},
7437         {0x1C87, 0x0462},
7438         {0x1C88, 0xA64A},
7439         {0x1E60, 0x1E61},
7440         {0x1E61, 0x1E9B},
7441         {0x1E9B, 0x1E60},
7442         {0x1E9E, 0x00DF},
7443         {0x1FBE, 0x0345},
7444         {0x2126, 0x03A9},
7445         {0x212A, 0x004B},
7446         {0x212B, 0x00C5},
7447         {0xA64A, 0xA64B},
7448         {0xA64B, 0x1C88},
7449 }
7450
7451 // FoldCategory maps a category name to a table of
7452 // code points outside the category that are equivalent under
7453 // simple case folding to code points inside the category.
7454 // If there is no entry for a category name, there are no such points.
7455 var FoldCategory = map[string]*RangeTable{
7456         "L":  foldL,
7457         "Ll": foldLl,
7458         "Lt": foldLt,
7459         "Lu": foldLu,
7460         "M":  foldM,
7461         "Mn": foldMn,
7462 }
7463
7464 var foldL = &RangeTable{
7465         R16: []Range16{
7466                 {0x0345, 0x0345, 1},
7467         },
7468 }
7469
7470 var foldLl = &RangeTable{
7471         R16: []Range16{
7472                 {0x0041, 0x005a, 1},
7473                 {0x00c0, 0x00d6, 1},
7474                 {0x00d8, 0x00de, 1},
7475                 {0x0100, 0x012e, 2},
7476                 {0x0132, 0x0136, 2},
7477                 {0x0139, 0x0147, 2},
7478                 {0x014a, 0x0178, 2},
7479                 {0x0179, 0x017d, 2},
7480                 {0x0181, 0x0182, 1},
7481                 {0x0184, 0x0186, 2},
7482                 {0x0187, 0x0189, 2},
7483                 {0x018a, 0x018b, 1},
7484                 {0x018e, 0x0191, 1},
7485                 {0x0193, 0x0194, 1},
7486                 {0x0196, 0x0198, 1},
7487                 {0x019c, 0x019d, 1},
7488                 {0x019f, 0x01a0, 1},
7489                 {0x01a2, 0x01a6, 2},
7490                 {0x01a7, 0x01a9, 2},
7491                 {0x01ac, 0x01ae, 2},
7492                 {0x01af, 0x01b1, 2},
7493                 {0x01b2, 0x01b3, 1},
7494                 {0x01b5, 0x01b7, 2},
7495                 {0x01b8, 0x01bc, 4},
7496                 {0x01c4, 0x01c5, 1},
7497                 {0x01c7, 0x01c8, 1},
7498                 {0x01ca, 0x01cb, 1},
7499                 {0x01cd, 0x01db, 2},
7500                 {0x01de, 0x01ee, 2},
7501                 {0x01f1, 0x01f2, 1},
7502                 {0x01f4, 0x01f6, 2},
7503                 {0x01f7, 0x01f8, 1},
7504                 {0x01fa, 0x0232, 2},
7505                 {0x023a, 0x023b, 1},
7506                 {0x023d, 0x023e, 1},
7507                 {0x0241, 0x0243, 2},
7508                 {0x0244, 0x0246, 1},
7509                 {0x0248, 0x024e, 2},
7510                 {0x0345, 0x0370, 43},
7511                 {0x0372, 0x0376, 4},
7512                 {0x037f, 0x0386, 7},
7513                 {0x0388, 0x038a, 1},
7514                 {0x038c, 0x038e, 2},
7515                 {0x038f, 0x0391, 2},
7516                 {0x0392, 0x03a1, 1},
7517                 {0x03a3, 0x03ab, 1},
7518                 {0x03cf, 0x03d8, 9},
7519                 {0x03da, 0x03ee, 2},
7520                 {0x03f4, 0x03f7, 3},
7521                 {0x03f9, 0x03fa, 1},
7522                 {0x03fd, 0x042f, 1},
7523                 {0x0460, 0x0480, 2},
7524                 {0x048a, 0x04c0, 2},
7525                 {0x04c1, 0x04cd, 2},
7526                 {0x04d0, 0x052e, 2},
7527                 {0x0531, 0x0556, 1},
7528                 {0x10a0, 0x10c5, 1},
7529                 {0x10c7, 0x10cd, 6},
7530                 {0x13a0, 0x13f5, 1},
7531                 {0x1c90, 0x1cba, 1},
7532                 {0x1cbd, 0x1cbf, 1},
7533                 {0x1e00, 0x1e94, 2},
7534                 {0x1e9e, 0x1efe, 2},
7535                 {0x1f08, 0x1f0f, 1},
7536                 {0x1f18, 0x1f1d, 1},
7537                 {0x1f28, 0x1f2f, 1},
7538                 {0x1f38, 0x1f3f, 1},
7539                 {0x1f48, 0x1f4d, 1},
7540                 {0x1f59, 0x1f5f, 2},
7541                 {0x1f68, 0x1f6f, 1},
7542                 {0x1f88, 0x1f8f, 1},
7543                 {0x1f98, 0x1f9f, 1},
7544                 {0x1fa8, 0x1faf, 1},
7545                 {0x1fb8, 0x1fbc, 1},
7546                 {0x1fc8, 0x1fcc, 1},
7547                 {0x1fd8, 0x1fdb, 1},
7548                 {0x1fe8, 0x1fec, 1},
7549                 {0x1ff8, 0x1ffc, 1},
7550                 {0x2126, 0x212a, 4},
7551                 {0x212b, 0x2132, 7},
7552                 {0x2183, 0x2c00, 2685},
7553                 {0x2c01, 0x2c2e, 1},
7554                 {0x2c60, 0x2c62, 2},
7555                 {0x2c63, 0x2c64, 1},
7556                 {0x2c67, 0x2c6d, 2},
7557                 {0x2c6e, 0x2c70, 1},
7558                 {0x2c72, 0x2c75, 3},
7559                 {0x2c7e, 0x2c80, 1},
7560                 {0x2c82, 0x2ce2, 2},
7561                 {0x2ceb, 0x2ced, 2},
7562                 {0x2cf2, 0xa640, 31054},
7563                 {0xa642, 0xa66c, 2},
7564                 {0xa680, 0xa69a, 2},
7565                 {0xa722, 0xa72e, 2},
7566                 {0xa732, 0xa76e, 2},
7567                 {0xa779, 0xa77d, 2},
7568                 {0xa77e, 0xa786, 2},
7569                 {0xa78b, 0xa78d, 2},
7570                 {0xa790, 0xa792, 2},
7571                 {0xa796, 0xa7aa, 2},
7572                 {0xa7ab, 0xa7ae, 1},
7573                 {0xa7b0, 0xa7b4, 1},
7574                 {0xa7b6, 0xa7b8, 2},
7575                 {0xff21, 0xff3a, 1},
7576         },
7577         R32: []Range32{
7578                 {0x10400, 0x10427, 1},
7579                 {0x104b0, 0x104d3, 1},
7580                 {0x10c80, 0x10cb2, 1},
7581                 {0x118a0, 0x118bf, 1},
7582                 {0x16e40, 0x16e5f, 1},
7583                 {0x1e900, 0x1e921, 1},
7584         },
7585         LatinOffset: 3,
7586 }
7587
7588 var foldLt = &RangeTable{
7589         R16: []Range16{
7590                 {0x01c4, 0x01c6, 2},
7591                 {0x01c7, 0x01c9, 2},
7592                 {0x01ca, 0x01cc, 2},
7593                 {0x01f1, 0x01f3, 2},
7594                 {0x1f80, 0x1f87, 1},
7595                 {0x1f90, 0x1f97, 1},
7596                 {0x1fa0, 0x1fa7, 1},
7597                 {0x1fb3, 0x1fc3, 16},
7598                 {0x1ff3, 0x1ff3, 1},
7599         },
7600 }
7601
7602 var foldLu = &RangeTable{
7603         R16: []Range16{
7604                 {0x0061, 0x007a, 1},
7605                 {0x00b5, 0x00df, 42},
7606                 {0x00e0, 0x00f6, 1},
7607                 {0x00f8, 0x00ff, 1},
7608                 {0x0101, 0x012f, 2},
7609                 {0x0133, 0x0137, 2},
7610                 {0x013a, 0x0148, 2},
7611                 {0x014b, 0x0177, 2},
7612                 {0x017a, 0x017e, 2},
7613                 {0x017f, 0x0180, 1},
7614                 {0x0183, 0x0185, 2},
7615                 {0x0188, 0x018c, 4},
7616                 {0x0192, 0x0195, 3},
7617                 {0x0199, 0x019a, 1},
7618                 {0x019e, 0x01a1, 3},
7619                 {0x01a3, 0x01a5, 2},
7620                 {0x01a8, 0x01ad, 5},
7621                 {0x01b0, 0x01b4, 4},
7622                 {0x01b6, 0x01b9, 3},
7623                 {0x01bd, 0x01bf, 2},
7624                 {0x01c5, 0x01c6, 1},
7625                 {0x01c8, 0x01c9, 1},
7626                 {0x01cb, 0x01cc, 1},
7627                 {0x01ce, 0x01dc, 2},
7628                 {0x01dd, 0x01ef, 2},
7629                 {0x01f2, 0x01f3, 1},
7630                 {0x01f5, 0x01f9, 4},
7631                 {0x01fb, 0x021f, 2},
7632                 {0x0223, 0x0233, 2},
7633                 {0x023c, 0x023f, 3},
7634                 {0x0240, 0x0242, 2},
7635                 {0x0247, 0x024f, 2},
7636                 {0x0250, 0x0254, 1},
7637                 {0x0256, 0x0257, 1},
7638                 {0x0259, 0x025b, 2},
7639                 {0x025c, 0x0260, 4},
7640                 {0x0261, 0x0265, 2},
7641                 {0x0266, 0x0268, 2},
7642                 {0x0269, 0x026c, 1},
7643                 {0x026f, 0x0271, 2},
7644                 {0x0272, 0x0275, 3},
7645                 {0x027d, 0x0283, 3},
7646                 {0x0287, 0x028c, 1},
7647                 {0x0292, 0x029d, 11},
7648                 {0x029e, 0x0345, 167},
7649                 {0x0371, 0x0373, 2},
7650                 {0x0377, 0x037b, 4},
7651                 {0x037c, 0x037d, 1},
7652                 {0x03ac, 0x03af, 1},
7653                 {0x03b1, 0x03ce, 1},
7654                 {0x03d0, 0x03d1, 1},
7655                 {0x03d5, 0x03d7, 1},
7656                 {0x03d9, 0x03ef, 2},
7657                 {0x03f0, 0x03f3, 1},
7658                 {0x03f5, 0x03fb, 3},
7659                 {0x0430, 0x045f, 1},
7660                 {0x0461, 0x0481, 2},
7661                 {0x048b, 0x04bf, 2},
7662                 {0x04c2, 0x04ce, 2},
7663                 {0x04cf, 0x052f, 2},
7664                 {0x0561, 0x0586, 1},
7665                 {0x10d0, 0x10fa, 1},
7666                 {0x10fd, 0x10ff, 1},
7667                 {0x13f8, 0x13fd, 1},
7668                 {0x1c80, 0x1c88, 1},
7669                 {0x1d79, 0x1d7d, 4},
7670                 {0x1e01, 0x1e95, 2},
7671                 {0x1e9b, 0x1ea1, 6},
7672                 {0x1ea3, 0x1eff, 2},
7673                 {0x1f00, 0x1f07, 1},
7674                 {0x1f10, 0x1f15, 1},
7675                 {0x1f20, 0x1f27, 1},
7676                 {0x1f30, 0x1f37, 1},
7677                 {0x1f40, 0x1f45, 1},
7678                 {0x1f51, 0x1f57, 2},
7679                 {0x1f60, 0x1f67, 1},
7680                 {0x1f70, 0x1f7d, 1},
7681                 {0x1fb0, 0x1fb1, 1},
7682                 {0x1fbe, 0x1fd0, 18},
7683                 {0x1fd1, 0x1fe0, 15},
7684                 {0x1fe1, 0x1fe5, 4},
7685                 {0x214e, 0x2184, 54},
7686                 {0x2c30, 0x2c5e, 1},
7687                 {0x2c61, 0x2c65, 4},
7688                 {0x2c66, 0x2c6c, 2},
7689                 {0x2c73, 0x2c76, 3},
7690                 {0x2c81, 0x2ce3, 2},
7691                 {0x2cec, 0x2cee, 2},
7692                 {0x2cf3, 0x2d00, 13},
7693                 {0x2d01, 0x2d25, 1},
7694                 {0x2d27, 0x2d2d, 6},
7695                 {0xa641, 0xa66d, 2},
7696                 {0xa681, 0xa69b, 2},
7697                 {0xa723, 0xa72f, 2},
7698                 {0xa733, 0xa76f, 2},
7699                 {0xa77a, 0xa77c, 2},
7700                 {0xa77f, 0xa787, 2},
7701                 {0xa78c, 0xa791, 5},
7702                 {0xa793, 0xa797, 4},
7703                 {0xa799, 0xa7a9, 2},
7704                 {0xa7b5, 0xa7b9, 2},
7705                 {0xab53, 0xab70, 29},
7706                 {0xab71, 0xabbf, 1},
7707                 {0xff41, 0xff5a, 1},
7708         },
7709         R32: []Range32{
7710                 {0x10428, 0x1044f, 1},
7711                 {0x104d8, 0x104fb, 1},
7712                 {0x10cc0, 0x10cf2, 1},
7713                 {0x118c0, 0x118df, 1},
7714                 {0x16e60, 0x16e7f, 1},
7715                 {0x1e922, 0x1e943, 1},
7716         },
7717         LatinOffset: 4,
7718 }
7719
7720 var foldM = &RangeTable{
7721         R16: []Range16{
7722                 {0x0399, 0x03b9, 32},
7723                 {0x1fbe, 0x1fbe, 1},
7724         },
7725 }
7726
7727 var foldMn = &RangeTable{
7728         R16: []Range16{
7729                 {0x0399, 0x03b9, 32},
7730                 {0x1fbe, 0x1fbe, 1},
7731         },
7732 }
7733
7734 // FoldScript maps a script name to a table of
7735 // code points outside the script that are equivalent under
7736 // simple case folding to code points inside the script.
7737 // If there is no entry for a script name, there are no such points.
7738 var FoldScript = map[string]*RangeTable{
7739         "Common":    foldCommon,
7740         "Greek":     foldGreek,
7741         "Inherited": foldInherited,
7742 }
7743
7744 var foldCommon = &RangeTable{
7745         R16: []Range16{
7746                 {0x039c, 0x03bc, 32},
7747         },
7748 }
7749
7750 var foldGreek = &RangeTable{
7751         R16: []Range16{
7752                 {0x00b5, 0x0345, 656},
7753         },
7754 }
7755
7756 var foldInherited = &RangeTable{
7757         R16: []Range16{
7758                 {0x0399, 0x03b9, 32},
7759                 {0x1fbe, 0x1fbe, 1},
7760         },
7761 }
7762
7763 // Range entries: 3480 16-bit, 1632 32-bit, 5112 total.
7764 // Range bytes: 20880 16-bit, 19584 32-bit, 40464 total.
7765
7766 // Fold orbit bytes: 88 pairs, 352 bytes