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