This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "Debugging GH #17671."
[perl5.git] / lib / charnames.t
CommitLineData
423cee85 1#!./perl
a0d8d8c5 2use strict;
423cee85 3
c94ac4ef 4# Test charnames.pm. If $ENV{PERL_RUN_SLOW_TESTS} is unset or 0, a random
3426d207
KW
5# selection of names is tested, a higher percentage of regular names is tested
6# than algorithmically-determined names.
7
69ed27fe
KW
8my $run_slow_tests = $ENV{PERL_RUN_SLOW_TESTS} || 0;
9
3426d207
KW
10my $RUN_SLOW_TESTS_EVERY_CODE_POINT = 100;
11
12# If $ENV{PERL_RUN_SLOW_TESTS} is at least 1 and less than the number above,
b1a91f30
KW
13# all code points with names are tested, including wildcard search names. If
14# it is at least that number, all 1,114,112 Unicode code points are tested.
3426d207 15
da85ecb8
KW
16# Because \N{} is compile time, any warnings will get generated before
17# execution, so have to have an array, and arrange things so no warning
18# is generated twice to verify that in fact a warning did happen
52ea3e69
JH
19my @WARN;
20
423cee85
JH
21BEGIN {
22 unless(grep /blib/, @INC) {
23 chdir 't' if -d 't';
20822f61 24 @INC = '../lib';
423cee85 25 }
52ea3e69 26 $SIG{__WARN__} = sub { push @WARN, @_ };
423cee85
JH
27}
28
5bd59e57 29our $local_tests = 'no_plan';
63c6dcc1 30
ea065648
NC
31# ---- For the alias extensions
32require "../t/lib/common.pl";
423cee85 33
fbb93542
KW
34is("Here\N{EXCLAMATION MARK}?", "Here!?", "Basic sanity, autoload of :full upon \\N");
35is("\N{latin: Q}", "Q", "autoload of :short upon \\N");
423cee85 36
c82a54e6 37{
a0d8d8c5 38 use bytes; # TEST -utf8 can switch utf8 on
c82a54e6 39
a0d8d8c5 40 my $res = eval <<'EOE';
423cee85 41use charnames ":full";
4a2d328f 42"Here: \N{CYRILLIC SMALL LETTER BE}!";
423cee85
JH
431
44EOE
423cee85 45
aaa63dae 46 like($@, qr/above 0xFF/, "Verify get warning for \\N{above ff} under 'use bytes' with :full");
22dc4229 47 ok(! defined $res, "... and result is undefined");
a0d8d8c5
KW
48
49 $res = eval <<'EOE';
423cee85 50use charnames 'cyrillic';
4a2d328f 51"Here: \N{Be}!";
423cee85
JH
521
53EOE
aaa63dae 54 like($@, qr/CYRILLIC CAPITAL LETTER BE.*above 0xFF/, "Verify get warning under 'use bytes' with explicit script");
22dc4229 55 ok(! defined $res, "... and result is undefined");
16036bcd
KW
56
57 $res = eval <<'EOE';
58use charnames ':full', ":alias" => { BOM => "LATIN SMALL LETTER B" };
59"\N{BOM}";
60EOE
22dc4229 61 is ($@, "", "Verify that there is no warning for \\N{below 256} under 'use bytes'");
16036bcd 62 is ($res, 'b', "Verify that can redefine a standard alias");
c82a54e6 63}
423cee85 64
232cbbee
KW
65{
66
5198c137
KW
67 use charnames ":alias" => { mychar1 => "0xE8000",
68 mychar2 => 983040, # U+F0000
69 mychar3 => "U+100000",
27c3afbd 70 myctrl => utf8::unicode_to_native(0x80),
5198c137
KW
71 mylarge => "U+111000",
72 };
73 is ("\N{PILE OF POO}", chr(0x1F4A9), "Verify :alias alone implies :full");
232cbbee
KW
74 is ("\N{mychar1}", chr(0xE8000), "Verify that can define hex alias");
75 is (charnames::viacode(0xE8000), "mychar1", "And that can get the alias back");
76 is ("\N{mychar2}", chr(0xF0000), "Verify that can define decimal alias");
77 is (charnames::viacode(0xF0000), "mychar2", "And that can get the alias back");
78 is ("\N{mychar3}", chr(0x100000), "Verify that can define U+... alias");
79 is (charnames::viacode(0x100000), "mychar3", "And that can get the alias back");
63098191 80 is ("\N{mylarge}", chr(0x111000), "Verify that can define alias beyond Unicode");
ac046fe1 81 is (charnames::viacode(0x111000), "mylarge", "And that can get the alias back");
27c3afbd 82 is (charnames::viacode(utf8::unicode_to_native(0x80)), "myctrl", "Verify that can name a nameless control");
232cbbee
KW
83
84}
85
27c3afbd
KW
86my $encoded_be = byte_utf8a_to_utf8n("\320\261");
87my $encoded_alpha = byte_utf8a_to_utf8n("\316\261");
88my $encoded_bet = byte_utf8a_to_utf8n("\327\221");
89my $encoded_deseng = byte_utf8a_to_utf8n("\360\220\221\215");
c5cc3500
GS
90
91sub to_bytes {
f337b084 92 unpack"U0a*", shift;
c5cc3500
GS
93}
94
38f4139d
KW
95sub get_loose_name ($) { # Modify name to stress the loose tests.
96
97 # First, all lower case,
98 my $loose_name = lc shift;
99
100 # Then squeeze out all the blanks not adjacent to hyphens, but make the
101 # spaces that are adjacent to hypens into two, to make sure the code isn't
102 # looking for just one when looking for non-medial hyphens.
103 $loose_name =~ s/ (?<! - ) \ + (?! - )//gx;
104 $loose_name =~ s/ / /g;
105
106 # Similarly, double the hyphens
107 $loose_name =~ s/-/--/g;
108
109 # And convert ABC into "A B-C" to add medial hyphens and spaces. Probably
110 # better to do this randomly, but think this is sufficient.
111 $loose_name =~ s/ ([^-\s]) ([^-\s]) ([^-\s]) /$1 $2-$3/gx;
112
113 return $loose_name
114}
115
1c757d3c 116sub test_vianame ($$$) {
b1a91f30 117 CORE::state $wildcard_count = 0;
1c757d3c 118
38f4139d 119 # Run the vianame tests on a code point, both loose and full
1c757d3c 120
38f4139d
KW
121 my $all_pass = 1;
122
123 # $i is the code point in decimal; $hex in hexadecimal; $name is
124 # character name to test
1c757d3c
KW
125 my ($i, $hex, $name) = @_;
126
38f4139d
KW
127 # Get a copy of the name modified to stress the loose tests.
128 my $loose_name = get_loose_name($name);
129
b1a91f30
KW
130 my $right_anchor;
131
38f4139d
KW
132 # Switch loose and full in vianame vs string_vianame half the time
133 if (rand() < .5) {
134 use charnames ":full";
928480e1
KW
135 $all_pass &= is(charnames::vianame($name), $i,
136 "Verify vianame(\"$name\") is 0x$hex");
38f4139d 137 use charnames ":loose";
928480e1
KW
138 $all_pass &= is(charnames::string_vianame($loose_name), chr($i),
139 "Verify string_vianame(\"$loose_name\") is chr(0x$hex)");
b1a91f30 140 $right_anchor = '\\Z';
38f4139d
KW
141 }
142 else {
143 use charnames ":loose";
928480e1
KW
144 $all_pass &= is(charnames::vianame($loose_name), $i,
145 "Verify vianame(\"$loose_name\") is 0x$hex");
38f4139d 146 use charnames ":full";
928480e1
KW
147 $all_pass &= is(charnames::string_vianame($name), chr($i),
148 "Verify string_vianame(\"$name\") is chr(0x$hex)");
b1a91f30 149 $right_anchor = '\\z';
38f4139d 150 }
673c254b 151
b1a91f30
KW
152 my $left_anchor = (rand() < .5) ? '^' : '\\A';
153
673c254b 154 # \p{name=} is always loose matching
928480e1
KW
155 $all_pass &= like(chr($i), qr/^\p{name=$loose_name}$/,
156 "Verify /\p{name=$loose_name}/ matches chr(0x$hex)");
673c254b 157
b1a91f30
KW
158 $wildcard_count++;
159
160 # Because wildcard name matching is so real-time intensive, do it less
161 # frequently than the others
162 if ($wildcard_count >= 10) {
163 $wildcard_count = 0;
164
165 # A few control characters have anomalous names containing
166 # parentheses, which need to be escaped.
167 my $name_ref = \$name;
168 my $mod_name;
169 if ($i <= 0x85) { # NEL in ASCII; affected controls are lower than
170 # this in EBCDIC
171 $mod_name = $name =~ s/([()])/\\$1/gr;
172 $name_ref = \$mod_name;
173 }
174
175 # We anchor the name, randomly with the possible anchors.
176 my $assembled = $left_anchor. $$name_ref . $right_anchor;
177
178 # \p{name=/.../} is always full matching
179 $all_pass &= like(chr($i), qr!^\p{name=/$assembled/}!,
180 "Verify /\p{name=/$assembled/} matches chr(0x$hex)");
181 }
182
38f4139d 183 return $all_pass;
1c757d3c
KW
184}
185
423cee85
JH
186{
187 use charnames ':full';
423cee85 188
a11a2deb
KW
189 is(to_bytes("\N{CYRILLIC SMALL LETTER BE}"), $encoded_be,
190 'Verify \N{CYRILLIC SMALL LETTER BE} is the correct UTF8');
423cee85
JH
191
192 use charnames qw(cyrillic greek :short);
193
a0d8d8c5 194 is(to_bytes("\N{be},\N{alpha},\N{hebrew:bet}"),
a11a2deb
KW
195 "$encoded_be,$encoded_alpha,$encoded_bet",
196 'Verify using scripts gives the correct UTF8');
423cee85 197}
e1992b6d
GS
198
199{
200 use charnames ':full';
a11a2deb
KW
201 is("\x{263a}", "\N{WHITE SMILING FACE}", 'Verify "\x{263a}" eq "\N{WHITE SMILING FACE}"');
202 cmp_ok(length("\x{263a}"), '==', 1, 'Verify length of \x{263a} is 1');
203 cmp_ok(length("\N{WHITE SMILING FACE}"), '==', 1, '... as is the length of \N{WHITE SMILING FACE}');
204 is(sprintf("%vx", "\x{263a}"), "263a", 'Verify sprintf("%vx", "\x{263a}") eq "263a"');
205 is(sprintf("%vx", "\N{WHITE SMILING FACE}"), "263a", 'Verify sprintf("%vx", "\N{WHITE SMILING FACE}") eq "263a"');
206 is(sprintf("%vx", "\xFF\N{WHITE SMILING FACE}"), "ff.263a", 'Verify sprintf("%vx" eq "\xFF\N{WHITE SMILING FACE}"), "ff.263a"');
207 is(sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}"), "ff.263a", 'Verify sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}") eq "ff.263a"');
e1992b6d 208}
c00525d4 209
210{
a0d8d8c5
KW
211 use charnames qw(:full);
212 use utf8;
51cf30b6 213
c00525d4 214 my $x = "\x{221b}";
215 my $named = "\N{CUBE ROOT}";
216
a11a2deb 217 cmp_ok(ord($x), '==', ord($named), 'Verify ord("\x{221b}") == ord("\N{CUBE ROOT}"');
c00525d4 218}
219
f9a63242 220{
a0d8d8c5
KW
221 use charnames qw(:full);
222 use utf8;
a11a2deb 223 is("\x{100}\N{CENT SIGN}", "\x{100}"."\N{CENT SIGN}", 'Verify "\x{100}\N{CENT SIGN}" eq "\x{100}"."\N{CENT SIGN}"');
f9a63242
JH
224}
225
b896c7a5 226{
a0d8d8c5 227 use charnames ':full';
b896c7a5 228
a11a2deb
KW
229 is(to_bytes("\N{DESERET SMALL LETTER ENG}"), $encoded_deseng,
230 'Verify bytes of "\N{DESERET SMALL LETTER ENG}" are correct');
4765795a 231}
b896c7a5 232
4765795a 233{
126fe723 234 # 20001114.001 (#4690)
a0d8d8c5
KW
235
236 no utf8; # naked Latin-1
237
238 use charnames ':full';
239 my $text = "\N{LATIN CAPITAL LETTER A WITH DIAERESIS}";
6deb7a5e 240 is($text, chr utf8::unicode_to_native(0xc4), 'Verify \N{} returns correct string under "no utf8"');
a0d8d8c5
KW
241
242 # I'm not sure that this tests anything different from the above.
6deb7a5e 243 cmp_ok(ord($text), '==', utf8::unicode_to_native(0xc4), '... and ords are ok');
b896c7a5
A
244}
245
daf0d493 246{
a11a2deb
KW
247 is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE",
248 'Verify viacode(0x1234) eq "ETHIOPIC SYLLABLE SEE"');
daf0d493 249
63098191 250 # No name
a11a2deb 251 ok(! defined charnames::viacode(0xFFFF), 'Verify \x{FFFF} has no name');
daf0d493
JH
252}
253
254{
5a7fb30a
KW
255 cmp_ok(charnames::vianame("GOTHIC LETTER AHSA"), "==", 0x10330, "Verify vianame \\N{name} returns an ord");
256 is(charnames::vianame("U+10330"), "\x{10330}", "Verify vianame \\N{U+hex} returns a chr");
63098191
KW
257 use warnings;
258 my $warning_count = @WARN;
a2cfe56d 259 ok (! defined charnames::vianame("NONE SUCH"), "Verify vianame returns undef for an undefined name");
2974a5b4 260 cmp_ok($warning_count, '==', scalar @WARN, "Verify vianame doesn't warn on unknown names");
fb121860
KW
261 ok (! defined charnames::string_vianame("MORE NONE SUCH"), "Verify string_vianame returns undef for an undefined name");
262 cmp_ok($warning_count, '==', scalar @WARN, "Verify string_vianame doesn't warn on unknown names");
a39c5dfb
KW
263 ok (! defined charnames::vianame(""), "Verify vianame returns undef for an empty value");
264 cmp_ok($warning_count, '==', scalar @WARN, "... and no warning is generated");
265 ok (! defined charnames::string_vianame(""), "Verify string_vianame returns undef for an empty value");
266 cmp_ok($warning_count, '==', scalar @WARN, "... and no warning is generated");
267
673c254b
KW
268 eval "qr/\\p{name=MORE NONE SUCH}/";
269 like($@, qr/Can't find Unicode property definition "name=MORE NONE SUCH"/,
270 '\p{name=} returns an appropriate error message on an undefined name');
63098191
KW
271
272 use bytes;
273 is(charnames::vianame("GOTHIC LETTER AHSA"), 0x10330, "Verify vianame \\N{name} is unaffected by 'use bytes'");
27c3afbd 274 is(charnames::vianame("U+FF"), chr(utf8::unicode_to_native(0xFF)), "Verify vianame \\N{U+FF} is unaffected by 'use bytes'");
35a5ace5 275 cmp_ok($warning_count, '==', scalar @WARN, "Verify vianame doesn't warn on legal inputs under 'use bytes'");
2974a5b4
KW
276 ok(! defined charnames::vianame("U+100"), "Verify vianame \\N{U+100} is undef under 'use bytes'");
277 ok($warning_count == scalar @WARN - 1 && $WARN[-1] =~ /above 0xFF/, "Verify vianame gives appropriate warning for previous test");
fb121860
KW
278
279 $warning_count = @WARN;
280 ok(! defined charnames::string_vianame("GOTHIC LETTER AHSA"), "Verify string_vianame(\"GOTHIC LETTER AHSA\") is undefined under 'use bytes'");
281 ok($warning_count == scalar @WARN - 1 && $WARN[-1] =~ /above 0xFF/, "Verify string_vianame gives appropriate warning for previous test");
282 $warning_count = @WARN;
673c254b
KW
283 eval "qr/\\p{name=GOTHIC LETTER AHSA}/";
284 is($@, "", '\p{name=...} is unaffect by "use bytes"');
27c3afbd 285 is(charnames::string_vianame("U+FF"), chr(utf8::unicode_to_native(0xFF)), "Verify string_vianame(\"U+FF\") is chr(0xFF) under 'use bytes'");
fb121860 286 cmp_ok($warning_count, '==', scalar @WARN, "Verify string_vianame doesn't warn on legal inputs under 'use bytes'");
27c3afbd 287 is(charnames::string_vianame("LATIN SMALL LETTER Y WITH DIAERESIS"), chr(utf8::unicode_to_native(0xFF)), "Verify string_vianame(\"LATIN SMALL LETTER Y WITH DIAERESIS\") is chr(native 0xFF) under 'use bytes'");
fb121860
KW
288 cmp_ok($warning_count, '==', scalar @WARN, "Verify string_vianame doesn't warn on legal inputs under 'use bytes'");
289 ok(! defined charnames::string_vianame("U+100"), "Verify string_vianame \\N{U+100} is undef under 'use bytes'");
290 ok($warning_count == scalar @WARN - 1 && $WARN[-1] =~ /above 0xFF/, "Verify string_vianame gives appropriate warning for previous test");
291 $warning_count = @WARN;
292 ok(! defined charnames::string_vianame("LATIN SMALL LETTER L WITH TILDE"), "Verify string_vianame(\"LATIN SMALL LETTER L WITH TILDE\") is undef under 'use bytes'");
293 ok($warning_count == scalar @WARN - 1 && $WARN[-1] =~ /String.*above 0xFF/, "Verify string_vianame gives appropriate warning for previous test");
294
daf0d493 295}
4e2cda5d
JH
296
297{
298 # check that caching at least hasn't broken anything
299
a11a2deb
KW
300 is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE",
301 'Verify caching');
4e2cda5d 302
a11a2deb
KW
303 is(sprintf("%04X", charnames::vianame("GOTHIC LETTER AHSA")), "10330",
304 'More caching');
4e2cda5d
JH
305
306}
301a3cda 307
fb121860
KW
308# That these return the correct values is tested below when reading
309# NamedSequences.txt
310is("\N{TAMIL CONSONANT K}", charnames::string_vianame("TAMIL CONSONANT K"), "Verify \\N{TAMIL CONSONANT K} eq charnames::vianame(\"TAMIL CONSONANT K\")");
311
a11a2deb 312is("\N{CHARACTER TABULATION}", "\t", 'Verify "\N{CHARACTER TABULATION}" eq "\t"');
a2e77dd4 313
a11a2deb
KW
314is("\N{ESCAPE}", "\e", 'Verify "\N{ESCAPE}" eq "\e"');
315is("\N{NULL}", "\c@", 'Verify "\N{NULL}" eq "\c@"');
316is("\N{LINE FEED (LF)}", "\n", 'Verify "\N{LINE FEED (LF)}" eq "\n"');
317is("\N{LINE FEED}", "\n", 'Verify "\N{LINE FEED}" eq "\n"');
318is("\N{LF}", "\n", 'Verify "\N{LF}" eq "\n"');
52ea3e69 319
6deb7a5e 320my $nel = chr utf8::unicode_to_native(0x85);
a0d8d8c5 321$nel = qr/^$nel$/;
52ea3e69 322
a11a2deb
KW
323like("\N{NEXT LINE (NEL)}", $nel, 'Verify "\N{NEXT LINE (NEL)}" is correct');
324like("\N{NEXT LINE}", $nel, 'Verify "\N{NEXT LINE)" is correct');
325like("\N{NEL}", $nel, 'Verify "\N{NEL}" is correct');
326is("\N{BYTE ORDER MARK}", chr(0xFEFF), 'Verify "\N{BYTE ORDER MARK}" is correct');
327is("\N{BOM}", chr(0xFEFF), 'Verify "\N{BOM}" is correct');
51e9e896 328
52ea3e69
JH
329{
330 use warnings 'deprecated';
331
a11a2deb 332 is("\N{HORIZONTAL TABULATION}", "\t", 'Verify "\N{HORIZONTAL TABULATION}" eq "\t"');
52ea3e69 333
7620cb10
KW
334 my $ok = ! grep { /"HORIZONTAL TABULATION" is deprecated.*"CHARACTER TABULATION"/ } @WARN;
335 ok($ok, '... and doesnt give deprecated warning');
822ebcc8 336
fe3193b5
KW
337 if ($^V lt v5.17.0) {
338 is("\N{BELL}", "\a", 'Verify "\N{BELL}" eq "\a"');
339 my $ok = grep { /"BELL" is deprecated.*"ALERT"/ } @WARN;
340 ok($ok, '... and that gives correct deprecated warning');
341 }
3ffed8c2 342
52ea3e69
JH
343 no warnings 'deprecated';
344
a11a2deb 345 is("\N{VERTICAL TABULATION}", "\013", 'Verify "\N{VERTICAL TABULATION}" eq "\013"');
52ea3e69 346
a11a2deb
KW
347 my $nok = grep { /"VERTICAL TABULATION" is deprecated/ } @WARN;
348 ok(! $nok,
349 '... and doesnt give deprecated warning under no warnings "deprecated"');
52ea3e69 350}
822ebcc8 351
a11a2deb
KW
352is(charnames::viacode(0xFEFF), "ZERO WIDTH NO-BREAK SPACE",
353 'Verify viacode(0xFEFF) is correct');
a23c04e4 354
898b2fa7
KW
355# These test that the changes to these in 6.1 are recognized. (The double
356# test of using viacode and vianame is less than optimal as two errors could
357# cancel each other out, but later each is tested individually, and this
358# sidesteps and EBCDIC issues.
359is(charnames::viacode(charnames::vianame("CR")), "CARRIAGE RETURN",
360 'Verify viacode(vianame("CR")) is "CARRIAGE RETURN"');
361is(charnames::viacode(charnames::vianame("LF")), "LINE FEED",
362 'Verify viacode(vianame("LF")) is "LINE FEED"');
363is(charnames::viacode(charnames::vianame("FF")), "FORM FEED",
364 'Verify viacode(vianame("FF")) is "FORM FEED"');
365is(charnames::viacode(charnames::vianame("NEL")), "NEXT LINE",
366 'Verify viacode(vianame("NEL")) is "NEXT LINE"');
367
872c91ae
JH
368{
369 use warnings;
a11a2deb 370 cmp_ok(ord("\N{BOM}"), '==', 0xFEFF, 'Verify \N{BOM} is correct');
872c91ae
JH
371}
372
a11a2deb 373cmp_ok(ord("\N{ZWNJ}"), '==', 0x200C, 'Verify \N{ZWNJ} is correct');
24b5d5cc 374
a11a2deb 375cmp_ok(ord("\N{ZWJ}"), '==', 0x200D, 'Verify \N{ZWJ} is correct');
dbc0d4f2 376
a11a2deb 377is("\N{U+263A}", "\N{WHITE SMILING FACE}", 'Verify "\N{U+263A}" eq "\N{WHITE SMILING FACE}"');
dbc0d4f2 378
51b0dbc4 379{
a11a2deb
KW
380 cmp_ok( 0x3093, '==', charnames::vianame("HIRAGANA LETTER N"),
381 'Verify vianame("HIRAGANA LETTER N") is correct');
382 cmp_ok(0x0397, '==', charnames::vianame("GREEK CAPITAL LETTER ETA"),
383 'Verify vianame("GREEK CAPITAL LETTER ETA") is correct');
51b0dbc4
ST
384}
385
a11a2deb
KW
386ok(! defined charnames::viacode(0x110000),
387 'Verify viacode(above unicode) is undefined');
388ok((grep { /\Qyou asked for U+110000/ } @WARN), '... and gives warning');
e10d7780 389
a11a2deb 390is(charnames::viacode(0), "NULL", 'Verify charnames::viacode(0) eq "NULL"');
27c3afbd
KW
391my $three_quarters = sprintf("%2X", utf8::unicode_to_native(0xBE));
392is(charnames::viacode("$three_quarters"), "VULGAR FRACTION THREE QUARTERS", 'Verify charnames::viacode(native "BE") eq "VULGAR FRACTION THREE QUARTERS"');
a11a2deb 393is(charnames::viacode("U+00000000000FEED"), "ARABIC LETTER WAW ISOLATED FORM", 'Verify charnames::viacode("U+00000000000FEED") eq "ARABIC LETTER WAW ISOLATED FORM"');
c8002005 394
4eecf4e5
KW
395test_vianame(0x116C, "116C", "HANGUL JUNGSEONG OE");
396test_vianame(0x1180, "1180", "HANGUL JUNGSEONG O-E");
b1a91f30
KW
397like(chr(0x59C3), qr/\p{name=\/\ACJK UNIFIED IDEOGRAPH-59C3\z\/}/,
398 'Verify name wildcards delimitters can be escaped');
399like(chr(0xD800), qr!\p{name=/\A\z/}!,
400 'Verify works on matching an empty name');
4eecf4e5 401
16036bcd
KW
402{
403 no warnings 'deprecated';
a11a2deb
KW
404 is("\N{LINE FEED}", "\N{LINE FEED (LF)}", 'Verify "\N{LINE FEED}" eq "\N{LINE FEED (LF)}"', 'Verify \N{LINE FEED} eq \N{LINE FEED (LF)}');
405 is("\N{FORM FEED}", "\N{FORM FEED (FF)}", 'Verify "\N{FORM FEED}" eq "\N{FORM FEED (FF)}"');
406 is("\N{CARRIAGE RETURN}", "\N{CARRIAGE RETURN (CR)}", 'Verify "\N{CARRIAGE RETURN}" eq "\N{CARRIAGE RETURN (CR)}"');
407 is("\N{NEXT LINE}", "\N{NEXT LINE (NEL)}", 'Verify "\N{NEXT LINE}" eq "\N{NEXT LINE (NEL)}"');
408 is("\N{NUL}", "\N{NULL}", 'Verify "\N{NUL}" eq "\N{NULL}"');
409 is("\N{SOH}", "\N{START OF HEADING}", 'Verify "\N{SOH}" eq "\N{START OF HEADING}"');
410 is("\N{STX}", "\N{START OF TEXT}", 'Verify "\N{STX}" eq "\N{START OF TEXT}"');
411 is("\N{ETX}", "\N{END OF TEXT}", 'Verify "\N{ETX}" eq "\N{END OF TEXT}"');
412 is("\N{EOT}", "\N{END OF TRANSMISSION}", 'Verify "\N{EOT}" eq "\N{END OF TRANSMISSION}"');
413 is("\N{ENQ}", "\N{ENQUIRY}", 'Verify "\N{ENQ}" eq "\N{ENQUIRY}"');
414 is("\N{ACK}", "\N{ACKNOWLEDGE}", 'Verify "\N{ACK}" eq "\N{ACKNOWLEDGE}"');
fe3193b5 415 is("\N{BEL}", "\N{BELL}", 'Verify "\N{BEL}" eq "\N{BELL}"') if $^V lt v5.17.0;
a11a2deb
KW
416 is("\N{BS}", "\N{BACKSPACE}", 'Verify "\N{BS}" eq "\N{BACKSPACE}"');
417 is("\N{HT}", "\N{HORIZONTAL TABULATION}", 'Verify "\N{HT}" eq "\N{HORIZONTAL TABULATION}"');
418 is("\N{LF}", "\N{LINE FEED (LF)}", 'Verify "\N{LF}" eq "\N{LINE FEED (LF)}"');
419 is("\N{VT}", "\N{VERTICAL TABULATION}", 'Verify "\N{VT}" eq "\N{VERTICAL TABULATION}"');
420 is("\N{FF}", "\N{FORM FEED (FF)}", 'Verify "\N{FF}" eq "\N{FORM FEED (FF)}"');
421 is("\N{CR}", "\N{CARRIAGE RETURN (CR)}", 'Verify "\N{CR}" eq "\N{CARRIAGE RETURN (CR)}"');
422 is("\N{SO}", "\N{SHIFT OUT}", 'Verify "\N{SO}" eq "\N{SHIFT OUT}"');
423 is("\N{SI}", "\N{SHIFT IN}", 'Verify "\N{SI}" eq "\N{SHIFT IN}"');
424 is("\N{DLE}", "\N{DATA LINK ESCAPE}", 'Verify "\N{DLE}" eq "\N{DATA LINK ESCAPE}"');
425 is("\N{DC1}", "\N{DEVICE CONTROL ONE}", 'Verify "\N{DC1}" eq "\N{DEVICE CONTROL ONE}"');
426 is("\N{DC2}", "\N{DEVICE CONTROL TWO}", 'Verify "\N{DC2}" eq "\N{DEVICE CONTROL TWO}"');
427 is("\N{DC3}", "\N{DEVICE CONTROL THREE}", 'Verify "\N{DC3}" eq "\N{DEVICE CONTROL THREE}"');
428 is("\N{DC4}", "\N{DEVICE CONTROL FOUR}", 'Verify "\N{DC4}" eq "\N{DEVICE CONTROL FOUR}"');
429 is("\N{NAK}", "\N{NEGATIVE ACKNOWLEDGE}", 'Verify "\N{NAK}" eq "\N{NEGATIVE ACKNOWLEDGE}"');
430 is("\N{SYN}", "\N{SYNCHRONOUS IDLE}", 'Verify "\N{SYN}" eq "\N{SYNCHRONOUS IDLE}"');
431 is("\N{ETB}", "\N{END OF TRANSMISSION BLOCK}", 'Verify "\N{ETB}" eq "\N{END OF TRANSMISSION BLOCK}"');
432 is("\N{CAN}", "\N{CANCEL}", 'Verify "\N{CAN}" eq "\N{CANCEL}"');
433 is("\N{EOM}", "\N{END OF MEDIUM}", 'Verify "\N{EOM}" eq "\N{END OF MEDIUM}"');
434 is("\N{SUB}", "\N{SUBSTITUTE}", 'Verify "\N{SUB}" eq "\N{SUBSTITUTE}"');
435 is("\N{ESC}", "\N{ESCAPE}", 'Verify "\N{ESC}" eq "\N{ESCAPE}"');
436 is("\N{FS}", "\N{FILE SEPARATOR}", 'Verify "\N{FS}" eq "\N{FILE SEPARATOR}"');
437 is("\N{GS}", "\N{GROUP SEPARATOR}", 'Verify "\N{GS}" eq "\N{GROUP SEPARATOR}"');
438 is("\N{RS}", "\N{RECORD SEPARATOR}", 'Verify "\N{RS}" eq "\N{RECORD SEPARATOR}"');
439 is("\N{US}", "\N{UNIT SEPARATOR}", 'Verify "\N{US}" eq "\N{UNIT SEPARATOR}"');
440 is("\N{DEL}", "\N{DELETE}", 'Verify "\N{DEL}" eq "\N{DELETE}"');
441 is("\N{BPH}", "\N{BREAK PERMITTED HERE}", 'Verify "\N{BPH}" eq "\N{BREAK PERMITTED HERE}"');
442 is("\N{NBH}", "\N{NO BREAK HERE}", 'Verify "\N{NBH}" eq "\N{NO BREAK HERE}"');
443 is("\N{NEL}", "\N{NEXT LINE (NEL)}", 'Verify "\N{NEL}" eq "\N{NEXT LINE (NEL)}"');
444 is("\N{SSA}", "\N{START OF SELECTED AREA}", 'Verify "\N{SSA}" eq "\N{START OF SELECTED AREA}"');
445 is("\N{ESA}", "\N{END OF SELECTED AREA}", 'Verify "\N{ESA}" eq "\N{END OF SELECTED AREA}"');
446 is("\N{HTS}", "\N{CHARACTER TABULATION SET}", 'Verify "\N{HTS}" eq "\N{CHARACTER TABULATION SET}"');
447 is("\N{HTJ}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}", 'Verify "\N{HTJ}" eq "\N{CHARACTER TABULATION WITH JUSTIFICATION}"');
448 is("\N{VTS}", "\N{LINE TABULATION SET}", 'Verify "\N{VTS}" eq "\N{LINE TABULATION SET}"');
449 is("\N{PLD}", "\N{PARTIAL LINE FORWARD}", 'Verify "\N{PLD}" eq "\N{PARTIAL LINE FORWARD}"');
450 is("\N{PLU}", "\N{PARTIAL LINE BACKWARD}", 'Verify "\N{PLU}" eq "\N{PARTIAL LINE BACKWARD}"');
451 is("\N{RI}", "\N{REVERSE LINE FEED}", 'Verify "\N{RI}" eq "\N{REVERSE LINE FEED}"');
452 is("\N{SS2}", "\N{SINGLE SHIFT TWO}", 'Verify "\N{SS2}" eq "\N{SINGLE SHIFT TWO}"');
453 is("\N{SS3}", "\N{SINGLE SHIFT THREE}", 'Verify "\N{SS3}" eq "\N{SINGLE SHIFT THREE}"');
454 is("\N{DCS}", "\N{DEVICE CONTROL STRING}", 'Verify "\N{DCS}" eq "\N{DEVICE CONTROL STRING}"');
455 is("\N{PU1}", "\N{PRIVATE USE ONE}", 'Verify "\N{PU1}" eq "\N{PRIVATE USE ONE}"');
456 is("\N{PU2}", "\N{PRIVATE USE TWO}", 'Verify "\N{PU2}" eq "\N{PRIVATE USE TWO}"');
457 is("\N{STS}", "\N{SET TRANSMIT STATE}", 'Verify "\N{STS}" eq "\N{SET TRANSMIT STATE}"');
458 is("\N{CCH}", "\N{CANCEL CHARACTER}", 'Verify "\N{CCH}" eq "\N{CANCEL CHARACTER}"');
459 is("\N{MW}", "\N{MESSAGE WAITING}", 'Verify "\N{MW}" eq "\N{MESSAGE WAITING}"');
460 is("\N{SPA}", "\N{START OF GUARDED AREA}", 'Verify "\N{SPA}" eq "\N{START OF GUARDED AREA}"');
461 is("\N{EPA}", "\N{END OF GUARDED AREA}", 'Verify "\N{EPA}" eq "\N{END OF GUARDED AREA}"');
462 is("\N{SOS}", "\N{START OF STRING}", 'Verify "\N{SOS}" eq "\N{START OF STRING}"');
463 is("\N{SCI}", "\N{SINGLE CHARACTER INTRODUCER}", 'Verify "\N{SCI}" eq "\N{SINGLE CHARACTER INTRODUCER}"');
464 is("\N{CSI}", "\N{CONTROL SEQUENCE INTRODUCER}", 'Verify "\N{CSI}" eq "\N{CONTROL SEQUENCE INTRODUCER}"');
465 is("\N{ST}", "\N{STRING TERMINATOR}", 'Verify "\N{ST}" eq "\N{STRING TERMINATOR}"');
466 is("\N{OSC}", "\N{OPERATING SYSTEM COMMAND}", 'Verify "\N{OSC}" eq "\N{OPERATING SYSTEM COMMAND}"');
467 is("\N{PM}", "\N{PRIVACY MESSAGE}", 'Verify "\N{PM}" eq "\N{PRIVACY MESSAGE}"');
468 is("\N{APC}", "\N{APPLICATION PROGRAM COMMAND}", 'Verify "\N{APC}" eq "\N{APPLICATION PROGRAM COMMAND}"');
469 is("\N{PADDING CHARACTER}", "\N{PAD}", 'Verify "\N{PADDING CHARACTER}" eq "\N{PAD}"');
470 is("\N{HIGH OCTET PRESET}","\N{HOP}", 'Verify "\N{HIGH OCTET PRESET}" eq "\N{HOP}"');
471 is("\N{INDEX}", "\N{IND}", 'Verify "\N{INDEX}" eq "\N{IND}"');
472 is("\N{SINGLE GRAPHIC CHARACTER INTRODUCER}", "\N{SGC}", 'Verify "\N{SINGLE GRAPHIC CHARACTER INTRODUCER}" eq "\N{SGC}"');
473 is("\N{BOM}", "\N{BYTE ORDER MARK}", 'Verify "\N{BOM}" eq "\N{BYTE ORDER MARK}"');
474 is("\N{CGJ}", "\N{COMBINING GRAPHEME JOINER}", 'Verify "\N{CGJ}" eq "\N{COMBINING GRAPHEME JOINER}"');
475 is("\N{FVS1}", "\N{MONGOLIAN FREE VARIATION SELECTOR ONE}", 'Verify "\N{FVS1}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR ONE}"');
476 is("\N{FVS2}", "\N{MONGOLIAN FREE VARIATION SELECTOR TWO}", 'Verify "\N{FVS2}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR TWO}"');
477 is("\N{FVS3}", "\N{MONGOLIAN FREE VARIATION SELECTOR THREE}", 'Verify "\N{FVS3}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR THREE}"');
478 is("\N{LRE}", "\N{LEFT-TO-RIGHT EMBEDDING}", 'Verify "\N{LRE}" eq "\N{LEFT-TO-RIGHT EMBEDDING}"');
479 is("\N{LRM}", "\N{LEFT-TO-RIGHT MARK}", 'Verify "\N{LRM}" eq "\N{LEFT-TO-RIGHT MARK}"');
480 is("\N{LRO}", "\N{LEFT-TO-RIGHT OVERRIDE}", 'Verify "\N{LRO}" eq "\N{LEFT-TO-RIGHT OVERRIDE}"');
481 is("\N{MMSP}", "\N{MEDIUM MATHEMATICAL SPACE}", 'Verify "\N{MMSP}" eq "\N{MEDIUM MATHEMATICAL SPACE}"');
482 is("\N{MVS}", "\N{MONGOLIAN VOWEL SEPARATOR}", 'Verify "\N{MVS}" eq "\N{MONGOLIAN VOWEL SEPARATOR}"');
483 is("\N{NBSP}", "\N{NO-BREAK SPACE}", 'Verify "\N{NBSP}" eq "\N{NO-BREAK SPACE}"');
484 is("\N{NNBSP}", "\N{NARROW NO-BREAK SPACE}", 'Verify "\N{NNBSP}" eq "\N{NARROW NO-BREAK SPACE}"');
485 is("\N{PDF}", "\N{POP DIRECTIONAL FORMATTING}", 'Verify "\N{PDF}" eq "\N{POP DIRECTIONAL FORMATTING}"');
486 is("\N{RLE}", "\N{RIGHT-TO-LEFT EMBEDDING}", 'Verify "\N{RLE}" eq "\N{RIGHT-TO-LEFT EMBEDDING}"');
487 is("\N{RLM}", "\N{RIGHT-TO-LEFT MARK}", 'Verify "\N{RLM}" eq "\N{RIGHT-TO-LEFT MARK}"');
488 is("\N{RLO}", "\N{RIGHT-TO-LEFT OVERRIDE}", 'Verify "\N{RLO}" eq "\N{RIGHT-TO-LEFT OVERRIDE}"');
489 is("\N{SHY}", "\N{SOFT HYPHEN}", 'Verify "\N{SHY}" eq "\N{SOFT HYPHEN}"');
490 is("\N{WJ}", "\N{WORD JOINER}", 'Verify "\N{WJ}" eq "\N{WORD JOINER}"');
491 is("\N{ZWJ}", "\N{ZERO WIDTH JOINER}", 'Verify "\N{ZWJ}" eq "\N{ZERO WIDTH JOINER}"');
492 is("\N{ZWNJ}", "\N{ZERO WIDTH NON-JOINER}", 'Verify "\N{ZWNJ}" eq "\N{ZERO WIDTH NON-JOINER}"');
493 is("\N{ZWSP}", "\N{ZERO WIDTH SPACE}", 'Verify "\N{ZWSP}" eq "\N{ZERO WIDTH SPACE}"');
494 is("\N{HORIZONTAL TABULATION}", "\N{CHARACTER TABULATION}", 'Verify "\N{HORIZONTAL TABULATION}" eq "\N{CHARACTER TABULATION}"');
495 is("\N{VERTICAL TABULATION}", "\N{LINE TABULATION}", 'Verify "\N{VERTICAL TABULATION}" eq "\N{LINE TABULATION}"');
496 is("\N{FILE SEPARATOR}", "\N{INFORMATION SEPARATOR FOUR}", 'Verify "\N{FILE SEPARATOR}" eq "\N{INFORMATION SEPARATOR FOUR}"');
497 is("\N{GROUP SEPARATOR}", "\N{INFORMATION SEPARATOR THREE}", 'Verify "\N{GROUP SEPARATOR}" eq "\N{INFORMATION SEPARATOR THREE}"');
498 is("\N{RECORD SEPARATOR}", "\N{INFORMATION SEPARATOR TWO}", 'Verify "\N{RECORD SEPARATOR}" eq "\N{INFORMATION SEPARATOR TWO}"');
499 is("\N{UNIT SEPARATOR}", "\N{INFORMATION SEPARATOR ONE}", 'Verify "\N{UNIT SEPARATOR}" eq "\N{INFORMATION SEPARATOR ONE}"');
500 is("\N{HORIZONTAL TABULATION SET}", "\N{CHARACTER TABULATION SET}", 'Verify "\N{HORIZONTAL TABULATION SET}" eq "\N{CHARACTER TABULATION SET}"');
501 is("\N{HORIZONTAL TABULATION WITH JUSTIFICATION}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}", 'Verify "\N{HORIZONTAL TABULATION WITH JUSTIFICATION}" eq "\N{CHARACTER TABULATION WITH JUSTIFICATION}"');
502 is("\N{PARTIAL LINE DOWN}", "\N{PARTIAL LINE FORWARD}", 'Verify "\N{PARTIAL LINE DOWN}" eq "\N{PARTIAL LINE FORWARD}"');
503 is("\N{PARTIAL LINE UP}", "\N{PARTIAL LINE BACKWARD}", 'Verify "\N{PARTIAL LINE UP}" eq "\N{PARTIAL LINE BACKWARD}"');
504 is("\N{VERTICAL TABULATION SET}", "\N{LINE TABULATION SET}", 'Verify "\N{VERTICAL TABULATION SET}" eq "\N{LINE TABULATION SET}"');
505 is("\N{REVERSE INDEX}", "\N{REVERSE LINE FEED}", 'Verify "\N{REVERSE INDEX}" eq "\N{REVERSE LINE FEED}"');
506 is("\N{SINGLE-SHIFT 2}", "\N{SINGLE SHIFT TWO}", 'Verify "\N{SINGLE-SHIFT 2}" eq "\N{SINGLE SHIFT TWO}"');
7620cb10 507 is("\N{SINGLE-SHIFT-2}", "\N{SINGLE-SHIFT 2}", 'Verify "\N{SINGLE-SHIFT-2}" eq "\N{SINGLE SHIFT 2}"');
a11a2deb 508 is("\N{SINGLE-SHIFT 3}", "\N{SINGLE SHIFT THREE}", 'Verify "\N{SINGLE-SHIFT 3}" eq "\N{SINGLE SHIFT THREE}"');
7620cb10 509 is("\N{SINGLE-SHIFT-3}", "\N{SINGLE-SHIFT 3}", 'Verify "\N{SINGLE-SHIFT-3}" eq "\N{SINGLE SHIFT 3}"');
a11a2deb 510 is("\N{PRIVATE USE 1}", "\N{PRIVATE USE ONE}", 'Verify "\N{PRIVATE USE 1}" eq "\N{PRIVATE USE ONE}"');
7620cb10 511 is("\N{PRIVATE USE-1}", "\N{PRIVATE USE 1}", 'Verify "\N{PRIVATE USE-1}" eq "\N{PRIVATE USE 1}"');
a11a2deb 512 is("\N{PRIVATE USE 2}", "\N{PRIVATE USE TWO}", 'Verify "\N{PRIVATE USE 2}" eq "\N{PRIVATE USE TWO}"');
7620cb10 513 is("\N{PRIVATE USE-2}", "\N{PRIVATE USE 2}", 'Verify "\N{PRIVATE USE-2}" eq "\N{PRIVATE USE 2}"');
a11a2deb
KW
514 is("\N{START OF PROTECTED AREA}", "\N{START OF GUARDED AREA}", 'Verify "\N{START OF PROTECTED AREA}" eq "\N{START OF GUARDED AREA}"');
515 is("\N{END OF PROTECTED AREA}", "\N{END OF GUARDED AREA}", 'Verify "\N{END OF PROTECTED AREA}" eq "\N{END OF GUARDED AREA}"');
516 is("\N{VS1}", "\N{VARIATION SELECTOR-1}", 'Verify "\N{VS1}" eq "\N{VARIATION SELECTOR-1}"');
517 is("\N{VS2}", "\N{VARIATION SELECTOR-2}", 'Verify "\N{VS2}" eq "\N{VARIATION SELECTOR-2}"');
518 is("\N{VS3}", "\N{VARIATION SELECTOR-3}", 'Verify "\N{VS3}" eq "\N{VARIATION SELECTOR-3}"');
519 is("\N{VS4}", "\N{VARIATION SELECTOR-4}", 'Verify "\N{VS4}" eq "\N{VARIATION SELECTOR-4}"');
520 is("\N{VS5}", "\N{VARIATION SELECTOR-5}", 'Verify "\N{VS5}" eq "\N{VARIATION SELECTOR-5}"');
521 is("\N{VS6}", "\N{VARIATION SELECTOR-6}", 'Verify "\N{VS6}" eq "\N{VARIATION SELECTOR-6}"');
522 is("\N{VS7}", "\N{VARIATION SELECTOR-7}", 'Verify "\N{VS7}" eq "\N{VARIATION SELECTOR-7}"');
523 is("\N{VS8}", "\N{VARIATION SELECTOR-8}", 'Verify "\N{VS8}" eq "\N{VARIATION SELECTOR-8}"');
524 is("\N{VS9}", "\N{VARIATION SELECTOR-9}", 'Verify "\N{VS9}" eq "\N{VARIATION SELECTOR-9}"');
525 is("\N{VS10}", "\N{VARIATION SELECTOR-10}", 'Verify "\N{VS10}" eq "\N{VARIATION SELECTOR-10}"');
526 is("\N{VS11}", "\N{VARIATION SELECTOR-11}", 'Verify "\N{VS11}" eq "\N{VARIATION SELECTOR-11}"');
527 is("\N{VS12}", "\N{VARIATION SELECTOR-12}", 'Verify "\N{VS12}" eq "\N{VARIATION SELECTOR-12}"');
528 is("\N{VS13}", "\N{VARIATION SELECTOR-13}", 'Verify "\N{VS13}" eq "\N{VARIATION SELECTOR-13}"');
529 is("\N{VS14}", "\N{VARIATION SELECTOR-14}", 'Verify "\N{VS14}" eq "\N{VARIATION SELECTOR-14}"');
530 is("\N{VS15}", "\N{VARIATION SELECTOR-15}", 'Verify "\N{VS15}" eq "\N{VARIATION SELECTOR-15}"');
531 is("\N{VS16}", "\N{VARIATION SELECTOR-16}", 'Verify "\N{VS16}" eq "\N{VARIATION SELECTOR-16}"');
532 is("\N{VS17}", "\N{VARIATION SELECTOR-17}", 'Verify "\N{VS17}" eq "\N{VARIATION SELECTOR-17}"');
533 is("\N{VS18}", "\N{VARIATION SELECTOR-18}", 'Verify "\N{VS18}" eq "\N{VARIATION SELECTOR-18}"');
534 is("\N{VS19}", "\N{VARIATION SELECTOR-19}", 'Verify "\N{VS19}" eq "\N{VARIATION SELECTOR-19}"');
535 is("\N{VS20}", "\N{VARIATION SELECTOR-20}", 'Verify "\N{VS20}" eq "\N{VARIATION SELECTOR-20}"');
536 is("\N{VS21}", "\N{VARIATION SELECTOR-21}", 'Verify "\N{VS21}" eq "\N{VARIATION SELECTOR-21}"');
537 is("\N{VS22}", "\N{VARIATION SELECTOR-22}", 'Verify "\N{VS22}" eq "\N{VARIATION SELECTOR-22}"');
538 is("\N{VS23}", "\N{VARIATION SELECTOR-23}", 'Verify "\N{VS23}" eq "\N{VARIATION SELECTOR-23}"');
539 is("\N{VS24}", "\N{VARIATION SELECTOR-24}", 'Verify "\N{VS24}" eq "\N{VARIATION SELECTOR-24}"');
540 is("\N{VS25}", "\N{VARIATION SELECTOR-25}", 'Verify "\N{VS25}" eq "\N{VARIATION SELECTOR-25}"');
541 is("\N{VS26}", "\N{VARIATION SELECTOR-26}", 'Verify "\N{VS26}" eq "\N{VARIATION SELECTOR-26}"');
542 is("\N{VS27}", "\N{VARIATION SELECTOR-27}", 'Verify "\N{VS27}" eq "\N{VARIATION SELECTOR-27}"');
543 is("\N{VS28}", "\N{VARIATION SELECTOR-28}", 'Verify "\N{VS28}" eq "\N{VARIATION SELECTOR-28}"');
544 is("\N{VS29}", "\N{VARIATION SELECTOR-29}", 'Verify "\N{VS29}" eq "\N{VARIATION SELECTOR-29}"');
545 is("\N{VS30}", "\N{VARIATION SELECTOR-30}", 'Verify "\N{VS30}" eq "\N{VARIATION SELECTOR-30}"');
546 is("\N{VS31}", "\N{VARIATION SELECTOR-31}", 'Verify "\N{VS31}" eq "\N{VARIATION SELECTOR-31}"');
547 is("\N{VS32}", "\N{VARIATION SELECTOR-32}", 'Verify "\N{VS32}" eq "\N{VARIATION SELECTOR-32}"');
548 is("\N{VS33}", "\N{VARIATION SELECTOR-33}", 'Verify "\N{VS33}" eq "\N{VARIATION SELECTOR-33}"');
549 is("\N{VS34}", "\N{VARIATION SELECTOR-34}", 'Verify "\N{VS34}" eq "\N{VARIATION SELECTOR-34}"');
550 is("\N{VS35}", "\N{VARIATION SELECTOR-35}", 'Verify "\N{VS35}" eq "\N{VARIATION SELECTOR-35}"');
551 is("\N{VS36}", "\N{VARIATION SELECTOR-36}", 'Verify "\N{VS36}" eq "\N{VARIATION SELECTOR-36}"');
552 is("\N{VS37}", "\N{VARIATION SELECTOR-37}", 'Verify "\N{VS37}" eq "\N{VARIATION SELECTOR-37}"');
553 is("\N{VS38}", "\N{VARIATION SELECTOR-38}", 'Verify "\N{VS38}" eq "\N{VARIATION SELECTOR-38}"');
554 is("\N{VS39}", "\N{VARIATION SELECTOR-39}", 'Verify "\N{VS39}" eq "\N{VARIATION SELECTOR-39}"');
555 is("\N{VS40}", "\N{VARIATION SELECTOR-40}", 'Verify "\N{VS40}" eq "\N{VARIATION SELECTOR-40}"');
556 is("\N{VS41}", "\N{VARIATION SELECTOR-41}", 'Verify "\N{VS41}" eq "\N{VARIATION SELECTOR-41}"');
557 is("\N{VS42}", "\N{VARIATION SELECTOR-42}", 'Verify "\N{VS42}" eq "\N{VARIATION SELECTOR-42}"');
558 is("\N{VS43}", "\N{VARIATION SELECTOR-43}", 'Verify "\N{VS43}" eq "\N{VARIATION SELECTOR-43}"');
559 is("\N{VS44}", "\N{VARIATION SELECTOR-44}", 'Verify "\N{VS44}" eq "\N{VARIATION SELECTOR-44}"');
560 is("\N{VS45}", "\N{VARIATION SELECTOR-45}", 'Verify "\N{VS45}" eq "\N{VARIATION SELECTOR-45}"');
561 is("\N{VS46}", "\N{VARIATION SELECTOR-46}", 'Verify "\N{VS46}" eq "\N{VARIATION SELECTOR-46}"');
562 is("\N{VS47}", "\N{VARIATION SELECTOR-47}", 'Verify "\N{VS47}" eq "\N{VARIATION SELECTOR-47}"');
563 is("\N{VS48}", "\N{VARIATION SELECTOR-48}", 'Verify "\N{VS48}" eq "\N{VARIATION SELECTOR-48}"');
564 is("\N{VS49}", "\N{VARIATION SELECTOR-49}", 'Verify "\N{VS49}" eq "\N{VARIATION SELECTOR-49}"');
565 is("\N{VS50}", "\N{VARIATION SELECTOR-50}", 'Verify "\N{VS50}" eq "\N{VARIATION SELECTOR-50}"');
566 is("\N{VS51}", "\N{VARIATION SELECTOR-51}", 'Verify "\N{VS51}" eq "\N{VARIATION SELECTOR-51}"');
567 is("\N{VS52}", "\N{VARIATION SELECTOR-52}", 'Verify "\N{VS52}" eq "\N{VARIATION SELECTOR-52}"');
568 is("\N{VS53}", "\N{VARIATION SELECTOR-53}", 'Verify "\N{VS53}" eq "\N{VARIATION SELECTOR-53}"');
569 is("\N{VS54}", "\N{VARIATION SELECTOR-54}", 'Verify "\N{VS54}" eq "\N{VARIATION SELECTOR-54}"');
570 is("\N{VS55}", "\N{VARIATION SELECTOR-55}", 'Verify "\N{VS55}" eq "\N{VARIATION SELECTOR-55}"');
571 is("\N{VS56}", "\N{VARIATION SELECTOR-56}", 'Verify "\N{VS56}" eq "\N{VARIATION SELECTOR-56}"');
572 is("\N{VS57}", "\N{VARIATION SELECTOR-57}", 'Verify "\N{VS57}" eq "\N{VARIATION SELECTOR-57}"');
573 is("\N{VS58}", "\N{VARIATION SELECTOR-58}", 'Verify "\N{VS58}" eq "\N{VARIATION SELECTOR-58}"');
574 is("\N{VS59}", "\N{VARIATION SELECTOR-59}", 'Verify "\N{VS59}" eq "\N{VARIATION SELECTOR-59}"');
575 is("\N{VS60}", "\N{VARIATION SELECTOR-60}", 'Verify "\N{VS60}" eq "\N{VARIATION SELECTOR-60}"');
576 is("\N{VS61}", "\N{VARIATION SELECTOR-61}", 'Verify "\N{VS61}" eq "\N{VARIATION SELECTOR-61}"');
577 is("\N{VS62}", "\N{VARIATION SELECTOR-62}", 'Verify "\N{VS62}" eq "\N{VARIATION SELECTOR-62}"');
578 is("\N{VS63}", "\N{VARIATION SELECTOR-63}", 'Verify "\N{VS63}" eq "\N{VARIATION SELECTOR-63}"');
579 is("\N{VS64}", "\N{VARIATION SELECTOR-64}", 'Verify "\N{VS64}" eq "\N{VARIATION SELECTOR-64}"');
580 is("\N{VS65}", "\N{VARIATION SELECTOR-65}", 'Verify "\N{VS65}" eq "\N{VARIATION SELECTOR-65}"');
581 is("\N{VS66}", "\N{VARIATION SELECTOR-66}", 'Verify "\N{VS66}" eq "\N{VARIATION SELECTOR-66}"');
582 is("\N{VS67}", "\N{VARIATION SELECTOR-67}", 'Verify "\N{VS67}" eq "\N{VARIATION SELECTOR-67}"');
583 is("\N{VS68}", "\N{VARIATION SELECTOR-68}", 'Verify "\N{VS68}" eq "\N{VARIATION SELECTOR-68}"');
584 is("\N{VS69}", "\N{VARIATION SELECTOR-69}", 'Verify "\N{VS69}" eq "\N{VARIATION SELECTOR-69}"');
585 is("\N{VS70}", "\N{VARIATION SELECTOR-70}", 'Verify "\N{VS70}" eq "\N{VARIATION SELECTOR-70}"');
586 is("\N{VS71}", "\N{VARIATION SELECTOR-71}", 'Verify "\N{VS71}" eq "\N{VARIATION SELECTOR-71}"');
587 is("\N{VS72}", "\N{VARIATION SELECTOR-72}", 'Verify "\N{VS72}" eq "\N{VARIATION SELECTOR-72}"');
588 is("\N{VS73}", "\N{VARIATION SELECTOR-73}", 'Verify "\N{VS73}" eq "\N{VARIATION SELECTOR-73}"');
589 is("\N{VS74}", "\N{VARIATION SELECTOR-74}", 'Verify "\N{VS74}" eq "\N{VARIATION SELECTOR-74}"');
590 is("\N{VS75}", "\N{VARIATION SELECTOR-75}", 'Verify "\N{VS75}" eq "\N{VARIATION SELECTOR-75}"');
591 is("\N{VS76}", "\N{VARIATION SELECTOR-76}", 'Verify "\N{VS76}" eq "\N{VARIATION SELECTOR-76}"');
592 is("\N{VS77}", "\N{VARIATION SELECTOR-77}", 'Verify "\N{VS77}" eq "\N{VARIATION SELECTOR-77}"');
593 is("\N{VS78}", "\N{VARIATION SELECTOR-78}", 'Verify "\N{VS78}" eq "\N{VARIATION SELECTOR-78}"');
594 is("\N{VS79}", "\N{VARIATION SELECTOR-79}", 'Verify "\N{VS79}" eq "\N{VARIATION SELECTOR-79}"');
595 is("\N{VS80}", "\N{VARIATION SELECTOR-80}", 'Verify "\N{VS80}" eq "\N{VARIATION SELECTOR-80}"');
596 is("\N{VS81}", "\N{VARIATION SELECTOR-81}", 'Verify "\N{VS81}" eq "\N{VARIATION SELECTOR-81}"');
597 is("\N{VS82}", "\N{VARIATION SELECTOR-82}", 'Verify "\N{VS82}" eq "\N{VARIATION SELECTOR-82}"');
598 is("\N{VS83}", "\N{VARIATION SELECTOR-83}", 'Verify "\N{VS83}" eq "\N{VARIATION SELECTOR-83}"');
599 is("\N{VS84}", "\N{VARIATION SELECTOR-84}", 'Verify "\N{VS84}" eq "\N{VARIATION SELECTOR-84}"');
600 is("\N{VS85}", "\N{VARIATION SELECTOR-85}", 'Verify "\N{VS85}" eq "\N{VARIATION SELECTOR-85}"');
601 is("\N{VS86}", "\N{VARIATION SELECTOR-86}", 'Verify "\N{VS86}" eq "\N{VARIATION SELECTOR-86}"');
602 is("\N{VS87}", "\N{VARIATION SELECTOR-87}", 'Verify "\N{VS87}" eq "\N{VARIATION SELECTOR-87}"');
603 is("\N{VS88}", "\N{VARIATION SELECTOR-88}", 'Verify "\N{VS88}" eq "\N{VARIATION SELECTOR-88}"');
604 is("\N{VS89}", "\N{VARIATION SELECTOR-89}", 'Verify "\N{VS89}" eq "\N{VARIATION SELECTOR-89}"');
605 is("\N{VS90}", "\N{VARIATION SELECTOR-90}", 'Verify "\N{VS90}" eq "\N{VARIATION SELECTOR-90}"');
606 is("\N{VS91}", "\N{VARIATION SELECTOR-91}", 'Verify "\N{VS91}" eq "\N{VARIATION SELECTOR-91}"');
607 is("\N{VS92}", "\N{VARIATION SELECTOR-92}", 'Verify "\N{VS92}" eq "\N{VARIATION SELECTOR-92}"');
608 is("\N{VS93}", "\N{VARIATION SELECTOR-93}", 'Verify "\N{VS93}" eq "\N{VARIATION SELECTOR-93}"');
609 is("\N{VS94}", "\N{VARIATION SELECTOR-94}", 'Verify "\N{VS94}" eq "\N{VARIATION SELECTOR-94}"');
610 is("\N{VS95}", "\N{VARIATION SELECTOR-95}", 'Verify "\N{VS95}" eq "\N{VARIATION SELECTOR-95}"');
611 is("\N{VS96}", "\N{VARIATION SELECTOR-96}", 'Verify "\N{VS96}" eq "\N{VARIATION SELECTOR-96}"');
612 is("\N{VS97}", "\N{VARIATION SELECTOR-97}", 'Verify "\N{VS97}" eq "\N{VARIATION SELECTOR-97}"');
613 is("\N{VS98}", "\N{VARIATION SELECTOR-98}", 'Verify "\N{VS98}" eq "\N{VARIATION SELECTOR-98}"');
614 is("\N{VS99}", "\N{VARIATION SELECTOR-99}", 'Verify "\N{VS99}" eq "\N{VARIATION SELECTOR-99}"');
615 is("\N{VS100}", "\N{VARIATION SELECTOR-100}", 'Verify "\N{VS100}" eq "\N{VARIATION SELECTOR-100}"');
616 is("\N{VS101}", "\N{VARIATION SELECTOR-101}", 'Verify "\N{VS101}" eq "\N{VARIATION SELECTOR-101}"');
617 is("\N{VS102}", "\N{VARIATION SELECTOR-102}", 'Verify "\N{VS102}" eq "\N{VARIATION SELECTOR-102}"');
618 is("\N{VS103}", "\N{VARIATION SELECTOR-103}", 'Verify "\N{VS103}" eq "\N{VARIATION SELECTOR-103}"');
619 is("\N{VS104}", "\N{VARIATION SELECTOR-104}", 'Verify "\N{VS104}" eq "\N{VARIATION SELECTOR-104}"');
620 is("\N{VS105}", "\N{VARIATION SELECTOR-105}", 'Verify "\N{VS105}" eq "\N{VARIATION SELECTOR-105}"');
621 is("\N{VS106}", "\N{VARIATION SELECTOR-106}", 'Verify "\N{VS106}" eq "\N{VARIATION SELECTOR-106}"');
622 is("\N{VS107}", "\N{VARIATION SELECTOR-107}", 'Verify "\N{VS107}" eq "\N{VARIATION SELECTOR-107}"');
623 is("\N{VS108}", "\N{VARIATION SELECTOR-108}", 'Verify "\N{VS108}" eq "\N{VARIATION SELECTOR-108}"');
624 is("\N{VS109}", "\N{VARIATION SELECTOR-109}", 'Verify "\N{VS109}" eq "\N{VARIATION SELECTOR-109}"');
625 is("\N{VS110}", "\N{VARIATION SELECTOR-110}", 'Verify "\N{VS110}" eq "\N{VARIATION SELECTOR-110}"');
626 is("\N{VS111}", "\N{VARIATION SELECTOR-111}", 'Verify "\N{VS111}" eq "\N{VARIATION SELECTOR-111}"');
627 is("\N{VS112}", "\N{VARIATION SELECTOR-112}", 'Verify "\N{VS112}" eq "\N{VARIATION SELECTOR-112}"');
628 is("\N{VS113}", "\N{VARIATION SELECTOR-113}", 'Verify "\N{VS113}" eq "\N{VARIATION SELECTOR-113}"');
629 is("\N{VS114}", "\N{VARIATION SELECTOR-114}", 'Verify "\N{VS114}" eq "\N{VARIATION SELECTOR-114}"');
630 is("\N{VS115}", "\N{VARIATION SELECTOR-115}", 'Verify "\N{VS115}" eq "\N{VARIATION SELECTOR-115}"');
631 is("\N{VS116}", "\N{VARIATION SELECTOR-116}", 'Verify "\N{VS116}" eq "\N{VARIATION SELECTOR-116}"');
632 is("\N{VS117}", "\N{VARIATION SELECTOR-117}", 'Verify "\N{VS117}" eq "\N{VARIATION SELECTOR-117}"');
633 is("\N{VS118}", "\N{VARIATION SELECTOR-118}", 'Verify "\N{VS118}" eq "\N{VARIATION SELECTOR-118}"');
634 is("\N{VS119}", "\N{VARIATION SELECTOR-119}", 'Verify "\N{VS119}" eq "\N{VARIATION SELECTOR-119}"');
635 is("\N{VS120}", "\N{VARIATION SELECTOR-120}", 'Verify "\N{VS120}" eq "\N{VARIATION SELECTOR-120}"');
636 is("\N{VS121}", "\N{VARIATION SELECTOR-121}", 'Verify "\N{VS121}" eq "\N{VARIATION SELECTOR-121}"');
637 is("\N{VS122}", "\N{VARIATION SELECTOR-122}", 'Verify "\N{VS122}" eq "\N{VARIATION SELECTOR-122}"');
638 is("\N{VS123}", "\N{VARIATION SELECTOR-123}", 'Verify "\N{VS123}" eq "\N{VARIATION SELECTOR-123}"');
639 is("\N{VS124}", "\N{VARIATION SELECTOR-124}", 'Verify "\N{VS124}" eq "\N{VARIATION SELECTOR-124}"');
640 is("\N{VS125}", "\N{VARIATION SELECTOR-125}", 'Verify "\N{VS125}" eq "\N{VARIATION SELECTOR-125}"');
641 is("\N{VS126}", "\N{VARIATION SELECTOR-126}", 'Verify "\N{VS126}" eq "\N{VARIATION SELECTOR-126}"');
642 is("\N{VS127}", "\N{VARIATION SELECTOR-127}", 'Verify "\N{VS127}" eq "\N{VARIATION SELECTOR-127}"');
643 is("\N{VS128}", "\N{VARIATION SELECTOR-128}", 'Verify "\N{VS128}" eq "\N{VARIATION SELECTOR-128}"');
644 is("\N{VS129}", "\N{VARIATION SELECTOR-129}", 'Verify "\N{VS129}" eq "\N{VARIATION SELECTOR-129}"');
645 is("\N{VS130}", "\N{VARIATION SELECTOR-130}", 'Verify "\N{VS130}" eq "\N{VARIATION SELECTOR-130}"');
646 is("\N{VS131}", "\N{VARIATION SELECTOR-131}", 'Verify "\N{VS131}" eq "\N{VARIATION SELECTOR-131}"');
647 is("\N{VS132}", "\N{VARIATION SELECTOR-132}", 'Verify "\N{VS132}" eq "\N{VARIATION SELECTOR-132}"');
648 is("\N{VS133}", "\N{VARIATION SELECTOR-133}", 'Verify "\N{VS133}" eq "\N{VARIATION SELECTOR-133}"');
649 is("\N{VS134}", "\N{VARIATION SELECTOR-134}", 'Verify "\N{VS134}" eq "\N{VARIATION SELECTOR-134}"');
650 is("\N{VS135}", "\N{VARIATION SELECTOR-135}", 'Verify "\N{VS135}" eq "\N{VARIATION SELECTOR-135}"');
651 is("\N{VS136}", "\N{VARIATION SELECTOR-136}", 'Verify "\N{VS136}" eq "\N{VARIATION SELECTOR-136}"');
652 is("\N{VS137}", "\N{VARIATION SELECTOR-137}", 'Verify "\N{VS137}" eq "\N{VARIATION SELECTOR-137}"');
653 is("\N{VS138}", "\N{VARIATION SELECTOR-138}", 'Verify "\N{VS138}" eq "\N{VARIATION SELECTOR-138}"');
654 is("\N{VS139}", "\N{VARIATION SELECTOR-139}", 'Verify "\N{VS139}" eq "\N{VARIATION SELECTOR-139}"');
655 is("\N{VS140}", "\N{VARIATION SELECTOR-140}", 'Verify "\N{VS140}" eq "\N{VARIATION SELECTOR-140}"');
656 is("\N{VS141}", "\N{VARIATION SELECTOR-141}", 'Verify "\N{VS141}" eq "\N{VARIATION SELECTOR-141}"');
657 is("\N{VS142}", "\N{VARIATION SELECTOR-142}", 'Verify "\N{VS142}" eq "\N{VARIATION SELECTOR-142}"');
658 is("\N{VS143}", "\N{VARIATION SELECTOR-143}", 'Verify "\N{VS143}" eq "\N{VARIATION SELECTOR-143}"');
659 is("\N{VS144}", "\N{VARIATION SELECTOR-144}", 'Verify "\N{VS144}" eq "\N{VARIATION SELECTOR-144}"');
660 is("\N{VS145}", "\N{VARIATION SELECTOR-145}", 'Verify "\N{VS145}" eq "\N{VARIATION SELECTOR-145}"');
661 is("\N{VS146}", "\N{VARIATION SELECTOR-146}", 'Verify "\N{VS146}" eq "\N{VARIATION SELECTOR-146}"');
662 is("\N{VS147}", "\N{VARIATION SELECTOR-147}", 'Verify "\N{VS147}" eq "\N{VARIATION SELECTOR-147}"');
663 is("\N{VS148}", "\N{VARIATION SELECTOR-148}", 'Verify "\N{VS148}" eq "\N{VARIATION SELECTOR-148}"');
664 is("\N{VS149}", "\N{VARIATION SELECTOR-149}", 'Verify "\N{VS149}" eq "\N{VARIATION SELECTOR-149}"');
665 is("\N{VS150}", "\N{VARIATION SELECTOR-150}", 'Verify "\N{VS150}" eq "\N{VARIATION SELECTOR-150}"');
666 is("\N{VS151}", "\N{VARIATION SELECTOR-151}", 'Verify "\N{VS151}" eq "\N{VARIATION SELECTOR-151}"');
667 is("\N{VS152}", "\N{VARIATION SELECTOR-152}", 'Verify "\N{VS152}" eq "\N{VARIATION SELECTOR-152}"');
668 is("\N{VS153}", "\N{VARIATION SELECTOR-153}", 'Verify "\N{VS153}" eq "\N{VARIATION SELECTOR-153}"');
669 is("\N{VS154}", "\N{VARIATION SELECTOR-154}", 'Verify "\N{VS154}" eq "\N{VARIATION SELECTOR-154}"');
670 is("\N{VS155}", "\N{VARIATION SELECTOR-155}", 'Verify "\N{VS155}" eq "\N{VARIATION SELECTOR-155}"');
671 is("\N{VS156}", "\N{VARIATION SELECTOR-156}", 'Verify "\N{VS156}" eq "\N{VARIATION SELECTOR-156}"');
672 is("\N{VS157}", "\N{VARIATION SELECTOR-157}", 'Verify "\N{VS157}" eq "\N{VARIATION SELECTOR-157}"');
673 is("\N{VS158}", "\N{VARIATION SELECTOR-158}", 'Verify "\N{VS158}" eq "\N{VARIATION SELECTOR-158}"');
674 is("\N{VS159}", "\N{VARIATION SELECTOR-159}", 'Verify "\N{VS159}" eq "\N{VARIATION SELECTOR-159}"');
675 is("\N{VS160}", "\N{VARIATION SELECTOR-160}", 'Verify "\N{VS160}" eq "\N{VARIATION SELECTOR-160}"');
676 is("\N{VS161}", "\N{VARIATION SELECTOR-161}", 'Verify "\N{VS161}" eq "\N{VARIATION SELECTOR-161}"');
677 is("\N{VS162}", "\N{VARIATION SELECTOR-162}", 'Verify "\N{VS162}" eq "\N{VARIATION SELECTOR-162}"');
678 is("\N{VS163}", "\N{VARIATION SELECTOR-163}", 'Verify "\N{VS163}" eq "\N{VARIATION SELECTOR-163}"');
679 is("\N{VS164}", "\N{VARIATION SELECTOR-164}", 'Verify "\N{VS164}" eq "\N{VARIATION SELECTOR-164}"');
680 is("\N{VS165}", "\N{VARIATION SELECTOR-165}", 'Verify "\N{VS165}" eq "\N{VARIATION SELECTOR-165}"');
681 is("\N{VS166}", "\N{VARIATION SELECTOR-166}", 'Verify "\N{VS166}" eq "\N{VARIATION SELECTOR-166}"');
682 is("\N{VS167}", "\N{VARIATION SELECTOR-167}", 'Verify "\N{VS167}" eq "\N{VARIATION SELECTOR-167}"');
683 is("\N{VS168}", "\N{VARIATION SELECTOR-168}", 'Verify "\N{VS168}" eq "\N{VARIATION SELECTOR-168}"');
684 is("\N{VS169}", "\N{VARIATION SELECTOR-169}", 'Verify "\N{VS169}" eq "\N{VARIATION SELECTOR-169}"');
685 is("\N{VS170}", "\N{VARIATION SELECTOR-170}", 'Verify "\N{VS170}" eq "\N{VARIATION SELECTOR-170}"');
686 is("\N{VS171}", "\N{VARIATION SELECTOR-171}", 'Verify "\N{VS171}" eq "\N{VARIATION SELECTOR-171}"');
687 is("\N{VS172}", "\N{VARIATION SELECTOR-172}", 'Verify "\N{VS172}" eq "\N{VARIATION SELECTOR-172}"');
688 is("\N{VS173}", "\N{VARIATION SELECTOR-173}", 'Verify "\N{VS173}" eq "\N{VARIATION SELECTOR-173}"');
689 is("\N{VS174}", "\N{VARIATION SELECTOR-174}", 'Verify "\N{VS174}" eq "\N{VARIATION SELECTOR-174}"');
690 is("\N{VS175}", "\N{VARIATION SELECTOR-175}", 'Verify "\N{VS175}" eq "\N{VARIATION SELECTOR-175}"');
691 is("\N{VS176}", "\N{VARIATION SELECTOR-176}", 'Verify "\N{VS176}" eq "\N{VARIATION SELECTOR-176}"');
692 is("\N{VS177}", "\N{VARIATION SELECTOR-177}", 'Verify "\N{VS177}" eq "\N{VARIATION SELECTOR-177}"');
693 is("\N{VS178}", "\N{VARIATION SELECTOR-178}", 'Verify "\N{VS178}" eq "\N{VARIATION SELECTOR-178}"');
694 is("\N{VS179}", "\N{VARIATION SELECTOR-179}", 'Verify "\N{VS179}" eq "\N{VARIATION SELECTOR-179}"');
695 is("\N{VS180}", "\N{VARIATION SELECTOR-180}", 'Verify "\N{VS180}" eq "\N{VARIATION SELECTOR-180}"');
696 is("\N{VS181}", "\N{VARIATION SELECTOR-181}", 'Verify "\N{VS181}" eq "\N{VARIATION SELECTOR-181}"');
697 is("\N{VS182}", "\N{VARIATION SELECTOR-182}", 'Verify "\N{VS182}" eq "\N{VARIATION SELECTOR-182}"');
698 is("\N{VS183}", "\N{VARIATION SELECTOR-183}", 'Verify "\N{VS183}" eq "\N{VARIATION SELECTOR-183}"');
699 is("\N{VS184}", "\N{VARIATION SELECTOR-184}", 'Verify "\N{VS184}" eq "\N{VARIATION SELECTOR-184}"');
700 is("\N{VS185}", "\N{VARIATION SELECTOR-185}", 'Verify "\N{VS185}" eq "\N{VARIATION SELECTOR-185}"');
701 is("\N{VS186}", "\N{VARIATION SELECTOR-186}", 'Verify "\N{VS186}" eq "\N{VARIATION SELECTOR-186}"');
702 is("\N{VS187}", "\N{VARIATION SELECTOR-187}", 'Verify "\N{VS187}" eq "\N{VARIATION SELECTOR-187}"');
703 is("\N{VS188}", "\N{VARIATION SELECTOR-188}", 'Verify "\N{VS188}" eq "\N{VARIATION SELECTOR-188}"');
704 is("\N{VS189}", "\N{VARIATION SELECTOR-189}", 'Verify "\N{VS189}" eq "\N{VARIATION SELECTOR-189}"');
705 is("\N{VS190}", "\N{VARIATION SELECTOR-190}", 'Verify "\N{VS190}" eq "\N{VARIATION SELECTOR-190}"');
706 is("\N{VS191}", "\N{VARIATION SELECTOR-191}", 'Verify "\N{VS191}" eq "\N{VARIATION SELECTOR-191}"');
707 is("\N{VS192}", "\N{VARIATION SELECTOR-192}", 'Verify "\N{VS192}" eq "\N{VARIATION SELECTOR-192}"');
708 is("\N{VS193}", "\N{VARIATION SELECTOR-193}", 'Verify "\N{VS193}" eq "\N{VARIATION SELECTOR-193}"');
709 is("\N{VS194}", "\N{VARIATION SELECTOR-194}", 'Verify "\N{VS194}" eq "\N{VARIATION SELECTOR-194}"');
710 is("\N{VS195}", "\N{VARIATION SELECTOR-195}", 'Verify "\N{VS195}" eq "\N{VARIATION SELECTOR-195}"');
711 is("\N{VS196}", "\N{VARIATION SELECTOR-196}", 'Verify "\N{VS196}" eq "\N{VARIATION SELECTOR-196}"');
712 is("\N{VS197}", "\N{VARIATION SELECTOR-197}", 'Verify "\N{VS197}" eq "\N{VARIATION SELECTOR-197}"');
713 is("\N{VS198}", "\N{VARIATION SELECTOR-198}", 'Verify "\N{VS198}" eq "\N{VARIATION SELECTOR-198}"');
714 is("\N{VS199}", "\N{VARIATION SELECTOR-199}", 'Verify "\N{VS199}" eq "\N{VARIATION SELECTOR-199}"');
715 is("\N{VS200}", "\N{VARIATION SELECTOR-200}", 'Verify "\N{VS200}" eq "\N{VARIATION SELECTOR-200}"');
716 is("\N{VS201}", "\N{VARIATION SELECTOR-201}", 'Verify "\N{VS201}" eq "\N{VARIATION SELECTOR-201}"');
717 is("\N{VS202}", "\N{VARIATION SELECTOR-202}", 'Verify "\N{VS202}" eq "\N{VARIATION SELECTOR-202}"');
718 is("\N{VS203}", "\N{VARIATION SELECTOR-203}", 'Verify "\N{VS203}" eq "\N{VARIATION SELECTOR-203}"');
719 is("\N{VS204}", "\N{VARIATION SELECTOR-204}", 'Verify "\N{VS204}" eq "\N{VARIATION SELECTOR-204}"');
720 is("\N{VS205}", "\N{VARIATION SELECTOR-205}", 'Verify "\N{VS205}" eq "\N{VARIATION SELECTOR-205}"');
721 is("\N{VS206}", "\N{VARIATION SELECTOR-206}", 'Verify "\N{VS206}" eq "\N{VARIATION SELECTOR-206}"');
722 is("\N{VS207}", "\N{VARIATION SELECTOR-207}", 'Verify "\N{VS207}" eq "\N{VARIATION SELECTOR-207}"');
723 is("\N{VS208}", "\N{VARIATION SELECTOR-208}", 'Verify "\N{VS208}" eq "\N{VARIATION SELECTOR-208}"');
724 is("\N{VS209}", "\N{VARIATION SELECTOR-209}", 'Verify "\N{VS209}" eq "\N{VARIATION SELECTOR-209}"');
725 is("\N{VS210}", "\N{VARIATION SELECTOR-210}", 'Verify "\N{VS210}" eq "\N{VARIATION SELECTOR-210}"');
726 is("\N{VS211}", "\N{VARIATION SELECTOR-211}", 'Verify "\N{VS211}" eq "\N{VARIATION SELECTOR-211}"');
727 is("\N{VS212}", "\N{VARIATION SELECTOR-212}", 'Verify "\N{VS212}" eq "\N{VARIATION SELECTOR-212}"');
728 is("\N{VS213}", "\N{VARIATION SELECTOR-213}", 'Verify "\N{VS213}" eq "\N{VARIATION SELECTOR-213}"');
729 is("\N{VS214}", "\N{VARIATION SELECTOR-214}", 'Verify "\N{VS214}" eq "\N{VARIATION SELECTOR-214}"');
730 is("\N{VS215}", "\N{VARIATION SELECTOR-215}", 'Verify "\N{VS215}" eq "\N{VARIATION SELECTOR-215}"');
731 is("\N{VS216}", "\N{VARIATION SELECTOR-216}", 'Verify "\N{VS216}" eq "\N{VARIATION SELECTOR-216}"');
732 is("\N{VS217}", "\N{VARIATION SELECTOR-217}", 'Verify "\N{VS217}" eq "\N{VARIATION SELECTOR-217}"');
733 is("\N{VS218}", "\N{VARIATION SELECTOR-218}", 'Verify "\N{VS218}" eq "\N{VARIATION SELECTOR-218}"');
734 is("\N{VS219}", "\N{VARIATION SELECTOR-219}", 'Verify "\N{VS219}" eq "\N{VARIATION SELECTOR-219}"');
735 is("\N{VS220}", "\N{VARIATION SELECTOR-220}", 'Verify "\N{VS220}" eq "\N{VARIATION SELECTOR-220}"');
736 is("\N{VS221}", "\N{VARIATION SELECTOR-221}", 'Verify "\N{VS221}" eq "\N{VARIATION SELECTOR-221}"');
737 is("\N{VS222}", "\N{VARIATION SELECTOR-222}", 'Verify "\N{VS222}" eq "\N{VARIATION SELECTOR-222}"');
738 is("\N{VS223}", "\N{VARIATION SELECTOR-223}", 'Verify "\N{VS223}" eq "\N{VARIATION SELECTOR-223}"');
739 is("\N{VS224}", "\N{VARIATION SELECTOR-224}", 'Verify "\N{VS224}" eq "\N{VARIATION SELECTOR-224}"');
740 is("\N{VS225}", "\N{VARIATION SELECTOR-225}", 'Verify "\N{VS225}" eq "\N{VARIATION SELECTOR-225}"');
741 is("\N{VS226}", "\N{VARIATION SELECTOR-226}", 'Verify "\N{VS226}" eq "\N{VARIATION SELECTOR-226}"');
742 is("\N{VS227}", "\N{VARIATION SELECTOR-227}", 'Verify "\N{VS227}" eq "\N{VARIATION SELECTOR-227}"');
743 is("\N{VS228}", "\N{VARIATION SELECTOR-228}", 'Verify "\N{VS228}" eq "\N{VARIATION SELECTOR-228}"');
744 is("\N{VS229}", "\N{VARIATION SELECTOR-229}", 'Verify "\N{VS229}" eq "\N{VARIATION SELECTOR-229}"');
745 is("\N{VS230}", "\N{VARIATION SELECTOR-230}", 'Verify "\N{VS230}" eq "\N{VARIATION SELECTOR-230}"');
746 is("\N{VS231}", "\N{VARIATION SELECTOR-231}", 'Verify "\N{VS231}" eq "\N{VARIATION SELECTOR-231}"');
747 is("\N{VS232}", "\N{VARIATION SELECTOR-232}", 'Verify "\N{VS232}" eq "\N{VARIATION SELECTOR-232}"');
748 is("\N{VS233}", "\N{VARIATION SELECTOR-233}", 'Verify "\N{VS233}" eq "\N{VARIATION SELECTOR-233}"');
749 is("\N{VS234}", "\N{VARIATION SELECTOR-234}", 'Verify "\N{VS234}" eq "\N{VARIATION SELECTOR-234}"');
750 is("\N{VS235}", "\N{VARIATION SELECTOR-235}", 'Verify "\N{VS235}" eq "\N{VARIATION SELECTOR-235}"');
751 is("\N{VS236}", "\N{VARIATION SELECTOR-236}", 'Verify "\N{VS236}" eq "\N{VARIATION SELECTOR-236}"');
752 is("\N{VS237}", "\N{VARIATION SELECTOR-237}", 'Verify "\N{VS237}" eq "\N{VARIATION SELECTOR-237}"');
753 is("\N{VS238}", "\N{VARIATION SELECTOR-238}", 'Verify "\N{VS238}" eq "\N{VARIATION SELECTOR-238}"');
754 is("\N{VS239}", "\N{VARIATION SELECTOR-239}", 'Verify "\N{VS239}" eq "\N{VARIATION SELECTOR-239}"');
755 is("\N{VS240}", "\N{VARIATION SELECTOR-240}", 'Verify "\N{VS240}" eq "\N{VARIATION SELECTOR-240}"');
756 is("\N{VS241}", "\N{VARIATION SELECTOR-241}", 'Verify "\N{VS241}" eq "\N{VARIATION SELECTOR-241}"');
757 is("\N{VS242}", "\N{VARIATION SELECTOR-242}", 'Verify "\N{VS242}" eq "\N{VARIATION SELECTOR-242}"');
758 is("\N{VS243}", "\N{VARIATION SELECTOR-243}", 'Verify "\N{VS243}" eq "\N{VARIATION SELECTOR-243}"');
759 is("\N{VS244}", "\N{VARIATION SELECTOR-244}", 'Verify "\N{VS244}" eq "\N{VARIATION SELECTOR-244}"');
760 is("\N{VS245}", "\N{VARIATION SELECTOR-245}", 'Verify "\N{VS245}" eq "\N{VARIATION SELECTOR-245}"');
761 is("\N{VS246}", "\N{VARIATION SELECTOR-246}", 'Verify "\N{VS246}" eq "\N{VARIATION SELECTOR-246}"');
762 is("\N{VS247}", "\N{VARIATION SELECTOR-247}", 'Verify "\N{VS247}" eq "\N{VARIATION SELECTOR-247}"');
763 is("\N{VS248}", "\N{VARIATION SELECTOR-248}", 'Verify "\N{VS248}" eq "\N{VARIATION SELECTOR-248}"');
764 is("\N{VS249}", "\N{VARIATION SELECTOR-249}", 'Verify "\N{VS249}" eq "\N{VARIATION SELECTOR-249}"');
765 is("\N{VS250}", "\N{VARIATION SELECTOR-250}", 'Verify "\N{VS250}" eq "\N{VARIATION SELECTOR-250}"');
766 is("\N{VS251}", "\N{VARIATION SELECTOR-251}", 'Verify "\N{VS251}" eq "\N{VARIATION SELECTOR-251}"');
767 is("\N{VS252}", "\N{VARIATION SELECTOR-252}", 'Verify "\N{VS252}" eq "\N{VARIATION SELECTOR-252}"');
768 is("\N{VS253}", "\N{VARIATION SELECTOR-253}", 'Verify "\N{VS253}" eq "\N{VARIATION SELECTOR-253}"');
769 is("\N{VS254}", "\N{VARIATION SELECTOR-254}", 'Verify "\N{VS254}" eq "\N{VARIATION SELECTOR-254}"');
770 is("\N{VS255}", "\N{VARIATION SELECTOR-255}", 'Verify "\N{VS255}" eq "\N{VARIATION SELECTOR-255}"');
771 is("\N{VS256}", "\N{VARIATION SELECTOR-256}", 'Verify "\N{VS256}" eq "\N{VARIATION SELECTOR-256}"');
38f4139d
KW
772
773 # Test a few of the above with :loose
774 use charnames ":loose";
a11a2deb
KW
775 is("\N{n-e xt l-i ne}", "\N{n-e xt l-i ne (-n-e l-)}", 'Verify "\N{n-e xt l-i ne}" eq "\N{n-e xt l-i ne (-n-e l-)}"');
776 is("\N{n e-l}", "\N{n e-xt l i-ne ( n e-l )}", 'Verify "\N{n e-l}" eq "\N{n e-xt l i-ne ( n e-l )}"');
777 is("\N{p-a dd-i ng c-h ar-a ct-e r}", "\N{p-a d}", 'Verify "\N{p-a dd-i ng c-h ar-a ct-e r}" eq "\N{p-a d}"');
778 is("\N{s i-ng l-e-s h-i f-t 3}", "\N{s i-ng l-e s h-i f-t t h-r e-e}", 'Verify "\N{s i-ng l-e-s h-i f-t 3}" eq "\N{s i-ng l-e s h-i f-t t h-r e-e}"');
779 is("\N{vs256}", "\N{v-a ri-a ti-o n s-e le-c t o-r-256}", 'Verify "\N{vs256}" eq "\N{v-a ri-a ti-o n s-e le-c t o-r-256}"');
16036bcd
KW
780}
781
e5c3f898
MG
782# [perl #30409] charnames.pm clobbers default variable
783$_ = 'foobar';
784eval "use charnames ':full';";
a11a2deb 785is($_, 'foobar', 'Verify charnames.pm doesnt clobbers $_');
e5c3f898 786
c776535e
NC
787# Unicode slowdown noted by Phil Pennock, traced to a bug fix in index
788# SADAHIRO Tomoyuki's suggestion is to ensure that the UTF-8ness of both
98dc9551 789# arguments are identical before calling index.
c776535e 790# To do this can take advantage of the fact that unicore/Name.pl is 7 bit
a3815e44 791# (or at least should be). So assert that that is true here. EBCDIC
e5d6fe1e 792# may be a problem (khw).
c776535e
NC
793
794my $names = do "unicore/Name.pl";
a11a2deb 795ok(defined $names, "Verify can read 'unicore/Name.pl'");
d1cef54a 796my $non_ascii = native_to_uni($names) =~ tr/\0-\177//c;
5a7fb30a 797ok(! $non_ascii, "Verify all official names are ASCII-only");
c776535e 798
eb915052
RGS
799# Verify that charnames propagate to eval("")
800my $evaltry = eval q[ "Eval: \N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}" ];
801if ($@) {
a0d8d8c5
KW
802 fail('charnames failed to propagate to eval("")');
803 fail('next test also fails to make the same number of tests');
eb915052 804} else {
a0d8d8c5 805 pass('charnames propagated to eval("")');
a11a2deb
KW
806 is($evaltry, "Eval: \N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}",
807 "... and got correct answer");
eb915052 808}
c776535e 809
ae6979a8 810# Verify that db includes the normative NameAliases.txt names
a11a2deb 811is("\N{U+1D0C5}", "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}", 'Verify "\N{U+1D0C5}" eq "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}"');
ae6979a8 812
ec34a119
DM
813# [perl #73174] use of \N{FOO} used to reset %^H
814
815{
816 use charnames ":full";
817 my $res;
818 BEGIN { $^H{73174} = "foo" }
819 BEGIN { $res = ($^H{73174} // "") }
820 # forces loading of utf8.pm, which used to reset %^H
821 $res .= '-1' if ":" =~ /\N{COLON}/i;
822 BEGIN { $res .= '-' . ($^H{73174} // "") }
823 $res .= '-' . ($^H{73174} // "");
824 $res .= '-2' if ":" =~ /\N{COLON}/;
825 $res .= '-3' if ":" =~ /\N{COLON}/i;
2644e1b7 826 is($res, "foo-foo-1--2-3", "Verify %^H doesn't get reset by \\N{...}");
ec34a119 827}
84374e30 828
363879a0
KW
829{ use charnames qw(.*);
830 ok (! defined charnames::vianame("a"), "Verify that metachars in script names get quoted");
831}
832
84374e30
KW
833{
834 # Test scoping. Outer block sets up some things; inner blocks
835 # override them, and then see if get restored.
836
837 use charnames ":full",
838 ":alias" => {
839 mychar1 => "LATIN SMALL LETTER E",
840 mychar2 => "LATIN CAPITAL LETTER A",
841 myprivate1 => 0xE8000, # Private use area
842 myprivate2 => 0x100000, # Private use area
843 },
844 ":short",
845 qw( katakana ),
846 ;
847
848 my $hiragana_be = "\N{HIRAGANA LETTER BE}";
849
850 is("\N{mychar1}", "e", "Outer block: verify that \\N{mychar1} works");
851 is(charnames::vianame("mychar1"), ord("e"), "Outer block: verify that vianame(mychar1) works");
fb121860 852 is(charnames::string_vianame("mychar1"), "e", "Outer block: verify that string_vianame(mychar1) works");
673c254b
KW
853 eval "qr/\\p{name=mychar1}/";
854 like($@, qr/Can't find Unicode property definition "name=mychar1"/,
855 '\p{name=} returns an appropriate error message on an alias');
84374e30
KW
856 is("\N{mychar2}", "A", "Outer block: verify that \\N{mychar2} works");
857 is(charnames::vianame("mychar2"), ord("A"), "Outer block: verify that vianame(mychar2) works");
fb121860 858 is(charnames::string_vianame("mychar2"), "A", "Outer block: verify that string_vianame(mychar2) works");
673c254b
KW
859 eval "qr/\\p{name=mychar2}/";
860 like($@, qr/Can't find Unicode property definition "name=mychar2"/,
861 '\p{name=} returns an appropriate error message on an alias');
84374e30
KW
862 is("\N{myprivate1}", "\x{E8000}", "Outer block: verify that \\N{myprivate1} works");
863 cmp_ok(charnames::vianame("myprivate1"), "==", 0xE8000, "Outer block: verify that vianame(myprivate1) works");
fb121860 864 is(charnames::string_vianame("myprivate1"), chr(0xE8000), "Outer block: verify that string_vianame(myprivate1) works");
673c254b
KW
865 eval "qr/\\p{name=myprivate1}/";
866 like($@, qr/Can't find Unicode property definition "name=myprivate1"/,
867 '\p{name=} returns an appropriate error message on an alias');
84374e30
KW
868 is(charnames::viacode(0xE8000), "myprivate1", "Outer block: verify that myprivate1 viacode works");
869 is("\N{myprivate2}", "\x{100000}", "Outer block: verify that \\N{myprivate2} works");
870 cmp_ok(charnames::vianame("myprivate2"), "==", 0x100000, "Outer block: verify that vianame(myprivate2) works");
fb121860 871 is(charnames::string_vianame("myprivate2"), chr(0x100000), "Outer block: verify that string_vianame(myprivate2) works");
673c254b
KW
872 eval "qr/\\p{name=myprivate2}/";
873 like($@, qr/Can't find Unicode property definition "name=myprivate2"/,
874 '\p{name=} returns an appropriate error message on an alias');
84374e30
KW
875 is(charnames::viacode(0x100000), "myprivate2", "Outer block: verify that myprivate2 viacode works");
876 is("\N{BE}", "\N{KATAKANA LETTER BE}", "Outer block: verify that \\N uses the correct script ");
877 cmp_ok(charnames::vianame("BE"), "==", ord("\N{KATAKANA LETTER BE}"), "Outer block: verify that vianame uses the correct script");
fb121860 878 cmp_ok(charnames::string_vianame("BE"), "==", "\N{KATAKANA LETTER BE}", "Outer block: verify that string_vianame uses the correct script");
e3cca8af
KW
879 is("\N{Hiragana: BE}", $hiragana_be, "Outer block: verify that :short works with \\N");
880 cmp_ok(charnames::vianame("Hiragana: BE"), "==", ord($hiragana_be), "Outer block: verify that :short works with vianame");
fb121860 881 cmp_ok(charnames::string_vianame("Hiragana: BE"), "==", $hiragana_be, "Outer block: verify that :short works with string_vianame");
673c254b
KW
882 eval "qr/\\p{name=Hiragana: BE}/";
883 like($@, qr/Can't find Unicode property definition "name=Hiragana: BE"/,
884 '\p{name=} returns an appropriate error message on :short attempt');
84374e30
KW
885
886 {
887 use charnames ":full",
888 ":alias" => {
889 mychar1 => "LATIN SMALL LETTER F",
890 myprivate1 => 0xE8001, # Private use area
891 },
892
893 # BE is in both hiragana and katakana; see if
894 # different default script delivers different
895 # letter.
896 qw( hiragana ),
897 ;
898 is("\N{mychar1}", "f", "Inner block: verify that \\N{mychar1} is redefined");
899 is(charnames::vianame("mychar1"), ord("f"), "Inner block: verify that vianame(mychar1) is redefined");
fb121860 900 is(charnames::string_vianame("mychar1"), "f", "Inner block: verify that string_vianame(mychar1) is redefined");
90249f0a
KW
901 eval '"\N{mychar2}"';
902 like($@, qr/Unknown charname 'mychar2'/, "Inner block: verify that \\N{mychar2} outer definition didn't leak");
84374e30 903 ok( ! defined charnames::vianame("mychar2"), "Inner block: verify that vianame(mychar2) outer definition didn't leak");
fb121860 904 ok( ! defined charnames::string_vianame("mychar2"), "Inner block: verify that string_vianame(mychar2) outer definition didn't leak");
84374e30
KW
905 is("\N{myprivate1}", "\x{E8001}", "Inner block: verify that \\N{myprivate1} is redefined ");
906 cmp_ok(charnames::vianame("myprivate1"), "==", 0xE8001, "Inner block: verify that vianame(myprivate1) is redefined");
fb121860 907 is(charnames::string_vianame("myprivate1"), chr(0xE8001), "Inner block: verify that string_vianame(myprivate1) is redefined");
84374e30
KW
908 is(charnames::viacode(0xE8001), "myprivate1", "Inner block: verify that myprivate1 viacode is redefined");
909 ok(! defined charnames::viacode(0xE8000), "Inner block: verify that outer myprivate1 viacode didn't leak");
90249f0a
KW
910 eval '"\N{myprivate2}"';
911 like($@, qr/Unknown charname 'myprivate2'/, "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
84374e30 912 ok(! defined charnames::vianame("myprivate2"), "Inner block: verify that vianame(myprivate2) outer definition didn't leak");
fb121860 913 ok(! defined charnames::string_vianame("myprivate2"), "Inner block: verify that string_vianame(myprivate2) outer definition didn't leak");
84374e30
KW
914 ok(! defined charnames::viacode(0x100000), "Inner block: verify that myprivate2 viacode outer definition didn't leak");
915 is("\N{BE}", $hiragana_be, "Inner block: verify that \\N uses the correct script");
916 cmp_ok(charnames::vianame("BE"), "==", ord($hiragana_be), "Inner block: verify that vianame uses the correct script");
fb121860 917 cmp_ok(charnames::string_vianame("BE"), "==", $hiragana_be, "Inner block: verify that string_vianame uses the correct script");
90249f0a
KW
918 eval '"\N{Hiragana: BE}"';
919 like($@, qr/Unknown charname 'Hiragana: BE'/, "Inner block without :short: \\N with short doesn't work");
e3cca8af 920 ok(! defined charnames::vianame("Hiragana: BE"), "Inner block without :short: verify that vianame with short doesn't work");
fb121860 921 ok(! defined charnames::string_vianame("Hiragana: BE"), "Inner block without :short: verify that string_vianame with short doesn't work");
84374e30
KW
922
923 { # An inner block where only :short definitions are valid.
924 use charnames ":short";
90249f0a
KW
925 eval '"\N{mychar1}"';
926 like($@, qr/Unknown charname 'mychar1'/, "Inner inner block: verify that mychar1 outer definition didn't leak with \\N");
84374e30 927 ok( ! defined charnames::vianame("mychar1"), "Inner inner block: verify that mychar1 outer definition didn't leak with vianame");
fb121860 928 ok( ! defined charnames::string_vianame("mychar1"), "Inner inner block: verify that mychar1 outer definition didn't leak with string_vianame");
90249f0a
KW
929 eval '"\N{mychar2}"';
930 like($@, qr/Unknown charname 'mychar2'/, "Inner inner block: verify that mychar2 outer definition didn't leak with \\N");
84374e30 931 ok( ! defined charnames::vianame("mychar2"), "Inner inner block: verify that mychar2 outer definition didn't leak with vianame");
fb121860 932 ok( ! defined charnames::string_vianame("mychar2"), "Inner inner block: verify that mychar2 outer definition didn't leak with string_vianame");
90249f0a
KW
933 eval '"\N{myprivate1}"';
934 like($@, qr/Unknown charname 'myprivate1'/, "Inner inner block: verify that myprivate1 outer definition didn't leak with \\N");
84374e30 935 ok(! defined charnames::vianame("myprivate1"), "Inner inner block: verify that myprivate1 outer definition didn't leak with vianame");
fb121860 936 ok(! defined charnames::string_vianame("myprivate1"), "Inner inner block: verify that myprivate1 outer definition didn't leak with string_vianame");
90249f0a
KW
937 eval '"\N{myprivate2}"';
938 like($@, qr/Unknown charname 'myprivate2'/, "Inner inner block: verify that myprivate2 outer definition didn't leak with \\N");
84374e30 939 ok(! defined charnames::vianame("myprivate2"), "Inner inner block: verify that myprivate2 outer definition didn't leak with vianame");
fb121860 940 ok(! defined charnames::string_vianame("myprivate2"), "Inner inner block: verify that myprivate2 outer definition didn't leak with string_vianame");
84374e30
KW
941 ok(! defined charnames::viacode(0xE8000), "Inner inner block: verify that mychar1 outer outer definition didn't leak with viacode");
942 ok(! defined charnames::viacode(0xE8001), "Inner inner block: verify that mychar1 outer definition didn't leak with viacode");
943 ok(! defined charnames::viacode(0x100000), "Inner inner block: verify that mychar2 outer definition didn't leak with viacode");
90249f0a
KW
944 eval '"\N{BE}"';
945 like($@, qr/Unknown charname 'BE'/, "Inner inner block without script: verify that outer :script didn't leak with \\N");
84374e30 946 ok(! defined charnames::vianame("BE"), "Inner inner block without script: verify that outer :script didn't leak with vianames");
fb121860 947 ok(! defined charnames::string_vianame("BE"), "Inner inner block without script: verify that outer :script didn't leak with string_vianames");
90249f0a
KW
948 eval '"\N{HIRAGANA LETTER BE}"';
949 like($@, qr/Unknown charname 'HIRAGANA LETTER BE'/, "Inner inner block without :full: verify that outer :full didn't leak with \\N");
e3cca8af
KW
950 is("\N{Hiragana: BE}", $hiragana_be, "Inner inner block with :short: verify that \\N works with :short");
951 cmp_ok(charnames::vianame("Hiragana: BE"), "==", ord($hiragana_be), "Inner inner block with :short: verify that vianame works with :short");
fb121860 952 cmp_ok(charnames::string_vianame("Hiragana: BE"), "==", $hiragana_be, "Inner inner block with :short: verify that string_vianame works with :short");
84374e30
KW
953 }
954
955 # Back to previous block. All previous tests should work again.
956 is("\N{mychar1}", "f", "Inner block: verify that \\N{mychar1} is redefined");
957 is(charnames::vianame("mychar1"), ord("f"), "Inner block: verify that vianame(mychar1) is redefined");
fb121860 958 is(charnames::string_vianame("mychar1"), "f", "Inner block: verify that string_vianame(mychar1) is redefined");
90249f0a
KW
959 eval '"\N{mychar2}"';
960 like($@, qr/Unknown charname 'mychar2'/, "Inner block: verify that \\N{mychar2} outer definition didn't leak");
84374e30 961 ok( ! defined charnames::vianame("mychar2"), "Inner block: verify that vianame(mychar2) outer definition didn't leak");
fb121860 962 ok( ! defined charnames::string_vianame("mychar2"), "Inner block: verify that string_vianame(mychar2) outer definition didn't leak");
84374e30
KW
963 is("\N{myprivate1}", "\x{E8001}", "Inner block: verify that \\N{myprivate1} is redefined ");
964 cmp_ok(charnames::vianame("myprivate1"), "==", 0xE8001, "Inner block: verify that vianame(myprivate1) is redefined");
fb121860 965 is(charnames::string_vianame("myprivate1"), chr(0xE8001), "Inner block: verify that string_vianame(myprivate1) is redefined");
84374e30
KW
966 is(charnames::viacode(0xE8001), "myprivate1", "Inner block: verify that myprivate1 viacode is redefined");
967 ok(! defined charnames::viacode(0xE8000), "Inner block: verify that outer myprivate1 viacode didn't leak");
90249f0a
KW
968 eval '"\N{myprivate2}"';
969 like($@, qr/Unknown charname 'myprivate2'/, "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
84374e30 970 ok(! defined charnames::vianame("myprivate2"), "Inner block: verify that vianame(myprivate2) outer definition didn't leak");
fb121860 971 ok(! defined charnames::string_vianame("myprivate2"), "Inner block: verify that string_vianame(myprivate2) outer definition didn't leak");
84374e30
KW
972 ok(! defined charnames::viacode(0x100000), "Inner block: verify that myprivate2 viacode outer definition didn't leak");
973 is("\N{BE}", $hiragana_be, "Inner block: verify that \\N uses the correct script");
974 cmp_ok(charnames::vianame("BE"), "==", ord($hiragana_be), "Inner block: verify that vianame uses the correct script");
fb121860 975 cmp_ok(charnames::string_vianame("BE"), "==", $hiragana_be, "Inner block: verify that string_vianame uses the correct script");
90249f0a
KW
976 eval '"\N{Hiragana: BE}"';
977 like($@, qr/Unknown charname 'Hiragana: BE'/, "Inner block without :short: \\N with short doesn't work");
e3cca8af 978 ok(! defined charnames::vianame("Hiragana: BE"), "Inner block without :short: verify that vianame with short doesn't work");
fb121860 979 ok(! defined charnames::string_vianame("Hiragana: BE"), "Inner block without :short: verify that string_vianame with short doesn't work");
84374e30
KW
980 }
981
982 # Back to previous block. All tests from that block should work again.
983 is("\N{mychar1}", "e", "Outer block: verify that \\N{mychar1} works");
984 is(charnames::vianame("mychar1"), ord("e"), "Outer block: verify that vianame(mychar1) works");
fb121860 985 is(charnames::string_vianame("mychar1"), "e", "Outer block: verify that string_vianame(mychar1) works");
84374e30
KW
986 is("\N{mychar2}", "A", "Outer block: verify that \\N{mychar2} works");
987 is(charnames::vianame("mychar2"), ord("A"), "Outer block: verify that vianame(mychar2) works");
fb121860 988 is(charnames::string_vianame("mychar2"), "A", "Outer block: verify that string_vianame(mychar2) works");
84374e30
KW
989 is("\N{myprivate1}", "\x{E8000}", "Outer block: verify that \\N{myprivate1} works");
990 cmp_ok(charnames::vianame("myprivate1"), "==", 0xE8000, "Outer block: verify that vianame(myprivate1) works");
fb121860 991 is(charnames::string_vianame("myprivate1"), chr(0xE8000), "Outer block: verify that string_vianame(myprivate1) works");
84374e30
KW
992 is(charnames::viacode(0xE8000), "myprivate1", "Outer block: verify that myprivate1 viacode works");
993 is("\N{myprivate2}", "\x{100000}", "Outer block: verify that \\N{myprivate2} works");
994 cmp_ok(charnames::vianame("myprivate2"), "==", 0x100000, "Outer block: verify that vianame(myprivate2) works");
fb121860 995 is(charnames::string_vianame("myprivate2"), chr(0x100000), "Outer block: verify that string_vianame(myprivate2) works");
84374e30
KW
996 is(charnames::viacode(0x100000), "myprivate2", "Outer block: verify that myprivate2 viacode works");
997 is("\N{BE}", "\N{KATAKANA LETTER BE}", "Outer block: verify that \\N uses the correct script ");
998 cmp_ok(charnames::vianame("BE"), "==", ord("\N{KATAKANA LETTER BE}"), "Outer block: verify that vianame uses the correct script");
fb121860 999 cmp_ok(charnames::string_vianame("BE"), "==", "\N{KATAKANA LETTER BE}", "Outer block: verify that string_vianame uses the correct script");
e3cca8af
KW
1000 is("\N{Hiragana: BE}", $hiragana_be, "Outer block: verify that :short works with \\N");
1001 cmp_ok(charnames::vianame("Hiragana: BE"), "==", ord($hiragana_be), "Outer block: verify that :short works with vianame");
fb121860 1002 cmp_ok(charnames::string_vianame("Hiragana: BE"), "==", $hiragana_be, "Outer block: verify that :short works with string_vianame");
38f4139d
KW
1003 {
1004 use charnames qw(:loose new_tai_lue des_eret);
1005 is("\N{latincapitallettera}", "A", "Verify that loose matching works");
1006 cmp_ok("\N{high-qa}", "==", chr(0x1980), "Verify that loose script list matching works");
1007 is(charnames::string_vianame("O-i"), chr(0x10426), "Verify that loose script list matching works with string_vianame");
1008 is(charnames::vianame("o i"), 0x1044E, "Verify that loose script list matching works with vianame");
1009 }
90249f0a
KW
1010 eval '"\N{latincapitallettera}"';
1011 like($@, qr/Unknown charname 'latincapitallettera'/, "Verify that loose matching caching doesn't leak outside of scope");
38f4139d
KW
1012 {
1013 use charnames qw(:loose :short);
1014 cmp_ok("\N{co pt-ic:she-i}", "==", chr(0x3E3), "Verify that loose :short matching works");
1015 is(charnames::string_vianame("co pt_ic: She i"), chr(0x3E2), "Verify that loose :short matching works with string_vianame");
1016 is(charnames::vianame(" Arm-en-ian: x e h_"), 0x56D, "Verify that loose :short matching works with vianame");
1017 }
84374e30 1018}
5bd59e57
KW
1019
1020{
1021 # Go through the whole Unicode db. It takes quite a while to test
1022 # all 1 million code points, so this tests a randomly selected
1023 # subset. For now, don't test with \N{}, to avoid filling the internal
1024 # cache at compile time; use vianame
1025
565064d1
KW
1026 # For randomized tests below.
1027 my $seed;
f3397f68
KW
1028 if (defined $ENV{PERL_TEST_CHARNAMES_SEED}) {
1029 $seed = srand($ENV{PERL_TEST_CHARNAMES_SEED});
1030 if ($seed != $ENV{PERL_TEST_CHARNAMES_SEED}) {
1031 die "srand returned '$seed' instead of '$ENV{PERL_TEST_CHARNAMES_SEED}'";
1032 };
1033 }
1034 else {
1035 $seed = srand;
1036 }
5bd59e57 1037
e4b4d0cc
KW
1038 # We will look at the data grouped in "blocks" of the following
1039 # size.
673c254b 1040 my $block_size_bits = 8; # above 16 is not sensible
e4b4d0cc
KW
1041 my $block_size = 2**$block_size_bits;
1042
5bd59e57
KW
1043 # There are the regular names, like "SPACE", plus the ones
1044 # that are algorithmically determinable, such as "CKJ UNIFIED
1045 # IDEOGRAPH-hhhh" where the hhhh is the actual hex code point number
1046 # of the character. The percentage of each type to test is
bc13d9e2
KW
1047 # fuzzily independently settable. This breaks down when the block size is
1048 # 1 or is large enough that both types of names occur in the same block
673c254b 1049 my $percentage_of_regular_names = ($run_slow_tests) ? 100 : 10;
a6769a78
KW
1050 my $percentage_of_algorithmic_names = (100 / $block_size); # 1 test/block
1051
1052 # If wants everything tested, do so by changing the block size to 1 so
1053 # every character is in its own block, otherwise there is a risk that the
1054 # randomness will cause something to be tested more than once at the
1055 # expense of testing something else not at all.
1056 if ($percentage_of_regular_names >= 100
1057 || $percentage_of_algorithmic_names >= 100)
1058 {
1059 $block_size_bits = 0;
1060 $block_size = 2**$block_size_bits;
1061 }
5bd59e57 1062
e4b4d0cc 1063 # Changing the block size doesn't change anything with regards to
bc13d9e2
KW
1064 # testing the regular names (except if you set it to 1 so that each code
1065 # point is in its own block), but will affect the algorithmic names.
e4b4d0cc
KW
1066 # If you make the size too big so that blocks include both regular
1067 # names and algorithmic, the whole block will be sampled at the sum
1068 # of the two rates. If you make it too small, then more algorithmic
1069 # names will be tested than you probably intended.
5bd59e57 1070
e4b4d0cc 1071 my @names; # The names of every code point.
5bd59e57
KW
1072
1073 # We look at one block past the Unicode maximum, to verify there are
1074 # no names in it.
1075 my $block_count = 1 + 0x110000 / $block_size;
1076
1077 my @regular_names_count = (0) x $block_count ;
1078 my @algorithmic_names_count = (0) x $block_count;
1079
1080 # Read the DB, and fill in @names with the character names.
463cf062
NC
1081 open my $fh, "<", "../../lib/unicore/UnicodeData.txt" or
1082 die "Can't open ../../lib/unicore/UnicodeData.txt: $!";
5bd59e57
KW
1083 while (<$fh>) {
1084 chomp;
b0e24409 1085 my ($code, $name, $category, undef, undef, undef, undef, undef, undef, undef, $u1name) = split ";";
27c3afbd
KW
1086 my $decimal = utf8::unicode_to_native(hex $code);
1087 $code = sprintf("%04X", $decimal) unless $::IS_ASCII;
1088
1089 $decimal = hex $code;
5bd59e57
KW
1090
1091 # The Unicode version 1 name is used instead of any that are
fe3193b5 1092 # marked <control>.
5bd59e57
KW
1093 $name = $u1name if $name eq "<control>";
1094
fe3193b5
KW
1095 # In earlier Perls, we reject this code point's name (BELL)
1096 $name = "" if $^V lt v5.17.0 && $decimal == 0x1F514;
3ffed8c2 1097
fe3193b5 1098 # ALERT overrides BELL
27c3afbd 1099 $name = 'ALERT' if $decimal == utf8::unicode_to_native(7);
3ffed8c2 1100
5bd59e57
KW
1101 # Some don't have names, leave those array elements undefined
1102 next unless $name;
1103
1104 # If the name isn't of this special form, it is a regular one.
1105 if ($name !~ /First>$/) {
1106 my $block = $decimal >> $block_size_bits;
1107 $names[$decimal] = $name;
1108 $regular_names_count[$block]++;
1109 }
1110 else {
1111
1112 # The next line after a <First> is the <Last>, which is the
1113 # ending point of the range.
1114 $_ = <$fh>;
1115 /^(.*?);/;
1116 my $end_decimal = hex $1;
1117
b0e24409
KW
1118 # Only the ones whose category is a letter currently have names,
1119 # and of those the Hangul Syllables are dealt with below
1120 if ( $category eq 'Lo' && $name !~ /^Hangul/i) {
1121
1122 # The CJK ones all get translated to a particular form; we
1123 # just capitalize any others in the hopes that Unicode will
1124 # use the correct term in any future ones it might add.
1125 if ($name =~ /^<CJK/) {
1126 $name = "CJK UNIFIED IDEOGRAPH";
1127 }
1128 else {
1129 $name =~ s/<//;
1130 $name =~ s/,.*//;
1131 $name = uc($name);
1132 }
1133
1134 # They all have the code point as part of the name, which we
1135 # can construct
5bd59e57 1136 for my $i ($decimal .. $end_decimal) {
b0e24409 1137 $names[$i] = sprintf "$name-%04X", $i;
5bd59e57
KW
1138 my $block = $i >> $block_size_bits;
1139 $algorithmic_names_count[$block]++;
1140 }
1141 }
1142 }
1143 }
1144 close $fh;
1145
869ae782
KW
1146 use Unicode::UCD;
1147 if (pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) gt v1.1.5) {
c4af86be
KW
1148 # The Hangul syllable names aren't in the file above; their names
1149 # are algorithmically determinable, but to avoid perpetuating any
1150 # programming errors, this file contains the complete list, gathered
1151 # from the web.
1152 while (<DATA>) {
1153 chomp;
1154 next unless $_; # Guard against empty lines getting inserted.
1155 my ($code, $name) = split ";";
1156 my $decimal = hex $code;
1157 $names[$decimal] = $name;
1158 my $block = $decimal >> $block_size_bits;
1159 $algorithmic_names_count[$block] = 1;
1160 }
869ae782 1161 }
5bd59e57 1162
f2f88f09
KW
1163 my @name_aliases;
1164 use Unicode::UCD;
33bdd83d
KW
1165 if (ord('A') == 65
1166 && pack( "C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v6.1.0)
f2f88f09
KW
1167 {
1168 open my $fh, "<", "../../lib/unicore/NameAliases.txt"
1169 or die "Can't open ../../lib/unicore/NameAliases.txt: $!";
1170 @name_aliases = <$fh>
1171 }
1172 else {
1173
1174 # If this Unicode version doesn't have the full .txt file, or are on
1175 # an EBCDIC platform where they need to be translated, get the data
1176 # from prop_invmap() (which should do the translation) and convert it
1177 # to the file's format
1178 use Unicode::UCD 'prop_invmap';
1179 my ($invlist_ref, $invmap_ref, undef, $default)
1180 = prop_invmap('Name_Alias');
1181 for my $i (0 .. @$invlist_ref - 1) {
1182
1183 # Convert the aliases for code points that have just one alias to
1184 # single element arrays for uniform handling below.
1185 if (! ref $invmap_ref->[$i]) {
1186
1187 # But we test only the real aliases, not the ones which are
1188 # just really placeholders.
1189 next if $invmap_ref->[$i] eq $default;
1190
1191 $invmap_ref->[$i] = [ $invmap_ref->[$i] ];
1192 }
1193
1194
1195 # Change each alias for the code point to the form that the file
1196 # has
1197 foreach my $j ($invlist_ref->[$i] .. $invlist_ref->[$i+1] - 1) {
1198 foreach my $value (@{$invmap_ref->[$i]}) {
1199 $value =~ s/: /;/;
1200 push @name_aliases, sprintf("%04X;%s\n", $j, $value);
1201 }
1202 }
1203 }
1204 }
1205
1206 for (@name_aliases) {
92a56f4b
KW
1207 chomp;
1208 s/^\s*#.*//;
1209 next unless $_;
7620cb10 1210 my ($hex, $name, $type) = split ";";
1c757d3c 1211 my $i = CORE::hex $hex;
26a65074
KW
1212
1213 # Make sure that both aliases (the one in UnicodeData, and the one we
1214 # just read) return the same code point.
1c757d3c 1215 test_vianame($i, $hex, $name);
1422728a 1216 test_vianame($i, $hex, $names[$i]) if $names[$i] ne "";
53d84487
KW
1217
1218 # Set up so that a test below of this code point will use the alias
1219 # instead of the less-correct original. We can't test here that
1220 # viacode is correct, because the alias file may contain multiple
1221 # aliases for the same code point, and viacode should return only the
1222 # final one. So don't do it here; instead rely on the loop below to
1223 # pick up the test.
7620cb10 1224 $names[$i] = $name if $type eq 'correction';
92a56f4b
KW
1225 }
1226 close $fh;
5bd59e57
KW
1227
1228 # Now, have all the names populated. Do the tests
1229
1230 my $all_pass = 1; # Assume everything will pass.
1231
1232 my $block = 0; # Start at the beginning.
1233 while ($block < $block_count) {
1234
1235 # Calculate how many tests to run on this block, based on the
1236 # how many names of each type are in it, and what percentage to
1237 # test of each type.
1238 my $test_count = 0;
1239 if ($algorithmic_names_count[$block]) {
1240 $test_count += int($regular_names_count[$block] * $percentage_of_algorithmic_names / 100 + .5);
1241 $test_count = 1 unless $test_count; # Make sure at least one
1242 }
1243 if ($regular_names_count[$block]) {
1244 $test_count += int($regular_names_count[$block] * $percentage_of_regular_names / 100 + .5);
1245 $test_count = 1 unless $test_count;
1246 }
1247
1248 # For very small block sizes, we could come up with more tests
1249 # than characters in it
1250 $test_count = $block_size if $test_count > $block_size;
1251
1252 # To avoid testing all the gazillions of code points that have
1253 # no names, and are almost certainly going to succeed, we
1254 # coalesce all such adjacent blocks into one, and have just one
1255 # test for that super-sized block
1256 my $end_block = $block;
1257 if ($test_count == 0) {
1258 $test_count = 1;
3426d207 1259 if ($run_slow_tests < $RUN_SLOW_TESTS_EVERY_CODE_POINT) {
5bd59e57 1260 $end_block++;
6efce82d
KW
1261
1262 # Keep coalescing until find a block that has something in
1263 # it. But don't cross plane boundaries (the 16 bits below),
1264 # so there is at least one test for every plane.
1265 while ($end_block < $block_count
1266 && $end_block >> (16 - $block_size_bits)
1267 == $block >> (16 - $block_size_bits)
1268 && ! $algorithmic_names_count[$end_block]
1269 && ! $regular_names_count[$end_block])
1270 {
1271 $end_block++;
1272 }
1273 $end_block--; # Back-off to a block that has no defined names
3426d207 1274 }
5bd59e57
KW
1275 }
1276
1277 # Calculated how many tests. Do them
1278 for (1 .. $test_count) {
1279
1280 # Randomly choose a code point in the block
1281 my $i = $block * $block_size + int(rand(($end_block - $block + 1) * $block_size));
1282 my $hex = sprintf("%04X", $i);
1283 if (! $names[$i]) {
1284
7620cb10
KW
1285 # These four code points now have names, from NameAlias, but
1286 # aren't listed as having names in UnicodeData.txt, so viacode
1287 # returns their alias names, not undef
27c3afbd
KW
1288 next if $i == utf8::unicode_to_native(0x80)
1289 || $i == utf8::unicode_to_native(0x81)
1290 || $i == utf8::unicode_to_native(0x84)
1291 || $i == utf8::unicode_to_native(0x99);
7620cb10 1292
5bd59e57
KW
1293 # If there is no name for this code point, all we can
1294 # test is that.
1295 $all_pass &= ok(! defined charnames::viacode($i), "Verify viacode(0x$hex) is undefined");
1296 } else {
1297
1298 # Otherwise, test that the name and code point map
1c757d3c
KW
1299 # correctly.
1300 $all_pass &= test_vianame($i, $hex, $names[$i]);
d6495f5d
KW
1301
1302 # These four code points have a different Unicode1 name than
1303 # regular name, and viacode has already specifically tested
1304 # for the regular name
27c3afbd
KW
1305 if ($i != utf8::unicode_to_native(0x0a)
1306 && $i != utf8::unicode_to_native(0x0c)
1307 && $i != utf8::unicode_to_native(0x0d)
1308 && $i != utf8::unicode_to_native(0x85))
1309 {
d6495f5d
KW
1310 $all_pass &= is(charnames::viacode($i), $names[$i], "Verify viacode(0x$hex) is \"$names[$i]\"");
1311 }
5bd59e57
KW
1312
1313 # And make sure that a non-algorithmically named code
1314 # point doesn't also map to one that is.
1315 if ($names[$i] !~ /$hex$/) {
fb121860
KW
1316 if (rand() < .5) {
1317 $all_pass &= ok(! defined charnames::vianame("CJK UNIFIED IDEOGRAPH-$hex"), "Verify vianame(\"CJK UNIFIED IDEOGRAPH-$hex\") is undefined");
1318 } else {
1319 $all_pass &= ok(! defined charnames::string_vianame("CJK UNIFIED IDEOGRAPH-$hex"), "Verify string_vianame(\"CJK UNIFIED IDEOGRAPH-$hex\") is undefined");
673c254b
KW
1320 eval "qr/\\p{name=CJK UNIFIED IDEOGRAPH-$hex}/";
1321 $all_pass &= like($@, qr/Can't find Unicode property definition "name=CJK UNIFIED IDEOGRAPH-$hex\"/,
1322 "Verify string_vianame(\"CJK UNIFIED IDEOGRAPH-$hex\") is undefined");
fb121860 1323 }
5bd59e57
KW
1324 }
1325 }
1326 }
1327
1328 # Skip to the next untested block.
1329 $block = $end_block + 1;
1330 }
1331
35dfc9cf 1332 if (open my $fh, "<", "../../lib/unicore/NamedSequences.txt") {
b67abedf
KW
1333 while (<$fh>) {
1334 chomp;
1335 s/^\s*#.*//;
1336 next unless $_;
1337 my ($name, $codes) = split ";";
7ac841d7
DIM
1338 $codes =~ s{ \b 00 ( [0-9A-F]{2} ) \b }
1339 { sprintf("%04X", utf8::unicode_to_native(hex $1)) }gxe
d870e48d 1340 if ord "A" != 65;
27c3afbd 1341 my $utf8 = pack("W*", map { hex } split " ", $codes);
b67abedf
KW
1342 is(charnames::string_vianame($name), $utf8, "Verify string_vianame(\"$name\") is the proper utf8");
1343 my $loose_name = get_loose_name($name);
1344 use charnames ":loose";
1345 is(charnames::string_vianame($loose_name), $utf8, "Verify string_vianame(\"$loose_name\") is the proper utf8");
cc06e157
KW
1346
1347 like($utf8, qr/^\p{name=$name}$/, "Verify /\p{name=$name}\$/ is the proper utf8");
1348 like($utf8, qr/^\p{name=$loose_name}$/, "Verify /\p{name=$loose_name}\$/ is the proper utf8");
1349 like($utf8, qr!^\p{name=/\A$name\z/}!, "Verify /\p{name=/$\A$name\z/} is the proper utf8");
b67abedf
KW
1350 #diag("$name, $utf8");
1351 }
1352 close $fh;
35dfc9cf
KW
1353 }
1354 else {
1355 use Unicode::UCD;
1356 die "Can't open ../../lib/unicore/NamedSequences.txt: $!"
1357 if pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v4.1.0;
1358 }
fb121860
KW
1359
1360
5bd59e57
KW
1361 unless ($all_pass) {
1362 diag(<<END
1363Not all tests succeeded. Because testing every single Unicode code
a28b0166
KW
1364point would take too long, $0
1365tests a random subset every run. In order to reproduce this failure exactly,
1366the same seed must be used. Save this seed!!: $seed
5bd59e57
KW
1367
1368Setting the environment variable PERL_TEST_CHARNAMES_SEED with
1369$seed
1370when running this test will cause it to run exactly as it did here.
1371END
1372 );
1373 }
1374}
1375
1376plan(curr_test() - 1);
1377
1378# Thanks to http://www.inames.net/lang/out/out_p1s3_hangul.html for
1379# listing all the Hangul syllable names.
1380__DATA__
1381AC00;HANGUL SYLLABLE GA
1382AC01;HANGUL SYLLABLE GAG
1383AC02;HANGUL SYLLABLE GAGG
1384AC03;HANGUL SYLLABLE GAGS
1385AC04;HANGUL SYLLABLE GAN
1386AC05;HANGUL SYLLABLE GANJ
1387AC06;HANGUL SYLLABLE GANH
1388AC07;HANGUL SYLLABLE GAD
1389AC08;HANGUL SYLLABLE GAL
1390AC09;HANGUL SYLLABLE GALG
1391AC0A;HANGUL SYLLABLE GALM
1392AC0B;HANGUL SYLLABLE GALB
1393AC0C;HANGUL SYLLABLE GALS
1394AC0D;HANGUL SYLLABLE GALT
1395AC0E;HANGUL SYLLABLE GALP
1396AC0F;HANGUL SYLLABLE GALH
1397AC10;HANGUL SYLLABLE GAM
1398AC11;HANGUL SYLLABLE GAB
1399AC12;HANGUL SYLLABLE GABS
1400AC13;HANGUL SYLLABLE GAS
1401AC14;HANGUL SYLLABLE GASS
1402AC15;HANGUL SYLLABLE GANG
1403AC16;HANGUL SYLLABLE GAJ
1404AC17;HANGUL SYLLABLE GAC
1405AC18;HANGUL SYLLABLE GAK
1406AC19;HANGUL SYLLABLE GAT
1407AC1A;HANGUL SYLLABLE GAP
1408AC1B;HANGUL SYLLABLE GAH
1409AC1C;HANGUL SYLLABLE GAE
1410AC1D;HANGUL SYLLABLE GAEG
1411AC1E;HANGUL SYLLABLE GAEGG
1412AC1F;HANGUL SYLLABLE GAEGS
1413AC20;HANGUL SYLLABLE GAEN
1414AC21;HANGUL SYLLABLE GAENJ
1415AC22;HANGUL SYLLABLE GAENH
1416AC23;HANGUL SYLLABLE GAED
1417AC24;HANGUL SYLLABLE GAEL
1418AC25;HANGUL SYLLABLE GAELG
1419AC26;HANGUL SYLLABLE GAELM
1420AC27;HANGUL SYLLABLE GAELB
1421AC28;HANGUL SYLLABLE GAELS
1422AC29;HANGUL SYLLABLE GAELT
1423AC2A;HANGUL SYLLABLE GAELP
1424AC2B;HANGUL SYLLABLE GAELH
1425AC2C;HANGUL SYLLABLE GAEM
1426AC2D;HANGUL SYLLABLE GAEB
1427AC2E;HANGUL SYLLABLE GAEBS
1428AC2F;HANGUL SYLLABLE GAES
1429AC30;HANGUL SYLLABLE GAESS
1430AC31;HANGUL SYLLABLE GAENG
1431AC32;HANGUL SYLLABLE GAEJ
1432AC33;HANGUL SYLLABLE GAEC
1433AC34;HANGUL SYLLABLE GAEK
1434AC35;HANGUL SYLLABLE GAET
1435AC36;HANGUL SYLLABLE GAEP
1436AC37;HANGUL SYLLABLE GAEH
1437AC38;HANGUL SYLLABLE GYA
1438AC39;HANGUL SYLLABLE GYAG
1439AC3A;HANGUL SYLLABLE GYAGG
1440AC3B;HANGUL SYLLABLE GYAGS
1441AC3C;HANGUL SYLLABLE GYAN
1442AC3D;HANGUL SYLLABLE GYANJ
1443AC3E;HANGUL SYLLABLE GYANH
1444AC3F;HANGUL SYLLABLE GYAD
1445AC40;HANGUL SYLLABLE GYAL
1446AC41;HANGUL SYLLABLE GYALG
1447AC42;HANGUL SYLLABLE GYALM
1448AC43;HANGUL SYLLABLE GYALB
1449AC44;HANGUL SYLLABLE GYALS
1450AC45;HANGUL SYLLABLE GYALT
1451AC46;HANGUL SYLLABLE GYALP
1452AC47;HANGUL SYLLABLE GYALH
1453AC48;HANGUL SYLLABLE GYAM
1454AC49;HANGUL SYLLABLE GYAB
1455AC4A;HANGUL SYLLABLE GYABS
1456AC4B;HANGUL SYLLABLE GYAS
1457AC4C;HANGUL SYLLABLE GYASS
1458AC4D;HANGUL SYLLABLE GYANG
1459AC4E;HANGUL SYLLABLE GYAJ
1460AC4F;HANGUL SYLLABLE GYAC
1461AC50;HANGUL SYLLABLE GYAK
1462AC51;HANGUL SYLLABLE GYAT
1463AC52;HANGUL SYLLABLE GYAP
1464AC53;HANGUL SYLLABLE GYAH
1465AC54;HANGUL SYLLABLE GYAE
1466AC55;HANGUL SYLLABLE GYAEG
1467AC56;HANGUL SYLLABLE GYAEGG
1468AC57;HANGUL SYLLABLE GYAEGS
1469AC58;HANGUL SYLLABLE GYAEN
1470AC59;HANGUL SYLLABLE GYAENJ
1471AC5A;HANGUL SYLLABLE GYAENH
1472AC5B;HANGUL SYLLABLE GYAED
1473AC5C;HANGUL SYLLABLE GYAEL
1474AC5D;HANGUL SYLLABLE GYAELG
1475AC5E;HANGUL SYLLABLE GYAELM
1476AC5F;HANGUL SYLLABLE GYAELB
1477AC60;HANGUL SYLLABLE GYAELS
1478AC61;HANGUL SYLLABLE GYAELT
1479AC62;HANGUL SYLLABLE GYAELP
1480AC63;HANGUL SYLLABLE GYAELH
1481AC64;HANGUL SYLLABLE GYAEM
1482AC65;HANGUL SYLLABLE GYAEB
1483AC66;HANGUL SYLLABLE GYAEBS
1484AC67;HANGUL SYLLABLE GYAES
1485AC68;HANGUL SYLLABLE GYAESS
1486AC69;HANGUL SYLLABLE GYAENG
1487AC6A;HANGUL SYLLABLE GYAEJ
1488AC6B;HANGUL SYLLABLE GYAEC
1489AC6C;HANGUL SYLLABLE GYAEK
1490AC6D;HANGUL SYLLABLE GYAET
1491AC6E;HANGUL SYLLABLE GYAEP
1492AC6F;HANGUL SYLLABLE GYAEH
1493AC70;HANGUL SYLLABLE GEO
1494AC71;HANGUL SYLLABLE GEOG
1495AC72;HANGUL SYLLABLE GEOGG
1496AC73;HANGUL SYLLABLE GEOGS
1497AC74;HANGUL SYLLABLE GEON
1498AC75;HANGUL SYLLABLE GEONJ
1499AC76;HANGUL SYLLABLE GEONH
1500AC77;HANGUL SYLLABLE GEOD
1501AC78;HANGUL SYLLABLE GEOL
1502AC79;HANGUL SYLLABLE GEOLG
1503AC7A;HANGUL SYLLABLE GEOLM
1504AC7B;HANGUL SYLLABLE GEOLB
1505AC7C;HANGUL SYLLABLE GEOLS
1506AC7D;HANGUL SYLLABLE GEOLT
1507AC7E;HANGUL SYLLABLE GEOLP
1508AC7F;HANGUL SYLLABLE GEOLH
1509AC80;HANGUL SYLLABLE GEOM
1510AC81;HANGUL SYLLABLE GEOB
1511AC82;HANGUL SYLLABLE GEOBS
1512AC83;HANGUL SYLLABLE GEOS
1513AC84;HANGUL SYLLABLE GEOSS
1514AC85;HANGUL SYLLABLE GEONG
1515AC86;HANGUL SYLLABLE GEOJ
1516AC87;HANGUL SYLLABLE GEOC
1517AC88;HANGUL SYLLABLE GEOK
1518AC89;HANGUL SYLLABLE GEOT
1519AC8A;HANGUL SYLLABLE GEOP
1520AC8B;HANGUL SYLLABLE GEOH
1521AC8C;HANGUL SYLLABLE GE
1522AC8D;HANGUL SYLLABLE GEG
1523AC8E;HANGUL SYLLABLE GEGG
1524AC8F;HANGUL SYLLABLE GEGS
1525AC90;HANGUL SYLLABLE GEN
1526AC91;HANGUL SYLLABLE GENJ
1527AC92;HANGUL SYLLABLE GENH
1528AC93;HANGUL SYLLABLE GED
1529AC94;HANGUL SYLLABLE GEL
1530AC95;HANGUL SYLLABLE GELG
1531AC96;HANGUL SYLLABLE GELM
1532AC97;HANGUL SYLLABLE GELB
1533AC98;HANGUL SYLLABLE GELS
1534AC99;HANGUL SYLLABLE GELT
1535AC9A;HANGUL SYLLABLE GELP
1536AC9B;HANGUL SYLLABLE GELH
1537AC9C;HANGUL SYLLABLE GEM
1538AC9D;HANGUL SYLLABLE GEB
1539AC9E;HANGUL SYLLABLE GEBS
1540AC9F;HANGUL SYLLABLE GES
1541ACA0;HANGUL SYLLABLE GESS
1542ACA1;HANGUL SYLLABLE GENG
1543ACA2;HANGUL SYLLABLE GEJ
1544ACA3;HANGUL SYLLABLE GEC
1545ACA4;HANGUL SYLLABLE GEK
1546ACA5;HANGUL SYLLABLE GET
1547ACA6;HANGUL SYLLABLE GEP
1548ACA7;HANGUL SYLLABLE GEH
1549ACA8;HANGUL SYLLABLE GYEO
1550ACA9;HANGUL SYLLABLE GYEOG
1551ACAA;HANGUL SYLLABLE GYEOGG
1552ACAB;HANGUL SYLLABLE GYEOGS
1553ACAC;HANGUL SYLLABLE GYEON
1554ACAD;HANGUL SYLLABLE GYEONJ
1555ACAE;HANGUL SYLLABLE GYEONH
1556ACAF;HANGUL SYLLABLE GYEOD
1557ACB0;HANGUL SYLLABLE GYEOL
1558ACB1;HANGUL SYLLABLE GYEOLG
1559ACB2;HANGUL SYLLABLE GYEOLM
1560ACB3;HANGUL SYLLABLE GYEOLB
1561ACB4;HANGUL SYLLABLE GYEOLS
1562ACB5;HANGUL SYLLABLE GYEOLT
1563ACB6;HANGUL SYLLABLE GYEOLP
1564ACB7;HANGUL SYLLABLE GYEOLH
1565ACB8;HANGUL SYLLABLE GYEOM
1566ACB9;HANGUL SYLLABLE GYEOB
1567ACBA;HANGUL SYLLABLE GYEOBS
1568ACBB;HANGUL SYLLABLE GYEOS
1569ACBC;HANGUL SYLLABLE GYEOSS
1570ACBD;HANGUL SYLLABLE GYEONG
1571ACBE;HANGUL SYLLABLE GYEOJ
1572ACBF;HANGUL SYLLABLE GYEOC
1573ACC0;HANGUL SYLLABLE GYEOK
1574ACC1;HANGUL SYLLABLE GYEOT
1575ACC2;HANGUL SYLLABLE GYEOP
1576ACC3;HANGUL SYLLABLE GYEOH
1577ACC4;HANGUL SYLLABLE GYE
1578ACC5;HANGUL SYLLABLE GYEG
1579ACC6;HANGUL SYLLABLE GYEGG
1580ACC7;HANGUL SYLLABLE GYEGS
1581ACC8;HANGUL SYLLABLE GYEN
1582ACC9;HANGUL SYLLABLE GYENJ
1583ACCA;HANGUL SYLLABLE GYENH
1584ACCB;HANGUL SYLLABLE GYED
1585ACCC;HANGUL SYLLABLE GYEL
1586ACCD;HANGUL SYLLABLE GYELG
1587ACCE;HANGUL SYLLABLE GYELM
1588ACCF;HANGUL SYLLABLE GYELB
1589ACD0;HANGUL SYLLABLE GYELS
1590ACD1;HANGUL SYLLABLE GYELT
1591ACD2;HANGUL SYLLABLE GYELP
1592ACD3;HANGUL SYLLABLE GYELH
1593ACD4;HANGUL SYLLABLE GYEM
1594ACD5;HANGUL SYLLABLE GYEB
1595ACD6;HANGUL SYLLABLE GYEBS
1596ACD7;HANGUL SYLLABLE GYES
1597ACD8;HANGUL SYLLABLE GYESS
1598ACD9;HANGUL SYLLABLE GYENG
1599ACDA;HANGUL SYLLABLE GYEJ
1600ACDB;HANGUL SYLLABLE GYEC
1601ACDC;HANGUL SYLLABLE GYEK
1602ACDD;HANGUL SYLLABLE GYET
1603ACDE;HANGUL SYLLABLE GYEP
1604ACDF;HANGUL SYLLABLE GYEH
1605ACE0;HANGUL SYLLABLE GO
1606ACE1;HANGUL SYLLABLE GOG
1607ACE2;HANGUL SYLLABLE GOGG
1608ACE3;HANGUL SYLLABLE GOGS
1609ACE4;HANGUL SYLLABLE GON
1610ACE5;HANGUL SYLLABLE GONJ
1611ACE6;HANGUL SYLLABLE GONH
1612ACE7;HANGUL SYLLABLE GOD
1613ACE8;HANGUL SYLLABLE GOL
1614ACE9;HANGUL SYLLABLE GOLG
1615ACEA;HANGUL SYLLABLE GOLM
1616ACEB;HANGUL SYLLABLE GOLB
1617ACEC;HANGUL SYLLABLE GOLS
1618ACED;HANGUL SYLLABLE GOLT
1619ACEE;HANGUL SYLLABLE GOLP
1620ACEF;HANGUL SYLLABLE GOLH
1621ACF0;HANGUL SYLLABLE GOM
1622ACF1;HANGUL SYLLABLE GOB
1623ACF2;HANGUL SYLLABLE GOBS
1624ACF3;HANGUL SYLLABLE GOS
1625ACF4;HANGUL SYLLABLE GOSS
1626ACF5;HANGUL SYLLABLE GONG
1627ACF6;HANGUL SYLLABLE GOJ
1628ACF7;HANGUL SYLLABLE GOC
1629ACF8;HANGUL SYLLABLE GOK
1630ACF9;HANGUL SYLLABLE GOT
1631ACFA;HANGUL SYLLABLE GOP
1632ACFB;HANGUL SYLLABLE GOH
1633ACFC;HANGUL SYLLABLE GWA
1634ACFD;HANGUL SYLLABLE GWAG
1635ACFE;HANGUL SYLLABLE GWAGG
1636ACFF;HANGUL SYLLABLE GWAGS
1637AD00;HANGUL SYLLABLE GWAN
1638AD01;HANGUL SYLLABLE GWANJ
1639AD02;HANGUL SYLLABLE GWANH
1640AD03;HANGUL SYLLABLE GWAD
1641AD04;HANGUL SYLLABLE GWAL
1642AD05;HANGUL SYLLABLE GWALG
1643AD06;HANGUL SYLLABLE GWALM
1644AD07;HANGUL SYLLABLE GWALB
1645AD08;HANGUL SYLLABLE GWALS
1646AD09;HANGUL SYLLABLE GWALT
1647AD0A;HANGUL SYLLABLE GWALP
1648AD0B;HANGUL SYLLABLE GWALH
1649AD0C;HANGUL SYLLABLE GWAM
1650AD0D;HANGUL SYLLABLE GWAB
1651AD0E;HANGUL SYLLABLE GWABS
1652AD0F;HANGUL SYLLABLE GWAS
1653AD10;HANGUL SYLLABLE GWASS
1654AD11;HANGUL SYLLABLE GWANG
1655AD12;HANGUL SYLLABLE GWAJ
1656AD13;HANGUL SYLLABLE GWAC
1657AD14;HANGUL SYLLABLE GWAK
1658AD15;HANGUL SYLLABLE GWAT
1659AD16;HANGUL SYLLABLE GWAP
1660AD17;HANGUL SYLLABLE GWAH
1661AD18;HANGUL SYLLABLE GWAE
1662AD19;HANGUL SYLLABLE GWAEG
1663AD1A;HANGUL SYLLABLE GWAEGG
1664AD1B;HANGUL SYLLABLE GWAEGS
1665AD1C;HANGUL SYLLABLE GWAEN
1666AD1D;HANGUL SYLLABLE GWAENJ
1667AD1E;HANGUL SYLLABLE GWAENH
1668AD1F;HANGUL SYLLABLE GWAED
1669AD20;HANGUL SYLLABLE GWAEL
1670AD21;HANGUL SYLLABLE GWAELG
1671AD22;HANGUL SYLLABLE GWAELM
1672AD23;HANGUL SYLLABLE GWAELB
1673AD24;HANGUL SYLLABLE GWAELS
1674AD25;HANGUL SYLLABLE GWAELT
1675AD26;HANGUL SYLLABLE GWAELP
1676AD27;HANGUL SYLLABLE GWAELH
1677AD28;HANGUL SYLLABLE GWAEM
1678AD29;HANGUL SYLLABLE GWAEB
1679AD2A;HANGUL SYLLABLE GWAEBS
1680AD2B;HANGUL SYLLABLE GWAES
1681AD2C;HANGUL SYLLABLE GWAESS
1682AD2D;HANGUL SYLLABLE GWAENG
1683AD2E;HANGUL SYLLABLE GWAEJ
1684AD2F;HANGUL SYLLABLE GWAEC
1685AD30;HANGUL SYLLABLE GWAEK
1686AD31;HANGUL SYLLABLE GWAET
1687AD32;HANGUL SYLLABLE GWAEP
1688AD33;HANGUL SYLLABLE GWAEH
1689AD34;HANGUL SYLLABLE GOE
1690AD35;HANGUL SYLLABLE GOEG
1691AD36;HANGUL SYLLABLE GOEGG
1692AD37;HANGUL SYLLABLE GOEGS
1693AD38;HANGUL SYLLABLE GOEN
1694AD39;HANGUL SYLLABLE GOENJ
1695AD3A;HANGUL SYLLABLE GOENH
1696AD3B;HANGUL SYLLABLE GOED
1697AD3C;HANGUL SYLLABLE GOEL
1698AD3D;HANGUL SYLLABLE GOELG
1699AD3E;HANGUL SYLLABLE GOELM
1700AD3F;HANGUL SYLLABLE GOELB
1701AD40;HANGUL SYLLABLE GOELS
1702AD41;HANGUL SYLLABLE GOELT
1703AD42;HANGUL SYLLABLE GOELP
1704AD43;HANGUL SYLLABLE GOELH
1705AD44;HANGUL SYLLABLE GOEM
1706AD45;HANGUL SYLLABLE GOEB
1707AD46;HANGUL SYLLABLE GOEBS
1708AD47;HANGUL SYLLABLE GOES
1709AD48;HANGUL SYLLABLE GOESS
1710AD49;HANGUL SYLLABLE GOENG
1711AD4A;HANGUL SYLLABLE GOEJ
1712AD4B;HANGUL SYLLABLE GOEC
1713AD4C;HANGUL SYLLABLE GOEK
1714AD4D;HANGUL SYLLABLE GOET
1715AD4E;HANGUL SYLLABLE GOEP
1716AD4F;HANGUL SYLLABLE GOEH
1717AD50;HANGUL SYLLABLE GYO
1718AD51;HANGUL SYLLABLE GYOG
1719AD52;HANGUL SYLLABLE GYOGG
1720AD53;HANGUL SYLLABLE GYOGS
1721AD54;HANGUL SYLLABLE GYON
1722AD55;HANGUL SYLLABLE GYONJ
1723AD56;HANGUL SYLLABLE GYONH
1724AD57;HANGUL SYLLABLE GYOD
1725AD58;HANGUL SYLLABLE GYOL
1726AD59;HANGUL SYLLABLE GYOLG
1727AD5A;HANGUL SYLLABLE GYOLM
1728AD5B;HANGUL SYLLABLE GYOLB
1729AD5C;HANGUL SYLLABLE GYOLS
1730AD5D;HANGUL SYLLABLE GYOLT
1731AD5E;HANGUL SYLLABLE GYOLP
1732AD5F;HANGUL SYLLABLE GYOLH
1733AD60;HANGUL SYLLABLE GYOM
1734AD61;HANGUL SYLLABLE GYOB
1735AD62;HANGUL SYLLABLE GYOBS
1736AD63;HANGUL SYLLABLE GYOS
1737AD64;HANGUL SYLLABLE GYOSS
1738AD65;HANGUL SYLLABLE GYONG
1739AD66;HANGUL SYLLABLE GYOJ
1740AD67;HANGUL SYLLABLE GYOC
1741AD68;HANGUL SYLLABLE GYOK
1742AD69;HANGUL SYLLABLE GYOT
1743AD6A;HANGUL SYLLABLE GYOP
1744AD6B;HANGUL SYLLABLE GYOH
1745AD6C;HANGUL SYLLABLE GU
1746AD6D;HANGUL SYLLABLE GUG
1747AD6E;HANGUL SYLLABLE GUGG
1748AD6F;HANGUL SYLLABLE GUGS
1749AD70;HANGUL SYLLABLE GUN
1750AD71;HANGUL SYLLABLE GUNJ
1751AD72;HANGUL SYLLABLE GUNH
1752AD73;HANGUL SYLLABLE GUD
1753AD74;HANGUL SYLLABLE GUL
1754AD75;HANGUL SYLLABLE GULG
1755AD76;HANGUL SYLLABLE GULM
1756AD77;HANGUL SYLLABLE GULB
1757AD78;HANGUL SYLLABLE GULS
1758AD79;HANGUL SYLLABLE GULT
1759AD7A;HANGUL SYLLABLE GULP
1760AD7B;HANGUL SYLLABLE GULH
1761AD7C;HANGUL SYLLABLE GUM
1762AD7D;HANGUL SYLLABLE GUB
1763AD7E;HANGUL SYLLABLE GUBS
1764AD7F;HANGUL SYLLABLE GUS
1765AD80;HANGUL SYLLABLE GUSS
1766AD81;HANGUL SYLLABLE GUNG
1767AD82;HANGUL SYLLABLE GUJ
1768AD83;HANGUL SYLLABLE GUC
1769AD84;HANGUL SYLLABLE GUK
1770AD85;HANGUL SYLLABLE GUT
1771AD86;HANGUL SYLLABLE GUP
1772AD87;HANGUL SYLLABLE GUH
1773AD88;HANGUL SYLLABLE GWEO
1774AD89;HANGUL SYLLABLE GWEOG
1775AD8A;HANGUL SYLLABLE GWEOGG
1776AD8B;HANGUL SYLLABLE GWEOGS
1777AD8C;HANGUL SYLLABLE GWEON
1778AD8D;HANGUL SYLLABLE GWEONJ
1779AD8E;HANGUL SYLLABLE GWEONH
1780AD8F;HANGUL SYLLABLE GWEOD
1781AD90;HANGUL SYLLABLE GWEOL
1782AD91;HANGUL SYLLABLE GWEOLG
1783AD92;HANGUL SYLLABLE GWEOLM
1784AD93;HANGUL SYLLABLE GWEOLB
1785AD94;HANGUL SYLLABLE GWEOLS
1786AD95;HANGUL SYLLABLE GWEOLT
1787AD96;HANGUL SYLLABLE GWEOLP
1788AD97;HANGUL SYLLABLE GWEOLH
1789AD98;HANGUL SYLLABLE GWEOM
1790AD99;HANGUL SYLLABLE GWEOB
1791AD9A;HANGUL SYLLABLE GWEOBS
1792AD9B;HANGUL SYLLABLE GWEOS
1793AD9C;HANGUL SYLLABLE GWEOSS
1794AD9D;HANGUL SYLLABLE GWEONG
1795AD9E;HANGUL SYLLABLE GWEOJ
1796AD9F;HANGUL SYLLABLE GWEOC
1797ADA0;HANGUL SYLLABLE GWEOK
1798ADA1;HANGUL SYLLABLE GWEOT
1799ADA2;HANGUL SYLLABLE GWEOP
1800ADA3;HANGUL SYLLABLE GWEOH
1801ADA4;HANGUL SYLLABLE GWE
1802ADA5;HANGUL SYLLABLE GWEG
1803ADA6;HANGUL SYLLABLE GWEGG
1804ADA7;HANGUL SYLLABLE GWEGS
1805ADA8;HANGUL SYLLABLE GWEN
1806ADA9;HANGUL SYLLABLE GWENJ
1807ADAA;HANGUL SYLLABLE GWENH
1808ADAB;HANGUL SYLLABLE GWED
1809ADAC;HANGUL SYLLABLE GWEL
1810ADAD;HANGUL SYLLABLE GWELG
1811ADAE;HANGUL SYLLABLE GWELM
1812ADAF;HANGUL SYLLABLE GWELB
1813ADB0;HANGUL SYLLABLE GWELS
1814ADB1;HANGUL SYLLABLE GWELT
1815ADB2;HANGUL SYLLABLE GWELP
1816ADB3;HANGUL SYLLABLE GWELH
1817ADB4;HANGUL SYLLABLE GWEM
1818ADB5;HANGUL SYLLABLE GWEB
1819ADB6;HANGUL SYLLABLE GWEBS
1820ADB7;HANGUL SYLLABLE GWES
1821ADB8;HANGUL SYLLABLE GWESS
1822ADB9;HANGUL SYLLABLE GWENG
1823ADBA;HANGUL SYLLABLE GWEJ
1824ADBB;HANGUL SYLLABLE GWEC
1825ADBC;HANGUL SYLLABLE GWEK
1826ADBD;HANGUL SYLLABLE GWET
1827ADBE;HANGUL SYLLABLE GWEP
1828ADBF;HANGUL SYLLABLE GWEH
1829ADC0;HANGUL SYLLABLE GWI
1830ADC1;HANGUL SYLLABLE GWIG
1831ADC2;HANGUL SYLLABLE GWIGG
1832ADC3;HANGUL SYLLABLE GWIGS
1833ADC4;HANGUL SYLLABLE GWIN
1834ADC5;HANGUL SYLLABLE GWINJ
1835ADC6;HANGUL SYLLABLE GWINH
1836ADC7;HANGUL SYLLABLE GWID
1837ADC8;HANGUL SYLLABLE GWIL
1838ADC9;HANGUL SYLLABLE GWILG
1839ADCA;HANGUL SYLLABLE GWILM
1840ADCB;HANGUL SYLLABLE GWILB
1841ADCC;HANGUL SYLLABLE GWILS
1842ADCD;HANGUL SYLLABLE GWILT
1843ADCE;HANGUL SYLLABLE GWILP
1844ADCF;HANGUL SYLLABLE GWILH
1845ADD0;HANGUL SYLLABLE GWIM
1846ADD1;HANGUL SYLLABLE GWIB
1847ADD2;HANGUL SYLLABLE GWIBS
1848ADD3;HANGUL SYLLABLE GWIS
1849ADD4;HANGUL SYLLABLE GWISS
1850ADD5;HANGUL SYLLABLE GWING
1851ADD6;HANGUL SYLLABLE GWIJ
1852ADD7;HANGUL SYLLABLE GWIC
1853ADD8;HANGUL SYLLABLE GWIK
1854ADD9;HANGUL SYLLABLE GWIT
1855ADDA;HANGUL SYLLABLE GWIP
1856ADDB;HANGUL SYLLABLE GWIH
1857ADDC;HANGUL SYLLABLE GYU
1858ADDD;HANGUL SYLLABLE GYUG
1859ADDE;HANGUL SYLLABLE GYUGG
1860ADDF;HANGUL SYLLABLE GYUGS
1861ADE0;HANGUL SYLLABLE GYUN
1862ADE1;HANGUL SYLLABLE GYUNJ
1863ADE2;HANGUL SYLLABLE GYUNH
1864ADE3;HANGUL SYLLABLE GYUD
1865ADE4;HANGUL SYLLABLE GYUL
1866ADE5;HANGUL SYLLABLE GYULG
1867ADE6;HANGUL SYLLABLE GYULM
1868ADE7;HANGUL SYLLABLE GYULB
1869ADE8;HANGUL SYLLABLE GYULS
1870ADE9;HANGUL SYLLABLE GYULT
1871ADEA;HANGUL SYLLABLE GYULP
1872ADEB;HANGUL SYLLABLE GYULH
1873ADEC;HANGUL SYLLABLE GYUM
1874ADED;HANGUL SYLLABLE GYUB
1875ADEE;HANGUL SYLLABLE GYUBS
1876ADEF;HANGUL SYLLABLE GYUS
1877ADF0;HANGUL SYLLABLE GYUSS
1878ADF1;HANGUL SYLLABLE GYUNG
1879ADF2;HANGUL SYLLABLE GYUJ
1880ADF3;HANGUL SYLLABLE GYUC
1881ADF4;HANGUL SYLLABLE GYUK
1882ADF5;HANGUL SYLLABLE GYUT
1883ADF6;HANGUL SYLLABLE GYUP
1884ADF7;HANGUL SYLLABLE GYUH
1885ADF8;HANGUL SYLLABLE GEU
1886ADF9;HANGUL SYLLABLE GEUG
1887ADFA;HANGUL SYLLABLE GEUGG
1888ADFB;HANGUL SYLLABLE GEUGS
1889ADFC;HANGUL SYLLABLE GEUN
1890ADFD;HANGUL SYLLABLE GEUNJ
1891ADFE;HANGUL SYLLABLE GEUNH
1892ADFF;HANGUL SYLLABLE GEUD
1893AE00;HANGUL SYLLABLE GEUL
1894AE01;HANGUL SYLLABLE GEULG
1895AE02;HANGUL SYLLABLE GEULM
1896AE03;HANGUL SYLLABLE GEULB
1897AE04;HANGUL SYLLABLE GEULS
1898AE05;HANGUL SYLLABLE GEULT
1899AE06;HANGUL SYLLABLE GEULP
1900AE07;HANGUL SYLLABLE GEULH
1901AE08;HANGUL SYLLABLE GEUM
1902AE09;HANGUL SYLLABLE GEUB
1903AE0A;HANGUL SYLLABLE GEUBS
1904AE0B;HANGUL SYLLABLE GEUS
1905AE0C;HANGUL SYLLABLE GEUSS
1906AE0D;HANGUL SYLLABLE GEUNG
1907AE0E;HANGUL SYLLABLE GEUJ
1908AE0F;HANGUL SYLLABLE GEUC
1909AE10;HANGUL SYLLABLE GEUK
1910AE11;HANGUL SYLLABLE GEUT
1911AE12;HANGUL SYLLABLE GEUP
1912AE13;HANGUL SYLLABLE GEUH
1913AE14;HANGUL SYLLABLE GYI
1914AE15;HANGUL SYLLABLE GYIG
1915AE16;HANGUL SYLLABLE GYIGG
1916AE17;HANGUL SYLLABLE GYIGS
1917AE18;HANGUL SYLLABLE GYIN
1918AE19;HANGUL SYLLABLE GYINJ
1919AE1A;HANGUL SYLLABLE GYINH
1920AE1B;HANGUL SYLLABLE GYID
1921AE1C;HANGUL SYLLABLE GYIL
1922AE1D;HANGUL SYLLABLE GYILG
1923AE1E;HANGUL SYLLABLE GYILM
1924AE1F;HANGUL SYLLABLE GYILB
1925AE20;HANGUL SYLLABLE GYILS
1926AE21;HANGUL SYLLABLE GYILT
1927AE22;HANGUL SYLLABLE GYILP
1928AE23;HANGUL SYLLABLE GYILH
1929AE24;HANGUL SYLLABLE GYIM
1930AE25;HANGUL SYLLABLE GYIB
1931AE26;HANGUL SYLLABLE GYIBS
1932AE27;HANGUL SYLLABLE GYIS
1933AE28;HANGUL SYLLABLE GYISS
1934AE29;HANGUL SYLLABLE GYING
1935AE2A;HANGUL SYLLABLE GYIJ
1936AE2B;HANGUL SYLLABLE GYIC
1937AE2C;HANGUL SYLLABLE GYIK
1938AE2D;HANGUL SYLLABLE GYIT
1939AE2E;HANGUL SYLLABLE GYIP
1940AE2F;HANGUL SYLLABLE GYIH
1941AE30;HANGUL SYLLABLE GI
1942AE31;HANGUL SYLLABLE GIG
1943AE32;HANGUL SYLLABLE GIGG
1944AE33;HANGUL SYLLABLE GIGS
1945AE34;HANGUL SYLLABLE GIN
1946AE35;HANGUL SYLLABLE GINJ
1947AE36;HANGUL SYLLABLE GINH
1948AE37;HANGUL SYLLABLE GID
1949AE38;HANGUL SYLLABLE GIL
1950AE39;HANGUL SYLLABLE GILG
1951AE3A;HANGUL SYLLABLE GILM
1952AE3B;HANGUL SYLLABLE GILB
1953AE3C;HANGUL SYLLABLE GILS
1954AE3D;HANGUL SYLLABLE GILT
1955AE3E;HANGUL SYLLABLE GILP
1956AE3F;HANGUL SYLLABLE GILH
1957AE40;HANGUL SYLLABLE GIM
1958AE41;HANGUL SYLLABLE GIB
1959AE42;HANGUL SYLLABLE GIBS
1960AE43;HANGUL SYLLABLE GIS
1961AE44;HANGUL SYLLABLE GISS
1962AE45;HANGUL SYLLABLE GING
1963AE46;HANGUL SYLLABLE GIJ
1964AE47;HANGUL SYLLABLE GIC
1965AE48;HANGUL SYLLABLE GIK
1966AE49;HANGUL SYLLABLE GIT
1967AE4A;HANGUL SYLLABLE GIP
1968AE4B;HANGUL SYLLABLE GIH
1969AE4C;HANGUL SYLLABLE GGA
1970AE4D;HANGUL SYLLABLE GGAG
1971AE4E;HANGUL SYLLABLE GGAGG
1972AE4F;HANGUL SYLLABLE GGAGS
1973AE50;HANGUL SYLLABLE GGAN
1974AE51;HANGUL SYLLABLE GGANJ
1975AE52;HANGUL SYLLABLE GGANH
1976AE53;HANGUL SYLLABLE GGAD
1977AE54;HANGUL SYLLABLE GGAL
1978AE55;HANGUL SYLLABLE GGALG
1979AE56;HANGUL SYLLABLE GGALM
1980AE57;HANGUL SYLLABLE GGALB
1981AE58;HANGUL SYLLABLE GGALS
1982AE59;HANGUL SYLLABLE GGALT
1983AE5A;HANGUL SYLLABLE GGALP
1984AE5B;HANGUL SYLLABLE GGALH
1985AE5C;HANGUL SYLLABLE GGAM
1986AE5D;HANGUL SYLLABLE GGAB
1987AE5E;HANGUL SYLLABLE GGABS
1988AE5F;HANGUL SYLLABLE GGAS
1989AE60;HANGUL SYLLABLE GGASS
1990AE61;HANGUL SYLLABLE GGANG
1991AE62;HANGUL SYLLABLE GGAJ
1992AE63;HANGUL SYLLABLE GGAC
1993AE64;HANGUL SYLLABLE GGAK
1994AE65;HANGUL SYLLABLE GGAT
1995AE66;HANGUL SYLLABLE GGAP
1996AE67;HANGUL SYLLABLE GGAH
1997AE68;HANGUL SYLLABLE GGAE
1998AE69;HANGUL SYLLABLE GGAEG
1999AE6A;HANGUL SYLLABLE GGAEGG
2000AE6B;HANGUL SYLLABLE GGAEGS
2001AE6C;HANGUL SYLLABLE GGAEN
2002AE6D;HANGUL SYLLABLE GGAENJ
2003AE6E;HANGUL SYLLABLE GGAENH
2004AE6F;HANGUL SYLLABLE GGAED
2005AE70;HANGUL SYLLABLE GGAEL
2006AE71;HANGUL SYLLABLE GGAELG
2007AE72;HANGUL SYLLABLE GGAELM
2008AE73;HANGUL SYLLABLE GGAELB
2009AE74;HANGUL SYLLABLE GGAELS
2010AE75;HANGUL SYLLABLE GGAELT
2011AE76;HANGUL SYLLABLE GGAELP
2012AE77;HANGUL SYLLABLE GGAELH
2013AE78;HANGUL SYLLABLE GGAEM
2014AE79;HANGUL SYLLABLE GGAEB
2015AE7A;HANGUL SYLLABLE GGAEBS
2016AE7B;HANGUL SYLLABLE GGAES
2017AE7C;HANGUL SYLLABLE GGAESS
2018AE7D;HANGUL SYLLABLE GGAENG
2019AE7E;HANGUL SYLLABLE GGAEJ
2020AE7F;HANGUL SYLLABLE GGAEC
2021AE80;HANGUL SYLLABLE GGAEK
2022AE81;HANGUL SYLLABLE GGAET
2023AE82;HANGUL SYLLABLE GGAEP
2024AE83;HANGUL SYLLABLE GGAEH
2025AE84;HANGUL SYLLABLE GGYA
2026AE85;HANGUL SYLLABLE GGYAG
2027AE86;HANGUL SYLLABLE GGYAGG
2028AE87;HANGUL SYLLABLE GGYAGS
2029AE88;HANGUL SYLLABLE GGYAN
2030AE89;HANGUL SYLLABLE GGYANJ
2031AE8A;HANGUL SYLLABLE GGYANH
2032AE8B;HANGUL SYLLABLE GGYAD
2033AE8C;HANGUL SYLLABLE GGYAL
2034AE8D;HANGUL SYLLABLE GGYALG
2035AE8E;HANGUL SYLLABLE GGYALM
2036AE8F;HANGUL SYLLABLE GGYALB
2037AE90;HANGUL SYLLABLE GGYALS
2038AE91;HANGUL SYLLABLE GGYALT
2039AE92;HANGUL SYLLABLE GGYALP
2040AE93;HANGUL SYLLABLE GGYALH
2041AE94;HANGUL SYLLABLE GGYAM
2042AE95;HANGUL SYLLABLE GGYAB
2043AE96;HANGUL SYLLABLE GGYABS
2044AE97;HANGUL SYLLABLE GGYAS
2045AE98;HANGUL SYLLABLE GGYASS
2046AE99;HANGUL SYLLABLE GGYANG
2047AE9A;HANGUL SYLLABLE GGYAJ
2048AE9B;HANGUL SYLLABLE GGYAC
2049AE9C;HANGUL SYLLABLE GGYAK
2050AE9D;HANGUL SYLLABLE GGYAT
2051AE9E;HANGUL SYLLABLE GGYAP
2052AE9F;HANGUL SYLLABLE GGYAH
2053AEA0;HANGUL SYLLABLE GGYAE
2054AEA1;HANGUL SYLLABLE GGYAEG
2055AEA2;HANGUL SYLLABLE GGYAEGG
2056AEA3;HANGUL SYLLABLE GGYAEGS
2057AEA4;HANGUL SYLLABLE GGYAEN
2058AEA5;HANGUL SYLLABLE GGYAENJ
2059AEA6;HANGUL SYLLABLE GGYAENH
2060AEA7;HANGUL SYLLABLE GGYAED
2061AEA8;HANGUL SYLLABLE GGYAEL
2062AEA9;HANGUL SYLLABLE GGYAELG
2063AEAA;HANGUL SYLLABLE GGYAELM
2064AEAB;HANGUL SYLLABLE GGYAELB
2065AEAC;HANGUL SYLLABLE GGYAELS
2066AEAD;HANGUL SYLLABLE GGYAELT
2067AEAE;HANGUL SYLLABLE GGYAELP
2068AEAF;HANGUL SYLLABLE GGYAELH
2069AEB0;HANGUL SYLLABLE GGYAEM
2070AEB1;HANGUL SYLLABLE GGYAEB
2071AEB2;HANGUL SYLLABLE GGYAEBS
2072AEB3;HANGUL SYLLABLE GGYAES
2073AEB4;HANGUL SYLLABLE GGYAESS
2074AEB5;HANGUL SYLLABLE GGYAENG
2075AEB6;HANGUL SYLLABLE GGYAEJ
2076AEB7;HANGUL SYLLABLE GGYAEC
2077AEB8;HANGUL SYLLABLE GGYAEK
2078AEB9;HANGUL SYLLABLE GGYAET
2079AEBA;HANGUL SYLLABLE GGYAEP
2080AEBB;HANGUL SYLLABLE GGYAEH
2081AEBC;HANGUL SYLLABLE GGEO
2082AEBD;HANGUL SYLLABLE GGEOG
2083AEBE;HANGUL SYLLABLE GGEOGG
2084AEBF;HANGUL SYLLABLE GGEOGS
2085AEC0;HANGUL SYLLABLE GGEON
2086AEC1;HANGUL SYLLABLE GGEONJ
2087AEC2;HANGUL SYLLABLE GGEONH
2088AEC3;HANGUL SYLLABLE GGEOD
2089AEC4;HANGUL SYLLABLE GGEOL
2090AEC5;HANGUL SYLLABLE GGEOLG
2091AEC6;HANGUL SYLLABLE GGEOLM
2092AEC7;HANGUL SYLLABLE GGEOLB
2093AEC8;HANGUL SYLLABLE GGEOLS
2094AEC9;HANGUL SYLLABLE GGEOLT
2095AECA;HANGUL SYLLABLE GGEOLP
2096AECB;HANGUL SYLLABLE GGEOLH
2097AECC;HANGUL SYLLABLE GGEOM
2098AECD;HANGUL SYLLABLE GGEOB
2099AECE;HANGUL SYLLABLE GGEOBS
2100AECF;HANGUL SYLLABLE GGEOS
2101AED0;HANGUL SYLLABLE GGEOSS
2102AED1;HANGUL SYLLABLE GGEONG
2103AED2;HANGUL SYLLABLE GGEOJ
2104AED3;HANGUL SYLLABLE GGEOC
2105AED4;HANGUL SYLLABLE GGEOK
2106AED5;HANGUL SYLLABLE GGEOT
2107AED6;HANGUL SYLLABLE GGEOP
2108AED7;HANGUL SYLLABLE GGEOH
2109AED8;HANGUL SYLLABLE GGE
2110AED9;HANGUL SYLLABLE GGEG
2111AEDA;HANGUL SYLLABLE GGEGG
2112AEDB;HANGUL SYLLABLE GGEGS
2113AEDC;HANGUL SYLLABLE GGEN
2114AEDD;HANGUL SYLLABLE GGENJ
2115AEDE;HANGUL SYLLABLE GGENH
2116AEDF;HANGUL SYLLABLE GGED
2117AEE0;HANGUL SYLLABLE GGEL
2118AEE1;HANGUL SYLLABLE GGELG
2119AEE2;HANGUL SYLLABLE GGELM
2120AEE3;HANGUL SYLLABLE GGELB
2121AEE4;HANGUL SYLLABLE GGELS
2122AEE5;HANGUL SYLLABLE GGELT
2123AEE6;HANGUL SYLLABLE GGELP
2124AEE7;HANGUL SYLLABLE GGELH
2125AEE8;HANGUL SYLLABLE GGEM
2126AEE9;HANGUL SYLLABLE GGEB
2127AEEA;HANGUL SYLLABLE GGEBS
2128AEEB;HANGUL SYLLABLE GGES
2129AEEC;HANGUL SYLLABLE GGESS
2130AEED;HANGUL SYLLABLE GGENG
2131AEEE;HANGUL SYLLABLE GGEJ
2132AEEF;HANGUL SYLLABLE GGEC
2133AEF0;HANGUL SYLLABLE GGEK
2134AEF1;HANGUL SYLLABLE GGET
2135AEF2;HANGUL SYLLABLE GGEP
2136AEF3;HANGUL SYLLABLE GGEH
2137AEF4;HANGUL SYLLABLE GGYEO
2138AEF5;HANGUL SYLLABLE GGYEOG
2139AEF6;HANGUL SYLLABLE GGYEOGG
2140AEF7;HANGUL SYLLABLE GGYEOGS
2141AEF8;HANGUL SYLLABLE GGYEON
2142AEF9;HANGUL SYLLABLE GGYEONJ
2143AEFA;HANGUL SYLLABLE GGYEONH
2144AEFB;HANGUL SYLLABLE GGYEOD
2145AEFC;HANGUL SYLLABLE GGYEOL
2146AEFD;HANGUL SYLLABLE GGYEOLG
2147AEFE;HANGUL SYLLABLE GGYEOLM
2148AEFF;HANGUL SYLLABLE GGYEOLB
2149AF00;HANGUL SYLLABLE GGYEOLS
2150AF01;HANGUL SYLLABLE GGYEOLT
2151AF02;HANGUL SYLLABLE GGYEOLP
2152AF03;HANGUL SYLLABLE GGYEOLH
2153AF04;HANGUL SYLLABLE GGYEOM
2154AF05;HANGUL SYLLABLE GGYEOB
2155AF06;HANGUL SYLLABLE GGYEOBS
2156AF07;HANGUL SYLLABLE GGYEOS
2157AF08;HANGUL SYLLABLE GGYEOSS
2158AF09;HANGUL SYLLABLE GGYEONG
2159AF0A;HANGUL SYLLABLE GGYEOJ
2160AF0B;HANGUL SYLLABLE GGYEOC
2161AF0C;HANGUL SYLLABLE GGYEOK
2162AF0D;HANGUL SYLLABLE GGYEOT
2163AF0E;HANGUL SYLLABLE GGYEOP
2164AF0F;HANGUL SYLLABLE GGYEOH
2165AF10;HANGUL SYLLABLE GGYE
2166AF11;HANGUL SYLLABLE GGYEG
2167AF12;HANGUL SYLLABLE GGYEGG
2168AF13;HANGUL SYLLABLE GGYEGS
2169AF14;HANGUL SYLLABLE GGYEN
2170AF15;HANGUL SYLLABLE GGYENJ
2171AF16;HANGUL SYLLABLE GGYENH
2172AF17;HANGUL SYLLABLE GGYED
2173AF18;HANGUL SYLLABLE GGYEL
2174AF19;HANGUL SYLLABLE GGYELG
2175AF1A;HANGUL SYLLABLE GGYELM
2176AF1B;HANGUL SYLLABLE GGYELB
2177AF1C;HANGUL SYLLABLE GGYELS
2178AF1D;HANGUL SYLLABLE GGYELT
2179AF1E;HANGUL SYLLABLE GGYELP
2180AF1F;HANGUL SYLLABLE GGYELH
2181AF20;HANGUL SYLLABLE GGYEM
2182AF21;HANGUL SYLLABLE GGYEB
2183AF22;HANGUL SYLLABLE GGYEBS
2184AF23;HANGUL SYLLABLE GGYES
2185AF24;HANGUL SYLLABLE GGYESS
2186AF25;HANGUL SYLLABLE GGYENG
2187AF26;HANGUL SYLLABLE GGYEJ
2188AF27;HANGUL SYLLABLE GGYEC
2189AF28;HANGUL SYLLABLE GGYEK
2190AF29;HANGUL SYLLABLE GGYET
2191AF2A;HANGUL SYLLABLE GGYEP
2192AF2B;HANGUL SYLLABLE GGYEH
2193AF2C;HANGUL SYLLABLE GGO
2194AF2D;HANGUL SYLLABLE GGOG
2195AF2E;HANGUL SYLLABLE GGOGG
2196AF2F;HANGUL SYLLABLE GGOGS
2197AF30;HANGUL SYLLABLE GGON
2198AF31;HANGUL SYLLABLE GGONJ
2199AF32;HANGUL SYLLABLE GGONH
2200AF33;HANGUL SYLLABLE GGOD
2201AF34;HANGUL SYLLABLE GGOL
2202AF35;HANGUL SYLLABLE GGOLG
2203AF36;HANGUL SYLLABLE GGOLM
2204AF37;HANGUL SYLLABLE GGOLB
2205AF38;HANGUL SYLLABLE GGOLS
2206AF39;HANGUL SYLLABLE GGOLT
2207AF3A;HANGUL SYLLABLE GGOLP
2208AF3B;HANGUL SYLLABLE GGOLH
2209AF3C;HANGUL SYLLABLE GGOM
2210AF3D;HANGUL SYLLABLE GGOB
2211AF3E;HANGUL SYLLABLE GGOBS
2212AF3F;HANGUL SYLLABLE GGOS
2213AF40;HANGUL SYLLABLE GGOSS
2214AF41;HANGUL SYLLABLE GGONG
2215AF42;HANGUL SYLLABLE GGOJ
2216AF43;HANGUL SYLLABLE GGOC
2217AF44;HANGUL SYLLABLE GGOK
2218AF45;HANGUL SYLLABLE GGOT
2219AF46;HANGUL SYLLABLE GGOP
2220AF47;HANGUL SYLLABLE GGOH
2221AF48;HANGUL SYLLABLE GGWA
2222AF49;HANGUL SYLLABLE GGWAG
2223AF4A;HANGUL SYLLABLE GGWAGG
2224AF4B;HANGUL SYLLABLE GGWAGS
2225AF4C;HANGUL SYLLABLE GGWAN
2226AF4D;HANGUL SYLLABLE GGWANJ
2227AF4E;HANGUL SYLLABLE GGWANH
2228AF4F;HANGUL SYLLABLE GGWAD
2229AF50;HANGUL SYLLABLE GGWAL
2230AF51;HANGUL SYLLABLE GGWALG
2231AF52;HANGUL SYLLABLE GGWALM
2232AF53;HANGUL SYLLABLE GGWALB
2233AF54;HANGUL SYLLABLE GGWALS
2234AF55;HANGUL SYLLABLE GGWALT
2235AF56;HANGUL SYLLABLE GGWALP
2236AF57;HANGUL SYLLABLE GGWALH
2237AF58;HANGUL SYLLABLE GGWAM
2238AF59;HANGUL SYLLABLE GGWAB
2239AF5A;HANGUL SYLLABLE GGWABS
2240AF5B;HANGUL SYLLABLE GGWAS
2241AF5C;HANGUL SYLLABLE GGWASS
2242AF5D;HANGUL SYLLABLE GGWANG
2243AF5E;HANGUL SYLLABLE GGWAJ
2244AF5F;HANGUL SYLLABLE GGWAC
2245AF60;HANGUL SYLLABLE GGWAK
2246AF61;HANGUL SYLLABLE GGWAT
2247AF62;HANGUL SYLLABLE GGWAP
2248AF63;HANGUL SYLLABLE GGWAH
2249AF64;HANGUL SYLLABLE GGWAE
2250AF65;HANGUL SYLLABLE GGWAEG
2251AF66;HANGUL SYLLABLE GGWAEGG
2252AF67;HANGUL SYLLABLE GGWAEGS
2253AF68;HANGUL SYLLABLE GGWAEN
2254AF69;HANGUL SYLLABLE GGWAENJ
2255AF6A;HANGUL SYLLABLE GGWAENH
2256AF6B;HANGUL SYLLABLE GGWAED
2257AF6C;HANGUL SYLLABLE GGWAEL
2258AF6D;HANGUL SYLLABLE GGWAELG
2259AF6E;HANGUL SYLLABLE GGWAELM
2260AF6F;HANGUL SYLLABLE GGWAELB
2261AF70;HANGUL SYLLABLE GGWAELS
2262AF71;HANGUL SYLLABLE GGWAELT
2263AF72;HANGUL SYLLABLE GGWAELP
2264AF73;HANGUL SYLLABLE GGWAELH
2265AF74;HANGUL SYLLABLE GGWAEM
2266AF75;HANGUL SYLLABLE GGWAEB
2267AF76;HANGUL SYLLABLE GGWAEBS
2268AF77;HANGUL SYLLABLE GGWAES
2269AF78;HANGUL SYLLABLE GGWAESS
2270AF79;HANGUL SYLLABLE GGWAENG
2271AF7A;HANGUL SYLLABLE GGWAEJ
2272AF7B;HANGUL SYLLABLE GGWAEC
2273AF7C;HANGUL SYLLABLE GGWAEK
2274AF7D;HANGUL SYLLABLE GGWAET
2275AF7E;HANGUL SYLLABLE GGWAEP
2276AF7F;HANGUL SYLLABLE GGWAEH
2277AF80;HANGUL SYLLABLE GGOE
2278AF81;HANGUL SYLLABLE GGOEG
2279AF82;HANGUL SYLLABLE GGOEGG
2280AF83;HANGUL SYLLABLE GGOEGS
2281AF84;HANGUL SYLLABLE GGOEN
2282AF85;HANGUL SYLLABLE GGOENJ
2283AF86;HANGUL SYLLABLE GGOENH
2284AF87;HANGUL SYLLABLE GGOED
2285AF88;HANGUL SYLLABLE GGOEL
2286AF89;HANGUL SYLLABLE GGOELG
2287AF8A;HANGUL SYLLABLE GGOELM
2288AF8B;HANGUL SYLLABLE GGOELB
2289AF8C;HANGUL SYLLABLE GGOELS
2290AF8D;HANGUL SYLLABLE GGOELT
2291AF8E;HANGUL SYLLABLE GGOELP
2292AF8F;HANGUL SYLLABLE GGOELH
2293AF90;HANGUL SYLLABLE GGOEM
2294AF91;HANGUL SYLLABLE GGOEB
2295AF92;HANGUL SYLLABLE GGOEBS
2296AF93;HANGUL SYLLABLE GGOES
2297AF94;HANGUL SYLLABLE GGOESS
2298AF95;HANGUL SYLLABLE GGOENG
2299AF96;HANGUL SYLLABLE GGOEJ
2300AF97;HANGUL SYLLABLE GGOEC
2301AF98;HANGUL SYLLABLE GGOEK
2302AF99;HANGUL SYLLABLE GGOET
2303AF9A;HANGUL SYLLABLE GGOEP
2304AF9B;HANGUL SYLLABLE GGOEH
2305AF9C;HANGUL SYLLABLE GGYO
2306AF9D;HANGUL SYLLABLE GGYOG
2307AF9E;HANGUL SYLLABLE GGYOGG
2308AF9F;HANGUL SYLLABLE GGYOGS
2309AFA0;HANGUL SYLLABLE GGYON
2310AFA1;HANGUL SYLLABLE GGYONJ
2311AFA2;HANGUL SYLLABLE GGYONH
2312AFA3;HANGUL SYLLABLE GGYOD
2313AFA4;HANGUL SYLLABLE GGYOL
2314AFA5;HANGUL SYLLABLE GGYOLG
2315AFA6;HANGUL SYLLABLE GGYOLM
2316AFA7;HANGUL SYLLABLE GGYOLB
2317AFA8;HANGUL SYLLABLE GGYOLS
2318AFA9;HANGUL SYLLABLE GGYOLT
2319AFAA;HANGUL SYLLABLE GGYOLP
2320AFAB;HANGUL SYLLABLE GGYOLH
2321AFAC;HANGUL SYLLABLE GGYOM
2322AFAD;HANGUL SYLLABLE GGYOB
2323AFAE;HANGUL SYLLABLE GGYOBS
2324AFAF;HANGUL SYLLABLE GGYOS
2325AFB0;HANGUL SYLLABLE GGYOSS
2326AFB1;HANGUL SYLLABLE GGYONG
2327AFB2;HANGUL SYLLABLE GGYOJ
2328AFB3;HANGUL SYLLABLE GGYOC
2329AFB4;HANGUL SYLLABLE GGYOK
2330AFB5;HANGUL SYLLABLE GGYOT
2331AFB6;HANGUL SYLLABLE GGYOP
2332AFB7;HANGUL SYLLABLE GGYOH
2333AFB8;HANGUL SYLLABLE GGU
2334AFB9;HANGUL SYLLABLE GGUG
2335AFBA;HANGUL SYLLABLE GGUGG
2336AFBB;HANGUL SYLLABLE GGUGS
2337AFBC;HANGUL SYLLABLE GGUN
2338AFBD;HANGUL SYLLABLE GGUNJ
2339AFBE;HANGUL SYLLABLE GGUNH
2340AFBF;HANGUL SYLLABLE GGUD
2341AFC0;HANGUL SYLLABLE GGUL
2342AFC1;HANGUL SYLLABLE GGULG
2343AFC2;HANGUL SYLLABLE GGULM
2344AFC3;HANGUL SYLLABLE GGULB
2345AFC4;HANGUL SYLLABLE GGULS
2346AFC5;HANGUL SYLLABLE GGULT
2347AFC6;HANGUL SYLLABLE GGULP
2348AFC7;HANGUL SYLLABLE GGULH
2349AFC8;HANGUL SYLLABLE GGUM
2350AFC9;HANGUL SYLLABLE GGUB
2351AFCA;HANGUL SYLLABLE GGUBS
2352AFCB;HANGUL SYLLABLE GGUS
2353AFCC;HANGUL SYLLABLE GGUSS
2354AFCD;HANGUL SYLLABLE GGUNG
2355AFCE;HANGUL SYLLABLE GGUJ
2356AFCF;HANGUL SYLLABLE GGUC
2357AFD0;HANGUL SYLLABLE GGUK
2358AFD1;HANGUL SYLLABLE GGUT
2359AFD2;HANGUL SYLLABLE GGUP
2360AFD3;HANGUL SYLLABLE GGUH
2361AFD4;HANGUL SYLLABLE GGWEO
2362AFD5;HANGUL SYLLABLE GGWEOG
2363AFD6;HANGUL SYLLABLE GGWEOGG
2364AFD7;HANGUL SYLLABLE GGWEOGS
2365AFD8;HANGUL SYLLABLE GGWEON
2366AFD9;HANGUL SYLLABLE GGWEONJ
2367AFDA;HANGUL SYLLABLE GGWEONH
2368AFDB;HANGUL SYLLABLE GGWEOD
2369AFDC;HANGUL SYLLABLE GGWEOL
2370AFDD;HANGUL SYLLABLE GGWEOLG
2371AFDE;HANGUL SYLLABLE GGWEOLM
2372AFDF;HANGUL SYLLABLE GGWEOLB
2373AFE0;HANGUL SYLLABLE GGWEOLS
2374AFE1;HANGUL SYLLABLE GGWEOLT
2375AFE2;HANGUL SYLLABLE GGWEOLP
2376AFE3;HANGUL SYLLABLE GGWEOLH
2377AFE4;HANGUL SYLLABLE GGWEOM
2378AFE5;HANGUL SYLLABLE GGWEOB
2379AFE6;HANGUL SYLLABLE GGWEOBS
2380AFE7;HANGUL SYLLABLE GGWEOS
2381AFE8;HANGUL SYLLABLE GGWEOSS
2382AFE9;HANGUL SYLLABLE GGWEONG
2383AFEA;HANGUL SYLLABLE GGWEOJ
2384AFEB;HANGUL SYLLABLE GGWEOC
2385AFEC;HANGUL SYLLABLE GGWEOK
2386AFED;HANGUL SYLLABLE GGWEOT
2387AFEE;HANGUL SYLLABLE GGWEOP
2388AFEF;HANGUL SYLLABLE GGWEOH
2389AFF0;HANGUL SYLLABLE GGWE
2390AFF1;HANGUL SYLLABLE GGWEG
2391AFF2;HANGUL SYLLABLE GGWEGG
2392AFF3;HANGUL SYLLABLE GGWEGS
2393AFF4;HANGUL SYLLABLE GGWEN
2394AFF5;HANGUL SYLLABLE GGWENJ
2395AFF6;HANGUL SYLLABLE GGWENH
2396AFF7;HANGUL SYLLABLE GGWED
2397AFF8;HANGUL SYLLABLE GGWEL
2398AFF9;HANGUL SYLLABLE GGWELG
2399AFFA;HANGUL SYLLABLE GGWELM
2400AFFB;HANGUL SYLLABLE GGWELB
2401AFFC;HANGUL SYLLABLE GGWELS
2402AFFD;HANGUL SYLLABLE GGWELT
2403AFFE;HANGUL SYLLABLE GGWELP
2404AFFF;HANGUL SYLLABLE GGWELH
2405B000;HANGUL SYLLABLE GGWEM
2406B001;HANGUL SYLLABLE GGWEB
2407B002;HANGUL SYLLABLE GGWEBS
2408B003;HANGUL SYLLABLE GGWES
2409B004;HANGUL SYLLABLE GGWESS
2410B005;HANGUL SYLLABLE GGWENG
2411B006;HANGUL SYLLABLE GGWEJ
2412B007;HANGUL SYLLABLE GGWEC
2413B008;HANGUL SYLLABLE GGWEK
2414B009;HANGUL SYLLABLE GGWET
2415B00A;HANGUL SYLLABLE GGWEP
2416B00B;HANGUL SYLLABLE GGWEH
2417B00C;HANGUL SYLLABLE GGWI
2418B00D;HANGUL SYLLABLE GGWIG
2419B00E;HANGUL SYLLABLE GGWIGG
2420B00F;HANGUL SYLLABLE GGWIGS
2421B010;HANGUL SYLLABLE GGWIN
2422B011;HANGUL SYLLABLE GGWINJ
2423B012;HANGUL SYLLABLE GGWINH
2424B013;HANGUL SYLLABLE GGWID
2425B014;HANGUL SYLLABLE GGWIL
2426B015;HANGUL SYLLABLE GGWILG
2427B016;HANGUL SYLLABLE GGWILM
2428B017;HANGUL SYLLABLE GGWILB
2429B018;HANGUL SYLLABLE GGWILS
2430B019;HANGUL SYLLABLE GGWILT
2431B01A;HANGUL SYLLABLE GGWILP
2432B01B;HANGUL SYLLABLE GGWILH
2433B01C;HANGUL SYLLABLE GGWIM
2434B01D;HANGUL SYLLABLE GGWIB
2435B01E;HANGUL SYLLABLE GGWIBS
2436B01F;HANGUL SYLLABLE GGWIS
2437B020;HANGUL SYLLABLE GGWISS
2438B021;HANGUL SYLLABLE GGWING
2439B022;HANGUL SYLLABLE GGWIJ
2440B023;HANGUL SYLLABLE GGWIC
2441B024;HANGUL SYLLABLE GGWIK
2442B025;HANGUL SYLLABLE GGWIT
2443B026;HANGUL SYLLABLE GGWIP
2444B027;HANGUL SYLLABLE GGWIH
2445B028;HANGUL SYLLABLE GGYU
2446B029;HANGUL SYLLABLE GGYUG
2447B02A;HANGUL SYLLABLE GGYUGG
2448B02B;HANGUL SYLLABLE GGYUGS
2449B02C;HANGUL SYLLABLE GGYUN
2450B02D;HANGUL SYLLABLE GGYUNJ
2451B02E;HANGUL SYLLABLE GGYUNH
2452B02F;HANGUL SYLLABLE GGYUD
2453B030;HANGUL SYLLABLE GGYUL
2454B031;HANGUL SYLLABLE GGYULG
2455B032;HANGUL SYLLABLE GGYULM
2456B033;HANGUL SYLLABLE GGYULB
2457B034;HANGUL SYLLABLE GGYULS
2458B035;HANGUL SYLLABLE GGYULT
2459B036;HANGUL SYLLABLE GGYULP
2460B037;HANGUL SYLLABLE GGYULH
2461B038;HANGUL SYLLABLE GGYUM
2462B039;HANGUL SYLLABLE GGYUB
2463B03A;HANGUL SYLLABLE GGYUBS
2464B03B;HANGUL SYLLABLE GGYUS
2465B03C;HANGUL SYLLABLE GGYUSS
2466B03D;HANGUL SYLLABLE GGYUNG
2467B03E;HANGUL SYLLABLE GGYUJ
2468B03F;HANGUL SYLLABLE GGYUC
2469B040;HANGUL SYLLABLE GGYUK
2470B041;HANGUL SYLLABLE GGYUT
2471B042;HANGUL SYLLABLE GGYUP
2472B043;HANGUL SYLLABLE GGYUH
2473B044;HANGUL SYLLABLE GGEU
2474B045;HANGUL SYLLABLE GGEUG
2475B046;HANGUL SYLLABLE GGEUGG
2476B047;HANGUL SYLLABLE GGEUGS
2477B048;HANGUL SYLLABLE GGEUN
2478B049;HANGUL SYLLABLE GGEUNJ
2479B04A;HANGUL SYLLABLE GGEUNH
2480B04B;HANGUL SYLLABLE GGEUD
2481B04C;HANGUL SYLLABLE GGEUL
2482B04D;HANGUL SYLLABLE GGEULG
2483B04E;HANGUL SYLLABLE GGEULM
2484B04F;HANGUL SYLLABLE GGEULB
2485B050;HANGUL SYLLABLE GGEULS
2486B051;HANGUL SYLLABLE GGEULT
2487B052;HANGUL SYLLABLE GGEULP
2488B053;HANGUL SYLLABLE GGEULH
2489B054;HANGUL SYLLABLE GGEUM
2490B055;HANGUL SYLLABLE GGEUB
2491B056;HANGUL SYLLABLE GGEUBS
2492B057;HANGUL SYLLABLE GGEUS
2493B058;HANGUL SYLLABLE GGEUSS
2494B059;HANGUL SYLLABLE GGEUNG
2495B05A;HANGUL SYLLABLE GGEUJ
2496B05B;HANGUL SYLLABLE GGEUC
2497B05C;HANGUL SYLLABLE GGEUK
2498B05D;HANGUL SYLLABLE GGEUT
2499B05E;HANGUL SYLLABLE GGEUP
2500B05F;HANGUL SYLLABLE GGEUH
2501B060;HANGUL SYLLABLE GGYI
2502B061;HANGUL SYLLABLE GGYIG
2503B062;HANGUL SYLLABLE GGYIGG
2504B063;HANGUL SYLLABLE GGYIGS
2505B064;HANGUL SYLLABLE GGYIN
2506B065;HANGUL SYLLABLE GGYINJ
2507B066;HANGUL SYLLABLE GGYINH
2508B067;HANGUL SYLLABLE GGYID
2509B068;HANGUL SYLLABLE GGYIL
2510B069;HANGUL SYLLABLE GGYILG
2511B06A;HANGUL SYLLABLE GGYILM
2512B06B;HANGUL SYLLABLE GGYILB
2513B06C;HANGUL SYLLABLE GGYILS
2514B06D;HANGUL SYLLABLE GGYILT
2515B06E;HANGUL SYLLABLE GGYILP
2516B06F;HANGUL SYLLABLE GGYILH
2517B070;HANGUL SYLLABLE GGYIM
2518B071;HANGUL SYLLABLE GGYIB
2519B072;HANGUL SYLLABLE GGYIBS
2520B073;HANGUL SYLLABLE GGYIS
2521B074;HANGUL SYLLABLE GGYISS
2522B075;HANGUL SYLLABLE GGYING
2523B076;HANGUL SYLLABLE GGYIJ
2524B077;HANGUL SYLLABLE GGYIC
2525B078;HANGUL SYLLABLE GGYIK
2526B079;HANGUL SYLLABLE GGYIT
2527B07A;HANGUL SYLLABLE GGYIP
2528B07B;HANGUL SYLLABLE GGYIH
2529B07C;HANGUL SYLLABLE GGI
2530B07D;HANGUL SYLLABLE GGIG
2531B07E;HANGUL SYLLABLE GGIGG
2532B07F;HANGUL SYLLABLE GGIGS
2533B080;HANGUL SYLLABLE GGIN
2534B081;HANGUL SYLLABLE GGINJ
2535B082;HANGUL SYLLABLE GGINH
2536B083;HANGUL SYLLABLE GGID
2537B084;HANGUL SYLLABLE GGIL
2538B085;HANGUL SYLLABLE GGILG
2539B086;HANGUL SYLLABLE GGILM
2540B087;HANGUL SYLLABLE GGILB
2541B088;HANGUL SYLLABLE GGILS
2542B089;HANGUL SYLLABLE GGILT
2543B08A;HANGUL SYLLABLE GGILP
2544B08B;HANGUL SYLLABLE GGILH
2545B08C;HANGUL SYLLABLE GGIM
2546B08D;HANGUL SYLLABLE GGIB
2547B08E;HANGUL SYLLABLE GGIBS
2548B08F;HANGUL SYLLABLE GGIS
2549B090;HANGUL SYLLABLE GGISS
2550B091;HANGUL SYLLABLE GGING
2551B092;HANGUL SYLLABLE GGIJ
2552B093;HANGUL SYLLABLE GGIC
2553B094;HANGUL SYLLABLE GGIK
2554B095;HANGUL SYLLABLE GGIT
2555B096;HANGUL SYLLABLE GGIP
2556B097;HANGUL SYLLABLE GGIH
2557B098;HANGUL SYLLABLE NA
2558B099;HANGUL SYLLABLE NAG
2559B09A;HANGUL SYLLABLE NAGG
2560B09B;HANGUL SYLLABLE NAGS
2561B09C;HANGUL SYLLABLE NAN
2562B09D;HANGUL SYLLABLE NANJ
2563B09E;HANGUL SYLLABLE NANH
2564B09F;HANGUL SYLLABLE NAD
2565B0A0;HANGUL SYLLABLE NAL
2566B0A1;HANGUL SYLLABLE NALG
2567B0A2;HANGUL SYLLABLE NALM
2568B0A3;HANGUL SYLLABLE NALB
2569B0A4;HANGUL SYLLABLE NALS
2570B0A5;HANGUL SYLLABLE NALT
2571B0A6;HANGUL SYLLABLE NALP
2572B0A7;HANGUL SYLLABLE NALH
2573B0A8;HANGUL SYLLABLE NAM
2574B0A9;HANGUL SYLLABLE NAB
2575B0AA;HANGUL SYLLABLE NABS
2576B0AB;HANGUL SYLLABLE NAS
2577B0AC;HANGUL SYLLABLE NASS
2578B0AD;HANGUL SYLLABLE NANG
2579B0AE;HANGUL SYLLABLE NAJ
2580B0AF;HANGUL SYLLABLE NAC
2581B0B0;HANGUL SYLLABLE NAK
2582B0B1;HANGUL SYLLABLE NAT
2583B0B2;HANGUL SYLLABLE NAP
2584B0B3;HANGUL SYLLABLE NAH
2585B0B4;HANGUL SYLLABLE NAE
2586B0B5;HANGUL SYLLABLE NAEG
2587B0B6;HANGUL SYLLABLE NAEGG
2588B0B7;HANGUL SYLLABLE NAEGS
2589B0B8;HANGUL SYLLABLE NAEN
2590B0B9;HANGUL SYLLABLE NAENJ
2591B0BA;HANGUL SYLLABLE NAENH
2592B0BB;HANGUL SYLLABLE NAED
2593B0BC;HANGUL SYLLABLE NAEL
2594B0BD;HANGUL SYLLABLE NAELG
2595B0BE;HANGUL SYLLABLE NAELM
2596B0BF;HANGUL SYLLABLE NAELB
2597B0C0;HANGUL SYLLABLE NAELS
2598B0C1;HANGUL SYLLABLE NAELT
2599B0C2;HANGUL SYLLABLE NAELP
2600B0C3;HANGUL SYLLABLE NAELH
2601B0C4;HANGUL SYLLABLE NAEM
2602B0C5;HANGUL SYLLABLE NAEB
2603B0C6;HANGUL SYLLABLE NAEBS
2604B0C7;HANGUL SYLLABLE NAES
2605B0C8;HANGUL SYLLABLE NAESS
2606B0C9;HANGUL SYLLABLE NAENG
2607B0CA;HANGUL SYLLABLE NAEJ
2608B0CB;HANGUL SYLLABLE NAEC
2609B0CC;HANGUL SYLLABLE NAEK
2610B0CD;HANGUL SYLLABLE NAET
2611B0CE;HANGUL SYLLABLE NAEP
2612B0CF;HANGUL SYLLABLE NAEH
2613B0D0;HANGUL SYLLABLE NYA
2614B0D1;HANGUL SYLLABLE NYAG
2615B0D2;HANGUL SYLLABLE NYAGG
2616B0D3;HANGUL SYLLABLE NYAGS
2617B0D4;HANGUL SYLLABLE NYAN
2618B0D5;HANGUL SYLLABLE NYANJ
2619B0D6;HANGUL SYLLABLE NYANH
2620B0D7;HANGUL SYLLABLE NYAD
2621B0D8;HANGUL SYLLABLE NYAL
2622B0D9;HANGUL SYLLABLE NYALG
2623B0DA;HANGUL SYLLABLE NYALM
2624B0DB;HANGUL SYLLABLE NYALB
2625B0DC;HANGUL SYLLABLE NYALS
2626B0DD;HANGUL SYLLABLE NYALT
2627B0DE;HANGUL SYLLABLE NYALP
2628B0DF;HANGUL SYLLABLE NYALH
2629B0E0;HANGUL SYLLABLE NYAM
2630B0E1;HANGUL SYLLABLE NYAB
2631B0E2;HANGUL SYLLABLE NYABS
2632B0E3;HANGUL SYLLABLE NYAS
2633B0E4;HANGUL SYLLABLE NYASS
2634B0E5;HANGUL SYLLABLE NYANG
2635B0E6;HANGUL SYLLABLE NYAJ
2636B0E7;HANGUL SYLLABLE NYAC
2637B0E8;HANGUL SYLLABLE NYAK
2638B0E9;HANGUL SYLLABLE NYAT
2639B0EA;HANGUL SYLLABLE NYAP
2640B0EB;HANGUL SYLLABLE NYAH
2641B0EC;HANGUL SYLLABLE NYAE
2642B0ED;HANGUL SYLLABLE NYAEG
2643B0EE;HANGUL SYLLABLE NYAEGG
2644B0EF;HANGUL SYLLABLE NYAEGS
2645B0F0;HANGUL SYLLABLE NYAEN
2646B0F1;HANGUL SYLLABLE NYAENJ
2647B0F2;HANGUL SYLLABLE NYAENH
2648B0F3;HANGUL SYLLABLE NYAED
2649B0F4;HANGUL SYLLABLE NYAEL
2650B0F5;HANGUL SYLLABLE NYAELG
2651B0F6;HANGUL SYLLABLE NYAELM
2652B0F7;HANGUL SYLLABLE NYAELB
2653B0F8;HANGUL SYLLABLE NYAELS
2654B0F9;HANGUL SYLLABLE NYAELT
2655B0FA;HANGUL SYLLABLE NYAELP
2656B0FB;HANGUL SYLLABLE NYAELH
2657B0FC;HANGUL SYLLABLE NYAEM
2658B0FD;HANGUL SYLLABLE NYAEB
2659B0FE;HANGUL SYLLABLE NYAEBS
2660B0FF;HANGUL SYLLABLE NYAES
2661B100;HANGUL SYLLABLE NYAESS
2662B101;HANGUL SYLLABLE NYAENG
2663B102;HANGUL SYLLABLE NYAEJ
2664B103;HANGUL SYLLABLE NYAEC
2665B104;HANGUL SYLLABLE NYAEK
2666B105;HANGUL SYLLABLE NYAET
2667B106;HANGUL SYLLABLE NYAEP
2668B107;HANGUL SYLLABLE NYAEH
2669B108;HANGUL SYLLABLE NEO
2670B109;HANGUL SYLLABLE NEOG
2671B10A;HANGUL SYLLABLE NEOGG
2672B10B;HANGUL SYLLABLE NEOGS
2673B10C;HANGUL SYLLABLE NEON
2674B10D;HANGUL SYLLABLE NEONJ
2675B10E;HANGUL SYLLABLE NEONH
2676B10F;HANGUL SYLLABLE NEOD
2677B110;HANGUL SYLLABLE NEOL
2678B111;HANGUL SYLLABLE NEOLG
2679B112;HANGUL SYLLABLE NEOLM
2680B113;HANGUL SYLLABLE NEOLB
2681B114;HANGUL SYLLABLE NEOLS
2682B115;HANGUL SYLLABLE NEOLT
2683B116;HANGUL SYLLABLE NEOLP
2684B117;HANGUL SYLLABLE NEOLH
2685B118;HANGUL SYLLABLE NEOM
2686B119;HANGUL SYLLABLE NEOB
2687B11A;HANGUL SYLLABLE NEOBS
2688B11B;HANGUL SYLLABLE NEOS
2689B11C;HANGUL SYLLABLE NEOSS
2690B11D;HANGUL SYLLABLE NEONG
2691B11E;HANGUL SYLLABLE NEOJ
2692B11F;HANGUL SYLLABLE NEOC
2693B120;HANGUL SYLLABLE NEOK
2694B121;HANGUL SYLLABLE NEOT
2695B122;HANGUL SYLLABLE NEOP
2696B123;HANGUL SYLLABLE NEOH
2697B124;HANGUL SYLLABLE NE
2698B125;HANGUL SYLLABLE NEG
2699B126;HANGUL SYLLABLE NEGG
2700B127;HANGUL SYLLABLE NEGS
2701B128;HANGUL SYLLABLE NEN
2702B129;HANGUL SYLLABLE NENJ
2703B12A;HANGUL SYLLABLE NENH
2704B12B;HANGUL SYLLABLE NED
2705B12C;HANGUL SYLLABLE NEL
2706B12D;HANGUL SYLLABLE NELG
2707B12E;HANGUL SYLLABLE NELM
2708B12F;HANGUL SYLLABLE NELB
2709B130;HANGUL SYLLABLE NELS
2710B131;HANGUL SYLLABLE NELT
2711B132;HANGUL SYLLABLE NELP
2712B133;HANGUL SYLLABLE NELH
2713B134;HANGUL SYLLABLE NEM
2714B135;HANGUL SYLLABLE NEB
2715B136;HANGUL SYLLABLE NEBS
2716B137;HANGUL SYLLABLE NES
2717B138;HANGUL SYLLABLE NESS
2718B139;HANGUL SYLLABLE NENG
2719B13A;HANGUL SYLLABLE NEJ
2720B13B;HANGUL SYLLABLE NEC
2721B13C;HANGUL SYLLABLE NEK
2722B13D;HANGUL SYLLABLE NET
2723B13E;HANGUL SYLLABLE NEP
2724B13F;HANGUL SYLLABLE NEH
2725B140;HANGUL SYLLABLE NYEO
2726B141;HANGUL SYLLABLE NYEOG
2727B142;HANGUL SYLLABLE NYEOGG
2728B143;HANGUL SYLLABLE NYEOGS
2729B144;HANGUL SYLLABLE NYEON
2730B145;HANGUL SYLLABLE NYEONJ
2731B146;HANGUL SYLLABLE NYEONH
2732B147;HANGUL SYLLABLE NYEOD
2733B148;HANGUL SYLLABLE NYEOL
2734B149;HANGUL SYLLABLE NYEOLG
2735B14A;HANGUL SYLLABLE NYEOLM
2736B14B;HANGUL SYLLABLE NYEOLB
2737B14C;HANGUL SYLLABLE NYEOLS
2738B14D;HANGUL SYLLABLE NYEOLT
2739B14E;HANGUL SYLLABLE NYEOLP
2740B14F;HANGUL SYLLABLE NYEOLH
2741B150;HANGUL SYLLABLE NYEOM
2742B151;HANGUL SYLLABLE NYEOB
2743B152;HANGUL SYLLABLE NYEOBS
2744B153;HANGUL SYLLABLE NYEOS
2745B154;HANGUL SYLLABLE NYEOSS
2746B155;HANGUL SYLLABLE NYEONG
2747B156;HANGUL SYLLABLE NYEOJ
2748B157;HANGUL SYLLABLE NYEOC
2749B158;HANGUL SYLLABLE NYEOK
2750B159;HANGUL SYLLABLE NYEOT
2751B15A;HANGUL SYLLABLE NYEOP
2752B15B;HANGUL SYLLABLE NYEOH
2753B15C;HANGUL SYLLABLE NYE
2754B15D;HANGUL SYLLABLE NYEG
2755B15E;HANGUL SYLLABLE NYEGG
2756B15F;HANGUL SYLLABLE NYEGS
2757B160;HANGUL SYLLABLE NYEN
2758B161;HANGUL SYLLABLE NYENJ
2759B162;HANGUL SYLLABLE NYENH
2760B163;HANGUL SYLLABLE NYED
2761B164;HANGUL SYLLABLE NYEL
2762B165;HANGUL SYLLABLE NYELG
2763B166;HANGUL SYLLABLE NYELM
2764B167;HANGUL SYLLABLE NYELB
2765B168;HANGUL SYLLABLE NYELS
2766B169;HANGUL SYLLABLE NYELT
2767B16A;HANGUL SYLLABLE NYELP
2768B16B;HANGUL SYLLABLE NYELH
2769B16C;HANGUL SYLLABLE NYEM
2770B16D;HANGUL SYLLABLE NYEB
2771B16E;HANGUL SYLLABLE NYEBS
2772B16F;HANGUL SYLLABLE NYES
2773B170;HANGUL SYLLABLE NYESS
2774B171;HANGUL SYLLABLE NYENG
2775B172;HANGUL SYLLABLE NYEJ
2776B173;HANGUL SYLLABLE NYEC
2777B174;HANGUL SYLLABLE NYEK
2778B175;HANGUL SYLLABLE NYET
2779B176;HANGUL SYLLABLE NYEP
2780B177;HANGUL SYLLABLE NYEH
2781B178;HANGUL SYLLABLE NO
2782B179;HANGUL SYLLABLE NOG
2783B17A;HANGUL SYLLABLE NOGG
2784B17B;HANGUL SYLLABLE NOGS
2785B17C;HANGUL SYLLABLE NON
2786B17D;HANGUL SYLLABLE NONJ
2787B17E;HANGUL SYLLABLE NONH
2788B17F;HANGUL SYLLABLE NOD
2789B180;HANGUL SYLLABLE NOL
2790B181;HANGUL SYLLABLE NOLG
2791B182;HANGUL SYLLABLE NOLM
2792B183;HANGUL SYLLABLE NOLB
2793B184;HANGUL SYLLABLE NOLS
2794B185;HANGUL SYLLABLE NOLT
2795B186;HANGUL SYLLABLE NOLP
2796B187;HANGUL SYLLABLE NOLH
2797B188;HANGUL SYLLABLE NOM
2798B189;HANGUL SYLLABLE NOB
2799B18A;HANGUL SYLLABLE NOBS
2800B18B;HANGUL SYLLABLE NOS
2801B18C;HANGUL SYLLABLE NOSS
2802B18D;HANGUL SYLLABLE NONG
2803B18E;HANGUL SYLLABLE NOJ
2804B18F;HANGUL SYLLABLE NOC
2805B190;HANGUL SYLLABLE NOK
2806B191;HANGUL SYLLABLE NOT
2807B192;HANGUL SYLLABLE NOP
2808B193;HANGUL SYLLABLE NOH
2809B194;HANGUL SYLLABLE NWA
2810B195;HANGUL SYLLABLE NWAG
2811B196;HANGUL SYLLABLE NWAGG
2812B197;HANGUL SYLLABLE NWAGS
2813B198;HANGUL SYLLABLE NWAN
2814B199;HANGUL SYLLABLE NWANJ
2815B19A;HANGUL SYLLABLE NWANH
2816B19B;HANGUL SYLLABLE NWAD
2817B19C;HANGUL SYLLABLE NWAL
2818B19D;HANGUL SYLLABLE NWALG
2819B19E;HANGUL SYLLABLE NWALM
2820B19F;HANGUL SYLLABLE NWALB
2821B1A0;HANGUL SYLLABLE NWALS
2822B1A1;HANGUL SYLLABLE NWALT
2823B1A2;HANGUL SYLLABLE NWALP
2824B1A3;HANGUL SYLLABLE NWALH
2825B1A4;HANGUL SYLLABLE NWAM
2826B1A5;HANGUL SYLLABLE NWAB
2827B1A6;HANGUL SYLLABLE NWABS
2828B1A7;HANGUL SYLLABLE NWAS
2829B1A8;HANGUL SYLLABLE NWASS
2830B1A9;HANGUL SYLLABLE NWANG
2831B1AA;HANGUL SYLLABLE NWAJ
2832B1AB;HANGUL SYLLABLE NWAC
2833B1AC;HANGUL SYLLABLE NWAK
2834B1AD;HANGUL SYLLABLE NWAT
2835B1AE;HANGUL SYLLABLE NWAP
2836B1AF;HANGUL SYLLABLE NWAH
2837B1B0;HANGUL SYLLABLE NWAE
2838B1B1;HANGUL SYLLABLE NWAEG
2839B1B2;HANGUL SYLLABLE NWAEGG
2840B1B3;HANGUL SYLLABLE NWAEGS
2841B1B4;HANGUL SYLLABLE NWAEN
2842B1B5;HANGUL SYLLABLE NWAENJ
2843B1B6;HANGUL SYLLABLE NWAENH
2844B1B7;HANGUL SYLLABLE NWAED
2845B1B8;HANGUL SYLLABLE NWAEL
2846B1B9;HANGUL SYLLABLE NWAELG
2847B1BA;HANGUL SYLLABLE NWAELM
2848B1BB;HANGUL SYLLABLE NWAELB
2849B1BC;HANGUL SYLLABLE NWAELS
2850B1BD;HANGUL SYLLABLE NWAELT
2851B1BE;HANGUL SYLLABLE NWAELP
2852B1BF;HANGUL SYLLABLE NWAELH
2853B1C0;HANGUL SYLLABLE NWAEM
2854B1C1;HANGUL SYLLABLE NWAEB
2855B1C2;HANGUL SYLLABLE NWAEBS
2856B1C3;HANGUL SYLLABLE NWAES
2857B1C4;HANGUL SYLLABLE NWAESS
2858B1C5;HANGUL SYLLABLE NWAENG
2859B1C6;HANGUL SYLLABLE NWAEJ
2860B1C7;HANGUL SYLLABLE NWAEC
2861B1C8;HANGUL SYLLABLE NWAEK
2862B1C9;HANGUL SYLLABLE NWAET
2863B1CA;HANGUL SYLLABLE NWAEP
2864B1CB;HANGUL SYLLABLE NWAEH
2865B1CC;HANGUL SYLLABLE NOE
2866B1CD;HANGUL SYLLABLE NOEG
2867B1CE;HANGUL SYLLABLE NOEGG
2868B1CF;HANGUL SYLLABLE NOEGS
2869B1D0;HANGUL SYLLABLE NOEN
2870B1D1;HANGUL SYLLABLE NOENJ
2871B1D2;HANGUL SYLLABLE NOENH
2872B1D3;HANGUL SYLLABLE NOED
2873B1D4;HANGUL SYLLABLE NOEL
2874B1D5;HANGUL SYLLABLE NOELG
2875B1D6;HANGUL SYLLABLE NOELM
2876B1D7;HANGUL SYLLABLE NOELB
2877B1D8;HANGUL SYLLABLE NOELS
2878B1D9;HANGUL SYLLABLE NOELT
2879B1DA;HANGUL SYLLABLE NOELP
2880B1DB;HANGUL SYLLABLE NOELH
2881B1DC;HANGUL SYLLABLE NOEM
2882B1DD;HANGUL SYLLABLE NOEB
2883B1DE;HANGUL SYLLABLE NOEBS
2884B1DF;HANGUL SYLLABLE NOES
2885B1E0;HANGUL SYLLABLE NOESS
2886B1E1;HANGUL SYLLABLE NOENG
2887B1E2;HANGUL SYLLABLE NOEJ
2888B1E3;HANGUL SYLLABLE NOEC
2889B1E4;HANGUL SYLLABLE NOEK
2890B1E5;HANGUL SYLLABLE NOET
2891B1E6;HANGUL SYLLABLE NOEP
2892B1E7;HANGUL SYLLABLE NOEH
2893B1E8;HANGUL SYLLABLE NYO
2894B1E9;HANGUL SYLLABLE NYOG
2895B1EA;HANGUL SYLLABLE NYOGG
2896B1EB;HANGUL SYLLABLE NYOGS
2897B1EC;HANGUL SYLLABLE NYON
2898B1ED;HANGUL SYLLABLE NYONJ
2899B1EE;HANGUL SYLLABLE NYONH
2900B1EF;HANGUL SYLLABLE NYOD
2901B1F0;HANGUL SYLLABLE NYOL
2902B1F1;HANGUL SYLLABLE NYOLG
2903B1F2;HANGUL SYLLABLE NYOLM
2904B1F3;HANGUL SYLLABLE NYOLB
2905B1F4;HANGUL SYLLABLE NYOLS
2906B1F5;HANGUL SYLLABLE NYOLT
2907B1F6;HANGUL SYLLABLE NYOLP
2908B1F7;HANGUL SYLLABLE NYOLH
2909B1F8;HANGUL SYLLABLE NYOM
2910B1F9;HANGUL SYLLABLE NYOB
2911B1FA;HANGUL SYLLABLE NYOBS
2912B1FB;HANGUL SYLLABLE NYOS
2913B1FC;HANGUL SYLLABLE NYOSS
2914B1FD;HANGUL SYLLABLE NYONG
2915B1FE;HANGUL SYLLABLE NYOJ
2916B1FF;HANGUL SYLLABLE NYOC
2917B200;HANGUL SYLLABLE NYOK
2918B201;HANGUL SYLLABLE NYOT
2919B202;HANGUL SYLLABLE NYOP
2920B203;HANGUL SYLLABLE NYOH
2921B204;HANGUL SYLLABLE NU
2922B205;HANGUL SYLLABLE NUG
2923B206;HANGUL SYLLABLE NUGG
2924B207;HANGUL SYLLABLE NUGS
2925B208;HANGUL SYLLABLE NUN
2926B209;HANGUL SYLLABLE NUNJ
2927B20A;HANGUL SYLLABLE NUNH
2928B20B;HANGUL SYLLABLE NUD
2929B20C;HANGUL SYLLABLE NUL
2930B20D;HANGUL SYLLABLE NULG
2931B20E;HANGUL SYLLABLE NULM
2932B20F;HANGUL SYLLABLE NULB
2933B210;HANGUL SYLLABLE NULS
2934B211;HANGUL SYLLABLE NULT
2935B212;HANGUL SYLLABLE NULP
2936B213;HANGUL SYLLABLE NULH
2937B214;HANGUL SYLLABLE NUM
2938B215;HANGUL SYLLABLE NUB
2939B216;HANGUL SYLLABLE NUBS
2940B217;HANGUL SYLLABLE NUS
2941B218;HANGUL SYLLABLE NUSS
2942B219;HANGUL SYLLABLE NUNG
2943B21A;HANGUL SYLLABLE NUJ
2944B21B;HANGUL SYLLABLE NUC
2945B21C;HANGUL SYLLABLE NUK
2946B21D;HANGUL SYLLABLE NUT
2947B21E;HANGUL SYLLABLE NUP
2948B21F;HANGUL SYLLABLE NUH
2949B220;HANGUL SYLLABLE NWEO
2950B221;HANGUL SYLLABLE NWEOG
2951B222;HANGUL SYLLABLE NWEOGG
2952B223;HANGUL SYLLABLE NWEOGS
2953B224;HANGUL SYLLABLE NWEON
2954B225;HANGUL SYLLABLE NWEONJ
2955B226;HANGUL SYLLABLE NWEONH
2956B227;HANGUL SYLLABLE NWEOD
2957B228;HANGUL SYLLABLE NWEOL
2958B229;HANGUL SYLLABLE NWEOLG
2959B22A;HANGUL SYLLABLE NWEOLM
2960B22B;HANGUL SYLLABLE NWEOLB
2961B22C;HANGUL SYLLABLE NWEOLS
2962B22D;HANGUL SYLLABLE NWEOLT
2963B22E;HANGUL SYLLABLE NWEOLP
2964B22F;HANGUL SYLLABLE NWEOLH
2965B230;HANGUL SYLLABLE NWEOM
2966B231;HANGUL SYLLABLE NWEOB
2967B232;HANGUL SYLLABLE NWEOBS
2968B233;HANGUL SYLLABLE NWEOS
2969B234;HANGUL SYLLABLE NWEOSS
2970B235;HANGUL SYLLABLE NWEONG
2971B236;HANGUL SYLLABLE NWEOJ
2972B237;HANGUL SYLLABLE NWEOC
2973B238;HANGUL SYLLABLE NWEOK
2974B239;HANGUL SYLLABLE NWEOT
2975B23A;HANGUL SYLLABLE NWEOP
2976B23B;HANGUL SYLLABLE NWEOH
2977B23C;HANGUL SYLLABLE NWE
2978B23D;HANGUL SYLLABLE NWEG
2979B23E;HANGUL SYLLABLE NWEGG
2980B23F;HANGUL SYLLABLE NWEGS
2981B240;HANGUL SYLLABLE NWEN
2982B241;HANGUL SYLLABLE NWENJ
2983B242;HANGUL SYLLABLE NWENH
2984B243;HANGUL SYLLABLE NWED
2985B244;HANGUL SYLLABLE NWEL
2986B245;HANGUL SYLLABLE NWELG
2987B246;HANGUL SYLLABLE NWELM
2988B247;HANGUL SYLLABLE NWELB
2989B248;HANGUL SYLLABLE NWELS
2990B249;HANGUL SYLLABLE NWELT
2991B24A;HANGUL SYLLABLE NWELP
2992B24B;HANGUL SYLLABLE NWELH
2993B24C;HANGUL SYLLABLE NWEM
2994B24D;HANGUL SYLLABLE NWEB
2995B24E;HANGUL SYLLABLE NWEBS
2996B24F;HANGUL SYLLABLE NWES
2997B250;HANGUL SYLLABLE NWESS
2998B251;HANGUL SYLLABLE NWENG
2999B252;HANGUL SYLLABLE NWEJ
3000B253;HANGUL SYLLABLE NWEC
3001B254;HANGUL SYLLABLE NWEK
3002B255;HANGUL SYLLABLE NWET
3003B256;HANGUL SYLLABLE NWEP
3004B257;HANGUL SYLLABLE NWEH
3005B258;HANGUL SYLLABLE NWI
3006B259;HANGUL SYLLABLE NWIG
3007B25A;HANGUL SYLLABLE NWIGG
3008B25B;HANGUL SYLLABLE NWIGS
3009B25C;HANGUL SYLLABLE NWIN
3010B25D;HANGUL SYLLABLE NWINJ
3011B25E;HANGUL SYLLABLE NWINH
3012B25F;HANGUL SYLLABLE NWID
3013B260;HANGUL SYLLABLE NWIL
3014B261;HANGUL SYLLABLE NWILG
3015B262;HANGUL SYLLABLE NWILM
3016B263;HANGUL SYLLABLE NWILB
3017B264;HANGUL SYLLABLE NWILS
3018B265;HANGUL SYLLABLE NWILT
3019B266;HANGUL SYLLABLE NWILP
3020B267;HANGUL SYLLABLE NWILH
3021B268;HANGUL SYLLABLE NWIM
3022B269;HANGUL SYLLABLE NWIB
3023B26A;HANGUL SYLLABLE NWIBS
3024B26B;HANGUL SYLLABLE NWIS
3025B26C;HANGUL SYLLABLE NWISS
3026B26D;HANGUL SYLLABLE NWING
3027B26E;HANGUL SYLLABLE NWIJ
3028B26F;HANGUL SYLLABLE NWIC
3029B270;HANGUL SYLLABLE NWIK
3030B271;HANGUL SYLLABLE NWIT
3031B272;HANGUL SYLLABLE NWIP
3032B273;HANGUL SYLLABLE NWIH
3033B274;HANGUL SYLLABLE NYU
3034B275;HANGUL SYLLABLE NYUG
3035B276;HANGUL SYLLABLE NYUGG
3036B277;HANGUL SYLLABLE NYUGS
3037B278;HANGUL SYLLABLE NYUN
3038B279;HANGUL SYLLABLE NYUNJ
3039B27A;HANGUL SYLLABLE NYUNH
3040B27B;HANGUL SYLLABLE NYUD
3041B27C;HANGUL SYLLABLE NYUL
3042B27D;HANGUL SYLLABLE NYULG
3043B27E;HANGUL SYLLABLE NYULM
3044B27F;HANGUL SYLLABLE NYULB
3045B280;HANGUL SYLLABLE NYULS
3046B281;HANGUL SYLLABLE NYULT
3047B282;HANGUL SYLLABLE NYULP
3048B283;HANGUL SYLLABLE NYULH
3049B284;HANGUL SYLLABLE NYUM
3050B285;HANGUL SYLLABLE NYUB
3051B286;HANGUL SYLLABLE NYUBS
3052B287;HANGUL SYLLABLE NYUS
3053B288;HANGUL SYLLABLE NYUSS
3054B289;HANGUL SYLLABLE NYUNG
3055B28A;HANGUL SYLLABLE NYUJ
3056B28B;HANGUL SYLLABLE NYUC
3057B28C;HANGUL SYLLABLE NYUK
3058B28D;HANGUL SYLLABLE NYUT
3059B28E;HANGUL SYLLABLE NYUP
3060B28F;HANGUL SYLLABLE NYUH
3061B290;HANGUL SYLLABLE NEU
3062B291;HANGUL SYLLABLE NEUG
3063B292;HANGUL SYLLABLE NEUGG
3064B293;HANGUL SYLLABLE NEUGS
3065B294;HANGUL SYLLABLE NEUN
3066B295;HANGUL SYLLABLE NEUNJ
3067B296;HANGUL SYLLABLE NEUNH
3068B297;HANGUL SYLLABLE NEUD
3069B298;HANGUL SYLLABLE NEUL
3070B299;HANGUL SYLLABLE NEULG
3071B29A;HANGUL SYLLABLE NEULM
3072B29B;HANGUL SYLLABLE NEULB
3073B29C;HANGUL SYLLABLE NEULS
3074B29D;HANGUL SYLLABLE NEULT
3075B29E;HANGUL SYLLABLE NEULP
3076B29F;HANGUL SYLLABLE NEULH
3077B2A0;HANGUL SYLLABLE NEUM
3078B2A1;HANGUL SYLLABLE NEUB
3079B2A2;HANGUL SYLLABLE NEUBS
3080B2A3;HANGUL SYLLABLE NEUS
3081B2A4;HANGUL SYLLABLE NEUSS
3082B2A5;HANGUL SYLLABLE NEUNG
3083B2A6;HANGUL SYLLABLE NEUJ
3084B2A7;HANGUL SYLLABLE NEUC
3085B2A8;HANGUL SYLLABLE NEUK
3086B2A9;HANGUL SYLLABLE NEUT
3087B2AA;HANGUL SYLLABLE NEUP
3088B2AB;HANGUL SYLLABLE NEUH
3089B2AC;HANGUL SYLLABLE NYI
3090B2AD;HANGUL SYLLABLE NYIG
3091B2AE;HANGUL SYLLABLE NYIGG
3092B2AF;HANGUL SYLLABLE NYIGS
3093B2B0;HANGUL SYLLABLE NYIN
3094B2B1;HANGUL SYLLABLE NYINJ
3095B2B2;HANGUL SYLLABLE NYINH
3096B2B3;HANGUL SYLLABLE NYID
3097B2B4;HANGUL SYLLABLE NYIL
3098B2B5;HANGUL SYLLABLE NYILG
3099B2B6;HANGUL SYLLABLE NYILM
3100B2B7;HANGUL SYLLABLE NYILB
3101B2B8;HANGUL SYLLABLE NYILS
3102B2B9;HANGUL SYLLABLE NYILT
3103B2BA;HANGUL SYLLABLE NYILP
3104B2BB;HANGUL SYLLABLE NYILH
3105B2BC;HANGUL SYLLABLE NYIM
3106B2BD;HANGUL SYLLABLE NYIB
3107B2BE;HANGUL SYLLABLE NYIBS
3108B2BF;HANGUL SYLLABLE NYIS
3109B2C0;HANGUL SYLLABLE NYISS
3110B2C1;HANGUL SYLLABLE NYING
3111B2C2;HANGUL SYLLABLE NYIJ
3112B2C3;HANGUL SYLLABLE NYIC
3113B2C4;HANGUL SYLLABLE NYIK
3114B2C5;HANGUL SYLLABLE NYIT
3115B2C6;HANGUL SYLLABLE NYIP
3116B2C7;HANGUL SYLLABLE NYIH
3117B2C8;HANGUL SYLLABLE NI
3118B2C9;HANGUL SYLLABLE NIG
3119B2CA;HANGUL SYLLABLE NIGG
3120B2CB;HANGUL SYLLABLE NIGS
3121B2CC;HANGUL SYLLABLE NIN
3122B2CD;HANGUL SYLLABLE NINJ
3123B2CE;HANGUL SYLLABLE NINH
3124B2CF;HANGUL SYLLABLE NID
3125B2D0;HANGUL SYLLABLE NIL
3126B2D1;HANGUL SYLLABLE NILG
3127B2D2;HANGUL SYLLABLE NILM
3128B2D3;HANGUL SYLLABLE NILB
3129B2D4;HANGUL SYLLABLE NILS
3130B2D5;HANGUL SYLLABLE NILT
3131B2D6;HANGUL SYLLABLE NILP
3132B2D7;HANGUL SYLLABLE NILH
3133B2D8;HANGUL SYLLABLE NIM
3134B2D9;HANGUL SYLLABLE NIB
3135B2DA;HANGUL SYLLABLE NIBS
3136B2DB;HANGUL SYLLABLE NIS
3137B2DC;HANGUL SYLLABLE NISS
3138B2DD;HANGUL SYLLABLE NING
3139B2DE;HANGUL SYLLABLE NIJ
3140B2DF;HANGUL SYLLABLE NIC
3141B2E0;HANGUL SYLLABLE NIK
3142B2E1;HANGUL SYLLABLE NIT
3143B2E2;HANGUL SYLLABLE NIP
3144B2E3;HANGUL SYLLABLE NIH
3145B2E4;HANGUL SYLLABLE DA
3146B2E5;HANGUL SYLLABLE DAG
3147B2E6;HANGUL SYLLABLE DAGG
3148B2E7;HANGUL SYLLABLE DAGS
3149B2E8;HANGUL SYLLABLE DAN
3150B2E9;HANGUL SYLLABLE DANJ
3151B2EA;HANGUL SYLLABLE DANH
3152B2EB;HANGUL SYLLABLE DAD
3153B2EC;HANGUL SYLLABLE DAL
3154B2ED;HANGUL SYLLABLE DALG
3155B2EE;HANGUL SYLLABLE DALM
3156B2EF;HANGUL SYLLABLE DALB
3157B2F0;HANGUL SYLLABLE DALS
3158B2F1;HANGUL SYLLABLE DALT
3159B2F2;HANGUL SYLLABLE DALP
3160B2F3;HANGUL SYLLABLE DALH
3161B2F4;HANGUL SYLLABLE DAM
3162B2F5;HANGUL SYLLABLE DAB
3163B2F6;HANGUL SYLLABLE DABS
3164B2F7;HANGUL SYLLABLE DAS
3165B2F8;HANGUL SYLLABLE DASS
3166B2F9;HANGUL SYLLABLE DANG
3167B2FA;HANGUL SYLLABLE DAJ
3168B2FB;HANGUL SYLLABLE DAC
3169B2FC;HANGUL SYLLABLE DAK
3170B2FD;HANGUL SYLLABLE DAT
3171B2FE;HANGUL SYLLABLE DAP
3172B2FF;HANGUL SYLLABLE DAH
3173B300;HANGUL SYLLABLE DAE
3174B301;HANGUL SYLLABLE DAEG
3175B302;HANGUL SYLLABLE DAEGG
3176B303;HANGUL SYLLABLE DAEGS
3177B304;HANGUL SYLLABLE DAEN
3178B305;HANGUL SYLLABLE DAENJ
3179B306;HANGUL SYLLABLE DAENH
3180B307;HANGUL SYLLABLE DAED
3181B308;HANGUL SYLLABLE DAEL
3182B309;HANGUL SYLLABLE DAELG
3183B30A;HANGUL SYLLABLE DAELM
3184B30B;HANGUL SYLLABLE DAELB
3185B30C;HANGUL SYLLABLE DAELS
3186B30D;HANGUL SYLLABLE DAELT
3187B30E;HANGUL SYLLABLE DAELP
3188B30F;HANGUL SYLLABLE DAELH
3189B310;HANGUL SYLLABLE DAEM
3190B311;HANGUL SYLLABLE DAEB
3191B312;HANGUL SYLLABLE DAEBS
3192B313;HANGUL SYLLABLE DAES
3193B314;HANGUL SYLLABLE DAESS
3194B315;HANGUL SYLLABLE DAENG
3195B316;HANGUL SYLLABLE DAEJ
3196B317;HANGUL SYLLABLE DAEC
3197B318;HANGUL SYLLABLE DAEK
3198B319;HANGUL SYLLABLE DAET
3199B31A;HANGUL SYLLABLE DAEP
3200B31B;HANGUL SYLLABLE DAEH
3201B31C;HANGUL SYLLABLE DYA
3202B31D;HANGUL SYLLABLE DYAG
3203B31E;HANGUL SYLLABLE DYAGG
3204B31F;HANGUL SYLLABLE DYAGS
3205B320;HANGUL SYLLABLE DYAN
3206B321;HANGUL SYLLABLE DYANJ
3207B322;HANGUL SYLLABLE DYANH
3208B323;HANGUL SYLLABLE DYAD
3209B324;HANGUL SYLLABLE DYAL
3210B325;HANGUL SYLLABLE DYALG
3211B326;HANGUL SYLLABLE DYALM
3212B327;HANGUL SYLLABLE DYALB
3213B328;HANGUL SYLLABLE DYALS
3214B329;HANGUL SYLLABLE DYALT
3215B32A;HANGUL SYLLABLE DYALP
3216B32B;HANGUL SYLLABLE DYALH
3217B32C;HANGUL SYLLABLE DYAM
3218B32D;HANGUL SYLLABLE DYAB
3219B32E;HANGUL SYLLABLE DYABS
3220B32F;HANGUL SYLLABLE DYAS
3221B330;HANGUL SYLLABLE DYASS
3222B331;HANGUL SYLLABLE DYANG
3223B332;HANGUL SYLLABLE DYAJ
3224B333;HANGUL SYLLABLE DYAC
3225B334;HANGUL SYLLABLE DYAK
3226B335;HANGUL SYLLABLE DYAT
3227B336;HANGUL SYLLABLE DYAP
3228B337;HANGUL SYLLABLE DYAH
3229B338;HANGUL SYLLABLE DYAE
3230B339;HANGUL SYLLABLE DYAEG
3231B33A;HANGUL SYLLABLE DYAEGG
3232B33B;HANGUL SYLLABLE DYAEGS
3233B33C;HANGUL SYLLABLE DYAEN
3234B33D;HANGUL SYLLABLE DYAENJ
3235B33E;HANGUL SYLLABLE DYAENH
3236B33F;HANGUL SYLLABLE DYAED
3237B340;HANGUL SYLLABLE DYAEL
3238B341;HANGUL SYLLABLE DYAELG
3239B342;HANGUL SYLLABLE DYAELM
3240B343;HANGUL SYLLABLE DYAELB
3241B344;HANGUL SYLLABLE DYAELS
3242B345;HANGUL SYLLABLE DYAELT
3243B346;HANGUL SYLLABLE DYAELP
3244B347;HANGUL SYLLABLE DYAELH
3245B348;HANGUL SYLLABLE DYAEM
3246B349;HANGUL SYLLABLE DYAEB
3247B34A;HANGUL SYLLABLE DYAEBS
3248B34B;HANGUL SYLLABLE DYAES
3249B34C;HANGUL SYLLABLE DYAESS
3250B34D;HANGUL SYLLABLE DYAENG
3251B34E;HANGUL SYLLABLE DYAEJ
3252B34F;HANGUL SYLLABLE DYAEC
3253B350;HANGUL SYLLABLE DYAEK
3254B351;HANGUL SYLLABLE DYAET
3255B352;HANGUL SYLLABLE DYAEP
3256B353;HANGUL SYLLABLE DYAEH
3257B354;HANGUL SYLLABLE DEO
3258B355;HANGUL SYLLABLE DEOG
3259B356;HANGUL SYLLABLE DEOGG
3260B357;HANGUL SYLLABLE DEOGS
3261B358;HANGUL SYLLABLE DEON
3262B359;HANGUL SYLLABLE DEONJ
3263B35A;HANGUL SYLLABLE DEONH
3264B35B;HANGUL SYLLABLE DEOD
3265B35C;HANGUL SYLLABLE DEOL
3266B35D;HANGUL SYLLABLE DEOLG
3267B35E;HANGUL SYLLABLE DEOLM
3268B35F;HANGUL SYLLABLE DEOLB
3269B360;HANGUL SYLLABLE DEOLS
3270B361;HANGUL SYLLABLE DEOLT
3271B362;HANGUL SYLLABLE DEOLP
3272B363;HANGUL SYLLABLE DEOLH
3273B364;HANGUL SYLLABLE DEOM
3274B365;HANGUL SYLLABLE DEOB
3275B366;HANGUL SYLLABLE DEOBS
3276B367;HANGUL SYLLABLE DEOS
3277B368;HANGUL SYLLABLE DEOSS
3278B369;HANGUL SYLLABLE DEONG
3279B36A;HANGUL SYLLABLE DEOJ
3280B36B;HANGUL SYLLABLE DEOC
3281B36C;HANGUL SYLLABLE DEOK
3282B36D;HANGUL SYLLABLE DEOT
3283B36E;HANGUL SYLLABLE DEOP
3284B36F;HANGUL SYLLABLE DEOH
3285B370;HANGUL SYLLABLE DE
3286B371;HANGUL SYLLABLE DEG
3287B372;HANGUL SYLLABLE DEGG
3288B373;HANGUL SYLLABLE DEGS
3289B374;HANGUL SYLLABLE DEN
3290B375;HANGUL SYLLABLE DENJ
3291B376;HANGUL SYLLABLE DENH
3292B377;HANGUL SYLLABLE DED
3293B378;HANGUL SYLLABLE DEL
3294B379;HANGUL SYLLABLE DELG
3295B37A;HANGUL SYLLABLE DELM
3296B37B;HANGUL SYLLABLE DELB
3297B37C;HANGUL SYLLABLE DELS
3298B37D;HANGUL SYLLABLE DELT
3299B37E;HANGUL SYLLABLE DELP
3300B37F;HANGUL SYLLABLE DELH
3301B380;HANGUL SYLLABLE DEM
3302B381;HANGUL SYLLABLE DEB
3303B382;HANGUL SYLLABLE DEBS
3304B383;HANGUL SYLLABLE DES
3305B384;HANGUL SYLLABLE DESS
3306B385;HANGUL SYLLABLE DENG
3307B386;HANGUL SYLLABLE DEJ
3308B387;HANGUL SYLLABLE DEC
3309B388;HANGUL SYLLABLE DEK
3310B389;HANGUL SYLLABLE DET
3311B38A;HANGUL SYLLABLE DEP
3312B38B;HANGUL SYLLABLE DEH
3313B38C;HANGUL SYLLABLE DYEO
3314B38D;HANGUL SYLLABLE DYEOG
3315B38E;HANGUL SYLLABLE DYEOGG
3316B38F;HANGUL SYLLABLE DYEOGS
3317B390;HANGUL SYLLABLE DYEON
3318B391;HANGUL SYLLABLE DYEONJ
3319B392;HANGUL SYLLABLE DYEONH
3320B393;HANGUL SYLLABLE DYEOD
3321B394;HANGUL SYLLABLE DYEOL
3322B395;HANGUL SYLLABLE DYEOLG
3323B396;HANGUL SYLLABLE DYEOLM
3324B397;HANGUL SYLLABLE DYEOLB
3325B398;HANGUL SYLLABLE DYEOLS
3326B399;HANGUL SYLLABLE DYEOLT
3327B39A;HANGUL SYLLABLE DYEOLP
3328B39B;HANGUL SYLLABLE DYEOLH
3329B39C;HANGUL SYLLABLE DYEOM
3330B39D;HANGUL SYLLABLE DYEOB
3331B39E;HANGUL SYLLABLE DYEOBS
3332B39F;HANGUL SYLLABLE DYEOS
3333B3A0;HANGUL SYLLABLE DYEOSS
3334B3A1;HANGUL SYLLABLE DYEONG
3335B3A2;HANGUL SYLLABLE DYEOJ
3336B3A3;HANGUL SYLLABLE DYEOC
3337B3A4;HANGUL SYLLABLE DYEOK
3338B3A5;HANGUL SYLLABLE DYEOT
3339B3A6;HANGUL SYLLABLE DYEOP
3340B3A7;HANGUL SYLLABLE DYEOH
3341B3A8;HANGUL SYLLABLE DYE
3342B3A9;HANGUL SYLLABLE DYEG
3343B3AA;HANGUL SYLLABLE DYEGG
3344B3AB;HANGUL SYLLABLE DYEGS
3345B3AC;HANGUL SYLLABLE DYEN
3346B3AD;HANGUL SYLLABLE DYENJ
3347B3AE;HANGUL SYLLABLE DYENH
3348B3AF;HANGUL SYLLABLE DYED
3349B3B0;HANGUL SYLLABLE DYEL
3350B3B1;HANGUL SYLLABLE DYELG
3351B3B2;HANGUL SYLLABLE DYELM
3352B3B3;HANGUL SYLLABLE DYELB
3353B3B4;HANGUL SYLLABLE DYELS
3354B3B5;HANGUL SYLLABLE DYELT
3355B3B6;HANGUL SYLLABLE DYELP
3356B3B7;HANGUL SYLLABLE DYELH
3357B3B8;HANGUL SYLLABLE DYEM
3358B3B9;HANGUL SYLLABLE DYEB
3359B3BA;HANGUL SYLLABLE DYEBS
3360B3BB;HANGUL SYLLABLE DYES
3361B3BC;HANGUL SYLLABLE DYESS
3362B3BD;HANGUL SYLLABLE DYENG
3363B3BE;HANGUL SYLLABLE DYEJ
3364B3BF;HANGUL SYLLABLE DYEC
3365B3C0;HANGUL SYLLABLE DYEK
3366B3C1;HANGUL SYLLABLE DYET
3367B3C2;HANGUL SYLLABLE DYEP
3368B3C3;HANGUL SYLLABLE DYEH
3369B3C4;HANGUL SYLLABLE DO
3370B3C5;HANGUL SYLLABLE DOG
3371B3C6;HANGUL SYLLABLE DOGG
3372B3C7;HANGUL SYLLABLE DOGS
3373B3C8;HANGUL SYLLABLE DON
3374B3C9;HANGUL SYLLABLE DONJ
3375B3CA;HANGUL SYLLABLE DONH
3376B3CB;HANGUL SYLLABLE DOD
3377B3CC;HANGUL SYLLABLE DOL
3378B3CD;HANGUL SYLLABLE DOLG
3379B3CE;HANGUL SYLLABLE DOLM
3380B3CF;HANGUL SYLLABLE DOLB
3381B3D0;HANGUL SYLLABLE DOLS
3382B3D1;HANGUL SYLLABLE DOLT
3383B3D2;HANGUL SYLLABLE DOLP
3384B3D3;HANGUL SYLLABLE DOLH
3385B3D4;HANGUL SYLLABLE DOM
3386B3D5;HANGUL SYLLABLE DOB
3387B3D6;HANGUL SYLLABLE DOBS
3388B3D7;HANGUL SYLLABLE DOS
3389B3D8;HANGUL SYLLABLE DOSS
3390B3D9;HANGUL SYLLABLE DONG
3391B3DA;HANGUL SYLLABLE DOJ
3392B3DB;HANGUL SYLLABLE DOC
3393B3DC;HANGUL SYLLABLE DOK
3394B3DD;HANGUL SYLLABLE DOT
3395B3DE;HANGUL SYLLABLE DOP
3396B3DF;HANGUL SYLLABLE DOH
3397B3E0;HANGUL SYLLABLE DWA
3398B3E1;HANGUL SYLLABLE DWAG
3399B3E2;HANGUL SYLLABLE DWAGG
3400B3E3;HANGUL SYLLABLE DWAGS
3401B3E4;HANGUL SYLLABLE DWAN
3402B3E5;HANGUL SYLLABLE DWANJ
3403B3E6;HANGUL SYLLABLE DWANH
3404B3E7;HANGUL SYLLABLE DWAD
3405B3E8;HANGUL SYLLABLE DWAL
3406B3E9;HANGUL SYLLABLE DWALG
3407B3EA;HANGUL SYLLABLE DWALM
3408B3EB;HANGUL SYLLABLE DWALB
3409B3EC;HANGUL SYLLABLE DWALS
3410B3ED;HANGUL SYLLABLE DWALT
3411B3EE;HANGUL SYLLABLE DWALP
3412B3EF;HANGUL SYLLABLE DWALH
3413B3F0;HANGUL SYLLABLE DWAM
3414B3F1;HANGUL SYLLABLE DWAB
3415B3F2;HANGUL SYLLABLE DWABS
3416B3F3;HANGUL SYLLABLE DWAS
3417B3F4;HANGUL SYLLABLE DWASS
3418B3F5;HANGUL SYLLABLE DWANG
3419B3F6;HANGUL SYLLABLE DWAJ
3420B3F7;HANGUL SYLLABLE DWAC
3421B3F8;HANGUL SYLLABLE DWAK
3422B3F9;HANGUL SYLLABLE DWAT
3423B3FA;HANGUL SYLLABLE DWAP
3424B3FB;HANGUL SYLLABLE DWAH
3425B3FC;HANGUL SYLLABLE DWAE
3426B3FD;HANGUL SYLLABLE DWAEG
3427B3FE;HANGUL SYLLABLE DWAEGG
3428B3FF;HANGUL SYLLABLE DWAEGS
3429B400;HANGUL SYLLABLE DWAEN
3430B401;HANGUL SYLLABLE DWAENJ
3431B402;HANGUL SYLLABLE DWAENH
3432B403;HANGUL SYLLABLE DWAED
3433B404;HANGUL SYLLABLE DWAEL
3434B405;HANGUL SYLLABLE DWAELG
3435B406;HANGUL SYLLABLE DWAELM
3436B407;HANGUL SYLLABLE DWAELB
3437B408;HANGUL SYLLABLE DWAELS
3438B409;HANGUL SYLLABLE DWAELT
3439B40A;HANGUL SYLLABLE DWAELP
3440B40B;HANGUL SYLLABLE DWAELH
3441B40C;HANGUL SYLLABLE DWAEM
3442B40D;HANGUL SYLLABLE DWAEB
3443B40E;HANGUL SYLLABLE DWAEBS
3444B40F;HANGUL SYLLABLE DWAES
3445B410;HANGUL SYLLABLE DWAESS
3446B411;HANGUL SYLLABLE DWAENG
3447B412;HANGUL SYLLABLE DWAEJ
3448B413;HANGUL SYLLABLE DWAEC
3449B414;HANGUL SYLLABLE DWAEK
3450B415;HANGUL SYLLABLE DWAET
3451B416;HANGUL SYLLABLE DWAEP
3452B417;HANGUL SYLLABLE DWAEH
3453B418;HANGUL SYLLABLE DOE
3454B419;HANGUL SYLLABLE DOEG
3455B41A;HANGUL SYLLABLE DOEGG
3456B41B;HANGUL SYLLABLE DOEGS
3457B41C;HANGUL SYLLABLE DOEN
3458B41D;HANGUL SYLLABLE DOENJ
3459B41E;HANGUL SYLLABLE DOENH
3460B41F;HANGUL SYLLABLE DOED
3461B420;HANGUL SYLLABLE DOEL
3462B421;HANGUL SYLLABLE DOELG
3463B422;HANGUL SYLLABLE DOELM
3464B423;HANGUL SYLLABLE DOELB
3465B424;HANGUL SYLLABLE DOELS
3466B425;HANGUL SYLLABLE DOELT
3467B426;HANGUL SYLLABLE DOELP
3468B427;HANGUL SYLLABLE DOELH
3469B428;HANGUL SYLLABLE DOEM
3470B429;HANGUL SYLLABLE DOEB
3471B42A;HANGUL SYLLABLE DOEBS
3472B42B;HANGUL SYLLABLE DOES
3473B42C;HANGUL SYLLABLE DOESS
3474B42D;HANGUL SYLLABLE DOENG
3475B42E;HANGUL SYLLABLE DOEJ
3476B42F;HANGUL SYLLABLE DOEC
3477B430;HANGUL SYLLABLE DOEK
3478B431;HANGUL SYLLABLE DOET
3479B432;HANGUL SYLLABLE DOEP
3480B433;HANGUL SYLLABLE DOEH
3481B434;HANGUL SYLLABLE DYO
3482B435;HANGUL SYLLABLE DYOG
3483B436;HANGUL SYLLABLE DYOGG
3484B437;HANGUL SYLLABLE DYOGS
3485B438;HANGUL SYLLABLE DYON
3486B439;HANGUL SYLLABLE DYONJ
3487B43A;HANGUL SYLLABLE DYONH
3488B43B;HANGUL SYLLABLE DYOD
3489B43C;HANGUL SYLLABLE DYOL
3490B43D;HANGUL SYLLABLE DYOLG
3491B43E;HANGUL SYLLABLE DYOLM
3492B43F;HANGUL SYLLABLE DYOLB
3493B440;HANGUL SYLLABLE DYOLS
3494B441;HANGUL SYLLABLE DYOLT
3495B442;HANGUL SYLLABLE DYOLP
3496B443;HANGUL SYLLABLE DYOLH
3497B444;HANGUL SYLLABLE DYOM
3498B445;HANGUL SYLLABLE DYOB
3499B446;HANGUL SYLLABLE DYOBS
3500B447;HANGUL SYLLABLE DYOS
3501B448;HANGUL SYLLABLE DYOSS
3502B449;HANGUL SYLLABLE DYONG
3503B44A;HANGUL SYLLABLE DYOJ
3504B44B;HANGUL SYLLABLE DYOC
3505B44C;HANGUL SYLLABLE DYOK
3506B44D;HANGUL SYLLABLE DYOT
3507B44E;HANGUL SYLLABLE DYOP
3508B44F;HANGUL SYLLABLE DYOH
3509B450;HANGUL SYLLABLE DU
3510B451;HANGUL SYLLABLE DUG
3511B452;HANGUL SYLLABLE DUGG
3512B453;HANGUL SYLLABLE DUGS
3513B454;HANGUL SYLLABLE DUN
3514B455;HANGUL SYLLABLE DUNJ
3515B456;HANGUL SYLLABLE DUNH
3516B457;HANGUL SYLLABLE DUD
3517B458;HANGUL SYLLABLE DUL
3518B459;HANGUL SYLLABLE DULG
3519B45A;HANGUL SYLLABLE DULM
3520B45B;HANGUL SYLLABLE DULB
3521B45C;HANGUL SYLLABLE DULS
3522B45D;HANGUL SYLLABLE DULT
3523B45E;HANGUL SYLLABLE DULP
3524B45F;HANGUL SYLLABLE DULH
3525B460;HANGUL SYLLABLE DUM
3526B461;HANGUL SYLLABLE DUB
3527B462;HANGUL SYLLABLE DUBS
3528B463;HANGUL SYLLABLE DUS
3529B464;HANGUL SYLLABLE DUSS
3530B465;HANGUL SYLLABLE DUNG
3531B466;HANGUL SYLLABLE DUJ
3532B467;HANGUL SYLLABLE DUC
3533B468;HANGUL SYLLABLE DUK
3534B469;HANGUL SYLLABLE DUT
3535B46A;HANGUL SYLLABLE DUP
3536B46B;HANGUL SYLLABLE DUH
3537B46C;HANGUL SYLLABLE DWEO
3538B46D;HANGUL SYLLABLE DWEOG
3539B46E;HANGUL SYLLABLE DWEOGG
3540B46F;HANGUL SYLLABLE DWEOGS
3541B470;HANGUL SYLLABLE DWEON
3542B471;HANGUL SYLLABLE DWEONJ
3543B472;HANGUL SYLLABLE DWEONH
3544B473;HANGUL SYLLABLE DWEOD
3545B474;HANGUL SYLLABLE DWEOL
3546B475;HANGUL SYLLABLE DWEOLG
3547B476;HANGUL SYLLABLE DWEOLM
3548B477;HANGUL SYLLABLE DWEOLB
3549B478;HANGUL SYLLABLE DWEOLS
3550B479;HANGUL SYLLABLE DWEOLT
3551B47A;HANGUL SYLLABLE DWEOLP
3552B47B;HANGUL SYLLABLE DWEOLH
3553B47C;HANGUL SYLLABLE DWEOM
3554B47D;HANGUL SYLLABLE DWEOB
3555B47E;HANGUL SYLLABLE DWEOBS
3556B47F;HANGUL SYLLABLE DWEOS
3557B480;HANGUL SYLLABLE DWEOSS
3558B481;HANGUL SYLLABLE DWEONG
3559B482;HANGUL SYLLABLE DWEOJ
3560B483;HANGUL SYLLABLE DWEOC
3561B484;HANGUL SYLLABLE DWEOK
3562B485;HANGUL SYLLABLE DWEOT
3563B486;HANGUL SYLLABLE DWEOP
3564B487;HANGUL SYLLABLE DWEOH
3565B488;HANGUL SYLLABLE DWE
3566B489;HANGUL SYLLABLE DWEG
3567B48A;HANGUL SYLLABLE DWEGG
3568B48B;HANGUL SYLLABLE DWEGS
3569B48C;HANGUL SYLLABLE DWEN
3570B48D;HANGUL SYLLABLE DWENJ
3571B48E;HANGUL SYLLABLE DWENH
3572B48F;HANGUL SYLLABLE DWED
3573B490;HANGUL SYLLABLE DWEL
3574B491;HANGUL SYLLABLE DWELG
3575B492;HANGUL SYLLABLE DWELM
3576B493;HANGUL SYLLABLE DWELB
3577B494;HANGUL SYLLABLE DWELS
3578B495;HANGUL SYLLABLE DWELT
3579B496;HANGUL SYLLABLE DWELP
3580B497;HANGUL SYLLABLE DWELH
3581B498;HANGUL SYLLABLE DWEM
3582B499;HANGUL SYLLABLE DWEB
3583B49A;HANGUL SYLLABLE DWEBS
3584B49B;HANGUL SYLLABLE DWES
3585B49C;HANGUL SYLLABLE DWESS
3586B49D;HANGUL SYLLABLE DWENG
3587B49E;HANGUL SYLLABLE DWEJ
3588B49F;HANGUL SYLLABLE DWEC
3589B4A0;HANGUL SYLLABLE DWEK
3590B4A1;HANGUL SYLLABLE DWET
3591B4A2;HANGUL SYLLABLE DWEP
3592B4A3;HANGUL SYLLABLE DWEH
3593B4A4;HANGUL SYLLABLE DWI
3594B4A5;HANGUL SYLLABLE DWIG
3595B4A6;HANGUL SYLLABLE DWIGG
3596B4A7;HANGUL SYLLABLE DWIGS
3597B4A8;HANGUL SYLLABLE DWIN
3598B4A9;HANGUL SYLLABLE DWINJ
3599B4AA;HANGUL SYLLABLE DWINH
3600B4AB;HANGUL SYLLABLE DWID
3601B4AC;HANGUL SYLLABLE DWIL
3602B4AD;HANGUL SYLLABLE DWILG
3603B4AE;HANGUL SYLLABLE DWILM
3604B4AF;HANGUL SYLLABLE DWILB
3605B4B0;HANGUL SYLLABLE DWILS
3606B4B1;HANGUL SYLLABLE DWILT
3607B4B2;HANGUL SYLLABLE DWILP
3608B4B3;HANGUL SYLLABLE DWILH
3609B4B4;HANGUL SYLLABLE DWIM
3610B4B5;HANGUL SYLLABLE DWIB
3611B4B6;HANGUL SYLLABLE DWIBS
3612B4B7;HANGUL SYLLABLE DWIS
3613B4B8;HANGUL SYLLABLE DWISS
3614B4B9;HANGUL SYLLABLE DWING
3615B4BA;HANGUL SYLLABLE DWIJ
3616B4BB;HANGUL SYLLABLE DWIC
3617B4BC;HANGUL SYLLABLE DWIK
3618B4BD;HANGUL SYLLABLE DWIT
3619B4BE;HANGUL SYLLABLE DWIP
3620B4BF;HANGUL SYLLABLE DWIH
3621B4C0;HANGUL SYLLABLE DYU
3622B4C1;HANGUL SYLLABLE DYUG
3623B4C2;HANGUL SYLLABLE DYUGG
3624B4C3;HANGUL SYLLABLE DYUGS
3625B4C4;HANGUL SYLLABLE DYUN
3626B4C5;HANGUL SYLLABLE DYUNJ
3627B4C6;HANGUL SYLLABLE DYUNH
3628B4C7;HANGUL SYLLABLE DYUD
3629B4C8;HANGUL SYLLABLE DYUL
3630B4C9;HANGUL SYLLABLE DYULG
3631B4CA;HANGUL SYLLABLE DYULM
3632B4CB;HANGUL SYLLABLE DYULB
3633B4CC;HANGUL SYLLABLE DYULS
3634B4CD;HANGUL SYLLABLE DYULT
3635B4CE;HANGUL SYLLABLE DYULP
3636B4CF;HANGUL SYLLABLE DYULH
3637B4D0;HANGUL SYLLABLE DYUM
3638B4D1;HANGUL SYLLABLE DYUB
3639B4D2;HANGUL SYLLABLE DYUBS
3640B4D3;HANGUL SYLLABLE DYUS
3641B4D4;HANGUL SYLLABLE DYUSS
3642B4D5;HANGUL SYLLABLE DYUNG
3643B4D6;HANGUL SYLLABLE DYUJ
3644B4D7;HANGUL SYLLABLE DYUC
3645B4D8;HANGUL SYLLABLE DYUK
3646B4D9;HANGUL SYLLABLE DYUT
3647B4DA;HANGUL SYLLABLE DYUP
3648B4DB;HANGUL SYLLABLE DYUH
3649B4DC;HANGUL SYLLABLE DEU
3650B4DD;HANGUL SYLLABLE DEUG
3651B4DE;HANGUL SYLLABLE DEUGG
3652B4DF;HANGUL SYLLABLE DEUGS
3653B4E0;HANGUL SYLLABLE DEUN
3654B4E1;HANGUL SYLLABLE DEUNJ
3655B4E2;HANGUL SYLLABLE DEUNH
3656B4E3;HANGUL SYLLABLE DEUD
3657B4E4;HANGUL SYLLABLE DEUL
3658B4E5;HANGUL SYLLABLE DEULG
3659B4E6;HANGUL SYLLABLE DEULM
3660B4E7;HANGUL SYLLABLE DEULB
3661B4E8;HANGUL SYLLABLE DEULS
3662B4E9;HANGUL SYLLABLE DEULT
3663B4EA;HANGUL SYLLABLE DEULP
3664B4EB;HANGUL SYLLABLE DEULH
3665B4EC;HANGUL SYLLABLE DEUM
3666B4ED;HANGUL SYLLABLE DEUB
3667B4EE;HANGUL SYLLABLE DEUBS
3668B4EF;HANGUL SYLLABLE DEUS
3669B4F0;HANGUL SYLLABLE DEUSS
3670B4F1;HANGUL SYLLABLE DEUNG
3671B4F2;HANGUL SYLLABLE DEUJ
3672B4F3;HANGUL SYLLABLE DEUC
3673B4F4;HANGUL SYLLABLE DEUK
3674B4F5;HANGUL SYLLABLE DEUT
3675B4F6;HANGUL SYLLABLE DEUP
3676B4F7;HANGUL SYLLABLE DEUH
3677B4F8;HANGUL SYLLABLE DYI
3678B4F9;HANGUL SYLLABLE DYIG
3679B4FA;HANGUL SYLLABLE DYIGG
3680B4FB;HANGUL SYLLABLE DYIGS
3681B4FC;HANGUL SYLLABLE DYIN
3682B4FD;HANGUL SYLLABLE DYINJ
3683B4FE;HANGUL SYLLABLE DYINH
3684B4FF;HANGUL SYLLABLE DYID
3685B500;HANGUL SYLLABLE DYIL
3686B501;HANGUL SYLLABLE DYILG
3687B502;HANGUL SYLLABLE DYILM
3688B503;HANGUL SYLLABLE DYILB
3689B504;HANGUL SYLLABLE DYILS
3690B505;HANGUL SYLLABLE DYILT
3691B506;HANGUL SYLLABLE DYILP
3692B507;HANGUL SYLLABLE DYILH
3693B508;HANGUL SYLLABLE DYIM
3694B509;HANGUL SYLLABLE DYIB
3695B50A;HANGUL SYLLABLE DYIBS
3696B50B;HANGUL SYLLABLE DYIS
3697B50C;HANGUL SYLLABLE DYISS
3698B50D;HANGUL SYLLABLE DYING
3699B50E;HANGUL SYLLABLE DYIJ
3700B50F;HANGUL SYLLABLE DYIC
3701B510;HANGUL SYLLABLE DYIK
3702B511;HANGUL SYLLABLE DYIT
3703B512;HANGUL SYLLABLE DYIP
3704B513;HANGUL SYLLABLE DYIH
3705B514;HANGUL SYLLABLE DI
3706B515;HANGUL SYLLABLE DIG
3707B516;HANGUL SYLLABLE DIGG
3708B517;HANGUL SYLLABLE DIGS
3709B518;HANGUL SYLLABLE DIN
3710B519;HANGUL SYLLABLE DINJ
3711B51A;HANGUL SYLLABLE DINH
3712B51B;HANGUL SYLLABLE DID
3713B51C;HANGUL SYLLABLE DIL
3714B51D;HANGUL SYLLABLE DILG
3715B51E;HANGUL SYLLABLE DILM
3716B51F;HANGUL SYLLABLE DILB
3717B520;HANGUL SYLLABLE DILS
3718B521;HANGUL SYLLABLE DILT
3719B522;HANGUL SYLLABLE DILP
3720B523;HANGUL SYLLABLE DILH
3721B524;HANGUL SYLLABLE DIM
3722B525;HANGUL SYLLABLE DIB
3723B526;HANGUL SYLLABLE DIBS
3724B527;HANGUL SYLLABLE DIS
3725B528;HANGUL SYLLABLE DISS
3726B529;HANGUL SYLLABLE DING
3727B52A;HANGUL SYLLABLE DIJ
3728B52B;HANGUL SYLLABLE DIC
3729B52C;HANGUL SYLLABLE DIK
3730B52D;HANGUL SYLLABLE DIT
3731B52E;HANGUL SYLLABLE DIP
3732B52F;HANGUL SYLLABLE DIH
3733B530;HANGUL SYLLABLE DDA
3734B531;HANGUL SYLLABLE DDAG
3735B532;HANGUL SYLLABLE DDAGG
3736B533;HANGUL SYLLABLE DDAGS
3737B534;HANGUL SYLLABLE DDAN
3738B535;HANGUL SYLLABLE DDANJ
3739B536;HANGUL SYLLABLE DDANH
3740B537;HANGUL SYLLABLE DDAD
3741B538;HANGUL SYLLABLE DDAL
3742B539;HANGUL SYLLABLE DDALG
3743B53A;HANGUL SYLLABLE DDALM
3744B53B;HANGUL SYLLABLE DDALB
3745B53C;HANGUL SYLLABLE DDALS
3746B53D;HANGUL SYLLABLE DDALT
3747B53E;HANGUL SYLLABLE DDALP
3748B53F;HANGUL SYLLABLE DDALH
3749B540;HANGUL SYLLABLE DDAM
3750B541;HANGUL SYLLABLE DDAB
3751B542;HANGUL SYLLABLE DDABS
3752B543;HANGUL SYLLABLE DDAS
3753B544;HANGUL SYLLABLE DDASS
3754B545;HANGUL SYLLABLE DDANG
3755B546;HANGUL SYLLABLE DDAJ
3756B547;HANGUL SYLLABLE DDAC
3757B548;HANGUL SYLLABLE DDAK
3758B549;HANGUL SYLLABLE DDAT
3759B54A;HANGUL SYLLABLE DDAP
3760B54B;HANGUL SYLLABLE DDAH
3761B54C;HANGUL SYLLABLE DDAE
3762B54D;HANGUL SYLLABLE DDAEG
3763B54E;HANGUL SYLLABLE DDAEGG
3764B54F;HANGUL SYLLABLE DDAEGS
3765B550;HANGUL SYLLABLE DDAEN
3766B551;HANGUL SYLLABLE DDAENJ
3767B552;HANGUL SYLLABLE DDAENH
3768B553;HANGUL SYLLABLE DDAED
3769B554;HANGUL SYLLABLE DDAEL
3770B555;HANGUL SYLLABLE DDAELG
3771B556;HANGUL SYLLABLE DDAELM
3772B557;HANGUL SYLLABLE DDAELB
3773B558;HANGUL SYLLABLE DDAELS
3774B559;HANGUL SYLLABLE DDAELT
3775B55A;HANGUL SYLLABLE DDAELP
3776B55B;HANGUL SYLLABLE DDAELH
3777B55C;HANGUL SYLLABLE DDAEM
3778B55D;HANGUL SYLLABLE DDAEB
3779B55E;HANGUL SYLLABLE DDAEBS
3780B55F;HANGUL SYLLABLE DDAES
3781B560;HANGUL SYLLABLE DDAESS
3782B561;HANGUL SYLLABLE DDAENG
3783B562;HANGUL SYLLABLE DDAEJ
3784B563;HANGUL SYLLABLE DDAEC
3785B564;HANGUL SYLLABLE DDAEK
3786B565;HANGUL SYLLABLE DDAET
3787B566;HANGUL SYLLABLE DDAEP
3788B567;HANGUL SYLLABLE DDAEH
3789B568;HANGUL SYLLABLE DDYA
3790B569;HANGUL SYLLABLE DDYAG
3791B56A;HANGUL SYLLABLE DDYAGG
3792B56B;HANGUL SYLLABLE DDYAGS
3793B56C;HANGUL SYLLABLE DDYAN
3794B56D;HANGUL SYLLABLE DDYANJ
3795B56E;HANGUL SYLLABLE DDYANH
3796B56F;HANGUL SYLLABLE DDYAD
3797B570;HANGUL SYLLABLE DDYAL
3798B571;HANGUL SYLLABLE DDYALG
3799B572;HANGUL SYLLABLE DDYALM
3800B573;HANGUL SYLLABLE DDYALB
3801B574;HANGUL SYLLABLE DDYALS
3802B575;HANGUL SYLLABLE DDYALT
3803B576;HANGUL SYLLABLE DDYALP
3804B577;HANGUL SYLLABLE DDYALH
3805B578;HANGUL SYLLABLE DDYAM
3806B579;HANGUL SYLLABLE DDYAB
3807B57A;HANGUL SYLLABLE DDYABS
3808B57B;HANGUL SYLLABLE DDYAS
3809B57C;HANGUL SYLLABLE DDYASS
3810B57D;HANGUL SYLLABLE DDYANG
3811B57E;HANGUL SYLLABLE DDYAJ
3812B57F;HANGUL SYLLABLE DDYAC
3813B580;HANGUL SYLLABLE DDYAK
3814B581;HANGUL SYLLABLE DDYAT
3815B582;HANGUL SYLLABLE DDYAP
3816B583;HANGUL SYLLABLE DDYAH
3817B584;HANGUL SYLLABLE DDYAE
3818B585;HANGUL SYLLABLE DDYAEG
3819B586;HANGUL SYLLABLE DDYAEGG
3820B587;HANGUL SYLLABLE DDYAEGS
3821B588;HANGUL SYLLABLE DDYAEN
3822B589;HANGUL SYLLABLE DDYAENJ
3823B58A;HANGUL SYLLABLE DDYAENH
3824B58B;HANGUL SYLLABLE DDYAED
3825B58C;HANGUL SYLLABLE DDYAEL
3826B58D;HANGUL SYLLABLE DDYAELG
3827B58E;HANGUL SYLLABLE DDYAELM
3828B58F;HANGUL SYLLABLE DDYAELB
3829B590;HANGUL SYLLABLE DDYAELS
3830B591;HANGUL SYLLABLE DDYAELT
3831B592;HANGUL SYLLABLE DDYAELP
3832B593;HANGUL SYLLABLE DDYAELH
3833B594;HANGUL SYLLABLE DDYAEM
3834B595;HANGUL SYLLABLE DDYAEB
3835B596;HANGUL SYLLABLE DDYAEBS
3836B597;HANGUL SYLLABLE DDYAES
3837B598;HANGUL SYLLABLE DDYAESS
3838B599;HANGUL SYLLABLE DDYAENG
3839B59A;HANGUL SYLLABLE DDYAEJ
3840B59B;HANGUL SYLLABLE DDYAEC
3841B59C;HANGUL SYLLABLE DDYAEK
3842B59D;HANGUL SYLLABLE DDYAET
3843B59E;HANGUL SYLLABLE DDYAEP
3844B59F;HANGUL SYLLABLE DDYAEH
3845B5A0;HANGUL SYLLABLE DDEO
3846B5A1;HANGUL SYLLABLE DDEOG
3847B5A2;HANGUL SYLLABLE DDEOGG
3848B5A3;HANGUL SYLLABLE DDEOGS
3849B5A4;HANGUL SYLLABLE DDEON
3850B5A5;HANGUL SYLLABLE DDEONJ
3851B5A6;HANGUL SYLLABLE DDEONH
3852B5A7;HANGUL SYLLABLE DDEOD
3853B5A8;HANGUL SYLLABLE DDEOL
3854B5A9;HANGUL SYLLABLE DDEOLG
3855B5AA;HANGUL SYLLABLE DDEOLM
3856B5AB;HANGUL SYLLABLE DDEOLB
3857B5AC;HANGUL SYLLABLE DDEOLS
3858B5AD;HANGUL SYLLABLE DDEOLT
3859B5AE;HANGUL SYLLABLE DDEOLP
3860B5AF;HANGUL SYLLABLE DDEOLH
3861B5B0;HANGUL SYLLABLE DDEOM
3862B5B1;HANGUL SYLLABLE DDEOB
3863B5B2;HANGUL SYLLABLE DDEOBS
3864B5B3;HANGUL SYLLABLE DDEOS
3865B5B4;HANGUL SYLLABLE DDEOSS
3866B5B5;HANGUL SYLLABLE DDEONG
3867B5B6;HANGUL SYLLABLE DDEOJ
3868B5B7;HANGUL SYLLABLE DDEOC
3869B5B8;HANGUL SYLLABLE DDEOK
3870B5B9;HANGUL SYLLABLE DDEOT
3871B5BA;HANGUL SYLLABLE DDEOP
3872B5BB;HANGUL SYLLABLE DDEOH
3873B5BC;HANGUL SYLLABLE DDE
3874B5BD;HANGUL SYLLABLE DDEG
3875B5BE;HANGUL SYLLABLE DDEGG
3876B5BF;HANGUL SYLLABLE DDEGS
3877B5C0;HANGUL SYLLABLE DDEN
3878B5C1;HANGUL SYLLABLE DDENJ
3879B5C2;HANGUL SYLLABLE DDENH
3880B5C3;HANGUL SYLLABLE DDED
3881B5C4;HANGUL SYLLABLE DDEL
3882B5C5;HANGUL SYLLABLE DDELG
3883B5C6;HANGUL SYLLABLE DDELM
3884B5C7;HANGUL SYLLABLE DDELB
3885B5C8;HANGUL SYLLABLE DDELS
3886B5C9;HANGUL SYLLABLE DDELT
3887B5CA;HANGUL SYLLABLE DDELP
3888B5CB;HANGUL SYLLABLE DDELH
3889B5CC;HANGUL SYLLABLE DDEM
3890B5CD;HANGUL SYLLABLE DDEB
3891B5CE;HANGUL SYLLABLE DDEBS
3892B5CF;HANGUL SYLLABLE DDES
3893B5D0;HANGUL SYLLABLE DDESS
3894B5D1;HANGUL SYLLABLE DDENG
3895B5D2;HANGUL SYLLABLE DDEJ
3896B5D3;HANGUL SYLLABLE DDEC
3897B5D4;HANGUL SYLLABLE DDEK
3898B5D5;HANGUL SYLLABLE DDET
3899B5D6;HANGUL SYLLABLE DDEP
3900B5D7;HANGUL SYLLABLE DDEH
3901B5D8;HANGUL SYLLABLE DDYEO
3902B5D9;HANGUL SYLLABLE DDYEOG
3903B5DA;HANGUL SYLLABLE DDYEOGG
3904B5DB;HANGUL SYLLABLE DDYEOGS
3905B5DC;HANGUL SYLLABLE DDYEON
3906B5DD;HANGUL SYLLABLE DDYEONJ
3907B5DE;HANGUL SYLLABLE DDYEONH
3908B5DF;HANGUL SYLLABLE DDYEOD
3909B5E0;HANGUL SYLLABLE DDYEOL
3910B5E1;HANGUL SYLLABLE DDYEOLG
3911B5E2;HANGUL SYLLABLE DDYEOLM
3912B5E3;HANGUL SYLLABLE DDYEOLB
3913B5E4;HANGUL SYLLABLE DDYEOLS
3914B5E5;HANGUL SYLLABLE DDYEOLT
3915B5E6;HANGUL SYLLABLE DDYEOLP
3916B5E7;HANGUL SYLLABLE DDYEOLH
3917B5E8;HANGUL SYLLABLE DDYEOM
3918B5E9;HANGUL SYLLABLE DDYEOB
3919B5EA;HANGUL SYLLABLE DDYEOBS
3920B5EB;HANGUL SYLLABLE DDYEOS
3921B5EC;HANGUL SYLLABLE DDYEOSS
3922B5ED;HANGUL SYLLABLE DDYEONG
3923B5EE;HANGUL SYLLABLE DDYEOJ
3924B5EF;HANGUL SYLLABLE DDYEOC
3925B5F0;HANGUL SYLLABLE DDYEOK
3926B5F1;HANGUL SYLLABLE DDYEOT
3927B5F2;HANGUL SYLLABLE DDYEOP
3928B5F3;HANGUL SYLLABLE DDYEOH
3929B5F4;HANGUL SYLLABLE DDYE
3930B5F5;HANGUL SYLLABLE DDYEG
3931B5F6;HANGUL SYLLABLE DDYEGG
3932B5F7;HANGUL SYLLABLE DDYEGS
3933B5F8;HANGUL SYLLABLE DDYEN
3934B5F9;HANGUL SYLLABLE DDYENJ
3935B5FA;HANGUL SYLLABLE DDYENH
3936B5FB;HANGUL SYLLABLE DDYED
3937B5FC;HANGUL SYLLABLE DDYEL
3938B5FD;HANGUL SYLLABLE DDYELG
3939B5FE;HANGUL SYLLABLE DDYELM
3940B5FF;HANGUL SYLLABLE DDYELB
3941B600;HANGUL SYLLABLE DDYELS
3942B601;HANGUL SYLLABLE DDYELT
3943B602;HANGUL SYLLABLE DDYELP
3944B603;HANGUL SYLLABLE DDYELH
3945B604;HANGUL SYLLABLE DDYEM
3946B605;HANGUL SYLLABLE DDYEB
3947B606;HANGUL SYLLABLE DDYEBS
3948B607;HANGUL SYLLABLE DDYES
3949B608;HANGUL SYLLABLE DDYESS
3950B609;HANGUL SYLLABLE DDYENG
3951B60A;HANGUL SYLLABLE DDYEJ
3952B60B;HANGUL SYLLABLE DDYEC
3953B60C;HANGUL SYLLABLE DDYEK
3954B60D;HANGUL SYLLABLE DDYET
3955B60E;HANGUL SYLLABLE DDYEP
3956B60F;HANGUL SYLLABLE DDYEH
3957B610;HANGUL SYLLABLE DDO
3958B611;HANGUL SYLLABLE DDOG
3959B612;HANGUL SYLLABLE DDOGG
3960B613;HANGUL SYLLABLE DDOGS
3961B614;HANGUL SYLLABLE DDON
3962B615;HANGUL SYLLABLE DDONJ
3963B616;HANGUL SYLLABLE DDONH
3964B617;HANGUL SYLLABLE DDOD
3965B618;HANGUL SYLLABLE DDOL
3966B619;HANGUL SYLLABLE DDOLG
3967B61A;HANGUL SYLLABLE DDOLM
3968B61B;HANGUL SYLLABLE DDOLB
3969B61C;HANGUL SYLLABLE DDOLS
3970B61D;HANGUL SYLLABLE DDOLT
3971B61E;HANGUL SYLLABLE DDOLP
3972B61F;HANGUL SYLLABLE DDOLH
3973B620;HANGUL SYLLABLE DDOM
3974B621;HANGUL SYLLABLE DDOB
3975B622;HANGUL SYLLABLE DDOBS
3976B623;HANGUL SYLLABLE DDOS
3977B624;HANGUL SYLLABLE DDOSS
3978B625;HANGUL SYLLABLE DDONG
3979B626;HANGUL SYLLABLE DDOJ
3980B627;HANGUL SYLLABLE DDOC
3981B628;HANGUL SYLLABLE DDOK
3982B629;HANGUL SYLLABLE DDOT
3983B62A;HANGUL SYLLABLE DDOP
3984B62B;HANGUL SYLLABLE DDOH
3985B62C;HANGUL SYLLABLE DDWA
3986B62D;HANGUL SYLLABLE DDWAG
3987B62E;HANGUL SYLLABLE DDWAGG
3988B62F;HANGUL SYLLABLE DDWAGS
3989B630;HANGUL SYLLABLE DDWAN
3990B631;HANGUL SYLLABLE DDWANJ
3991B632;HANGUL SYLLABLE DDWANH
3992B633;HANGUL SYLLABLE DDWAD
3993B634;HANGUL SYLLABLE DDWAL
3994B635;HANGUL SYLLABLE DDWALG
3995B636;HANGUL SYLLABLE DDWALM
3996B637;HANGUL SYLLABLE DDWALB
3997B638;HANGUL SYLLABLE DDWALS
3998B639;HANGUL SYLLABLE DDWALT
3999B63A;HANGUL SYLLABLE DDWALP
4000B63B;HANGUL SYLLABLE DDWALH
4001B63C;HANGUL SYLLABLE DDWAM
4002B63D;HANGUL SYLLABLE DDWAB
4003B63E;HANGUL SYLLABLE DDWABS
4004B63F;HANGUL SYLLABLE DDWAS
4005B640;HANGUL SYLLABLE DDWASS
4006B641;HANGUL SYLLABLE DDWANG
4007B642;HANGUL SYLLABLE DDWAJ
4008B643;HANGUL SYLLABLE DDWAC
4009B644;HANGUL SYLLABLE DDWAK
4010B645;HANGUL SYLLABLE DDWAT
4011B646;HANGUL SYLLABLE DDWAP
4012B647;HANGUL SYLLABLE DDWAH
4013B648;HANGUL SYLLABLE DDWAE
4014B649;HANGUL SYLLABLE DDWAEG
4015B64A;HANGUL SYLLABLE DDWAEGG
4016B64B;HANGUL SYLLABLE DDWAEGS
4017B64C;HANGUL SYLLABLE DDWAEN
4018B64D;HANGUL SYLLABLE DDWAENJ
4019B64E;HANGUL SYLLABLE DDWAENH
4020B64F;HANGUL SYLLABLE DDWAED
4021B650;HANGUL SYLLABLE DDWAEL
4022B651;HANGUL SYLLABLE DDWAELG
4023B652;HANGUL SYLLABLE DDWAELM
4024B653;HANGUL SYLLABLE DDWAELB
4025B654;HANGUL SYLLABLE DDWAELS
4026B655;HANGUL SYLLABLE DDWAELT
4027B656;HANGUL SYLLABLE DDWAELP
4028B657;HANGUL SYLLABLE DDWAELH
4029B658;HANGUL SYLLABLE DDWAEM
4030B659;HANGUL SYLLABLE DDWAEB
4031B65A;HANGUL SYLLABLE DDWAEBS
4032B65B;HANGUL SYLLABLE DDWAES
4033B65C;HANGUL SYLLABLE DDWAESS
4034B65D;HANGUL SYLLABLE DDWAENG
4035B65E;HANGUL SYLLABLE DDWAEJ
4036B65F;HANGUL SYLLABLE DDWAEC
4037B660;HANGUL SYLLABLE DDWAEK
4038B661;HANGUL SYLLABLE DDWAET
4039B662;HANGUL SYLLABLE DDWAEP
4040B663;HANGUL SYLLABLE DDWAEH
4041B664;HANGUL SYLLABLE DDOE
4042B665;HANGUL SYLLABLE DDOEG
4043B666;HANGUL SYLLABLE DDOEGG
4044B667;HANGUL SYLLABLE DDOEGS
4045B668;HANGUL SYLLABLE DDOEN
4046B669;HANGUL SYLLABLE DDOENJ
4047B66A;HANGUL SYLLABLE DDOENH
4048B66B;HANGUL SYLLABLE DDOED
4049B66C;HANGUL SYLLABLE DDOEL
4050B66D;HANGUL SYLLABLE DDOELG
4051B66E;HANGUL SYLLABLE DDOELM
4052B66F;HANGUL SYLLABLE DDOELB
4053B670;HANGUL SYLLABLE DDOELS
4054B671;HANGUL SYLLABLE DDOELT
4055B672;HANGUL SYLLABLE DDOELP
4056B673;HANGUL SYLLABLE DDOELH
4057B674;HANGUL SYLLABLE DDOEM
4058B675;HANGUL SYLLABLE DDOEB
4059B676;HANGUL SYLLABLE DDOEBS
4060B677;HANGUL SYLLABLE DDOES