reline 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,415 @@
1
+ class Reline::Unicode
2
+ EscapedPairs = {
3
+ 0x00 => '^@',
4
+ 0x01 => '^A', # C-a
5
+ 0x02 => '^B',
6
+ 0x03 => '^C',
7
+ 0x04 => '^D',
8
+ 0x05 => '^E',
9
+ 0x06 => '^F',
10
+ 0x07 => '^G',
11
+ 0x08 => '^H', # Backspace
12
+ 0x09 => '^I',
13
+ 0x0A => '^J',
14
+ 0x0B => '^K',
15
+ 0x0C => '^L',
16
+ 0x0D => '^M', # Enter
17
+ 0x0E => '^N',
18
+ 0x0F => '^O',
19
+ 0x10 => '^P',
20
+ 0x11 => '^Q',
21
+ 0x12 => '^R',
22
+ 0x13 => '^S',
23
+ 0x14 => '^T',
24
+ 0x15 => '^U',
25
+ 0x16 => '^V',
26
+ 0x17 => '^W',
27
+ 0x18 => '^X',
28
+ 0x19 => '^Y',
29
+ 0x1A => '^Z', # C-z
30
+ 0x1B => '^[', # C-[ C-3
31
+ 0x1D => '^]', # C-]
32
+ 0x1E => '^^', # C-~ C-6
33
+ 0x1F => '^_', # C-_ C-7
34
+ 0x7F => '^?', # C-? C-8
35
+ }
36
+ EscapedChars = EscapedPairs.keys.map(&:chr)
37
+
38
+ def self.get_mbchar_byte_size_by_first_char(c)
39
+ # Checks UTF-8 character byte size
40
+ case c.ord
41
+ # 0b0xxxxxxx
42
+ when ->(code) { (code ^ 0b10000000).allbits?(0b10000000) } then 1
43
+ # 0b110xxxxx
44
+ when ->(code) { (code ^ 0b00100000).allbits?(0b11100000) } then 2
45
+ # 0b1110xxxx
46
+ when ->(code) { (code ^ 0b00010000).allbits?(0b11110000) } then 3
47
+ # 0b11110xxx
48
+ when ->(code) { (code ^ 0b00001000).allbits?(0b11111000) } then 4
49
+ # 0b111110xx
50
+ when ->(code) { (code ^ 0b00000100).allbits?(0b11111100) } then 5
51
+ # 0b1111110x
52
+ when ->(code) { (code ^ 0b00000010).allbits?(0b11111110) } then 6
53
+ # successor of mbchar
54
+ else 0
55
+ end
56
+ end
57
+
58
+ def self.get_mbchar_width(mbchar)
59
+ case mbchar.encode(Encoding::UTF_8)
60
+ when *EscapedChars # ^ + char, such as ^M, ^H, ^[, ...
61
+ 2
62
+ when /^\u{2E3B}/ # THREE-EM DASH
63
+ 3
64
+ when /^\p{M}/
65
+ 0
66
+ when EastAsianWidth::TYPE_A
67
+ Reline.ambiguous_width
68
+ when EastAsianWidth::TYPE_F, EastAsianWidth::TYPE_W
69
+ 2
70
+ when EastAsianWidth::TYPE_H, EastAsianWidth::TYPE_NA, EastAsianWidth::TYPE_N
71
+ 1
72
+ else
73
+ nil
74
+ end
75
+ end
76
+
77
+ def self.get_next_mbchar_size(line, byte_pointer)
78
+ grapheme = line.byteslice(byte_pointer..-1).grapheme_clusters.first
79
+ grapheme ? grapheme.bytesize : 0
80
+ end
81
+
82
+ def self.get_prev_mbchar_size(line, byte_pointer)
83
+ if byte_pointer.zero?
84
+ 0
85
+ else
86
+ grapheme = line.byteslice(0..(byte_pointer - 1)).grapheme_clusters.last
87
+ grapheme ? grapheme.bytesize : 0
88
+ end
89
+ end
90
+
91
+ def self.em_forward_word(line, byte_pointer)
92
+ width = 0
93
+ byte_size = 0
94
+ while line.bytesize > (byte_pointer + byte_size)
95
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
96
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
97
+ break if mbchar.encode(Encoding::UTF_8) =~ /\p{Word}/
98
+ width += get_mbchar_width(mbchar)
99
+ byte_size += size
100
+ end
101
+ while line.bytesize > (byte_pointer + byte_size)
102
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
103
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
104
+ break if mbchar.encode(Encoding::UTF_8) =~ /\P{Word}/
105
+ width += get_mbchar_width(mbchar)
106
+ byte_size += size
107
+ end
108
+ [byte_size, width]
109
+ end
110
+
111
+ def self.em_forward_word_with_capitalization(line, byte_pointer)
112
+ width = 0
113
+ byte_size = 0
114
+ new_str = String.new
115
+ while line.bytesize > (byte_pointer + byte_size)
116
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
117
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
118
+ break if mbchar.encode(Encoding::UTF_8) =~ /\p{Word}/
119
+ new_str += mbchar
120
+ width += get_mbchar_width(mbchar)
121
+ byte_size += size
122
+ end
123
+ first = true
124
+ while line.bytesize > (byte_pointer + byte_size)
125
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
126
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
127
+ break if mbchar.encode(Encoding::UTF_8) =~ /\P{Word}/
128
+ if first
129
+ new_str += mbchar.upcase
130
+ first = false
131
+ else
132
+ new_str += mbchar.downcase
133
+ end
134
+ width += get_mbchar_width(mbchar)
135
+ byte_size += size
136
+ end
137
+ [byte_size, width, new_str]
138
+ end
139
+
140
+ def self.em_backward_word(line, byte_pointer)
141
+ width = 0
142
+ byte_size = 0
143
+ while 0 < (byte_pointer - byte_size)
144
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
145
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
146
+ break if mbchar.encode(Encoding::UTF_8) =~ /\p{Word}/
147
+ width += get_mbchar_width(mbchar)
148
+ byte_size += size
149
+ end
150
+ while 0 < (byte_pointer - byte_size)
151
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
152
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
153
+ break if mbchar.encode(Encoding::UTF_8) =~ /\P{Word}/
154
+ width += get_mbchar_width(mbchar)
155
+ byte_size += size
156
+ end
157
+ [byte_size, width]
158
+ end
159
+
160
+ def self.em_big_backward_word(line, byte_pointer)
161
+ width = 0
162
+ byte_size = 0
163
+ while 0 < (byte_pointer - byte_size)
164
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
165
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
166
+ break if mbchar =~ /\S/
167
+ width += get_mbchar_width(mbchar)
168
+ byte_size += size
169
+ end
170
+ while 0 < (byte_pointer - byte_size)
171
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
172
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
173
+ break if mbchar =~ /\s/
174
+ width += get_mbchar_width(mbchar)
175
+ byte_size += size
176
+ end
177
+ [byte_size, width]
178
+ end
179
+
180
+ def self.vi_big_forward_word(line, byte_pointer)
181
+ width = 0
182
+ byte_size = 0
183
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
184
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
185
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
186
+ break if mbchar =~ /\s/
187
+ width += get_mbchar_width(mbchar)
188
+ byte_size += size
189
+ end
190
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
191
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
192
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
193
+ break if mbchar =~ /\S/
194
+ width += get_mbchar_width(mbchar)
195
+ byte_size += size
196
+ end
197
+ [byte_size, width]
198
+ end
199
+
200
+ def self.vi_big_forward_end_word(line, byte_pointer)
201
+ if (line.bytesize - 1) > byte_pointer
202
+ size = get_next_mbchar_size(line, byte_pointer)
203
+ mbchar = line.byteslice(byte_pointer, size)
204
+ width = get_mbchar_width(mbchar)
205
+ byte_size = size
206
+ else
207
+ return [0, 0]
208
+ end
209
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
210
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
211
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
212
+ break if mbchar =~ /\S/
213
+ width += get_mbchar_width(mbchar)
214
+ byte_size += size
215
+ end
216
+ prev_width = width
217
+ prev_byte_size = byte_size
218
+ while line.bytesize > (byte_pointer + byte_size)
219
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
220
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
221
+ break if mbchar =~ /\s/
222
+ prev_width = width
223
+ prev_byte_size = byte_size
224
+ width += get_mbchar_width(mbchar)
225
+ byte_size += size
226
+ end
227
+ [prev_byte_size, prev_width]
228
+ end
229
+
230
+ def self.vi_big_backward_word(line, byte_pointer)
231
+ width = 0
232
+ byte_size = 0
233
+ while 0 < (byte_pointer - byte_size)
234
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
235
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
236
+ break if mbchar =~ /\S/
237
+ width += get_mbchar_width(mbchar)
238
+ byte_size += size
239
+ end
240
+ while 0 < (byte_pointer - byte_size)
241
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
242
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
243
+ break if mbchar =~ /\s/
244
+ width += get_mbchar_width(mbchar)
245
+ byte_size += size
246
+ end
247
+ [byte_size, width]
248
+ end
249
+
250
+ def self.vi_forward_word(line, byte_pointer)
251
+ if (line.bytesize - 1) > byte_pointer
252
+ size = get_next_mbchar_size(line, byte_pointer)
253
+ mbchar = line.byteslice(byte_pointer, size)
254
+ if mbchar =~ /\w/
255
+ started_by = :word
256
+ elsif mbchar =~ /\s/
257
+ started_by = :space
258
+ else
259
+ started_by = :non_word_printable
260
+ end
261
+ width = get_mbchar_width(mbchar)
262
+ byte_size = size
263
+ else
264
+ return [0, 0]
265
+ end
266
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
267
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
268
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
269
+ case started_by
270
+ when :word
271
+ break if mbchar =~ /\W/
272
+ when :space
273
+ break if mbchar =~ /\S/
274
+ when :non_word_printable
275
+ break if mbchar =~ /\w|\s/
276
+ end
277
+ width += get_mbchar_width(mbchar)
278
+ byte_size += size
279
+ end
280
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
281
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
282
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
283
+ break if mbchar =~ /\S/
284
+ width += get_mbchar_width(mbchar)
285
+ byte_size += size
286
+ end
287
+ [byte_size, width]
288
+ end
289
+
290
+ def self.vi_forward_end_word(line, byte_pointer)
291
+ if (line.bytesize - 1) > byte_pointer
292
+ size = get_next_mbchar_size(line, byte_pointer)
293
+ mbchar = line.byteslice(byte_pointer, size)
294
+ if mbchar =~ /\w/
295
+ started_by = :word
296
+ elsif mbchar =~ /\s/
297
+ started_by = :space
298
+ else
299
+ started_by = :non_word_printable
300
+ end
301
+ width = get_mbchar_width(mbchar)
302
+ byte_size = size
303
+ else
304
+ return [0, 0]
305
+ end
306
+ if (line.bytesize - 1) > (byte_pointer + byte_size)
307
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
308
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
309
+ if mbchar =~ /\w/
310
+ second = :word
311
+ elsif mbchar =~ /\s/
312
+ second = :space
313
+ else
314
+ second = :non_word_printable
315
+ end
316
+ second_width = get_mbchar_width(mbchar)
317
+ second_byte_size = size
318
+ else
319
+ return [byte_size, width]
320
+ end
321
+ if second == :space
322
+ width += second_width
323
+ byte_size += second_byte_size
324
+ while (line.bytesize - 1) > (byte_pointer + byte_size)
325
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
326
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
327
+ if mbchar =~ /\S/
328
+ if mbchar =~ /\w/
329
+ started_by = :word
330
+ else
331
+ started_by = :non_word_printable
332
+ end
333
+ break
334
+ end
335
+ width += get_mbchar_width(mbchar)
336
+ byte_size += size
337
+ end
338
+ else
339
+ case [started_by, second]
340
+ when [:word, :non_word_printable], [:non_word_printable, :word]
341
+ started_by = second
342
+ else
343
+ width += second_width
344
+ byte_size += second_byte_size
345
+ started_by = second
346
+ end
347
+ end
348
+ prev_width = width
349
+ prev_byte_size = byte_size
350
+ while line.bytesize > (byte_pointer + byte_size)
351
+ size = get_next_mbchar_size(line, byte_pointer + byte_size)
352
+ mbchar = line.byteslice(byte_pointer + byte_size, size)
353
+ case started_by
354
+ when :word
355
+ break if mbchar =~ /\W/
356
+ when :non_word_printable
357
+ break if mbchar =~ /[\w\s]/
358
+ end
359
+ prev_width = width
360
+ prev_byte_size = byte_size
361
+ width += get_mbchar_width(mbchar)
362
+ byte_size += size
363
+ end
364
+ [prev_byte_size, prev_width]
365
+ end
366
+
367
+ def self.vi_backward_word(line, byte_pointer)
368
+ width = 0
369
+ byte_size = 0
370
+ while 0 < (byte_pointer - byte_size)
371
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
372
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
373
+ if mbchar =~ /\S/
374
+ if mbchar =~ /\w/
375
+ started_by = :word
376
+ else
377
+ started_by = :non_word_printable
378
+ end
379
+ break
380
+ end
381
+ width += get_mbchar_width(mbchar)
382
+ byte_size += size
383
+ end
384
+ while 0 < (byte_pointer - byte_size)
385
+ size = get_prev_mbchar_size(line, byte_pointer - byte_size)
386
+ mbchar = line.byteslice(byte_pointer - byte_size - size, size)
387
+ case started_by
388
+ when :word
389
+ break if mbchar =~ /\W/
390
+ when :non_word_printable
391
+ break if mbchar =~ /[\w\s]/
392
+ end
393
+ width += get_mbchar_width(mbchar)
394
+ byte_size += size
395
+ end
396
+ [byte_size, width]
397
+ end
398
+
399
+ def self.ed_move_to_begin(line)
400
+ width = 0
401
+ byte_size = 0
402
+ while (line.bytesize - 1) > byte_size
403
+ size = get_next_mbchar_size(line, byte_size)
404
+ mbchar = line.byteslice(byte_size, size)
405
+ if mbchar =~ /\S/
406
+ break
407
+ end
408
+ width += get_mbchar_width(mbchar)
409
+ byte_size += size
410
+ end
411
+ [byte_size, width]
412
+ end
413
+ end
414
+
415
+ require 'reline/unicode/east_asian_width'
@@ -0,0 +1,1145 @@
1
+ class Reline::Unicode::EastAsianWidth
2
+ # This is based on EastAsianWidth.txt
3
+ # http://www.unicode.org/Public/10.0.0/ucd/EastAsianWidth.txt
4
+
5
+ # Fullwidth
6
+ TYPE_F = /^(
7
+ \u{3000} |
8
+ [\u{FF01}-\u{FF60}] |
9
+ [\u{FFE0}-\u{FFE6}]
10
+ )/x
11
+
12
+ # Halfwidth
13
+ TYPE_H = /^(
14
+ \u{20A9} |
15
+ [\u{FF61}-\u{FFBE}] |
16
+ [\u{FFC2}-\u{FFC7}] |
17
+ [\u{FFCA}-\u{FFCF}] |
18
+ [\u{FFD2}-\u{FFD7}] |
19
+ [\u{FFDA}-\u{FFDC}] |
20
+ [\u{FFE8}-\u{FFEE}]
21
+ )/x
22
+
23
+ # Wide
24
+ TYPE_W = /^(
25
+ [\u{1100}-\u{115F}] |
26
+ [\u{231A}-\u{231B}] |
27
+ [\u{2329}-\u{232A}] |
28
+ [\u{23E9}-\u{23EC}] |
29
+ \u{23F0} |
30
+ \u{23F3} |
31
+ [\u{25FD}-\u{25FE}] |
32
+ [\u{2614}-\u{2615}] |
33
+ [\u{2648}-\u{2653}] |
34
+ \u{267F} |
35
+ \u{2693} |
36
+ \u{26A1} |
37
+ [\u{26AA}-\u{26AB}] |
38
+ [\u{26BD}-\u{26BE}] |
39
+ [\u{26C4}-\u{26C5}] |
40
+ \u{26CE} |
41
+ \u{26D4} |
42
+ \u{26EA} |
43
+ [\u{26F2}-\u{26F3}] |
44
+ \u{26F5} |
45
+ \u{26FA} |
46
+ \u{26FD} |
47
+ \u{2705} |
48
+ [\u{270A}-\u{270B}] |
49
+ \u{2728} |
50
+ \u{274C} |
51
+ \u{274E} |
52
+ [\u{2753}-\u{2755}] |
53
+ \u{2757} |
54
+ [\u{2795}-\u{2797}] |
55
+ \u{27B0} |
56
+ \u{27BF} |
57
+ [\u{2B1B}-\u{2B1C}] |
58
+ \u{2B50} |
59
+ \u{2B55} |
60
+ [\u{2E80}-\u{2E99}] |
61
+ [\u{2E9B}-\u{2EF3}] |
62
+ [\u{2F00}-\u{2FD5}] |
63
+ [\u{2FF0}-\u{2FFB}] |
64
+ [\u{3001}-\u{303E}] |
65
+ [\u{3041}-\u{3096}] |
66
+ [\u{3099}-\u{30FF}] |
67
+ [\u{3105}-\u{312F}] |
68
+ [\u{3131}-\u{318E}] |
69
+ [\u{3190}-\u{31BA}] |
70
+ [\u{31C0}-\u{31E3}] |
71
+ [\u{31F0}-\u{321E}] |
72
+ [\u{3220}-\u{3247}] |
73
+ [\u{3250}-\u{4DBF}] |
74
+ [\u{4E00}-\u{A48C}] |
75
+ [\u{A490}-\u{A4C6}] |
76
+ [\u{A960}-\u{A97C}] |
77
+ [\u{AC00}-\u{D7A3}] |
78
+ [\u{F900}-\u{FAFF}] |
79
+ [\u{FE10}-\u{FE19}] |
80
+ [\u{FE30}-\u{FE52}] |
81
+ [\u{FE54}-\u{FE66}] |
82
+ [\u{FE68}-\u{FE6B}] |
83
+ [\u{16FE0}-\u{16FE3}] |
84
+ [\u{17000}-\u{187F7}] |
85
+ [\u{18800}-\u{18AF2}] |
86
+ [\u{1B000}-\u{1B11E}] |
87
+ [\u{1B150}-\u{1B152}] |
88
+ [\u{1B164}-\u{1B167}] |
89
+ [\u{1B170}-\u{1B2FB}] |
90
+ \u{1F004} |
91
+ \u{1F0CF} |
92
+ \u{1F18E} |
93
+ [\u{1F191}-\u{1F19A}] |
94
+ [\u{1F200}-\u{1F202}] |
95
+ [\u{1F210}-\u{1F23B}] |
96
+ [\u{1F240}-\u{1F248}] |
97
+ [\u{1F250}-\u{1F251}] |
98
+ [\u{1F260}-\u{1F265}] |
99
+ [\u{1F300}-\u{1F320}] |
100
+ [\u{1F32D}-\u{1F335}] |
101
+ [\u{1F337}-\u{1F37C}] |
102
+ [\u{1F37E}-\u{1F393}] |
103
+ [\u{1F3A0}-\u{1F3CA}] |
104
+ [\u{1F3CF}-\u{1F3D3}] |
105
+ [\u{1F3E0}-\u{1F3F0}] |
106
+ \u{1F3F4} |
107
+ [\u{1F3F8}-\u{1F43E}] |
108
+ \u{1F440} |
109
+ [\u{1F442}-\u{1F4FC}] |
110
+ [\u{1F4FF}-\u{1F53D}] |
111
+ [\u{1F54B}-\u{1F54E}] |
112
+ [\u{1F550}-\u{1F567}] |
113
+ \u{1F57A} |
114
+ [\u{1F595}-\u{1F596}] |
115
+ \u{1F5A4} |
116
+ [\u{1F5FB}-\u{1F64F}] |
117
+ [\u{1F680}-\u{1F6C5}] |
118
+ \u{1F6CC} |
119
+ [\u{1F6D0}-\u{1F6D2}] |
120
+ \u{1F6D5} |
121
+ [\u{1F6EB}-\u{1F6EC}] |
122
+ [\u{1F6F4}-\u{1F6FA}] |
123
+ [\u{1F7E0}-\u{1F7EB}] |
124
+ [\u{1F90D}-\u{1F971}] |
125
+ [\u{1F973}-\u{1F976}] |
126
+ [\u{1F97A}-\u{1F9A2}] |
127
+ [\u{1F9A5}-\u{1F9AA}] |
128
+ [\u{1F9AE}-\u{1F9CA}] |
129
+ [\u{1F9CD}-\u{1F9FF}] |
130
+ [\u{1FA70}-\u{1FA73}] |
131
+ [\u{1FA78}-\u{1FA7A}] |
132
+ [\u{1FA80}-\u{1FA82}] |
133
+ [\u{1FA90}-\u{1FA95}] |
134
+ [\u{20000}-\u{2FFFD}] |
135
+ [\u{30000}-\u{3FFFD}]
136
+ )/x
137
+
138
+ # Narrow
139
+ TYPE_NA = /^(
140
+ [\u{0020}-\u{007E}] |
141
+ [\u{00A2}-\u{00A3}] |
142
+ [\u{00A5}-\u{00A6}] |
143
+ \u{00AC} |
144
+ \u{00AF} |
145
+ [\u{27E6}-\u{27ED}] |
146
+ [\u{2985}-\u{2986}]
147
+ )/x
148
+
149
+ # Ambiguous
150
+ TYPE_A = /^(
151
+ \u{00A1} |
152
+ \u{00A4} |
153
+ [\u{00A7}-\u{00A8}] |
154
+ \u{00AA} |
155
+ [\u{00AD}-\u{00AE}] |
156
+ [\u{00B0}-\u{00B4}] |
157
+ [\u{00B6}-\u{00BA}] |
158
+ [\u{00BC}-\u{00BF}] |
159
+ \u{00C6} |
160
+ \u{00D0} |
161
+ [\u{00D7}-\u{00D8}] |
162
+ [\u{00DE}-\u{00E1}] |
163
+ \u{00E6} |
164
+ [\u{00E8}-\u{00EA}] |
165
+ [\u{00EC}-\u{00ED}] |
166
+ \u{00F0} |
167
+ [\u{00F2}-\u{00F3}] |
168
+ [\u{00F7}-\u{00FA}] |
169
+ \u{00FC} |
170
+ \u{00FE} |
171
+ \u{0101} |
172
+ \u{0111} |
173
+ \u{0113} |
174
+ \u{011B} |
175
+ [\u{0126}-\u{0127}] |
176
+ \u{012B} |
177
+ [\u{0131}-\u{0133}] |
178
+ \u{0138} |
179
+ [\u{013F}-\u{0142}] |
180
+ \u{0144} |
181
+ [\u{0148}-\u{014B}] |
182
+ \u{014D} |
183
+ [\u{0152}-\u{0153}] |
184
+ [\u{0166}-\u{0167}] |
185
+ \u{016B} |
186
+ \u{01CE} |
187
+ \u{01D0} |
188
+ \u{01D2} |
189
+ \u{01D4} |
190
+ \u{01D6} |
191
+ \u{01D8} |
192
+ \u{01DA} |
193
+ \u{01DC} |
194
+ \u{0251} |
195
+ \u{0261} |
196
+ \u{02C4} |
197
+ \u{02C7} |
198
+ [\u{02C9}-\u{02CB}] |
199
+ \u{02CD} |
200
+ \u{02D0} |
201
+ [\u{02D8}-\u{02DB}] |
202
+ \u{02DD} |
203
+ \u{02DF} |
204
+ [\u{0300}-\u{036F}] |
205
+ [\u{0391}-\u{03A1}] |
206
+ [\u{03A3}-\u{03A9}] |
207
+ [\u{03B1}-\u{03C1}] |
208
+ [\u{03C3}-\u{03C9}] |
209
+ \u{0401} |
210
+ [\u{0410}-\u{044F}] |
211
+ \u{0451} |
212
+ \u{2010} |
213
+ [\u{2013}-\u{2016}] |
214
+ [\u{2018}-\u{2019}] |
215
+ [\u{201C}-\u{201D}] |
216
+ [\u{2020}-\u{2022}] |
217
+ [\u{2024}-\u{2027}] |
218
+ \u{2030} |
219
+ [\u{2032}-\u{2033}] |
220
+ \u{2035} |
221
+ \u{203B} |
222
+ \u{203E} |
223
+ \u{2074} |
224
+ \u{207F} |
225
+ [\u{2081}-\u{2084}] |
226
+ \u{20AC} |
227
+ \u{2103} |
228
+ \u{2105} |
229
+ \u{2109} |
230
+ \u{2113} |
231
+ \u{2116} |
232
+ [\u{2121}-\u{2122}] |
233
+ \u{2126} |
234
+ \u{212B} |
235
+ [\u{2153}-\u{2154}] |
236
+ [\u{215B}-\u{215E}] |
237
+ [\u{2160}-\u{216B}] |
238
+ [\u{2170}-\u{2179}] |
239
+ \u{2189} |
240
+ [\u{2190}-\u{2199}] |
241
+ [\u{21B8}-\u{21B9}] |
242
+ \u{21D2} |
243
+ \u{21D4} |
244
+ \u{21E7} |
245
+ \u{2200} |
246
+ [\u{2202}-\u{2203}] |
247
+ [\u{2207}-\u{2208}] |
248
+ \u{220B} |
249
+ \u{220F} |
250
+ \u{2211} |
251
+ \u{2215} |
252
+ \u{221A} |
253
+ [\u{221D}-\u{2220}] |
254
+ \u{2223} |
255
+ \u{2225} |
256
+ [\u{2227}-\u{222C}] |
257
+ \u{222E} |
258
+ [\u{2234}-\u{2237}] |
259
+ [\u{223C}-\u{223D}] |
260
+ \u{2248} |
261
+ \u{224C} |
262
+ \u{2252} |
263
+ [\u{2260}-\u{2261}] |
264
+ [\u{2264}-\u{2267}] |
265
+ [\u{226A}-\u{226B}] |
266
+ [\u{226E}-\u{226F}] |
267
+ [\u{2282}-\u{2283}] |
268
+ [\u{2286}-\u{2287}] |
269
+ \u{2295} |
270
+ \u{2299} |
271
+ \u{22A5} |
272
+ \u{22BF} |
273
+ \u{2312} |
274
+ [\u{2460}-\u{24E9}] |
275
+ [\u{24EB}-\u{254B}] |
276
+ [\u{2550}-\u{2573}] |
277
+ [\u{2580}-\u{258F}] |
278
+ [\u{2592}-\u{2595}] |
279
+ [\u{25A0}-\u{25A1}] |
280
+ [\u{25A3}-\u{25A9}] |
281
+ [\u{25B2}-\u{25B3}] |
282
+ [\u{25B6}-\u{25B7}] |
283
+ [\u{25BC}-\u{25BD}] |
284
+ [\u{25C0}-\u{25C1}] |
285
+ [\u{25C6}-\u{25C8}] |
286
+ \u{25CB} |
287
+ [\u{25CE}-\u{25D1}] |
288
+ [\u{25E2}-\u{25E5}] |
289
+ \u{25EF} |
290
+ [\u{2605}-\u{2606}] |
291
+ \u{2609} |
292
+ [\u{260E}-\u{260F}] |
293
+ \u{261C} |
294
+ \u{261E} |
295
+ \u{2640} |
296
+ \u{2642} |
297
+ [\u{2660}-\u{2661}] |
298
+ [\u{2663}-\u{2665}] |
299
+ [\u{2667}-\u{266A}] |
300
+ [\u{266C}-\u{266D}] |
301
+ \u{266F} |
302
+ [\u{269E}-\u{269F}] |
303
+ \u{26BF} |
304
+ [\u{26C6}-\u{26CD}] |
305
+ [\u{26CF}-\u{26D3}] |
306
+ [\u{26D5}-\u{26E1}] |
307
+ \u{26E3} |
308
+ [\u{26E8}-\u{26E9}] |
309
+ [\u{26EB}-\u{26F1}] |
310
+ \u{26F4} |
311
+ [\u{26F6}-\u{26F9}] |
312
+ [\u{26FB}-\u{26FC}] |
313
+ [\u{26FE}-\u{26FF}] |
314
+ \u{273D} |
315
+ [\u{2776}-\u{277F}] |
316
+ [\u{2B56}-\u{2B59}] |
317
+ [\u{3248}-\u{324F}] |
318
+ [\u{E000}-\u{F8FF}] |
319
+ [\u{FE00}-\u{FE0F}] |
320
+ \u{FFFD} |
321
+ [\u{1F100}-\u{1F10A}] |
322
+ [\u{1F110}-\u{1F12D}] |
323
+ [\u{1F130}-\u{1F169}] |
324
+ [\u{1F170}-\u{1F18D}] |
325
+ [\u{1F18F}-\u{1F190}] |
326
+ [\u{1F19B}-\u{1F1AC}] |
327
+ [\u{E0100}-\u{E01EF}] |
328
+ [\u{F0000}-\u{FFFFD}] |
329
+ [\u{100000}-\u{10FFFD}]
330
+ )/x
331
+
332
+ # Neutral
333
+ TYPE_N = /^(
334
+ [\u{0000}-\u{001F}] |
335
+ [\u{007F}-\u{00A0}] |
336
+ \u{00A9} |
337
+ \u{00AB} |
338
+ \u{00B5} |
339
+ \u{00BB} |
340
+ [\u{00C0}-\u{00C5}] |
341
+ [\u{00C7}-\u{00CF}] |
342
+ [\u{00D1}-\u{00D6}] |
343
+ [\u{00D9}-\u{00DD}] |
344
+ [\u{00E2}-\u{00E5}] |
345
+ \u{00E7} |
346
+ \u{00EB} |
347
+ [\u{00EE}-\u{00EF}] |
348
+ \u{00F1} |
349
+ [\u{00F4}-\u{00F6}] |
350
+ \u{00FB} |
351
+ \u{00FD} |
352
+ [\u{00FF}-\u{0100}] |
353
+ [\u{0102}-\u{0110}] |
354
+ \u{0112} |
355
+ [\u{0114}-\u{011A}] |
356
+ [\u{011C}-\u{0125}] |
357
+ [\u{0128}-\u{012A}] |
358
+ [\u{012C}-\u{0130}] |
359
+ [\u{0134}-\u{0137}] |
360
+ [\u{0139}-\u{013E}] |
361
+ \u{0143} |
362
+ [\u{0145}-\u{0147}] |
363
+ \u{014C} |
364
+ [\u{014E}-\u{0151}] |
365
+ [\u{0154}-\u{0165}] |
366
+ [\u{0168}-\u{016A}] |
367
+ [\u{016C}-\u{01CD}] |
368
+ \u{01CF} |
369
+ \u{01D1} |
370
+ \u{01D3} |
371
+ \u{01D5} |
372
+ \u{01D7} |
373
+ \u{01D9} |
374
+ \u{01DB} |
375
+ [\u{01DD}-\u{0250}] |
376
+ [\u{0252}-\u{0260}] |
377
+ [\u{0262}-\u{02C3}] |
378
+ [\u{02C5}-\u{02C6}] |
379
+ \u{02C8} |
380
+ \u{02CC} |
381
+ [\u{02CE}-\u{02CF}] |
382
+ [\u{02D1}-\u{02D7}] |
383
+ \u{02DC} |
384
+ \u{02DE} |
385
+ [\u{02E0}-\u{02FF}] |
386
+ [\u{0370}-\u{0377}] |
387
+ [\u{037A}-\u{037F}] |
388
+ [\u{0384}-\u{038A}] |
389
+ \u{038C} |
390
+ [\u{038E}-\u{0390}] |
391
+ [\u{03AA}-\u{03B0}] |
392
+ \u{03C2} |
393
+ [\u{03CA}-\u{0400}] |
394
+ [\u{0402}-\u{040F}] |
395
+ \u{0450} |
396
+ [\u{0452}-\u{052F}] |
397
+ [\u{0531}-\u{0556}] |
398
+ [\u{0559}-\u{058A}] |
399
+ [\u{058D}-\u{058F}] |
400
+ [\u{0591}-\u{05C7}] |
401
+ [\u{05D0}-\u{05EA}] |
402
+ [\u{05EF}-\u{05F4}] |
403
+ [\u{0600}-\u{061C}] |
404
+ [\u{061E}-\u{070D}] |
405
+ [\u{070F}-\u{074A}] |
406
+ [\u{074D}-\u{07B1}] |
407
+ [\u{07C0}-\u{07FA}] |
408
+ [\u{07FD}-\u{082D}] |
409
+ [\u{0830}-\u{083E}] |
410
+ [\u{0840}-\u{085B}] |
411
+ \u{085E} |
412
+ [\u{0860}-\u{086A}] |
413
+ [\u{08A0}-\u{08B4}] |
414
+ [\u{08B6}-\u{08BD}] |
415
+ [\u{08D3}-\u{0983}] |
416
+ [\u{0985}-\u{098C}] |
417
+ [\u{098F}-\u{0990}] |
418
+ [\u{0993}-\u{09A8}] |
419
+ [\u{09AA}-\u{09B0}] |
420
+ \u{09B2} |
421
+ [\u{09B6}-\u{09B9}] |
422
+ [\u{09BC}-\u{09C4}] |
423
+ [\u{09C7}-\u{09C8}] |
424
+ [\u{09CB}-\u{09CE}] |
425
+ \u{09D7} |
426
+ [\u{09DC}-\u{09DD}] |
427
+ [\u{09DF}-\u{09E3}] |
428
+ [\u{09E6}-\u{09FE}] |
429
+ [\u{0A01}-\u{0A03}] |
430
+ [\u{0A05}-\u{0A0A}] |
431
+ [\u{0A0F}-\u{0A10}] |
432
+ [\u{0A13}-\u{0A28}] |
433
+ [\u{0A2A}-\u{0A30}] |
434
+ [\u{0A32}-\u{0A33}] |
435
+ [\u{0A35}-\u{0A36}] |
436
+ [\u{0A38}-\u{0A39}] |
437
+ \u{0A3C} |
438
+ [\u{0A3E}-\u{0A42}] |
439
+ [\u{0A47}-\u{0A48}] |
440
+ [\u{0A4B}-\u{0A4D}] |
441
+ \u{0A51} |
442
+ [\u{0A59}-\u{0A5C}] |
443
+ \u{0A5E} |
444
+ [\u{0A66}-\u{0A76}] |
445
+ [\u{0A81}-\u{0A83}] |
446
+ [\u{0A85}-\u{0A8D}] |
447
+ [\u{0A8F}-\u{0A91}] |
448
+ [\u{0A93}-\u{0AA8}] |
449
+ [\u{0AAA}-\u{0AB0}] |
450
+ [\u{0AB2}-\u{0AB3}] |
451
+ [\u{0AB5}-\u{0AB9}] |
452
+ [\u{0ABC}-\u{0AC5}] |
453
+ [\u{0AC7}-\u{0AC9}] |
454
+ [\u{0ACB}-\u{0ACD}] |
455
+ \u{0AD0} |
456
+ [\u{0AE0}-\u{0AE3}] |
457
+ [\u{0AE6}-\u{0AF1}] |
458
+ [\u{0AF9}-\u{0AFF}] |
459
+ [\u{0B01}-\u{0B03}] |
460
+ [\u{0B05}-\u{0B0C}] |
461
+ [\u{0B0F}-\u{0B10}] |
462
+ [\u{0B13}-\u{0B28}] |
463
+ [\u{0B2A}-\u{0B30}] |
464
+ [\u{0B32}-\u{0B33}] |
465
+ [\u{0B35}-\u{0B39}] |
466
+ [\u{0B3C}-\u{0B44}] |
467
+ [\u{0B47}-\u{0B48}] |
468
+ [\u{0B4B}-\u{0B4D}] |
469
+ [\u{0B56}-\u{0B57}] |
470
+ [\u{0B5C}-\u{0B5D}] |
471
+ [\u{0B5F}-\u{0B63}] |
472
+ [\u{0B66}-\u{0B77}] |
473
+ [\u{0B82}-\u{0B83}] |
474
+ [\u{0B85}-\u{0B8A}] |
475
+ [\u{0B8E}-\u{0B90}] |
476
+ [\u{0B92}-\u{0B95}] |
477
+ [\u{0B99}-\u{0B9A}] |
478
+ \u{0B9C} |
479
+ [\u{0B9E}-\u{0B9F}] |
480
+ [\u{0BA3}-\u{0BA4}] |
481
+ [\u{0BA8}-\u{0BAA}] |
482
+ [\u{0BAE}-\u{0BB9}] |
483
+ [\u{0BBE}-\u{0BC2}] |
484
+ [\u{0BC6}-\u{0BC8}] |
485
+ [\u{0BCA}-\u{0BCD}] |
486
+ \u{0BD0} |
487
+ \u{0BD7} |
488
+ [\u{0BE6}-\u{0BFA}] |
489
+ [\u{0C00}-\u{0C0C}] |
490
+ [\u{0C0E}-\u{0C10}] |
491
+ [\u{0C12}-\u{0C28}] |
492
+ [\u{0C2A}-\u{0C39}] |
493
+ [\u{0C3D}-\u{0C44}] |
494
+ [\u{0C46}-\u{0C48}] |
495
+ [\u{0C4A}-\u{0C4D}] |
496
+ [\u{0C55}-\u{0C56}] |
497
+ [\u{0C58}-\u{0C5A}] |
498
+ [\u{0C60}-\u{0C63}] |
499
+ [\u{0C66}-\u{0C6F}] |
500
+ [\u{0C77}-\u{0C8C}] |
501
+ [\u{0C8E}-\u{0C90}] |
502
+ [\u{0C92}-\u{0CA8}] |
503
+ [\u{0CAA}-\u{0CB3}] |
504
+ [\u{0CB5}-\u{0CB9}] |
505
+ [\u{0CBC}-\u{0CC4}] |
506
+ [\u{0CC6}-\u{0CC8}] |
507
+ [\u{0CCA}-\u{0CCD}] |
508
+ [\u{0CD5}-\u{0CD6}] |
509
+ \u{0CDE} |
510
+ [\u{0CE0}-\u{0CE3}] |
511
+ [\u{0CE6}-\u{0CEF}] |
512
+ [\u{0CF1}-\u{0CF2}] |
513
+ [\u{0D00}-\u{0D03}] |
514
+ [\u{0D05}-\u{0D0C}] |
515
+ [\u{0D0E}-\u{0D10}] |
516
+ [\u{0D12}-\u{0D44}] |
517
+ [\u{0D46}-\u{0D48}] |
518
+ [\u{0D4A}-\u{0D4F}] |
519
+ [\u{0D54}-\u{0D63}] |
520
+ [\u{0D66}-\u{0D7F}] |
521
+ [\u{0D82}-\u{0D83}] |
522
+ [\u{0D85}-\u{0D96}] |
523
+ [\u{0D9A}-\u{0DB1}] |
524
+ [\u{0DB3}-\u{0DBB}] |
525
+ \u{0DBD} |
526
+ [\u{0DC0}-\u{0DC6}] |
527
+ \u{0DCA} |
528
+ [\u{0DCF}-\u{0DD4}] |
529
+ \u{0DD6} |
530
+ [\u{0DD8}-\u{0DDF}] |
531
+ [\u{0DE6}-\u{0DEF}] |
532
+ [\u{0DF2}-\u{0DF4}] |
533
+ [\u{0E01}-\u{0E3A}] |
534
+ [\u{0E3F}-\u{0E5B}] |
535
+ [\u{0E81}-\u{0E82}] |
536
+ \u{0E84} |
537
+ [\u{0E86}-\u{0E8A}] |
538
+ [\u{0E8C}-\u{0EA3}] |
539
+ \u{0EA5} |
540
+ [\u{0EA7}-\u{0EBD}] |
541
+ [\u{0EC0}-\u{0EC4}] |
542
+ \u{0EC6} |
543
+ [\u{0EC8}-\u{0ECD}] |
544
+ [\u{0ED0}-\u{0ED9}] |
545
+ [\u{0EDC}-\u{0EDF}] |
546
+ [\u{0F00}-\u{0F47}] |
547
+ [\u{0F49}-\u{0F6C}] |
548
+ [\u{0F71}-\u{0F97}] |
549
+ [\u{0F99}-\u{0FBC}] |
550
+ [\u{0FBE}-\u{0FCC}] |
551
+ [\u{0FCE}-\u{0FDA}] |
552
+ [\u{1000}-\u{10C5}] |
553
+ \u{10C7} |
554
+ \u{10CD} |
555
+ [\u{10D0}-\u{10FF}] |
556
+ [\u{1160}-\u{1248}] |
557
+ [\u{124A}-\u{124D}] |
558
+ [\u{1250}-\u{1256}] |
559
+ \u{1258} |
560
+ [\u{125A}-\u{125D}] |
561
+ [\u{1260}-\u{1288}] |
562
+ [\u{128A}-\u{128D}] |
563
+ [\u{1290}-\u{12B0}] |
564
+ [\u{12B2}-\u{12B5}] |
565
+ [\u{12B8}-\u{12BE}] |
566
+ \u{12C0} |
567
+ [\u{12C2}-\u{12C5}] |
568
+ [\u{12C8}-\u{12D6}] |
569
+ [\u{12D8}-\u{1310}] |
570
+ [\u{1312}-\u{1315}] |
571
+ [\u{1318}-\u{135A}] |
572
+ [\u{135D}-\u{137C}] |
573
+ [\u{1380}-\u{1399}] |
574
+ [\u{13A0}-\u{13F5}] |
575
+ [\u{13F8}-\u{13FD}] |
576
+ [\u{1400}-\u{169C}] |
577
+ [\u{16A0}-\u{16F8}] |
578
+ [\u{1700}-\u{170C}] |
579
+ [\u{170E}-\u{1714}] |
580
+ [\u{1720}-\u{1736}] |
581
+ [\u{1740}-\u{1753}] |
582
+ [\u{1760}-\u{176C}] |
583
+ [\u{176E}-\u{1770}] |
584
+ [\u{1772}-\u{1773}] |
585
+ [\u{1780}-\u{17DD}] |
586
+ [\u{17E0}-\u{17E9}] |
587
+ [\u{17F0}-\u{17F9}] |
588
+ [\u{1800}-\u{180E}] |
589
+ [\u{1810}-\u{1819}] |
590
+ [\u{1820}-\u{1878}] |
591
+ [\u{1880}-\u{18AA}] |
592
+ [\u{18B0}-\u{18F5}] |
593
+ [\u{1900}-\u{191E}] |
594
+ [\u{1920}-\u{192B}] |
595
+ [\u{1930}-\u{193B}] |
596
+ \u{1940} |
597
+ [\u{1944}-\u{196D}] |
598
+ [\u{1970}-\u{1974}] |
599
+ [\u{1980}-\u{19AB}] |
600
+ [\u{19B0}-\u{19C9}] |
601
+ [\u{19D0}-\u{19DA}] |
602
+ [\u{19DE}-\u{1A1B}] |
603
+ [\u{1A1E}-\u{1A5E}] |
604
+ [\u{1A60}-\u{1A7C}] |
605
+ [\u{1A7F}-\u{1A89}] |
606
+ [\u{1A90}-\u{1A99}] |
607
+ [\u{1AA0}-\u{1AAD}] |
608
+ [\u{1AB0}-\u{1ABE}] |
609
+ [\u{1B00}-\u{1B4B}] |
610
+ [\u{1B50}-\u{1B7C}] |
611
+ [\u{1B80}-\u{1BF3}] |
612
+ [\u{1BFC}-\u{1C37}] |
613
+ [\u{1C3B}-\u{1C49}] |
614
+ [\u{1C4D}-\u{1C88}] |
615
+ [\u{1C90}-\u{1CBA}] |
616
+ [\u{1CBD}-\u{1CC7}] |
617
+ [\u{1CD0}-\u{1CFA}] |
618
+ [\u{1D00}-\u{1DF9}] |
619
+ [\u{1DFB}-\u{1F15}] |
620
+ [\u{1F18}-\u{1F1D}] |
621
+ [\u{1F20}-\u{1F45}] |
622
+ [\u{1F48}-\u{1F4D}] |
623
+ [\u{1F50}-\u{1F57}] |
624
+ \u{1F59} |
625
+ \u{1F5B} |
626
+ \u{1F5D} |
627
+ [\u{1F5F}-\u{1F7D}] |
628
+ [\u{1F80}-\u{1FB4}] |
629
+ [\u{1FB6}-\u{1FC4}] |
630
+ [\u{1FC6}-\u{1FD3}] |
631
+ [\u{1FD6}-\u{1FDB}] |
632
+ [\u{1FDD}-\u{1FEF}] |
633
+ [\u{1FF2}-\u{1FF4}] |
634
+ [\u{1FF6}-\u{1FFE}] |
635
+ [\u{2000}-\u{200F}] |
636
+ [\u{2011}-\u{2012}] |
637
+ \u{2017} |
638
+ [\u{201A}-\u{201B}] |
639
+ [\u{201E}-\u{201F}] |
640
+ \u{2023} |
641
+ [\u{2028}-\u{202F}] |
642
+ \u{2031} |
643
+ \u{2034} |
644
+ [\u{2036}-\u{203A}] |
645
+ [\u{203C}-\u{203D}] |
646
+ [\u{203F}-\u{2064}] |
647
+ [\u{2066}-\u{2071}] |
648
+ [\u{2075}-\u{207E}] |
649
+ \u{2080} |
650
+ [\u{2085}-\u{208E}] |
651
+ [\u{2090}-\u{209C}] |
652
+ [\u{20A0}-\u{20A8}] |
653
+ [\u{20AA}-\u{20AB}] |
654
+ [\u{20AD}-\u{20BF}] |
655
+ [\u{20D0}-\u{20F0}] |
656
+ [\u{2100}-\u{2102}] |
657
+ \u{2104} |
658
+ [\u{2106}-\u{2108}] |
659
+ [\u{210A}-\u{2112}] |
660
+ [\u{2114}-\u{2115}] |
661
+ [\u{2117}-\u{2120}] |
662
+ [\u{2123}-\u{2125}] |
663
+ [\u{2127}-\u{212A}] |
664
+ [\u{212C}-\u{2152}] |
665
+ [\u{2155}-\u{215A}] |
666
+ \u{215F} |
667
+ [\u{216C}-\u{216F}] |
668
+ [\u{217A}-\u{2188}] |
669
+ [\u{218A}-\u{218B}] |
670
+ [\u{219A}-\u{21B7}] |
671
+ [\u{21BA}-\u{21D1}] |
672
+ \u{21D3} |
673
+ [\u{21D5}-\u{21E6}] |
674
+ [\u{21E8}-\u{21FF}] |
675
+ \u{2201} |
676
+ [\u{2204}-\u{2206}] |
677
+ [\u{2209}-\u{220A}] |
678
+ [\u{220C}-\u{220E}] |
679
+ \u{2210} |
680
+ [\u{2212}-\u{2214}] |
681
+ [\u{2216}-\u{2219}] |
682
+ [\u{221B}-\u{221C}] |
683
+ [\u{2221}-\u{2222}] |
684
+ \u{2224} |
685
+ \u{2226} |
686
+ \u{222D} |
687
+ [\u{222F}-\u{2233}] |
688
+ [\u{2238}-\u{223B}] |
689
+ [\u{223E}-\u{2247}] |
690
+ [\u{2249}-\u{224B}] |
691
+ [\u{224D}-\u{2251}] |
692
+ [\u{2253}-\u{225F}] |
693
+ [\u{2262}-\u{2263}] |
694
+ [\u{2268}-\u{2269}] |
695
+ [\u{226C}-\u{226D}] |
696
+ [\u{2270}-\u{2281}] |
697
+ [\u{2284}-\u{2285}] |
698
+ [\u{2288}-\u{2294}] |
699
+ [\u{2296}-\u{2298}] |
700
+ [\u{229A}-\u{22A4}] |
701
+ [\u{22A6}-\u{22BE}] |
702
+ [\u{22C0}-\u{2311}] |
703
+ [\u{2313}-\u{2319}] |
704
+ [\u{231C}-\u{2328}] |
705
+ [\u{232B}-\u{23E8}] |
706
+ [\u{23ED}-\u{23EF}] |
707
+ [\u{23F1}-\u{23F2}] |
708
+ [\u{23F4}-\u{2426}] |
709
+ [\u{2440}-\u{244A}] |
710
+ \u{24EA} |
711
+ [\u{254C}-\u{254F}] |
712
+ [\u{2574}-\u{257F}] |
713
+ [\u{2590}-\u{2591}] |
714
+ [\u{2596}-\u{259F}] |
715
+ \u{25A2} |
716
+ [\u{25AA}-\u{25B1}] |
717
+ [\u{25B4}-\u{25B5}] |
718
+ [\u{25B8}-\u{25BB}] |
719
+ [\u{25BE}-\u{25BF}] |
720
+ [\u{25C2}-\u{25C5}] |
721
+ [\u{25C9}-\u{25CA}] |
722
+ [\u{25CC}-\u{25CD}] |
723
+ [\u{25D2}-\u{25E1}] |
724
+ [\u{25E6}-\u{25EE}] |
725
+ [\u{25F0}-\u{25FC}] |
726
+ [\u{25FF}-\u{2604}] |
727
+ [\u{2607}-\u{2608}] |
728
+ [\u{260A}-\u{260D}] |
729
+ [\u{2610}-\u{2613}] |
730
+ [\u{2616}-\u{261B}] |
731
+ \u{261D} |
732
+ [\u{261F}-\u{263F}] |
733
+ \u{2641} |
734
+ [\u{2643}-\u{2647}] |
735
+ [\u{2654}-\u{265F}] |
736
+ \u{2662} |
737
+ \u{2666} |
738
+ \u{266B} |
739
+ \u{266E} |
740
+ [\u{2670}-\u{267E}] |
741
+ [\u{2680}-\u{2692}] |
742
+ [\u{2694}-\u{269D}] |
743
+ \u{26A0} |
744
+ [\u{26A2}-\u{26A9}] |
745
+ [\u{26AC}-\u{26BC}] |
746
+ [\u{26C0}-\u{26C3}] |
747
+ \u{26E2} |
748
+ [\u{26E4}-\u{26E7}] |
749
+ [\u{2700}-\u{2704}] |
750
+ [\u{2706}-\u{2709}] |
751
+ [\u{270C}-\u{2727}] |
752
+ [\u{2729}-\u{273C}] |
753
+ [\u{273E}-\u{274B}] |
754
+ \u{274D} |
755
+ [\u{274F}-\u{2752}] |
756
+ \u{2756} |
757
+ [\u{2758}-\u{2775}] |
758
+ [\u{2780}-\u{2794}] |
759
+ [\u{2798}-\u{27AF}] |
760
+ [\u{27B1}-\u{27BE}] |
761
+ [\u{27C0}-\u{27E5}] |
762
+ [\u{27EE}-\u{2984}] |
763
+ [\u{2987}-\u{2B1A}] |
764
+ [\u{2B1D}-\u{2B4F}] |
765
+ [\u{2B51}-\u{2B54}] |
766
+ [\u{2B5A}-\u{2B73}] |
767
+ [\u{2B76}-\u{2B95}] |
768
+ [\u{2B98}-\u{2C2E}] |
769
+ [\u{2C30}-\u{2C5E}] |
770
+ [\u{2C60}-\u{2CF3}] |
771
+ [\u{2CF9}-\u{2D25}] |
772
+ \u{2D27} |
773
+ \u{2D2D} |
774
+ [\u{2D30}-\u{2D67}] |
775
+ [\u{2D6F}-\u{2D70}] |
776
+ [\u{2D7F}-\u{2D96}] |
777
+ [\u{2DA0}-\u{2DA6}] |
778
+ [\u{2DA8}-\u{2DAE}] |
779
+ [\u{2DB0}-\u{2DB6}] |
780
+ [\u{2DB8}-\u{2DBE}] |
781
+ [\u{2DC0}-\u{2DC6}] |
782
+ [\u{2DC8}-\u{2DCE}] |
783
+ [\u{2DD0}-\u{2DD6}] |
784
+ [\u{2DD8}-\u{2DDE}] |
785
+ [\u{2DE0}-\u{2E4F}] |
786
+ \u{303F} |
787
+ [\u{4DC0}-\u{4DFF}] |
788
+ [\u{A4D0}-\u{A62B}] |
789
+ [\u{A640}-\u{A6F7}] |
790
+ [\u{A700}-\u{A7BF}] |
791
+ [\u{A7C2}-\u{A7C6}] |
792
+ [\u{A7F7}-\u{A82B}] |
793
+ [\u{A830}-\u{A839}] |
794
+ [\u{A840}-\u{A877}] |
795
+ [\u{A880}-\u{A8C5}] |
796
+ [\u{A8CE}-\u{A8D9}] |
797
+ [\u{A8E0}-\u{A953}] |
798
+ \u{A95F} |
799
+ [\u{A980}-\u{A9CD}] |
800
+ [\u{A9CF}-\u{A9D9}] |
801
+ [\u{A9DE}-\u{A9FE}] |
802
+ [\u{AA00}-\u{AA36}] |
803
+ [\u{AA40}-\u{AA4D}] |
804
+ [\u{AA50}-\u{AA59}] |
805
+ [\u{AA5C}-\u{AAC2}] |
806
+ [\u{AADB}-\u{AAF6}] |
807
+ [\u{AB01}-\u{AB06}] |
808
+ [\u{AB09}-\u{AB0E}] |
809
+ [\u{AB11}-\u{AB16}] |
810
+ [\u{AB20}-\u{AB26}] |
811
+ [\u{AB28}-\u{AB2E}] |
812
+ [\u{AB30}-\u{AB67}] |
813
+ [\u{AB70}-\u{ABED}] |
814
+ [\u{ABF0}-\u{ABF9}] |
815
+ [\u{D7B0}-\u{D7C6}] |
816
+ [\u{D7CB}-\u{D7FB}] |
817
+ [\u{FB00}-\u{FB06}] |
818
+ [\u{FB13}-\u{FB17}] |
819
+ [\u{FB1D}-\u{FB36}] |
820
+ [\u{FB38}-\u{FB3C}] |
821
+ \u{FB3E} |
822
+ [\u{FB40}-\u{FB41}] |
823
+ [\u{FB43}-\u{FB44}] |
824
+ [\u{FB46}-\u{FBC1}] |
825
+ [\u{FBD3}-\u{FD3F}] |
826
+ [\u{FD50}-\u{FD8F}] |
827
+ [\u{FD92}-\u{FDC7}] |
828
+ [\u{FDF0}-\u{FDFD}] |
829
+ [\u{FE20}-\u{FE2F}] |
830
+ [\u{FE70}-\u{FE74}] |
831
+ [\u{FE76}-\u{FEFC}] |
832
+ \u{FEFF} |
833
+ [\u{FFF9}-\u{FFFC}] |
834
+ [\u{10000}-\u{1000B}] |
835
+ [\u{1000D}-\u{10026}] |
836
+ [\u{10028}-\u{1003A}] |
837
+ [\u{1003C}-\u{1003D}] |
838
+ [\u{1003F}-\u{1004D}] |
839
+ [\u{10050}-\u{1005D}] |
840
+ [\u{10080}-\u{100FA}] |
841
+ [\u{10100}-\u{10102}] |
842
+ [\u{10107}-\u{10133}] |
843
+ [\u{10137}-\u{1018E}] |
844
+ [\u{10190}-\u{1019B}] |
845
+ \u{101A0} |
846
+ [\u{101D0}-\u{101FD}] |
847
+ [\u{10280}-\u{1029C}] |
848
+ [\u{102A0}-\u{102D0}] |
849
+ [\u{102E0}-\u{102FB}] |
850
+ [\u{10300}-\u{10323}] |
851
+ [\u{1032D}-\u{1034A}] |
852
+ [\u{10350}-\u{1037A}] |
853
+ [\u{10380}-\u{1039D}] |
854
+ [\u{1039F}-\u{103C3}] |
855
+ [\u{103C8}-\u{103D5}] |
856
+ [\u{10400}-\u{1049D}] |
857
+ [\u{104A0}-\u{104A9}] |
858
+ [\u{104B0}-\u{104D3}] |
859
+ [\u{104D8}-\u{104FB}] |
860
+ [\u{10500}-\u{10527}] |
861
+ [\u{10530}-\u{10563}] |
862
+ \u{1056F} |
863
+ [\u{10600}-\u{10736}] |
864
+ [\u{10740}-\u{10755}] |
865
+ [\u{10760}-\u{10767}] |
866
+ [\u{10800}-\u{10805}] |
867
+ \u{10808} |
868
+ [\u{1080A}-\u{10835}] |
869
+ [\u{10837}-\u{10838}] |
870
+ \u{1083C} |
871
+ [\u{1083F}-\u{10855}] |
872
+ [\u{10857}-\u{1089E}] |
873
+ [\u{108A7}-\u{108AF}] |
874
+ [\u{108E0}-\u{108F2}] |
875
+ [\u{108F4}-\u{108F5}] |
876
+ [\u{108FB}-\u{1091B}] |
877
+ [\u{1091F}-\u{10939}] |
878
+ \u{1093F} |
879
+ [\u{10980}-\u{109B7}] |
880
+ [\u{109BC}-\u{109CF}] |
881
+ [\u{109D2}-\u{10A03}] |
882
+ [\u{10A05}-\u{10A06}] |
883
+ [\u{10A0C}-\u{10A13}] |
884
+ [\u{10A15}-\u{10A17}] |
885
+ [\u{10A19}-\u{10A35}] |
886
+ [\u{10A38}-\u{10A3A}] |
887
+ [\u{10A3F}-\u{10A48}] |
888
+ [\u{10A50}-\u{10A58}] |
889
+ [\u{10A60}-\u{10A9F}] |
890
+ [\u{10AC0}-\u{10AE6}] |
891
+ [\u{10AEB}-\u{10AF6}] |
892
+ [\u{10B00}-\u{10B35}] |
893
+ [\u{10B39}-\u{10B55}] |
894
+ [\u{10B58}-\u{10B72}] |
895
+ [\u{10B78}-\u{10B91}] |
896
+ [\u{10B99}-\u{10B9C}] |
897
+ [\u{10BA9}-\u{10BAF}] |
898
+ [\u{10C00}-\u{10C48}] |
899
+ [\u{10C80}-\u{10CB2}] |
900
+ [\u{10CC0}-\u{10CF2}] |
901
+ [\u{10CFA}-\u{10D27}] |
902
+ [\u{10D30}-\u{10D39}] |
903
+ [\u{10E60}-\u{10E7E}] |
904
+ [\u{10F00}-\u{10F27}] |
905
+ [\u{10F30}-\u{10F59}] |
906
+ [\u{10FE0}-\u{10FF6}] |
907
+ [\u{11000}-\u{1104D}] |
908
+ [\u{11052}-\u{1106F}] |
909
+ [\u{1107F}-\u{110C1}] |
910
+ \u{110CD} |
911
+ [\u{110D0}-\u{110E8}] |
912
+ [\u{110F0}-\u{110F9}] |
913
+ [\u{11100}-\u{11134}] |
914
+ [\u{11136}-\u{11146}] |
915
+ [\u{11150}-\u{11176}] |
916
+ [\u{11180}-\u{111CD}] |
917
+ [\u{111D0}-\u{111DF}] |
918
+ [\u{111E1}-\u{111F4}] |
919
+ [\u{11200}-\u{11211}] |
920
+ [\u{11213}-\u{1123E}] |
921
+ [\u{11280}-\u{11286}] |
922
+ \u{11288} |
923
+ [\u{1128A}-\u{1128D}] |
924
+ [\u{1128F}-\u{1129D}] |
925
+ [\u{1129F}-\u{112A9}] |
926
+ [\u{112B0}-\u{112EA}] |
927
+ [\u{112F0}-\u{112F9}] |
928
+ [\u{11300}-\u{11303}] |
929
+ [\u{11305}-\u{1130C}] |
930
+ [\u{1130F}-\u{11310}] |
931
+ [\u{11313}-\u{11328}] |
932
+ [\u{1132A}-\u{11330}] |
933
+ [\u{11332}-\u{11333}] |
934
+ [\u{11335}-\u{11339}] |
935
+ [\u{1133B}-\u{11344}] |
936
+ [\u{11347}-\u{11348}] |
937
+ [\u{1134B}-\u{1134D}] |
938
+ \u{11350} |
939
+ \u{11357} |
940
+ [\u{1135D}-\u{11363}] |
941
+ [\u{11366}-\u{1136C}] |
942
+ [\u{11370}-\u{11374}] |
943
+ [\u{11400}-\u{11459}] |
944
+ \u{1145B} |
945
+ [\u{1145D}-\u{1145F}] |
946
+ [\u{11480}-\u{114C7}] |
947
+ [\u{114D0}-\u{114D9}] |
948
+ [\u{11580}-\u{115B5}] |
949
+ [\u{115B8}-\u{115DD}] |
950
+ [\u{11600}-\u{11644}] |
951
+ [\u{11650}-\u{11659}] |
952
+ [\u{11660}-\u{1166C}] |
953
+ [\u{11680}-\u{116B8}] |
954
+ [\u{116C0}-\u{116C9}] |
955
+ [\u{11700}-\u{1171A}] |
956
+ [\u{1171D}-\u{1172B}] |
957
+ [\u{11730}-\u{1173F}] |
958
+ [\u{11800}-\u{1183B}] |
959
+ [\u{118A0}-\u{118F2}] |
960
+ \u{118FF} |
961
+ [\u{119A0}-\u{119A7}] |
962
+ [\u{119AA}-\u{119D7}] |
963
+ [\u{119DA}-\u{119E4}] |
964
+ [\u{11A00}-\u{11A47}] |
965
+ [\u{11A50}-\u{11AA2}] |
966
+ [\u{11AC0}-\u{11AF8}] |
967
+ [\u{11C00}-\u{11C08}] |
968
+ [\u{11C0A}-\u{11C36}] |
969
+ [\u{11C38}-\u{11C45}] |
970
+ [\u{11C50}-\u{11C6C}] |
971
+ [\u{11C70}-\u{11C8F}] |
972
+ [\u{11C92}-\u{11CA7}] |
973
+ [\u{11CA9}-\u{11CB6}] |
974
+ [\u{11D00}-\u{11D06}] |
975
+ [\u{11D08}-\u{11D09}] |
976
+ [\u{11D0B}-\u{11D36}] |
977
+ \u{11D3A} |
978
+ [\u{11D3C}-\u{11D3D}] |
979
+ [\u{11D3F}-\u{11D47}] |
980
+ [\u{11D50}-\u{11D59}] |
981
+ [\u{11D60}-\u{11D65}] |
982
+ [\u{11D67}-\u{11D68}] |
983
+ [\u{11D6A}-\u{11D8E}] |
984
+ [\u{11D90}-\u{11D91}] |
985
+ [\u{11D93}-\u{11D98}] |
986
+ [\u{11DA0}-\u{11DA9}] |
987
+ [\u{11EE0}-\u{11EF8}] |
988
+ [\u{11FC0}-\u{11FF1}] |
989
+ [\u{11FFF}-\u{12399}] |
990
+ [\u{12400}-\u{1246E}] |
991
+ [\u{12470}-\u{12474}] |
992
+ [\u{12480}-\u{12543}] |
993
+ [\u{13000}-\u{1342E}] |
994
+ [\u{13430}-\u{13438}] |
995
+ [\u{14400}-\u{14646}] |
996
+ [\u{16800}-\u{16A38}] |
997
+ [\u{16A40}-\u{16A5E}] |
998
+ [\u{16A60}-\u{16A69}] |
999
+ [\u{16A6E}-\u{16A6F}] |
1000
+ [\u{16AD0}-\u{16AED}] |
1001
+ [\u{16AF0}-\u{16AF5}] |
1002
+ [\u{16B00}-\u{16B45}] |
1003
+ [\u{16B50}-\u{16B59}] |
1004
+ [\u{16B5B}-\u{16B61}] |
1005
+ [\u{16B63}-\u{16B77}] |
1006
+ [\u{16B7D}-\u{16B8F}] |
1007
+ [\u{16E40}-\u{16E9A}] |
1008
+ [\u{16F00}-\u{16F4A}] |
1009
+ [\u{16F4F}-\u{16F87}] |
1010
+ [\u{16F8F}-\u{16F9F}] |
1011
+ [\u{1BC00}-\u{1BC6A}] |
1012
+ [\u{1BC70}-\u{1BC7C}] |
1013
+ [\u{1BC80}-\u{1BC88}] |
1014
+ [\u{1BC90}-\u{1BC99}] |
1015
+ [\u{1BC9C}-\u{1BCA3}] |
1016
+ [\u{1D000}-\u{1D0F5}] |
1017
+ [\u{1D100}-\u{1D126}] |
1018
+ [\u{1D129}-\u{1D1E8}] |
1019
+ [\u{1D200}-\u{1D245}] |
1020
+ [\u{1D2E0}-\u{1D2F3}] |
1021
+ [\u{1D300}-\u{1D356}] |
1022
+ [\u{1D360}-\u{1D378}] |
1023
+ [\u{1D400}-\u{1D454}] |
1024
+ [\u{1D456}-\u{1D49C}] |
1025
+ [\u{1D49E}-\u{1D49F}] |
1026
+ \u{1D4A2} |
1027
+ [\u{1D4A5}-\u{1D4A6}] |
1028
+ [\u{1D4A9}-\u{1D4AC}] |
1029
+ [\u{1D4AE}-\u{1D4B9}] |
1030
+ \u{1D4BB} |
1031
+ [\u{1D4BD}-\u{1D4C3}] |
1032
+ [\u{1D4C5}-\u{1D505}] |
1033
+ [\u{1D507}-\u{1D50A}] |
1034
+ [\u{1D50D}-\u{1D514}] |
1035
+ [\u{1D516}-\u{1D51C}] |
1036
+ [\u{1D51E}-\u{1D539}] |
1037
+ [\u{1D53B}-\u{1D53E}] |
1038
+ [\u{1D540}-\u{1D544}] |
1039
+ \u{1D546} |
1040
+ [\u{1D54A}-\u{1D550}] |
1041
+ [\u{1D552}-\u{1D6A5}] |
1042
+ [\u{1D6A8}-\u{1D7CB}] |
1043
+ [\u{1D7CE}-\u{1DA8B}] |
1044
+ [\u{1DA9B}-\u{1DA9F}] |
1045
+ [\u{1DAA1}-\u{1DAAF}] |
1046
+ [\u{1E000}-\u{1E006}] |
1047
+ [\u{1E008}-\u{1E018}] |
1048
+ [\u{1E01B}-\u{1E021}] |
1049
+ [\u{1E023}-\u{1E024}] |
1050
+ [\u{1E026}-\u{1E02A}] |
1051
+ [\u{1E100}-\u{1E12C}] |
1052
+ [\u{1E130}-\u{1E13D}] |
1053
+ [\u{1E140}-\u{1E149}] |
1054
+ [\u{1E14E}-\u{1E14F}] |
1055
+ [\u{1E2C0}-\u{1E2F9}] |
1056
+ \u{1E2FF} |
1057
+ [\u{1E800}-\u{1E8C4}] |
1058
+ [\u{1E8C7}-\u{1E8D6}] |
1059
+ [\u{1E900}-\u{1E94B}] |
1060
+ [\u{1E950}-\u{1E959}] |
1061
+ [\u{1E95E}-\u{1E95F}] |
1062
+ [\u{1EC71}-\u{1ECB4}] |
1063
+ [\u{1ED01}-\u{1ED3D}] |
1064
+ [\u{1EE00}-\u{1EE03}] |
1065
+ [\u{1EE05}-\u{1EE1F}] |
1066
+ [\u{1EE21}-\u{1EE22}] |
1067
+ \u{1EE24} |
1068
+ \u{1EE27} |
1069
+ [\u{1EE29}-\u{1EE32}] |
1070
+ [\u{1EE34}-\u{1EE37}] |
1071
+ \u{1EE39} |
1072
+ \u{1EE3B} |
1073
+ \u{1EE42} |
1074
+ \u{1EE47} |
1075
+ \u{1EE49} |
1076
+ \u{1EE4B} |
1077
+ [\u{1EE4D}-\u{1EE4F}] |
1078
+ [\u{1EE51}-\u{1EE52}] |
1079
+ \u{1EE54} |
1080
+ \u{1EE57} |
1081
+ \u{1EE59} |
1082
+ \u{1EE5B} |
1083
+ \u{1EE5D} |
1084
+ \u{1EE5F} |
1085
+ [\u{1EE61}-\u{1EE62}] |
1086
+ \u{1EE64} |
1087
+ [\u{1EE67}-\u{1EE6A}] |
1088
+ [\u{1EE6C}-\u{1EE72}] |
1089
+ [\u{1EE74}-\u{1EE77}] |
1090
+ [\u{1EE79}-\u{1EE7C}] |
1091
+ \u{1EE7E} |
1092
+ [\u{1EE80}-\u{1EE89}] |
1093
+ [\u{1EE8B}-\u{1EE9B}] |
1094
+ [\u{1EEA1}-\u{1EEA3}] |
1095
+ [\u{1EEA5}-\u{1EEA9}] |
1096
+ [\u{1EEAB}-\u{1EEBB}] |
1097
+ [\u{1EEF0}-\u{1EEF1}] |
1098
+ [\u{1F000}-\u{1F003}] |
1099
+ [\u{1F005}-\u{1F02B}] |
1100
+ [\u{1F030}-\u{1F093}] |
1101
+ [\u{1F0A0}-\u{1F0AE}] |
1102
+ [\u{1F0B1}-\u{1F0BF}] |
1103
+ [\u{1F0C1}-\u{1F0CE}] |
1104
+ [\u{1F0D1}-\u{1F0F5}] |
1105
+ [\u{1F10B}-\u{1F10C}] |
1106
+ [\u{1F12E}-\u{1F12F}] |
1107
+ [\u{1F16A}-\u{1F16C}] |
1108
+ [\u{1F1E6}-\u{1F1FF}] |
1109
+ [\u{1F321}-\u{1F32C}] |
1110
+ \u{1F336} |
1111
+ \u{1F37D} |
1112
+ [\u{1F394}-\u{1F39F}] |
1113
+ [\u{1F3CB}-\u{1F3CE}] |
1114
+ [\u{1F3D4}-\u{1F3DF}] |
1115
+ [\u{1F3F1}-\u{1F3F3}] |
1116
+ [\u{1F3F5}-\u{1F3F7}] |
1117
+ \u{1F43F} |
1118
+ \u{1F441} |
1119
+ [\u{1F4FD}-\u{1F4FE}] |
1120
+ [\u{1F53E}-\u{1F54A}] |
1121
+ \u{1F54F} |
1122
+ [\u{1F568}-\u{1F579}] |
1123
+ [\u{1F57B}-\u{1F594}] |
1124
+ [\u{1F597}-\u{1F5A3}] |
1125
+ [\u{1F5A5}-\u{1F5FA}] |
1126
+ [\u{1F650}-\u{1F67F}] |
1127
+ [\u{1F6C6}-\u{1F6CB}] |
1128
+ [\u{1F6CD}-\u{1F6CF}] |
1129
+ [\u{1F6D3}-\u{1F6D4}] |
1130
+ [\u{1F6E0}-\u{1F6EA}] |
1131
+ [\u{1F6F0}-\u{1F6F3}] |
1132
+ [\u{1F700}-\u{1F773}] |
1133
+ [\u{1F780}-\u{1F7D8}] |
1134
+ [\u{1F800}-\u{1F80B}] |
1135
+ [\u{1F810}-\u{1F847}] |
1136
+ [\u{1F850}-\u{1F859}] |
1137
+ [\u{1F860}-\u{1F887}] |
1138
+ [\u{1F890}-\u{1F8AD}] |
1139
+ [\u{1F900}-\u{1F90B}] |
1140
+ [\u{1FA00}-\u{1FA53}] |
1141
+ [\u{1FA60}-\u{1FA6D}] |
1142
+ \u{E0001} |
1143
+ [\u{E0020}-\u{E007F}]
1144
+ )/x
1145
+ end