natty-ui 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1275 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NattyUI
4
+ module Text
5
+ module EastAsianWidth
6
+ def self.[](ord) = WIDTH[LAST.bsearch_index { ord <= _1 }]
7
+
8
+ map = {
9
+ 0x1f => 2,
10
+ 0x7e => 1,
11
+ 0x7f => 1,
12
+ 0xa0 => 1,
13
+ 0xa1 => -1,
14
+ 0xa3 => 1,
15
+ 0xa4 => -1,
16
+ 0xa6 => 1,
17
+ 0xa8 => -1,
18
+ 0xa9 => 1,
19
+ 0xaa => -1,
20
+ 0xac => 1,
21
+ 0xae => -1,
22
+ 0xaf => 1,
23
+ 0xb4 => -1,
24
+ 0xb5 => 1,
25
+ 0xba => -1,
26
+ 0xbb => 1,
27
+ 0xbf => -1,
28
+ 0xc5 => 1,
29
+ 0xc6 => -1,
30
+ 0xcf => 1,
31
+ 0xd0 => -1,
32
+ 0xd6 => 1,
33
+ 0xd8 => -1,
34
+ 0xdd => 1,
35
+ 0xe1 => -1,
36
+ 0xe5 => 1,
37
+ 0xe6 => -1,
38
+ 0xe7 => 1,
39
+ 0xea => -1,
40
+ 0xeb => 1,
41
+ 0xed => -1,
42
+ 0xef => 1,
43
+ 0xf0 => -1,
44
+ 0xf1 => 1,
45
+ 0xf3 => -1,
46
+ 0xf6 => 1,
47
+ 0xfa => -1,
48
+ 0xfb => 1,
49
+ 0xfc => -1,
50
+ 0xfd => 1,
51
+ 0xfe => -1,
52
+ 0x100 => 1,
53
+ 0x101 => -1,
54
+ 0x110 => 1,
55
+ 0x111 => -1,
56
+ 0x112 => 1,
57
+ 0x113 => -1,
58
+ 0x11a => 1,
59
+ 0x11b => -1,
60
+ 0x125 => 1,
61
+ 0x127 => -1,
62
+ 0x12a => 1,
63
+ 0x12b => -1,
64
+ 0x130 => 1,
65
+ 0x133 => -1,
66
+ 0x137 => 1,
67
+ 0x138 => -1,
68
+ 0x13e => 1,
69
+ 0x142 => -1,
70
+ 0x143 => 1,
71
+ 0x144 => -1,
72
+ 0x147 => 1,
73
+ 0x14b => -1,
74
+ 0x14c => 1,
75
+ 0x14d => -1,
76
+ 0x151 => 1,
77
+ 0x153 => -1,
78
+ 0x165 => 1,
79
+ 0x167 => -1,
80
+ 0x16a => 1,
81
+ 0x16b => -1,
82
+ 0x1cd => 1,
83
+ 0x1ce => -1,
84
+ 0x1cf => 1,
85
+ 0x1d0 => -1,
86
+ 0x1d1 => 1,
87
+ 0x1d2 => -1,
88
+ 0x1d3 => 1,
89
+ 0x1d4 => -1,
90
+ 0x1d5 => 1,
91
+ 0x1d6 => -1,
92
+ 0x1d7 => 1,
93
+ 0x1d8 => -1,
94
+ 0x1d9 => 1,
95
+ 0x1da => -1,
96
+ 0x1db => 1,
97
+ 0x1dc => -1,
98
+ 0x250 => 1,
99
+ 0x251 => -1,
100
+ 0x260 => 1,
101
+ 0x261 => -1,
102
+ 0x2c3 => 1,
103
+ 0x2c4 => -1,
104
+ 0x2c6 => 1,
105
+ 0x2c7 => -1,
106
+ 0x2c8 => 1,
107
+ 0x2cb => -1,
108
+ 0x2cc => 1,
109
+ 0x2cd => -1,
110
+ 0x2cf => 1,
111
+ 0x2d0 => -1,
112
+ 0x2d7 => 1,
113
+ 0x2db => -1,
114
+ 0x2dc => 1,
115
+ 0x2dd => -1,
116
+ 0x2de => 1,
117
+ 0x2df => -1,
118
+ 0x2ff => 1,
119
+ 0x36f => 0,
120
+ 0x390 => 1,
121
+ 0x3a1 => -1,
122
+ 0x3a2 => 1,
123
+ 0x3a9 => -1,
124
+ 0x3b0 => 1,
125
+ 0x3c1 => -1,
126
+ 0x3c2 => 1,
127
+ 0x3c9 => -1,
128
+ 0x400 => 1,
129
+ 0x401 => -1,
130
+ 0x40f => 1,
131
+ 0x44f => -1,
132
+ 0x450 => 1,
133
+ 0x451 => -1,
134
+ 0x482 => 1,
135
+ 0x487 => 0,
136
+ 0x590 => 1,
137
+ 0x5bd => 0,
138
+ 0x5be => 1,
139
+ 0x5bf => 0,
140
+ 0x5c0 => 1,
141
+ 0x5c2 => 0,
142
+ 0x5c3 => 1,
143
+ 0x5c5 => 0,
144
+ 0x5c6 => 1,
145
+ 0x5c7 => 0,
146
+ 0x60f => 1,
147
+ 0x61a => 0,
148
+ 0x64a => 1,
149
+ 0x65f => 0,
150
+ 0x66f => 1,
151
+ 0x670 => 0,
152
+ 0x6d5 => 1,
153
+ 0x6dc => 0,
154
+ 0x6de => 1,
155
+ 0x6e4 => 0,
156
+ 0x6e6 => 1,
157
+ 0x6e8 => 0,
158
+ 0x6e9 => 1,
159
+ 0x6ed => 0,
160
+ 0x710 => 1,
161
+ 0x711 => 0,
162
+ 0x72f => 1,
163
+ 0x74a => 0,
164
+ 0x7a5 => 1,
165
+ 0x7b0 => 0,
166
+ 0x7ea => 1,
167
+ 0x7f3 => 0,
168
+ 0x7fc => 1,
169
+ 0x7fd => 0,
170
+ 0x815 => 1,
171
+ 0x819 => 0,
172
+ 0x81a => 1,
173
+ 0x823 => 0,
174
+ 0x824 => 1,
175
+ 0x827 => 0,
176
+ 0x828 => 1,
177
+ 0x82d => 0,
178
+ 0x858 => 1,
179
+ 0x85b => 0,
180
+ 0x897 => 1,
181
+ 0x89f => 0,
182
+ 0x8c9 => 1,
183
+ 0x8e1 => 0,
184
+ 0x8e2 => 1,
185
+ 0x902 => 0,
186
+ 0x939 => 1,
187
+ 0x93a => 0,
188
+ 0x93b => 1,
189
+ 0x93c => 0,
190
+ 0x940 => 1,
191
+ 0x948 => 0,
192
+ 0x94c => 1,
193
+ 0x94d => 0,
194
+ 0x950 => 1,
195
+ 0x957 => 0,
196
+ 0x961 => 1,
197
+ 0x963 => 0,
198
+ 0x980 => 1,
199
+ 0x981 => 0,
200
+ 0x9bb => 1,
201
+ 0x9bc => 0,
202
+ 0x9c0 => 1,
203
+ 0x9c4 => 0,
204
+ 0x9cc => 1,
205
+ 0x9cd => 0,
206
+ 0x9e1 => 1,
207
+ 0x9e3 => 0,
208
+ 0x9fd => 1,
209
+ 0x9fe => 0,
210
+ 0xa00 => 1,
211
+ 0xa02 => 0,
212
+ 0xa3b => 1,
213
+ 0xa3c => 0,
214
+ 0xa40 => 1,
215
+ 0xa42 => 0,
216
+ 0xa46 => 1,
217
+ 0xa48 => 0,
218
+ 0xa4a => 1,
219
+ 0xa4d => 0,
220
+ 0xa50 => 1,
221
+ 0xa51 => 0,
222
+ 0xa6f => 1,
223
+ 0xa71 => 0,
224
+ 0xa74 => 1,
225
+ 0xa75 => 0,
226
+ 0xa80 => 1,
227
+ 0xa82 => 0,
228
+ 0xabb => 1,
229
+ 0xabc => 0,
230
+ 0xac0 => 1,
231
+ 0xac5 => 0,
232
+ 0xac6 => 1,
233
+ 0xac8 => 0,
234
+ 0xacc => 1,
235
+ 0xacd => 0,
236
+ 0xae1 => 1,
237
+ 0xae3 => 0,
238
+ 0xaf9 => 1,
239
+ 0xaff => 0,
240
+ 0xb00 => 1,
241
+ 0xb01 => 0,
242
+ 0xb3b => 1,
243
+ 0xb3c => 0,
244
+ 0xb3e => 1,
245
+ 0xb3f => 0,
246
+ 0xb40 => 1,
247
+ 0xb44 => 0,
248
+ 0xb4c => 1,
249
+ 0xb4d => 0,
250
+ 0xb54 => 1,
251
+ 0xb56 => 0,
252
+ 0xb61 => 1,
253
+ 0xb63 => 0,
254
+ 0xb81 => 1,
255
+ 0xb82 => 0,
256
+ 0xbbf => 1,
257
+ 0xbc0 => 0,
258
+ 0xbcc => 1,
259
+ 0xbcd => 0,
260
+ 0xbff => 1,
261
+ 0xc00 => 0,
262
+ 0xc03 => 1,
263
+ 0xc04 => 0,
264
+ 0xc3b => 1,
265
+ 0xc3c => 0,
266
+ 0xc3d => 1,
267
+ 0xc40 => 0,
268
+ 0xc45 => 1,
269
+ 0xc48 => 0,
270
+ 0xc49 => 1,
271
+ 0xc4d => 0,
272
+ 0xc54 => 1,
273
+ 0xc56 => 0,
274
+ 0xc61 => 1,
275
+ 0xc63 => 0,
276
+ 0xc80 => 1,
277
+ 0xc81 => 0,
278
+ 0xcbb => 1,
279
+ 0xcbc => 0,
280
+ 0xcbe => 1,
281
+ 0xcbf => 0,
282
+ 0xcc5 => 1,
283
+ 0xcc6 => 0,
284
+ 0xccb => 1,
285
+ 0xccd => 0,
286
+ 0xce1 => 1,
287
+ 0xce3 => 0,
288
+ 0xcff => 1,
289
+ 0xd01 => 0,
290
+ 0xd3a => 1,
291
+ 0xd3c => 0,
292
+ 0xd40 => 1,
293
+ 0xd44 => 0,
294
+ 0xd4c => 1,
295
+ 0xd4d => 0,
296
+ 0xd61 => 1,
297
+ 0xd63 => 0,
298
+ 0xd80 => 1,
299
+ 0xd81 => 0,
300
+ 0xdc9 => 1,
301
+ 0xdca => 0,
302
+ 0xdd1 => 1,
303
+ 0xdd4 => 0,
304
+ 0xdd5 => 1,
305
+ 0xdd6 => 0,
306
+ 0xe30 => 1,
307
+ 0xe31 => 0,
308
+ 0xe33 => 1,
309
+ 0xe3a => 0,
310
+ 0xe46 => 1,
311
+ 0xe4e => 0,
312
+ 0xeb0 => 1,
313
+ 0xeb1 => 0,
314
+ 0xeb3 => 1,
315
+ 0xebc => 0,
316
+ 0xec7 => 1,
317
+ 0xece => 0,
318
+ 0xf17 => 1,
319
+ 0xf19 => 0,
320
+ 0xf34 => 1,
321
+ 0xf35 => 0,
322
+ 0xf36 => 1,
323
+ 0xf37 => 0,
324
+ 0xf38 => 1,
325
+ 0xf39 => 0,
326
+ 0xf70 => 1,
327
+ 0xf7e => 0,
328
+ 0xf7f => 1,
329
+ 0xf84 => 0,
330
+ 0xf85 => 1,
331
+ 0xf87 => 0,
332
+ 0xf8c => 1,
333
+ 0xf97 => 0,
334
+ 0xf98 => 1,
335
+ 0xfbc => 0,
336
+ 0xfc5 => 1,
337
+ 0xfc6 => 0,
338
+ 0x102c => 1,
339
+ 0x1030 => 0,
340
+ 0x1031 => 1,
341
+ 0x1037 => 0,
342
+ 0x1038 => 1,
343
+ 0x103a => 0,
344
+ 0x103c => 1,
345
+ 0x103e => 0,
346
+ 0x1057 => 1,
347
+ 0x1059 => 0,
348
+ 0x105d => 1,
349
+ 0x1060 => 0,
350
+ 0x1070 => 1,
351
+ 0x1074 => 0,
352
+ 0x1081 => 1,
353
+ 0x1082 => 0,
354
+ 0x1084 => 1,
355
+ 0x1086 => 0,
356
+ 0x108c => 1,
357
+ 0x108d => 0,
358
+ 0x109c => 1,
359
+ 0x109d => 0,
360
+ 0x10ff => 1,
361
+ 0x115f => 2,
362
+ 0x135c => 1,
363
+ 0x135f => 0,
364
+ 0x1711 => 1,
365
+ 0x1714 => 0,
366
+ 0x1731 => 1,
367
+ 0x1733 => 0,
368
+ 0x1751 => 1,
369
+ 0x1753 => 0,
370
+ 0x1771 => 1,
371
+ 0x1773 => 0,
372
+ 0x17b3 => 1,
373
+ 0x17b5 => 0,
374
+ 0x17b6 => 1,
375
+ 0x17bd => 0,
376
+ 0x17c5 => 1,
377
+ 0x17c6 => 0,
378
+ 0x17c8 => 1,
379
+ 0x17d3 => 0,
380
+ 0x17dc => 1,
381
+ 0x17dd => 0,
382
+ 0x180a => 1,
383
+ 0x180d => 0,
384
+ 0x180e => 1,
385
+ 0x180f => 0,
386
+ 0x1884 => 1,
387
+ 0x1886 => 0,
388
+ 0x18a8 => 1,
389
+ 0x18a9 => 0,
390
+ 0x191f => 1,
391
+ 0x1922 => 0,
392
+ 0x1926 => 1,
393
+ 0x1928 => 0,
394
+ 0x1931 => 1,
395
+ 0x1932 => 0,
396
+ 0x1938 => 1,
397
+ 0x193b => 0,
398
+ 0x1a16 => 1,
399
+ 0x1a18 => 0,
400
+ 0x1a1a => 1,
401
+ 0x1a1b => 0,
402
+ 0x1a55 => 1,
403
+ 0x1a56 => 0,
404
+ 0x1a57 => 1,
405
+ 0x1a5e => 0,
406
+ 0x1a5f => 1,
407
+ 0x1a60 => 0,
408
+ 0x1a61 => 1,
409
+ 0x1a62 => 0,
410
+ 0x1a64 => 1,
411
+ 0x1a6c => 0,
412
+ 0x1a72 => 1,
413
+ 0x1a7c => 0,
414
+ 0x1a7e => 1,
415
+ 0x1a7f => 0,
416
+ 0x1aaf => 1,
417
+ 0x1abd => 0,
418
+ 0x1abe => 1,
419
+ 0x1ace => 0,
420
+ 0x1aff => 1,
421
+ 0x1b03 => 0,
422
+ 0x1b33 => 1,
423
+ 0x1b34 => 0,
424
+ 0x1b35 => 1,
425
+ 0x1b3a => 0,
426
+ 0x1b3b => 1,
427
+ 0x1b3c => 0,
428
+ 0x1b41 => 1,
429
+ 0x1b42 => 0,
430
+ 0x1b6a => 1,
431
+ 0x1b73 => 0,
432
+ 0x1b7f => 1,
433
+ 0x1b81 => 0,
434
+ 0x1ba1 => 1,
435
+ 0x1ba5 => 0,
436
+ 0x1ba7 => 1,
437
+ 0x1ba9 => 0,
438
+ 0x1baa => 1,
439
+ 0x1bad => 0,
440
+ 0x1be5 => 1,
441
+ 0x1be6 => 0,
442
+ 0x1be7 => 1,
443
+ 0x1be9 => 0,
444
+ 0x1bec => 1,
445
+ 0x1bed => 0,
446
+ 0x1bee => 1,
447
+ 0x1bf1 => 0,
448
+ 0x1c2b => 1,
449
+ 0x1c33 => 0,
450
+ 0x1c35 => 1,
451
+ 0x1c37 => 0,
452
+ 0x1ccf => 1,
453
+ 0x1cd2 => 0,
454
+ 0x1cd3 => 1,
455
+ 0x1ce0 => 0,
456
+ 0x1ce1 => 1,
457
+ 0x1ce8 => 0,
458
+ 0x1cec => 1,
459
+ 0x1ced => 0,
460
+ 0x1cf3 => 1,
461
+ 0x1cf4 => 0,
462
+ 0x1cf7 => 1,
463
+ 0x1cf9 => 0,
464
+ 0x1dbf => 1,
465
+ 0x1dff => 0,
466
+ 0x200f => 1,
467
+ 0x2010 => -1,
468
+ 0x2012 => 1,
469
+ 0x2016 => -1,
470
+ 0x2017 => 1,
471
+ 0x2019 => -1,
472
+ 0x201b => 1,
473
+ 0x201d => -1,
474
+ 0x201f => 1,
475
+ 0x2022 => -1,
476
+ 0x2023 => 1,
477
+ 0x2027 => -1,
478
+ 0x202f => 1,
479
+ 0x2030 => -1,
480
+ 0x2031 => 1,
481
+ 0x2033 => -1,
482
+ 0x2034 => 1,
483
+ 0x2035 => -1,
484
+ 0x203a => 1,
485
+ 0x203b => -1,
486
+ 0x203d => 1,
487
+ 0x203e => -1,
488
+ 0x2073 => 1,
489
+ 0x2074 => -1,
490
+ 0x207e => 1,
491
+ 0x207f => -1,
492
+ 0x2080 => 1,
493
+ 0x2084 => -1,
494
+ 0x20ab => 1,
495
+ 0x20ac => -1,
496
+ 0x20cf => 1,
497
+ 0x20dc => 0,
498
+ 0x20e0 => 1,
499
+ 0x20e1 => 0,
500
+ 0x20e4 => 1,
501
+ 0x20f0 => 0,
502
+ 0x2102 => 1,
503
+ 0x2103 => -1,
504
+ 0x2104 => 1,
505
+ 0x2105 => -1,
506
+ 0x2108 => 1,
507
+ 0x2109 => -1,
508
+ 0x2112 => 1,
509
+ 0x2113 => -1,
510
+ 0x2115 => 1,
511
+ 0x2116 => -1,
512
+ 0x2120 => 1,
513
+ 0x2122 => -1,
514
+ 0x2125 => 1,
515
+ 0x2126 => -1,
516
+ 0x212a => 1,
517
+ 0x212b => -1,
518
+ 0x2152 => 1,
519
+ 0x2154 => -1,
520
+ 0x215a => 1,
521
+ 0x215e => -1,
522
+ 0x215f => 1,
523
+ 0x216b => -1,
524
+ 0x216f => 1,
525
+ 0x2179 => -1,
526
+ 0x2188 => 1,
527
+ 0x2189 => -1,
528
+ 0x218f => 1,
529
+ 0x2199 => -1,
530
+ 0x21b7 => 1,
531
+ 0x21b9 => -1,
532
+ 0x21d1 => 1,
533
+ 0x21d2 => -1,
534
+ 0x21d3 => 1,
535
+ 0x21d4 => -1,
536
+ 0x21e6 => 1,
537
+ 0x21e7 => -1,
538
+ 0x21ff => 1,
539
+ 0x2200 => -1,
540
+ 0x2201 => 1,
541
+ 0x2203 => -1,
542
+ 0x2206 => 1,
543
+ 0x2208 => -1,
544
+ 0x220a => 1,
545
+ 0x220b => -1,
546
+ 0x220e => 1,
547
+ 0x220f => -1,
548
+ 0x2210 => 1,
549
+ 0x2211 => -1,
550
+ 0x2214 => 1,
551
+ 0x2215 => -1,
552
+ 0x2219 => 1,
553
+ 0x221a => -1,
554
+ 0x221c => 1,
555
+ 0x2220 => -1,
556
+ 0x2222 => 1,
557
+ 0x2223 => -1,
558
+ 0x2224 => 1,
559
+ 0x2225 => -1,
560
+ 0x2226 => 1,
561
+ 0x222c => -1,
562
+ 0x222d => 1,
563
+ 0x222e => -1,
564
+ 0x2233 => 1,
565
+ 0x2237 => -1,
566
+ 0x223b => 1,
567
+ 0x223d => -1,
568
+ 0x2247 => 1,
569
+ 0x2248 => -1,
570
+ 0x224b => 1,
571
+ 0x224c => -1,
572
+ 0x2251 => 1,
573
+ 0x2252 => -1,
574
+ 0x225f => 1,
575
+ 0x2261 => -1,
576
+ 0x2263 => 1,
577
+ 0x2267 => -1,
578
+ 0x2269 => 1,
579
+ 0x226b => -1,
580
+ 0x226d => 1,
581
+ 0x226f => -1,
582
+ 0x2281 => 1,
583
+ 0x2283 => -1,
584
+ 0x2285 => 1,
585
+ 0x2287 => -1,
586
+ 0x2294 => 1,
587
+ 0x2295 => -1,
588
+ 0x2298 => 1,
589
+ 0x2299 => -1,
590
+ 0x22a4 => 1,
591
+ 0x22a5 => -1,
592
+ 0x22be => 1,
593
+ 0x22bf => -1,
594
+ 0x2311 => 1,
595
+ 0x2312 => -1,
596
+ 0x2319 => 1,
597
+ 0x231b => 2,
598
+ 0x2328 => 1,
599
+ 0x232a => 2,
600
+ 0x23e8 => 1,
601
+ 0x23ec => 2,
602
+ 0x23ef => 1,
603
+ 0x23f0 => 2,
604
+ 0x23f2 => 1,
605
+ 0x23f3 => 2,
606
+ 0x245f => 1,
607
+ 0x24e9 => -1,
608
+ 0x24ea => 1,
609
+ 0x254b => -1,
610
+ 0x254f => 1,
611
+ 0x2573 => -1,
612
+ 0x257f => 1,
613
+ 0x258f => -1,
614
+ 0x2591 => 1,
615
+ 0x2595 => -1,
616
+ 0x259f => 1,
617
+ 0x25a1 => -1,
618
+ 0x25a2 => 1,
619
+ 0x25a9 => -1,
620
+ 0x25b1 => 1,
621
+ 0x25b3 => -1,
622
+ 0x25b5 => 1,
623
+ 0x25b7 => -1,
624
+ 0x25bb => 1,
625
+ 0x25bd => -1,
626
+ 0x25bf => 1,
627
+ 0x25c1 => -1,
628
+ 0x25c5 => 1,
629
+ 0x25c8 => -1,
630
+ 0x25ca => 1,
631
+ 0x25cb => -1,
632
+ 0x25cd => 1,
633
+ 0x25d1 => -1,
634
+ 0x25e1 => 1,
635
+ 0x25e5 => -1,
636
+ 0x25ee => 1,
637
+ 0x25ef => -1,
638
+ 0x25fc => 1,
639
+ 0x25fe => 2,
640
+ 0x2604 => 1,
641
+ 0x2606 => -1,
642
+ 0x2608 => 1,
643
+ 0x2609 => -1,
644
+ 0x260d => 1,
645
+ 0x260f => -1,
646
+ 0x2613 => 1,
647
+ 0x2615 => 2,
648
+ 0x261b => 1,
649
+ 0x261c => -1,
650
+ 0x261d => 1,
651
+ 0x261e => -1,
652
+ 0x263f => 1,
653
+ 0x2640 => -1,
654
+ 0x2641 => 1,
655
+ 0x2642 => -1,
656
+ 0x2647 => 1,
657
+ 0x2653 => 2,
658
+ 0x265f => 1,
659
+ 0x2661 => -1,
660
+ 0x2662 => 1,
661
+ 0x2665 => -1,
662
+ 0x2666 => 1,
663
+ 0x266a => -1,
664
+ 0x266b => 1,
665
+ 0x266d => -1,
666
+ 0x266e => 1,
667
+ 0x266f => -1,
668
+ 0x267e => 1,
669
+ 0x267f => 2,
670
+ 0x2692 => 1,
671
+ 0x2693 => 2,
672
+ 0x269d => 1,
673
+ 0x269f => -1,
674
+ 0x26a0 => 1,
675
+ 0x26a1 => 2,
676
+ 0x26a9 => 1,
677
+ 0x26ab => 2,
678
+ 0x26bc => 1,
679
+ 0x26be => 2,
680
+ 0x26bf => -1,
681
+ 0x26c3 => 1,
682
+ 0x26c5 => 2,
683
+ 0x26cd => -1,
684
+ 0x26ce => 2,
685
+ 0x26d3 => -1,
686
+ 0x26d4 => 2,
687
+ 0x26e1 => -1,
688
+ 0x26e2 => 1,
689
+ 0x26e3 => -1,
690
+ 0x26e7 => 1,
691
+ 0x26e9 => -1,
692
+ 0x26ea => 2,
693
+ 0x26f1 => -1,
694
+ 0x26f3 => 2,
695
+ 0x26f4 => -1,
696
+ 0x26f5 => 2,
697
+ 0x26f9 => -1,
698
+ 0x26fa => 2,
699
+ 0x26fc => -1,
700
+ 0x26fd => 2,
701
+ 0x26ff => -1,
702
+ 0x2704 => 1,
703
+ 0x2705 => 2,
704
+ 0x2709 => 1,
705
+ 0x270b => 2,
706
+ 0x2727 => 1,
707
+ 0x2728 => 2,
708
+ 0x273c => 1,
709
+ 0x273d => -1,
710
+ 0x274b => 1,
711
+ 0x274c => 2,
712
+ 0x274d => 1,
713
+ 0x274e => 2,
714
+ 0x2752 => 1,
715
+ 0x2755 => 2,
716
+ 0x2756 => 1,
717
+ 0x2757 => 2,
718
+ 0x2775 => 1,
719
+ 0x277f => -1,
720
+ 0x2794 => 1,
721
+ 0x2797 => 2,
722
+ 0x27af => 1,
723
+ 0x27b0 => 2,
724
+ 0x27be => 1,
725
+ 0x27bf => 2,
726
+ 0x2b1a => 1,
727
+ 0x2b1c => 2,
728
+ 0x2b4f => 1,
729
+ 0x2b50 => 2,
730
+ 0x2b54 => 1,
731
+ 0x2b55 => 2,
732
+ 0x2b59 => -1,
733
+ 0x2cee => 1,
734
+ 0x2cf1 => 0,
735
+ 0x2d7e => 1,
736
+ 0x2d7f => 0,
737
+ 0x2ddf => 1,
738
+ 0x2dff => 0,
739
+ 0x2e7f => 1,
740
+ 0x2e99 => 2,
741
+ 0x2e9a => 1,
742
+ 0x2ef3 => 2,
743
+ 0x2eff => 1,
744
+ 0x2fd5 => 2,
745
+ 0x2fef => 1,
746
+ 0x3029 => 2,
747
+ 0x302d => 0,
748
+ 0x303e => 2,
749
+ 0x3040 => 1,
750
+ 0x3096 => 2,
751
+ 0x3098 => 1,
752
+ 0x309a => 0,
753
+ 0x30ff => 2,
754
+ 0x3104 => 1,
755
+ 0x312f => 2,
756
+ 0x3130 => 1,
757
+ 0x318e => 2,
758
+ 0x318f => 1,
759
+ 0x31e3 => 2,
760
+ 0x31ee => 1,
761
+ 0x321e => 2,
762
+ 0x321f => 1,
763
+ 0x3247 => 2,
764
+ 0x324f => -1,
765
+ 0x4dbf => 2,
766
+ 0x4dff => 1,
767
+ 0xa48c => 2,
768
+ 0xa48f => 1,
769
+ 0xa4c6 => 2,
770
+ 0xa66e => 1,
771
+ 0xa66f => 0,
772
+ 0xa673 => 1,
773
+ 0xa67d => 0,
774
+ 0xa69d => 1,
775
+ 0xa69f => 0,
776
+ 0xa6ef => 1,
777
+ 0xa6f1 => 0,
778
+ 0xa801 => 1,
779
+ 0xa802 => 0,
780
+ 0xa805 => 1,
781
+ 0xa806 => 0,
782
+ 0xa80a => 1,
783
+ 0xa80b => 0,
784
+ 0xa824 => 1,
785
+ 0xa826 => 0,
786
+ 0xa82b => 1,
787
+ 0xa82c => 0,
788
+ 0xa8c3 => 1,
789
+ 0xa8c5 => 0,
790
+ 0xa8df => 1,
791
+ 0xa8f1 => 0,
792
+ 0xa8fe => 1,
793
+ 0xa8ff => 0,
794
+ 0xa925 => 1,
795
+ 0xa92d => 0,
796
+ 0xa946 => 1,
797
+ 0xa951 => 0,
798
+ 0xa95f => 1,
799
+ 0xa97c => 2,
800
+ 0xa97f => 1,
801
+ 0xa982 => 0,
802
+ 0xa9b2 => 1,
803
+ 0xa9b3 => 0,
804
+ 0xa9b5 => 1,
805
+ 0xa9b9 => 0,
806
+ 0xa9bb => 1,
807
+ 0xa9bd => 0,
808
+ 0xa9e4 => 1,
809
+ 0xa9e5 => 0,
810
+ 0xaa28 => 1,
811
+ 0xaa2e => 0,
812
+ 0xaa30 => 1,
813
+ 0xaa32 => 0,
814
+ 0xaa34 => 1,
815
+ 0xaa36 => 0,
816
+ 0xaa42 => 1,
817
+ 0xaa43 => 0,
818
+ 0xaa4b => 1,
819
+ 0xaa4c => 0,
820
+ 0xaa7b => 1,
821
+ 0xaa7c => 0,
822
+ 0xaaaf => 1,
823
+ 0xaab0 => 0,
824
+ 0xaab1 => 1,
825
+ 0xaab4 => 0,
826
+ 0xaab6 => 1,
827
+ 0xaab8 => 0,
828
+ 0xaabd => 1,
829
+ 0xaabf => 0,
830
+ 0xaac0 => 1,
831
+ 0xaac1 => 0,
832
+ 0xaaeb => 1,
833
+ 0xaaed => 0,
834
+ 0xaaf5 => 1,
835
+ 0xaaf6 => 0,
836
+ 0xabe4 => 1,
837
+ 0xabe5 => 0,
838
+ 0xabe7 => 1,
839
+ 0xabe8 => 0,
840
+ 0xabec => 1,
841
+ 0xabed => 0,
842
+ 0xabff => 1,
843
+ 0xd7a3 => 2,
844
+ 0xdfff => 1,
845
+ 0xf8ff => -1,
846
+ 0xfaff => 2,
847
+ 0xfb1d => 1,
848
+ 0xfb1e => 0,
849
+ 0xfdff => 1,
850
+ 0xfe0f => 0,
851
+ 0xfe19 => 2,
852
+ 0xfe1f => 1,
853
+ 0xfe2f => 0,
854
+ 0xfe52 => 2,
855
+ 0xfe53 => 1,
856
+ 0xfe66 => 2,
857
+ 0xfe67 => 1,
858
+ 0xfe6b => 2,
859
+ 0xff00 => 1,
860
+ 0xff60 => 2,
861
+ 0xffdf => 1,
862
+ 0xffe6 => 2,
863
+ 0xfffc => 1,
864
+ 0xfffd => -1,
865
+ 0x101fc => 1,
866
+ 0x101fd => 0,
867
+ 0x102df => 1,
868
+ 0x102e0 => 0,
869
+ 0x10375 => 1,
870
+ 0x1037a => 0,
871
+ 0x10a00 => 1,
872
+ 0x10a03 => 0,
873
+ 0x10a04 => 1,
874
+ 0x10a06 => 0,
875
+ 0x10a0b => 1,
876
+ 0x10a0f => 0,
877
+ 0x10a37 => 1,
878
+ 0x10a3a => 0,
879
+ 0x10a3e => 1,
880
+ 0x10a3f => 0,
881
+ 0x10ae4 => 1,
882
+ 0x10ae6 => 0,
883
+ 0x10d23 => 1,
884
+ 0x10d27 => 0,
885
+ 0x10eaa => 1,
886
+ 0x10eac => 0,
887
+ 0x10efc => 1,
888
+ 0x10eff => 0,
889
+ 0x10f45 => 1,
890
+ 0x10f50 => 0,
891
+ 0x10f81 => 1,
892
+ 0x10f85 => 0,
893
+ 0x11000 => 1,
894
+ 0x11001 => 0,
895
+ 0x11037 => 1,
896
+ 0x11046 => 0,
897
+ 0x1106f => 1,
898
+ 0x11070 => 0,
899
+ 0x11072 => 1,
900
+ 0x11074 => 0,
901
+ 0x1107e => 1,
902
+ 0x11081 => 0,
903
+ 0x110b2 => 1,
904
+ 0x110b6 => 0,
905
+ 0x110b8 => 1,
906
+ 0x110ba => 0,
907
+ 0x110c1 => 1,
908
+ 0x110c2 => 0,
909
+ 0x110ff => 1,
910
+ 0x11102 => 0,
911
+ 0x11126 => 1,
912
+ 0x1112b => 0,
913
+ 0x1112c => 1,
914
+ 0x11134 => 0,
915
+ 0x11172 => 1,
916
+ 0x11173 => 0,
917
+ 0x1117f => 1,
918
+ 0x11181 => 0,
919
+ 0x111b5 => 1,
920
+ 0x111be => 0,
921
+ 0x111c8 => 1,
922
+ 0x111cc => 0,
923
+ 0x111ce => 1,
924
+ 0x111cf => 0,
925
+ 0x1122e => 1,
926
+ 0x11231 => 0,
927
+ 0x11233 => 1,
928
+ 0x11234 => 0,
929
+ 0x11235 => 1,
930
+ 0x11237 => 0,
931
+ 0x1123d => 1,
932
+ 0x1123e => 0,
933
+ 0x11240 => 1,
934
+ 0x11241 => 0,
935
+ 0x112de => 1,
936
+ 0x112df => 0,
937
+ 0x112e2 => 1,
938
+ 0x112ea => 0,
939
+ 0x112ff => 1,
940
+ 0x11301 => 0,
941
+ 0x1133a => 1,
942
+ 0x1133c => 0,
943
+ 0x1133f => 1,
944
+ 0x11340 => 0,
945
+ 0x11365 => 1,
946
+ 0x1136c => 0,
947
+ 0x1136f => 1,
948
+ 0x11374 => 0,
949
+ 0x11437 => 1,
950
+ 0x1143f => 0,
951
+ 0x11441 => 1,
952
+ 0x11444 => 0,
953
+ 0x11445 => 1,
954
+ 0x11446 => 0,
955
+ 0x1145d => 1,
956
+ 0x1145e => 0,
957
+ 0x114b2 => 1,
958
+ 0x114b8 => 0,
959
+ 0x114b9 => 1,
960
+ 0x114ba => 0,
961
+ 0x114be => 1,
962
+ 0x114c0 => 0,
963
+ 0x114c1 => 1,
964
+ 0x114c3 => 0,
965
+ 0x115b1 => 1,
966
+ 0x115b5 => 0,
967
+ 0x115bb => 1,
968
+ 0x115bd => 0,
969
+ 0x115be => 1,
970
+ 0x115c0 => 0,
971
+ 0x115db => 1,
972
+ 0x115dd => 0,
973
+ 0x11632 => 1,
974
+ 0x1163a => 0,
975
+ 0x1163c => 1,
976
+ 0x1163d => 0,
977
+ 0x1163e => 1,
978
+ 0x11640 => 0,
979
+ 0x116aa => 1,
980
+ 0x116ab => 0,
981
+ 0x116ac => 1,
982
+ 0x116ad => 0,
983
+ 0x116af => 1,
984
+ 0x116b5 => 0,
985
+ 0x116b6 => 1,
986
+ 0x116b7 => 0,
987
+ 0x1171c => 1,
988
+ 0x1171f => 0,
989
+ 0x11721 => 1,
990
+ 0x11725 => 0,
991
+ 0x11726 => 1,
992
+ 0x1172b => 0,
993
+ 0x1182e => 1,
994
+ 0x11837 => 0,
995
+ 0x11838 => 1,
996
+ 0x1183a => 0,
997
+ 0x1193a => 1,
998
+ 0x1193c => 0,
999
+ 0x1193d => 1,
1000
+ 0x1193e => 0,
1001
+ 0x11942 => 1,
1002
+ 0x11943 => 0,
1003
+ 0x119d3 => 1,
1004
+ 0x119d7 => 0,
1005
+ 0x119d9 => 1,
1006
+ 0x119db => 0,
1007
+ 0x119df => 1,
1008
+ 0x119e0 => 0,
1009
+ 0x11a00 => 1,
1010
+ 0x11a0a => 0,
1011
+ 0x11a32 => 1,
1012
+ 0x11a38 => 0,
1013
+ 0x11a3a => 1,
1014
+ 0x11a3e => 0,
1015
+ 0x11a46 => 1,
1016
+ 0x11a47 => 0,
1017
+ 0x11a50 => 1,
1018
+ 0x11a56 => 0,
1019
+ 0x11a58 => 1,
1020
+ 0x11a5b => 0,
1021
+ 0x11a89 => 1,
1022
+ 0x11a96 => 0,
1023
+ 0x11a97 => 1,
1024
+ 0x11a99 => 0,
1025
+ 0x11c2f => 1,
1026
+ 0x11c36 => 0,
1027
+ 0x11c37 => 1,
1028
+ 0x11c3d => 0,
1029
+ 0x11c3e => 1,
1030
+ 0x11c3f => 0,
1031
+ 0x11c91 => 1,
1032
+ 0x11ca7 => 0,
1033
+ 0x11ca9 => 1,
1034
+ 0x11cb0 => 0,
1035
+ 0x11cb1 => 1,
1036
+ 0x11cb3 => 0,
1037
+ 0x11cb4 => 1,
1038
+ 0x11cb6 => 0,
1039
+ 0x11d30 => 1,
1040
+ 0x11d36 => 0,
1041
+ 0x11d39 => 1,
1042
+ 0x11d3a => 0,
1043
+ 0x11d3b => 1,
1044
+ 0x11d3d => 0,
1045
+ 0x11d3e => 1,
1046
+ 0x11d45 => 0,
1047
+ 0x11d46 => 1,
1048
+ 0x11d47 => 0,
1049
+ 0x11d8f => 1,
1050
+ 0x11d91 => 0,
1051
+ 0x11d94 => 1,
1052
+ 0x11d95 => 0,
1053
+ 0x11d96 => 1,
1054
+ 0x11d97 => 0,
1055
+ 0x11ef2 => 1,
1056
+ 0x11ef4 => 0,
1057
+ 0x11eff => 1,
1058
+ 0x11f01 => 0,
1059
+ 0x11f35 => 1,
1060
+ 0x11f3a => 0,
1061
+ 0x11f3f => 1,
1062
+ 0x11f40 => 0,
1063
+ 0x11f41 => 1,
1064
+ 0x11f42 => 0,
1065
+ 0x1343f => 1,
1066
+ 0x13440 => 0,
1067
+ 0x13446 => 1,
1068
+ 0x13455 => 0,
1069
+ 0x16aef => 1,
1070
+ 0x16af4 => 0,
1071
+ 0x16b2f => 1,
1072
+ 0x16b36 => 0,
1073
+ 0x16f4e => 1,
1074
+ 0x16f4f => 0,
1075
+ 0x16f8e => 1,
1076
+ 0x16f92 => 0,
1077
+ 0x16fdf => 1,
1078
+ 0x16fe3 => 2,
1079
+ 0x16fe4 => 0,
1080
+ 0x16fef => 1,
1081
+ 0x16ff1 => 2,
1082
+ 0x16fff => 1,
1083
+ 0x187f7 => 2,
1084
+ 0x187ff => 1,
1085
+ 0x18cd5 => 2,
1086
+ 0x18cff => 1,
1087
+ 0x18d08 => 2,
1088
+ 0x1afef => 1,
1089
+ 0x1aff3 => 2,
1090
+ 0x1aff4 => 1,
1091
+ 0x1affb => 2,
1092
+ 0x1affc => 1,
1093
+ 0x1affe => 2,
1094
+ 0x1afff => 1,
1095
+ 0x1b122 => 2,
1096
+ 0x1b131 => 1,
1097
+ 0x1b132 => 2,
1098
+ 0x1b14f => 1,
1099
+ 0x1b152 => 2,
1100
+ 0x1b154 => 1,
1101
+ 0x1b155 => 2,
1102
+ 0x1b163 => 1,
1103
+ 0x1b167 => 2,
1104
+ 0x1b16f => 1,
1105
+ 0x1b2fb => 2,
1106
+ 0x1bc9c => 1,
1107
+ 0x1bc9e => 0,
1108
+ 0x1ceff => 1,
1109
+ 0x1cf2d => 0,
1110
+ 0x1cf2f => 1,
1111
+ 0x1cf46 => 0,
1112
+ 0x1d166 => 1,
1113
+ 0x1d169 => 0,
1114
+ 0x1d17a => 1,
1115
+ 0x1d182 => 0,
1116
+ 0x1d184 => 1,
1117
+ 0x1d18b => 0,
1118
+ 0x1d1a9 => 1,
1119
+ 0x1d1ad => 0,
1120
+ 0x1d241 => 1,
1121
+ 0x1d244 => 0,
1122
+ 0x1d9ff => 1,
1123
+ 0x1da36 => 0,
1124
+ 0x1da3a => 1,
1125
+ 0x1da6c => 0,
1126
+ 0x1da74 => 1,
1127
+ 0x1da75 => 0,
1128
+ 0x1da83 => 1,
1129
+ 0x1da84 => 0,
1130
+ 0x1da9a => 1,
1131
+ 0x1da9f => 0,
1132
+ 0x1daa0 => 1,
1133
+ 0x1daaf => 0,
1134
+ 0x1dfff => 1,
1135
+ 0x1e006 => 0,
1136
+ 0x1e007 => 1,
1137
+ 0x1e018 => 0,
1138
+ 0x1e01a => 1,
1139
+ 0x1e021 => 0,
1140
+ 0x1e022 => 1,
1141
+ 0x1e024 => 0,
1142
+ 0x1e025 => 1,
1143
+ 0x1e02a => 0,
1144
+ 0x1e08e => 1,
1145
+ 0x1e08f => 0,
1146
+ 0x1e12f => 1,
1147
+ 0x1e136 => 0,
1148
+ 0x1e2ad => 1,
1149
+ 0x1e2ae => 0,
1150
+ 0x1e2eb => 1,
1151
+ 0x1e2ef => 0,
1152
+ 0x1e4eb => 1,
1153
+ 0x1e4ef => 0,
1154
+ 0x1e8cf => 1,
1155
+ 0x1e8d6 => 0,
1156
+ 0x1e943 => 1,
1157
+ 0x1e94a => 0,
1158
+ 0x1f003 => 1,
1159
+ 0x1f004 => 2,
1160
+ 0x1f0ce => 1,
1161
+ 0x1f0cf => 2,
1162
+ 0x1f0ff => 1,
1163
+ 0x1f10a => -1,
1164
+ 0x1f10f => 1,
1165
+ 0x1f12d => -1,
1166
+ 0x1f12f => 1,
1167
+ 0x1f169 => -1,
1168
+ 0x1f16f => 1,
1169
+ 0x1f18d => -1,
1170
+ 0x1f18e => 2,
1171
+ 0x1f190 => -1,
1172
+ 0x1f19a => 2,
1173
+ 0x1f1ac => -1,
1174
+ 0x1f1ff => 1,
1175
+ 0x1f202 => 2,
1176
+ 0x1f20f => 1,
1177
+ 0x1f23b => 2,
1178
+ 0x1f23f => 1,
1179
+ 0x1f248 => 2,
1180
+ 0x1f24f => 1,
1181
+ 0x1f251 => 2,
1182
+ 0x1f25f => 1,
1183
+ 0x1f265 => 2,
1184
+ 0x1f2ff => 1,
1185
+ 0x1f320 => 2,
1186
+ 0x1f32c => 1,
1187
+ 0x1f335 => 2,
1188
+ 0x1f336 => 1,
1189
+ 0x1f37c => 2,
1190
+ 0x1f37d => 1,
1191
+ 0x1f393 => 2,
1192
+ 0x1f39f => 1,
1193
+ 0x1f3ca => 2,
1194
+ 0x1f3ce => 1,
1195
+ 0x1f3d3 => 2,
1196
+ 0x1f3df => 1,
1197
+ 0x1f3f0 => 2,
1198
+ 0x1f3f3 => 1,
1199
+ 0x1f3f4 => 2,
1200
+ 0x1f3f7 => 1,
1201
+ 0x1f43e => 2,
1202
+ 0x1f43f => 1,
1203
+ 0x1f440 => 2,
1204
+ 0x1f441 => 1,
1205
+ 0x1f4fc => 2,
1206
+ 0x1f4fe => 1,
1207
+ 0x1f53d => 2,
1208
+ 0x1f54a => 1,
1209
+ 0x1f54e => 2,
1210
+ 0x1f54f => 1,
1211
+ 0x1f567 => 2,
1212
+ 0x1f579 => 1,
1213
+ 0x1f57a => 2,
1214
+ 0x1f594 => 1,
1215
+ 0x1f596 => 2,
1216
+ 0x1f5a3 => 1,
1217
+ 0x1f5a4 => 2,
1218
+ 0x1f5fa => 1,
1219
+ 0x1f64f => 2,
1220
+ 0x1f67f => 1,
1221
+ 0x1f6c5 => 2,
1222
+ 0x1f6cb => 1,
1223
+ 0x1f6cc => 2,
1224
+ 0x1f6cf => 1,
1225
+ 0x1f6d2 => 2,
1226
+ 0x1f6d4 => 1,
1227
+ 0x1f6d7 => 2,
1228
+ 0x1f6db => 1,
1229
+ 0x1f6df => 2,
1230
+ 0x1f6ea => 1,
1231
+ 0x1f6ec => 2,
1232
+ 0x1f6f3 => 1,
1233
+ 0x1f6fc => 2,
1234
+ 0x1f7df => 1,
1235
+ 0x1f7eb => 2,
1236
+ 0x1f7ef => 1,
1237
+ 0x1f7f0 => 2,
1238
+ 0x1f90b => 1,
1239
+ 0x1f93a => 2,
1240
+ 0x1f93b => 1,
1241
+ 0x1f945 => 2,
1242
+ 0x1f946 => 1,
1243
+ 0x1f9ff => 2,
1244
+ 0x1fa6f => 1,
1245
+ 0x1fa7c => 2,
1246
+ 0x1fa7f => 1,
1247
+ 0x1fa88 => 2,
1248
+ 0x1fa8f => 1,
1249
+ 0x1fabd => 2,
1250
+ 0x1fabe => 1,
1251
+ 0x1fac5 => 2,
1252
+ 0x1facd => 1,
1253
+ 0x1fadb => 2,
1254
+ 0x1fadf => 1,
1255
+ 0x1fae8 => 2,
1256
+ 0x1faef => 1,
1257
+ 0x1faf8 => 2,
1258
+ 0x1ffff => 1,
1259
+ 0x2fffd => 2,
1260
+ 0x2ffff => 1,
1261
+ 0x3fffd => 2,
1262
+ 0xe00ff => 1,
1263
+ 0xe01ef => 0,
1264
+ 0xeffff => 1,
1265
+ 0xffffd => -1,
1266
+ 0xfffff => 1,
1267
+ 0x10fffd => -1,
1268
+ 0x7fffffff => 1
1269
+ }
1270
+
1271
+ LAST = map.keys.freeze
1272
+ WIDTH = map.values.freeze
1273
+ end
1274
+ end
1275
+ end