blob: 8bb42062f9ed8f6007c43286f20de16563b988da [file] [log] [blame]
ChaiShushan64379b82013-12-17 06:52:32 -08001// 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
Rob Pike94e69152009-08-27 09:14:32 -07005// Generated by running
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006// 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
Rob Pike94e69152009-08-27 09:14:32 -07007// DO NOT EDIT
8
9package unicode
10
11// Version is the Unicode edition from which the tables are derived.
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +020012const Version = "8.0.0"
Rob Pike94e69152009-08-27 09:14:32 -070013
Rob Pike989e6112012-02-10 14:30:44 +110014// Categories is the set of Unicode category tables.
Rob Pike0de328e2011-05-31 09:58:07 +100015var Categories = map[string]*RangeTable{
Rob Pike8d64e732011-06-04 07:46:22 +100016 "C": C,
Rob Pike8d64e732011-06-04 07:46:22 +100017 "Cc": Cc,
Russ Coxb4d6b712011-10-19 16:02:22 -040018 "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,
Rob Pike8d64e732011-06-04 07:46:22 +100032 "Nd": Nd,
33 "Nl": Nl,
34 "No": No,
Russ Coxb4d6b712011-10-19 16:02:22 -040035 "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,
Rob Pike8d64e732011-06-04 07:46:22 +100044 "Sc": Sc,
Russ Coxb4d6b712011-10-19 16:02:22 -040045 "Sk": Sk,
46 "Sm": Sm,
47 "So": So,
48 "Z": Z,
49 "Zl": Zl,
50 "Zp": Zp,
51 "Zs": Zs,
Rob Pike94e69152009-08-27 09:14:32 -070052}
53
Rob Pike8d64e732011-06-04 07:46:22 +100054var _C = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +100055 R16: []Range16{
Marcel van Lohuizenc714bbb2015-08-19 20:28:18 +020056 {0x0000, 0x001f, 1},
Rob Pike8d64e732011-06-04 07:46:22 +100057 {0x007f, 0x009f, 1},
58 {0x00ad, 0x0600, 1363},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +020059 {0x0601, 0x0605, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +010060 {0x061c, 0x06dd, 193},
61 {0x070f, 0x180e, 4351},
Rob Pike8d64e732011-06-04 07:46:22 +100062 {0x200b, 0x200f, 1},
63 {0x202a, 0x202e, 1},
64 {0x2060, 0x2064, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +010065 {0x2066, 0x206f, 1},
Rob Pike8d64e732011-06-04 07:46:22 +100066 {0xd800, 0xf8ff, 1},
67 {0xfeff, 0xfff9, 250},
68 {0xfffa, 0xfffb, 1},
Rob Pike0de328e2011-05-31 09:58:07 +100069 },
70 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +020071 {0x110bd, 0x1bca0, 44003},
72 {0x1bca1, 0x1bca3, 1},
73 {0x1d173, 0x1d17a, 1},
Rob Pike8d64e732011-06-04 07:46:22 +100074 {0xe0001, 0xe0020, 31},
75 {0xe0021, 0xe007f, 1},
76 {0xf0000, 0xffffd, 1},
77 {0x100000, 0x10fffd, 1},
Rob Pike0de328e2011-05-31 09:58:07 +100078 },
Russ Cox4591cd62012-09-21 00:35:25 -040079 LatinOffset: 2,
Rob Pike94e69152009-08-27 09:14:32 -070080}
81
Russ Coxb4d6b712011-10-19 16:02:22 -040082var _Cc = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +100083 R16: []Range16{
Marcel van Lohuizenc714bbb2015-08-19 20:28:18 +020084 {0x0000, 0x001f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -040085 {0x007f, 0x009f, 1},
86 },
Russ Cox4591cd62012-09-21 00:35:25 -040087 LatinOffset: 2,
Russ Coxb4d6b712011-10-19 16:02:22 -040088}
89
90var _Cf = &RangeTable{
91 R16: []Range16{
92 {0x00ad, 0x0600, 1363},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +020093 {0x0601, 0x0605, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +010094 {0x061c, 0x06dd, 193},
95 {0x070f, 0x180e, 4351},
Russ Coxb4d6b712011-10-19 16:02:22 -040096 {0x200b, 0x200f, 1},
97 {0x202a, 0x202e, 1},
98 {0x2060, 0x2064, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +010099 {0x2066, 0x206f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400100 {0xfeff, 0xfff9, 250},
101 {0xfffa, 0xfffb, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000102 },
103 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200104 {0x110bd, 0x1bca0, 44003},
105 {0x1bca1, 0x1bca3, 1},
106 {0x1d173, 0x1d17a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400107 {0xe0001, 0xe0020, 31},
108 {0xe0021, 0xe007f, 1},
109 },
110}
111
112var _Co = &RangeTable{
113 R16: []Range16{
114 {0xe000, 0xf8ff, 1},
115 },
116 R32: []Range32{
117 {0xf0000, 0xffffd, 1},
118 {0x100000, 0x10fffd, 1},
119 },
120}
121
122var _Cs = &RangeTable{
123 R16: []Range16{
124 {0xd800, 0xdfff, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000125 },
Rob Pike94e69152009-08-27 09:14:32 -0700126}
127
Rob Pike8d64e732011-06-04 07:46:22 +1000128var _L = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +1000129 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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200143 {0x037f, 0x0386, 7},
144 {0x0388, 0x038a, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000145 {0x038c, 0x038e, 2},
146 {0x038f, 0x03a1, 1},
147 {0x03a3, 0x03f5, 1},
148 {0x03f7, 0x0481, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200149 {0x048a, 0x052f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000150 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200173 {0x08a0, 0x08b4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000174 {0x0904, 0x0939, 1},
175 {0x093d, 0x0950, 19},
176 {0x0958, 0x0961, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200177 {0x0971, 0x0980, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000178 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200206 {0x0af9, 0x0b05, 12},
207 {0x0b06, 0x0b0c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000208 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200230 {0x0c2a, 0x0c39, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000231 {0x0c3d, 0x0c58, 27},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200232 {0x0c59, 0x0c5a, 1},
233 {0x0c60, 0x0c61, 1},
234 {0x0c85, 0x0c8c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000235 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200245 {0x0d3d, 0x0d5f, 17},
Rob Pike0de328e2011-05-31 09:58:07 +1000246 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100270 {0x0edd, 0x0edf, 1},
271 {0x0f00, 0x0f40, 64},
272 {0x0f41, 0x0f47, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000273 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100285 {0x10c7, 0x10cd, 6},
Rob Pike0de328e2011-05-31 09:58:07 +1000286 {0x10d0, 0x10fa, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100287 {0x10fc, 0x1248, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000288 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200304 {0x13a0, 0x13f5, 1},
305 {0x13f8, 0x13fd, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000306 {0x1401, 0x166c, 1},
307 {0x166f, 0x167f, 1},
308 {0x1681, 0x169a, 1},
309 {0x16a0, 0x16ea, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200310 {0x16f1, 0x16f8, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000311 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200323 {0x1900, 0x191e, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000324 {0x1950, 0x196d, 1},
325 {0x1970, 0x1974, 1},
326 {0x1980, 0x19ab, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200327 {0x19b0, 0x19c9, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000328 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100335 {0x1bba, 0x1be5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000336 {0x1c00, 0x1c23, 1},
337 {0x1c4d, 0x1c4f, 1},
338 {0x1c5a, 0x1c7d, 1},
339 {0x1ce9, 0x1cec, 1},
340 {0x1cee, 0x1cf1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100341 {0x1cf5, 0x1cf6, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000342 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100377 {0x2cf2, 0x2cf3, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000378 {0x2d00, 0x2d25, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100379 {0x2d27, 0x2d2d, 6},
380 {0x2d30, 0x2d67, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000381 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200404 {0x4e00, 0x9fd5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000405 {0xa000, 0xa48c, 1},
406 {0xa4d0, 0xa4fd, 1},
407 {0xa500, 0xa60c, 1},
408 {0xa610, 0xa61f, 1},
409 {0xa62a, 0xa62b, 1},
410 {0xa640, 0xa66e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200411 {0xa67f, 0xa69d, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000412 {0xa6a0, 0xa6e5, 1},
413 {0xa717, 0xa71f, 1},
414 {0xa722, 0xa788, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200415 {0xa78b, 0xa7ad, 1},
416 {0xa7b0, 0xa7b7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200417 {0xa7f7, 0xa801, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000418 {0xa803, 0xa805, 1},
419 {0xa807, 0xa80a, 1},
420 {0xa80c, 0xa822, 1},
421 {0xa840, 0xa873, 1},
422 {0xa882, 0xa8b3, 1},
423 {0xa8f2, 0xa8f7, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200424 {0xa8fb, 0xa8fd, 2},
425 {0xa90a, 0xa925, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000426 {0xa930, 0xa946, 1},
427 {0xa960, 0xa97c, 1},
428 {0xa984, 0xa9b2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200429 {0xa9cf, 0xa9e0, 17},
430 {0xa9e1, 0xa9e4, 1},
431 {0xa9e6, 0xa9ef, 1},
432 {0xa9fa, 0xa9fe, 1},
433 {0xaa00, 0xaa28, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000434 {0xaa40, 0xaa42, 1},
435 {0xaa44, 0xaa4b, 1},
436 {0xaa60, 0xaa76, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200437 {0xaa7a, 0xaa7e, 4},
438 {0xaa7f, 0xaaaf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000439 {0xaab1, 0xaab5, 4},
440 {0xaab6, 0xaab9, 3},
441 {0xaaba, 0xaabd, 1},
442 {0xaac0, 0xaac2, 2},
443 {0xaadb, 0xaadd, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100444 {0xaae0, 0xaaea, 1},
445 {0xaaf2, 0xaaf4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000446 {0xab01, 0xab06, 1},
447 {0xab09, 0xab0e, 1},
448 {0xab11, 0xab16, 1},
449 {0xab20, 0xab26, 1},
450 {0xab28, 0xab2e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200451 {0xab30, 0xab5a, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200452 {0xab5c, 0xab65, 1},
453 {0xab70, 0xabe2, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000454 {0xac00, 0xd7a3, 1},
455 {0xd7b0, 0xd7c6, 1},
456 {0xd7cb, 0xd7fb, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100457 {0xf900, 0xfa6d, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000458 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200493 {0x10300, 0x1031f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000494 {0x10330, 0x10340, 1},
495 {0x10342, 0x10349, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200496 {0x10350, 0x10375, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000497 {0x10380, 0x1039d, 1},
498 {0x103a0, 0x103c3, 1},
499 {0x103c8, 0x103cf, 1},
500 {0x10400, 0x1049d, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200501 {0x10500, 0x10527, 1},
502 {0x10530, 0x10563, 1},
503 {0x10600, 0x10736, 1},
504 {0x10740, 0x10755, 1},
505 {0x10760, 0x10767, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000506 {0x10800, 0x10805, 1},
507 {0x10808, 0x1080a, 2},
508 {0x1080b, 0x10835, 1},
509 {0x10837, 0x10838, 1},
510 {0x1083c, 0x1083f, 3},
511 {0x10840, 0x10855, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200512 {0x10860, 0x10876, 1},
513 {0x10880, 0x1089e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200514 {0x108e0, 0x108f2, 1},
515 {0x108f4, 0x108f5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000516 {0x10900, 0x10915, 1},
517 {0x10920, 0x10939, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100518 {0x10980, 0x109b7, 1},
519 {0x109be, 0x109bf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000520 {0x10a00, 0x10a10, 16},
521 {0x10a11, 0x10a13, 1},
522 {0x10a15, 0x10a17, 1},
523 {0x10a19, 0x10a33, 1},
524 {0x10a60, 0x10a7c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200525 {0x10a80, 0x10a9c, 1},
526 {0x10ac0, 0x10ac7, 1},
527 {0x10ac9, 0x10ae4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000528 {0x10b00, 0x10b35, 1},
529 {0x10b40, 0x10b55, 1},
530 {0x10b60, 0x10b72, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200531 {0x10b80, 0x10b91, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000532 {0x10c00, 0x10c48, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200533 {0x10c80, 0x10cb2, 1},
534 {0x10cc0, 0x10cf2, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000535 {0x11003, 0x11037, 1},
536 {0x11083, 0x110af, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100537 {0x110d0, 0x110e8, 1},
538 {0x11103, 0x11126, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200539 {0x11150, 0x11172, 1},
540 {0x11176, 0x11183, 13},
541 {0x11184, 0x111b2, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100542 {0x111c1, 0x111c4, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200543 {0x111da, 0x111dc, 2},
544 {0x11200, 0x11211, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200545 {0x11213, 0x1122b, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200546 {0x11280, 0x11286, 1},
547 {0x11288, 0x1128a, 2},
548 {0x1128b, 0x1128d, 1},
549 {0x1128f, 0x1129d, 1},
550 {0x1129f, 0x112a8, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200551 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200558 {0x1133d, 0x11350, 19},
559 {0x1135d, 0x11361, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200560 {0x11480, 0x114af, 1},
561 {0x114c4, 0x114c5, 1},
562 {0x114c7, 0x11580, 185},
563 {0x11581, 0x115ae, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200564 {0x115d8, 0x115db, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200565 {0x11600, 0x1162f, 1},
566 {0x11644, 0x11680, 60},
567 {0x11681, 0x116aa, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200568 {0x11700, 0x11719, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200569 {0x118a0, 0x118df, 1},
570 {0x118ff, 0x11ac0, 449},
571 {0x11ac1, 0x11af8, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200572 {0x12000, 0x12399, 1},
573 {0x12480, 0x12543, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000574 {0x13000, 0x1342e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200575 {0x14400, 0x14646, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000576 {0x16800, 0x16a38, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200577 {0x16a40, 0x16a5e, 1},
578 {0x16ad0, 0x16aed, 1},
579 {0x16b00, 0x16b2f, 1},
580 {0x16b40, 0x16b43, 1},
581 {0x16b63, 0x16b77, 1},
582 {0x16b7d, 0x16b8f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100583 {0x16f00, 0x16f44, 1},
584 {0x16f50, 0x16f93, 67},
585 {0x16f94, 0x16f9f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000586 {0x1b000, 0x1b001, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200587 {0x1bc00, 0x1bc6a, 1},
588 {0x1bc70, 0x1bc7c, 1},
589 {0x1bc80, 0x1bc88, 1},
590 {0x1bc90, 0x1bc99, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000591 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200621 {0x1e800, 0x1e8c4, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100622 {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},
Rob Pike0de328e2011-05-31 09:58:07 +1000646 {0x20000, 0x2a6d6, 1},
647 {0x2a700, 0x2b734, 1},
648 {0x2b740, 0x2b81d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200649 {0x2b820, 0x2cea1, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000650 {0x2f800, 0x2fa1d, 1},
651 },
Russ Cox4591cd62012-09-21 00:35:25 -0400652 LatinOffset: 6,
Rob Pike94e69152009-08-27 09:14:32 -0700653}
Rob Pike25caf182009-08-27 18:38:02 -0700654
Russ Coxb4d6b712011-10-19 16:02:22 -0400655var _Ll = &RangeTable{
Rob Pike8d64e732011-06-04 07:46:22 +1000656 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -0400657 {0x0061, 0x007a, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100658 {0x00b5, 0x00df, 42},
Russ Coxb4d6b712011-10-19 16:02:22 -0400659 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200706 {0x04cf, 0x052f, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -0400707 {0x0561, 0x0587, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200708 {0x13f8, 0x13fd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400709 {0x1d00, 0x1d2b, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100710 {0x1d6b, 0x1d77, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400711 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100747 {0x2c77, 0x2c7b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400748 {0x2c81, 0x2ce3, 2},
749 {0x2ce4, 0x2cec, 8},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100750 {0x2cee, 0x2cf3, 5},
751 {0x2d00, 0x2d25, 1},
752 {0x2d27, 0x2d2d, 6},
Russ Coxb4d6b712011-10-19 16:02:22 -0400753 {0xa641, 0xa66d, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200754 {0xa681, 0xa69b, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -0400755 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100762 {0xa791, 0xa793, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200763 {0xa794, 0xa795, 1},
764 {0xa797, 0xa7a9, 2},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200765 {0xa7b5, 0xa7b7, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200766 {0xa7fa, 0xab30, 822},
767 {0xab31, 0xab5a, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200768 {0xab60, 0xab65, 1},
769 {0xab70, 0xabbf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200770 {0xfb00, 0xfb06, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400771 {0xfb13, 0xfb17, 1},
772 {0xff41, 0xff5a, 1},
Rob Pike8d64e732011-06-04 07:46:22 +1000773 },
774 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -0400775 {0x10428, 0x1044f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200776 {0x10cc0, 0x10cf2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200777 {0x118c0, 0x118df, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400778 {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},
Rob Pike8d64e732011-06-04 07:46:22 +1000806 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100807 LatinOffset: 4,
Rob Pike8d64e732011-06-04 07:46:22 +1000808}
809
Russ Coxb4d6b712011-10-19 16:02:22 -0400810var _Lm = &RangeTable{
Rob Pike8d64e732011-06-04 07:46:22 +1000811 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -0400812 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100827 {0x1d2c, 0x1d6a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400828 {0x1d78, 0x1d9b, 35},
829 {0x1d9c, 0x1dbf, 1},
830 {0x2071, 0x207f, 14},
831 {0x2090, 0x209c, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100832 {0x2c7c, 0x2c7d, 1},
833 {0x2d6f, 0x2e2f, 192},
834 {0x3005, 0x3031, 44},
835 {0x3032, 0x3035, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400836 {0x303b, 0x309d, 98},
837 {0x309e, 0x30fc, 94},
838 {0x30fd, 0x30fe, 1},
839 {0xa015, 0xa4f8, 1251},
840 {0xa4f9, 0xa4fd, 1},
841 {0xa60c, 0xa67f, 115},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200842 {0xa69c, 0xa69d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -0400843 {0xa717, 0xa71f, 1},
844 {0xa770, 0xa788, 24},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100845 {0xa7f8, 0xa7f9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200846 {0xa9cf, 0xa9e6, 23},
847 {0xaa70, 0xaadd, 109},
848 {0xaaf3, 0xaaf4, 1},
849 {0xab5c, 0xab5f, 1},
850 {0xff70, 0xff9e, 46},
851 {0xff9f, 0xff9f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000852 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100853 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200854 {0x16b40, 0x16b40, 1},
855 {0x16b41, 0x16b43, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100856 {0x16f93, 0x16f9f, 1},
857 },
Rob Pike94e69152009-08-27 09:14:32 -0700858}
859
Rob Pike0de328e2011-05-31 09:58:07 +1000860var _Lo = &RangeTable{
861 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100862 {0x00aa, 0x00ba, 16},
Rob Pike0de328e2011-05-31 09:58:07 +1000863 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200882 {0x08a0, 0x08b4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000883 {0x0904, 0x0939, 1},
884 {0x093d, 0x0950, 19},
885 {0x0958, 0x0961, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200886 {0x0972, 0x0980, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000887 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200915 {0x0af9, 0x0b05, 12},
916 {0x0b06, 0x0b0c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000917 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +0200939 {0x0c2a, 0x0c39, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000940 {0x0c3d, 0x0c58, 27},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200941 {0x0c59, 0x0c5a, 1},
942 {0x0c60, 0x0c61, 1},
943 {0x0c85, 0x0c8c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000944 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +0200954 {0x0d3d, 0x0d5f, 17},
Rob Pike0de328e2011-05-31 09:58:07 +1000955 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100978 {0x0edc, 0x0edf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000979 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +0100993 {0x10fd, 0x1248, 1},
Rob Pike0de328e2011-05-31 09:58:07 +1000994 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10001010 {0x1401, 0x166c, 1},
1011 {0x166f, 0x167f, 1},
1012 {0x1681, 0x169a, 1},
1013 {0x16a0, 0x16ea, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001014 {0x16f1, 0x16f8, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001015 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001028 {0x1900, 0x191e, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001029 {0x1950, 0x196d, 1},
1030 {0x1970, 0x1974, 1},
1031 {0x1980, 0x19ab, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001032 {0x19b0, 0x19c9, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001033 {0x1a00, 0x1a16, 1},
1034 {0x1a20, 0x1a54, 1},
1035 {0x1b05, 0x1b33, 1},
1036 {0x1b45, 0x1b4b, 1},
1037 {0x1b83, 0x1ba0, 1},
1038 {0x1bae, 0x1baf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001039 {0x1bba, 0x1be5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001040 {0x1c00, 0x1c23, 1},
1041 {0x1c4d, 0x1c4f, 1},
1042 {0x1c5a, 0x1c77, 1},
1043 {0x1ce9, 0x1cec, 1},
1044 {0x1cee, 0x1cf1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001045 {0x1cf5, 0x1cf6, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001046 {0x2135, 0x2138, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001047 {0x2d30, 0x2d67, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001048 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001067 {0x4e00, 0x9fd5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001068 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001076 {0xa78f, 0xa7f7, 104},
1077 {0xa7fb, 0xa801, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001078 {0xa803, 0xa805, 1},
1079 {0xa807, 0xa80a, 1},
1080 {0xa80c, 0xa822, 1},
1081 {0xa840, 0xa873, 1},
1082 {0xa882, 0xa8b3, 1},
1083 {0xa8f2, 0xa8f7, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001084 {0xa8fb, 0xa8fd, 2},
1085 {0xa90a, 0xa925, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001086 {0xa930, 0xa946, 1},
1087 {0xa960, 0xa97c, 1},
1088 {0xa984, 0xa9b2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001089 {0xa9e0, 0xa9e4, 1},
1090 {0xa9e7, 0xa9ef, 1},
1091 {0xa9fa, 0xa9fe, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001092 {0xaa00, 0xaa28, 1},
1093 {0xaa40, 0xaa42, 1},
1094 {0xaa44, 0xaa4b, 1},
1095 {0xaa60, 0xaa6f, 1},
1096 {0xaa71, 0xaa76, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001097 {0xaa7a, 0xaa7e, 4},
1098 {0xaa7f, 0xaaaf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001099 {0xaab1, 0xaab5, 4},
1100 {0xaab6, 0xaab9, 3},
1101 {0xaaba, 0xaabd, 1},
1102 {0xaac0, 0xaac2, 2},
1103 {0xaadb, 0xaadc, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001104 {0xaae0, 0xaaea, 1},
1105 {0xaaf2, 0xab01, 15},
1106 {0xab02, 0xab06, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001107 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001115 {0xf900, 0xfa6d, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001116 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001149 {0x10300, 0x1031f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001150 {0x10330, 0x10340, 1},
1151 {0x10342, 0x10349, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001152 {0x10350, 0x10375, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001153 {0x10380, 0x1039d, 1},
1154 {0x103a0, 0x103c3, 1},
1155 {0x103c8, 0x103cf, 1},
1156 {0x10450, 0x1049d, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001157 {0x10500, 0x10527, 1},
1158 {0x10530, 0x10563, 1},
1159 {0x10600, 0x10736, 1},
1160 {0x10740, 0x10755, 1},
1161 {0x10760, 0x10767, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001162 {0x10800, 0x10805, 1},
1163 {0x10808, 0x1080a, 2},
1164 {0x1080b, 0x10835, 1},
1165 {0x10837, 0x10838, 1},
1166 {0x1083c, 0x1083f, 3},
1167 {0x10840, 0x10855, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001168 {0x10860, 0x10876, 1},
1169 {0x10880, 0x1089e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001170 {0x108e0, 0x108f2, 1},
1171 {0x108f4, 0x108f5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001172 {0x10900, 0x10915, 1},
1173 {0x10920, 0x10939, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001174 {0x10980, 0x109b7, 1},
1175 {0x109be, 0x109bf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001176 {0x10a00, 0x10a10, 16},
1177 {0x10a11, 0x10a13, 1},
1178 {0x10a15, 0x10a17, 1},
1179 {0x10a19, 0x10a33, 1},
1180 {0x10a60, 0x10a7c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001181 {0x10a80, 0x10a9c, 1},
1182 {0x10ac0, 0x10ac7, 1},
1183 {0x10ac9, 0x10ae4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001184 {0x10b00, 0x10b35, 1},
1185 {0x10b40, 0x10b55, 1},
1186 {0x10b60, 0x10b72, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001187 {0x10b80, 0x10b91, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001188 {0x10c00, 0x10c48, 1},
1189 {0x11003, 0x11037, 1},
1190 {0x11083, 0x110af, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001191 {0x110d0, 0x110e8, 1},
1192 {0x11103, 0x11126, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001193 {0x11150, 0x11172, 1},
1194 {0x11176, 0x11183, 13},
1195 {0x11184, 0x111b2, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001196 {0x111c1, 0x111c4, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001197 {0x111da, 0x111dc, 2},
1198 {0x11200, 0x11211, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001199 {0x11213, 0x1122b, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001200 {0x11280, 0x11286, 1},
1201 {0x11288, 0x1128a, 2},
1202 {0x1128b, 0x1128d, 1},
1203 {0x1128f, 0x1129d, 1},
1204 {0x1129f, 0x112a8, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001205 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001212 {0x1133d, 0x11350, 19},
1213 {0x1135d, 0x11361, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001214 {0x11480, 0x114af, 1},
1215 {0x114c4, 0x114c5, 1},
1216 {0x114c7, 0x11580, 185},
1217 {0x11581, 0x115ae, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001218 {0x115d8, 0x115db, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001219 {0x11600, 0x1162f, 1},
1220 {0x11644, 0x11680, 60},
1221 {0x11681, 0x116aa, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001222 {0x11700, 0x11719, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001223 {0x118ff, 0x11ac0, 449},
1224 {0x11ac1, 0x11af8, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001225 {0x12000, 0x12399, 1},
1226 {0x12480, 0x12543, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001227 {0x13000, 0x1342e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001228 {0x14400, 0x14646, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001229 {0x16800, 0x16a38, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001230 {0x16a40, 0x16a5e, 1},
1231 {0x16ad0, 0x16aed, 1},
1232 {0x16b00, 0x16b2f, 1},
1233 {0x16b63, 0x16b77, 1},
1234 {0x16b7d, 0x16b8f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001235 {0x16f00, 0x16f44, 1},
1236 {0x16f50, 0x1b000, 16560},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001237 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001244 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10001267 {0x20000, 0x2a6d6, 1},
1268 {0x2a700, 0x2b734, 1},
1269 {0x2b740, 0x2b81d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001270 {0x2b820, 0x2cea1, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10001271 {0x2f800, 0x2fa1d, 1},
1272 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001273 LatinOffset: 1,
Rob Pike94e69152009-08-27 09:14:32 -07001274}
1275
Russ Coxb4d6b712011-10-19 16:02:22 -04001276var _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
1288var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001325 {0x0376, 0x037f, 9},
1326 {0x0386, 0x0388, 2},
1327 {0x0389, 0x038a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001328 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001341 {0x04d0, 0x052e, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -04001342 {0x0531, 0x0556, 1},
1343 {0x10a0, 0x10c5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001344 {0x10c7, 0x10cd, 6},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001345 {0x13a0, 0x13f5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001346 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001379 {0x2cf2, 0xa640, 31054},
1380 {0xa642, 0xa66c, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001381 {0xa680, 0xa69a, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -04001382 {0xa722, 0xa72e, 2},
1383 {0xa732, 0xa76e, 2},
1384 {0xa779, 0xa77d, 2},
1385 {0xa77e, 0xa786, 2},
1386 {0xa78b, 0xa78d, 2},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001387 {0xa790, 0xa792, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001388 {0xa796, 0xa7aa, 2},
1389 {0xa7ab, 0xa7ad, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001390 {0xa7b0, 0xa7b4, 1},
1391 {0xa7b6, 0xff21, 22379},
1392 {0xff22, 0xff3a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001393 },
1394 R32: []Range32{
1395 {0x10400, 0x10427, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001396 {0x10c80, 0x10cb2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001397 {0x118a0, 0x118bf, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001398 {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 },
Russ Cox4591cd62012-09-21 00:35:25 -04001429 LatinOffset: 3,
Russ Coxb4d6b712011-10-19 16:02:22 -04001430}
1431
1432var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001456 {0x08e3, 0x0903, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001457 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001492 {0x0bd7, 0x0c00, 41},
1493 {0x0c01, 0x0c03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001494 {0x0c3e, 0x0c44, 1},
1495 {0x0c46, 0x0c48, 1},
1496 {0x0c4a, 0x0c4d, 1},
1497 {0x0c55, 0x0c56, 1},
1498 {0x0c62, 0x0c63, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001499 {0x0c81, 0x0c83, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001500 {0x0cbc, 0x0cbe, 2},
1501 {0x0cbf, 0x0cc4, 1},
1502 {0x0cc6, 0x0cc8, 1},
1503 {0x0cca, 0x0ccd, 1},
1504 {0x0cd5, 0x0cd6, 1},
1505 {0x0ce2, 0x0ce3, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001506 {0x0d01, 0x0d03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001507 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001546 {0x17b4, 0x17d3, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001547 {0x17dd, 0x180b, 46},
1548 {0x180c, 0x180d, 1},
1549 {0x18a9, 0x1920, 119},
1550 {0x1921, 0x192b, 1},
1551 {0x1930, 0x193b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001552 {0x1a17, 0x1a1b, 1},
1553 {0x1a55, 0x1a5e, 1},
1554 {0x1a60, 0x1a7c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001555 {0x1a7f, 0x1ab0, 49},
1556 {0x1ab1, 0x1abe, 1},
1557 {0x1b00, 0x1b04, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001558 {0x1b34, 0x1b44, 1},
1559 {0x1b6b, 0x1b73, 1},
1560 {0x1b80, 0x1b82, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001561 {0x1ba1, 0x1bad, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001562 {0x1be6, 0x1bf3, 1},
1563 {0x1c24, 0x1c37, 1},
1564 {0x1cd0, 0x1cd2, 1},
1565 {0x1cd4, 0x1ce8, 1},
1566 {0x1ced, 0x1cf2, 5},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001567 {0x1cf3, 0x1cf4, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001568 {0x1cf8, 0x1cf9, 1},
1569 {0x1dc0, 0x1df5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001570 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001578 {0xa674, 0xa67d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001579 {0xa69e, 0xa69f, 1},
1580 {0xa6f0, 0xa6f1, 1},
1581 {0xa802, 0xa806, 4},
1582 {0xa80b, 0xa823, 24},
1583 {0xa824, 0xa827, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001584 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001591 {0xa9e5, 0xaa29, 68},
1592 {0xaa2a, 0xaa36, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001593 {0xaa43, 0xaa4c, 9},
1594 {0xaa4d, 0xaa7b, 46},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001595 {0xaa7c, 0xaa7d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001596 {0xaab0, 0xaab2, 2},
1597 {0xaab3, 0xaab4, 1},
1598 {0xaab7, 0xaab8, 1},
1599 {0xaabe, 0xaabf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001600 {0xaac1, 0xaaeb, 42},
1601 {0xaaec, 0xaaef, 1},
1602 {0xaaf5, 0xaaf6, 1},
1603 {0xabe3, 0xabea, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001604 {0xabec, 0xabed, 1},
1605 {0xfb1e, 0xfe00, 738},
1606 {0xfe01, 0xfe0f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001607 {0xfe20, 0xfe2f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001608 },
1609 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001610 {0x101fd, 0x102e0, 227},
1611 {0x10376, 0x1037a, 1},
1612 {0x10a01, 0x10a03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001613 {0x10a05, 0x10a06, 1},
1614 {0x10a0c, 0x10a0f, 1},
1615 {0x10a38, 0x10a3a, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001616 {0x10a3f, 0x10ae5, 166},
1617 {0x10ae6, 0x11000, 1306},
Russ Coxb4d6b712011-10-19 16:02:22 -04001618 {0x11001, 0x11002, 1},
1619 {0x11038, 0x11046, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001620 {0x1107f, 0x11082, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001621 {0x110b0, 0x110ba, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001622 {0x11100, 0x11102, 1},
1623 {0x11127, 0x11134, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001624 {0x11173, 0x11180, 13},
1625 {0x11181, 0x11182, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001626 {0x111b3, 0x111c0, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001627 {0x111ca, 0x111cc, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001628 {0x1122c, 0x11237, 1},
1629 {0x112df, 0x112ea, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001630 {0x11300, 0x11303, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001631 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001642 {0x115dc, 0x115dd, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001643 {0x11630, 0x11640, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001644 {0x116ab, 0x116b7, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001645 {0x1171d, 0x1172b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001646 {0x16af0, 0x16af4, 1},
1647 {0x16b30, 0x16b36, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001648 {0x16f51, 0x16f7e, 1},
1649 {0x16f8f, 0x16f92, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001650 {0x1bc9d, 0x1bc9e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001651 {0x1d165, 0x1d169, 1},
1652 {0x1d16d, 0x1d172, 1},
1653 {0x1d17b, 0x1d182, 1},
1654 {0x1d185, 0x1d18b, 1},
1655 {0x1d1aa, 0x1d1ad, 1},
1656 {0x1d242, 0x1d244, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001657 {0x1da00, 0x1da36, 1},
1658 {0x1da3b, 0x1da6c, 1},
1659 {0x1da75, 0x1da84, 15},
1660 {0x1da9b, 0x1da9f, 1},
1661 {0x1daa1, 0x1daaf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001662 {0x1e8d0, 0x1e8d6, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001663 {0xe0100, 0xe01ef, 1},
1664 },
1665}
1666
1667var _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},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01001728 {0x1a19, 0x1a1a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001729 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001739 {0x1baa, 0x1be7, 61},
Russ Coxb4d6b712011-10-19 16:02:22 -04001740 {0x1bea, 0x1bec, 1},
1741 {0x1bee, 0x1bf2, 4},
1742 {0x1bf3, 0x1c24, 49},
1743 {0x1c25, 0x1c2b, 1},
1744 {0x1c34, 0x1c35, 1},
1745 {0x1ce1, 0x1cf2, 17},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001746 {0x1cf3, 0x302e, 4923},
1747 {0x302f, 0xa823, 30708},
1748 {0xa824, 0xa827, 3},
1749 {0xa880, 0xa881, 1},
1750 {0xa8b4, 0xa8c3, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001751 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001759 {0xaa7d, 0xaaeb, 110},
1760 {0xaaee, 0xaaef, 1},
1761 {0xaaf5, 0xabe3, 238},
1762 {0xabe4, 0xabe6, 2},
1763 {0xabe7, 0xabe9, 2},
1764 {0xabea, 0xabec, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -04001765 },
1766 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001767 {0x11000, 0x11002, 2},
1768 {0x11082, 0x110b0, 46},
1769 {0x110b1, 0x110b2, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001770 {0x110b7, 0x110b8, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001771 {0x1112c, 0x11182, 86},
1772 {0x111b3, 0x111b5, 1},
1773 {0x111bf, 0x111c0, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001774 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001796 {0x116b6, 0x11720, 106},
1797 {0x11721, 0x11726, 5},
1798 {0x16f51, 0x16f7e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001799 {0x1d165, 0x1d166, 1},
1800 {0x1d16d, 0x1d172, 1},
1801 },
1802}
1803
1804var _Me = &RangeTable{
1805 R16: []Range16{
1806 {0x0488, 0x0489, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001807 {0x1abe, 0x20dd, 1567},
1808 {0x20de, 0x20e0, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001809 {0x20e2, 0x20e4, 1},
1810 {0xa670, 0xa672, 1},
1811 },
1812}
1813
1814var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001838 {0x08e3, 0x0902, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001839 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001865 {0x0bcd, 0x0c00, 51},
1866 {0x0c3e, 0x0c40, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001867 {0x0c46, 0x0c48, 1},
1868 {0x0c4a, 0x0c4d, 1},
1869 {0x0c55, 0x0c56, 1},
1870 {0x0c62, 0x0c63, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001871 {0x0c81, 0x0cbc, 59},
1872 {0x0cbf, 0x0cc6, 7},
1873 {0x0ccc, 0x0ccd, 1},
1874 {0x0ce2, 0x0ce3, 1},
1875 {0x0d01, 0x0d41, 64},
Russ Coxb4d6b712011-10-19 16:02:22 -04001876 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001910 {0x17b4, 0x17b5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001911 {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},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01001922 {0x1a1b, 0x1a56, 59},
1923 {0x1a58, 0x1a5e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001924 {0x1a60, 0x1a62, 2},
1925 {0x1a65, 0x1a6c, 1},
1926 {0x1a73, 0x1a7c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001927 {0x1a7f, 0x1ab0, 49},
1928 {0x1ab1, 0x1abd, 1},
1929 {0x1b00, 0x1b03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001930 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001937 {0x1bab, 0x1bad, 1},
1938 {0x1be6, 0x1be8, 2},
1939 {0x1be9, 0x1bed, 4},
1940 {0x1bef, 0x1bf1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001941 {0x1c2c, 0x1c33, 1},
1942 {0x1c36, 0x1c37, 1},
1943 {0x1cd0, 0x1cd2, 1},
1944 {0x1cd4, 0x1ce0, 1},
1945 {0x1ce2, 0x1ce8, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001946 {0x1ced, 0x1cf4, 7},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001947 {0x1cf8, 0x1cf9, 1},
1948 {0x1dc0, 0x1df5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001949 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001956 {0x302a, 0x302d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001957 {0x3099, 0x309a, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001958 {0xa66f, 0xa674, 5},
1959 {0xa675, 0xa67d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001960 {0xa69e, 0xa69f, 1},
1961 {0xa6f0, 0xa6f1, 1},
1962 {0xa802, 0xa806, 4},
1963 {0xa80b, 0xa825, 26},
1964 {0xa826, 0xa8c4, 158},
1965 {0xa8e0, 0xa8f1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001966 {0xa926, 0xa92d, 1},
1967 {0xa947, 0xa951, 1},
1968 {0xa980, 0xa982, 1},
1969 {0xa9b3, 0xa9b6, 3},
1970 {0xa9b7, 0xa9b9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001971 {0xa9bc, 0xa9e5, 41},
1972 {0xaa29, 0xaa2e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001973 {0xaa31, 0xaa32, 1},
1974 {0xaa35, 0xaa36, 1},
1975 {0xaa43, 0xaa4c, 9},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001976 {0xaa7c, 0xaab0, 52},
1977 {0xaab2, 0xaab4, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001978 {0xaab7, 0xaab8, 1},
1979 {0xaabe, 0xaabf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01001980 {0xaac1, 0xaaec, 43},
1981 {0xaaed, 0xaaf6, 9},
1982 {0xabe5, 0xabe8, 3},
1983 {0xabed, 0xfb1e, 20273},
1984 {0xfe00, 0xfe0f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02001985 {0xfe20, 0xfe2f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001986 },
1987 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001988 {0x101fd, 0x102e0, 227},
1989 {0x10376, 0x1037a, 1},
1990 {0x10a01, 0x10a03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001991 {0x10a05, 0x10a06, 1},
1992 {0x10a0c, 0x10a0f, 1},
1993 {0x10a38, 0x10a3a, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001994 {0x10a3f, 0x10ae5, 166},
1995 {0x10ae6, 0x11001, 1307},
Russ Coxb4d6b712011-10-19 16:02:22 -04001996 {0x11038, 0x11046, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02001997 {0x1107f, 0x11081, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04001998 {0x110b3, 0x110b6, 1},
1999 {0x110b9, 0x110ba, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002000 {0x11100, 0x11102, 1},
2001 {0x11127, 0x1112b, 1},
2002 {0x1112d, 0x11134, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002003 {0x11173, 0x11180, 13},
2004 {0x11181, 0x111b6, 53},
2005 {0x111b7, 0x111be, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002006 {0x111ca, 0x111cc, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002007 {0x1122f, 0x11231, 1},
2008 {0x11234, 0x11236, 2},
2009 {0x11237, 0x112df, 168},
2010 {0x112e3, 0x112ea, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002011 {0x11300, 0x11301, 1},
2012 {0x1133c, 0x11340, 4},
2013 {0x11366, 0x1136c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002014 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002022 {0x115dc, 0x115dd, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002023 {0x11633, 0x1163a, 1},
2024 {0x1163d, 0x1163f, 2},
2025 {0x11640, 0x116ab, 107},
2026 {0x116ad, 0x116b0, 3},
2027 {0x116b1, 0x116b5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002028 {0x116b7, 0x1171d, 102},
2029 {0x1171e, 0x1171f, 1},
2030 {0x11722, 0x11725, 1},
2031 {0x11727, 0x1172b, 1},
2032 {0x16af0, 0x16af4, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002033 {0x16b30, 0x16b36, 1},
2034 {0x16f8f, 0x16f92, 1},
2035 {0x1bc9d, 0x1bc9e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002036 {0x1d167, 0x1d169, 1},
2037 {0x1d17b, 0x1d182, 1},
2038 {0x1d185, 0x1d18b, 1},
2039 {0x1d1aa, 0x1d1ad, 1},
2040 {0x1d242, 0x1d244, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002041 {0x1da00, 0x1da36, 1},
2042 {0x1da3b, 0x1da6c, 1},
2043 {0x1da75, 0x1da84, 15},
2044 {0x1da9b, 0x1da9f, 1},
2045 {0x1daa1, 0x1daaf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002046 {0x1e8d0, 0x1e8d6, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002047 {0xe0100, 0xe01ef, 1},
2048 },
2049}
2050
2051var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002072 {0x0de6, 0x0def, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002073 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002104 {0x3248, 0x324f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002105 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002114 {0xa9f0, 0xa9f9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002115 {0xaa50, 0xaa59, 1},
2116 {0xabf0, 0xabf9, 1},
2117 {0xff10, 0xff19, 1},
2118 },
2119 R32: []Range32{
2120 {0x10107, 0x10133, 1},
2121 {0x10140, 0x10178, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002122 {0x1018a, 0x1018b, 1},
2123 {0x102e1, 0x102fb, 1},
2124 {0x10320, 0x10323, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002125 {0x10341, 0x1034a, 9},
2126 {0x103d1, 0x103d5, 1},
2127 {0x104a0, 0x104a9, 1},
2128 {0x10858, 0x1085f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002129 {0x10879, 0x1087f, 1},
2130 {0x108a7, 0x108af, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002131 {0x108fb, 0x108ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002132 {0x10916, 0x1091b, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002133 {0x109bc, 0x109bd, 1},
2134 {0x109c0, 0x109cf, 1},
2135 {0x109d2, 0x109ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002136 {0x10a40, 0x10a47, 1},
2137 {0x10a7d, 0x10a7e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002138 {0x10a9d, 0x10a9f, 1},
2139 {0x10aeb, 0x10aef, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002140 {0x10b58, 0x10b5f, 1},
2141 {0x10b78, 0x10b7f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002142 {0x10ba9, 0x10baf, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002143 {0x10cfa, 0x10cff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002144 {0x10e60, 0x10e7e, 1},
2145 {0x11052, 0x1106f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002146 {0x110f0, 0x110f9, 1},
2147 {0x11136, 0x1113f, 1},
2148 {0x111d0, 0x111d9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002149 {0x111e1, 0x111f4, 1},
2150 {0x112f0, 0x112f9, 1},
2151 {0x114d0, 0x114d9, 1},
2152 {0x11650, 0x11659, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002153 {0x116c0, 0x116c9, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002154 {0x11730, 0x1173b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002155 {0x118e0, 0x118f2, 1},
2156 {0x12400, 0x1246e, 1},
2157 {0x16a60, 0x16a69, 1},
2158 {0x16b50, 0x16b59, 1},
2159 {0x16b5b, 0x16b61, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002160 {0x1d360, 0x1d371, 1},
2161 {0x1d7ce, 0x1d7ff, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002162 {0x1e8c7, 0x1e8cf, 1},
2163 {0x1f100, 0x1f10c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002164 },
Russ Cox4591cd62012-09-21 00:35:25 -04002165 LatinOffset: 4,
Russ Coxb4d6b712011-10-19 16:02:22 -04002166}
2167
2168var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002183 {0x0de6, 0x0def, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002184 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002203 {0xa9f0, 0xa9f9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002204 {0xaa50, 0xaa59, 1},
2205 {0xabf0, 0xabf9, 1},
2206 {0xff10, 0xff19, 1},
2207 },
2208 R32: []Range32{
2209 {0x104a0, 0x104a9, 1},
2210 {0x11066, 0x1106f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002211 {0x110f0, 0x110f9, 1},
2212 {0x11136, 0x1113f, 1},
2213 {0x111d0, 0x111d9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002214 {0x112f0, 0x112f9, 1},
2215 {0x114d0, 0x114d9, 1},
2216 {0x11650, 0x11659, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002217 {0x116c0, 0x116c9, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002218 {0x11730, 0x11739, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002219 {0x118e0, 0x118e9, 1},
2220 {0x16a60, 0x16a69, 1},
2221 {0x16b50, 0x16b59, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002222 {0x1d7ce, 0x1d7ff, 1},
2223 },
Russ Cox4591cd62012-09-21 00:35:25 -04002224 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04002225}
2226
2227var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002241 {0x12400, 0x1246e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002242 },
2243}
2244
2245var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002269 {0x3248, 0x324f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002270 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002278 {0x1018a, 0x1018b, 1},
2279 {0x102e1, 0x102fb, 1},
2280 {0x10320, 0x10323, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002281 {0x10858, 0x1085f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002282 {0x10879, 0x1087f, 1},
2283 {0x108a7, 0x108af, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002284 {0x108fb, 0x108ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002285 {0x10916, 0x1091b, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002286 {0x109bc, 0x109bd, 1},
2287 {0x109c0, 0x109cf, 1},
2288 {0x109d2, 0x109ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002289 {0x10a40, 0x10a47, 1},
2290 {0x10a7d, 0x10a7e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002291 {0x10a9d, 0x10a9f, 1},
2292 {0x10aeb, 0x10aef, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002293 {0x10b58, 0x10b5f, 1},
2294 {0x10b78, 0x10b7f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002295 {0x10ba9, 0x10baf, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002296 {0x10cfa, 0x10cff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002297 {0x10e60, 0x10e7e, 1},
2298 {0x11052, 0x11065, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002299 {0x111e1, 0x111f4, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002300 {0x1173a, 0x1173b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002301 {0x118ea, 0x118f2, 1},
2302 {0x16b5b, 0x16b61, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002303 {0x1d360, 0x1d371, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002304 {0x1e8c7, 0x1e8cf, 1},
2305 {0x1f100, 0x1f10c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002306 },
Russ Cox4591cd62012-09-21 00:35:25 -04002307 LatinOffset: 3,
Russ Coxb4d6b712011-10-19 16:02:22 -04002308}
2309
2310var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002320 {0x00a7, 0x00ab, 4},
2321 {0x00b6, 0x00b7, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002322 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002340 {0x0af0, 0x0df4, 772},
2341 {0x0e4f, 0x0e5a, 11},
2342 {0x0e5b, 0x0f04, 169},
2343 {0x0f05, 0x0f12, 1},
2344 {0x0f14, 0x0f3a, 38},
2345 {0x0f3b, 0x0f3d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002346 {0x0f85, 0x0fd0, 75},
2347 {0x0fd1, 0x0fd4, 1},
2348 {0x0fd9, 0x0fda, 1},
2349 {0x104a, 0x104f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002350 {0x10fb, 0x1360, 613},
2351 {0x1361, 0x1368, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002352 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002368 {0x1cc0, 0x1cc7, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002369 {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},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01002376 {0x2308, 0x230b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002377 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002388 {0x2e30, 0x2e42, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002389 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002401 {0xa8fc, 0xa92e, 50},
2402 {0xa92f, 0xa95f, 48},
2403 {0xa9c1, 0xa9cd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002404 {0xa9de, 0xa9df, 1},
2405 {0xaa5c, 0xaa5f, 1},
2406 {0xaade, 0xaadf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002407 {0xaaf0, 0xaaf1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002408 {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{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002426 {0x10100, 0x10102, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002427 {0x1039f, 0x103d0, 49},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002428 {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},
Russ Coxb4d6b712011-10-19 16:02:22 -04002435 {0x11047, 0x1104d, 1},
2436 {0x110bb, 0x110bc, 1},
2437 {0x110be, 0x110c1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002438 {0x11140, 0x11143, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002439 {0x11174, 0x11175, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002440 {0x111c5, 0x111c9, 1},
2441 {0x111cd, 0x111db, 14},
2442 {0x111dd, 0x111df, 1},
2443 {0x11238, 0x1123d, 1},
2444 {0x112a9, 0x114c6, 541},
2445 {0x115c1, 0x115d7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002446 {0x11641, 0x11643, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002447 {0x1173c, 0x1173e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002448 {0x12470, 0x12474, 1},
2449 {0x16a6e, 0x16a6f, 1},
2450 {0x16af5, 0x16b37, 66},
2451 {0x16b38, 0x16b3b, 1},
2452 {0x16b44, 0x1bc9f, 20827},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002453 {0x1da87, 0x1da8b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002454 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002455 LatinOffset: 11,
Russ Coxb4d6b712011-10-19 16:02:22 -04002456}
2457
2458var _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
2468var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002475 {0x2e3a, 0x2e3b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002476 {0x2e40, 0x301c, 476},
2477 {0x3030, 0x30a0, 112},
2478 {0xfe31, 0xfe32, 1},
2479 {0xfe58, 0xfe63, 11},
2480 {0xff0d, 0xff0d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002481 },
2482}
2483
2484var _Pe = &RangeTable{
2485 R16: []Range16{
2486 {0x0029, 0x005d, 52},
2487 {0x007d, 0x0f3b, 3774},
2488 {0x0f3d, 0x169c, 1887},
2489 {0x2046, 0x207e, 56},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01002490 {0x208e, 0x2309, 635},
2491 {0x230b, 0x232a, 31},
Russ Coxb4d6b712011-10-19 16:02:22 -04002492 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002502 {0xfd3e, 0xfe18, 218},
Russ Coxb4d6b712011-10-19 16:02:22 -04002503 {0xfe36, 0xfe44, 2},
2504 {0xfe48, 0xfe5a, 18},
2505 {0xfe5c, 0xfe5e, 2},
2506 {0xff09, 0xff3d, 52},
2507 {0xff5d, 0xff63, 3},
2508 },
Russ Cox4591cd62012-09-21 00:35:25 -04002509 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04002510}
2511
2512var _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
2522var _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
2533var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002541 {0x00a1, 0x00a7, 6},
2542 {0x00b6, 0x00b7, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002543 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002560 {0x0af0, 0x0df4, 772},
2561 {0x0e4f, 0x0e5a, 11},
2562 {0x0e5b, 0x0f04, 169},
2563 {0x0f05, 0x0f12, 1},
2564 {0x0f14, 0x0f85, 113},
2565 {0x0fd0, 0x0fd4, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002566 {0x0fd9, 0x0fda, 1},
2567 {0x104a, 0x104f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002568 {0x10fb, 0x1360, 613},
2569 {0x1361, 0x1368, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002570 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002585 {0x1cc0, 0x1cc7, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002586 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002606 {0x2e30, 0x2e39, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002607 {0x2e3c, 0x2e3f, 1},
2608 {0x2e41, 0x3001, 448},
2609 {0x3002, 0x3003, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002610 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002618 {0xa8fc, 0xa92e, 50},
2619 {0xa92f, 0xa95f, 48},
2620 {0xa9c1, 0xa9cd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002621 {0xa9de, 0xa9df, 1},
2622 {0xaa5c, 0xaa5f, 1},
2623 {0xaade, 0xaadf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002624 {0xaaf0, 0xaaf1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002625 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002646 {0x10101, 0x10102, 1},
2647 {0x1039f, 0x103d0, 49},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002648 {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},
Russ Coxb4d6b712011-10-19 16:02:22 -04002655 {0x11047, 0x1104d, 1},
2656 {0x110bb, 0x110bc, 1},
2657 {0x110be, 0x110c1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002658 {0x11140, 0x11143, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002659 {0x11174, 0x11175, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002660 {0x111c5, 0x111c9, 1},
2661 {0x111cd, 0x111db, 14},
2662 {0x111dd, 0x111df, 1},
2663 {0x11238, 0x1123d, 1},
2664 {0x112a9, 0x114c6, 541},
2665 {0x115c1, 0x115d7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002666 {0x11641, 0x11643, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002667 {0x1173c, 0x1173e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002668 {0x12470, 0x12474, 1},
2669 {0x16a6e, 0x16a6f, 1},
2670 {0x16af5, 0x16b37, 66},
2671 {0x16b38, 0x16b3b, 1},
2672 {0x16b44, 0x1bc9f, 20827},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002673 {0x1da87, 0x1da8b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002674 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002675 LatinOffset: 8,
Russ Coxb4d6b712011-10-19 16:02:22 -04002676}
2677
2678var _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},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01002685 {0x208d, 0x2308, 635},
2686 {0x230a, 0x2329, 31},
Russ Coxb4d6b712011-10-19 16:02:22 -04002687 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002694 {0x2e42, 0x3008, 454},
2695 {0x300a, 0x3010, 2},
Russ Coxb4d6b712011-10-19 16:02:22 -04002696 {0x3014, 0x301a, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002697 {0x301d, 0xfd3f, 52514},
Russ Coxb4d6b712011-10-19 16:02:22 -04002698 {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 },
Russ Cox4591cd62012-09-21 00:35:25 -04002706 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04002707}
2708
2709var _S = &RangeTable{
2710 R16: []Range16{
2711 {0x0024, 0x002b, 7},
2712 {0x003c, 0x003e, 1},
2713 {0x005e, 0x0060, 2},
2714 {0x007c, 0x007e, 2},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002715 {0x00a2, 0x00a6, 1},
2716 {0x00a8, 0x00a9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002717 {0x00ac, 0x00ae, 2},
2718 {0x00af, 0x00b1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002719 {0x00b4, 0x00b8, 4},
Russ Coxb4d6b712011-10-19 16:02:22 -04002720 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002728 {0x0482, 0x058d, 267},
2729 {0x058e, 0x058f, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002730 {0x0606, 0x0608, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002731 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002742 {0x0f13, 0x0f15, 2},
2743 {0x0f16, 0x0f17, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002744 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002751 {0x1390, 0x1399, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002752 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002765 {0x20a0, 0x20be, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002766 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002777 {0x214f, 0x218a, 59},
2778 {0x218b, 0x2190, 5},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01002779 {0x2191, 0x2307, 1},
2780 {0x230c, 0x2328, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002781 {0x232b, 0x23fa, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002782 {0x2400, 0x2426, 1},
2783 {0x2440, 0x244a, 1},
2784 {0x249c, 0x24e9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002785 {0x2500, 0x2767, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002786 {0x2794, 0x27c4, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002787 {0x27c7, 0x27e5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002788 {0x27f0, 0x2982, 1},
2789 {0x2999, 0x29d7, 1},
2790 {0x29dc, 0x29fb, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002791 {0x29fe, 0x2b73, 1},
2792 {0x2b76, 0x2b95, 1},
2793 {0x2b98, 0x2bb9, 1},
2794 {0x2bbd, 0x2bc8, 1},
2795 {0x2bca, 0x2bd1, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002796 {0x2bec, 0x2bef, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002797 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002811 {0x322a, 0x3247, 1},
2812 {0x3250, 0x3260, 16},
2813 {0x3261, 0x327f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002814 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002825 {0xab5b, 0xfb29, 20430},
2826 {0xfbb2, 0xfbc1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002827 {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{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002840 {0x10137, 0x1013f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002841 {0x10179, 0x10189, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002842 {0x1018c, 0x10190, 4},
2843 {0x10191, 0x1019b, 1},
2844 {0x101a0, 0x101d0, 48},
2845 {0x101d1, 0x101fc, 1},
2846 {0x10877, 0x10878, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002847 {0x10ac8, 0x1173f, 3191},
2848 {0x16b3c, 0x16b3f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002849 {0x16b45, 0x1bc9c, 20823},
Russ Coxb4d6b712011-10-19 16:02:22 -04002850 {0x1d000, 0x1d0f5, 1},
2851 {0x1d100, 0x1d126, 1},
2852 {0x1d129, 0x1d164, 1},
2853 {0x1d16a, 0x1d16c, 1},
2854 {0x1d183, 0x1d184, 1},
2855 {0x1d18c, 0x1d1a9, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002856 {0x1d1ae, 0x1d1e8, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002857 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002865 {0x1d800, 0x1d9ff, 1},
2866 {0x1da37, 0x1da3a, 1},
2867 {0x1da6d, 0x1da74, 1},
2868 {0x1da76, 0x1da83, 1},
2869 {0x1da85, 0x1da86, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002870 {0x1eef0, 0x1eef1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002871 {0x1f000, 0x1f02b, 1},
2872 {0x1f030, 0x1f093, 1},
2873 {0x1f0a0, 0x1f0ae, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002874 {0x1f0b1, 0x1f0bf, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002875 {0x1f0c1, 0x1f0cf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002876 {0x1f0d1, 0x1f0f5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002877 {0x1f110, 0x1f12e, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002878 {0x1f130, 0x1f16b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002879 {0x1f170, 0x1f19a, 1},
2880 {0x1f1e6, 0x1f202, 1},
2881 {0x1f210, 0x1f23a, 1},
2882 {0x1f240, 0x1f248, 1},
2883 {0x1f250, 0x1f251, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002884 {0x1f300, 0x1f579, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002885 {0x1f57b, 0x1f5a3, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002886 {0x1f5a5, 0x1f6d0, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002887 {0x1f6e0, 0x1f6ec, 1},
2888 {0x1f6f0, 0x1f6f3, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002889 {0x1f700, 0x1f773, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002890 {0x1f780, 0x1f7d4, 1},
2891 {0x1f800, 0x1f80b, 1},
2892 {0x1f810, 0x1f847, 1},
2893 {0x1f850, 0x1f859, 1},
2894 {0x1f860, 0x1f887, 1},
2895 {0x1f890, 0x1f8ad, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002896 {0x1f910, 0x1f918, 1},
2897 {0x1f980, 0x1f984, 1},
2898 {0x1f9c0, 0x1f9c0, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002899 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002900 LatinOffset: 10,
Russ Coxb4d6b712011-10-19 16:02:22 -04002901}
2902
2903var _Sc = &RangeTable{
2904 R16: []Range16{
2905 {0x0024, 0x00a2, 126},
2906 {0x00a3, 0x00a5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002907 {0x058f, 0x060b, 124},
2908 {0x09f2, 0x09f3, 1},
2909 {0x09fb, 0x0af1, 246},
2910 {0x0bf9, 0x0e3f, 582},
2911 {0x17db, 0x20a0, 2245},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002912 {0x20a1, 0x20be, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002913 {0xa838, 0xfdfc, 21956},
2914 {0xfe69, 0xff04, 155},
2915 {0xffe0, 0xffe1, 1},
2916 {0xffe5, 0xffe6, 1},
2917 },
Russ Cox4591cd62012-09-21 00:35:25 -04002918 LatinOffset: 2,
Russ Coxb4d6b712011-10-19 16:02:22 -04002919}
2920
2921var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02002942 {0xab5b, 0xfbb2, 20567},
2943 {0xfbb3, 0xfbc1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002944 {0xff3e, 0xff40, 2},
2945 {0xffe3, 0xffe3, 1},
2946 },
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02002947 R32: []Range32{
2948 {0x1f3fb, 0x1f3fb, 1},
2949 {0x1f3fc, 0x1f3ff, 1},
2950 },
Russ Cox4591cd62012-09-21 00:35:25 -04002951 LatinOffset: 3,
Russ Coxb4d6b712011-10-19 16:02:22 -04002952}
2953
2954var _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},
Russ Coxb4d6b712011-10-19 16:02:22 -04002976 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01002984 {0x27c7, 0x27e5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04002985 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003006 {0x1eef0, 0x1eef1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003007 },
Russ Cox4591cd62012-09-21 00:35:25 -04003008 LatinOffset: 5,
Russ Coxb4d6b712011-10-19 16:02:22 -04003009}
3010
3011var _So = &RangeTable{
3012 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003013 {0x00a6, 0x00a9, 3},
3014 {0x00ae, 0x00b0, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003015 {0x0482, 0x058d, 267},
3016 {0x058e, 0x060e, 128},
Russ Coxb4d6b712011-10-19 16:02:22 -04003017 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003025 {0x0f13, 0x0f15, 2},
3026 {0x0f16, 0x0f17, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003027 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003034 {0x1390, 0x1399, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003035 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003049 {0x214f, 0x218a, 59},
3050 {0x218b, 0x2195, 10},
Russ Coxb4d6b712011-10-19 16:02:22 -04003051 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003066 {0x23e2, 0x23fa, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003067 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003074 {0x2670, 0x2767, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003075 {0x2794, 0x27bf, 1},
3076 {0x2800, 0x28ff, 1},
3077 {0x2b00, 0x2b2f, 1},
3078 {0x2b45, 0x2b46, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003079 {0x2b4d, 0x2b73, 1},
3080 {0x2b76, 0x2b95, 1},
3081 {0x2b98, 0x2bb9, 1},
3082 {0x2bbd, 0x2bc8, 1},
3083 {0x2bca, 0x2bd1, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003084 {0x2bec, 0x2bef, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003085 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003098 {0x322a, 0x3247, 1},
3099 {0x3250, 0x3260, 16},
3100 {0x3261, 0x327f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003101 {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{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003116 {0x10137, 0x10137, 1},
3117 {0x10138, 0x1013f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003118 {0x10179, 0x10189, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003119 {0x1018c, 0x10190, 4},
3120 {0x10191, 0x1019b, 1},
3121 {0x101a0, 0x101d0, 48},
3122 {0x101d1, 0x101fc, 1},
3123 {0x10877, 0x10878, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003124 {0x10ac8, 0x1173f, 3191},
3125 {0x16b3c, 0x16b3f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003126 {0x16b45, 0x1bc9c, 20823},
Russ Coxb4d6b712011-10-19 16:02:22 -04003127 {0x1d000, 0x1d0f5, 1},
3128 {0x1d100, 0x1d126, 1},
3129 {0x1d129, 0x1d164, 1},
3130 {0x1d16a, 0x1d16c, 1},
3131 {0x1d183, 0x1d184, 1},
3132 {0x1d18c, 0x1d1a9, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003133 {0x1d1ae, 0x1d1e8, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003134 {0x1d200, 0x1d241, 1},
3135 {0x1d245, 0x1d300, 187},
3136 {0x1d301, 0x1d356, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003137 {0x1d800, 0x1d9ff, 1},
3138 {0x1da37, 0x1da3a, 1},
3139 {0x1da6d, 0x1da74, 1},
3140 {0x1da76, 0x1da83, 1},
3141 {0x1da85, 0x1da86, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003142 {0x1f000, 0x1f02b, 1},
3143 {0x1f030, 0x1f093, 1},
3144 {0x1f0a0, 0x1f0ae, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003145 {0x1f0b1, 0x1f0bf, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003146 {0x1f0c1, 0x1f0cf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003147 {0x1f0d1, 0x1f0f5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003148 {0x1f110, 0x1f12e, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003149 {0x1f130, 0x1f16b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003150 {0x1f170, 0x1f19a, 1},
3151 {0x1f1e6, 0x1f202, 1},
3152 {0x1f210, 0x1f23a, 1},
3153 {0x1f240, 0x1f248, 1},
3154 {0x1f250, 0x1f251, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003155 {0x1f300, 0x1f3fa, 1},
3156 {0x1f400, 0x1f579, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003157 {0x1f57b, 0x1f5a3, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003158 {0x1f5a5, 0x1f6d0, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003159 {0x1f6e0, 0x1f6ec, 1},
3160 {0x1f6f0, 0x1f6f3, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003161 {0x1f700, 0x1f773, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003162 {0x1f780, 0x1f7d4, 1},
3163 {0x1f800, 0x1f80b, 1},
3164 {0x1f810, 0x1f847, 1},
3165 {0x1f850, 0x1f859, 1},
3166 {0x1f860, 0x1f887, 1},
3167 {0x1f890, 0x1f8ad, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003168 {0x1f910, 0x1f918, 1},
3169 {0x1f980, 0x1f984, 1},
3170 {0x1f9c0, 0x1f9c0, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003171 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003172 LatinOffset: 2,
Russ Coxb4d6b712011-10-19 16:02:22 -04003173}
3174
3175var _Z = &RangeTable{
3176 R16: []Range16{
3177 {0x0020, 0x00a0, 128},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01003178 {0x1680, 0x2000, 2432},
3179 {0x2001, 0x200a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003180 {0x2028, 0x2029, 1},
3181 {0x202f, 0x205f, 48},
3182 {0x3000, 0x3000, 1},
3183 },
Russ Cox4591cd62012-09-21 00:35:25 -04003184 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04003185}
3186
3187var _Zl = &RangeTable{
3188 R16: []Range16{
3189 {0x2028, 0x2028, 1},
3190 },
3191}
3192
3193var _Zp = &RangeTable{
3194 R16: []Range16{
3195 {0x2029, 0x2029, 1},
3196 },
3197}
3198
3199var _Zs = &RangeTable{
3200 R16: []Range16{
3201 {0x0020, 0x00a0, 128},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01003202 {0x1680, 0x2000, 2432},
3203 {0x2001, 0x200a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003204 {0x202f, 0x205f, 48},
3205 {0x3000, 0x3000, 1},
3206 },
Russ Cox4591cd62012-09-21 00:35:25 -04003207 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04003208}
3209
Russ Cox77f00e52012-05-22 13:53:57 -04003210// These variables have type *RangeTable.
Rob Pike25caf182009-08-27 18:38:02 -07003211var (
Rob Pike8d64e732011-06-04 07:46:22 +10003212 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.
Oling Cata88d8282013-03-19 13:48:07 -04003224 Mark = _M // Mark/M is the set of Unicode mark characters, category M.
Rob Pike8d64e732011-06-04 07:46:22 +10003225 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.
Rob Pike25caf182009-08-27 18:38:02 -07003259)
3260
Rob Pike8b6274e2009-08-27 17:04:23 -07003261// Generated by running
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003262// maketables --scripts=all --url=http://www.unicode.org/Public/8.0.0/ucd/
Rob Pike8b6274e2009-08-27 17:04:23 -07003263// DO NOT EDIT
3264
3265// Scripts is the set of Unicode script tables.
Rob Pike0de328e2011-05-31 09:58:07 +10003266var Scripts = map[string]*RangeTable{
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003267 "Ahom": Ahom,
3268 "Anatolian_Hieroglyphs": Anatolian_Hieroglyphs,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003269 "Arabic": Arabic,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003270 "Armenian": Armenian,
Russ Coxb4d6b712011-10-19 16:02:22 -04003271 "Avestan": Avestan,
3272 "Balinese": Balinese,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003273 "Bamum": Bamum,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003274 "Bassa_Vah": Bassa_Vah,
Russ Coxb4d6b712011-10-19 16:02:22 -04003275 "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,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003284 "Caucasian_Albanian": Caucasian_Albanian,
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003285 "Chakma": Chakma,
Russ Coxb4d6b712011-10-19 16:02:22 -04003286 "Cham": Cham,
3287 "Cherokee": Cherokee,
3288 "Common": Common,
3289 "Coptic": Coptic,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003290 "Cuneiform": Cuneiform,
Russ Coxb4d6b712011-10-19 16:02:22 -04003291 "Cypriot": Cypriot,
3292 "Cyrillic": Cyrillic,
3293 "Deseret": Deseret,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003294 "Devanagari": Devanagari,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003295 "Duployan": Duployan,
Russ Coxb4d6b712011-10-19 16:02:22 -04003296 "Egyptian_Hieroglyphs": Egyptian_Hieroglyphs,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003297 "Elbasan": Elbasan,
Russ Coxb4d6b712011-10-19 16:02:22 -04003298 "Ethiopic": Ethiopic,
3299 "Georgian": Georgian,
3300 "Glagolitic": Glagolitic,
3301 "Gothic": Gothic,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003302 "Grantha": Grantha,
Russ Coxb4d6b712011-10-19 16:02:22 -04003303 "Greek": Greek,
3304 "Gujarati": Gujarati,
3305 "Gurmukhi": Gurmukhi,
3306 "Han": Han,
3307 "Hangul": Hangul,
3308 "Hanunoo": Hanunoo,
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003309 "Hatran": Hatran,
Russ Coxb4d6b712011-10-19 16:02:22 -04003310 "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,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003323 "Khojki": Khojki,
3324 "Khudawadi": Khudawadi,
Russ Coxb4d6b712011-10-19 16:02:22 -04003325 "Lao": Lao,
3326 "Latin": Latin,
3327 "Lepcha": Lepcha,
3328 "Limbu": Limbu,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003329 "Linear_A": Linear_A,
Russ Coxb4d6b712011-10-19 16:02:22 -04003330 "Linear_B": Linear_B,
3331 "Lisu": Lisu,
3332 "Lycian": Lycian,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003333 "Lydian": Lydian,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003334 "Mahajani": Mahajani,
Russ Coxb4d6b712011-10-19 16:02:22 -04003335 "Malayalam": Malayalam,
3336 "Mandaic": Mandaic,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003337 "Manichaean": Manichaean,
Russ Coxb4d6b712011-10-19 16:02:22 -04003338 "Meetei_Mayek": Meetei_Mayek,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003339 "Mende_Kikakui": Mende_Kikakui,
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003340 "Meroitic_Cursive": Meroitic_Cursive,
3341 "Meroitic_Hieroglyphs": Meroitic_Hieroglyphs,
3342 "Miao": Miao,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003343 "Modi": Modi,
Russ Coxb4d6b712011-10-19 16:02:22 -04003344 "Mongolian": Mongolian,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003345 "Mro": Mro,
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003346 "Multani": Multani,
Russ Coxb4d6b712011-10-19 16:02:22 -04003347 "Myanmar": Myanmar,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003348 "Nabataean": Nabataean,
Russ Coxb4d6b712011-10-19 16:02:22 -04003349 "New_Tai_Lue": New_Tai_Lue,
3350 "Nko": Nko,
3351 "Ogham": Ogham,
3352 "Ol_Chiki": Ol_Chiki,
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003353 "Old_Hungarian": Old_Hungarian,
Russ Coxb4d6b712011-10-19 16:02:22 -04003354 "Old_Italic": Old_Italic,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003355 "Old_North_Arabian": Old_North_Arabian,
3356 "Old_Permic": Old_Permic,
Russ Coxb4d6b712011-10-19 16:02:22 -04003357 "Old_Persian": Old_Persian,
3358 "Old_South_Arabian": Old_South_Arabian,
3359 "Old_Turkic": Old_Turkic,
3360 "Oriya": Oriya,
3361 "Osmanya": Osmanya,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003362 "Pahawh_Hmong": Pahawh_Hmong,
3363 "Palmyrene": Palmyrene,
3364 "Pau_Cin_Hau": Pau_Cin_Hau,
Russ Coxb4d6b712011-10-19 16:02:22 -04003365 "Phags_Pa": Phags_Pa,
3366 "Phoenician": Phoenician,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003367 "Psalter_Pahlavi": Psalter_Pahlavi,
Russ Coxb4d6b712011-10-19 16:02:22 -04003368 "Rejang": Rejang,
3369 "Runic": Runic,
3370 "Samaritan": Samaritan,
3371 "Saurashtra": Saurashtra,
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003372 "Sharada": Sharada,
Russ Coxb4d6b712011-10-19 16:02:22 -04003373 "Shavian": Shavian,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003374 "Siddham": Siddham,
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003375 "SignWriting": SignWriting,
Russ Coxb4d6b712011-10-19 16:02:22 -04003376 "Sinhala": Sinhala,
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003377 "Sora_Sompeng": Sora_Sompeng,
Russ Coxb4d6b712011-10-19 16:02:22 -04003378 "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,
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003386 "Takri": Takri,
Russ Coxb4d6b712011-10-19 16:02:22 -04003387 "Tamil": Tamil,
3388 "Telugu": Telugu,
3389 "Thaana": Thaana,
3390 "Thai": Thai,
3391 "Tibetan": Tibetan,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003392 "Tifinagh": Tifinagh,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003393 "Tirhuta": Tirhuta,
Robert Griesemerf44fa9b2010-03-02 13:46:51 -08003394 "Ugaritic": Ugaritic,
Russ Coxb4d6b712011-10-19 16:02:22 -04003395 "Vai": Vai,
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003396 "Warang_Citi": Warang_Citi,
Russ Coxb4d6b712011-10-19 16:02:22 -04003397 "Yi": Yi,
Rob Pike8b6274e2009-08-27 17:04:23 -07003398}
3399
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003400var _Ahom = &RangeTable{
3401 R16: []Range16{},
3402 R32: []Range32{
3403 {0x11700, 0x11719, 1},
3404 {0x1171d, 0x1172b, 1},
3405 {0x11730, 0x1173f, 1},
3406 },
3407}
3408
3409var _Anatolian_Hieroglyphs = &RangeTable{
3410 R16: []Range16{},
3411 R32: []Range32{
3412 {0x14400, 0x14646, 1},
3413 },
3414}
3415
Russ Coxb4d6b712011-10-19 16:02:22 -04003416var _Arabic = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003417 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003418 {0x0600, 0x0604, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003419 {0x0606, 0x060b, 1},
3420 {0x060d, 0x061a, 1},
3421 {0x061e, 0x061e, 1},
3422 {0x0620, 0x063f, 1},
3423 {0x0641, 0x064a, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003424 {0x0656, 0x066f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003425 {0x0671, 0x06dc, 1},
3426 {0x06de, 0x06ff, 1},
3427 {0x0750, 0x077f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003428 {0x08a0, 0x08b4, 1},
3429 {0x08e3, 0x08ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003430 {0xfb50, 0xfbc1, 1},
3431 {0xfbd3, 0xfd3d, 1},
3432 {0xfd50, 0xfd8f, 1},
3433 {0xfd92, 0xfdc7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003434 {0xfdf0, 0xfdfd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003435 {0xfe70, 0xfe74, 1},
3436 {0xfe76, 0xfefc, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003437 },
3438 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003439 {0x10e60, 0x10e7e, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003440 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10003474 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003475}
3476
Russ Coxb4d6b712011-10-19 16:02:22 -04003477var _Armenian = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003478 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003479 {0x0531, 0x0556, 1},
3480 {0x0559, 0x055f, 1},
3481 {0x0561, 0x0587, 1},
3482 {0x058a, 0x058a, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003483 {0x058d, 0x058f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003484 {0xfb13, 0xfb17, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003485 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003486}
3487
Russ Coxb4d6b712011-10-19 16:02:22 -04003488var _Avestan = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003489 R16: []Range16{},
3490 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003491 {0x10b00, 0x10b35, 1},
3492 {0x10b39, 0x10b3f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003493 },
Rob Pikeceb1fe22009-12-01 16:22:21 -08003494}
3495
Russ Coxb4d6b712011-10-19 16:02:22 -04003496var _Balinese = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003497 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003498 {0x1b00, 0x1b4b, 1},
3499 {0x1b50, 0x1b7c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003500 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003501}
3502
Russ Coxb4d6b712011-10-19 16:02:22 -04003503var _Bamum = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003504 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003505 {0xa6a0, 0xa6f7, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003506 },
3507 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003508 {0x16800, 0x16a38, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003509 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003510}
3511
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003512var _Bassa_Vah = &RangeTable{
3513 R16: []Range16{},
3514 R32: []Range32{
3515 {0x16ad0, 0x16aed, 1},
3516 {0x16af0, 0x16af5, 1},
3517 },
3518}
3519
Russ Coxb4d6b712011-10-19 16:02:22 -04003520var _Batak = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003521 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003522 {0x1bc0, 0x1bf3, 1},
3523 {0x1bfc, 0x1bff, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003524 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003525}
3526
Russ Coxb4d6b712011-10-19 16:02:22 -04003527var _Bengali = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003528 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003529 {0x0980, 0x0983, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003530 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10003543 },
Rob Pikeceb1fe22009-12-01 16:22:21 -08003544}
3545
Rob Pike0de328e2011-05-31 09:58:07 +10003546var _Bopomofo = &RangeTable{
3547 R16: []Range16{
3548 {0x02ea, 0x02eb, 1},
3549 {0x3105, 0x312d, 1},
3550 {0x31a0, 0x31ba, 1},
3551 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003552}
3553
Russ Coxb4d6b712011-10-19 16:02:22 -04003554var _Brahmi = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003555 R16: []Range16{},
3556 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003557 {0x11000, 0x1104d, 1},
3558 {0x11052, 0x1106f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003559 {0x1107f, 0x1107f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003560 },
Rob Pikeceb1fe22009-12-01 16:22:21 -08003561}
3562
Russ Coxb4d6b712011-10-19 16:02:22 -04003563var _Braille = &RangeTable{
3564 R16: []Range16{
3565 {0x2800, 0x28ff, 1},
3566 },
3567}
3568
3569var _Buginese = &RangeTable{
3570 R16: []Range16{
3571 {0x1a00, 0x1a1b, 1},
3572 {0x1a1e, 0x1a1f, 1},
3573 },
3574}
3575
3576var _Buhid = &RangeTable{
3577 R16: []Range16{
3578 {0x1740, 0x1753, 1},
3579 },
3580}
3581
3582var _Canadian_Aboriginal = &RangeTable{
3583 R16: []Range16{
3584 {0x1400, 0x167f, 1},
3585 {0x18b0, 0x18f5, 1},
3586 },
3587}
3588
3589var _Carian = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003590 R16: []Range16{},
3591 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003592 {0x102a0, 0x102d0, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003593 },
Rob Pikeceb1fe22009-12-01 16:22:21 -08003594}
3595
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003596var _Caucasian_Albanian = &RangeTable{
3597 R16: []Range16{},
3598 R32: []Range32{
3599 {0x10530, 0x10563, 1},
3600 {0x1056f, 0x1056f, 1},
3601 },
3602}
3603
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003604var _Chakma = &RangeTable{
3605 R16: []Range16{},
3606 R32: []Range32{
3607 {0x11100, 0x11134, 1},
3608 {0x11136, 0x11143, 1},
3609 },
3610}
3611
Russ Coxb4d6b712011-10-19 16:02:22 -04003612var _Cham = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003613 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003614 {0xaa00, 0xaa36, 1},
3615 {0xaa40, 0xaa4d, 1},
3616 {0xaa50, 0xaa59, 1},
3617 {0xaa5c, 0xaa5f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003618 },
Rob Pikefc52d702011-01-31 15:20:44 -08003619}
3620
Russ Coxb4d6b712011-10-19 16:02:22 -04003621var _Cherokee = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003622 R16: []Range16{
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003623 {0x13a0, 0x13f5, 1},
3624 {0x13f8, 0x13fd, 1},
3625 {0xab70, 0xabbf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003626 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003627}
3628
Rob Pike0de328e2011-05-31 09:58:07 +10003629var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003646 {0x0605, 0x0605, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003647 {0x060c, 0x060c, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003648 {0x061b, 0x061c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003649 {0x061f, 0x061f, 1},
3650 {0x0640, 0x0640, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003651 {0x06dd, 0x06dd, 1},
3652 {0x0964, 0x0965, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003653 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003663 {0x1cee, 0x1cf3, 1},
3664 {0x1cf5, 0x1cf6, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003665 {0x2000, 0x200b, 1},
3666 {0x200e, 0x2064, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01003667 {0x2066, 0x2070, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003668 {0x2074, 0x207e, 1},
3669 {0x2080, 0x208e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003670 {0x20a0, 0x20be, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003671 {0x2100, 0x2125, 1},
3672 {0x2127, 0x2129, 1},
3673 {0x212c, 0x2131, 1},
3674 {0x2133, 0x214d, 1},
3675 {0x214f, 0x215f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003676 {0x2189, 0x218b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003677 {0x2190, 0x23fa, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003678 {0x2400, 0x2426, 1},
3679 {0x2440, 0x244a, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003680 {0x2460, 0x27ff, 1},
3681 {0x2900, 0x2b73, 1},
3682 {0x2b76, 0x2b95, 1},
3683 {0x2b98, 0x2bb9, 1},
3684 {0x2bbd, 0x2bc8, 1},
3685 {0x2bca, 0x2bd1, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003686 {0x2bec, 0x2bef, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003687 {0x2e00, 0x2e42, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003688 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003706 {0xa92e, 0xa92e, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01003707 {0xa9cf, 0xa9cf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003708 {0xab5b, 0xab5b, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003709 {0xfd3e, 0xfd3f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003710 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003730 {0x102e1, 0x102fb, 1},
3731 {0x1bca0, 0x1bca3, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003732 {0x1d000, 0x1d0f5, 1},
3733 {0x1d100, 0x1d126, 1},
3734 {0x1d129, 0x1d166, 1},
3735 {0x1d16a, 0x1d17a, 1},
3736 {0x1d183, 0x1d184, 1},
3737 {0x1d18c, 0x1d1a9, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003738 {0x1d1ae, 0x1d1e8, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003739 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003765 {0x1f0b1, 0x1f0bf, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003766 {0x1f0c1, 0x1f0cf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003767 {0x1f0d1, 0x1f0f5, 1},
3768 {0x1f100, 0x1f10c, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003769 {0x1f110, 0x1f12e, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003770 {0x1f130, 0x1f16b, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003771 {0x1f170, 0x1f19a, 1},
3772 {0x1f1e6, 0x1f1ff, 1},
3773 {0x1f201, 0x1f202, 1},
3774 {0x1f210, 0x1f23a, 1},
3775 {0x1f240, 0x1f248, 1},
3776 {0x1f250, 0x1f251, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003777 {0x1f300, 0x1f579, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003778 {0x1f57b, 0x1f5a3, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003779 {0x1f5a5, 0x1f6d0, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003780 {0x1f6e0, 0x1f6ec, 1},
3781 {0x1f6f0, 0x1f6f3, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003782 {0x1f700, 0x1f773, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003783 {0x1f780, 0x1f7d4, 1},
3784 {0x1f800, 0x1f80b, 1},
3785 {0x1f810, 0x1f847, 1},
3786 {0x1f850, 0x1f859, 1},
3787 {0x1f860, 0x1f887, 1},
3788 {0x1f890, 0x1f8ad, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003789 {0x1f910, 0x1f918, 1},
3790 {0x1f980, 0x1f984, 1},
3791 {0x1f9c0, 0x1f9c0, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003792 {0xe0001, 0xe0001, 1},
3793 {0xe0020, 0xe007f, 1},
3794 },
Russ Cox4591cd62012-09-21 00:35:25 -04003795 LatinOffset: 7,
Rob Pike8b6274e2009-08-27 17:04:23 -07003796}
3797
Rob Pike0de328e2011-05-31 09:58:07 +10003798var _Coptic = &RangeTable{
3799 R16: []Range16{
3800 {0x03e2, 0x03ef, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003801 {0x2c80, 0x2cf3, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003802 {0x2cf9, 0x2cff, 1},
3803 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003804}
3805
Russ Coxb4d6b712011-10-19 16:02:22 -04003806var _Cuneiform = &RangeTable{
3807 R16: []Range16{},
Rob Pike0de328e2011-05-31 09:58:07 +10003808 R32: []Range32{
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003809 {0x12000, 0x12399, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003810 {0x12400, 0x1246e, 1},
3811 {0x12470, 0x12474, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003812 {0x12480, 0x12543, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003813 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003814}
3815
Russ Coxb4d6b712011-10-19 16:02:22 -04003816var _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
3828var _Cyrillic = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003829 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04003830 {0x0400, 0x0484, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003831 {0x0487, 0x052f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003832 {0x1d2b, 0x1d2b, 1},
3833 {0x1d78, 0x1d78, 1},
3834 {0x2de0, 0x2dff, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003835 {0xa640, 0xa69f, 1},
3836 {0xfe2e, 0xfe2f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003837 },
3838}
3839
3840var _Deseret = &RangeTable{
3841 R16: []Range16{},
3842 R32: []Range32{
3843 {0x10400, 0x1044f, 1},
3844 },
3845}
3846
3847var _Devanagari = &RangeTable{
3848 R16: []Range16{
3849 {0x0900, 0x0950, 1},
3850 {0x0953, 0x0963, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003851 {0x0966, 0x097f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003852 {0xa8e0, 0xa8fd, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003853 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003854}
3855
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003856var _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
Rob Pike0de328e2011-05-31 09:58:07 +10003867var _Egyptian_Hieroglyphs = &RangeTable{
3868 R16: []Range16{},
3869 R32: []Range32{
3870 {0x13000, 0x1342e, 1},
3871 },
Rob Pikeceb1fe22009-12-01 16:22:21 -08003872}
3873
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003874var _Elbasan = &RangeTable{
3875 R16: []Range16{},
3876 R32: []Range32{
3877 {0x10500, 0x10527, 1},
3878 },
3879}
3880
Russ Coxb4d6b712011-10-19 16:02:22 -04003881var _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
3918var _Georgian = &RangeTable{
3919 R16: []Range16{
3920 {0x10a0, 0x10c5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003921 {0x10c7, 0x10c7, 1},
3922 {0x10cd, 0x10cd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003923 {0x10d0, 0x10fa, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003924 {0x10fc, 0x10ff, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003925 {0x2d00, 0x2d25, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01003926 {0x2d27, 0x2d27, 1},
3927 {0x2d2d, 0x2d2d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04003928 },
3929}
3930
3931var _Glagolitic = &RangeTable{
3932 R16: []Range16{
3933 {0x2c00, 0x2c2e, 1},
3934 {0x2c30, 0x2c5e, 1},
3935 },
3936}
3937
3938var _Gothic = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10003939 R16: []Range16{},
3940 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04003941 {0x10330, 0x1034a, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003942 },
Rob Pike8b6274e2009-08-27 17:04:23 -07003943}
3944
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003945var _Grantha = &RangeTable{
3946 R16: []Range16{},
3947 R32: []Range32{
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003948 {0x11300, 0x11303, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003949 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02003958 {0x11350, 0x11350, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003959 {0x11357, 0x11357, 1},
3960 {0x1135d, 0x11363, 1},
3961 {0x11366, 0x1136c, 1},
3962 {0x11370, 0x11374, 1},
3963 },
3964}
3965
Rob Pike0de328e2011-05-31 09:58:07 +10003966var _Greek = &RangeTable{
3967 R16: []Range16{
3968 {0x0370, 0x0373, 1},
3969 {0x0375, 0x0377, 1},
3970 {0x037a, 0x037d, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02003971 {0x037f, 0x037f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10003972 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004000 {0xab65, 0xab65, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004001 },
4002 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004003 {0x10140, 0x1018c, 1},
4004 {0x101a0, 0x101a0, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004005 {0x1d200, 0x1d245, 1},
4006 },
Rob Pike8b6274e2009-08-27 17:04:23 -07004007}
4008
Russ Coxb4d6b712011-10-19 16:02:22 -04004009var _Gujarati = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10004010 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04004011 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004023 {0x0ae6, 0x0af1, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004024 {0x0af9, 0x0af9, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004025 },
Rob Pike8b6274e2009-08-27 17:04:23 -07004026}
4027
Rob Pike0de328e2011-05-31 09:58:07 +10004028var _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 },
Rob Pike8b6274e2009-08-27 17:04:23 -07004047}
4048
Rob Pike0de328e2011-05-31 09:58:07 +10004049var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004059 {0x4e00, 0x9fd5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004060 {0xf900, 0xfa6d, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004061 {0xfa70, 0xfad9, 1},
4062 },
4063 R32: []Range32{
4064 {0x20000, 0x2a6d6, 1},
4065 {0x2a700, 0x2b734, 1},
4066 {0x2b740, 0x2b81d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004067 {0x2b820, 0x2cea1, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004068 {0x2f800, 0x2fa1d, 1},
4069 },
Rob Pike8b6274e2009-08-27 17:04:23 -07004070}
4071
Russ Coxb4d6b712011-10-19 16:02:22 -04004072var _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
4091var _Hanunoo = &RangeTable{
4092 R16: []Range16{
4093 {0x1720, 0x1734, 1},
4094 },
4095}
4096
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004097var _Hatran = &RangeTable{
4098 R16: []Range16{},
4099 R32: []Range32{
4100 {0x108e0, 0x108f2, 1},
4101 {0x108f4, 0x108f5, 1},
4102 {0x108fb, 0x108ff, 1},
4103 },
4104}
4105
Russ Coxb4d6b712011-10-19 16:02:22 -04004106var _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
4120var _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
4131var _Imperial_Aramaic = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10004132 R16: []Range16{},
4133 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04004134 {0x10840, 0x10855, 1},
4135 {0x10857, 0x1085f, 1},
4136 },
4137}
4138
4139var _Inherited = &RangeTable{
4140 R16: []Range16{
4141 {0x0300, 0x036f, 1},
4142 {0x0485, 0x0486, 1},
4143 {0x064b, 0x0655, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004144 {0x0670, 0x0670, 1},
4145 {0x0951, 0x0952, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004146 {0x1ab0, 0x1abe, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004147 {0x1cd0, 0x1cd2, 1},
4148 {0x1cd4, 0x1ce0, 1},
4149 {0x1ce2, 0x1ce8, 1},
4150 {0x1ced, 0x1ced, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004151 {0x1cf4, 0x1cf4, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004152 {0x1cf8, 0x1cf9, 1},
4153 {0x1dc0, 0x1df5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004154 {0x1dfc, 0x1dff, 1},
4155 {0x200c, 0x200d, 1},
4156 {0x20d0, 0x20f0, 1},
4157 {0x302a, 0x302d, 1},
4158 {0x3099, 0x309a, 1},
4159 {0xfe00, 0xfe0f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004160 {0xfe20, 0xfe2d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004161 },
4162 R32: []Range32{
4163 {0x101fd, 0x101fd, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004164 {0x102e0, 0x102e0, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004165 {0x1d167, 0x1d169, 1},
4166 {0x1d17b, 0x1d182, 1},
4167 {0x1d185, 0x1d18b, 1},
4168 {0x1d1aa, 0x1d1ad, 1},
4169 {0xe0100, 0xe01ef, 1},
4170 },
4171}
4172
4173var _Inscriptional_Pahlavi = &RangeTable{
4174 R16: []Range16{},
4175 R32: []Range32{
4176 {0x10b60, 0x10b72, 1},
4177 {0x10b78, 0x10b7f, 1},
4178 },
4179}
4180
4181var _Inscriptional_Parthian = &RangeTable{
4182 R16: []Range16{},
4183 R32: []Range32{
4184 {0x10b40, 0x10b55, 1},
4185 {0x10b58, 0x10b5f, 1},
4186 },
4187}
4188
4189var _Javanese = &RangeTable{
4190 R16: []Range16{
4191 {0xa980, 0xa9cd, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01004192 {0xa9d0, 0xa9d9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004193 {0xa9de, 0xa9df, 1},
4194 },
4195}
4196
4197var _Kaithi = &RangeTable{
4198 R16: []Range16{},
4199 R32: []Range32{
4200 {0x11080, 0x110c1, 1},
4201 },
4202}
4203
4204var _Kannada = &RangeTable{
4205 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004206 {0x0c81, 0x0c83, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004207 {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
4223var _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
4238var _Kayah_Li = &RangeTable{
4239 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004240 {0xa900, 0xa92d, 1},
4241 {0xa92f, 0xa92f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004242 },
4243}
4244
4245var _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
4259var _Khmer = &RangeTable{
4260 R16: []Range16{
4261 {0x1780, 0x17dd, 1},
4262 {0x17e0, 0x17e9, 1},
4263 {0x17f0, 0x17f9, 1},
4264 {0x19e0, 0x19ff, 1},
4265 },
4266}
4267
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004268var _Khojki = &RangeTable{
4269 R16: []Range16{},
4270 R32: []Range32{
4271 {0x11200, 0x11211, 1},
4272 {0x11213, 0x1123d, 1},
4273 },
4274}
4275
4276var _Khudawadi = &RangeTable{
4277 R16: []Range16{},
4278 R32: []Range32{
4279 {0x112b0, 0x112ea, 1},
4280 {0x112f0, 0x112f9, 1},
4281 },
4282}
4283
Russ Coxb4d6b712011-10-19 16:02:22 -04004284var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004303 {0x0edc, 0x0edf, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004304 },
4305}
4306
4307var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004332 {0xa78b, 0xa7ad, 1},
4333 {0xa7b0, 0xa7b7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004334 {0xa7f7, 0xa7ff, 1},
4335 {0xab30, 0xab5a, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004336 {0xab5c, 0xab64, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004337 {0xfb00, 0xfb06, 1},
4338 {0xff21, 0xff3a, 1},
4339 {0xff41, 0xff5a, 1},
4340 },
Russ Cox4591cd62012-09-21 00:35:25 -04004341 LatinOffset: 6,
Russ Coxb4d6b712011-10-19 16:02:22 -04004342}
4343
4344var _Lepcha = &RangeTable{
4345 R16: []Range16{
4346 {0x1c00, 0x1c37, 1},
4347 {0x1c3b, 0x1c49, 1},
4348 {0x1c4d, 0x1c4f, 1},
4349 },
4350}
4351
4352var _Limbu = &RangeTable{
4353 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004354 {0x1900, 0x191e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004355 {0x1920, 0x192b, 1},
4356 {0x1930, 0x193b, 1},
4357 {0x1940, 0x1940, 1},
4358 {0x1944, 0x194f, 1},
4359 },
4360}
4361
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004362var _Linear_A = &RangeTable{
4363 R16: []Range16{},
4364 R32: []Range32{
4365 {0x10600, 0x10736, 1},
4366 {0x10740, 0x10755, 1},
4367 {0x10760, 0x10767, 1},
4368 },
4369}
4370
Russ Coxb4d6b712011-10-19 16:02:22 -04004371var _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
4384var _Lisu = &RangeTable{
4385 R16: []Range16{
4386 {0xa4d0, 0xa4ff, 1},
4387 },
4388}
4389
4390var _Lycian = &RangeTable{
4391 R16: []Range16{},
4392 R32: []Range32{
4393 {0x10280, 0x1029c, 1},
4394 },
4395}
4396
4397var _Lydian = &RangeTable{
4398 R16: []Range16{},
4399 R32: []Range32{
4400 {0x10920, 0x10939, 1},
4401 {0x1093f, 0x1093f, 1},
4402 },
4403}
4404
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004405var _Mahajani = &RangeTable{
4406 R16: []Range16{},
4407 R32: []Range32{
4408 {0x11150, 0x11176, 1},
4409 },
4410}
4411
Russ Coxb4d6b712011-10-19 16:02:22 -04004412var _Malayalam = &RangeTable{
4413 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004414 {0x0d01, 0x0d03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004415 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004422 {0x0d5f, 0x0d63, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004423 {0x0d66, 0x0d75, 1},
4424 {0x0d79, 0x0d7f, 1},
4425 },
4426}
4427
4428var _Mandaic = &RangeTable{
4429 R16: []Range16{
4430 {0x0840, 0x085b, 1},
4431 {0x085e, 0x085e, 1},
4432 },
4433}
4434
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004435var _Manichaean = &RangeTable{
4436 R16: []Range16{},
4437 R32: []Range32{
4438 {0x10ac0, 0x10ae6, 1},
4439 {0x10aeb, 0x10af6, 1},
4440 },
4441}
4442
Russ Coxb4d6b712011-10-19 16:02:22 -04004443var _Meetei_Mayek = &RangeTable{
4444 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004445 {0xaae0, 0xaaf6, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004446 {0xabc0, 0xabed, 1},
4447 {0xabf0, 0xabf9, 1},
4448 },
4449}
4450
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004451var _Mende_Kikakui = &RangeTable{
4452 R16: []Range16{},
4453 R32: []Range32{
4454 {0x1e800, 0x1e8c4, 1},
4455 {0x1e8c7, 0x1e8d6, 1},
4456 },
4457}
4458
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004459var _Meroitic_Cursive = &RangeTable{
4460 R16: []Range16{},
4461 R32: []Range32{
4462 {0x109a0, 0x109b7, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004463 {0x109bc, 0x109cf, 1},
4464 {0x109d2, 0x109ff, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004465 },
4466}
4467
4468var _Meroitic_Hieroglyphs = &RangeTable{
4469 R16: []Range16{},
4470 R32: []Range32{
4471 {0x10980, 0x1099f, 1},
4472 },
4473}
4474
4475var _Miao = &RangeTable{
4476 R16: []Range16{},
4477 R32: []Range32{
4478 {0x16f00, 0x16f44, 1},
4479 {0x16f50, 0x16f7e, 1},
4480 {0x16f8f, 0x16f9f, 1},
4481 },
4482}
4483
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004484var _Modi = &RangeTable{
4485 R16: []Range16{},
4486 R32: []Range32{
4487 {0x11600, 0x11644, 1},
4488 {0x11650, 0x11659, 1},
4489 },
4490}
4491
Russ Coxb4d6b712011-10-19 16:02:22 -04004492var _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
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004503var _Mro = &RangeTable{
4504 R16: []Range16{},
4505 R32: []Range32{
4506 {0x16a40, 0x16a5e, 1},
4507 {0x16a60, 0x16a69, 1},
4508 {0x16a6e, 0x16a6f, 1},
4509 },
4510}
4511
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004512var _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
Russ Coxb4d6b712011-10-19 16:02:22 -04004523var _Myanmar = &RangeTable{
4524 R16: []Range16{
4525 {0x1000, 0x109f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004526 {0xa9e0, 0xa9fe, 1},
4527 {0xaa60, 0xaa7f, 1},
4528 },
4529}
4530
4531var _Nabataean = &RangeTable{
4532 R16: []Range16{},
4533 R32: []Range32{
4534 {0x10880, 0x1089e, 1},
4535 {0x108a7, 0x108af, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004536 },
4537}
4538
4539var _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
4548var _Nko = &RangeTable{
4549 R16: []Range16{
4550 {0x07c0, 0x07fa, 1},
4551 },
4552}
4553
4554var _Ogham = &RangeTable{
4555 R16: []Range16{
4556 {0x1680, 0x169c, 1},
4557 },
4558}
4559
4560var _Ol_Chiki = &RangeTable{
4561 R16: []Range16{
4562 {0x1c50, 0x1c7f, 1},
4563 },
4564}
4565
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004566var _Old_Hungarian = &RangeTable{
4567 R16: []Range16{},
4568 R32: []Range32{
4569 {0x10c80, 0x10cb2, 1},
4570 {0x10cc0, 0x10cf2, 1},
4571 {0x10cfa, 0x10cff, 1},
4572 },
4573}
4574
Russ Coxb4d6b712011-10-19 16:02:22 -04004575var _Old_Italic = &RangeTable{
4576 R16: []Range16{},
4577 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004578 {0x10300, 0x10323, 1},
4579 },
4580}
4581
4582var _Old_North_Arabian = &RangeTable{
4583 R16: []Range16{},
4584 R32: []Range32{
4585 {0x10a80, 0x10a9f, 1},
4586 },
4587}
4588
4589var _Old_Permic = &RangeTable{
4590 R16: []Range16{},
4591 R32: []Range32{
4592 {0x10350, 0x1037a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004593 },
4594}
4595
4596var _Old_Persian = &RangeTable{
4597 R16: []Range16{},
4598 R32: []Range32{
4599 {0x103a0, 0x103c3, 1},
4600 {0x103c8, 0x103d5, 1},
4601 },
4602}
4603
4604var _Old_South_Arabian = &RangeTable{
4605 R16: []Range16{},
4606 R32: []Range32{
4607 {0x10a60, 0x10a7f, 1},
4608 },
4609}
4610
4611var _Old_Turkic = &RangeTable{
4612 R16: []Range16{},
4613 R32: []Range32{
4614 {0x10c00, 0x10c48, 1},
4615 },
4616}
4617
4618var _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
4637var _Osmanya = &RangeTable{
4638 R16: []Range16{},
4639 R32: []Range32{
4640 {0x10480, 0x1049d, 1},
4641 {0x104a0, 0x104a9, 1},
4642 },
4643}
4644
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004645var _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
4656var _Palmyrene = &RangeTable{
4657 R16: []Range16{},
4658 R32: []Range32{
4659 {0x10860, 0x1087f, 1},
4660 },
4661}
4662
4663var _Pau_Cin_Hau = &RangeTable{
4664 R16: []Range16{},
4665 R32: []Range32{
4666 {0x11ac0, 0x11af8, 1},
4667 },
4668}
4669
Russ Coxb4d6b712011-10-19 16:02:22 -04004670var _Phags_Pa = &RangeTable{
4671 R16: []Range16{
4672 {0xa840, 0xa877, 1},
4673 },
4674}
4675
4676var _Phoenician = &RangeTable{
4677 R16: []Range16{},
4678 R32: []Range32{
4679 {0x10900, 0x1091b, 1},
4680 {0x1091f, 0x1091f, 1},
4681 },
4682}
4683
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004684var _Psalter_Pahlavi = &RangeTable{
4685 R16: []Range16{},
4686 R32: []Range32{
4687 {0x10b80, 0x10b91, 1},
4688 {0x10b99, 0x10b9c, 1},
4689 {0x10ba9, 0x10baf, 1},
4690 },
4691}
4692
Russ Coxb4d6b712011-10-19 16:02:22 -04004693var _Rejang = &RangeTable{
4694 R16: []Range16{
4695 {0xa930, 0xa953, 1},
4696 {0xa95f, 0xa95f, 1},
4697 },
4698}
4699
4700var _Runic = &RangeTable{
4701 R16: []Range16{
4702 {0x16a0, 0x16ea, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004703 {0x16ee, 0x16f8, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004704 },
4705}
4706
4707var _Samaritan = &RangeTable{
4708 R16: []Range16{
4709 {0x0800, 0x082d, 1},
4710 {0x0830, 0x083e, 1},
4711 },
4712}
4713
4714var _Saurashtra = &RangeTable{
4715 R16: []Range16{
4716 {0xa880, 0xa8c4, 1},
4717 {0xa8ce, 0xa8d9, 1},
4718 },
4719}
4720
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004721var _Sharada = &RangeTable{
4722 R16: []Range16{},
4723 R32: []Range32{
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004724 {0x11180, 0x111cd, 1},
4725 {0x111d0, 0x111df, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004726 },
4727}
4728
Russ Coxb4d6b712011-10-19 16:02:22 -04004729var _Shavian = &RangeTable{
4730 R16: []Range16{},
4731 R32: []Range32{
4732 {0x10450, 0x1047f, 1},
4733 },
4734}
4735
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004736var _Siddham = &RangeTable{
4737 R16: []Range16{},
4738 R32: []Range32{
4739 {0x11580, 0x115b5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004740 {0x115b8, 0x115dd, 1},
4741 },
4742}
4743
4744var _SignWriting = &RangeTable{
4745 R16: []Range16{},
4746 R32: []Range32{
4747 {0x1d800, 0x1da8b, 1},
4748 {0x1da9b, 0x1da9f, 1},
4749 {0x1daa1, 0x1daaf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004750 },
4751}
4752
Russ Coxb4d6b712011-10-19 16:02:22 -04004753var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004765 {0x0de6, 0x0def, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004766 {0x0df2, 0x0df4, 1},
4767 },
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004768 R32: []Range32{
4769 {0x111e1, 0x111f4, 1},
4770 },
Russ Coxb4d6b712011-10-19 16:02:22 -04004771}
4772
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004773var _Sora_Sompeng = &RangeTable{
4774 R16: []Range16{},
4775 R32: []Range32{
4776 {0x110d0, 0x110e8, 1},
4777 {0x110f0, 0x110f9, 1},
4778 },
4779}
4780
Russ Coxb4d6b712011-10-19 16:02:22 -04004781var _Sundanese = &RangeTable{
4782 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004783 {0x1b80, 0x1bbf, 1},
4784 {0x1cc0, 0x1cc7, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004785 },
4786}
4787
4788var _Syloti_Nagri = &RangeTable{
4789 R16: []Range16{
4790 {0xa800, 0xa82b, 1},
4791 },
4792}
4793
4794var _Syriac = &RangeTable{
4795 R16: []Range16{
4796 {0x0700, 0x070d, 1},
4797 {0x070f, 0x074a, 1},
4798 {0x074d, 0x074f, 1},
4799 },
4800}
4801
4802var _Tagalog = &RangeTable{
4803 R16: []Range16{
4804 {0x1700, 0x170c, 1},
4805 {0x170e, 0x1714, 1},
4806 },
4807}
4808
4809var _Tagbanwa = &RangeTable{
4810 R16: []Range16{
4811 {0x1760, 0x176c, 1},
4812 {0x176e, 0x1770, 1},
4813 {0x1772, 0x1773, 1},
4814 },
4815}
4816
4817var _Tai_Le = &RangeTable{
4818 R16: []Range16{
4819 {0x1950, 0x196d, 1},
4820 {0x1970, 0x1974, 1},
4821 },
4822}
4823
4824var _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
4834var _Tai_Viet = &RangeTable{
4835 R16: []Range16{
4836 {0xaa80, 0xaac2, 1},
4837 {0xaadb, 0xaadf, 1},
4838 },
4839}
4840
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004841var _Takri = &RangeTable{
4842 R16: []Range16{},
4843 R32: []Range32{
4844 {0x11680, 0x116b7, 1},
4845 {0x116c0, 0x116c9, 1},
4846 },
4847}
4848
Russ Coxb4d6b712011-10-19 16:02:22 -04004849var _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
4870var _Telugu = &RangeTable{
4871 R16: []Range16{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004872 {0x0c00, 0x0c03, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004873 {0x0c05, 0x0c0c, 1},
4874 {0x0c0e, 0x0c10, 1},
4875 {0x0c12, 0x0c28, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004876 {0x0c2a, 0x0c39, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004877 {0x0c3d, 0x0c44, 1},
4878 {0x0c46, 0x0c48, 1},
4879 {0x0c4a, 0x0c4d, 1},
4880 {0x0c55, 0x0c56, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004881 {0x0c58, 0x0c5a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004882 {0x0c60, 0x0c63, 1},
4883 {0x0c66, 0x0c6f, 1},
4884 {0x0c78, 0x0c7f, 1},
4885 },
4886}
4887
4888var _Thaana = &RangeTable{
4889 R16: []Range16{
4890 {0x0780, 0x07b1, 1},
4891 },
4892}
4893
4894var _Thai = &RangeTable{
4895 R16: []Range16{
4896 {0x0e01, 0x0e3a, 1},
4897 {0x0e40, 0x0e5b, 1},
4898 },
4899}
4900
4901var _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
4913var _Tifinagh = &RangeTable{
4914 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004915 {0x2d30, 0x2d67, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04004916 {0x2d6f, 0x2d70, 1},
4917 {0x2d7f, 0x2d7f, 1},
4918 },
4919}
4920
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004921var _Tirhuta = &RangeTable{
4922 R16: []Range16{},
4923 R32: []Range32{
4924 {0x11480, 0x114c7, 1},
4925 {0x114d0, 0x114d9, 1},
4926 },
4927}
4928
Russ Coxb4d6b712011-10-19 16:02:22 -04004929var _Ugaritic = &RangeTable{
4930 R16: []Range16{},
4931 R32: []Range32{
4932 {0x10380, 0x1039d, 1},
4933 {0x1039f, 0x1039f, 1},
4934 },
4935}
4936
4937var _Vai = &RangeTable{
4938 R16: []Range16{
4939 {0xa500, 0xa62b, 1},
4940 },
4941}
4942
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004943var _Warang_Citi = &RangeTable{
4944 R16: []Range16{},
4945 R32: []Range32{
4946 {0x118a0, 0x118f2, 1},
4947 {0x118ff, 0x118ff, 1},
4948 },
4949}
4950
Russ Coxb4d6b712011-10-19 16:02:22 -04004951var _Yi = &RangeTable{
4952 R16: []Range16{
4953 {0xa000, 0xa48c, 1},
4954 {0xa490, 0xa4c6, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10004955 },
Rob Pike8b6274e2009-08-27 17:04:23 -07004956}
4957
Russ Cox77f00e52012-05-22 13:53:57 -04004958// These variables have type *RangeTable.
Rob Pike25caf182009-08-27 18:38:02 -07004959var (
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02004960 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.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004962 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004967 Bassa_Vah = _Bassa_Vah // Bassa_Vah is the set of Unicode characters in script Bassa_Vah.
Rob Pikefc52d702011-01-31 15:20:44 -08004968 Batak = _Batak // Batak is the set of Unicode characters in script Batak.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004969 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.
Rob Pikefc52d702011-01-31 15:20:44 -08004971 Brahmi = _Brahmi // Brahmi is the set of Unicode characters in script Brahmi.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004972 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004977 Caucasian_Albanian = _Caucasian_Albanian // Caucasian_Albanian is the set of Unicode characters in script Caucasian_Albanian.
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01004978 Chakma = _Chakma // Chakma is the set of Unicode characters in script Chakma.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004979 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004988 Duployan = _Duployan // Duployan is the set of Unicode characters in script Duployan.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004989 Egyptian_Hieroglyphs = _Egyptian_Hieroglyphs // Egyptian_Hieroglyphs is the set of Unicode characters in script Egyptian_Hieroglyphs.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004990 Elbasan = _Elbasan // Elbasan is the set of Unicode characters in script Elbasan.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004991 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02004995 Grantha = _Grantha // Grantha is the set of Unicode characters in script Grantha.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08004996 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.
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005002 Hatran = _Hatran // Hatran is the set of Unicode characters in script Hatran.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005003 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005016 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.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005018 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005022 Linear_A = _Linear_A // Linear_A is the set of Unicode characters in script Linear_A.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005023 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005027 Mahajani = _Mahajani // Mahajani is the set of Unicode characters in script Mahajani.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005028 Malayalam = _Malayalam // Malayalam is the set of Unicode characters in script Malayalam.
Rob Pikefc52d702011-01-31 15:20:44 -08005029 Mandaic = _Mandaic // Mandaic is the set of Unicode characters in script Mandaic.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005030 Manichaean = _Manichaean // Manichaean is the set of Unicode characters in script Manichaean.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005031 Meetei_Mayek = _Meetei_Mayek // Meetei_Mayek is the set of Unicode characters in script Meetei_Mayek.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005032 Mende_Kikakui = _Mende_Kikakui // Mende_Kikakui is the set of Unicode characters in script Mende_Kikakui.
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005033 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005036 Modi = _Modi // Modi is the set of Unicode characters in script Modi.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005037 Mongolian = _Mongolian // Mongolian is the set of Unicode characters in script Mongolian.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005038 Mro = _Mro // Mro is the set of Unicode characters in script Mro.
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005039 Multani = _Multani // Multani is the set of Unicode characters in script Multani.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005040 Myanmar = _Myanmar // Myanmar is the set of Unicode characters in script Myanmar.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005041 Nabataean = _Nabataean // Nabataean is the set of Unicode characters in script Nabataean.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005042 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.
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005046 Old_Hungarian = _Old_Hungarian // Old_Hungarian is the set of Unicode characters in script Old_Hungarian.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005047 Old_Italic = _Old_Italic // Old_Italic is the set of Unicode characters in script Old_Italic.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005048 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.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005050 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005055 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.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005058 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005060 Psalter_Pahlavi = _Psalter_Pahlavi // Psalter_Pahlavi is the set of Unicode characters in script Psalter_Pahlavi.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005061 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.
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005065 Sharada = _Sharada // Sharada is the set of Unicode characters in script Sharada.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005066 Shavian = _Shavian // Shavian is the set of Unicode characters in script Shavian.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005067 Siddham = _Siddham // Siddham is the set of Unicode characters in script Siddham.
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005068 SignWriting = _SignWriting // SignWriting is the set of Unicode characters in script SignWriting.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005069 Sinhala = _Sinhala // Sinhala is the set of Unicode characters in script Sinhala.
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005070 Sora_Sompeng = _Sora_Sompeng // Sora_Sompeng is the set of Unicode characters in script Sora_Sompeng.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005071 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.
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005079 Takri = _Takri // Takri is the set of Unicode characters in script Takri.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005080 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005086 Tirhuta = _Tirhuta // Tirhuta is the set of Unicode characters in script Tirhuta.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005087 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.
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005089 Warang_Citi = _Warang_Citi // Warang_Citi is the set of Unicode characters in script Warang_Citi.
Robert Griesemer45ca9f72009-12-15 15:41:46 -08005090 Yi = _Yi // Yi is the set of Unicode characters in script Yi.
Rob Pike25caf182009-08-27 18:38:02 -07005091)
5092
Rob Pike22c2b472009-08-28 23:05:16 -07005093// Generated by running
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005094// maketables --props=all --url=http://www.unicode.org/Public/8.0.0/ucd/
Rob Pike1e55e4a2009-08-31 16:43:17 -07005095// DO NOT EDIT
5096
Rob Pikefe383842009-08-31 16:48:56 -07005097// Properties is the set of Unicode property tables.
Rob Pike0de328e2011-05-31 09:58:07 +10005098var Properties = map[string]*RangeTable{
Robert Griesemere8a049b2010-03-04 17:37:15 -08005099 "ASCII_Hex_Digit": ASCII_Hex_Digit,
Robert Griesemere8a049b2010-03-04 17:37:15 -08005100 "Bidi_Control": Bidi_Control,
Russ Coxb4d6b712011-10-19 16:02:22 -04005101 "Dash": Dash,
5102 "Deprecated": Deprecated,
Robert Griesemere8a049b2010-03-04 17:37:15 -08005103 "Diacritic": Diacritic,
5104 "Extender": Extender,
Russ Coxb4d6b712011-10-19 16:02:22 -04005105 "Hex_Digit": Hex_Digit,
5106 "Hyphen": Hyphen,
5107 "IDS_Binary_Operator": IDS_Binary_Operator,
Robert Griesemere8a049b2010-03-04 17:37:15 -08005108 "IDS_Trinary_Operator": IDS_Trinary_Operator,
Russ Coxb4d6b712011-10-19 16:02:22 -04005109 "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,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005114 "Other_Default_Ignorable_Code_Point": Other_Default_Ignorable_Code_Point,
Russ Coxb4d6b712011-10-19 16:02:22 -04005115 "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,
Robert Griesemere8a049b2010-03-04 17:37:15 -08005130 "White_Space": White_Space,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005131}
5132
Rob Pike0de328e2011-05-31 09:58:07 +10005133var _ASCII_Hex_Digit = &RangeTable{
5134 R16: []Range16{
5135 {0x0030, 0x0039, 1},
5136 {0x0041, 0x0046, 1},
5137 {0x0061, 0x0066, 1},
5138 },
Russ Cox4591cd62012-09-21 00:35:25 -04005139 LatinOffset: 3,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005140}
5141
Russ Coxb4d6b712011-10-19 16:02:22 -04005142var _Bidi_Control = &RangeTable{
5143 R16: []Range16{
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01005144 {0x061c, 0x061c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005145 {0x200e, 0x200f, 1},
5146 {0x202a, 0x202e, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01005147 {0x2066, 0x2069, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005148 },
5149}
5150
5151var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005165 {0x2e3a, 0x2e3b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005166 {0x2e40, 0x2e40, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005167 {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 },
Russ Cox4591cd62012-09-21 00:35:25 -04005175 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04005176}
5177
Rob Pike0de328e2011-05-31 09:58:07 +10005178var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005190 {0xe007f, 0xe007f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005191 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005192}
5193
Russ Coxb4d6b712011-10-19 16:02:22 -04005194var _Diacritic = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10005195 R16: []Range16{
5196 {0x005e, 0x005e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005197 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005224 {0x08e3, 0x08fe, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005225 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005264 {0x1ab0, 0x1abd, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005265 {0x1b34, 0x1b34, 1},
5266 {0x1b44, 0x1b44, 1},
5267 {0x1b6b, 0x1b73, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005268 {0x1baa, 0x1bab, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005269 {0x1c36, 0x1c37, 1},
5270 {0x1c78, 0x1c7d, 1},
5271 {0x1cd0, 0x1ce8, 1},
5272 {0x1ced, 0x1ced, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005273 {0x1cf4, 0x1cf4, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005274 {0x1cf8, 0x1cf9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005275 {0x1d2c, 0x1d6a, 1},
5276 {0x1dc4, 0x1dcf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005277 {0x1df5, 0x1df5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005278 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005293 {0xa69c, 0xa69d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005294 {0xa6f0, 0xa6f1, 1},
5295 {0xa717, 0xa721, 1},
5296 {0xa788, 0xa788, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005297 {0xa7f8, 0xa7f9, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005298 {0xa8c4, 0xa8c4, 1},
5299 {0xa8e0, 0xa8f1, 1},
5300 {0xa92b, 0xa92e, 1},
5301 {0xa953, 0xa953, 1},
5302 {0xa9b3, 0xa9b3, 1},
5303 {0xa9c0, 0xa9c0, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005304 {0xa9e5, 0xa9e5, 1},
5305 {0xaa7b, 0xaa7d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005306 {0xaabf, 0xaac2, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005307 {0xaaf6, 0xaaf6, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005308 {0xab5b, 0xab5f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005309 {0xabec, 0xabed, 1},
5310 {0xfb1e, 0xfb1e, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005311 {0xfe20, 0xfe2f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005312 {0xff3e, 0xff3e, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005313 {0xff40, 0xff40, 1},
5314 {0xff70, 0xff70, 1},
5315 {0xff9e, 0xff9f, 1},
5316 {0xffe3, 0xffe3, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005317 },
5318 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005319 {0x102e0, 0x102e0, 1},
5320 {0x10ae5, 0x10ae6, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005321 {0x110b9, 0x110ba, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005322 {0x11133, 0x11134, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005323 {0x11173, 0x11173, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005324 {0x111c0, 0x111c0, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005325 {0x111ca, 0x111cc, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005326 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005335 {0x116b6, 0x116b7, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005336 {0x1172b, 0x1172b, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005337 {0x16af0, 0x16af4, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005338 {0x16f8f, 0x16f9f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005339 {0x1d167, 0x1d169, 1},
5340 {0x1d16d, 0x1d172, 1},
5341 {0x1d17b, 0x1d182, 1},
5342 {0x1d185, 0x1d18b, 1},
5343 {0x1d1aa, 0x1d1ad, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005344 {0x1e8d0, 0x1e8d6, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005345 },
Russ Cox4591cd62012-09-21 00:35:25 -04005346 LatinOffset: 6,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005347}
5348
Russ Coxb4d6b712011-10-19 16:02:22 -04005349var _Extender = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10005350 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04005351 {0x00b7, 0x00b7, 1},
5352 {0x02d0, 0x02d1, 1},
5353 {0x0640, 0x0640, 1},
5354 {0x07fa, 0x07fa, 1},
5355 {0x0e46, 0x0e46, 1},
5356 {0x0ec6, 0x0ec6, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005357 {0x180a, 0x180a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005358 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005369 {0xa9e6, 0xa9e6, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005370 {0xaa70, 0xaa70, 1},
5371 {0xaadd, 0xaadd, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005372 {0xaaf3, 0xaaf4, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005373 {0xff70, 0xff70, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005374 },
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005375 R32: []Range32{
5376 {0x1135d, 0x1135d, 1},
5377 {0x115c6, 0x115c8, 1},
5378 {0x16b42, 0x16b43, 1},
5379 },
Russ Cox4591cd62012-09-21 00:35:25 -04005380 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04005381}
5382
5383var _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},
Rob Pike0de328e2011-05-31 09:58:07 +10005391 },
Russ Cox4591cd62012-09-21 00:35:25 -04005392 LatinOffset: 3,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005393}
5394
Rob Pike0de328e2011-05-31 09:58:07 +10005395var _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 },
Russ Cox4591cd62012-09-21 00:35:25 -04005408 LatinOffset: 2,
Rob Pike1e55e4a2009-08-31 16:43:17 -07005409}
5410
Rob Pike0de328e2011-05-31 09:58:07 +10005411var _IDS_Binary_Operator = &RangeTable{
5412 R16: []Range16{
5413 {0x2ff0, 0x2ff1, 1},
5414 {0x2ff4, 0x2ffb, 1},
5415 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005416}
5417
Russ Coxb4d6b712011-10-19 16:02:22 -04005418var _IDS_Trinary_Operator = &RangeTable{
5419 R16: []Range16{
5420 {0x2ff2, 0x2ff3, 1},
5421 },
5422}
5423
5424var _Ideographic = &RangeTable{
5425 R16: []Range16{
5426 {0x3006, 0x3007, 1},
5427 {0x3021, 0x3029, 1},
5428 {0x3038, 0x303a, 1},
5429 {0x3400, 0x4db5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005430 {0x4e00, 0x9fd5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005431 {0xf900, 0xfa6d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005432 {0xfa70, 0xfad9, 1},
5433 },
5434 R32: []Range32{
5435 {0x20000, 0x2a6d6, 1},
5436 {0x2a700, 0x2b734, 1},
5437 {0x2b740, 0x2b81d, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005438 {0x2b820, 0x2cea1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005439 {0x2f800, 0x2fa1d, 1},
5440 },
5441}
5442
5443var _Join_Control = &RangeTable{
5444 R16: []Range16{
5445 {0x200c, 0x200d, 1},
5446 },
5447}
5448
Rob Pike0de328e2011-05-31 09:58:07 +10005449var _Logical_Order_Exception = &RangeTable{
5450 R16: []Range16{
5451 {0x0e40, 0x0e44, 1},
5452 {0x0ec0, 0x0ec4, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005453 {0x19b5, 0x19b7, 1},
5454 {0x19ba, 0x19ba, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005455 {0xaab5, 0xaab6, 1},
5456 {0xaab9, 0xaab9, 1},
5457 {0xaabb, 0xaabc, 1},
5458 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005459}
5460
Russ Coxb4d6b712011-10-19 16:02:22 -04005461var _Noncharacter_Code_Point = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10005462 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04005463 {0xfdd0, 0xfdef, 1},
5464 {0xfffe, 0xffff, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005465 },
5466 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04005467 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10005483 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005484}
5485
Rob Pike0de328e2011-05-31 09:58:07 +10005486var _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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005509 {0x08e3, 0x08e9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005510 {0x08f0, 0x0903, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005511 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005545 {0x0c00, 0x0c03, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005546 {0x0c3e, 0x0c44, 1},
5547 {0x0c46, 0x0c48, 1},
5548 {0x0c4a, 0x0c4c, 1},
5549 {0x0c55, 0x0c56, 1},
5550 {0x0c62, 0x0c63, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005551 {0x0c81, 0x0c83, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005552 {0x0cbe, 0x0cc4, 1},
5553 {0x0cc6, 0x0cc8, 1},
5554 {0x0cca, 0x0ccc, 1},
5555 {0x0cd5, 0x0cd6, 1},
5556 {0x0ce2, 0x0ce3, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005557 {0x0d01, 0x0d03, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005558 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10005597 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005604 {0x1bac, 0x1bad, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005605 {0x1be7, 0x1bf1, 1},
5606 {0x1c24, 0x1c35, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005607 {0x1cf2, 0x1cf3, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005608 {0x1de7, 0x1df4, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005609 {0x24b6, 0x24e9, 1},
5610 {0x2de0, 0x2dff, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005611 {0xa674, 0xa67b, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005612 {0xa69e, 0xa69f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005613 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005627 {0xaaeb, 0xaaef, 1},
5628 {0xaaf5, 0xaaf5, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005629 {0xabe3, 0xabea, 1},
5630 {0xfb1e, 0xfb1e, 1},
5631 },
5632 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005633 {0x10376, 0x1037a, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005634 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005641 {0x11100, 0x11102, 1},
5642 {0x11127, 0x11132, 1},
5643 {0x11180, 0x11182, 1},
5644 {0x111b3, 0x111bf, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005645 {0x1122c, 0x11234, 1},
5646 {0x11237, 0x11237, 1},
5647 {0x112df, 0x112e8, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005648 {0x11300, 0x11303, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005649 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005657 {0x115dc, 0x115dd, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005658 {0x11630, 0x1163e, 1},
5659 {0x11640, 0x11640, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005660 {0x116ab, 0x116b5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02005661 {0x1171d, 0x1172a, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005662 {0x16b30, 0x16b36, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005663 {0x16f51, 0x16f7e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005664 {0x1bc9e, 0x1bc9e, 1},
5665 {0x1f130, 0x1f149, 1},
5666 {0x1f150, 0x1f169, 1},
5667 {0x1f170, 0x1f189, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005668 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005669}
5670
Russ Coxb4d6b712011-10-19 16:02:22 -04005671var _Other_Default_Ignorable_Code_Point = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10005672 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04005673 {0x034f, 0x034f, 1},
5674 {0x115f, 0x1160, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005675 {0x17b4, 0x17b5, 1},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01005676 {0x2065, 0x2065, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005677 {0x3164, 0x3164, 1},
5678 {0xffa0, 0xffa0, 1},
5679 {0xfff0, 0xfff8, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005680 },
5681 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04005682 {0xe0000, 0xe0000, 1},
5683 {0xe0002, 0xe001f, 1},
5684 {0xe0080, 0xe00ff, 1},
5685 {0xe01f0, 0xe0fff, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005686 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005687}
5688
Rob Pike0de328e2011-05-31 09:58:07 +10005689var _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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005704 {0x302e, 0x302f, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005705 {0xff9e, 0xff9f, 1},
5706 },
5707 R32: []Range32{
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005708 {0x1133e, 0x1133e, 1},
5709 {0x11357, 0x11357, 1},
5710 {0x114b0, 0x114b0, 1},
5711 {0x114bd, 0x114bd, 1},
5712 {0x115af, 0x115af, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10005713 {0x1d165, 0x1d165, 1},
5714 {0x1d16e, 0x1d172, 1},
5715 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07005716}
5717
Russ Coxb4d6b712011-10-19 16:02:22 -04005718var _Other_ID_Continue = &RangeTable{
Rob Pike0de328e2011-05-31 09:58:07 +10005719 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04005720 {0x00b7, 0x00b7, 1},
5721 {0x0387, 0x0387, 1},
5722 {0x1369, 0x1371, 1},
5723 {0x19da, 0x19da, 1},
5724 },
Russ Cox4591cd62012-09-21 00:35:25 -04005725 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04005726}
5727
5728var _Other_ID_Start = &RangeTable{
5729 R16: []Range16{
5730 {0x2118, 0x2118, 1},
5731 {0x212e, 0x212e, 1},
5732 {0x309b, 0x309c, 1},
5733 },
5734}
5735
5736var _Other_Lowercase = &RangeTable{
5737 R16: []Range16{
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005738 {0x00aa, 0x00aa, 1},
5739 {0x00ba, 0x00ba, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005740 {0x02b0, 0x02b8, 1},
5741 {0x02c0, 0x02c1, 1},
5742 {0x02e0, 0x02e4, 1},
5743 {0x0345, 0x0345, 1},
5744 {0x037a, 0x037a, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005745 {0x1d2c, 0x1d6a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005746 {0x1d78, 0x1d78, 1},
5747 {0x1d9b, 0x1dbf, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005748 {0x2071, 0x2071, 1},
5749 {0x207f, 0x207f, 1},
5750 {0x2090, 0x209c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005751 {0x2170, 0x217f, 1},
5752 {0x24d0, 0x24e9, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005753 {0x2c7c, 0x2c7d, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005754 {0xa69c, 0xa69d, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005755 {0xa770, 0xa770, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005756 {0xa7f8, 0xa7f9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005757 {0xab5c, 0xab5f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005758 },
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005759 LatinOffset: 2,
Russ Coxb4d6b712011-10-19 16:02:22 -04005760}
5761
5762var _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},
Marcel van Lohuizen746d6362014-02-18 20:12:59 +01005805 {0x2308, 0x230b, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005806 {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},
Rob Pike0de328e2011-05-31 09:58:07 +10005834 },
5835 R32: []Range32{
Russ Coxb4d6b712011-10-19 16:02:22 -04005836 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01005867 {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},
Russ Coxb4d6b712011-10-19 16:02:22 -04005900 },
Russ Cox4591cd62012-09-21 00:35:25 -04005901 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04005902}
5903
5904var _Other_Uppercase = &RangeTable{
5905 R16: []Range16{
5906 {0x2160, 0x216f, 1},
5907 {0x24b6, 0x24cf, 1},
5908 },
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005909 R32: []Range32{
5910 {0x1f130, 0x1f149, 1},
5911 {0x1f150, 0x1f169, 1},
5912 {0x1f170, 0x1f189, 1},
5913 },
Russ Coxb4d6b712011-10-19 16:02:22 -04005914}
5915
5916var _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 },
Russ Cox4591cd62012-09-21 00:35:25 -04005947 LatinOffset: 15,
Russ Coxb4d6b712011-10-19 16:02:22 -04005948}
5949
5950var _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 },
Russ Cox4591cd62012-09-21 00:35:25 -04005958 LatinOffset: 3,
Russ Coxb4d6b712011-10-19 16:02:22 -04005959}
5960
5961var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02005969 {0x2e42, 0x2e42, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005970 {0x300c, 0x300f, 1},
5971 {0x301d, 0x301f, 1},
5972 {0xfe41, 0xfe44, 1},
5973 {0xff02, 0xff02, 1},
5974 {0xff07, 0xff07, 1},
5975 {0xff62, 0xff63, 1},
5976 },
Russ Cox4591cd62012-09-21 00:35:25 -04005977 LatinOffset: 4,
Russ Coxb4d6b712011-10-19 16:02:22 -04005978}
5979
5980var _Radical = &RangeTable{
5981 R16: []Range16{
5982 {0x2e80, 0x2e99, 1},
5983 {0x2e9b, 0x2ef3, 1},
5984 {0x2f00, 0x2fd5, 1},
5985 },
5986}
5987
5988var _STerm = &RangeTable{
5989 R16: []Range16{
5990 {0x0021, 0x0021, 1},
5991 {0x002e, 0x002e, 1},
5992 {0x003f, 0x003f, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04005993 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006015 {0x2e3c, 0x2e3c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006016 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006026 {0xaaf0, 0xaaf1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006027 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006039 {0x11141, 0x11143, 1},
6040 {0x111c5, 0x111c6, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006041 {0x111cd, 0x111cd, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006042 {0x111de, 0x111df, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006043 {0x11238, 0x11239, 1},
6044 {0x1123b, 0x1123c, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006045 {0x112a9, 0x112a9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006046 {0x115c2, 0x115c3, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006047 {0x115c9, 0x115d7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006048 {0x11641, 0x11642, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006049 {0x1173c, 0x1173e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006050 {0x16a6e, 0x16a6f, 1},
6051 {0x16af5, 0x16af5, 1},
6052 {0x16b37, 0x16b38, 1},
6053 {0x16b44, 0x16b44, 1},
6054 {0x1bc9f, 0x1bc9f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006055 {0x1da88, 0x1da88, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006056 },
Russ Cox4591cd62012-09-21 00:35:25 -04006057 LatinOffset: 3,
Russ Coxb4d6b712011-10-19 16:02:22 -04006058}
6059
6060var _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 },
Russ Cox4591cd62012-09-21 00:35:25 -04006096 LatinOffset: 1,
Russ Coxb4d6b712011-10-19 16:02:22 -04006097}
6098
6099var _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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006127 {0x1735, 0x1736, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006128 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006141 {0x2e3c, 0x2e3c, 1},
6142 {0x2e41, 0x2e41, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006143 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006153 {0xaaf0, 0xaaf1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006154 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006170 {0x10a56, 0x10a57, 1},
6171 {0x10af0, 0x10af5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006172 {0x10b3a, 0x10b3f, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006173 {0x10b99, 0x10b9c, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006174 {0x11047, 0x1104d, 1},
6175 {0x110be, 0x110c1, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006176 {0x11141, 0x11143, 1},
6177 {0x111c5, 0x111c6, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006178 {0x111cd, 0x111cd, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006179 {0x111de, 0x111df, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006180 {0x11238, 0x1123c, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006181 {0x112a9, 0x112a9, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006182 {0x115c2, 0x115c5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006183 {0x115c9, 0x115d7, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006184 {0x11641, 0x11642, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006185 {0x1173c, 0x1173e, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006186 {0x12470, 0x12474, 1},
6187 {0x16a6e, 0x16a6f, 1},
6188 {0x16af5, 0x16af5, 1},
6189 {0x16b37, 0x16b39, 1},
6190 {0x16b44, 0x16b44, 1},
6191 {0x1bc9f, 0x1bc9f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006192 {0x1da87, 0x1da8a, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006193 },
Russ Cox4591cd62012-09-21 00:35:25 -04006194 LatinOffset: 5,
Russ Coxb4d6b712011-10-19 16:02:22 -04006195}
6196
6197var _Unified_Ideograph = &RangeTable{
6198 R16: []Range16{
6199 {0x3400, 0x4db5, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006200 {0x4e00, 0x9fd5, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006201 {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},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006213 {0x2b820, 0x2cea1, 1},
Russ Coxb4d6b712011-10-19 16:02:22 -04006214 },
6215}
6216
6217var _Variation_Selector = &RangeTable{
6218 R16: []Range16{
6219 {0x180b, 0x180d, 1},
6220 {0xfe00, 0xfe0f, 1},
6221 },
6222 R32: []Range32{
6223 {0xe0100, 0xe01ef, 1},
Rob Pike0de328e2011-05-31 09:58:07 +10006224 },
Rob Pike1e55e4a2009-08-31 16:43:17 -07006225}
6226
Rob Pike0de328e2011-05-31 09:58:07 +10006227var _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},
Rob Pike0de328e2011-05-31 09:58:07 +10006234 {0x2000, 0x200a, 1},
6235 {0x2028, 0x2029, 1},
6236 {0x202f, 0x202f, 1},
6237 {0x205f, 0x205f, 1},
6238 {0x3000, 0x3000, 1},
6239 },
Russ Cox4591cd62012-09-21 00:35:25 -04006240 LatinOffset: 4,
Rob Pike1e55e4a2009-08-31 16:43:17 -07006241}
6242
Russ Cox77f00e52012-05-22 13:53:57 -04006243// These variables have type *RangeTable.
Rob Pike1e55e4a2009-08-31 16:43:17 -07006244var (
Robert Griesemer45ca9f72009-12-15 15:41:46 -08006245 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.
Rob Pike1e55e4a2009-08-31 16:43:17 -07006277)
6278
6279// Generated by running
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006280// 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
Rob Pike22c2b472009-08-28 23:05:16 -07006281// DO NOT EDIT
6282
6283// CaseRanges is the table describing case mappings for all letters with
6284// non-self mappings.
6285var CaseRanges = _CaseRanges
Robert Griesemer841c18a2009-11-04 21:39:55 -08006286var _CaseRanges = []CaseRange{
Robert Griesemer34788912010-10-22 10:06:33 -07006287 {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}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006378 {0x025C, 0x025C, d{42319, 0, 42319}},
Robert Griesemer34788912010-10-22 10:06:33 -07006379 {0x0260, 0x0260, d{-205, 0, -205}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006380 {0x0261, 0x0261, d{42315, 0, 42315}},
Robert Griesemer34788912010-10-22 10:06:33 -07006381 {0x0263, 0x0263, d{-207, 0, -207}},
Rob Pikefc52d702011-01-31 15:20:44 -08006382 {0x0265, 0x0265, d{42280, 0, 42280}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006383 {0x0266, 0x0266, d{42308, 0, 42308}},
Robert Griesemer34788912010-10-22 10:06:33 -07006384 {0x0268, 0x0268, d{-209, 0, -209}},
6385 {0x0269, 0x0269, d{-211, 0, -211}},
6386 {0x026B, 0x026B, d{10743, 0, 10743}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006387 {0x026C, 0x026C, d{42305, 0, 42305}},
Robert Griesemer34788912010-10-22 10:06:33 -07006388 {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}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006395 {0x0287, 0x0287, d{42282, 0, 42282}},
Robert Griesemer34788912010-10-22 10:06:33 -07006396 {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}},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006401 {0x029D, 0x029D, d{42261, 0, 42261}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006402 {0x029E, 0x029E, d{42258, 0, 42258}},
Rob Pike5ea413e2011-07-27 15:54:23 -07006403 {0x0345, 0x0345, d{84, 0, 84}},
Robert Griesemer34788912010-10-22 10:06:33 -07006404 {0x0370, 0x0373, d{UpperLower, UpperLower, UpperLower}},
6405 {0x0376, 0x0377, d{UpperLower, UpperLower, UpperLower}},
6406 {0x037B, 0x037D, d{130, 0, 130}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006407 {0x037F, 0x037F, d{0, 116, 0}},
Robert Griesemer34788912010-10-22 10:06:33 -07006408 {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}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006431 {0x03F3, 0x03F3, d{-116, 0, -116}},
Robert Griesemer34788912010-10-22 10:06:33 -07006432 {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}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006447 {0x04D0, 0x052F, d{UpperLower, UpperLower, UpperLower}},
Robert Griesemer34788912010-10-22 10:06:33 -07006448 {0x0531, 0x0556, d{0, 48, 0}},
6449 {0x0561, 0x0586, d{-48, 0, -48}},
6450 {0x10A0, 0x10C5, d{0, 7264, 0}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006451 {0x10C7, 0x10C7, d{0, 7264, 0}},
6452 {0x10CD, 0x10CD, d{0, 7264, 0}},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006453 {0x13A0, 0x13EF, d{0, 38864, 0}},
6454 {0x13F0, 0x13F5, d{0, 8, 0}},
6455 {0x13F8, 0x13FD, d{-8, 0, -8}},
Robert Griesemer34788912010-10-22 10:06:33 -07006456 {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}},
Rob Pike5ea413e2011-07-27 15:54:23 -07006520 {0x2160, 0x216F, d{0, 16, 0}},
6521 {0x2170, 0x217F, d{-16, 0, -16}},
Robert Griesemer34788912010-10-22 10:06:33 -07006522 {0x2183, 0x2184, d{UpperLower, UpperLower, UpperLower}},
Rob Pike5ea413e2011-07-27 15:54:23 -07006523 {0x24B6, 0x24CF, d{0, 26, 0}},
6524 {0x24D0, 0x24E9, d{-26, 0, -26}},
Robert Griesemer34788912010-10-22 10:06:33 -07006525 {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}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006543 {0x2CF2, 0x2CF3, d{UpperLower, UpperLower, UpperLower}},
Robert Griesemer34788912010-10-22 10:06:33 -07006544 {0x2D00, 0x2D25, d{-7264, 0, -7264}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006545 {0x2D27, 0x2D27, d{-7264, 0, -7264}},
6546 {0x2D2D, 0x2D2D, d{-7264, 0, -7264}},
Rob Pikefc52d702011-01-31 15:20:44 -08006547 {0xA640, 0xA66D, d{UpperLower, UpperLower, UpperLower}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006548 {0xA680, 0xA69B, d{UpperLower, UpperLower, UpperLower}},
Robert Griesemer34788912010-10-22 10:06:33 -07006549 {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}},
Rob Pikefc52d702011-01-31 15:20:44 -08006555 {0xA78D, 0xA78D, d{0, -42280, 0}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006556 {0xA790, 0xA793, d{UpperLower, UpperLower, UpperLower}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006557 {0xA796, 0xA7A9, d{UpperLower, UpperLower, UpperLower}},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006558 {0xA7AA, 0xA7AA, d{0, -42308, 0}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006559 {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}},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006564 {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}},
Robert Griesemer34788912010-10-22 10:06:33 -07006569 {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}},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02006573 {0x10C80, 0x10CB2, d{0, 64, 0}},
6574 {0x10CC0, 0x10CF2, d{-64, 0, -64}},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006575 {0x118A0, 0x118BF, d{0, 32, 0}},
6576 {0x118C0, 0x118DF, d{-32, 0, -32}},
Rob Pike22c2b472009-08-28 23:05:16 -07006577}
Rob Pike7a922872011-06-04 09:28:27 +10006578var properties = [MaxLatin1 + 1]uint8{
Rob Pike8d64e732011-06-04 07:46:22 +10006579 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, // '~'
Russ Coxfc77e822011-06-16 17:56:25 -04006706 0x7F: pC, // '\u007f'
Rob Pike8d64e732011-06-04 07:46:22 +10006707 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'
Russ Coxfc77e822011-06-16 17:56:25 -04006740 0xA1: pP | pp, // '¡'
6741 0xA2: pS | pp, // '¢'
6742 0xA3: pS | pp, // '£'
6743 0xA4: pS | pp, // '¤'
6744 0xA5: pS | pp, // '¥'
6745 0xA6: pS | pp, // '¦'
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006746 0xA7: pP | pp, // '§'
Russ Coxfc77e822011-06-16 17:56:25 -04006747 0xA8: pS | pp, // '¨'
6748 0xA9: pS | pp, // '©'
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006749 0xAA: pLo | pp, // 'ª'
Russ Coxfc77e822011-06-16 17:56:25 -04006750 0xAB: pP | pp, // '«'
6751 0xAC: pS | pp, // '¬'
Rob Pike8d64e732011-06-04 07:46:22 +10006752 0xAD: 0, // '\u00ad'
Russ Coxfc77e822011-06-16 17:56:25 -04006753 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, // 'µ'
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006761 0xB6: pP | pp, // '¶'
Russ Coxfc77e822011-06-16 17:56:25 -04006762 0xB7: pP | pp, // '·'
6763 0xB8: pS | pp, // '¸'
6764 0xB9: pN | pp, // '¹'
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01006765 0xBA: pLo | pp, // 'º'
Russ Coxfc77e822011-06-16 17:56:25 -04006766 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, // 'ÿ'
Rob Pike8d64e732011-06-04 07:46:22 +10006835}
Rob Pike0de328e2011-05-31 09:58:07 +10006836
Russ Coxfc77e822011-06-16 17:56:25 -04006837var 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},
Russ Coxfc77e822011-06-16 17:56:25 -04006901}
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.
6907var FoldCategory = map[string]*RangeTable{
Russ Coxfc77e822011-06-16 17:56:25 -04006908 "Common": foldCommon,
6909 "Greek": foldGreek,
Russ Coxb4d6b712011-10-19 16:02:22 -04006910 "Inherited": foldInherited,
6911 "L": foldL,
6912 "Ll": foldLl,
Russ Coxfc77e822011-06-16 17:56:25 -04006913 "Lt": foldLt,
Russ Coxb4d6b712011-10-19 16:02:22 -04006914 "Lu": foldLu,
6915 "M": foldM,
6916 "Mn": foldMn,
6917}
6918
6919var foldCommon = &RangeTable{
6920 R16: []Range16{
6921 {0x039c, 0x03bc, 32},
6922 },
6923}
6924
6925var foldGreek = &RangeTable{
6926 R16: []Range16{
6927 {0x00b5, 0x0345, 656},
6928 },
6929}
6930
6931var foldInherited = &RangeTable{
6932 R16: []Range16{
6933 {0x0399, 0x03b9, 32},
6934 {0x1fbe, 0x1fbe, 1},
6935 },
6936}
6937
6938var foldL = &RangeTable{
6939 R16: []Range16{
6940 {0x0345, 0x0345, 1},
6941 },
Russ Coxfc77e822011-06-16 17:56:25 -04006942}
6943
6944var 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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02006986 {0x037f, 0x0386, 7},
6987 {0x0388, 0x038a, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04006988 {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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007000 {0x04d0, 0x052e, 2},
Russ Coxfc77e822011-06-16 17:56:25 -04007001 {0x0531, 0x0556, 1},
7002 {0x10a0, 0x10c5, 1},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01007003 {0x10c7, 0x10cd, 6},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007004 {0x13a0, 0x13f5, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007005 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01007034 {0x2cf2, 0xa640, 31054},
7035 {0xa642, 0xa66c, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007036 {0xa680, 0xa69a, 2},
Russ Coxfc77e822011-06-16 17:56:25 -04007037 {0xa722, 0xa72e, 2},
7038 {0xa732, 0xa76e, 2},
7039 {0xa779, 0xa77d, 2},
7040 {0xa77e, 0xa786, 2},
7041 {0xa78b, 0xa78d, 2},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01007042 {0xa790, 0xa792, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007043 {0xa796, 0xa7aa, 2},
7044 {0xa7ab, 0xa7ad, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007045 {0xa7b0, 0xa7b4, 1},
7046 {0xa7b6, 0xff21, 22379},
7047 {0xff22, 0xff3a, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007048 },
7049 R32: []Range32{
7050 {0x10400, 0x10427, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007051 {0x10c80, 0x10cb2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007052 {0x118a0, 0x118bf, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007053 },
Russ Cox4591cd62012-09-21 00:35:25 -04007054 LatinOffset: 3,
Russ Coxfc77e822011-06-16 17:56:25 -04007055}
7056
Russ Coxb4d6b712011-10-19 16:02:22 -04007057var foldLt = &RangeTable{
Russ Coxfc77e822011-06-16 17:56:25 -04007058 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04007059 {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},
Russ Coxfc77e822011-06-16 17:56:25 -04007068 },
7069}
7070
7071var 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},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007108 {0x025c, 0x0260, 4},
7109 {0x0261, 0x0265, 2},
7110 {0x0266, 0x0268, 2},
7111 {0x0269, 0x026b, 2},
7112 {0x026c, 0x026f, 3},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01007113 {0x0271, 0x0272, 1},
7114 {0x0275, 0x027d, 8},
7115 {0x0280, 0x0283, 3},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007116 {0x0287, 0x028c, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007117 {0x0292, 0x029d, 11},
7118 {0x029e, 0x0345, 167},
7119 {0x0371, 0x0373, 2},
7120 {0x0377, 0x037b, 4},
Russ Coxfc77e822011-06-16 17:56:25 -04007121 {0x037c, 0x037d, 1},
7122 {0x03ac, 0x03af, 1},
7123 {0x03b1, 0x03ce, 1},
7124 {0x03d0, 0x03d1, 1},
7125 {0x03d5, 0x03d7, 1},
7126 {0x03d9, 0x03ef, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007127 {0x03f0, 0x03f3, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007128 {0x03f5, 0x03fb, 3},
7129 {0x0430, 0x045f, 1},
7130 {0x0461, 0x0481, 2},
7131 {0x048b, 0x04bf, 2},
7132 {0x04c2, 0x04ce, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007133 {0x04cf, 0x052f, 2},
Russ Coxfc77e822011-06-16 17:56:25 -04007134 {0x0561, 0x0586, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007135 {0x13f8, 0x13fd, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007136 {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},
Marcel van Lohuizene14cf902012-10-31 17:32:16 +01007159 {0x2cf3, 0x2d00, 13},
7160 {0x2d01, 0x2d25, 1},
7161 {0x2d27, 0x2d2d, 6},
Russ Coxfc77e822011-06-16 17:56:25 -04007162 {0xa641, 0xa66d, 2},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007163 {0xa681, 0xa69b, 2},
Russ Coxfc77e822011-06-16 17:56:25 -04007164 {0xa723, 0xa72f, 2},
7165 {0xa733, 0xa76f, 2},
7166 {0xa77a, 0xa77c, 2},
7167 {0xa77f, 0xa787, 2},
7168 {0xa78c, 0xa791, 5},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007169 {0xa793, 0xa797, 4},
7170 {0xa799, 0xa7a9, 2},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007171 {0xa7b5, 0xa7b7, 2},
7172 {0xab53, 0xab70, 29},
7173 {0xab71, 0xabbf, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007174 {0xff41, 0xff5a, 1},
7175 },
7176 R32: []Range32{
7177 {0x10428, 0x1044f, 1},
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007178 {0x10cc0, 0x10cf2, 1},
Marcel van Lohuizen65d8cb92014-08-18 20:26:10 +02007179 {0x118c0, 0x118df, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007180 },
Russ Cox4591cd62012-09-21 00:35:25 -04007181 LatinOffset: 4,
Russ Coxfc77e822011-06-16 17:56:25 -04007182}
7183
Russ Coxb4d6b712011-10-19 16:02:22 -04007184var foldM = &RangeTable{
Russ Coxfc77e822011-06-16 17:56:25 -04007185 R16: []Range16{
Russ Coxb4d6b712011-10-19 16:02:22 -04007186 {0x0399, 0x03b9, 32},
7187 {0x1fbe, 0x1fbe, 1},
7188 },
7189}
7190
7191var foldMn = &RangeTable{
7192 R16: []Range16{
7193 {0x0399, 0x03b9, 32},
7194 {0x1fbe, 0x1fbe, 1},
Russ Coxfc77e822011-06-16 17:56:25 -04007195 },
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.
7202var FoldScript = map[string]*RangeTable{}
7203
Marcel van Lohuizenfe15da62015-06-21 20:21:04 +02007204// Range entries: 3546 16-bit, 1306 32-bit, 4852 total.
7205// Range bytes: 21276 16-bit, 15672 32-bit, 36948 total.
Russ Coxfc77e822011-06-16 17:56:25 -04007206
Rob Pike5ea413e2011-07-27 15:54:23 -07007207// Fold orbit bytes: 63 pairs, 252 bytes