minjs 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dd046433e1cdd1a40960158f44872ced89f083f2
4
- data.tar.gz: 1482ef6536af057e27c05a4c448e4c74f953b9f7
3
+ metadata.gz: cca8d33a6b1776169d7635194a73f0368260a6e3
4
+ data.tar.gz: ff6f20d474b1f9a2cdf4459cf40fef1b6f1fc118
5
5
  SHA512:
6
- metadata.gz: 37778bbbc0b9dc971d5b9c82b0136dc13ab2266408653bbf59d57eecf22367645bff60acad24ac95814a046308c668b6cc5debe7d46eafc60abbfae4486c98b1
7
- data.tar.gz: 4435d429c220f49996ebf69d2bef7406102fa1c78099b9328c342f30e2a70dee4ffda51a801f17442e78165f1300e122f09318f4b3b807207becb95f26bff145
6
+ metadata.gz: f84fb2055af241c9e50ef4a0cce50b20740d5e11b3d1c92bf1485e3adc3dab55e9de793e2d6605d9decf0d620bd0153309b092ed65729ea248a9ee5c95341e98
7
+ data.tar.gz: 2f90ba5cb9d4aeb4cd62ef74123fdb0e1cba07f8adfa6bb72a982c63832210849ddea47bb45cdc913a57b10f5a25d46a69f5f2f912749a690ba2880ac3b3defb
data/exe/minjs CHANGED
@@ -4,9 +4,19 @@ require 'minjs'
4
4
 
5
5
  argv = ARGV.dup
6
6
  f = []
7
+ options = {}
7
8
  argv.each do |x|
9
+ if x.match(/^--?version/)
10
+ puts Minjs::VERSION
11
+ exit(0)
12
+ elsif x.match(/^--?/)
13
+ opt = $'.gsub(/-/, '_').to_sym
14
+ options[opt] = true
15
+ else
8
16
  f.push(open(x.to_s).read())
17
+ end
9
18
  end
19
+
10
20
  prog = Minjs::Compressor.new(:debug => false)
11
- prog.compress(f.join("\n"))
12
- puts prog.to_js({})
21
+ prog.compress(f.join("\n"), options)
22
+ puts prog.to_js(options)
@@ -2,7 +2,6 @@ require "minjs/version"
2
2
  require "minjs/expression"
3
3
  require "minjs/func"
4
4
  require "minjs/lex"
5
- require "minjs/literal"
6
5
  require "minjs/program"
7
6
  require "minjs/statement"
8
7
  require "minjs/compressor"
@@ -2,7 +2,6 @@
2
2
  # coding: utf-8
3
3
  require 'minjs/lex'
4
4
  require 'minjs/ecma262'
5
- require 'minjs/literal'
6
5
  require 'minjs/statement'
7
6
  require 'minjs/expression'
8
7
  require 'minjs/func'
@@ -13,7 +12,6 @@ require 'logger'
13
12
 
14
13
  module Minjs
15
14
  class Compressor
16
- include Literal
17
15
  include Statement
18
16
  include Exp
19
17
  include Func
@@ -95,15 +93,18 @@ module Minjs
95
93
  @lex = Minjs::Lex.new(data, :logger => @logger)
96
94
  @global_context = ECMA262::Context.new
97
95
  @heading_comments = []
98
- @lex.eval_lit{
99
- while a = @lex.ws_lit
100
- @heading_comments.push(a)
101
- end
102
- nil
103
- }
104
- @prog = source_elements(@lex, @global_context)
96
+
97
+ while a = (@lex.comment || @lex.line_terminator || @lex.white_space)
98
+ @heading_comments.push(a)
99
+ end
100
+ while @heading_comments.last == ECMA262::LIT_LINE_FEED and
101
+ !(@heading_comments[-2].kind_of?(ECMA262::SingleLineComment))
102
+ @heading_comments.pop
103
+ end
104
+ @prog = program(@lex, @global_context)
105
105
 
106
106
  remove_empty_statement
107
+ @lex.clear_cache
107
108
  self
108
109
  end
109
110
 
@@ -636,19 +637,21 @@ module Minjs
636
637
  #test();
637
638
  #
638
639
  catch_scopes.each{|st, parent|
639
- catch_context = ECMA262::Context.new
640
- catch_context.lex_env = st.context.lex_env.new_declarative_env()
641
- catch_context.var_env = st.context.var_env
642
- catch_context.lex_env.record.create_mutable_binding(st.catch[0], nil)
643
- catch_context.lex_env.record.set_mutable_binding(st.catch[0], :undefined, nil)
644
- st.catch[0].context = catch_context
640
+ if st.catch
641
+ catch_context = ECMA262::Context.new
642
+ catch_context.lex_env = st.context.lex_env.new_declarative_env()
643
+ catch_context.var_env = st.context.var_env
644
+ catch_context.lex_env.record.create_mutable_binding(st.catch[0], nil)
645
+ catch_context.lex_env.record.set_mutable_binding(st.catch[0], :undefined, nil)
646
+ st.catch[0].context = catch_context
645
647
 
646
- st.catch[1].traverse(parent){|st2|
647
- if st2.kind_of? ECMA262::IdentifierName and st2 == st.catch[0] and st2.binding_env == st.catch[0].binding_env
648
- st2.context = catch_context
649
- end
650
- }
651
- func_scopes.unshift([st, parent])
648
+ st.catch[1].traverse(parent){|st2|
649
+ if st2.kind_of? ECMA262::IdentifierName and st2 == st.catch[0] and st2.binding_env == st.catch[0].binding_env
650
+ st2.context = catch_context
651
+ end
652
+ }
653
+ func_scopes.unshift([st, parent])
654
+ end
652
655
  }
653
656
  # with_scopes.each{|st, parent|
654
657
  # with_context = ECMA262::Context.new
@@ -1,18 +1,69 @@
1
+ # coding: utf-8
1
2
  module Minjs
2
3
  module Ctype
3
- def hex_number?(code)
4
+ # Annex B
5
+ def octal_digit?(code)
6
+ code >= 0x30 and code <= 0x37
7
+ end
8
+
9
+ # 7.8.3
10
+ def decimal_digit?(code)
11
+ code >= 0x30 and code <= 0x39
12
+ end
13
+
14
+ # 7.8.3
15
+ def hex_digit?(code)
4
16
  code >= 0x30 && code <= 0x39 or
5
- code >= 0x41 && code <= 0x46 or
6
- code >= 0x61 && code <= 0x66
17
+ code >= 0x41 && code <= 0x46 or
18
+ code >= 0x61 && code <= 0x66
7
19
  end
20
+
21
+ # 7.2
22
+ #
23
+ # WhiteSpace ::
24
+ # <TAB>
25
+ # <VT>
26
+ # <FF>
27
+ # <SP>
28
+ # <NBSP>
29
+ # <BOM>
30
+ # <USP> any character in the Unicode category Zs
31
+ #
8
32
  def white_space?(code)
9
- code == 0x20 || code == 0x9 || code == 0xb || code == 0xc || code == 0xa0 || code == 0xfeff
33
+ code == 0x20 || code == 0x9 || code == 0xb || code == 0xc || code == 0xa0 || code == 0xfeff ||
34
+ code == 0x1680 || # OGHAM SPACE MARK
35
+ (code and code >= 0x2000 && code <= 0x200a) ||
36
+ code == 0x202f || # NARROW NO-BREAK SPACE
37
+ code == 0x205f || # MEDIUM MATHEMATICAL SPACE
38
+ code == 0x3000 # IDEOGRAPHIC SPACE
10
39
  end
11
40
 
41
+ # 7.3
42
+ #
43
+ # LineTerminator ::
44
+ # <LF>
45
+ # <CR>
46
+ # <LS>
47
+ # <PS>
48
+ #
12
49
  def line_terminator?(code)
13
50
  code == 0x0a || code == 0x0d || code == 0x2028 || code == 0x2029
14
51
  end
15
52
 
53
+ # 7.6
54
+ #
55
+ # IdentifierStart ::
56
+ # UnicodeLetter
57
+ # $
58
+ # _
59
+ # \ UnicodeEscapeSequence
60
+ #
61
+ # UnicodeLetter ::
62
+ # any character in the Unicode categories “Uppercase letter
63
+ # (Lu)”, “Lowercase letter (Ll)”, “Titlecase letter (Lt)”,
64
+ # “Modifier letter (Lm)”, “Other letter (Lo)”, or “Letter
65
+ # number (Nl)”.
66
+ #
16
67
  def identifier_start?(c)
17
68
  return false if c.nil?
18
69
  # almost all characters are ascii
@@ -22,844 +73,1196 @@ module Minjs
22
73
  return true
23
74
  elsif c <= 0x7f
24
75
  return false
25
- elsif (c >= 0xaa && c <= 0xaa) ||
26
- (c >= 0xb5 && c <= 0xb5) ||
27
- (c >= 0xba && c <= 0xba) ||
28
- (c >= 0xc0 && c <= 0xd6) ||
29
- (c >= 0xd8 && c <= 0xf6) ||
30
- (c >= 0xf8 && c <= 0x2c1)
31
- return true
32
- elsif c <= 0xff
76
+ elsif (c == 0xaa) || # 53
77
+ (c == 0xb5) || # 54
78
+ (c == 0xba) || # 55
79
+ (c >= 0xc0 && c <= 0xd6) || # 78
80
+ (c >= 0xd8 && c <= 0xf6) || # 109
81
+ (c >= 0xf8 && c <= 0x2c1) || # 567
82
+ (c >= 0x2c6 && c <= 0x2d1) || # 579
83
+ (c >= 0x2e0 && c <= 0x2e4) || # 584
84
+ (c == 0x2ec) || # 585
85
+ (c == 0x2ee) || # 586
86
+ (c >= 0x370 && c <= 0x374) || # 591
87
+ (c >= 0x376 && c <= 0x377) || # 593
88
+ (c >= 0x37a && c <= 0x37d) || # 597
89
+ (c == 0x37f) || # 598
90
+ (c == 0x386) || # 599
91
+ (c >= 0x388 && c <= 0x38a) || # 602
92
+ (c == 0x38c) || # 603
93
+ (c >= 0x38e && c <= 0x3a1) || # 623
94
+ (c >= 0x3a3 && c <= 0x3f5) || # 706
95
+ (c >= 0x3f7 && c <= 0x481) || # 845
96
+ (c >= 0x48a && c <= 0x52f) || # 1011
97
+ (c >= 0x531 && c <= 0x556) || # 1049
98
+ (c == 0x559) || # 1050
99
+ (c >= 0x561 && c <= 0x587) || # 1089
100
+ (c >= 0x5d0 && c <= 0x5ea) || # 1116
101
+ (c >= 0x5f0 && c <= 0x5f2) || # 1119
102
+ (c >= 0x620 && c <= 0x64a) || # 1162
103
+ (c >= 0x66e && c <= 0x66f) || # 1164
104
+ (c >= 0x671 && c <= 0x6d3) || # 1263
105
+ (c == 0x6d5) || # 1264
106
+ (c >= 0x6e5 && c <= 0x6e6) || # 1266
107
+ (c >= 0x6ee && c <= 0x6ef) || # 1268
108
+ (c >= 0x6fa && c <= 0x6fc) || # 1271
109
+ (c == 0x6ff) || # 1272
110
+ (c == 0x710) || # 1273
111
+ (c >= 0x712 && c <= 0x72f) || # 1303
112
+ (c >= 0x74d && c <= 0x7a5) || # 1392
113
+ (c == 0x7b1) || # 1393
114
+ (c >= 0x7ca && c <= 0x7ea) || # 1426
115
+ (c >= 0x7f4 && c <= 0x7f5) || # 1428
116
+ (c == 0x7fa) || # 1429
117
+ (c >= 0x800 && c <= 0x815) || # 1451
118
+ (c == 0x81a) || # 1452
119
+ (c == 0x824) || # 1453
120
+ (c == 0x828) || # 1454
121
+ (c >= 0x840 && c <= 0x858) || # 1479
122
+ (c >= 0x8a0 && c <= 0x8b2) || # 1498
123
+ (c >= 0x904 && c <= 0x939) || # 1552
124
+ (c == 0x93d) || # 1553
125
+ (c == 0x950) || # 1554
126
+ (c >= 0x958 && c <= 0x961) || # 1564
127
+ (c >= 0x971 && c <= 0x980) || # 1580
128
+ (c >= 0x985 && c <= 0x98c) || # 1588
129
+ (c >= 0x98f && c <= 0x990) || # 1590
130
+ (c >= 0x993 && c <= 0x9a8) || # 1612
131
+ (c >= 0x9aa && c <= 0x9b0) || # 1619
132
+ (c == 0x9b2) || # 1620
133
+ (c >= 0x9b6 && c <= 0x9b9) || # 1624
134
+ (c == 0x9bd) || # 1625
135
+ (c == 0x9ce) || # 1626
136
+ (c >= 0x9dc && c <= 0x9dd) || # 1628
137
+ (c >= 0x9df && c <= 0x9e1) || # 1631
138
+ (c >= 0x9f0 && c <= 0x9f1) || # 1633
139
+ (c >= 0xa05 && c <= 0xa0a) || # 1639
140
+ (c >= 0xa0f && c <= 0xa10) || # 1641
141
+ (c >= 0xa13 && c <= 0xa28) || # 1663
142
+ (c >= 0xa2a && c <= 0xa30) || # 1670
143
+ (c >= 0xa32 && c <= 0xa33) || # 1672
144
+ (c >= 0xa35 && c <= 0xa36) || # 1674
145
+ (c >= 0xa38 && c <= 0xa39) || # 1676
146
+ (c >= 0xa59 && c <= 0xa5c) || # 1680
147
+ (c == 0xa5e) || # 1681
148
+ (c >= 0xa72 && c <= 0xa74) || # 1684
149
+ (c >= 0xa85 && c <= 0xa8d) || # 1693
150
+ (c >= 0xa8f && c <= 0xa91) || # 1696
151
+ (c >= 0xa93 && c <= 0xaa8) || # 1718
152
+ (c >= 0xaaa && c <= 0xab0) || # 1725
153
+ (c >= 0xab2 && c <= 0xab3) || # 1727
154
+ (c >= 0xab5 && c <= 0xab9) || # 1732
155
+ (c == 0xabd) || # 1733
156
+ (c == 0xad0) || # 1734
157
+ (c >= 0xae0 && c <= 0xae1) || # 1736
158
+ (c >= 0xb05 && c <= 0xb0c) || # 1744
159
+ (c >= 0xb0f && c <= 0xb10) || # 1746
160
+ (c >= 0xb13 && c <= 0xb28) || # 1768
161
+ (c >= 0xb2a && c <= 0xb30) || # 1775
162
+ (c >= 0xb32 && c <= 0xb33) || # 1777
163
+ (c >= 0xb35 && c <= 0xb39) || # 1782
164
+ (c == 0xb3d) || # 1783
165
+ (c >= 0xb5c && c <= 0xb5d) || # 1785
166
+ (c >= 0xb5f && c <= 0xb61) || # 1788
167
+ (c == 0xb71) || # 1789
168
+ (c == 0xb83) || # 1790
169
+ (c >= 0xb85 && c <= 0xb8a) || # 1796
170
+ (c >= 0xb8e && c <= 0xb90) || # 1799
171
+ (c >= 0xb92 && c <= 0xb95) || # 1803
172
+ (c >= 0xb99 && c <= 0xb9a) || # 1805
173
+ (c == 0xb9c) || # 1806
174
+ (c >= 0xb9e && c <= 0xb9f) || # 1808
175
+ (c >= 0xba3 && c <= 0xba4) || # 1810
176
+ (c >= 0xba8 && c <= 0xbaa) || # 1813
177
+ (c >= 0xbae && c <= 0xbb9) || # 1825
178
+ (c == 0xbd0) || # 1826
179
+ (c >= 0xc05 && c <= 0xc0c) || # 1834
180
+ (c >= 0xc0e && c <= 0xc10) || # 1837
181
+ (c >= 0xc12 && c <= 0xc28) || # 1860
182
+ (c >= 0xc2a && c <= 0xc39) || # 1876
183
+ (c == 0xc3d) || # 1877
184
+ (c >= 0xc58 && c <= 0xc59) || # 1879
185
+ (c >= 0xc60 && c <= 0xc61) || # 1881
186
+ (c >= 0xc85 && c <= 0xc8c) || # 1889
187
+ (c >= 0xc8e && c <= 0xc90) || # 1892
188
+ (c >= 0xc92 && c <= 0xca8) || # 1915
189
+ (c >= 0xcaa && c <= 0xcb3) || # 1925
190
+ (c >= 0xcb5 && c <= 0xcb9) || # 1930
191
+ (c == 0xcbd) || # 1931
192
+ (c == 0xcde) || # 1932
193
+ (c >= 0xce0 && c <= 0xce1) || # 1934
194
+ (c >= 0xcf1 && c <= 0xcf2) || # 1936
195
+ (c >= 0xd05 && c <= 0xd0c) || # 1944
196
+ (c >= 0xd0e && c <= 0xd10) || # 1947
197
+ (c >= 0xd12 && c <= 0xd3a) || # 1988
198
+ (c == 0xd3d) || # 1989
199
+ (c == 0xd4e) || # 1990
200
+ (c >= 0xd60 && c <= 0xd61) || # 1992
201
+ (c >= 0xd7a && c <= 0xd7f) || # 1998
202
+ (c >= 0xd85 && c <= 0xd96) || # 2016
203
+ (c >= 0xd9a && c <= 0xdb1) || # 2040
204
+ (c >= 0xdb3 && c <= 0xdbb) || # 2049
205
+ (c == 0xdbd) || # 2050
206
+ (c >= 0xdc0 && c <= 0xdc6) || # 2057
207
+ (c >= 0xe01 && c <= 0xe30) || # 2105
208
+ (c >= 0xe32 && c <= 0xe33) || # 2107
209
+ (c >= 0xe40 && c <= 0xe46) || # 2114
210
+ (c >= 0xe81 && c <= 0xe82) || # 2116
211
+ (c == 0xe84) || # 2117
212
+ (c >= 0xe87 && c <= 0xe88) || # 2119
213
+ (c == 0xe8a) || # 2120
214
+ (c == 0xe8d) || # 2121
215
+ (c >= 0xe94 && c <= 0xe97) || # 2125
216
+ (c >= 0xe99 && c <= 0xe9f) || # 2132
217
+ (c >= 0xea1 && c <= 0xea3) || # 2135
218
+ (c == 0xea5) || # 2136
219
+ (c == 0xea7) || # 2137
220
+ (c >= 0xeaa && c <= 0xeab) || # 2139
221
+ (c >= 0xead && c <= 0xeb0) || # 2143
222
+ (c >= 0xeb2 && c <= 0xeb3) || # 2145
223
+ (c == 0xebd) || # 2146
224
+ (c >= 0xec0 && c <= 0xec4) || # 2151
225
+ (c == 0xec6) || # 2152
226
+ (c >= 0xedc && c <= 0xedf) || # 2156
227
+ (c == 0xf00) || # 2157
228
+ (c >= 0xf40 && c <= 0xf47) || # 2165
229
+ (c >= 0xf49 && c <= 0xf6c) || # 2201
230
+ (c >= 0xf88 && c <= 0xf8c) || # 2206
231
+ (c >= 0x1000 && c <= 0x102a) || # 2249
232
+ (c == 0x103f) || # 2250
233
+ (c >= 0x1050 && c <= 0x1055) || # 2256
234
+ (c >= 0x105a && c <= 0x105d) || # 2260
235
+ (c == 0x1061) || # 2261
236
+ (c >= 0x1065 && c <= 0x1066) || # 2263
237
+ (c >= 0x106e && c <= 0x1070) || # 2266
238
+ (c >= 0x1075 && c <= 0x1081) || # 2279
239
+ (c == 0x108e) || # 2280
240
+ (c >= 0x10a0 && c <= 0x10c5) || # 2318
241
+ (c == 0x10c7) || # 2319
242
+ (c == 0x10cd) || # 2320
243
+ (c >= 0x10d0 && c <= 0x10fa) || # 2363
244
+ (c >= 0x10fc && c <= 0x1248) || # 2696
245
+ (c >= 0x124a && c <= 0x124d) || # 2700
246
+ (c >= 0x1250 && c <= 0x1256) || # 2707
247
+ (c == 0x1258) || # 2708
248
+ (c >= 0x125a && c <= 0x125d) || # 2712
249
+ (c >= 0x1260 && c <= 0x1288) || # 2753
250
+ (c >= 0x128a && c <= 0x128d) || # 2757
251
+ (c >= 0x1290 && c <= 0x12b0) || # 2790
252
+ (c >= 0x12b2 && c <= 0x12b5) || # 2794
253
+ (c >= 0x12b8 && c <= 0x12be) || # 2801
254
+ (c == 0x12c0) || # 2802
255
+ (c >= 0x12c2 && c <= 0x12c5) || # 2806
256
+ (c >= 0x12c8 && c <= 0x12d6) || # 2821
257
+ (c >= 0x12d8 && c <= 0x1310) || # 2878
258
+ (c >= 0x1312 && c <= 0x1315) || # 2882
259
+ (c >= 0x1318 && c <= 0x135a) || # 2949
260
+ (c >= 0x1380 && c <= 0x138f) || # 2965
261
+ (c >= 0x13a0 && c <= 0x13f4) || # 3050
262
+ (c >= 0x1401 && c <= 0x166c) || # 3670
263
+ (c >= 0x166f && c <= 0x167f) || # 3687
264
+ (c >= 0x1681 && c <= 0x169a) || # 3713
265
+ (c >= 0x16a0 && c <= 0x16ea) || # 3788
266
+ (c >= 0x16ee && c <= 0x16f8) || # 3799
267
+ (c >= 0x1700 && c <= 0x170c) || # 3812
268
+ (c >= 0x170e && c <= 0x1711) || # 3816
269
+ (c >= 0x1720 && c <= 0x1731) || # 3834
270
+ (c >= 0x1740 && c <= 0x1751) || # 3852
271
+ (c >= 0x1760 && c <= 0x176c) || # 3865
272
+ (c >= 0x176e && c <= 0x1770) || # 3868
273
+ (c >= 0x1780 && c <= 0x17b3) || # 3920
274
+ (c == 0x17d7) || # 3921
275
+ (c == 0x17dc) || # 3922
276
+ (c >= 0x1820 && c <= 0x1877) || # 4010
277
+ (c >= 0x1880 && c <= 0x18a8) || # 4051
278
+ (c == 0x18aa) || # 4052
279
+ (c >= 0x18b0 && c <= 0x18f5) || # 4122
280
+ (c >= 0x1900 && c <= 0x191e) || # 4153
281
+ (c >= 0x1950 && c <= 0x196d) || # 4183
282
+ (c >= 0x1970 && c <= 0x1974) || # 4188
283
+ (c >= 0x1980 && c <= 0x19ab) || # 4232
284
+ (c >= 0x19c1 && c <= 0x19c7) || # 4239
285
+ (c >= 0x1a00 && c <= 0x1a16) || # 4262
286
+ (c >= 0x1a20 && c <= 0x1a54) || # 4315
287
+ (c == 0x1aa7) || # 4316
288
+ (c >= 0x1b05 && c <= 0x1b33) || # 4363
289
+ (c >= 0x1b45 && c <= 0x1b4b) || # 4370
290
+ (c >= 0x1b83 && c <= 0x1ba0) || # 4400
291
+ (c >= 0x1bae && c <= 0x1baf) || # 4402
292
+ (c >= 0x1bba && c <= 0x1be5) || # 4446
293
+ (c >= 0x1c00 && c <= 0x1c23) || # 4482
294
+ (c >= 0x1c4d && c <= 0x1c4f) || # 4485
295
+ (c >= 0x1c5a && c <= 0x1c7d) || # 4521
296
+ (c >= 0x1ce9 && c <= 0x1cec) || # 4525
297
+ (c >= 0x1cee && c <= 0x1cf1) || # 4529
298
+ (c >= 0x1cf5 && c <= 0x1cf6) || # 4531
299
+ (c >= 0x1d00 && c <= 0x1dbf) || # 4723
300
+ (c >= 0x1e00 && c <= 0x1f15) || # 5001
301
+ (c >= 0x1f18 && c <= 0x1f1d) || # 5007
302
+ (c >= 0x1f20 && c <= 0x1f45) || # 5045
303
+ (c >= 0x1f48 && c <= 0x1f4d) || # 5051
304
+ (c >= 0x1f50 && c <= 0x1f57) || # 5059
305
+ (c == 0x1f59) || # 5060
306
+ (c == 0x1f5b) || # 5061
307
+ (c == 0x1f5d) || # 5062
308
+ (c >= 0x1f5f && c <= 0x1f7d) || # 5093
309
+ (c >= 0x1f80 && c <= 0x1fb4) || # 5146
310
+ (c >= 0x1fb6 && c <= 0x1fbc) || # 5153
311
+ (c == 0x1fbe) || # 5154
312
+ (c >= 0x1fc2 && c <= 0x1fc4) || # 5157
313
+ (c >= 0x1fc6 && c <= 0x1fcc) || # 5164
314
+ (c >= 0x1fd0 && c <= 0x1fd3) || # 5168
315
+ (c >= 0x1fd6 && c <= 0x1fdb) || # 5174
316
+ (c >= 0x1fe0 && c <= 0x1fec) || # 5187
317
+ (c >= 0x1ff2 && c <= 0x1ff4) || # 5190
318
+ (c >= 0x1ff6 && c <= 0x1ffc) || # 5197
319
+ (c == 0x2071) || # 5198
320
+ (c == 0x207f) || # 5199
321
+ (c >= 0x2090 && c <= 0x209c) || # 5212
322
+ (c == 0x2102) || # 5213
323
+ (c == 0x2107) || # 5214
324
+ (c >= 0x210a && c <= 0x2113) || # 5224
325
+ (c == 0x2115) || # 5225
326
+ (c >= 0x2119 && c <= 0x211d) || # 5230
327
+ (c == 0x2124) || # 5231
328
+ (c == 0x2126) || # 5232
329
+ (c == 0x2128) || # 5233
330
+ (c >= 0x212a && c <= 0x212d) || # 5237
331
+ (c >= 0x212f && c <= 0x2139) || # 5248
332
+ (c >= 0x213c && c <= 0x213f) || # 5252
333
+ (c >= 0x2145 && c <= 0x2149) || # 5257
334
+ (c == 0x214e) || # 5258
335
+ (c >= 0x2160 && c <= 0x2188) || # 5299
336
+ (c >= 0x2c00 && c <= 0x2c2e) || # 5346
337
+ (c >= 0x2c30 && c <= 0x2c5e) || # 5393
338
+ (c >= 0x2c60 && c <= 0x2ce4) || # 5526
339
+ (c >= 0x2ceb && c <= 0x2cee) || # 5530
340
+ (c >= 0x2cf2 && c <= 0x2cf3) || # 5532
341
+ (c >= 0x2d00 && c <= 0x2d25) || # 5570
342
+ (c == 0x2d27) || # 5571
343
+ (c == 0x2d2d) || # 5572
344
+ (c >= 0x2d30 && c <= 0x2d67) || # 5628
345
+ (c == 0x2d6f) || # 5629
346
+ (c >= 0x2d80 && c <= 0x2d96) || # 5652
347
+ (c >= 0x2da0 && c <= 0x2da6) || # 5659
348
+ (c >= 0x2da8 && c <= 0x2dae) || # 5666
349
+ (c >= 0x2db0 && c <= 0x2db6) || # 5673
350
+ (c >= 0x2db8 && c <= 0x2dbe) || # 5680
351
+ (c >= 0x2dc0 && c <= 0x2dc6) || # 5687
352
+ (c >= 0x2dc8 && c <= 0x2dce) || # 5694
353
+ (c >= 0x2dd0 && c <= 0x2dd6) || # 5701
354
+ (c >= 0x2dd8 && c <= 0x2dde) || # 5708
355
+ (c == 0x2e2f) || # 5709
356
+ (c >= 0x3005 && c <= 0x3007) || # 5712
357
+ (c >= 0x3021 && c <= 0x3029) || # 5721
358
+ (c >= 0x3031 && c <= 0x3035) || # 5726
359
+ (c >= 0x3038 && c <= 0x303c) || # 5731
360
+ (c >= 0x3041 && c <= 0x3096) || # 5817
361
+ (c >= 0x309d && c <= 0x309f) || # 5820
362
+ (c >= 0x30a1 && c <= 0x30fa) || # 5910
363
+ (c >= 0x30fc && c <= 0x30ff) || # 5914
364
+ (c >= 0x3105 && c <= 0x312d) || # 5955
365
+ (c >= 0x3131 && c <= 0x318e) || # 6049
366
+ (c >= 0x31a0 && c <= 0x31ba) || # 6076
367
+ (c >= 0x31f0 && c <= 0x31ff) || # 6092
368
+ (c == 0x3400) || # 6093
369
+ (c == 0x4db5) || # 6094
370
+ (c == 0x4e00) || # 6095
371
+ (c == 0x9fcc) || # 6096
372
+ (c >= 0xa000 && c <= 0xa48c) || # 7261
373
+ (c >= 0xa4d0 && c <= 0xa4fd) || # 7307
374
+ (c >= 0xa500 && c <= 0xa60c) || # 7576
375
+ (c >= 0xa610 && c <= 0xa61f) || # 7592
376
+ (c >= 0xa62a && c <= 0xa62b) || # 7594
377
+ (c >= 0xa640 && c <= 0xa66e) || # 7641
378
+ (c >= 0xa67f && c <= 0xa69d) || # 7672
379
+ (c >= 0xa6a0 && c <= 0xa6ef) || # 7752
380
+ (c >= 0xa717 && c <= 0xa71f) || # 7761
381
+ (c >= 0xa722 && c <= 0xa788) || # 7864
382
+ (c >= 0xa78b && c <= 0xa78e) || # 7868
383
+ (c >= 0xa790 && c <= 0xa7ad) || # 7898
384
+ (c >= 0xa7b0 && c <= 0xa7b1) || # 7900
385
+ (c >= 0xa7f7 && c <= 0xa801) || # 7911
386
+ (c >= 0xa803 && c <= 0xa805) || # 7914
387
+ (c >= 0xa807 && c <= 0xa80a) || # 7918
388
+ (c >= 0xa80c && c <= 0xa822) || # 7941
389
+ (c >= 0xa840 && c <= 0xa873) || # 7993
390
+ (c >= 0xa882 && c <= 0xa8b3) || # 8043
391
+ (c >= 0xa8f2 && c <= 0xa8f7) || # 8049
392
+ (c == 0xa8fb) || # 8050
393
+ (c >= 0xa90a && c <= 0xa925) || # 8078
394
+ (c >= 0xa930 && c <= 0xa946) || # 8101
395
+ (c >= 0xa960 && c <= 0xa97c) || # 8130
396
+ (c >= 0xa984 && c <= 0xa9b2) || # 8177
397
+ (c == 0xa9cf) || # 8178
398
+ (c >= 0xa9e0 && c <= 0xa9e4) || # 8183
399
+ (c >= 0xa9e6 && c <= 0xa9ef) || # 8193
400
+ (c >= 0xa9fa && c <= 0xa9fe) || # 8198
401
+ (c >= 0xaa00 && c <= 0xaa28) || # 8239
402
+ (c >= 0xaa40 && c <= 0xaa42) || # 8242
403
+ (c >= 0xaa44 && c <= 0xaa4b) || # 8250
404
+ (c >= 0xaa60 && c <= 0xaa76) || # 8273
405
+ (c == 0xaa7a) || # 8274
406
+ (c >= 0xaa7e && c <= 0xaaaf) || # 8324
407
+ (c == 0xaab1) || # 8325
408
+ (c >= 0xaab5 && c <= 0xaab6) || # 8327
409
+ (c >= 0xaab9 && c <= 0xaabd) || # 8332
410
+ (c == 0xaac0) || # 8333
411
+ (c == 0xaac2) || # 8334
412
+ (c >= 0xaadb && c <= 0xaadd) || # 8337
413
+ (c >= 0xaae0 && c <= 0xaaea) || # 8348
414
+ (c >= 0xaaf2 && c <= 0xaaf4) || # 8351
415
+ (c >= 0xab01 && c <= 0xab06) || # 8357
416
+ (c >= 0xab09 && c <= 0xab0e) || # 8363
417
+ (c >= 0xab11 && c <= 0xab16) || # 8369
418
+ (c >= 0xab20 && c <= 0xab26) || # 8376
419
+ (c >= 0xab28 && c <= 0xab2e) || # 8383
420
+ (c >= 0xab30 && c <= 0xab5a) || # 8426
421
+ (c >= 0xab5c && c <= 0xab5f) || # 8430
422
+ (c >= 0xab64 && c <= 0xab65) || # 8432
423
+ (c >= 0xabc0 && c <= 0xabe2) || # 8467
424
+ (c == 0xac00) || # 8468
425
+ (c == 0xd7a3) || # 8469
426
+ (c >= 0xd7b0 && c <= 0xd7c6) || # 8492
427
+ (c >= 0xd7cb && c <= 0xd7fb) || # 8541
428
+ (c >= 0xf900 && c <= 0xfa6d) || # 8907
429
+ (c >= 0xfa70 && c <= 0xfad9) || # 9013
430
+ (c >= 0xfb00 && c <= 0xfb06) || # 9020
431
+ (c >= 0xfb13 && c <= 0xfb17) || # 9025
432
+ (c == 0xfb1d) || # 9026
433
+ (c >= 0xfb1f && c <= 0xfb28) || # 9036
434
+ (c >= 0xfb2a && c <= 0xfb36) || # 9049
435
+ (c >= 0xfb38 && c <= 0xfb3c) || # 9054
436
+ (c == 0xfb3e) || # 9055
437
+ (c >= 0xfb40 && c <= 0xfb41) || # 9057
438
+ (c >= 0xfb43 && c <= 0xfb44) || # 9059
439
+ (c >= 0xfb46 && c <= 0xfbb1) || # 9167
440
+ (c >= 0xfbd3 && c <= 0xfd3d) || # 9530
441
+ (c >= 0xfd50 && c <= 0xfd8f) || # 9594
442
+ (c >= 0xfd92 && c <= 0xfdc7) || # 9648
443
+ (c >= 0xfdf0 && c <= 0xfdfb) || # 9660
444
+ (c >= 0xfe70 && c <= 0xfe74) || # 9665
445
+ (c >= 0xfe76 && c <= 0xfefc) || # 9800
446
+ (c >= 0xff21 && c <= 0xff3a) || # 9826
447
+ (c >= 0xff41 && c <= 0xff5a) || # 9852
448
+ (c >= 0xff66 && c <= 0xffbe) || # 9941
449
+ (c >= 0xffc2 && c <= 0xffc7) || # 9947
450
+ (c >= 0xffca && c <= 0xffcf) || # 9953
451
+ (c >= 0xffd2 && c <= 0xffd7) || # 9959
452
+ (c >= 0xffda && c <= 0xffdc) || # 9962
453
+ (c >= 0x10000 && c <= 0x1000b) || # 9974
454
+ (c >= 0x1000d && c <= 0x10026) || # 10000
455
+ (c >= 0x10028 && c <= 0x1003a) || # 10019
456
+ (c >= 0x1003c && c <= 0x1003d) || # 10021
457
+ (c >= 0x1003f && c <= 0x1004d) || # 10036
458
+ (c >= 0x10050 && c <= 0x1005d) || # 10050
459
+ (c >= 0x10080 && c <= 0x100fa) || # 10173
460
+ (c >= 0x10140 && c <= 0x10174) || # 10226
461
+ (c >= 0x10280 && c <= 0x1029c) || # 10255
462
+ (c >= 0x102a0 && c <= 0x102d0) || # 10304
463
+ (c >= 0x10300 && c <= 0x1031f) || # 10336
464
+ (c >= 0x10330 && c <= 0x1034a) || # 10363
465
+ (c >= 0x10350 && c <= 0x10375) || # 10401
466
+ (c >= 0x10380 && c <= 0x1039d) || # 10431
467
+ (c >= 0x103a0 && c <= 0x103c3) || # 10467
468
+ (c >= 0x103c8 && c <= 0x103cf) || # 10475
469
+ (c >= 0x103d1 && c <= 0x103d5) || # 10480
470
+ (c >= 0x10400 && c <= 0x1049d) || # 10638
471
+ (c >= 0x10500 && c <= 0x10527) || # 10678
472
+ (c >= 0x10530 && c <= 0x10563) || # 10730
473
+ (c >= 0x10600 && c <= 0x10736) || # 11041
474
+ (c >= 0x10740 && c <= 0x10755) || # 11063
475
+ (c >= 0x10760 && c <= 0x10767) || # 11071
476
+ (c >= 0x10800 && c <= 0x10805) || # 11077
477
+ (c == 0x10808) || # 11078
478
+ (c >= 0x1080a && c <= 0x10835) || # 11122
479
+ (c >= 0x10837 && c <= 0x10838) || # 11124
480
+ (c == 0x1083c) || # 11125
481
+ (c >= 0x1083f && c <= 0x10855) || # 11148
482
+ (c >= 0x10860 && c <= 0x10876) || # 11171
483
+ (c >= 0x10880 && c <= 0x1089e) || # 11202
484
+ (c >= 0x10900 && c <= 0x10915) || # 11224
485
+ (c >= 0x10920 && c <= 0x10939) || # 11250
486
+ (c >= 0x10980 && c <= 0x109b7) || # 11306
487
+ (c >= 0x109be && c <= 0x109bf) || # 11308
488
+ (c == 0x10a00) || # 11309
489
+ (c >= 0x10a10 && c <= 0x10a13) || # 11313
490
+ (c >= 0x10a15 && c <= 0x10a17) || # 11316
491
+ (c >= 0x10a19 && c <= 0x10a33) || # 11343
492
+ (c >= 0x10a60 && c <= 0x10a7c) || # 11372
493
+ (c >= 0x10a80 && c <= 0x10a9c) || # 11401
494
+ (c >= 0x10ac0 && c <= 0x10ac7) || # 11409
495
+ (c >= 0x10ac9 && c <= 0x10ae4) || # 11437
496
+ (c >= 0x10b00 && c <= 0x10b35) || # 11491
497
+ (c >= 0x10b40 && c <= 0x10b55) || # 11513
498
+ (c >= 0x10b60 && c <= 0x10b72) || # 11532
499
+ (c >= 0x10b80 && c <= 0x10b91) || # 11550
500
+ (c >= 0x10c00 && c <= 0x10c48) || # 11623
501
+ (c >= 0x11003 && c <= 0x11037) || # 11676
502
+ (c >= 0x11083 && c <= 0x110af) || # 11721
503
+ (c >= 0x110d0 && c <= 0x110e8) || # 11746
504
+ (c >= 0x11103 && c <= 0x11126) || # 11782
505
+ (c >= 0x11150 && c <= 0x11172) || # 11817
506
+ (c == 0x11176) || # 11818
507
+ (c >= 0x11183 && c <= 0x111b2) || # 11866
508
+ (c >= 0x111c1 && c <= 0x111c4) || # 11870
509
+ (c == 0x111da) || # 11871
510
+ (c >= 0x11200 && c <= 0x11211) || # 11889
511
+ (c >= 0x11213 && c <= 0x1122b) || # 11914
512
+ (c >= 0x112b0 && c <= 0x112de) || # 11961
513
+ (c >= 0x11305 && c <= 0x1130c) || # 11969
514
+ (c >= 0x1130f && c <= 0x11310) || # 11971
515
+ (c >= 0x11313 && c <= 0x11328) || # 11993
516
+ (c >= 0x1132a && c <= 0x11330) || # 12000
517
+ (c >= 0x11332 && c <= 0x11333) || # 12002
518
+ (c >= 0x11335 && c <= 0x11339) || # 12007
519
+ (c == 0x1133d) || # 12008
520
+ (c >= 0x1135d && c <= 0x11361) || # 12013
521
+ (c >= 0x11480 && c <= 0x114af) || # 12061
522
+ (c >= 0x114c4 && c <= 0x114c5) || # 12063
523
+ (c == 0x114c7) || # 12064
524
+ (c >= 0x11580 && c <= 0x115ae) || # 12111
525
+ (c >= 0x11600 && c <= 0x1162f) || # 12159
526
+ (c == 0x11644) || # 12160
527
+ (c >= 0x11680 && c <= 0x116aa) || # 12203
528
+ (c >= 0x118a0 && c <= 0x118df) || # 12267
529
+ (c == 0x118ff) || # 12268
530
+ (c >= 0x11ac0 && c <= 0x11af8) || # 12325
531
+ (c >= 0x12000 && c <= 0x12398) || # 13246
532
+ (c >= 0x12400 && c <= 0x1246e) || # 13357
533
+ (c >= 0x13000 && c <= 0x1342e) || # 14428
534
+ (c >= 0x16800 && c <= 0x16a38) || # 14997
535
+ (c >= 0x16a40 && c <= 0x16a5e) || # 15028
536
+ (c >= 0x16ad0 && c <= 0x16aed) || # 15058
537
+ (c >= 0x16b00 && c <= 0x16b2f) || # 15106
538
+ (c >= 0x16b40 && c <= 0x16b43) || # 15110
539
+ (c >= 0x16b63 && c <= 0x16b77) || # 15131
540
+ (c >= 0x16b7d && c <= 0x16b8f) || # 15150
541
+ (c >= 0x16f00 && c <= 0x16f44) || # 15219
542
+ (c == 0x16f50) || # 15220
543
+ (c >= 0x16f93 && c <= 0x16f9f) || # 15233
544
+ (c >= 0x1b000 && c <= 0x1b001) || # 15235
545
+ (c >= 0x1bc00 && c <= 0x1bc6a) || # 15342
546
+ (c >= 0x1bc70 && c <= 0x1bc7c) || # 15355
547
+ (c >= 0x1bc80 && c <= 0x1bc88) || # 15364
548
+ (c >= 0x1bc90 && c <= 0x1bc99) || # 15374
549
+ (c >= 0x1d400 && c <= 0x1d454) || # 15459
550
+ (c >= 0x1d456 && c <= 0x1d49c) || # 15530
551
+ (c >= 0x1d49e && c <= 0x1d49f) || # 15532
552
+ (c == 0x1d4a2) || # 15533
553
+ (c >= 0x1d4a5 && c <= 0x1d4a6) || # 15535
554
+ (c >= 0x1d4a9 && c <= 0x1d4ac) || # 15539
555
+ (c >= 0x1d4ae && c <= 0x1d4b9) || # 15551
556
+ (c == 0x1d4bb) || # 15552
557
+ (c >= 0x1d4bd && c <= 0x1d4c3) || # 15559
558
+ (c >= 0x1d4c5 && c <= 0x1d505) || # 15624
559
+ (c >= 0x1d507 && c <= 0x1d50a) || # 15628
560
+ (c >= 0x1d50d && c <= 0x1d514) || # 15636
561
+ (c >= 0x1d516 && c <= 0x1d51c) || # 15643
562
+ (c >= 0x1d51e && c <= 0x1d539) || # 15671
563
+ (c >= 0x1d53b && c <= 0x1d53e) || # 15675
564
+ (c >= 0x1d540 && c <= 0x1d544) || # 15680
565
+ (c == 0x1d546) || # 15681
566
+ (c >= 0x1d54a && c <= 0x1d550) || # 15688
567
+ (c >= 0x1d552 && c <= 0x1d6a5) || # 16028
568
+ (c >= 0x1d6a8 && c <= 0x1d6c0) || # 16053
569
+ (c >= 0x1d6c2 && c <= 0x1d6da) || # 16078
570
+ (c >= 0x1d6dc && c <= 0x1d6fa) || # 16109
571
+ (c >= 0x1d6fc && c <= 0x1d714) || # 16134
572
+ (c >= 0x1d716 && c <= 0x1d734) || # 16165
573
+ (c >= 0x1d736 && c <= 0x1d74e) || # 16190
574
+ (c >= 0x1d750 && c <= 0x1d76e) || # 16221
575
+ (c >= 0x1d770 && c <= 0x1d788) || # 16246
576
+ (c >= 0x1d78a && c <= 0x1d7a8) || # 16277
577
+ (c >= 0x1d7aa && c <= 0x1d7c2) || # 16302
578
+ (c >= 0x1d7c4 && c <= 0x1d7cb) || # 16310
579
+ (c >= 0x1e800 && c <= 0x1e8c4) || # 16507
580
+ (c >= 0x1ee00 && c <= 0x1ee03) || # 16511
581
+ (c >= 0x1ee05 && c <= 0x1ee1f) || # 16538
582
+ (c >= 0x1ee21 && c <= 0x1ee22) || # 16540
583
+ (c == 0x1ee24) || # 16541
584
+ (c == 0x1ee27) || # 16542
585
+ (c >= 0x1ee29 && c <= 0x1ee32) || # 16552
586
+ (c >= 0x1ee34 && c <= 0x1ee37) || # 16556
587
+ (c == 0x1ee39) || # 16557
588
+ (c == 0x1ee3b) || # 16558
589
+ (c == 0x1ee42) || # 16559
590
+ (c == 0x1ee47) || # 16560
591
+ (c == 0x1ee49) || # 16561
592
+ (c == 0x1ee4b) || # 16562
593
+ (c >= 0x1ee4d && c <= 0x1ee4f) || # 16565
594
+ (c >= 0x1ee51 && c <= 0x1ee52) || # 16567
595
+ (c == 0x1ee54) || # 16568
596
+ (c == 0x1ee57) || # 16569
597
+ (c == 0x1ee59) || # 16570
598
+ (c == 0x1ee5b) || # 16571
599
+ (c == 0x1ee5d) || # 16572
600
+ (c == 0x1ee5f) || # 16573
601
+ (c >= 0x1ee61 && c <= 0x1ee62) || # 16575
602
+ (c == 0x1ee64) || # 16576
603
+ (c >= 0x1ee67 && c <= 0x1ee6a) || # 16580
604
+ (c >= 0x1ee6c && c <= 0x1ee72) || # 16587
605
+ (c >= 0x1ee74 && c <= 0x1ee77) || # 16591
606
+ (c >= 0x1ee79 && c <= 0x1ee7c) || # 16595
607
+ (c == 0x1ee7e) || # 16596
608
+ (c >= 0x1ee80 && c <= 0x1ee89) || # 16606
609
+ (c >= 0x1ee8b && c <= 0x1ee9b) || # 16623
610
+ (c >= 0x1eea1 && c <= 0x1eea3) || # 16626
611
+ (c >= 0x1eea5 && c <= 0x1eea9) || # 16631
612
+ (c >= 0x1eeab && c <= 0x1eebb) || # 16648
613
+ (c == 0x20000) || # 16649
614
+ (c == 0x2a6d6) || # 16650
615
+ (c == 0x2a700) || # 16651
616
+ (c == 0x2b734) || # 16652
617
+ (c == 0x2b740) || # 16653
618
+ (c == 0x2b81d) || # 16654
619
+ (c >= 0x2f800 && c <= 0x2fa1d) # 17196
620
+ return true
621
+ else
33
622
  return false
34
- elsif (c >= 0x2c6 && c <= 0x2d1) ||
35
- (c >= 0x2e0 && c <= 0x2e4) ||
36
- (c >= 0x2ec && c <= 0x2ec) ||
37
- (c >= 0x2ee && c <= 0x2ee) ||
38
- (c >= 0x370 && c <= 0x374) ||
39
- (c >= 0x376 && c <= 0x377) ||
40
- (c >= 0x37a && c <= 0x37d) ||
41
- (c >= 0x37f && c <= 0x37f) ||
42
- (c >= 0x386 && c <= 0x386) ||
43
- (c >= 0x388 && c <= 0x38a) ||
44
- (c >= 0x38c && c <= 0x38c) ||
45
- (c >= 0x38e && c <= 0x3a1) ||
46
- (c >= 0x3a3 && c <= 0x3f5) ||
47
- (c >= 0x3f7 && c <= 0x481) ||
48
- (c >= 0x48a && c <= 0x52f) ||
49
- (c >= 0x531 && c <= 0x556) ||
50
- (c >= 0x559 && c <= 0x559) ||
51
- (c >= 0x561 && c <= 0x587) ||
52
- (c >= 0x5d0 && c <= 0x5ea) ||
53
- (c >= 0x5f0 && c <= 0x5f2) ||
54
- (c >= 0x620 && c <= 0x64a) ||
55
- (c >= 0x66e && c <= 0x66f) ||
56
- (c >= 0x671 && c <= 0x6d3) ||
57
- (c >= 0x6d5 && c <= 0x6d5) ||
58
- (c >= 0x6e5 && c <= 0x6e6) ||
59
- (c >= 0x6ee && c <= 0x6ef) ||
60
- (c >= 0x6fa && c <= 0x6fc) ||
61
- (c >= 0x6ff && c <= 0x6ff) ||
62
- (c >= 0x710 && c <= 0x710) ||
63
- (c >= 0x712 && c <= 0x72f) ||
64
- (c >= 0x74d && c <= 0x7a5) ||
65
- (c >= 0x7b1 && c <= 0x7b1) ||
66
- (c >= 0x7ca && c <= 0x7ea) ||
67
- (c >= 0x7f4 && c <= 0x7f5) ||
68
- (c >= 0x7fa && c <= 0x7fa) ||
69
- (c >= 0x800 && c <= 0x815) ||
70
- (c >= 0x81a && c <= 0x81a) ||
71
- (c >= 0x824 && c <= 0x824) ||
72
- (c >= 0x828 && c <= 0x828) ||
73
- (c >= 0x840 && c <= 0x858) ||
74
- (c >= 0x8a0 && c <= 0x8b2) ||
75
- (c >= 0x904 && c <= 0x939) ||
76
- (c >= 0x93d && c <= 0x93d) ||
77
- (c >= 0x950 && c <= 0x950) ||
78
- (c >= 0x958 && c <= 0x961) ||
79
- (c >= 0x971 && c <= 0x980) ||
80
- (c >= 0x985 && c <= 0x98c) ||
81
- (c >= 0x98f && c <= 0x990) ||
82
- (c >= 0x993 && c <= 0x9a8) ||
83
- (c >= 0x9aa && c <= 0x9b0) ||
84
- (c >= 0x9b2 && c <= 0x9b2) ||
85
- (c >= 0x9b6 && c <= 0x9b9) ||
86
- (c >= 0x9bd && c <= 0x9bd) ||
87
- (c >= 0x9ce && c <= 0x9ce) ||
88
- (c >= 0x9dc && c <= 0x9dd) ||
89
- (c >= 0x9df && c <= 0x9e1) ||
90
- (c >= 0x9f0 && c <= 0x9f1) ||
91
- (c >= 0xa05 && c <= 0xa0a) ||
92
- (c >= 0xa0f && c <= 0xa10) ||
93
- (c >= 0xa13 && c <= 0xa28) ||
94
- (c >= 0xa2a && c <= 0xa30) ||
95
- (c >= 0xa32 && c <= 0xa33) ||
96
- (c >= 0xa35 && c <= 0xa36) ||
97
- (c >= 0xa38 && c <= 0xa39) ||
98
- (c >= 0xa59 && c <= 0xa5c) ||
99
- (c >= 0xa5e && c <= 0xa5e) ||
100
- (c >= 0xa72 && c <= 0xa74) ||
101
- (c >= 0xa85 && c <= 0xa8d) ||
102
- (c >= 0xa8f && c <= 0xa91) ||
103
- (c >= 0xa93 && c <= 0xaa8) ||
104
- (c >= 0xaaa && c <= 0xab0) ||
105
- (c >= 0xab2 && c <= 0xab3) ||
106
- (c >= 0xab5 && c <= 0xab9) ||
107
- (c >= 0xabd && c <= 0xabd) ||
108
- (c >= 0xad0 && c <= 0xad0) ||
109
- (c >= 0xae0 && c <= 0xae1) ||
110
- (c >= 0xb05 && c <= 0xb0c) ||
111
- (c >= 0xb0f && c <= 0xb10) ||
112
- (c >= 0xb13 && c <= 0xb28) ||
113
- (c >= 0xb2a && c <= 0xb30) ||
114
- (c >= 0xb32 && c <= 0xb33) ||
115
- (c >= 0xb35 && c <= 0xb39) ||
116
- (c >= 0xb3d && c <= 0xb3d) ||
117
- (c >= 0xb5c && c <= 0xb5d) ||
118
- (c >= 0xb5f && c <= 0xb61) ||
119
- (c >= 0xb71 && c <= 0xb71) ||
120
- (c >= 0xb83 && c <= 0xb83) ||
121
- (c >= 0xb85 && c <= 0xb8a) ||
122
- (c >= 0xb8e && c <= 0xb90) ||
123
- (c >= 0xb92 && c <= 0xb95) ||
124
- (c >= 0xb99 && c <= 0xb9a) ||
125
- (c >= 0xb9c && c <= 0xb9c) ||
126
- (c >= 0xb9e && c <= 0xb9f) ||
127
- (c >= 0xba3 && c <= 0xba4) ||
128
- (c >= 0xba8 && c <= 0xbaa) ||
129
- (c >= 0xbae && c <= 0xbb9) ||
130
- (c >= 0xbd0 && c <= 0xbd0) ||
131
- (c >= 0xc05 && c <= 0xc0c) ||
132
- (c >= 0xc0e && c <= 0xc10) ||
133
- (c >= 0xc12 && c <= 0xc28) ||
134
- (c >= 0xc2a && c <= 0xc39) ||
135
- (c >= 0xc3d && c <= 0xc3d) ||
136
- (c >= 0xc58 && c <= 0xc59) ||
137
- (c >= 0xc60 && c <= 0xc61) ||
138
- (c >= 0xc85 && c <= 0xc8c) ||
139
- (c >= 0xc8e && c <= 0xc90) ||
140
- (c >= 0xc92 && c <= 0xca8) ||
141
- (c >= 0xcaa && c <= 0xcb3) ||
142
- (c >= 0xcb5 && c <= 0xcb9) ||
143
- (c >= 0xcbd && c <= 0xcbd) ||
144
- (c >= 0xcde && c <= 0xcde) ||
145
- (c >= 0xce0 && c <= 0xce1) ||
146
- (c >= 0xcf1 && c <= 0xcf2) ||
147
- (c >= 0xd05 && c <= 0xd0c) ||
148
- (c >= 0xd0e && c <= 0xd10) ||
149
- (c >= 0xd12 && c <= 0xd3a) ||
150
- (c >= 0xd3d && c <= 0xd3d) ||
151
- (c >= 0xd4e && c <= 0xd4e) ||
152
- (c >= 0xd60 && c <= 0xd61) ||
153
- (c >= 0xd7a && c <= 0xd7f) ||
154
- (c >= 0xd85 && c <= 0xd96) ||
155
- (c >= 0xd9a && c <= 0xdb1) ||
156
- (c >= 0xdb3 && c <= 0xdbb) ||
157
- (c >= 0xdbd && c <= 0xdbd) ||
158
- (c >= 0xdc0 && c <= 0xdc6) ||
159
- (c >= 0xe01 && c <= 0xe30) ||
160
- (c >= 0xe32 && c <= 0xe33) ||
161
- (c >= 0xe40 && c <= 0xe46) ||
162
- (c >= 0xe81 && c <= 0xe82) ||
163
- (c >= 0xe84 && c <= 0xe84) ||
164
- (c >= 0xe87 && c <= 0xe88) ||
165
- (c >= 0xe8a && c <= 0xe8a) ||
166
- (c >= 0xe8d && c <= 0xe8d) ||
167
- (c >= 0xe94 && c <= 0xe97) ||
168
- (c >= 0xe99 && c <= 0xe9f) ||
169
- (c >= 0xea1 && c <= 0xea3) ||
170
- (c >= 0xea5 && c <= 0xea5) ||
171
- (c >= 0xea7 && c <= 0xea7) ||
172
- (c >= 0xeaa && c <= 0xeab) ||
173
- (c >= 0xead && c <= 0xeb0) ||
174
- (c >= 0xeb2 && c <= 0xeb3) ||
175
- (c >= 0xebd && c <= 0xebd) ||
176
- (c >= 0xec0 && c <= 0xec4) ||
177
- (c >= 0xec6 && c <= 0xec6) ||
178
- (c >= 0xedc && c <= 0xedf) ||
179
- (c >= 0xf00 && c <= 0xf00) ||
180
- (c >= 0xf40 && c <= 0xf47) ||
181
- (c >= 0xf49 && c <= 0xf6c) ||
182
- (c >= 0xf88 && c <= 0xf8c) ||
183
- (c >= 0x1000 && c <= 0x102a) ||
184
- (c >= 0x103f && c <= 0x103f) ||
185
- (c >= 0x1050 && c <= 0x1055) ||
186
- (c >= 0x105a && c <= 0x105d) ||
187
- (c >= 0x1061 && c <= 0x1061) ||
188
- (c >= 0x1065 && c <= 0x1066) ||
189
- (c >= 0x106e && c <= 0x1070) ||
190
- (c >= 0x1075 && c <= 0x1081) ||
191
- (c >= 0x108e && c <= 0x108e) ||
192
- (c >= 0x10a0 && c <= 0x10c5) ||
193
- (c >= 0x10c7 && c <= 0x10c7) ||
194
- (c >= 0x10cd && c <= 0x10cd) ||
195
- (c >= 0x10d0 && c <= 0x10fa) ||
196
- (c >= 0x10fc && c <= 0x1248) ||
197
- (c >= 0x124a && c <= 0x124d) ||
198
- (c >= 0x1250 && c <= 0x1256) ||
199
- (c >= 0x1258 && c <= 0x1258) ||
200
- (c >= 0x125a && c <= 0x125d) ||
201
- (c >= 0x1260 && c <= 0x1288) ||
202
- (c >= 0x128a && c <= 0x128d) ||
203
- (c >= 0x1290 && c <= 0x12b0) ||
204
- (c >= 0x12b2 && c <= 0x12b5) ||
205
- (c >= 0x12b8 && c <= 0x12be) ||
206
- (c >= 0x12c0 && c <= 0x12c0) ||
207
- (c >= 0x12c2 && c <= 0x12c5) ||
208
- (c >= 0x12c8 && c <= 0x12d6) ||
209
- (c >= 0x12d8 && c <= 0x1310) ||
210
- (c >= 0x1312 && c <= 0x1315) ||
211
- (c >= 0x1318 && c <= 0x135a) ||
212
- (c >= 0x1380 && c <= 0x138f) ||
213
- (c >= 0x13a0 && c <= 0x13f4) ||
214
- (c >= 0x1401 && c <= 0x166c) ||
215
- (c >= 0x166f && c <= 0x167f) ||
216
- (c >= 0x1681 && c <= 0x169a) ||
217
- (c >= 0x16a0 && c <= 0x16ea) ||
218
- (c >= 0x16ee && c <= 0x16f8) ||
219
- (c >= 0x1700 && c <= 0x170c) ||
220
- (c >= 0x170e && c <= 0x1711) ||
221
- (c >= 0x1720 && c <= 0x1731) ||
222
- (c >= 0x1740 && c <= 0x1751) ||
223
- (c >= 0x1760 && c <= 0x176c) ||
224
- (c >= 0x176e && c <= 0x1770) ||
225
- (c >= 0x1780 && c <= 0x17b3) ||
226
- (c >= 0x17d7 && c <= 0x17d7) ||
227
- (c >= 0x17dc && c <= 0x17dc) ||
228
- (c >= 0x1820 && c <= 0x1877) ||
229
- (c >= 0x1880 && c <= 0x18a8) ||
230
- (c >= 0x18aa && c <= 0x18aa) ||
231
- (c >= 0x18b0 && c <= 0x18f5) ||
232
- (c >= 0x1900 && c <= 0x191e) ||
233
- (c >= 0x1950 && c <= 0x196d) ||
234
- (c >= 0x1970 && c <= 0x1974) ||
235
- (c >= 0x1980 && c <= 0x19ab) ||
236
- (c >= 0x19c1 && c <= 0x19c7) ||
237
- (c >= 0x1a00 && c <= 0x1a16) ||
238
- (c >= 0x1a20 && c <= 0x1a54) ||
239
- (c >= 0x1aa7 && c <= 0x1aa7) ||
240
- (c >= 0x1b05 && c <= 0x1b33) ||
241
- (c >= 0x1b45 && c <= 0x1b4b) ||
242
- (c >= 0x1b83 && c <= 0x1ba0) ||
243
- (c >= 0x1bae && c <= 0x1baf) ||
244
- (c >= 0x1bba && c <= 0x1be5) ||
245
- (c >= 0x1c00 && c <= 0x1c23) ||
246
- (c >= 0x1c4d && c <= 0x1c4f) ||
247
- (c >= 0x1c5a && c <= 0x1c7d) ||
248
- (c >= 0x1ce9 && c <= 0x1cec) ||
249
- (c >= 0x1cee && c <= 0x1cf1) ||
250
- (c >= 0x1cf5 && c <= 0x1cf6) ||
251
- (c >= 0x1d00 && c <= 0x1dbf) ||
252
- (c >= 0x1e00 && c <= 0x1f15) ||
253
- (c >= 0x1f18 && c <= 0x1f1d) ||
254
- (c >= 0x1f20 && c <= 0x1f45) ||
255
- (c >= 0x1f48 && c <= 0x1f4d) ||
256
- (c >= 0x1f50 && c <= 0x1f57) ||
257
- (c >= 0x1f59 && c <= 0x1f59) ||
258
- (c >= 0x1f5b && c <= 0x1f5b) ||
259
- (c >= 0x1f5d && c <= 0x1f5d) ||
260
- (c >= 0x1f5f && c <= 0x1f7d) ||
261
- (c >= 0x1f80 && c <= 0x1fb4) ||
262
- (c >= 0x1fb6 && c <= 0x1fbc) ||
263
- (c >= 0x1fbe && c <= 0x1fbe) ||
264
- (c >= 0x1fc2 && c <= 0x1fc4) ||
265
- (c >= 0x1fc6 && c <= 0x1fcc) ||
266
- (c >= 0x1fd0 && c <= 0x1fd3) ||
267
- (c >= 0x1fd6 && c <= 0x1fdb) ||
268
- (c >= 0x1fe0 && c <= 0x1fec) ||
269
- (c >= 0x1ff2 && c <= 0x1ff4) ||
270
- (c >= 0x1ff6 && c <= 0x1ffc) ||
271
- (c >= 0x2071 && c <= 0x2071) ||
272
- (c >= 0x207f && c <= 0x207f) ||
273
- (c >= 0x2090 && c <= 0x209c) ||
274
- (c >= 0x2102 && c <= 0x2102) ||
275
- (c >= 0x2107 && c <= 0x2107) ||
276
- (c >= 0x210a && c <= 0x2113) ||
277
- (c >= 0x2115 && c <= 0x2115) ||
278
- (c >= 0x2119 && c <= 0x211d) ||
279
- (c >= 0x2124 && c <= 0x2124) ||
280
- (c >= 0x2126 && c <= 0x2126) ||
281
- (c >= 0x2128 && c <= 0x2128) ||
282
- (c >= 0x212a && c <= 0x212d) ||
283
- (c >= 0x212f && c <= 0x2139) ||
284
- (c >= 0x213c && c <= 0x213f) ||
285
- (c >= 0x2145 && c <= 0x2149) ||
286
- (c >= 0x214e && c <= 0x214e) ||
287
- (c >= 0x2160 && c <= 0x2188) ||
288
- (c >= 0x2c00 && c <= 0x2c2e) ||
289
- (c >= 0x2c30 && c <= 0x2c5e) ||
290
- (c >= 0x2c60 && c <= 0x2ce4) ||
291
- (c >= 0x2ceb && c <= 0x2cee) ||
292
- (c >= 0x2cf2 && c <= 0x2cf3) ||
293
- (c >= 0x2d00 && c <= 0x2d25) ||
294
- (c >= 0x2d27 && c <= 0x2d27) ||
295
- (c >= 0x2d2d && c <= 0x2d2d) ||
296
- (c >= 0x2d30 && c <= 0x2d67) ||
297
- (c >= 0x2d6f && c <= 0x2d6f) ||
298
- (c >= 0x2d80 && c <= 0x2d96) ||
299
- (c >= 0x2da0 && c <= 0x2da6) ||
300
- (c >= 0x2da8 && c <= 0x2dae) ||
301
- (c >= 0x2db0 && c <= 0x2db6) ||
302
- (c >= 0x2db8 && c <= 0x2dbe) ||
303
- (c >= 0x2dc0 && c <= 0x2dc6) ||
304
- (c >= 0x2dc8 && c <= 0x2dce) ||
305
- (c >= 0x2dd0 && c <= 0x2dd6) ||
306
- (c >= 0x2dd8 && c <= 0x2dde) ||
307
- (c >= 0x2e2f && c <= 0x2e2f) ||
308
- (c >= 0x3005 && c <= 0x3007) ||
309
- (c >= 0x3021 && c <= 0x3029) ||
310
- (c >= 0x3031 && c <= 0x3035) ||
311
- (c >= 0x3038 && c <= 0x303c) ||
312
- (c >= 0x3041 && c <= 0x3096) ||
313
- (c >= 0x309d && c <= 0x309f) ||
314
- (c >= 0x30a1 && c <= 0x30fa) ||
315
- (c >= 0x30fc && c <= 0x30ff) ||
316
- (c >= 0x3105 && c <= 0x312d) ||
317
- (c >= 0x3131 && c <= 0x318e) ||
318
- (c >= 0x31a0 && c <= 0x31ba) ||
319
- (c >= 0x31f0 && c <= 0x31ff) ||
320
- (c >= 0x3400 && c <= 0x3400) ||
321
- (c >= 0x4db5 && c <= 0x4db5) ||
322
- (c >= 0x4e00 && c <= 0x4e00) ||
323
- (c >= 0x9fcc && c <= 0x9fcc) ||
324
- (c >= 0xa000 && c <= 0xa48c) ||
325
- (c >= 0xa4d0 && c <= 0xa4fd) ||
326
- (c >= 0xa500 && c <= 0xa60c) ||
327
- (c >= 0xa610 && c <= 0xa61f) ||
328
- (c >= 0xa62a && c <= 0xa62b) ||
329
- (c >= 0xa640 && c <= 0xa66e) ||
330
- (c >= 0xa67f && c <= 0xa69d) ||
331
- (c >= 0xa6a0 && c <= 0xa6ef) ||
332
- (c >= 0xa717 && c <= 0xa71f) ||
333
- (c >= 0xa722 && c <= 0xa788) ||
334
- (c >= 0xa78b && c <= 0xa78e) ||
335
- (c >= 0xa790 && c <= 0xa7ad) ||
336
- (c >= 0xa7b0 && c <= 0xa7b1) ||
337
- (c >= 0xa7f7 && c <= 0xa801) ||
338
- (c >= 0xa803 && c <= 0xa805) ||
339
- (c >= 0xa807 && c <= 0xa80a) ||
340
- (c >= 0xa80c && c <= 0xa822) ||
341
- (c >= 0xa840 && c <= 0xa873) ||
342
- (c >= 0xa882 && c <= 0xa8b3) ||
343
- (c >= 0xa8f2 && c <= 0xa8f7) ||
344
- (c >= 0xa8fb && c <= 0xa8fb) ||
345
- (c >= 0xa90a && c <= 0xa925) ||
346
- (c >= 0xa930 && c <= 0xa946) ||
347
- (c >= 0xa960 && c <= 0xa97c) ||
348
- (c >= 0xa984 && c <= 0xa9b2) ||
349
- (c >= 0xa9cf && c <= 0xa9cf) ||
350
- (c >= 0xa9e0 && c <= 0xa9e4) ||
351
- (c >= 0xa9e6 && c <= 0xa9ef) ||
352
- (c >= 0xa9fa && c <= 0xa9fe) ||
353
- (c >= 0xaa00 && c <= 0xaa28) ||
354
- (c >= 0xaa40 && c <= 0xaa42) ||
355
- (c >= 0xaa44 && c <= 0xaa4b) ||
356
- (c >= 0xaa60 && c <= 0xaa76) ||
357
- (c >= 0xaa7a && c <= 0xaa7a) ||
358
- (c >= 0xaa7e && c <= 0xaaaf) ||
359
- (c >= 0xaab1 && c <= 0xaab1) ||
360
- (c >= 0xaab5 && c <= 0xaab6) ||
361
- (c >= 0xaab9 && c <= 0xaabd) ||
362
- (c >= 0xaac0 && c <= 0xaac0) ||
363
- (c >= 0xaac2 && c <= 0xaac2) ||
364
- (c >= 0xaadb && c <= 0xaadd) ||
365
- (c >= 0xaae0 && c <= 0xaaea) ||
366
- (c >= 0xaaf2 && c <= 0xaaf4) ||
367
- (c >= 0xab01 && c <= 0xab06) ||
368
- (c >= 0xab09 && c <= 0xab0e) ||
369
- (c >= 0xab11 && c <= 0xab16) ||
370
- (c >= 0xab20 && c <= 0xab26) ||
371
- (c >= 0xab28 && c <= 0xab2e) ||
372
- (c >= 0xab30 && c <= 0xab5a) ||
373
- (c >= 0xab5c && c <= 0xab5f) ||
374
- (c >= 0xab64 && c <= 0xab65) ||
375
- (c >= 0xabc0 && c <= 0xabe2) ||
376
- (c >= 0xac00 && c <= 0xac00) ||
377
- (c >= 0xd7a3 && c <= 0xd7a3) ||
378
- (c >= 0xd7b0 && c <= 0xd7c6) ||
379
- (c >= 0xd7cb && c <= 0xd7fb) ||
380
- (c >= 0xf900 && c <= 0xfa6d) ||
381
- (c >= 0xfa70 && c <= 0xfad9) ||
382
- (c >= 0xfb00 && c <= 0xfb06) ||
383
- (c >= 0xfb13 && c <= 0xfb17) ||
384
- (c >= 0xfb1d && c <= 0xfb1d) ||
385
- (c >= 0xfb1f && c <= 0xfb28) ||
386
- (c >= 0xfb2a && c <= 0xfb36) ||
387
- (c >= 0xfb38 && c <= 0xfb3c) ||
388
- (c >= 0xfb3e && c <= 0xfb3e) ||
389
- (c >= 0xfb40 && c <= 0xfb41) ||
390
- (c >= 0xfb43 && c <= 0xfb44) ||
391
- (c >= 0xfb46 && c <= 0xfbb1) ||
392
- (c >= 0xfbd3 && c <= 0xfd3d) ||
393
- (c >= 0xfd50 && c <= 0xfd8f) ||
394
- (c >= 0xfd92 && c <= 0xfdc7) ||
395
- (c >= 0xfdf0 && c <= 0xfdfb) ||
396
- (c >= 0xfe70 && c <= 0xfe74) ||
397
- (c >= 0xfe76 && c <= 0xfefc) ||
398
- (c >= 0xff21 && c <= 0xff3a) ||
399
- (c >= 0xff41 && c <= 0xff5a) ||
400
- (c >= 0xff66 && c <= 0xffbe) ||
401
- (c >= 0xffc2 && c <= 0xffc7) ||
402
- (c >= 0xffca && c <= 0xffcf) ||
403
- (c >= 0xffd2 && c <= 0xffd7) ||
404
- (c >= 0xffda && c <= 0xffdc) ||
405
- (c >= 0x10000 && c <= 0x1000b) ||
406
- (c >= 0x1000d && c <= 0x10026) ||
407
- (c >= 0x10028 && c <= 0x1003a) ||
408
- (c >= 0x1003c && c <= 0x1003d) ||
409
- (c >= 0x1003f && c <= 0x1004d) ||
410
- (c >= 0x10050 && c <= 0x1005d) ||
411
- (c >= 0x10080 && c <= 0x100fa) ||
412
- (c >= 0x10140 && c <= 0x10174) ||
413
- (c >= 0x10280 && c <= 0x1029c) ||
414
- (c >= 0x102a0 && c <= 0x102d0) ||
415
- (c >= 0x10300 && c <= 0x1031f) ||
416
- (c >= 0x10330 && c <= 0x1034a) ||
417
- (c >= 0x10350 && c <= 0x10375) ||
418
- (c >= 0x10380 && c <= 0x1039d) ||
419
- (c >= 0x103a0 && c <= 0x103c3) ||
420
- (c >= 0x103c8 && c <= 0x103cf) ||
421
- (c >= 0x103d1 && c <= 0x103d5) ||
422
- (c >= 0x10400 && c <= 0x1049d) ||
423
- (c >= 0x10500 && c <= 0x10527) ||
424
- (c >= 0x10530 && c <= 0x10563) ||
425
- (c >= 0x10600 && c <= 0x10736) ||
426
- (c >= 0x10740 && c <= 0x10755) ||
427
- (c >= 0x10760 && c <= 0x10767) ||
428
- (c >= 0x10800 && c <= 0x10805) ||
429
- (c >= 0x10808 && c <= 0x10808) ||
430
- (c >= 0x1080a && c <= 0x10835) ||
431
- (c >= 0x10837 && c <= 0x10838) ||
432
- (c >= 0x1083c && c <= 0x1083c) ||
433
- (c >= 0x1083f && c <= 0x10855) ||
434
- (c >= 0x10860 && c <= 0x10876) ||
435
- (c >= 0x10880 && c <= 0x1089e) ||
436
- (c >= 0x10900 && c <= 0x10915) ||
437
- (c >= 0x10920 && c <= 0x10939) ||
438
- (c >= 0x10980 && c <= 0x109b7) ||
439
- (c >= 0x109be && c <= 0x109bf) ||
440
- (c >= 0x10a00 && c <= 0x10a00) ||
441
- (c >= 0x10a10 && c <= 0x10a13) ||
442
- (c >= 0x10a15 && c <= 0x10a17) ||
443
- (c >= 0x10a19 && c <= 0x10a33) ||
444
- (c >= 0x10a60 && c <= 0x10a7c) ||
445
- (c >= 0x10a80 && c <= 0x10a9c) ||
446
- (c >= 0x10ac0 && c <= 0x10ac7) ||
447
- (c >= 0x10ac9 && c <= 0x10ae4) ||
448
- (c >= 0x10b00 && c <= 0x10b35) ||
449
- (c >= 0x10b40 && c <= 0x10b55) ||
450
- (c >= 0x10b60 && c <= 0x10b72) ||
451
- (c >= 0x10b80 && c <= 0x10b91) ||
452
- (c >= 0x10c00 && c <= 0x10c48) ||
453
- (c >= 0x11003 && c <= 0x11037) ||
454
- (c >= 0x11083 && c <= 0x110af) ||
455
- (c >= 0x110d0 && c <= 0x110e8) ||
456
- (c >= 0x11103 && c <= 0x11126) ||
457
- (c >= 0x11150 && c <= 0x11172) ||
458
- (c >= 0x11176 && c <= 0x11176) ||
459
- (c >= 0x11183 && c <= 0x111b2) ||
460
- (c >= 0x111c1 && c <= 0x111c4) ||
461
- (c >= 0x111da && c <= 0x111da) ||
462
- (c >= 0x11200 && c <= 0x11211) ||
463
- (c >= 0x11213 && c <= 0x1122b) ||
464
- (c >= 0x112b0 && c <= 0x112de) ||
465
- (c >= 0x11305 && c <= 0x1130c) ||
466
- (c >= 0x1130f && c <= 0x11310) ||
467
- (c >= 0x11313 && c <= 0x11328) ||
468
- (c >= 0x1132a && c <= 0x11330) ||
469
- (c >= 0x11332 && c <= 0x11333) ||
470
- (c >= 0x11335 && c <= 0x11339) ||
471
- (c >= 0x1133d && c <= 0x1133d) ||
472
- (c >= 0x1135d && c <= 0x11361) ||
473
- (c >= 0x11480 && c <= 0x114af) ||
474
- (c >= 0x114c4 && c <= 0x114c5) ||
475
- (c >= 0x114c7 && c <= 0x114c7) ||
476
- (c >= 0x11580 && c <= 0x115ae) ||
477
- (c >= 0x11600 && c <= 0x1162f) ||
478
- (c >= 0x11644 && c <= 0x11644) ||
479
- (c >= 0x11680 && c <= 0x116aa) ||
480
- (c >= 0x118a0 && c <= 0x118df) ||
481
- (c >= 0x118ff && c <= 0x118ff) ||
482
- (c >= 0x11ac0 && c <= 0x11af8) ||
483
- (c >= 0x12000 && c <= 0x12398) ||
484
- (c >= 0x12400 && c <= 0x1246e) ||
485
- (c >= 0x13000 && c <= 0x1342e) ||
486
- (c >= 0x16800 && c <= 0x16a38) ||
487
- (c >= 0x16a40 && c <= 0x16a5e) ||
488
- (c >= 0x16ad0 && c <= 0x16aed) ||
489
- (c >= 0x16b00 && c <= 0x16b2f) ||
490
- (c >= 0x16b40 && c <= 0x16b43) ||
491
- (c >= 0x16b63 && c <= 0x16b77) ||
492
- (c >= 0x16b7d && c <= 0x16b8f) ||
493
- (c >= 0x16f00 && c <= 0x16f44) ||
494
- (c >= 0x16f50 && c <= 0x16f50) ||
495
- (c >= 0x16f93 && c <= 0x16f9f) ||
496
- (c >= 0x1b000 && c <= 0x1b001) ||
497
- (c >= 0x1bc00 && c <= 0x1bc6a) ||
498
- (c >= 0x1bc70 && c <= 0x1bc7c) ||
499
- (c >= 0x1bc80 && c <= 0x1bc88) ||
500
- (c >= 0x1bc90 && c <= 0x1bc99) ||
501
- (c >= 0x1d400 && c <= 0x1d454) ||
502
- (c >= 0x1d456 && c <= 0x1d49c) ||
503
- (c >= 0x1d49e && c <= 0x1d49f) ||
504
- (c >= 0x1d4a2 && c <= 0x1d4a2) ||
505
- (c >= 0x1d4a5 && c <= 0x1d4a6) ||
506
- (c >= 0x1d4a9 && c <= 0x1d4ac) ||
507
- (c >= 0x1d4ae && c <= 0x1d4b9) ||
508
- (c >= 0x1d4bb && c <= 0x1d4bb) ||
509
- (c >= 0x1d4bd && c <= 0x1d4c3) ||
510
- (c >= 0x1d4c5 && c <= 0x1d505) ||
511
- (c >= 0x1d507 && c <= 0x1d50a) ||
512
- (c >= 0x1d50d && c <= 0x1d514) ||
513
- (c >= 0x1d516 && c <= 0x1d51c) ||
514
- (c >= 0x1d51e && c <= 0x1d539) ||
515
- (c >= 0x1d53b && c <= 0x1d53e) ||
516
- (c >= 0x1d540 && c <= 0x1d544) ||
517
- (c >= 0x1d546 && c <= 0x1d546) ||
518
- (c >= 0x1d54a && c <= 0x1d550) ||
519
- (c >= 0x1d552 && c <= 0x1d6a5) ||
520
- (c >= 0x1d6a8 && c <= 0x1d6c0) ||
521
- (c >= 0x1d6c2 && c <= 0x1d6da) ||
522
- (c >= 0x1d6dc && c <= 0x1d6fa) ||
523
- (c >= 0x1d6fc && c <= 0x1d714) ||
524
- (c >= 0x1d716 && c <= 0x1d734) ||
525
- (c >= 0x1d736 && c <= 0x1d74e) ||
526
- (c >= 0x1d750 && c <= 0x1d76e) ||
527
- (c >= 0x1d770 && c <= 0x1d788) ||
528
- (c >= 0x1d78a && c <= 0x1d7a8) ||
529
- (c >= 0x1d7aa && c <= 0x1d7c2) ||
530
- (c >= 0x1d7c4 && c <= 0x1d7cb) ||
531
- (c >= 0x1e800 && c <= 0x1e8c4) ||
532
- (c >= 0x1ee00 && c <= 0x1ee03) ||
533
- (c >= 0x1ee05 && c <= 0x1ee1f) ||
534
- (c >= 0x1ee21 && c <= 0x1ee22) ||
535
- (c >= 0x1ee24 && c <= 0x1ee24) ||
536
- (c >= 0x1ee27 && c <= 0x1ee27) ||
537
- (c >= 0x1ee29 && c <= 0x1ee32) ||
538
- (c >= 0x1ee34 && c <= 0x1ee37) ||
539
- (c >= 0x1ee39 && c <= 0x1ee39) ||
540
- (c >= 0x1ee3b && c <= 0x1ee3b) ||
541
- (c >= 0x1ee42 && c <= 0x1ee42) ||
542
- (c >= 0x1ee47 && c <= 0x1ee47) ||
543
- (c >= 0x1ee49 && c <= 0x1ee49) ||
544
- (c >= 0x1ee4b && c <= 0x1ee4b) ||
545
- (c >= 0x1ee4d && c <= 0x1ee4f) ||
546
- (c >= 0x1ee51 && c <= 0x1ee52) ||
547
- (c >= 0x1ee54 && c <= 0x1ee54) ||
548
- (c >= 0x1ee57 && c <= 0x1ee57) ||
549
- (c >= 0x1ee59 && c <= 0x1ee59) ||
550
- (c >= 0x1ee5b && c <= 0x1ee5b) ||
551
- (c >= 0x1ee5d && c <= 0x1ee5d) ||
552
- (c >= 0x1ee5f && c <= 0x1ee5f) ||
553
- (c >= 0x1ee61 && c <= 0x1ee62) ||
554
- (c >= 0x1ee64 && c <= 0x1ee64) ||
555
- (c >= 0x1ee67 && c <= 0x1ee6a) ||
556
- (c >= 0x1ee6c && c <= 0x1ee72) ||
557
- (c >= 0x1ee74 && c <= 0x1ee77) ||
558
- (c >= 0x1ee79 && c <= 0x1ee7c) ||
559
- (c >= 0x1ee7e && c <= 0x1ee7e) ||
560
- (c >= 0x1ee80 && c <= 0x1ee89) ||
561
- (c >= 0x1ee8b && c <= 0x1ee9b) ||
562
- (c >= 0x1eea1 && c <= 0x1eea3) ||
563
- (c >= 0x1eea5 && c <= 0x1eea9) ||
564
- (c >= 0x1eeab && c <= 0x1eebb) ||
565
- (c >= 0x20000 && c <= 0x20000) ||
566
- (c >= 0x2a6d6 && c <= 0x2a6d6) ||
567
- (c >= 0x2a700 && c <= 0x2a700) ||
568
- (c >= 0x2b734 && c <= 0x2b734) ||
569
- (c >= 0x2b740 && c <= 0x2b740) ||
570
- (c >= 0x2b81d && c <= 0x2b81d)
571
- return true
572
623
  end
573
624
  end
574
-
575
625
  def identifier_part?(c)
576
626
  return false if c.nil?
577
- if (c >= 0x30 && c <= 0x39) ||
578
- c == 0x24 || c == 0x5f ||
579
- (c >= 0x41 && c <= 0x5a) ||
580
- (c >= 0x61 && c <= 0x7a)
627
+ if c == 0x24 ||
628
+ (c >= 0x30 && c <= 0x39) || # 10
629
+ (c >= 0x41 && c <= 0x5a) || # 36
630
+ (c == 0x5f) || # 37
631
+ (c >= 0x61 && c <= 0x7a) || # 63
632
+ (c == 0xaa) || # 64
633
+ (c == 0xb5) || # 65
634
+ (c == 0xba) || # 66
635
+ (c >= 0xc0 && c <= 0xd6) || # 89
636
+ (c >= 0xd8 && c <= 0xf6) || # 120
637
+ (c >= 0xf8 && c <= 0x2c1) # 578
581
638
  return true
582
- elsif identifier_start?(c) ||
583
- (c >= 0x300 && c <= 0x36f) ||
584
- (c >= 0x483 && c <= 0x487) ||
585
- (c >= 0x591 && c <= 0x5bd) ||
586
- (c >= 0x5bf && c <= 0x5bf) ||
587
- (c >= 0x5c1 && c <= 0x5c2) ||
588
- (c >= 0x5c4 && c <= 0x5c5) ||
589
- (c >= 0x5c7 && c <= 0x5c7) ||
590
- (c >= 0x610 && c <= 0x61a) ||
591
- (c >= 0x64b && c <= 0x669) ||
592
- (c >= 0x670 && c <= 0x670) ||
593
- (c >= 0x6d6 && c <= 0x6dc) ||
594
- (c >= 0x6df && c <= 0x6e4) ||
595
- (c >= 0x6e7 && c <= 0x6e8) ||
596
- (c >= 0x6ea && c <= 0x6ed) ||
597
- (c >= 0x6f0 && c <= 0x6f9) ||
598
- (c >= 0x711 && c <= 0x711) ||
599
- (c >= 0x730 && c <= 0x74a) ||
600
- (c >= 0x7a6 && c <= 0x7b0) ||
601
- (c >= 0x7c0 && c <= 0x7c9) ||
602
- (c >= 0x7eb && c <= 0x7f3) ||
603
- (c >= 0x816 && c <= 0x819) ||
604
- (c >= 0x81b && c <= 0x823) ||
605
- (c >= 0x825 && c <= 0x827) ||
606
- (c >= 0x829 && c <= 0x82d) ||
607
- (c >= 0x859 && c <= 0x85b) ||
608
- (c >= 0x8e4 && c <= 0x903) ||
609
- (c >= 0x93a && c <= 0x93c) ||
610
- (c >= 0x93e && c <= 0x94f) ||
611
- (c >= 0x951 && c <= 0x957) ||
612
- (c >= 0x962 && c <= 0x963) ||
613
- (c >= 0x966 && c <= 0x96f) ||
614
- (c >= 0x981 && c <= 0x983) ||
615
- (c >= 0x9bc && c <= 0x9bc) ||
616
- (c >= 0x9be && c <= 0x9c4) ||
617
- (c >= 0x9c7 && c <= 0x9c8) ||
618
- (c >= 0x9cb && c <= 0x9cd) ||
619
- (c >= 0x9d7 && c <= 0x9d7) ||
620
- (c >= 0x9e2 && c <= 0x9e3) ||
621
- (c >= 0x9e6 && c <= 0x9ef) ||
622
- (c >= 0xa01 && c <= 0xa03) ||
623
- (c >= 0xa3c && c <= 0xa3c) ||
624
- (c >= 0xa3e && c <= 0xa42) ||
625
- (c >= 0xa47 && c <= 0xa48) ||
626
- (c >= 0xa4b && c <= 0xa4d) ||
627
- (c >= 0xa51 && c <= 0xa51) ||
628
- (c >= 0xa66 && c <= 0xa71) ||
629
- (c >= 0xa75 && c <= 0xa75) ||
630
- (c >= 0xa81 && c <= 0xa83) ||
631
- (c >= 0xabc && c <= 0xabc) ||
632
- (c >= 0xabe && c <= 0xac5) ||
633
- (c >= 0xac7 && c <= 0xac9) ||
634
- (c >= 0xacb && c <= 0xacd) ||
635
- (c >= 0xae2 && c <= 0xae3) ||
636
- (c >= 0xae6 && c <= 0xaef) ||
637
- (c >= 0xb01 && c <= 0xb03) ||
638
- (c >= 0xb3c && c <= 0xb3c) ||
639
- (c >= 0xb3e && c <= 0xb44) ||
640
- (c >= 0xb47 && c <= 0xb48) ||
641
- (c >= 0xb4b && c <= 0xb4d) ||
642
- (c >= 0xb56 && c <= 0xb57) ||
643
- (c >= 0xb62 && c <= 0xb63) ||
644
- (c >= 0xb66 && c <= 0xb6f) ||
645
- (c >= 0xb82 && c <= 0xb82) ||
646
- (c >= 0xbbe && c <= 0xbc2) ||
647
- (c >= 0xbc6 && c <= 0xbc8) ||
648
- (c >= 0xbca && c <= 0xbcd) ||
649
- (c >= 0xbd7 && c <= 0xbd7) ||
650
- (c >= 0xbe6 && c <= 0xbef) ||
651
- (c >= 0xc00 && c <= 0xc03) ||
652
- (c >= 0xc3e && c <= 0xc44) ||
653
- (c >= 0xc46 && c <= 0xc48) ||
654
- (c >= 0xc4a && c <= 0xc4d) ||
655
- (c >= 0xc55 && c <= 0xc56) ||
656
- (c >= 0xc62 && c <= 0xc63) ||
657
- (c >= 0xc66 && c <= 0xc6f) ||
658
- (c >= 0xc81 && c <= 0xc83) ||
659
- (c >= 0xcbc && c <= 0xcbc) ||
660
- (c >= 0xcbe && c <= 0xcc4) ||
661
- (c >= 0xcc6 && c <= 0xcc8) ||
662
- (c >= 0xcca && c <= 0xccd) ||
663
- (c >= 0xcd5 && c <= 0xcd6) ||
664
- (c >= 0xce2 && c <= 0xce3) ||
665
- (c >= 0xce6 && c <= 0xcef) ||
666
- (c >= 0xd01 && c <= 0xd03) ||
667
- (c >= 0xd3e && c <= 0xd44) ||
668
- (c >= 0xd46 && c <= 0xd48) ||
669
- (c >= 0xd4a && c <= 0xd4d) ||
670
- (c >= 0xd57 && c <= 0xd57) ||
671
- (c >= 0xd62 && c <= 0xd63) ||
672
- (c >= 0xd66 && c <= 0xd6f) ||
673
- (c >= 0xd82 && c <= 0xd83) ||
674
- (c >= 0xdca && c <= 0xdca) ||
675
- (c >= 0xdcf && c <= 0xdd4) ||
676
- (c >= 0xdd6 && c <= 0xdd6) ||
677
- (c >= 0xdd8 && c <= 0xddf) ||
678
- (c >= 0xde6 && c <= 0xdef) ||
679
- (c >= 0xdf2 && c <= 0xdf3) ||
680
- (c >= 0xe31 && c <= 0xe31) ||
681
- (c >= 0xe34 && c <= 0xe3a) ||
682
- (c >= 0xe47 && c <= 0xe4e) ||
683
- (c >= 0xe50 && c <= 0xe59) ||
684
- (c >= 0xeb1 && c <= 0xeb1) ||
685
- (c >= 0xeb4 && c <= 0xeb9) ||
686
- (c >= 0xebb && c <= 0xebc) ||
687
- (c >= 0xec8 && c <= 0xecd) ||
688
- (c >= 0xed0 && c <= 0xed9) ||
689
- (c >= 0xf18 && c <= 0xf19) ||
690
- (c >= 0xf20 && c <= 0xf29) ||
691
- (c >= 0xf35 && c <= 0xf35) ||
692
- (c >= 0xf37 && c <= 0xf37) ||
693
- (c >= 0xf39 && c <= 0xf39) ||
694
- (c >= 0xf3e && c <= 0xf3f) ||
695
- (c >= 0xf71 && c <= 0xf84) ||
696
- (c >= 0xf86 && c <= 0xf87) ||
697
- (c >= 0xf8d && c <= 0xf97) ||
698
- (c >= 0xf99 && c <= 0xfbc) ||
699
- (c >= 0xfc6 && c <= 0xfc6) ||
700
- (c >= 0x102b && c <= 0x103e) ||
701
- (c >= 0x1040 && c <= 0x1049) ||
702
- (c >= 0x1056 && c <= 0x1059) ||
703
- (c >= 0x105e && c <= 0x1060) ||
704
- (c >= 0x1062 && c <= 0x1064) ||
705
- (c >= 0x1067 && c <= 0x106d) ||
706
- (c >= 0x1071 && c <= 0x1074) ||
707
- (c >= 0x1082 && c <= 0x108d) ||
708
- (c >= 0x108f && c <= 0x109d) ||
709
- (c >= 0x135d && c <= 0x135f) ||
710
- (c >= 0x1712 && c <= 0x1714) ||
711
- (c >= 0x1732 && c <= 0x1734) ||
712
- (c >= 0x1752 && c <= 0x1753) ||
713
- (c >= 0x1772 && c <= 0x1773) ||
714
- (c >= 0x17b4 && c <= 0x17d3) ||
715
- (c >= 0x17dd && c <= 0x17dd) ||
716
- (c >= 0x17e0 && c <= 0x17e9) ||
717
- (c >= 0x180b && c <= 0x180d) ||
718
- (c >= 0x1810 && c <= 0x1819) ||
719
- (c >= 0x18a9 && c <= 0x18a9) ||
720
- (c >= 0x1920 && c <= 0x192b) ||
721
- (c >= 0x1930 && c <= 0x193b) ||
722
- (c >= 0x1946 && c <= 0x194f) ||
723
- (c >= 0x19b0 && c <= 0x19c0) ||
724
- (c >= 0x19c8 && c <= 0x19c9) ||
725
- (c >= 0x19d0 && c <= 0x19d9) ||
726
- (c >= 0x1a17 && c <= 0x1a1b) ||
727
- (c >= 0x1a55 && c <= 0x1a5e) ||
728
- (c >= 0x1a60 && c <= 0x1a7c) ||
729
- (c >= 0x1a7f && c <= 0x1a89) ||
730
- (c >= 0x1a90 && c <= 0x1a99) ||
731
- (c >= 0x1ab0 && c <= 0x1abd) ||
732
- (c >= 0x1b00 && c <= 0x1b04) ||
733
- (c >= 0x1b34 && c <= 0x1b44) ||
734
- (c >= 0x1b50 && c <= 0x1b59) ||
735
- (c >= 0x1b6b && c <= 0x1b73) ||
736
- (c >= 0x1b80 && c <= 0x1b82) ||
737
- (c >= 0x1ba1 && c <= 0x1bad) ||
738
- (c >= 0x1bb0 && c <= 0x1bb9) ||
739
- (c >= 0x1be6 && c <= 0x1bf3) ||
740
- (c >= 0x1c24 && c <= 0x1c37) ||
741
- (c >= 0x1c40 && c <= 0x1c49) ||
742
- (c >= 0x1c50 && c <= 0x1c59) ||
743
- (c >= 0x1cd0 && c <= 0x1cd2) ||
744
- (c >= 0x1cd4 && c <= 0x1ce8) ||
745
- (c >= 0x1ced && c <= 0x1ced) ||
746
- (c >= 0x1cf2 && c <= 0x1cf4) ||
747
- (c >= 0x1cf8 && c <= 0x1cf9) ||
748
- (c >= 0x1dc0 && c <= 0x1df5) ||
749
- (c >= 0x1dfc && c <= 0x1dff) ||
750
- (c >= 0x203f && c <= 0x2040) ||
751
- (c >= 0x2054 && c <= 0x2054) ||
752
- (c >= 0x20d0 && c <= 0x20dc) ||
753
- (c >= 0x20e1 && c <= 0x20e1) ||
754
- (c >= 0x20e5 && c <= 0x20f0) ||
755
- (c >= 0x2cef && c <= 0x2cf1) ||
756
- (c >= 0x2d7f && c <= 0x2d7f) ||
757
- (c >= 0x2de0 && c <= 0x2dff) ||
758
- (c >= 0x302a && c <= 0x302f) ||
759
- (c >= 0x3099 && c <= 0x309a) ||
760
- (c >= 0xa620 && c <= 0xa629) ||
761
- (c >= 0xa66f && c <= 0xa66f) ||
762
- (c >= 0xa674 && c <= 0xa67d) ||
763
- (c >= 0xa69f && c <= 0xa69f) ||
764
- (c >= 0xa6f0 && c <= 0xa6f1) ||
765
- (c >= 0xa802 && c <= 0xa802) ||
766
- (c >= 0xa806 && c <= 0xa806) ||
767
- (c >= 0xa80b && c <= 0xa80b) ||
768
- (c >= 0xa823 && c <= 0xa827) ||
769
- (c >= 0xa880 && c <= 0xa881) ||
770
- (c >= 0xa8b4 && c <= 0xa8c4) ||
771
- (c >= 0xa8d0 && c <= 0xa8d9) ||
772
- (c >= 0xa8e0 && c <= 0xa8f1) ||
773
- (c >= 0xa900 && c <= 0xa909) ||
774
- (c >= 0xa926 && c <= 0xa92d) ||
775
- (c >= 0xa947 && c <= 0xa953) ||
776
- (c >= 0xa980 && c <= 0xa983) ||
777
- (c >= 0xa9b3 && c <= 0xa9c0) ||
778
- (c >= 0xa9d0 && c <= 0xa9d9) ||
779
- (c >= 0xa9e5 && c <= 0xa9e5) ||
780
- (c >= 0xa9f0 && c <= 0xa9f9) ||
781
- (c >= 0xaa29 && c <= 0xaa36) ||
782
- (c >= 0xaa43 && c <= 0xaa43) ||
783
- (c >= 0xaa4c && c <= 0xaa4d) ||
784
- (c >= 0xaa50 && c <= 0xaa59) ||
785
- (c >= 0xaa7b && c <= 0xaa7d) ||
786
- (c >= 0xaab0 && c <= 0xaab0) ||
787
- (c >= 0xaab2 && c <= 0xaab4) ||
788
- (c >= 0xaab7 && c <= 0xaab8) ||
789
- (c >= 0xaabe && c <= 0xaabf) ||
790
- (c >= 0xaac1 && c <= 0xaac1) ||
791
- (c >= 0xaaeb && c <= 0xaaef) ||
792
- (c >= 0xaaf5 && c <= 0xaaf6) ||
793
- (c >= 0xabe3 && c <= 0xabea) ||
794
- (c >= 0xabec && c <= 0xabed) ||
795
- (c >= 0xabf0 && c <= 0xabf9) ||
796
- (c >= 0xfb1e && c <= 0xfb1e) ||
797
- (c >= 0xfe00 && c <= 0xfe0f) ||
798
- (c >= 0xfe20 && c <= 0xfe2d) ||
799
- (c >= 0xfe33 && c <= 0xfe34) ||
800
- (c >= 0xfe4d && c <= 0xfe4f) ||
801
- (c >= 0xff10 && c <= 0xff19) ||
802
- (c >= 0xff3f && c <= 0xff3f) ||
803
- (c >= 0x101fd && c <= 0x101fd) ||
804
- (c >= 0x102e0 && c <= 0x102e0) ||
805
- (c >= 0x10376 && c <= 0x1037a) ||
806
- (c >= 0x104a0 && c <= 0x104a9) ||
807
- (c >= 0x10a01 && c <= 0x10a03) ||
808
- (c >= 0x10a05 && c <= 0x10a06) ||
809
- (c >= 0x10a0c && c <= 0x10a0f) ||
810
- (c >= 0x10a38 && c <= 0x10a3a) ||
811
- (c >= 0x10a3f && c <= 0x10a3f) ||
812
- (c >= 0x10ae5 && c <= 0x10ae6) ||
813
- (c >= 0x11000 && c <= 0x11002) ||
814
- (c >= 0x11038 && c <= 0x11046) ||
815
- (c >= 0x11066 && c <= 0x1106f) ||
816
- (c >= 0x1107f && c <= 0x11082) ||
817
- (c >= 0x110b0 && c <= 0x110ba) ||
818
- (c >= 0x110f0 && c <= 0x110f9) ||
819
- (c >= 0x11100 && c <= 0x11102) ||
820
- (c >= 0x11127 && c <= 0x11134) ||
821
- (c >= 0x11136 && c <= 0x1113f) ||
822
- (c >= 0x11173 && c <= 0x11173) ||
823
- (c >= 0x11180 && c <= 0x11182) ||
824
- (c >= 0x111b3 && c <= 0x111c0) ||
825
- (c >= 0x111d0 && c <= 0x111d9) ||
826
- (c >= 0x1122c && c <= 0x11237) ||
827
- (c >= 0x112df && c <= 0x112ea) ||
828
- (c >= 0x112f0 && c <= 0x112f9) ||
829
- (c >= 0x11301 && c <= 0x11303) ||
830
- (c >= 0x1133c && c <= 0x1133c) ||
831
- (c >= 0x1133e && c <= 0x11344) ||
832
- (c >= 0x11347 && c <= 0x11348) ||
833
- (c >= 0x1134b && c <= 0x1134d) ||
834
- (c >= 0x11357 && c <= 0x11357) ||
835
- (c >= 0x11362 && c <= 0x11363) ||
836
- (c >= 0x11366 && c <= 0x1136c) ||
837
- (c >= 0x11370 && c <= 0x11374) ||
838
- (c >= 0x114b0 && c <= 0x114c3) ||
839
- (c >= 0x114d0 && c <= 0x114d9) ||
840
- (c >= 0x115af && c <= 0x115b5) ||
841
- (c >= 0x115b8 && c <= 0x115c0) ||
842
- (c >= 0x11630 && c <= 0x11640) ||
843
- (c >= 0x11650 && c <= 0x11659) ||
844
- (c >= 0x116ab && c <= 0x116b7) ||
845
- (c >= 0x116c0 && c <= 0x116c9) ||
846
- (c >= 0x118e0 && c <= 0x118e9) ||
847
- (c >= 0x16a60 && c <= 0x16a69) ||
848
- (c >= 0x16af0 && c <= 0x16af4) ||
849
- (c >= 0x16b30 && c <= 0x16b36) ||
850
- (c >= 0x16b50 && c <= 0x16b59) ||
851
- (c >= 0x16f51 && c <= 0x16f7e) ||
852
- (c >= 0x16f8f && c <= 0x16f92) ||
853
- (c >= 0x1bc9d && c <= 0x1bc9e) ||
854
- (c >= 0x1d165 && c <= 0x1d169) ||
855
- (c >= 0x1d16d && c <= 0x1d172) ||
856
- (c >= 0x1d17b && c <= 0x1d182) ||
857
- (c >= 0x1d185 && c <= 0x1d18b) ||
858
- (c >= 0x1d1aa && c <= 0x1d1ad) ||
859
- (c >= 0x1d242 && c <= 0x1d244) ||
860
- (c >= 0x1d7ce && c <= 0x1d7ff) ||
861
- (c >= 0x1e8d0 && c <= 0x1e8d6) ||
862
- c == 0x200d || c == 0x200c
639
+ elsif c <= 0xff
640
+ return false
641
+ elsif (c >= 0x2c6 && c <= 0x2d1) || # 590
642
+ (c >= 0x2e0 && c <= 0x2e4) || # 595
643
+ (c == 0x2ec) || # 596
644
+ (c == 0x2ee) || # 597
645
+ (c >= 0x300 && c <= 0x374) || # 714
646
+ (c >= 0x376 && c <= 0x377) || # 716
647
+ (c >= 0x37a && c <= 0x37d) || # 720
648
+ (c == 0x37f) || # 721
649
+ (c == 0x386) || # 722
650
+ (c >= 0x388 && c <= 0x38a) || # 725
651
+ (c == 0x38c) || # 726
652
+ (c >= 0x38e && c <= 0x3a1) || # 746
653
+ (c >= 0x3a3 && c <= 0x3f5) || # 829
654
+ (c >= 0x3f7 && c <= 0x481) || # 968
655
+ (c >= 0x483 && c <= 0x487) || # 973
656
+ (c >= 0x48a && c <= 0x52f) || # 1139
657
+ (c >= 0x531 && c <= 0x556) || # 1177
658
+ (c == 0x559) || # 1178
659
+ (c >= 0x561 && c <= 0x587) || # 1217
660
+ (c >= 0x591 && c <= 0x5bd) || # 1262
661
+ (c == 0x5bf) || # 1263
662
+ (c >= 0x5c1 && c <= 0x5c2) || # 1265
663
+ (c >= 0x5c4 && c <= 0x5c5) || # 1267
664
+ (c == 0x5c7) || # 1268
665
+ (c >= 0x5d0 && c <= 0x5ea) || # 1295
666
+ (c >= 0x5f0 && c <= 0x5f2) || # 1298
667
+ (c >= 0x610 && c <= 0x61a) || # 1309
668
+ (c >= 0x620 && c <= 0x669) || # 1383
669
+ (c >= 0x66e && c <= 0x6d3) || # 1485
670
+ (c >= 0x6d5 && c <= 0x6dc) || # 1493
671
+ (c >= 0x6df && c <= 0x6e8) || # 1503
672
+ (c >= 0x6ea && c <= 0x6fc) || # 1522
673
+ (c == 0x6ff) || # 1523
674
+ (c >= 0x710 && c <= 0x74a) || # 1582
675
+ (c >= 0x74d && c <= 0x7b1) || # 1683
676
+ (c >= 0x7c0 && c <= 0x7f5) || # 1737
677
+ (c == 0x7fa) || # 1738
678
+ (c >= 0x800 && c <= 0x82d) || # 1784
679
+ (c >= 0x840 && c <= 0x85b) || # 1812
680
+ (c >= 0x8a0 && c <= 0x8b2) || # 1831
681
+ (c >= 0x8e4 && c <= 0x963) || # 1959
682
+ (c >= 0x966 && c <= 0x96f) || # 1969
683
+ (c >= 0x971 && c <= 0x983) || # 1988
684
+ (c >= 0x985 && c <= 0x98c) || # 1996
685
+ (c >= 0x98f && c <= 0x990) || # 1998
686
+ (c >= 0x993 && c <= 0x9a8) || # 2020
687
+ (c >= 0x9aa && c <= 0x9b0) || # 2027
688
+ (c == 0x9b2) || # 2028
689
+ (c >= 0x9b6 && c <= 0x9b9) || # 2032
690
+ (c >= 0x9bc && c <= 0x9c4) || # 2041
691
+ (c >= 0x9c7 && c <= 0x9c8) || # 2043
692
+ (c >= 0x9cb && c <= 0x9ce) || # 2047
693
+ (c == 0x9d7) || # 2048
694
+ (c >= 0x9dc && c <= 0x9dd) || # 2050
695
+ (c >= 0x9df && c <= 0x9e3) || # 2055
696
+ (c >= 0x9e6 && c <= 0x9f1) || # 2067
697
+ (c >= 0xa01 && c <= 0xa03) || # 2070
698
+ (c >= 0xa05 && c <= 0xa0a) || # 2076
699
+ (c >= 0xa0f && c <= 0xa10) || # 2078
700
+ (c >= 0xa13 && c <= 0xa28) || # 2100
701
+ (c >= 0xa2a && c <= 0xa30) || # 2107
702
+ (c >= 0xa32 && c <= 0xa33) || # 2109
703
+ (c >= 0xa35 && c <= 0xa36) || # 2111
704
+ (c >= 0xa38 && c <= 0xa39) || # 2113
705
+ (c == 0xa3c) || # 2114
706
+ (c >= 0xa3e && c <= 0xa42) || # 2119
707
+ (c >= 0xa47 && c <= 0xa48) || # 2121
708
+ (c >= 0xa4b && c <= 0xa4d) || # 2124
709
+ (c == 0xa51) || # 2125
710
+ (c >= 0xa59 && c <= 0xa5c) || # 2129
711
+ (c == 0xa5e) || # 2130
712
+ (c >= 0xa66 && c <= 0xa75) || # 2146
713
+ (c >= 0xa81 && c <= 0xa83) || # 2149
714
+ (c >= 0xa85 && c <= 0xa8d) || # 2158
715
+ (c >= 0xa8f && c <= 0xa91) || # 2161
716
+ (c >= 0xa93 && c <= 0xaa8) || # 2183
717
+ (c >= 0xaaa && c <= 0xab0) || # 2190
718
+ (c >= 0xab2 && c <= 0xab3) || # 2192
719
+ (c >= 0xab5 && c <= 0xab9) || # 2197
720
+ (c >= 0xabc && c <= 0xac5) || # 2207
721
+ (c >= 0xac7 && c <= 0xac9) || # 2210
722
+ (c >= 0xacb && c <= 0xacd) || # 2213
723
+ (c == 0xad0) || # 2214
724
+ (c >= 0xae0 && c <= 0xae3) || # 2218
725
+ (c >= 0xae6 && c <= 0xaef) || # 2228
726
+ (c >= 0xb01 && c <= 0xb03) || # 2231
727
+ (c >= 0xb05 && c <= 0xb0c) || # 2239
728
+ (c >= 0xb0f && c <= 0xb10) || # 2241
729
+ (c >= 0xb13 && c <= 0xb28) || # 2263
730
+ (c >= 0xb2a && c <= 0xb30) || # 2270
731
+ (c >= 0xb32 && c <= 0xb33) || # 2272
732
+ (c >= 0xb35 && c <= 0xb39) || # 2277
733
+ (c >= 0xb3c && c <= 0xb44) || # 2286
734
+ (c >= 0xb47 && c <= 0xb48) || # 2288
735
+ (c >= 0xb4b && c <= 0xb4d) || # 2291
736
+ (c >= 0xb56 && c <= 0xb57) || # 2293
737
+ (c >= 0xb5c && c <= 0xb5d) || # 2295
738
+ (c >= 0xb5f && c <= 0xb63) || # 2300
739
+ (c >= 0xb66 && c <= 0xb6f) || # 2310
740
+ (c == 0xb71) || # 2311
741
+ (c >= 0xb82 && c <= 0xb83) || # 2313
742
+ (c >= 0xb85 && c <= 0xb8a) || # 2319
743
+ (c >= 0xb8e && c <= 0xb90) || # 2322
744
+ (c >= 0xb92 && c <= 0xb95) || # 2326
745
+ (c >= 0xb99 && c <= 0xb9a) || # 2328
746
+ (c == 0xb9c) || # 2329
747
+ (c >= 0xb9e && c <= 0xb9f) || # 2331
748
+ (c >= 0xba3 && c <= 0xba4) || # 2333
749
+ (c >= 0xba8 && c <= 0xbaa) || # 2336
750
+ (c >= 0xbae && c <= 0xbb9) || # 2348
751
+ (c >= 0xbbe && c <= 0xbc2) || # 2353
752
+ (c >= 0xbc6 && c <= 0xbc8) || # 2356
753
+ (c >= 0xbca && c <= 0xbcd) || # 2360
754
+ (c == 0xbd0) || # 2361
755
+ (c == 0xbd7) || # 2362
756
+ (c >= 0xbe6 && c <= 0xbef) || # 2372
757
+ (c >= 0xc00 && c <= 0xc03) || # 2376
758
+ (c >= 0xc05 && c <= 0xc0c) || # 2384
759
+ (c >= 0xc0e && c <= 0xc10) || # 2387
760
+ (c >= 0xc12 && c <= 0xc28) || # 2410
761
+ (c >= 0xc2a && c <= 0xc39) || # 2426
762
+ (c >= 0xc3d && c <= 0xc44) || # 2434
763
+ (c >= 0xc46 && c <= 0xc48) || # 2437
764
+ (c >= 0xc4a && c <= 0xc4d) || # 2441
765
+ (c >= 0xc55 && c <= 0xc56) || # 2443
766
+ (c >= 0xc58 && c <= 0xc59) || # 2445
767
+ (c >= 0xc60 && c <= 0xc63) || # 2449
768
+ (c >= 0xc66 && c <= 0xc6f) || # 2459
769
+ (c >= 0xc81 && c <= 0xc83) || # 2462
770
+ (c >= 0xc85 && c <= 0xc8c) || # 2470
771
+ (c >= 0xc8e && c <= 0xc90) || # 2473
772
+ (c >= 0xc92 && c <= 0xca8) || # 2496
773
+ (c >= 0xcaa && c <= 0xcb3) || # 2506
774
+ (c >= 0xcb5 && c <= 0xcb9) || # 2511
775
+ (c >= 0xcbc && c <= 0xcc4) || # 2520
776
+ (c >= 0xcc6 && c <= 0xcc8) || # 2523
777
+ (c >= 0xcca && c <= 0xccd) || # 2527
778
+ (c >= 0xcd5 && c <= 0xcd6) || # 2529
779
+ (c == 0xcde) || # 2530
780
+ (c >= 0xce0 && c <= 0xce3) || # 2534
781
+ (c >= 0xce6 && c <= 0xcef) || # 2544
782
+ (c >= 0xcf1 && c <= 0xcf2) || # 2546
783
+ (c >= 0xd01 && c <= 0xd03) || # 2549
784
+ (c >= 0xd05 && c <= 0xd0c) || # 2557
785
+ (c >= 0xd0e && c <= 0xd10) || # 2560
786
+ (c >= 0xd12 && c <= 0xd3a) || # 2601
787
+ (c >= 0xd3d && c <= 0xd44) || # 2609
788
+ (c >= 0xd46 && c <= 0xd48) || # 2612
789
+ (c >= 0xd4a && c <= 0xd4e) || # 2617
790
+ (c == 0xd57) || # 2618
791
+ (c >= 0xd60 && c <= 0xd63) || # 2622
792
+ (c >= 0xd66 && c <= 0xd6f) || # 2632
793
+ (c >= 0xd7a && c <= 0xd7f) || # 2638
794
+ (c >= 0xd82 && c <= 0xd83) || # 2640
795
+ (c >= 0xd85 && c <= 0xd96) || # 2658
796
+ (c >= 0xd9a && c <= 0xdb1) || # 2682
797
+ (c >= 0xdb3 && c <= 0xdbb) || # 2691
798
+ (c == 0xdbd) || # 2692
799
+ (c >= 0xdc0 && c <= 0xdc6) || # 2699
800
+ (c == 0xdca) || # 2700
801
+ (c >= 0xdcf && c <= 0xdd4) || # 2706
802
+ (c == 0xdd6) || # 2707
803
+ (c >= 0xdd8 && c <= 0xddf) || # 2715
804
+ (c >= 0xde6 && c <= 0xdef) || # 2725
805
+ (c >= 0xdf2 && c <= 0xdf3) || # 2727
806
+ (c >= 0xe01 && c <= 0xe3a) || # 2785
807
+ (c >= 0xe40 && c <= 0xe4e) || # 2800
808
+ (c >= 0xe50 && c <= 0xe59) || # 2810
809
+ (c >= 0xe81 && c <= 0xe82) || # 2812
810
+ (c == 0xe84) || # 2813
811
+ (c >= 0xe87 && c <= 0xe88) || # 2815
812
+ (c == 0xe8a) || # 2816
813
+ (c == 0xe8d) || # 2817
814
+ (c >= 0xe94 && c <= 0xe97) || # 2821
815
+ (c >= 0xe99 && c <= 0xe9f) || # 2828
816
+ (c >= 0xea1 && c <= 0xea3) || # 2831
817
+ (c == 0xea5) || # 2832
818
+ (c == 0xea7) || # 2833
819
+ (c >= 0xeaa && c <= 0xeab) || # 2835
820
+ (c >= 0xead && c <= 0xeb9) || # 2848
821
+ (c >= 0xebb && c <= 0xebd) || # 2851
822
+ (c >= 0xec0 && c <= 0xec4) || # 2856
823
+ (c == 0xec6) || # 2857
824
+ (c >= 0xec8 && c <= 0xecd) || # 2863
825
+ (c >= 0xed0 && c <= 0xed9) || # 2873
826
+ (c >= 0xedc && c <= 0xedf) || # 2877
827
+ (c == 0xf00) || # 2878
828
+ (c >= 0xf18 && c <= 0xf19) || # 2880
829
+ (c >= 0xf20 && c <= 0xf29) || # 2890
830
+ (c == 0xf35) || # 2891
831
+ (c == 0xf37) || # 2892
832
+ (c == 0xf39) || # 2893
833
+ (c >= 0xf3e && c <= 0xf47) || # 2903
834
+ (c >= 0xf49 && c <= 0xf6c) || # 2939
835
+ (c >= 0xf71 && c <= 0xf84) || # 2959
836
+ (c >= 0xf86 && c <= 0xf97) || # 2977
837
+ (c >= 0xf99 && c <= 0xfbc) || # 3013
838
+ (c == 0xfc6) || # 3014
839
+ (c >= 0x1000 && c <= 0x1049) || # 3088
840
+ (c >= 0x1050 && c <= 0x109d) || # 3166
841
+ (c >= 0x10a0 && c <= 0x10c5) || # 3204
842
+ (c == 0x10c7) || # 3205
843
+ (c == 0x10cd) || # 3206
844
+ (c >= 0x10d0 && c <= 0x10fa) || # 3249
845
+ (c >= 0x10fc && c <= 0x1248) || # 3582
846
+ (c >= 0x124a && c <= 0x124d) || # 3586
847
+ (c >= 0x1250 && c <= 0x1256) || # 3593
848
+ (c == 0x1258) || # 3594
849
+ (c >= 0x125a && c <= 0x125d) || # 3598
850
+ (c >= 0x1260 && c <= 0x1288) || # 3639
851
+ (c >= 0x128a && c <= 0x128d) || # 3643
852
+ (c >= 0x1290 && c <= 0x12b0) || # 3676
853
+ (c >= 0x12b2 && c <= 0x12b5) || # 3680
854
+ (c >= 0x12b8 && c <= 0x12be) || # 3687
855
+ (c == 0x12c0) || # 3688
856
+ (c >= 0x12c2 && c <= 0x12c5) || # 3692
857
+ (c >= 0x12c8 && c <= 0x12d6) || # 3707
858
+ (c >= 0x12d8 && c <= 0x1310) || # 3764
859
+ (c >= 0x1312 && c <= 0x1315) || # 3768
860
+ (c >= 0x1318 && c <= 0x135a) || # 3835
861
+ (c >= 0x135d && c <= 0x135f) || # 3838
862
+ (c >= 0x1380 && c <= 0x138f) || # 3854
863
+ (c >= 0x13a0 && c <= 0x13f4) || # 3939
864
+ (c >= 0x1401 && c <= 0x166c) || # 4559
865
+ (c >= 0x166f && c <= 0x167f) || # 4576
866
+ (c >= 0x1681 && c <= 0x169a) || # 4602
867
+ (c >= 0x16a0 && c <= 0x16ea) || # 4677
868
+ (c >= 0x16ee && c <= 0x16f8) || # 4688
869
+ (c >= 0x1700 && c <= 0x170c) || # 4701
870
+ (c >= 0x170e && c <= 0x1714) || # 4708
871
+ (c >= 0x1720 && c <= 0x1734) || # 4729
872
+ (c >= 0x1740 && c <= 0x1753) || # 4749
873
+ (c >= 0x1760 && c <= 0x176c) || # 4762
874
+ (c >= 0x176e && c <= 0x1770) || # 4765
875
+ (c >= 0x1772 && c <= 0x1773) || # 4767
876
+ (c >= 0x1780 && c <= 0x17d3) || # 4851
877
+ (c == 0x17d7) || # 4852
878
+ (c >= 0x17dc && c <= 0x17dd) || # 4854
879
+ (c >= 0x17e0 && c <= 0x17e9) || # 4864
880
+ (c >= 0x180b && c <= 0x180d) || # 4867
881
+ (c >= 0x1810 && c <= 0x1819) || # 4877
882
+ (c >= 0x1820 && c <= 0x1877) || # 4965
883
+ (c >= 0x1880 && c <= 0x18aa) || # 5008
884
+ (c >= 0x18b0 && c <= 0x18f5) || # 5078
885
+ (c >= 0x1900 && c <= 0x191e) || # 5109
886
+ (c >= 0x1920 && c <= 0x192b) || # 5121
887
+ (c >= 0x1930 && c <= 0x193b) || # 5133
888
+ (c >= 0x1946 && c <= 0x196d) || # 5173
889
+ (c >= 0x1970 && c <= 0x1974) || # 5178
890
+ (c >= 0x1980 && c <= 0x19ab) || # 5222
891
+ (c >= 0x19b0 && c <= 0x19c9) || # 5248
892
+ (c >= 0x19d0 && c <= 0x19d9) || # 5258
893
+ (c >= 0x1a00 && c <= 0x1a1b) || # 5286
894
+ (c >= 0x1a20 && c <= 0x1a5e) || # 5349
895
+ (c >= 0x1a60 && c <= 0x1a7c) || # 5378
896
+ (c >= 0x1a7f && c <= 0x1a89) || # 5389
897
+ (c >= 0x1a90 && c <= 0x1a99) || # 5399
898
+ (c == 0x1aa7) || # 5400
899
+ (c >= 0x1ab0 && c <= 0x1abd) || # 5414
900
+ (c >= 0x1b00 && c <= 0x1b4b) || # 5490
901
+ (c >= 0x1b50 && c <= 0x1b59) || # 5500
902
+ (c >= 0x1b6b && c <= 0x1b73) || # 5509
903
+ (c >= 0x1b80 && c <= 0x1bf3) || # 5625
904
+ (c >= 0x1c00 && c <= 0x1c37) || # 5681
905
+ (c >= 0x1c40 && c <= 0x1c49) || # 5691
906
+ (c >= 0x1c4d && c <= 0x1c7d) || # 5740
907
+ (c >= 0x1cd0 && c <= 0x1cd2) || # 5743
908
+ (c >= 0x1cd4 && c <= 0x1cf6) || # 5778
909
+ (c >= 0x1cf8 && c <= 0x1cf9) || # 5780
910
+ (c >= 0x1d00 && c <= 0x1df5) || # 6026
911
+ (c >= 0x1dfc && c <= 0x1f15) || # 6308
912
+ (c >= 0x1f18 && c <= 0x1f1d) || # 6314
913
+ (c >= 0x1f20 && c <= 0x1f45) || # 6352
914
+ (c >= 0x1f48 && c <= 0x1f4d) || # 6358
915
+ (c >= 0x1f50 && c <= 0x1f57) || # 6366
916
+ (c == 0x1f59) || # 6367
917
+ (c == 0x1f5b) || # 6368
918
+ (c == 0x1f5d) || # 6369
919
+ (c >= 0x1f5f && c <= 0x1f7d) || # 6400
920
+ (c >= 0x1f80 && c <= 0x1fb4) || # 6453
921
+ (c >= 0x1fb6 && c <= 0x1fbc) || # 6460
922
+ (c == 0x1fbe) || # 6461
923
+ (c >= 0x1fc2 && c <= 0x1fc4) || # 6464
924
+ (c >= 0x1fc6 && c <= 0x1fcc) || # 6471
925
+ (c >= 0x1fd0 && c <= 0x1fd3) || # 6475
926
+ (c >= 0x1fd6 && c <= 0x1fdb) || # 6481
927
+ (c >= 0x1fe0 && c <= 0x1fec) || # 6494
928
+ (c >= 0x1ff2 && c <= 0x1ff4) || # 6497
929
+ (c >= 0x1ff6 && c <= 0x1ffc) || # 6504
930
+ (c >= 0x203f && c <= 0x2040) || # 6506
931
+ (c == 0x2054) || # 6507
932
+ (c == 0x2071) || # 6508
933
+ (c == 0x207f) || # 6509
934
+ (c >= 0x2090 && c <= 0x209c) || # 6522
935
+ (c >= 0x20d0 && c <= 0x20dc) || # 6535
936
+ (c == 0x20e1) || # 6536
937
+ (c >= 0x20e5 && c <= 0x20f0) || # 6548
938
+ (c == 0x2102) || # 6549
939
+ (c == 0x2107) || # 6550
940
+ (c >= 0x210a && c <= 0x2113) || # 6560
941
+ (c == 0x2115) || # 6561
942
+ (c >= 0x2119 && c <= 0x211d) || # 6566
943
+ (c == 0x2124) || # 6567
944
+ (c == 0x2126) || # 6568
945
+ (c == 0x2128) || # 6569
946
+ (c >= 0x212a && c <= 0x212d) || # 6573
947
+ (c >= 0x212f && c <= 0x2139) || # 6584
948
+ (c >= 0x213c && c <= 0x213f) || # 6588
949
+ (c >= 0x2145 && c <= 0x2149) || # 6593
950
+ (c == 0x214e) || # 6594
951
+ (c >= 0x2160 && c <= 0x2188) || # 6635
952
+ (c >= 0x2c00 && c <= 0x2c2e) || # 6682
953
+ (c >= 0x2c30 && c <= 0x2c5e) || # 6729
954
+ (c >= 0x2c60 && c <= 0x2ce4) || # 6862
955
+ (c >= 0x2ceb && c <= 0x2cf3) || # 6871
956
+ (c >= 0x2d00 && c <= 0x2d25) || # 6909
957
+ (c == 0x2d27) || # 6910
958
+ (c == 0x2d2d) || # 6911
959
+ (c >= 0x2d30 && c <= 0x2d67) || # 6967
960
+ (c == 0x2d6f) || # 6968
961
+ (c >= 0x2d7f && c <= 0x2d96) || # 6992
962
+ (c >= 0x2da0 && c <= 0x2da6) || # 6999
963
+ (c >= 0x2da8 && c <= 0x2dae) || # 7006
964
+ (c >= 0x2db0 && c <= 0x2db6) || # 7013
965
+ (c >= 0x2db8 && c <= 0x2dbe) || # 7020
966
+ (c >= 0x2dc0 && c <= 0x2dc6) || # 7027
967
+ (c >= 0x2dc8 && c <= 0x2dce) || # 7034
968
+ (c >= 0x2dd0 && c <= 0x2dd6) || # 7041
969
+ (c >= 0x2dd8 && c <= 0x2dde) || # 7048
970
+ (c >= 0x2de0 && c <= 0x2dff) || # 7080
971
+ (c == 0x2e2f) || # 7081
972
+ (c >= 0x3005 && c <= 0x3007) || # 7084
973
+ (c >= 0x3021 && c <= 0x302f) || # 7099
974
+ (c >= 0x3031 && c <= 0x3035) || # 7104
975
+ (c >= 0x3038 && c <= 0x303c) || # 7109
976
+ (c >= 0x3041 && c <= 0x3096) || # 7195
977
+ (c >= 0x3099 && c <= 0x309a) || # 7197
978
+ (c >= 0x309d && c <= 0x309f) || # 7200
979
+ (c >= 0x30a1 && c <= 0x30fa) || # 7290
980
+ (c >= 0x30fc && c <= 0x30ff) || # 7294
981
+ (c >= 0x3105 && c <= 0x312d) || # 7335
982
+ (c >= 0x3131 && c <= 0x318e) || # 7429
983
+ (c >= 0x31a0 && c <= 0x31ba) || # 7456
984
+ (c >= 0x31f0 && c <= 0x31ff) || # 7472
985
+ (c == 0x3400) || # 7473
986
+ (c == 0x4db5) || # 7474
987
+ (c == 0x4e00) || # 7475
988
+ (c == 0x9fcc) || # 7476
989
+ (c >= 0xa000 && c <= 0xa48c) || # 8641
990
+ (c >= 0xa4d0 && c <= 0xa4fd) || # 8687
991
+ (c >= 0xa500 && c <= 0xa60c) || # 8956
992
+ (c >= 0xa610 && c <= 0xa62b) || # 8984
993
+ (c >= 0xa640 && c <= 0xa66f) || # 9032
994
+ (c >= 0xa674 && c <= 0xa67d) || # 9042
995
+ (c >= 0xa67f && c <= 0xa69d) || # 9073
996
+ (c >= 0xa69f && c <= 0xa6f1) || # 9156
997
+ (c >= 0xa717 && c <= 0xa71f) || # 9165
998
+ (c >= 0xa722 && c <= 0xa788) || # 9268
999
+ (c >= 0xa78b && c <= 0xa78e) || # 9272
1000
+ (c >= 0xa790 && c <= 0xa7ad) || # 9302
1001
+ (c >= 0xa7b0 && c <= 0xa7b1) || # 9304
1002
+ (c >= 0xa7f7 && c <= 0xa827) || # 9353
1003
+ (c >= 0xa840 && c <= 0xa873) || # 9405
1004
+ (c >= 0xa880 && c <= 0xa8c4) || # 9474
1005
+ (c >= 0xa8d0 && c <= 0xa8d9) || # 9484
1006
+ (c >= 0xa8e0 && c <= 0xa8f7) || # 9508
1007
+ (c == 0xa8fb) || # 9509
1008
+ (c >= 0xa900 && c <= 0xa92d) || # 9555
1009
+ (c >= 0xa930 && c <= 0xa953) || # 9591
1010
+ (c >= 0xa960 && c <= 0xa97c) || # 9620
1011
+ (c >= 0xa980 && c <= 0xa9c0) || # 9685
1012
+ (c >= 0xa9cf && c <= 0xa9d9) || # 9696
1013
+ (c >= 0xa9e0 && c <= 0xa9fe) || # 9727
1014
+ (c >= 0xaa00 && c <= 0xaa36) || # 9782
1015
+ (c >= 0xaa40 && c <= 0xaa4d) || # 9796
1016
+ (c >= 0xaa50 && c <= 0xaa59) || # 9806
1017
+ (c >= 0xaa60 && c <= 0xaa76) || # 9829
1018
+ (c >= 0xaa7a && c <= 0xaac2) || # 9902
1019
+ (c >= 0xaadb && c <= 0xaadd) || # 9905
1020
+ (c >= 0xaae0 && c <= 0xaaef) || # 9921
1021
+ (c >= 0xaaf2 && c <= 0xaaf6) || # 9926
1022
+ (c >= 0xab01 && c <= 0xab06) || # 9932
1023
+ (c >= 0xab09 && c <= 0xab0e) || # 9938
1024
+ (c >= 0xab11 && c <= 0xab16) || # 9944
1025
+ (c >= 0xab20 && c <= 0xab26) || # 9951
1026
+ (c >= 0xab28 && c <= 0xab2e) || # 9958
1027
+ (c >= 0xab30 && c <= 0xab5a) || # 10001
1028
+ (c >= 0xab5c && c <= 0xab5f) || # 10005
1029
+ (c >= 0xab64 && c <= 0xab65) || # 10007
1030
+ (c >= 0xabc0 && c <= 0xabea) || # 10050
1031
+ (c >= 0xabec && c <= 0xabed) || # 10052
1032
+ (c >= 0xabf0 && c <= 0xabf9) || # 10062
1033
+ (c == 0xac00) || # 10063
1034
+ (c == 0xd7a3) || # 10064
1035
+ (c >= 0xd7b0 && c <= 0xd7c6) || # 10087
1036
+ (c >= 0xd7cb && c <= 0xd7fb) || # 10136
1037
+ (c >= 0xf900 && c <= 0xfa6d) || # 10502
1038
+ (c >= 0xfa70 && c <= 0xfad9) || # 10608
1039
+ (c >= 0xfb00 && c <= 0xfb06) || # 10615
1040
+ (c >= 0xfb13 && c <= 0xfb17) || # 10620
1041
+ (c >= 0xfb1d && c <= 0xfb28) || # 10632
1042
+ (c >= 0xfb2a && c <= 0xfb36) || # 10645
1043
+ (c >= 0xfb38 && c <= 0xfb3c) || # 10650
1044
+ (c == 0xfb3e) || # 10651
1045
+ (c >= 0xfb40 && c <= 0xfb41) || # 10653
1046
+ (c >= 0xfb43 && c <= 0xfb44) || # 10655
1047
+ (c >= 0xfb46 && c <= 0xfbb1) || # 10763
1048
+ (c >= 0xfbd3 && c <= 0xfd3d) || # 11126
1049
+ (c >= 0xfd50 && c <= 0xfd8f) || # 11190
1050
+ (c >= 0xfd92 && c <= 0xfdc7) || # 11244
1051
+ (c >= 0xfdf0 && c <= 0xfdfb) || # 11256
1052
+ (c >= 0xfe00 && c <= 0xfe0f) || # 11272
1053
+ (c >= 0xfe20 && c <= 0xfe2d) || # 11286
1054
+ (c >= 0xfe33 && c <= 0xfe34) || # 11288
1055
+ (c >= 0xfe4d && c <= 0xfe4f) || # 11291
1056
+ (c >= 0xfe70 && c <= 0xfe74) || # 11296
1057
+ (c >= 0xfe76 && c <= 0xfefc) || # 11431
1058
+ (c >= 0xff10 && c <= 0xff19) || # 11441
1059
+ (c >= 0xff21 && c <= 0xff3a) || # 11467
1060
+ (c == 0xff3f) || # 11468
1061
+ (c >= 0xff41 && c <= 0xff5a) || # 11494
1062
+ (c >= 0xff66 && c <= 0xffbe) || # 11583
1063
+ (c >= 0xffc2 && c <= 0xffc7) || # 11589
1064
+ (c >= 0xffca && c <= 0xffcf) || # 11595
1065
+ (c >= 0xffd2 && c <= 0xffd7) || # 11601
1066
+ (c >= 0xffda && c <= 0xffdc) || # 11604
1067
+ (c >= 0x10000 && c <= 0x1000b) || # 11616
1068
+ (c >= 0x1000d && c <= 0x10026) || # 11642
1069
+ (c >= 0x10028 && c <= 0x1003a) || # 11661
1070
+ (c >= 0x1003c && c <= 0x1003d) || # 11663
1071
+ (c >= 0x1003f && c <= 0x1004d) || # 11678
1072
+ (c >= 0x10050 && c <= 0x1005d) || # 11692
1073
+ (c >= 0x10080 && c <= 0x100fa) || # 11815
1074
+ (c >= 0x10140 && c <= 0x10174) || # 11868
1075
+ (c == 0x101fd) || # 11869
1076
+ (c >= 0x10280 && c <= 0x1029c) || # 11898
1077
+ (c >= 0x102a0 && c <= 0x102d0) || # 11947
1078
+ (c == 0x102e0) || # 11948
1079
+ (c >= 0x10300 && c <= 0x1031f) || # 11980
1080
+ (c >= 0x10330 && c <= 0x1034a) || # 12007
1081
+ (c >= 0x10350 && c <= 0x1037a) || # 12050
1082
+ (c >= 0x10380 && c <= 0x1039d) || # 12080
1083
+ (c >= 0x103a0 && c <= 0x103c3) || # 12116
1084
+ (c >= 0x103c8 && c <= 0x103cf) || # 12124
1085
+ (c >= 0x103d1 && c <= 0x103d5) || # 12129
1086
+ (c >= 0x10400 && c <= 0x1049d) || # 12287
1087
+ (c >= 0x104a0 && c <= 0x104a9) || # 12297
1088
+ (c >= 0x10500 && c <= 0x10527) || # 12337
1089
+ (c >= 0x10530 && c <= 0x10563) || # 12389
1090
+ (c >= 0x10600 && c <= 0x10736) || # 12700
1091
+ (c >= 0x10740 && c <= 0x10755) || # 12722
1092
+ (c >= 0x10760 && c <= 0x10767) || # 12730
1093
+ (c >= 0x10800 && c <= 0x10805) || # 12736
1094
+ (c == 0x10808) || # 12737
1095
+ (c >= 0x1080a && c <= 0x10835) || # 12781
1096
+ (c >= 0x10837 && c <= 0x10838) || # 12783
1097
+ (c == 0x1083c) || # 12784
1098
+ (c >= 0x1083f && c <= 0x10855) || # 12807
1099
+ (c >= 0x10860 && c <= 0x10876) || # 12830
1100
+ (c >= 0x10880 && c <= 0x1089e) || # 12861
1101
+ (c >= 0x10900 && c <= 0x10915) || # 12883
1102
+ (c >= 0x10920 && c <= 0x10939) || # 12909
1103
+ (c >= 0x10980 && c <= 0x109b7) || # 12965
1104
+ (c >= 0x109be && c <= 0x109bf) || # 12967
1105
+ (c >= 0x10a00 && c <= 0x10a03) || # 12971
1106
+ (c >= 0x10a05 && c <= 0x10a06) || # 12973
1107
+ (c >= 0x10a0c && c <= 0x10a13) || # 12981
1108
+ (c >= 0x10a15 && c <= 0x10a17) || # 12984
1109
+ (c >= 0x10a19 && c <= 0x10a33) || # 13011
1110
+ (c >= 0x10a38 && c <= 0x10a3a) || # 13014
1111
+ (c == 0x10a3f) || # 13015
1112
+ (c >= 0x10a60 && c <= 0x10a7c) || # 13044
1113
+ (c >= 0x10a80 && c <= 0x10a9c) || # 13073
1114
+ (c >= 0x10ac0 && c <= 0x10ac7) || # 13081
1115
+ (c >= 0x10ac9 && c <= 0x10ae6) || # 13111
1116
+ (c >= 0x10b00 && c <= 0x10b35) || # 13165
1117
+ (c >= 0x10b40 && c <= 0x10b55) || # 13187
1118
+ (c >= 0x10b60 && c <= 0x10b72) || # 13206
1119
+ (c >= 0x10b80 && c <= 0x10b91) || # 13224
1120
+ (c >= 0x10c00 && c <= 0x10c48) || # 13297
1121
+ (c >= 0x11000 && c <= 0x11046) || # 13368
1122
+ (c >= 0x11066 && c <= 0x1106f) || # 13378
1123
+ (c >= 0x1107f && c <= 0x110ba) || # 13438
1124
+ (c >= 0x110d0 && c <= 0x110e8) || # 13463
1125
+ (c >= 0x110f0 && c <= 0x110f9) || # 13473
1126
+ (c >= 0x11100 && c <= 0x11134) || # 13526
1127
+ (c >= 0x11136 && c <= 0x1113f) || # 13536
1128
+ (c >= 0x11150 && c <= 0x11173) || # 13572
1129
+ (c == 0x11176) || # 13573
1130
+ (c >= 0x11180 && c <= 0x111c4) || # 13642
1131
+ (c >= 0x111d0 && c <= 0x111da) || # 13653
1132
+ (c >= 0x11200 && c <= 0x11211) || # 13671
1133
+ (c >= 0x11213 && c <= 0x11237) || # 13708
1134
+ (c >= 0x112b0 && c <= 0x112ea) || # 13767
1135
+ (c >= 0x112f0 && c <= 0x112f9) || # 13777
1136
+ (c >= 0x11301 && c <= 0x11303) || # 13780
1137
+ (c >= 0x11305 && c <= 0x1130c) || # 13788
1138
+ (c >= 0x1130f && c <= 0x11310) || # 13790
1139
+ (c >= 0x11313 && c <= 0x11328) || # 13812
1140
+ (c >= 0x1132a && c <= 0x11330) || # 13819
1141
+ (c >= 0x11332 && c <= 0x11333) || # 13821
1142
+ (c >= 0x11335 && c <= 0x11339) || # 13826
1143
+ (c >= 0x1133c && c <= 0x11344) || # 13835
1144
+ (c >= 0x11347 && c <= 0x11348) || # 13837
1145
+ (c >= 0x1134b && c <= 0x1134d) || # 13840
1146
+ (c == 0x11357) || # 13841
1147
+ (c >= 0x1135d && c <= 0x11363) || # 13848
1148
+ (c >= 0x11366 && c <= 0x1136c) || # 13855
1149
+ (c >= 0x11370 && c <= 0x11374) || # 13860
1150
+ (c >= 0x11480 && c <= 0x114c5) || # 13930
1151
+ (c == 0x114c7) || # 13931
1152
+ (c >= 0x114d0 && c <= 0x114d9) || # 13941
1153
+ (c >= 0x11580 && c <= 0x115b5) || # 13995
1154
+ (c >= 0x115b8 && c <= 0x115c0) || # 14004
1155
+ (c >= 0x11600 && c <= 0x11640) || # 14069
1156
+ (c == 0x11644) || # 14070
1157
+ (c >= 0x11650 && c <= 0x11659) || # 14080
1158
+ (c >= 0x11680 && c <= 0x116b7) || # 14136
1159
+ (c >= 0x116c0 && c <= 0x116c9) || # 14146
1160
+ (c >= 0x118a0 && c <= 0x118e9) || # 14220
1161
+ (c == 0x118ff) || # 14221
1162
+ (c >= 0x11ac0 && c <= 0x11af8) || # 14278
1163
+ (c >= 0x12000 && c <= 0x12398) || # 15199
1164
+ (c >= 0x12400 && c <= 0x1246e) || # 15310
1165
+ (c >= 0x13000 && c <= 0x1342e) || # 16381
1166
+ (c >= 0x16800 && c <= 0x16a38) || # 16950
1167
+ (c >= 0x16a40 && c <= 0x16a5e) || # 16981
1168
+ (c >= 0x16a60 && c <= 0x16a69) || # 16991
1169
+ (c >= 0x16ad0 && c <= 0x16aed) || # 17021
1170
+ (c >= 0x16af0 && c <= 0x16af4) || # 17026
1171
+ (c >= 0x16b00 && c <= 0x16b36) || # 17081
1172
+ (c >= 0x16b40 && c <= 0x16b43) || # 17085
1173
+ (c >= 0x16b50 && c <= 0x16b59) || # 17095
1174
+ (c >= 0x16b63 && c <= 0x16b77) || # 17116
1175
+ (c >= 0x16b7d && c <= 0x16b8f) || # 17135
1176
+ (c >= 0x16f00 && c <= 0x16f44) || # 17204
1177
+ (c >= 0x16f50 && c <= 0x16f7e) || # 17251
1178
+ (c >= 0x16f8f && c <= 0x16f9f) || # 17268
1179
+ (c >= 0x1b000 && c <= 0x1b001) || # 17270
1180
+ (c >= 0x1bc00 && c <= 0x1bc6a) || # 17377
1181
+ (c >= 0x1bc70 && c <= 0x1bc7c) || # 17390
1182
+ (c >= 0x1bc80 && c <= 0x1bc88) || # 17399
1183
+ (c >= 0x1bc90 && c <= 0x1bc99) || # 17409
1184
+ (c >= 0x1bc9d && c <= 0x1bc9e) || # 17411
1185
+ (c >= 0x1d165 && c <= 0x1d169) || # 17416
1186
+ (c >= 0x1d16d && c <= 0x1d172) || # 17422
1187
+ (c >= 0x1d17b && c <= 0x1d182) || # 17430
1188
+ (c >= 0x1d185 && c <= 0x1d18b) || # 17437
1189
+ (c >= 0x1d1aa && c <= 0x1d1ad) || # 17441
1190
+ (c >= 0x1d242 && c <= 0x1d244) || # 17444
1191
+ (c >= 0x1d400 && c <= 0x1d454) || # 17529
1192
+ (c >= 0x1d456 && c <= 0x1d49c) || # 17600
1193
+ (c >= 0x1d49e && c <= 0x1d49f) || # 17602
1194
+ (c == 0x1d4a2) || # 17603
1195
+ (c >= 0x1d4a5 && c <= 0x1d4a6) || # 17605
1196
+ (c >= 0x1d4a9 && c <= 0x1d4ac) || # 17609
1197
+ (c >= 0x1d4ae && c <= 0x1d4b9) || # 17621
1198
+ (c == 0x1d4bb) || # 17622
1199
+ (c >= 0x1d4bd && c <= 0x1d4c3) || # 17629
1200
+ (c >= 0x1d4c5 && c <= 0x1d505) || # 17694
1201
+ (c >= 0x1d507 && c <= 0x1d50a) || # 17698
1202
+ (c >= 0x1d50d && c <= 0x1d514) || # 17706
1203
+ (c >= 0x1d516 && c <= 0x1d51c) || # 17713
1204
+ (c >= 0x1d51e && c <= 0x1d539) || # 17741
1205
+ (c >= 0x1d53b && c <= 0x1d53e) || # 17745
1206
+ (c >= 0x1d540 && c <= 0x1d544) || # 17750
1207
+ (c == 0x1d546) || # 17751
1208
+ (c >= 0x1d54a && c <= 0x1d550) || # 17758
1209
+ (c >= 0x1d552 && c <= 0x1d6a5) || # 18098
1210
+ (c >= 0x1d6a8 && c <= 0x1d6c0) || # 18123
1211
+ (c >= 0x1d6c2 && c <= 0x1d6da) || # 18148
1212
+ (c >= 0x1d6dc && c <= 0x1d6fa) || # 18179
1213
+ (c >= 0x1d6fc && c <= 0x1d714) || # 18204
1214
+ (c >= 0x1d716 && c <= 0x1d734) || # 18235
1215
+ (c >= 0x1d736 && c <= 0x1d74e) || # 18260
1216
+ (c >= 0x1d750 && c <= 0x1d76e) || # 18291
1217
+ (c >= 0x1d770 && c <= 0x1d788) || # 18316
1218
+ (c >= 0x1d78a && c <= 0x1d7a8) || # 18347
1219
+ (c >= 0x1d7aa && c <= 0x1d7c2) || # 18372
1220
+ (c >= 0x1d7c4 && c <= 0x1d7cb) || # 18380
1221
+ (c >= 0x1d7ce && c <= 0x1d7ff) || # 18430
1222
+ (c >= 0x1e800 && c <= 0x1e8c4) || # 18627
1223
+ (c >= 0x1e8d0 && c <= 0x1e8d6) || # 18634
1224
+ (c >= 0x1ee00 && c <= 0x1ee03) || # 18638
1225
+ (c >= 0x1ee05 && c <= 0x1ee1f) || # 18665
1226
+ (c >= 0x1ee21 && c <= 0x1ee22) || # 18667
1227
+ (c == 0x1ee24) || # 18668
1228
+ (c == 0x1ee27) || # 18669
1229
+ (c >= 0x1ee29 && c <= 0x1ee32) || # 18679
1230
+ (c >= 0x1ee34 && c <= 0x1ee37) || # 18683
1231
+ (c == 0x1ee39) || # 18684
1232
+ (c == 0x1ee3b) || # 18685
1233
+ (c == 0x1ee42) || # 18686
1234
+ (c == 0x1ee47) || # 18687
1235
+ (c == 0x1ee49) || # 18688
1236
+ (c == 0x1ee4b) || # 18689
1237
+ (c >= 0x1ee4d && c <= 0x1ee4f) || # 18692
1238
+ (c >= 0x1ee51 && c <= 0x1ee52) || # 18694
1239
+ (c == 0x1ee54) || # 18695
1240
+ (c == 0x1ee57) || # 18696
1241
+ (c == 0x1ee59) || # 18697
1242
+ (c == 0x1ee5b) || # 18698
1243
+ (c == 0x1ee5d) || # 18699
1244
+ (c == 0x1ee5f) || # 18700
1245
+ (c >= 0x1ee61 && c <= 0x1ee62) || # 18702
1246
+ (c == 0x1ee64) || # 18703
1247
+ (c >= 0x1ee67 && c <= 0x1ee6a) || # 18707
1248
+ (c >= 0x1ee6c && c <= 0x1ee72) || # 18714
1249
+ (c >= 0x1ee74 && c <= 0x1ee77) || # 18718
1250
+ (c >= 0x1ee79 && c <= 0x1ee7c) || # 18722
1251
+ (c == 0x1ee7e) || # 18723
1252
+ (c >= 0x1ee80 && c <= 0x1ee89) || # 18733
1253
+ (c >= 0x1ee8b && c <= 0x1ee9b) || # 18750
1254
+ (c >= 0x1eea1 && c <= 0x1eea3) || # 18753
1255
+ (c >= 0x1eea5 && c <= 0x1eea9) || # 18758
1256
+ (c >= 0x1eeab && c <= 0x1eebb) || # 18775
1257
+ (c == 0x20000) || # 18776
1258
+ (c == 0x2a6d6) || # 18777
1259
+ (c == 0x2a700) || # 18778
1260
+ (c == 0x2b734) || # 18779
1261
+ (c == 0x2b740) || # 18780
1262
+ (c == 0x2b81d) || # 18781
1263
+ (c >= 0x2f800 && c <= 0x2fa1d) || # 19323
1264
+ (c >= 0xe0100 && c <= 0xe01ef) || # 19563
1265
+ c == 0x200d || c == 0x200c
863
1266
  return true
864
1267
  end
865
1268
  end