reline 0.1.2 → 0.1.7

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