summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate/t
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-31 11:46:43 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-31 11:49:38 +0000
commit539ce3d8bf55f28e723b05e57a09f1390d907dc5 (patch)
tree7b1bce9b2d404e326016273f7bee0fe28c8d6cd4 /cpan/Unicode-Collate/t
parent2edf0c1d7c8463013718ef8587d0a8e1a0c22128 (diff)
downloadperl-539ce3d8bf55f28e723b05e57a09f1390d907dc5.tar.gz
Update Unicode-Collate to CPAN version 0.64
[DELTA] 0.64 Sun Oct 31 14:17:29 2010 - U::C::Locale newly supports locale: ja. - added Unicode::Collate::CJK::JISX0208 for ja. - a subroutine specified in 'overrideCJK' or 'overrideHangul' is allowed to return an integer or undef value. - fix: Ideographs Ext.A are assigned since UCA Version 9 (Unicode 3.1). This fix should affect only the case of (UCA_Version => 8).
Diffstat (limited to 'cpan/Unicode-Collate/t')
-rw-r--r--cpan/Unicode-Collate/t/cjkrange.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_ja.t517
-rw-r--r--cpan/Unicode-Collate/t/loc_jait.t795
-rw-r--r--cpan/Unicode-Collate/t/loc_japr.t636
-rw-r--r--cpan/Unicode-Collate/t/overcjk0.t114
-rw-r--r--cpan/Unicode-Collate/t/overcjk1.t108
-rw-r--r--cpan/Unicode-Collate/t/override.t210
7 files changed, 2222 insertions, 162 deletions
diff --git a/cpan/Unicode-Collate/t/cjkrange.t b/cpan/Unicode-Collate/t/cjkrange.t
index c926239ee4..d9178b473c 100644
--- a/cpan/Unicode-Collate/t/cjkrange.t
+++ b/cpan/Unicode-Collate/t/cjkrange.t
@@ -28,7 +28,9 @@ my $Collator = Unicode::Collate->new(
# U+9FC4..U+9FCB are CJK UI since Unicode 5.2.0.
# U+9FBC..U+9FC3 are CJK UI since Unicode 5.1.0.
# U+9FA6..U+9FBB are CJK UI since Unicode 4.1.0.
-# U+3400 is CJK UI ExtA, then greater than any CJK UI.
+# CJK UI Ext are greater than any CJK UI.
+# U+3400 ..U+4DB5 are CJK UI ExtA since Unicode 3.0.0.
+# U+20000..U+2A6D6 are CJK UI ExtB since Unicode 3.1.0.
# U+2A700..U+2B734 are CJK UI ExtC since Unicode 5.2.0.
##### 2..13
diff --git a/cpan/Unicode-Collate/t/loc_ja.t b/cpan/Unicode-Collate/t/loc_ja.t
new file mode 100644
index 0000000000..8dbffc030e
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ja.t
@@ -0,0 +1,517 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 475;
+
+my $objJa = Unicode::Collate::Locale->
+ new(locale => 'JA', normalization => undef);
+
+ok(1);
+ok($objJa->getlocale, 'ja');
+
+$objJa->change(level => 1);
+
+# first ten kanji
+ok($objJa->lt("\x{4E9C}", "\x{5516}"));
+ok($objJa->lt("\x{5516}", "\x{5A03}"));
+ok($objJa->lt("\x{5A03}", "\x{963F}"));
+ok($objJa->lt("\x{963F}", "\x{54C0}"));
+ok($objJa->lt("\x{54C0}", "\x{611B}"));
+ok($objJa->lt("\x{611B}", "\x{6328}"));
+ok($objJa->lt("\x{6328}", "\x{59F6}"));
+ok($objJa->lt("\x{59F6}", "\x{9022}"));
+ok($objJa->lt("\x{9022}", "\x{8475}"));
+
+# last five kanji and undef
+ok($objJa->lt("\x{69C7}", "\x{9059}"));
+ok($objJa->lt("\x{9059}", "\x{7464}"));
+ok($objJa->lt("\x{7464}", "\x{51DC}"));
+ok($objJa->lt("\x{51DC}", "\x{7199}"));
+ok($objJa->lt("\x{7199}", "\x{4E02}")); # 4E02: UIdeo undef in JIS X 0208
+ok($objJa->lt("\x{4E02}", "\x{3400}")); # 3400: Ext.A undef in JIS X 0208
+
+# 17
+
+$objJa->change(level => 3);
+
+ok($objJa->eq("\x{3041}", "\x{30A1}"));
+ok($objJa->eq("\x{3042}", "\x{30A2}"));
+ok($objJa->eq("\x{3043}", "\x{30A3}"));
+ok($objJa->eq("\x{3044}", "\x{30A4}"));
+ok($objJa->eq("\x{3045}", "\x{30A5}"));
+ok($objJa->eq("\x{3046}", "\x{30A6}"));
+ok($objJa->eq("\x{3047}", "\x{30A7}"));
+ok($objJa->eq("\x{3048}", "\x{30A8}"));
+ok($objJa->eq("\x{3049}", "\x{30A9}"));
+ok($objJa->eq("\x{304A}", "\x{30AA}"));
+ok($objJa->eq("\x{304B}", "\x{30AB}"));
+ok($objJa->eq("\x{304C}", "\x{30AC}"));
+ok($objJa->eq("\x{304D}", "\x{30AD}"));
+ok($objJa->eq("\x{304E}", "\x{30AE}"));
+ok($objJa->eq("\x{304F}", "\x{30AF}"));
+ok($objJa->eq("\x{3050}", "\x{30B0}"));
+ok($objJa->eq("\x{3051}", "\x{30B1}"));
+ok($objJa->eq("\x{3052}", "\x{30B2}"));
+ok($objJa->eq("\x{3053}", "\x{30B3}"));
+ok($objJa->eq("\x{3054}", "\x{30B4}"));
+ok($objJa->eq("\x{3055}", "\x{30B5}"));
+ok($objJa->eq("\x{3056}", "\x{30B6}"));
+ok($objJa->eq("\x{3057}", "\x{30B7}"));
+ok($objJa->eq("\x{3058}", "\x{30B8}"));
+ok($objJa->eq("\x{3059}", "\x{30B9}"));
+ok($objJa->eq("\x{305A}", "\x{30BA}"));
+ok($objJa->eq("\x{305B}", "\x{30BB}"));
+ok($objJa->eq("\x{305C}", "\x{30BC}"));
+ok($objJa->eq("\x{305D}", "\x{30BD}"));
+ok($objJa->eq("\x{305E}", "\x{30BE}"));
+ok($objJa->eq("\x{305F}", "\x{30BF}"));
+ok($objJa->eq("\x{3060}", "\x{30C0}"));
+ok($objJa->eq("\x{3061}", "\x{30C1}"));
+ok($objJa->eq("\x{3062}", "\x{30C2}"));
+ok($objJa->eq("\x{3063}", "\x{30C3}"));
+ok($objJa->eq("\x{3064}", "\x{30C4}"));
+ok($objJa->eq("\x{3065}", "\x{30C5}"));
+ok($objJa->eq("\x{3066}", "\x{30C6}"));
+ok($objJa->eq("\x{3067}", "\x{30C7}"));
+ok($objJa->eq("\x{3068}", "\x{30C8}"));
+ok($objJa->eq("\x{3069}", "\x{30C9}"));
+ok($objJa->eq("\x{306A}", "\x{30CA}"));
+ok($objJa->eq("\x{306B}", "\x{30CB}"));
+ok($objJa->eq("\x{306C}", "\x{30CC}"));
+ok($objJa->eq("\x{306D}", "\x{30CD}"));
+ok($objJa->eq("\x{306E}", "\x{30CE}"));
+ok($objJa->eq("\x{306F}", "\x{30CF}"));
+ok($objJa->eq("\x{3070}", "\x{30D0}"));
+ok($objJa->eq("\x{3071}", "\x{30D1}"));
+ok($objJa->eq("\x{3072}", "\x{30D2}"));
+ok($objJa->eq("\x{3073}", "\x{30D3}"));
+ok($objJa->eq("\x{3074}", "\x{30D4}"));
+ok($objJa->eq("\x{3075}", "\x{30D5}"));
+ok($objJa->eq("\x{3076}", "\x{30D6}"));
+ok($objJa->eq("\x{3077}", "\x{30D7}"));
+ok($objJa->eq("\x{3078}", "\x{30D8}"));
+ok($objJa->eq("\x{3079}", "\x{30D9}"));
+ok($objJa->eq("\x{307A}", "\x{30DA}"));
+ok($objJa->eq("\x{307B}", "\x{30DB}"));
+ok($objJa->eq("\x{307C}", "\x{30DC}"));
+ok($objJa->eq("\x{307D}", "\x{30DD}"));
+ok($objJa->eq("\x{307E}", "\x{30DE}"));
+ok($objJa->eq("\x{307F}", "\x{30DF}"));
+ok($objJa->eq("\x{3080}", "\x{30E0}"));
+ok($objJa->eq("\x{3081}", "\x{30E1}"));
+ok($objJa->eq("\x{3082}", "\x{30E2}"));
+ok($objJa->eq("\x{3083}", "\x{30E3}"));
+ok($objJa->eq("\x{3084}", "\x{30E4}"));
+ok($objJa->eq("\x{3085}", "\x{30E5}"));
+ok($objJa->eq("\x{3086}", "\x{30E6}"));
+ok($objJa->eq("\x{3087}", "\x{30E7}"));
+ok($objJa->eq("\x{3088}", "\x{30E8}"));
+ok($objJa->eq("\x{3089}", "\x{30E9}"));
+ok($objJa->eq("\x{308A}", "\x{30EA}"));
+ok($objJa->eq("\x{308B}", "\x{30EB}"));
+ok($objJa->eq("\x{308C}", "\x{30EC}"));
+ok($objJa->eq("\x{308D}", "\x{30ED}"));
+ok($objJa->eq("\x{308E}", "\x{30EE}"));
+ok($objJa->eq("\x{308F}", "\x{30EF}"));
+ok($objJa->eq("\x{3090}", "\x{30F0}"));
+ok($objJa->eq("\x{3091}", "\x{30F1}"));
+ok($objJa->eq("\x{3092}", "\x{30F2}"));
+ok($objJa->eq("\x{3093}", "\x{30F3}"));
+ok($objJa->eq("\x{3094}", "\x{30F4}"));
+ok($objJa->eq("\x{3095}", "\x{30F5}"));
+ok($objJa->eq("\x{3096}", "\x{30F6}"));
+
+# 103
+
+$objJa->change(variable => 'Non-ignorable');
+
+ok($objJa->eq("\x{3000}", "\ "));
+ok($objJa->eq("\x{FF01}", "\!"));
+ok($objJa->eq("\x{FF02}", "\""));
+ok($objJa->eq("\x{FF03}", "\#"));
+ok($objJa->eq("\x{FF04}", "\$"));
+ok($objJa->eq("\x{FF05}", "\%"));
+ok($objJa->eq("\x{FF06}", "\&"));
+ok($objJa->eq("\x{FF07}", "\'"));
+ok($objJa->eq("\x{FF08}", "\("));
+ok($objJa->eq("\x{FF09}", "\)"));
+ok($objJa->eq("\x{FF0A}", "\*"));
+ok($objJa->eq("\x{FF0B}", "\+"));
+ok($objJa->eq("\x{FF0C}", "\,"));
+ok($objJa->eq("\x{FF0D}", "\-"));
+ok($objJa->eq("\x{FF0E}", "\."));
+ok($objJa->eq("\x{FF0F}", "\/"));
+ok($objJa->eq("\x{FF10}", "0"));
+ok($objJa->eq("\x{FF11}", "1"));
+ok($objJa->eq("\x{FF12}", "2"));
+ok($objJa->eq("\x{FF13}", "3"));
+ok($objJa->eq("\x{FF14}", "4"));
+ok($objJa->eq("\x{FF15}", "5"));
+ok($objJa->eq("\x{FF16}", "6"));
+ok($objJa->eq("\x{FF17}", "7"));
+ok($objJa->eq("\x{FF18}", "8"));
+ok($objJa->eq("\x{FF19}", "9"));
+ok($objJa->eq("\x{FF1A}", "\:"));
+ok($objJa->eq("\x{FF1B}", "\;"));
+ok($objJa->eq("\x{FF1C}", "\<"));
+ok($objJa->eq("\x{FF1D}", "\="));
+ok($objJa->eq("\x{FF1E}", "\>"));
+ok($objJa->eq("\x{FF1F}", "\?"));
+ok($objJa->eq("\x{FF20}", "\@"));
+ok($objJa->eq("\x{FF21}", "A"));
+ok($objJa->eq("\x{FF22}", "B"));
+ok($objJa->eq("\x{FF23}", "C"));
+ok($objJa->eq("\x{FF24}", "D"));
+ok($objJa->eq("\x{FF25}", "E"));
+ok($objJa->eq("\x{FF26}", "F"));
+ok($objJa->eq("\x{FF27}", "G"));
+ok($objJa->eq("\x{FF28}", "H"));
+ok($objJa->eq("\x{FF29}", "I"));
+ok($objJa->eq("\x{FF2A}", "J"));
+ok($objJa->eq("\x{FF2B}", "K"));
+ok($objJa->eq("\x{FF2C}", "L"));
+ok($objJa->eq("\x{FF2D}", "M"));
+ok($objJa->eq("\x{FF2E}", "N"));
+ok($objJa->eq("\x{FF2F}", "O"));
+ok($objJa->eq("\x{FF30}", "P"));
+ok($objJa->eq("\x{FF31}", "Q"));
+ok($objJa->eq("\x{FF32}", "R"));
+ok($objJa->eq("\x{FF33}", "S"));
+ok($objJa->eq("\x{FF34}", "T"));
+ok($objJa->eq("\x{FF35}", "U"));
+ok($objJa->eq("\x{FF36}", "V"));
+ok($objJa->eq("\x{FF37}", "W"));
+ok($objJa->eq("\x{FF38}", "X"));
+ok($objJa->eq("\x{FF39}", "Y"));
+ok($objJa->eq("\x{FF3A}", "Z"));
+ok($objJa->eq("\x{FF3B}", "\["));
+ok($objJa->eq("\x{FF3C}", "\'"));
+ok($objJa->eq("\x{FF3D}", "\]"));
+ok($objJa->eq("\x{FF3E}", "\^"));
+ok($objJa->eq("\x{FF3F}", "\_"));
+ok($objJa->eq("\x{FF40}", "\`"));
+ok($objJa->eq("\x{FF41}", "a"));
+ok($objJa->eq("\x{FF42}", "b"));
+ok($objJa->eq("\x{FF43}", "c"));
+ok($objJa->eq("\x{FF44}", "d"));
+ok($objJa->eq("\x{FF45}", "e"));
+ok($objJa->eq("\x{FF46}", "f"));
+ok($objJa->eq("\x{FF47}", "g"));
+ok($objJa->eq("\x{FF48}", "h"));
+ok($objJa->eq("\x{FF49}", "i"));
+ok($objJa->eq("\x{FF4A}", "j"));
+ok($objJa->eq("\x{FF4B}", "k"));
+ok($objJa->eq("\x{FF4C}", "l"));
+ok($objJa->eq("\x{FF4D}", "m"));
+ok($objJa->eq("\x{FF4E}", "n"));
+ok($objJa->eq("\x{FF4F}", "o"));
+ok($objJa->eq("\x{FF50}", "p"));
+ok($objJa->eq("\x{FF51}", "q"));
+ok($objJa->eq("\x{FF52}", "r"));
+ok($objJa->eq("\x{FF53}", "s"));
+ok($objJa->eq("\x{FF54}", "t"));
+ok($objJa->eq("\x{FF55}", "u"));
+ok($objJa->eq("\x{FF56}", "v"));
+ok($objJa->eq("\x{FF57}", "w"));
+ok($objJa->eq("\x{FF58}", "x"));
+ok($objJa->eq("\x{FF59}", "y"));
+ok($objJa->eq("\x{FF5A}", "z"));
+ok($objJa->eq("\x{FF5B}", "\{"));
+ok($objJa->eq("\x{FF5C}", "\|"));
+ok($objJa->eq("\x{FF5D}", "\}"));
+ok($objJa->eq("\x{FF5E}", "\~"));
+ok($objJa->eq("\x{FF5F}", "\x{2985}"));
+ok($objJa->eq("\x{FF60}", "\x{2986}"));
+ok($objJa->eq("\x{FF61}", "\x{3002}"));
+ok($objJa->eq("\x{FF62}", "\x{300C}"));
+ok($objJa->eq("\x{FF63}", "\x{300D}"));
+ok($objJa->eq("\x{FF64}", "\x{3001}"));
+ok($objJa->eq("\x{FF65}", "\x{30FB}"));
+ok($objJa->eq("\x{FF66}", "\x{30F2}"));
+ok($objJa->eq("\x{FF67}", "\x{30A1}"));
+ok($objJa->eq("\x{FF68}", "\x{30A3}"));
+ok($objJa->eq("\x{FF69}", "\x{30A5}"));
+ok($objJa->eq("\x{FF6A}", "\x{30A7}"));
+ok($objJa->eq("\x{FF6B}", "\x{30A9}"));
+ok($objJa->eq("\x{FF6C}", "\x{30E3}"));
+ok($objJa->eq("\x{FF6D}", "\x{30E5}"));
+ok($objJa->eq("\x{FF6E}", "\x{30E7}"));
+ok($objJa->eq("\x{FF6F}", "\x{30C3}"));
+ok($objJa->eq("\x{FF70}", "\x{30FC}"));
+ok($objJa->eq("\x{FF71}", "\x{30A2}"));
+ok($objJa->eq("\x{FF72}", "\x{30A4}"));
+ok($objJa->eq("\x{FF73}", "\x{30A6}"));
+ok($objJa->eq("\x{FF74}", "\x{30A8}"));
+ok($objJa->eq("\x{FF75}", "\x{30AA}"));
+ok($objJa->eq("\x{FF76}", "\x{30AB}"));
+ok($objJa->eq("\x{FF77}", "\x{30AD}"));
+ok($objJa->eq("\x{FF78}", "\x{30AF}"));
+ok($objJa->eq("\x{FF79}", "\x{30B1}"));
+ok($objJa->eq("\x{FF7A}", "\x{30B3}"));
+ok($objJa->eq("\x{FF7B}", "\x{30B5}"));
+ok($objJa->eq("\x{FF7C}", "\x{30B7}"));
+ok($objJa->eq("\x{FF7D}", "\x{30B9}"));
+ok($objJa->eq("\x{FF7E}", "\x{30BB}"));
+ok($objJa->eq("\x{FF7F}", "\x{30BD}"));
+ok($objJa->eq("\x{FF80}", "\x{30BF}"));
+ok($objJa->eq("\x{FF81}", "\x{30C1}"));
+ok($objJa->eq("\x{FF82}", "\x{30C4}"));
+ok($objJa->eq("\x{FF83}", "\x{30C6}"));
+ok($objJa->eq("\x{FF84}", "\x{30C8}"));
+ok($objJa->eq("\x{FF85}", "\x{30CA}"));
+ok($objJa->eq("\x{FF86}", "\x{30CB}"));
+ok($objJa->eq("\x{FF87}", "\x{30CC}"));
+ok($objJa->eq("\x{FF88}", "\x{30CD}"));
+ok($objJa->eq("\x{FF89}", "\x{30CE}"));
+ok($objJa->eq("\x{FF8A}", "\x{30CF}"));
+ok($objJa->eq("\x{FF8B}", "\x{30D2}"));
+ok($objJa->eq("\x{FF8C}", "\x{30D5}"));
+ok($objJa->eq("\x{FF8D}", "\x{30D8}"));
+ok($objJa->eq("\x{FF8E}", "\x{30DB}"));
+ok($objJa->eq("\x{FF8F}", "\x{30DE}"));
+ok($objJa->eq("\x{FF90}", "\x{30DF}"));
+ok($objJa->eq("\x{FF91}", "\x{30E0}"));
+ok($objJa->eq("\x{FF92}", "\x{30E1}"));
+ok($objJa->eq("\x{FF93}", "\x{30E2}"));
+ok($objJa->eq("\x{FF94}", "\x{30E4}"));
+ok($objJa->eq("\x{FF95}", "\x{30E6}"));
+ok($objJa->eq("\x{FF96}", "\x{30E8}"));
+ok($objJa->eq("\x{FF97}", "\x{30E9}"));
+ok($objJa->eq("\x{FF98}", "\x{30EA}"));
+ok($objJa->eq("\x{FF99}", "\x{30EB}"));
+ok($objJa->eq("\x{FF9A}", "\x{30EC}"));
+ok($objJa->eq("\x{FF9B}", "\x{30ED}"));
+ok($objJa->eq("\x{FF9C}", "\x{30EF}"));
+ok($objJa->eq("\x{FF9D}", "\x{30F3}"));
+ok($objJa->eq("\x{FF9E}", "\x{3099}"));
+ok($objJa->eq("\x{FF9F}", "\x{309A}"));
+ok($objJa->eq("\x{FFE0}", pack('U', 0xA2)));
+ok($objJa->eq("\x{FFE1}", pack('U', 0xA3)));
+ok($objJa->eq("\x{FFE2}", pack('U', 0xAC)));
+ok($objJa->eq("\x{FFE3}", "\ "));
+ok($objJa->eq("\x{FFE4}", pack('U', 0xA6)));
+ok($objJa->eq("\x{FFE5}", pack('U', 0xA5)));
+ok($objJa->eq("\x{FFE6}", "\x{20A9}"));
+ok($objJa->eq("\x{FFE8}", "\x{2502}"));
+ok($objJa->eq("\x{FFE9}", "\x{2190}"));
+ok($objJa->eq("\x{FFEA}", "\x{2191}"));
+ok($objJa->eq("\x{FFEB}", "\x{2192}"));
+ok($objJa->eq("\x{FFEC}", "\x{2193}"));
+ok($objJa->eq("\x{FFED}", "\x{25A0}"));
+ok($objJa->eq("\x{FFEE}", "\x{25CB}"));
+
+# 277
+
+$objJa->change(level => 4);
+
+ok($objJa->lt("\x{3041}", "\x{30A1}"));
+ok($objJa->lt("\x{3042}", "\x{30A2}"));
+ok($objJa->lt("\x{3043}", "\x{30A3}"));
+ok($objJa->lt("\x{3044}", "\x{30A4}"));
+ok($objJa->lt("\x{3045}", "\x{30A5}"));
+ok($objJa->lt("\x{3046}", "\x{30A6}"));
+ok($objJa->lt("\x{3047}", "\x{30A7}"));
+ok($objJa->lt("\x{3048}", "\x{30A8}"));
+ok($objJa->lt("\x{3049}", "\x{30A9}"));
+ok($objJa->lt("\x{304A}", "\x{30AA}"));
+ok($objJa->lt("\x{304B}", "\x{30AB}"));
+ok($objJa->lt("\x{304C}", "\x{30AC}"));
+ok($objJa->lt("\x{304D}", "\x{30AD}"));
+ok($objJa->lt("\x{304E}", "\x{30AE}"));
+ok($objJa->lt("\x{304F}", "\x{30AF}"));
+ok($objJa->lt("\x{3050}", "\x{30B0}"));
+ok($objJa->lt("\x{3051}", "\x{30B1}"));
+ok($objJa->lt("\x{3052}", "\x{30B2}"));
+ok($objJa->lt("\x{3053}", "\x{30B3}"));
+ok($objJa->lt("\x{3054}", "\x{30B4}"));
+ok($objJa->lt("\x{3055}", "\x{30B5}"));
+ok($objJa->lt("\x{3056}", "\x{30B6}"));
+ok($objJa->lt("\x{3057}", "\x{30B7}"));
+ok($objJa->lt("\x{3058}", "\x{30B8}"));
+ok($objJa->lt("\x{3059}", "\x{30B9}"));
+ok($objJa->lt("\x{305A}", "\x{30BA}"));
+ok($objJa->lt("\x{305B}", "\x{30BB}"));
+ok($objJa->lt("\x{305C}", "\x{30BC}"));
+ok($objJa->lt("\x{305D}", "\x{30BD}"));
+ok($objJa->lt("\x{305E}", "\x{30BE}"));
+ok($objJa->lt("\x{305F}", "\x{30BF}"));
+ok($objJa->lt("\x{3060}", "\x{30C0}"));
+ok($objJa->lt("\x{3061}", "\x{30C1}"));
+ok($objJa->lt("\x{3062}", "\x{30C2}"));
+ok($objJa->lt("\x{3063}", "\x{30C3}"));
+ok($objJa->lt("\x{3064}", "\x{30C4}"));
+ok($objJa->lt("\x{3065}", "\x{30C5}"));
+ok($objJa->lt("\x{3066}", "\x{30C6}"));
+ok($objJa->lt("\x{3067}", "\x{30C7}"));
+ok($objJa->lt("\x{3068}", "\x{30C8}"));
+ok($objJa->lt("\x{3069}", "\x{30C9}"));
+ok($objJa->lt("\x{306A}", "\x{30CA}"));
+ok($objJa->lt("\x{306B}", "\x{30CB}"));
+ok($objJa->lt("\x{306C}", "\x{30CC}"));
+ok($objJa->lt("\x{306D}", "\x{30CD}"));
+ok($objJa->lt("\x{306E}", "\x{30CE}"));
+ok($objJa->lt("\x{306F}", "\x{30CF}"));
+ok($objJa->lt("\x{3070}", "\x{30D0}"));
+ok($objJa->lt("\x{3071}", "\x{30D1}"));
+ok($objJa->lt("\x{3072}", "\x{30D2}"));
+ok($objJa->lt("\x{3073}", "\x{30D3}"));
+ok($objJa->lt("\x{3074}", "\x{30D4}"));
+ok($objJa->lt("\x{3075}", "\x{30D5}"));
+ok($objJa->lt("\x{3076}", "\x{30D6}"));
+ok($objJa->lt("\x{3077}", "\x{30D7}"));
+ok($objJa->lt("\x{3078}", "\x{30D8}"));
+ok($objJa->lt("\x{3079}", "\x{30D9}"));
+ok($objJa->lt("\x{307A}", "\x{30DA}"));
+ok($objJa->lt("\x{307B}", "\x{30DB}"));
+ok($objJa->lt("\x{307C}", "\x{30DC}"));
+ok($objJa->lt("\x{307D}", "\x{30DD}"));
+ok($objJa->lt("\x{307E}", "\x{30DE}"));
+ok($objJa->lt("\x{307F}", "\x{30DF}"));
+ok($objJa->lt("\x{3080}", "\x{30E0}"));
+ok($objJa->lt("\x{3081}", "\x{30E1}"));
+ok($objJa->lt("\x{3082}", "\x{30E2}"));
+ok($objJa->lt("\x{3083}", "\x{30E3}"));
+ok($objJa->lt("\x{3084}", "\x{30E4}"));
+ok($objJa->lt("\x{3085}", "\x{30E5}"));
+ok($objJa->lt("\x{3086}", "\x{30E6}"));
+ok($objJa->lt("\x{3087}", "\x{30E7}"));
+ok($objJa->lt("\x{3088}", "\x{30E8}"));
+ok($objJa->lt("\x{3089}", "\x{30E9}"));
+ok($objJa->lt("\x{308A}", "\x{30EA}"));
+ok($objJa->lt("\x{308B}", "\x{30EB}"));
+ok($objJa->lt("\x{308C}", "\x{30EC}"));
+ok($objJa->lt("\x{308D}", "\x{30ED}"));
+ok($objJa->lt("\x{308E}", "\x{30EE}"));
+ok($objJa->lt("\x{308F}", "\x{30EF}"));
+ok($objJa->lt("\x{3090}", "\x{30F0}"));
+ok($objJa->lt("\x{3091}", "\x{30F1}"));
+ok($objJa->lt("\x{3092}", "\x{30F2}"));
+ok($objJa->lt("\x{3093}", "\x{30F3}"));
+ok($objJa->lt("\x{3094}", "\x{30F4}"));
+ok($objJa->lt("\x{3095}", "\x{30F5}"));
+ok($objJa->lt("\x{3096}", "\x{30F6}"));
+
+# 363
+
+ok($objJa->eq("\x{304C}", "\x{304B}\x{3099}"));
+ok($objJa->eq("\x{304E}", "\x{304D}\x{3099}"));
+ok($objJa->eq("\x{3050}", "\x{304F}\x{3099}"));
+ok($objJa->eq("\x{3052}", "\x{3051}\x{3099}"));
+ok($objJa->eq("\x{3054}", "\x{3053}\x{3099}"));
+ok($objJa->eq("\x{3056}", "\x{3055}\x{3099}"));
+ok($objJa->eq("\x{3058}", "\x{3057}\x{3099}"));
+ok($objJa->eq("\x{305A}", "\x{3059}\x{3099}"));
+ok($objJa->eq("\x{305C}", "\x{305B}\x{3099}"));
+ok($objJa->eq("\x{305E}", "\x{305D}\x{3099}"));
+ok($objJa->eq("\x{3060}", "\x{305F}\x{3099}"));
+ok($objJa->eq("\x{3062}", "\x{3061}\x{3099}"));
+ok($objJa->eq("\x{3065}", "\x{3064}\x{3099}"));
+ok($objJa->eq("\x{3067}", "\x{3066}\x{3099}"));
+ok($objJa->eq("\x{3069}", "\x{3068}\x{3099}"));
+ok($objJa->eq("\x{3070}", "\x{306F}\x{3099}"));
+ok($objJa->eq("\x{3071}", "\x{306F}\x{309A}"));
+ok($objJa->eq("\x{3073}", "\x{3072}\x{3099}"));
+ok($objJa->eq("\x{3074}", "\x{3072}\x{309A}"));
+ok($objJa->eq("\x{3076}", "\x{3075}\x{3099}"));
+ok($objJa->eq("\x{3077}", "\x{3075}\x{309A}"));
+ok($objJa->eq("\x{3079}", "\x{3078}\x{3099}"));
+ok($objJa->eq("\x{307A}", "\x{3078}\x{309A}"));
+ok($objJa->eq("\x{307C}", "\x{307B}\x{3099}"));
+ok($objJa->eq("\x{307D}", "\x{307B}\x{309A}"));
+ok($objJa->eq("\x{3094}", "\x{3046}\x{3099}"));
+
+# 389
+
+$objJa->change(katakana_before_hiragana => 1);
+
+ok($objJa->lt("\x{3041}", "\x{30A1}"));
+ok($objJa->lt("\x{3042}", "\x{30A2}"));
+ok($objJa->lt("\x{3043}", "\x{30A3}"));
+ok($objJa->lt("\x{3044}", "\x{30A4}"));
+ok($objJa->lt("\x{3045}", "\x{30A5}"));
+ok($objJa->lt("\x{3046}", "\x{30A6}"));
+ok($objJa->lt("\x{3047}", "\x{30A7}"));
+ok($objJa->lt("\x{3048}", "\x{30A8}"));
+ok($objJa->lt("\x{3049}", "\x{30A9}"));
+ok($objJa->lt("\x{304A}", "\x{30AA}"));
+ok($objJa->lt("\x{304B}", "\x{30AB}"));
+ok($objJa->lt("\x{304C}", "\x{30AC}"));
+ok($objJa->lt("\x{304D}", "\x{30AD}"));
+ok($objJa->lt("\x{304E}", "\x{30AE}"));
+ok($objJa->lt("\x{304F}", "\x{30AF}"));
+ok($objJa->lt("\x{3050}", "\x{30B0}"));
+ok($objJa->lt("\x{3051}", "\x{30B1}"));
+ok($objJa->lt("\x{3052}", "\x{30B2}"));
+ok($objJa->lt("\x{3053}", "\x{30B3}"));
+ok($objJa->lt("\x{3054}", "\x{30B4}"));
+ok($objJa->lt("\x{3055}", "\x{30B5}"));
+ok($objJa->lt("\x{3056}", "\x{30B6}"));
+ok($objJa->lt("\x{3057}", "\x{30B7}"));
+ok($objJa->lt("\x{3058}", "\x{30B8}"));
+ok($objJa->lt("\x{3059}", "\x{30B9}"));
+ok($objJa->lt("\x{305A}", "\x{30BA}"));
+ok($objJa->lt("\x{305B}", "\x{30BB}"));
+ok($objJa->lt("\x{305C}", "\x{30BC}"));
+ok($objJa->lt("\x{305D}", "\x{30BD}"));
+ok($objJa->lt("\x{305E}", "\x{30BE}"));
+ok($objJa->lt("\x{305F}", "\x{30BF}"));
+ok($objJa->lt("\x{3060}", "\x{30C0}"));
+ok($objJa->lt("\x{3061}", "\x{30C1}"));
+ok($objJa->lt("\x{3062}", "\x{30C2}"));
+ok($objJa->lt("\x{3063}", "\x{30C3}"));
+ok($objJa->lt("\x{3064}", "\x{30C4}"));
+ok($objJa->lt("\x{3065}", "\x{30C5}"));
+ok($objJa->lt("\x{3066}", "\x{30C6}"));
+ok($objJa->lt("\x{3067}", "\x{30C7}"));
+ok($objJa->lt("\x{3068}", "\x{30C8}"));
+ok($objJa->lt("\x{3069}", "\x{30C9}"));
+ok($objJa->lt("\x{306A}", "\x{30CA}"));
+ok($objJa->lt("\x{306B}", "\x{30CB}"));
+ok($objJa->lt("\x{306C}", "\x{30CC}"));
+ok($objJa->lt("\x{306D}", "\x{30CD}"));
+ok($objJa->lt("\x{306E}", "\x{30CE}"));
+ok($objJa->lt("\x{306F}", "\x{30CF}"));
+ok($objJa->lt("\x{3070}", "\x{30D0}"));
+ok($objJa->lt("\x{3071}", "\x{30D1}"));
+ok($objJa->lt("\x{3072}", "\x{30D2}"));
+ok($objJa->lt("\x{3073}", "\x{30D3}"));
+ok($objJa->lt("\x{3074}", "\x{30D4}"));
+ok($objJa->lt("\x{3075}", "\x{30D5}"));
+ok($objJa->lt("\x{3076}", "\x{30D6}"));
+ok($objJa->lt("\x{3077}", "\x{30D7}"));
+ok($objJa->lt("\x{3078}", "\x{30D8}"));
+ok($objJa->lt("\x{3079}", "\x{30D9}"));
+ok($objJa->lt("\x{307A}", "\x{30DA}"));
+ok($objJa->lt("\x{307B}", "\x{30DB}"));
+ok($objJa->lt("\x{307C}", "\x{30DC}"));
+ok($objJa->lt("\x{307D}", "\x{30DD}"));
+ok($objJa->lt("\x{307E}", "\x{30DE}"));
+ok($objJa->lt("\x{307F}", "\x{30DF}"));
+ok($objJa->lt("\x{3080}", "\x{30E0}"));
+ok($objJa->lt("\x{3081}", "\x{30E1}"));
+ok($objJa->lt("\x{3082}", "\x{30E2}"));
+ok($objJa->lt("\x{3083}", "\x{30E3}"));
+ok($objJa->lt("\x{3084}", "\x{30E4}"));
+ok($objJa->lt("\x{3085}", "\x{30E5}"));
+ok($objJa->lt("\x{3086}", "\x{30E6}"));
+ok($objJa->lt("\x{3087}", "\x{30E7}"));
+ok($objJa->lt("\x{3088}", "\x{30E8}"));
+ok($objJa->lt("\x{3089}", "\x{30E9}"));
+ok($objJa->lt("\x{308A}", "\x{30EA}"));
+ok($objJa->lt("\x{308B}", "\x{30EB}"));
+ok($objJa->lt("\x{308C}", "\x{30EC}"));
+ok($objJa->lt("\x{308D}", "\x{30ED}"));
+ok($objJa->lt("\x{308E}", "\x{30EE}"));
+ok($objJa->lt("\x{308F}", "\x{30EF}"));
+ok($objJa->lt("\x{3090}", "\x{30F0}"));
+ok($objJa->lt("\x{3091}", "\x{30F1}"));
+ok($objJa->lt("\x{3092}", "\x{30F2}"));
+ok($objJa->lt("\x{3093}", "\x{30F3}"));
+ok($objJa->lt("\x{3094}", "\x{30F4}"));
+ok($objJa->lt("\x{3095}", "\x{30F5}"));
+ok($objJa->lt("\x{3096}", "\x{30F6}"));
+
+# 475
diff --git a/cpan/Unicode-Collate/t/loc_jait.t b/cpan/Unicode-Collate/t/loc_jait.t
new file mode 100644
index 0000000000..001fdfdead
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_jait.t
@@ -0,0 +1,795 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 759;
+
+my $objJa = Unicode::Collate::Locale->
+ new(locale => 'JA', normalization => undef);
+
+ok(1);
+ok($objJa->getlocale, 'ja');
+
+$objJa->change(level => 2);
+
+ok($objJa->eq("\x{30A1}\x{30FD}", "\x{30A1}\x{30A2}"));
+ok($objJa->eq("\x{30A2}\x{30FD}", "\x{30A2}\x{30A2}"));
+ok($objJa->eq("\x{30A3}\x{30FD}", "\x{30A3}\x{30A4}"));
+ok($objJa->eq("\x{30A4}\x{30FD}", "\x{30A4}\x{30A4}"));
+ok($objJa->eq("\x{30A5}\x{30FD}", "\x{30A5}\x{30A6}"));
+ok($objJa->eq("\x{30A6}\x{30FD}", "\x{30A6}\x{30A6}"));
+ok($objJa->eq("\x{30A7}\x{30FD}", "\x{30A7}\x{30A8}"));
+ok($objJa->eq("\x{30A8}\x{30FD}", "\x{30A8}\x{30A8}"));
+ok($objJa->eq("\x{30A9}\x{30FD}", "\x{30A9}\x{30AA}"));
+ok($objJa->eq("\x{30AA}\x{30FD}", "\x{30AA}\x{30AA}"));
+ok($objJa->eq("\x{30AB}\x{30FD}", "\x{30AB}\x{30AB}"));
+ok($objJa->eq("\x{30AC}\x{30FD}", "\x{30AC}\x{30AB}"));
+ok($objJa->eq("\x{30AD}\x{30FD}", "\x{30AD}\x{30AD}"));
+ok($objJa->eq("\x{30AE}\x{30FD}", "\x{30AE}\x{30AD}"));
+ok($objJa->eq("\x{30AF}\x{30FD}", "\x{30AF}\x{30AF}"));
+ok($objJa->eq("\x{30B0}\x{30FD}", "\x{30B0}\x{30AF}"));
+ok($objJa->eq("\x{30B1}\x{30FD}", "\x{30B1}\x{30B1}"));
+ok($objJa->eq("\x{30B2}\x{30FD}", "\x{30B2}\x{30B1}"));
+ok($objJa->eq("\x{30B3}\x{30FD}", "\x{30B3}\x{30B3}"));
+ok($objJa->eq("\x{30B4}\x{30FD}", "\x{30B4}\x{30B3}"));
+ok($objJa->eq("\x{30B5}\x{30FD}", "\x{30B5}\x{30B5}"));
+ok($objJa->eq("\x{30B6}\x{30FD}", "\x{30B6}\x{30B5}"));
+ok($objJa->eq("\x{30B7}\x{30FD}", "\x{30B7}\x{30B7}"));
+ok($objJa->eq("\x{30B8}\x{30FD}", "\x{30B8}\x{30B7}"));
+ok($objJa->eq("\x{30B9}\x{30FD}", "\x{30B9}\x{30B9}"));
+ok($objJa->eq("\x{30BA}\x{30FD}", "\x{30BA}\x{30B9}"));
+ok($objJa->eq("\x{30BB}\x{30FD}", "\x{30BB}\x{30BB}"));
+ok($objJa->eq("\x{30BC}\x{30FD}", "\x{30BC}\x{30BB}"));
+ok($objJa->eq("\x{30BD}\x{30FD}", "\x{30BD}\x{30BD}"));
+ok($objJa->eq("\x{30BE}\x{30FD}", "\x{30BE}\x{30BD}"));
+ok($objJa->eq("\x{30BF}\x{30FD}", "\x{30BF}\x{30BF}"));
+ok($objJa->eq("\x{30C0}\x{30FD}", "\x{30C0}\x{30BF}"));
+ok($objJa->eq("\x{30C1}\x{30FD}", "\x{30C1}\x{30C1}"));
+ok($objJa->eq("\x{30C2}\x{30FD}", "\x{30C2}\x{30C1}"));
+ok($objJa->eq("\x{30C3}\x{30FD}", "\x{30C3}\x{30C4}"));
+ok($objJa->eq("\x{30C4}\x{30FD}", "\x{30C4}\x{30C4}"));
+ok($objJa->eq("\x{30C5}\x{30FD}", "\x{30C5}\x{30C4}"));
+ok($objJa->eq("\x{30C6}\x{30FD}", "\x{30C6}\x{30C6}"));
+ok($objJa->eq("\x{30C7}\x{30FD}", "\x{30C7}\x{30C6}"));
+ok($objJa->eq("\x{30C8}\x{30FD}", "\x{30C8}\x{30C8}"));
+ok($objJa->eq("\x{30C9}\x{30FD}", "\x{30C9}\x{30C8}"));
+ok($objJa->eq("\x{30CA}\x{30FD}", "\x{30CA}\x{30CA}"));
+ok($objJa->eq("\x{30CB}\x{30FD}", "\x{30CB}\x{30CB}"));
+ok($objJa->eq("\x{30CC}\x{30FD}", "\x{30CC}\x{30CC}"));
+ok($objJa->eq("\x{30CD}\x{30FD}", "\x{30CD}\x{30CD}"));
+ok($objJa->eq("\x{30CE}\x{30FD}", "\x{30CE}\x{30CE}"));
+ok($objJa->eq("\x{30CF}\x{30FD}", "\x{30CF}\x{30CF}"));
+ok($objJa->eq("\x{30D0}\x{30FD}", "\x{30D0}\x{30CF}"));
+ok($objJa->eq("\x{30D1}\x{30FD}", "\x{30D1}\x{30CF}"));
+ok($objJa->eq("\x{30D2}\x{30FD}", "\x{30D2}\x{30D2}"));
+ok($objJa->eq("\x{30D3}\x{30FD}", "\x{30D3}\x{30D2}"));
+ok($objJa->eq("\x{30D4}\x{30FD}", "\x{30D4}\x{30D2}"));
+ok($objJa->eq("\x{30D5}\x{30FD}", "\x{30D5}\x{30D5}"));
+ok($objJa->eq("\x{30D6}\x{30FD}", "\x{30D6}\x{30D5}"));
+ok($objJa->eq("\x{30D7}\x{30FD}", "\x{30D7}\x{30D5}"));
+ok($objJa->eq("\x{30D8}\x{30FD}", "\x{30D8}\x{30D8}"));
+ok($objJa->eq("\x{30D9}\x{30FD}", "\x{30D9}\x{30D8}"));
+ok($objJa->eq("\x{30DA}\x{30FD}", "\x{30DA}\x{30D8}"));
+ok($objJa->eq("\x{30DB}\x{30FD}", "\x{30DB}\x{30DB}"));
+ok($objJa->eq("\x{30DC}\x{30FD}", "\x{30DC}\x{30DB}"));
+ok($objJa->eq("\x{30DD}\x{30FD}", "\x{30DD}\x{30DB}"));
+ok($objJa->eq("\x{30DE}\x{30FD}", "\x{30DE}\x{30DE}"));
+ok($objJa->eq("\x{30DF}\x{30FD}", "\x{30DF}\x{30DF}"));
+ok($objJa->eq("\x{30E0}\x{30FD}", "\x{30E0}\x{30E0}"));
+ok($objJa->eq("\x{30E1}\x{30FD}", "\x{30E1}\x{30E1}"));
+ok($objJa->eq("\x{30E2}\x{30FD}", "\x{30E2}\x{30E2}"));
+ok($objJa->eq("\x{30E3}\x{30FD}", "\x{30E3}\x{30E4}"));
+ok($objJa->eq("\x{30E4}\x{30FD}", "\x{30E4}\x{30E4}"));
+ok($objJa->eq("\x{30E5}\x{30FD}", "\x{30E5}\x{30E6}"));
+ok($objJa->eq("\x{30E6}\x{30FD}", "\x{30E6}\x{30E6}"));
+ok($objJa->eq("\x{30E7}\x{30FD}", "\x{30E7}\x{30E8}"));
+ok($objJa->eq("\x{30E8}\x{30FD}", "\x{30E8}\x{30E8}"));
+ok($objJa->eq("\x{30E9}\x{30FD}", "\x{30E9}\x{30E9}"));
+ok($objJa->eq("\x{30EA}\x{30FD}", "\x{30EA}\x{30EA}"));
+ok($objJa->eq("\x{30EB}\x{30FD}", "\x{30EB}\x{30EB}"));
+ok($objJa->eq("\x{30EC}\x{30FD}", "\x{30EC}\x{30EC}"));
+ok($objJa->eq("\x{30ED}\x{30FD}", "\x{30ED}\x{30ED}"));
+ok($objJa->eq("\x{30EE}\x{30FD}", "\x{30EE}\x{30EF}"));
+ok($objJa->eq("\x{30EF}\x{30FD}", "\x{30EF}\x{30EF}"));
+ok($objJa->eq("\x{30F0}\x{30FD}", "\x{30F0}\x{30F0}"));
+ok($objJa->eq("\x{30F1}\x{30FD}", "\x{30F1}\x{30F1}"));
+ok($objJa->eq("\x{30F2}\x{30FD}", "\x{30F2}\x{30F2}"));
+ok($objJa->eq("\x{30F3}\x{30FD}", "\x{30F3}\x{30F3}"));
+ok($objJa->eq("\x{30F4}\x{30FD}", "\x{30F4}\x{30A6}"));
+ok($objJa->eq("\x{30F5}\x{30FD}", "\x{30F5}\x{30AB}"));
+ok($objJa->eq("\x{30F6}\x{30FD}", "\x{30F6}\x{30B1}"));
+ok($objJa->eq("\x{30F7}\x{30FD}", "\x{30F7}\x{30EF}"));
+ok($objJa->eq("\x{30F8}\x{30FD}", "\x{30F8}\x{30F0}"));
+ok($objJa->eq("\x{30F9}\x{30FD}", "\x{30F9}\x{30F1}"));
+ok($objJa->eq("\x{30FA}\x{30FD}", "\x{30FA}\x{30F2}"));
+ok($objJa->eq("\x{31F0}\x{30FD}", "\x{31F0}\x{30AF}"));
+ok($objJa->eq("\x{31F1}\x{30FD}", "\x{31F1}\x{30B7}"));
+ok($objJa->eq("\x{31F2}\x{30FD}", "\x{31F2}\x{30B9}"));
+ok($objJa->eq("\x{31F3}\x{30FD}", "\x{31F3}\x{30C8}"));
+ok($objJa->eq("\x{31F4}\x{30FD}", "\x{31F4}\x{30CC}"));
+ok($objJa->eq("\x{31F5}\x{30FD}", "\x{31F5}\x{30CF}"));
+ok($objJa->eq("\x{31F6}\x{30FD}", "\x{31F6}\x{30D2}"));
+ok($objJa->eq("\x{31F7}\x{30FD}", "\x{31F7}\x{30D5}"));
+ok($objJa->eq("\x{31F8}\x{30FD}", "\x{31F8}\x{30D8}"));
+ok($objJa->eq("\x{31F9}\x{30FD}", "\x{31F9}\x{30DB}"));
+ok($objJa->eq("\x{31FA}\x{30FD}", "\x{31FA}\x{30E0}"));
+ok($objJa->eq("\x{31FB}\x{30FD}", "\x{31FB}\x{30E9}"));
+ok($objJa->eq("\x{31FC}\x{30FD}", "\x{31FC}\x{30EA}"));
+ok($objJa->eq("\x{31FD}\x{30FD}", "\x{31FD}\x{30EB}"));
+ok($objJa->eq("\x{31FE}\x{30FD}", "\x{31FE}\x{30EC}"));
+ok($objJa->eq("\x{31FF}\x{30FD}", "\x{31FF}\x{30ED}"));
+
+# 108
+
+$objJa->change(level => 3);
+
+ok($objJa->lt("\x{30A1}\x{30FD}", "\x{30A1}\x{30A2}"));
+ok($objJa->lt("\x{30A2}\x{30FD}", "\x{30A2}\x{30A2}"));
+ok($objJa->lt("\x{30A3}\x{30FD}", "\x{30A3}\x{30A4}"));
+ok($objJa->lt("\x{30A4}\x{30FD}", "\x{30A4}\x{30A4}"));
+ok($objJa->lt("\x{30A5}\x{30FD}", "\x{30A5}\x{30A6}"));
+ok($objJa->lt("\x{30A6}\x{30FD}", "\x{30A6}\x{30A6}"));
+ok($objJa->lt("\x{30A7}\x{30FD}", "\x{30A7}\x{30A8}"));
+ok($objJa->lt("\x{30A8}\x{30FD}", "\x{30A8}\x{30A8}"));
+ok($objJa->lt("\x{30A9}\x{30FD}", "\x{30A9}\x{30AA}"));
+ok($objJa->lt("\x{30AA}\x{30FD}", "\x{30AA}\x{30AA}"));
+ok($objJa->lt("\x{30AB}\x{30FD}", "\x{30AB}\x{30AB}"));
+ok($objJa->lt("\x{30AC}\x{30FD}", "\x{30AC}\x{30AB}"));
+ok($objJa->lt("\x{30AD}\x{30FD}", "\x{30AD}\x{30AD}"));
+ok($objJa->lt("\x{30AE}\x{30FD}", "\x{30AE}\x{30AD}"));
+ok($objJa->lt("\x{30AF}\x{30FD}", "\x{30AF}\x{30AF}"));
+ok($objJa->lt("\x{30B0}\x{30FD}", "\x{30B0}\x{30AF}"));
+ok($objJa->lt("\x{30B1}\x{30FD}", "\x{30B1}\x{30B1}"));
+ok($objJa->lt("\x{30B2}\x{30FD}", "\x{30B2}\x{30B1}"));
+ok($objJa->lt("\x{30B3}\x{30FD}", "\x{30B3}\x{30B3}"));
+ok($objJa->lt("\x{30B4}\x{30FD}", "\x{30B4}\x{30B3}"));
+ok($objJa->lt("\x{30B5}\x{30FD}", "\x{30B5}\x{30B5}"));
+ok($objJa->lt("\x{30B6}\x{30FD}", "\x{30B6}\x{30B5}"));
+ok($objJa->lt("\x{30B7}\x{30FD}", "\x{30B7}\x{30B7}"));
+ok($objJa->lt("\x{30B8}\x{30FD}", "\x{30B8}\x{30B7}"));
+ok($objJa->lt("\x{30B9}\x{30FD}", "\x{30B9}\x{30B9}"));
+ok($objJa->lt("\x{30BA}\x{30FD}", "\x{30BA}\x{30B9}"));
+ok($objJa->lt("\x{30BB}\x{30FD}", "\x{30BB}\x{30BB}"));
+ok($objJa->lt("\x{30BC}\x{30FD}", "\x{30BC}\x{30BB}"));
+ok($objJa->lt("\x{30BD}\x{30FD}", "\x{30BD}\x{30BD}"));
+ok($objJa->lt("\x{30BE}\x{30FD}", "\x{30BE}\x{30BD}"));
+ok($objJa->lt("\x{30BF}\x{30FD}", "\x{30BF}\x{30BF}"));
+ok($objJa->lt("\x{30C0}\x{30FD}", "\x{30C0}\x{30BF}"));
+ok($objJa->lt("\x{30C1}\x{30FD}", "\x{30C1}\x{30C1}"));
+ok($objJa->lt("\x{30C2}\x{30FD}", "\x{30C2}\x{30C1}"));
+ok($objJa->lt("\x{30C3}\x{30FD}", "\x{30C3}\x{30C4}"));
+ok($objJa->lt("\x{30C4}\x{30FD}", "\x{30C4}\x{30C4}"));
+ok($objJa->lt("\x{30C5}\x{30FD}", "\x{30C5}\x{30C4}"));
+ok($objJa->lt("\x{30C6}\x{30FD}", "\x{30C6}\x{30C6}"));
+ok($objJa->lt("\x{30C7}\x{30FD}", "\x{30C7}\x{30C6}"));
+ok($objJa->lt("\x{30C8}\x{30FD}", "\x{30C8}\x{30C8}"));
+ok($objJa->lt("\x{30C9}\x{30FD}", "\x{30C9}\x{30C8}"));
+ok($objJa->lt("\x{30CA}\x{30FD}", "\x{30CA}\x{30CA}"));
+ok($objJa->lt("\x{30CB}\x{30FD}", "\x{30CB}\x{30CB}"));
+ok($objJa->lt("\x{30CC}\x{30FD}", "\x{30CC}\x{30CC}"));
+ok($objJa->lt("\x{30CD}\x{30FD}", "\x{30CD}\x{30CD}"));
+ok($objJa->lt("\x{30CE}\x{30FD}", "\x{30CE}\x{30CE}"));
+ok($objJa->lt("\x{30CF}\x{30FD}", "\x{30CF}\x{30CF}"));
+ok($objJa->lt("\x{30D0}\x{30FD}", "\x{30D0}\x{30CF}"));
+ok($objJa->lt("\x{30D1}\x{30FD}", "\x{30D1}\x{30CF}"));
+ok($objJa->lt("\x{30D2}\x{30FD}", "\x{30D2}\x{30D2}"));
+ok($objJa->lt("\x{30D3}\x{30FD}", "\x{30D3}\x{30D2}"));
+ok($objJa->lt("\x{30D4}\x{30FD}", "\x{30D4}\x{30D2}"));
+ok($objJa->lt("\x{30D5}\x{30FD}", "\x{30D5}\x{30D5}"));
+ok($objJa->lt("\x{30D6}\x{30FD}", "\x{30D6}\x{30D5}"));
+ok($objJa->lt("\x{30D7}\x{30FD}", "\x{30D7}\x{30D5}"));
+ok($objJa->lt("\x{30D8}\x{30FD}", "\x{30D8}\x{30D8}"));
+ok($objJa->lt("\x{30D9}\x{30FD}", "\x{30D9}\x{30D8}"));
+ok($objJa->lt("\x{30DA}\x{30FD}", "\x{30DA}\x{30D8}"));
+ok($objJa->lt("\x{30DB}\x{30FD}", "\x{30DB}\x{30DB}"));
+ok($objJa->lt("\x{30DC}\x{30FD}", "\x{30DC}\x{30DB}"));
+ok($objJa->lt("\x{30DD}\x{30FD}", "\x{30DD}\x{30DB}"));
+ok($objJa->lt("\x{30DE}\x{30FD}", "\x{30DE}\x{30DE}"));
+ok($objJa->lt("\x{30DF}\x{30FD}", "\x{30DF}\x{30DF}"));
+ok($objJa->lt("\x{30E0}\x{30FD}", "\x{30E0}\x{30E0}"));
+ok($objJa->lt("\x{30E1}\x{30FD}", "\x{30E1}\x{30E1}"));
+ok($objJa->lt("\x{30E2}\x{30FD}", "\x{30E2}\x{30E2}"));
+ok($objJa->lt("\x{30E3}\x{30FD}", "\x{30E3}\x{30E4}"));
+ok($objJa->lt("\x{30E4}\x{30FD}", "\x{30E4}\x{30E4}"));
+ok($objJa->lt("\x{30E5}\x{30FD}", "\x{30E5}\x{30E6}"));
+ok($objJa->lt("\x{30E6}\x{30FD}", "\x{30E6}\x{30E6}"));
+ok($objJa->lt("\x{30E7}\x{30FD}", "\x{30E7}\x{30E8}"));
+ok($objJa->lt("\x{30E8}\x{30FD}", "\x{30E8}\x{30E8}"));
+ok($objJa->lt("\x{30E9}\x{30FD}", "\x{30E9}\x{30E9}"));
+ok($objJa->lt("\x{30EA}\x{30FD}", "\x{30EA}\x{30EA}"));
+ok($objJa->lt("\x{30EB}\x{30FD}", "\x{30EB}\x{30EB}"));
+ok($objJa->lt("\x{30EC}\x{30FD}", "\x{30EC}\x{30EC}"));
+ok($objJa->lt("\x{30ED}\x{30FD}", "\x{30ED}\x{30ED}"));
+ok($objJa->lt("\x{30EE}\x{30FD}", "\x{30EE}\x{30EF}"));
+ok($objJa->lt("\x{30EF}\x{30FD}", "\x{30EF}\x{30EF}"));
+ok($objJa->lt("\x{30F0}\x{30FD}", "\x{30F0}\x{30F0}"));
+ok($objJa->lt("\x{30F1}\x{30FD}", "\x{30F1}\x{30F1}"));
+ok($objJa->lt("\x{30F2}\x{30FD}", "\x{30F2}\x{30F2}"));
+ok($objJa->lt("\x{30F3}\x{30FD}", "\x{30F3}\x{30F3}"));
+ok($objJa->lt("\x{30F4}\x{30FD}", "\x{30F4}\x{30A6}"));
+ok($objJa->lt("\x{30F5}\x{30FD}", "\x{30F5}\x{30AB}"));
+ok($objJa->lt("\x{30F6}\x{30FD}", "\x{30F6}\x{30B1}"));
+ok($objJa->lt("\x{30F7}\x{30FD}", "\x{30F7}\x{30EF}"));
+ok($objJa->lt("\x{30F8}\x{30FD}", "\x{30F8}\x{30F0}"));
+ok($objJa->lt("\x{30F9}\x{30FD}", "\x{30F9}\x{30F1}"));
+ok($objJa->lt("\x{30FA}\x{30FD}", "\x{30FA}\x{30F2}"));
+ok($objJa->lt("\x{31F0}\x{30FD}", "\x{31F0}\x{30AF}"));
+ok($objJa->lt("\x{31F1}\x{30FD}", "\x{31F1}\x{30B7}"));
+ok($objJa->lt("\x{31F2}\x{30FD}", "\x{31F2}\x{30B9}"));
+ok($objJa->lt("\x{31F3}\x{30FD}", "\x{31F3}\x{30C8}"));
+ok($objJa->lt("\x{31F4}\x{30FD}", "\x{31F4}\x{30CC}"));
+ok($objJa->lt("\x{31F5}\x{30FD}", "\x{31F5}\x{30CF}"));
+ok($objJa->lt("\x{31F6}\x{30FD}", "\x{31F6}\x{30D2}"));
+ok($objJa->lt("\x{31F7}\x{30FD}", "\x{31F7}\x{30D5}"));
+ok($objJa->lt("\x{31F8}\x{30FD}", "\x{31F8}\x{30D8}"));
+ok($objJa->lt("\x{31F9}\x{30FD}", "\x{31F9}\x{30DB}"));
+ok($objJa->lt("\x{31FA}\x{30FD}", "\x{31FA}\x{30E0}"));
+ok($objJa->lt("\x{31FB}\x{30FD}", "\x{31FB}\x{30E9}"));
+ok($objJa->lt("\x{31FC}\x{30FD}", "\x{31FC}\x{30EA}"));
+ok($objJa->lt("\x{31FD}\x{30FD}", "\x{31FD}\x{30EB}"));
+ok($objJa->lt("\x{31FE}\x{30FD}", "\x{31FE}\x{30EC}"));
+ok($objJa->lt("\x{31FF}\x{30FD}", "\x{31FF}\x{30ED}"));
+
+# 214
+
+ok($objJa->eq("\x{3041}\x{309D}", "\x{30A1}\x{30FD}"));
+ok($objJa->eq("\x{3042}\x{309D}", "\x{30A2}\x{30FD}"));
+ok($objJa->eq("\x{3043}\x{309D}", "\x{30A3}\x{30FD}"));
+ok($objJa->eq("\x{3044}\x{309D}", "\x{30A4}\x{30FD}"));
+ok($objJa->eq("\x{3045}\x{309D}", "\x{30A5}\x{30FD}"));
+ok($objJa->eq("\x{3046}\x{309D}", "\x{30A6}\x{30FD}"));
+ok($objJa->eq("\x{3047}\x{309D}", "\x{30A7}\x{30FD}"));
+ok($objJa->eq("\x{3048}\x{309D}", "\x{30A8}\x{30FD}"));
+ok($objJa->eq("\x{3049}\x{309D}", "\x{30A9}\x{30FD}"));
+ok($objJa->eq("\x{304A}\x{309D}", "\x{30AA}\x{30FD}"));
+ok($objJa->eq("\x{304B}\x{309D}", "\x{30AB}\x{30FD}"));
+ok($objJa->eq("\x{304C}\x{309D}", "\x{30AC}\x{30FD}"));
+ok($objJa->eq("\x{304D}\x{309D}", "\x{30AD}\x{30FD}"));
+ok($objJa->eq("\x{304E}\x{309D}", "\x{30AE}\x{30FD}"));
+ok($objJa->eq("\x{304F}\x{309D}", "\x{30AF}\x{30FD}"));
+ok($objJa->eq("\x{3050}\x{309D}", "\x{30B0}\x{30FD}"));
+ok($objJa->eq("\x{3051}\x{309D}", "\x{30B1}\x{30FD}"));
+ok($objJa->eq("\x{3052}\x{309D}", "\x{30B2}\x{30FD}"));
+ok($objJa->eq("\x{3053}\x{309D}", "\x{30B3}\x{30FD}"));
+ok($objJa->eq("\x{3054}\x{309D}", "\x{30B4}\x{30FD}"));
+ok($objJa->eq("\x{3055}\x{309D}", "\x{30B5}\x{30FD}"));
+ok($objJa->eq("\x{3056}\x{309D}", "\x{30B6}\x{30FD}"));
+ok($objJa->eq("\x{3057}\x{309D}", "\x{30B7}\x{30FD}"));
+ok($objJa->eq("\x{3058}\x{309D}", "\x{30B8}\x{30FD}"));
+ok($objJa->eq("\x{3059}\x{309D}", "\x{30B9}\x{30FD}"));
+ok($objJa->eq("\x{305A}\x{309D}", "\x{30BA}\x{30FD}"));
+ok($objJa->eq("\x{305B}\x{309D}", "\x{30BB}\x{30FD}"));
+ok($objJa->eq("\x{305C}\x{309D}", "\x{30BC}\x{30FD}"));
+ok($objJa->eq("\x{305D}\x{309D}", "\x{30BD}\x{30FD}"));
+ok($objJa->eq("\x{305E}\x{309D}", "\x{30BE}\x{30FD}"));
+ok($objJa->eq("\x{305F}\x{309D}", "\x{30BF}\x{30FD}"));
+ok($objJa->eq("\x{3060}\x{309D}", "\x{30C0}\x{30FD}"));
+ok($objJa->eq("\x{3061}\x{309D}", "\x{30C1}\x{30FD}"));
+ok($objJa->eq("\x{3062}\x{309D}", "\x{30C2}\x{30FD}"));
+ok($objJa->eq("\x{3063}\x{309D}", "\x{30C3}\x{30FD}"));
+ok($objJa->eq("\x{3064}\x{309D}", "\x{30C4}\x{30FD}"));
+ok($objJa->eq("\x{3065}\x{309D}", "\x{30C5}\x{30FD}"));
+ok($objJa->eq("\x{3066}\x{309D}", "\x{30C6}\x{30FD}"));
+ok($objJa->eq("\x{3067}\x{309D}", "\x{30C7}\x{30FD}"));
+ok($objJa->eq("\x{3068}\x{309D}", "\x{30C8}\x{30FD}"));
+ok($objJa->eq("\x{3069}\x{309D}", "\x{30C9}\x{30FD}"));
+ok($objJa->eq("\x{306A}\x{309D}", "\x{30CA}\x{30FD}"));
+ok($objJa->eq("\x{306B}\x{309D}", "\x{30CB}\x{30FD}"));
+ok($objJa->eq("\x{306C}\x{309D}", "\x{30CC}\x{30FD}"));
+ok($objJa->eq("\x{306D}\x{309D}", "\x{30CD}\x{30FD}"));
+ok($objJa->eq("\x{306E}\x{309D}", "\x{30CE}\x{30FD}"));
+ok($objJa->eq("\x{306F}\x{309D}", "\x{30CF}\x{30FD}"));
+ok($objJa->eq("\x{3070}\x{309D}", "\x{30D0}\x{30FD}"));
+ok($objJa->eq("\x{3071}\x{309D}", "\x{30D1}\x{30FD}"));
+ok($objJa->eq("\x{3072}\x{309D}", "\x{30D2}\x{30FD}"));
+ok($objJa->eq("\x{3073}\x{309D}", "\x{30D3}\x{30FD}"));
+ok($objJa->eq("\x{3074}\x{309D}", "\x{30D4}\x{30FD}"));
+ok($objJa->eq("\x{3075}\x{309D}", "\x{30D5}\x{30FD}"));
+ok($objJa->eq("\x{3076}\x{309D}", "\x{30D6}\x{30FD}"));
+ok($objJa->eq("\x{3077}\x{309D}", "\x{30D7}\x{30FD}"));
+ok($objJa->eq("\x{3078}\x{309D}", "\x{30D8}\x{30FD}"));
+ok($objJa->eq("\x{3079}\x{309D}", "\x{30D9}\x{30FD}"));
+ok($objJa->eq("\x{307A}\x{309D}", "\x{30DA}\x{30FD}"));
+ok($objJa->eq("\x{307B}\x{309D}", "\x{30DB}\x{30FD}"));
+ok($objJa->eq("\x{307C}\x{309D}", "\x{30DC}\x{30FD}"));
+ok($objJa->eq("\x{307D}\x{309D}", "\x{30DD}\x{30FD}"));
+ok($objJa->eq("\x{307E}\x{309D}", "\x{30DE}\x{30FD}"));
+ok($objJa->eq("\x{307F}\x{309D}", "\x{30DF}\x{30FD}"));
+ok($objJa->eq("\x{3080}\x{309D}", "\x{30E0}\x{30FD}"));
+ok($objJa->eq("\x{3081}\x{309D}", "\x{30E1}\x{30FD}"));
+ok($objJa->eq("\x{3082}\x{309D}", "\x{30E2}\x{30FD}"));
+ok($objJa->eq("\x{3083}\x{309D}", "\x{30E3}\x{30FD}"));
+ok($objJa->eq("\x{3084}\x{309D}", "\x{30E4}\x{30FD}"));
+ok($objJa->eq("\x{3085}\x{309D}", "\x{30E5}\x{30FD}"));
+ok($objJa->eq("\x{3086}\x{309D}", "\x{30E6}\x{30FD}"));
+ok($objJa->eq("\x{3087}\x{309D}", "\x{30E7}\x{30FD}"));
+ok($objJa->eq("\x{3088}\x{309D}", "\x{30E8}\x{30FD}"));
+ok($objJa->eq("\x{3089}\x{309D}", "\x{30E9}\x{30FD}"));
+ok($objJa->eq("\x{308A}\x{309D}", "\x{30EA}\x{30FD}"));
+ok($objJa->eq("\x{308B}\x{309D}", "\x{30EB}\x{30FD}"));
+ok($objJa->eq("\x{308C}\x{309D}", "\x{30EC}\x{30FD}"));
+ok($objJa->eq("\x{308D}\x{309D}", "\x{30ED}\x{30FD}"));
+ok($objJa->eq("\x{308E}\x{309D}", "\x{30EE}\x{30FD}"));
+ok($objJa->eq("\x{308F}\x{309D}", "\x{30EF}\x{30FD}"));
+ok($objJa->eq("\x{3090}\x{309D}", "\x{30F0}\x{30FD}"));
+ok($objJa->eq("\x{3091}\x{309D}", "\x{30F1}\x{30FD}"));
+ok($objJa->eq("\x{3092}\x{309D}", "\x{30F2}\x{30FD}"));
+ok($objJa->eq("\x{3093}\x{309D}", "\x{30F3}\x{30FD}"));
+ok($objJa->eq("\x{3094}\x{309D}", "\x{30F4}\x{30FD}"));
+ok($objJa->eq("\x{3095}\x{309D}", "\x{30F5}\x{30FD}"));
+ok($objJa->eq("\x{3096}\x{309D}", "\x{30F6}\x{30FD}"));
+
+# 300
+
+$objJa->change(level => 4);
+
+$objJa->change(variable => 'Non-ignorable');
+
+ok($objJa->lt("\x{3041}\x{309D}", "\x{30A1}\x{30FD}"));
+ok($objJa->lt("\x{3042}\x{309D}", "\x{30A2}\x{30FD}"));
+ok($objJa->lt("\x{3043}\x{309D}", "\x{30A3}\x{30FD}"));
+ok($objJa->lt("\x{3044}\x{309D}", "\x{30A4}\x{30FD}"));
+ok($objJa->lt("\x{3045}\x{309D}", "\x{30A5}\x{30FD}"));
+ok($objJa->lt("\x{3046}\x{309D}", "\x{30A6}\x{30FD}"));
+ok($objJa->lt("\x{3047}\x{309D}", "\x{30A7}\x{30FD}"));
+ok($objJa->lt("\x{3048}\x{309D}", "\x{30A8}\x{30FD}"));
+ok($objJa->lt("\x{3049}\x{309D}", "\x{30A9}\x{30FD}"));
+ok($objJa->lt("\x{304A}\x{309D}", "\x{30AA}\x{30FD}"));
+ok($objJa->lt("\x{304B}\x{309D}", "\x{30AB}\x{30FD}"));
+ok($objJa->lt("\x{304C}\x{309D}", "\x{30AC}\x{30FD}"));
+ok($objJa->lt("\x{304D}\x{309D}", "\x{30AD}\x{30FD}"));
+ok($objJa->lt("\x{304E}\x{309D}", "\x{30AE}\x{30FD}"));
+ok($objJa->lt("\x{304F}\x{309D}", "\x{30AF}\x{30FD}"));
+ok($objJa->lt("\x{3050}\x{309D}", "\x{30B0}\x{30FD}"));
+ok($objJa->lt("\x{3051}\x{309D}", "\x{30B1}\x{30FD}"));
+ok($objJa->lt("\x{3052}\x{309D}", "\x{30B2}\x{30FD}"));
+ok($objJa->lt("\x{3053}\x{309D}", "\x{30B3}\x{30FD}"));
+ok($objJa->lt("\x{3054}\x{309D}", "\x{30B4}\x{30FD}"));
+ok($objJa->lt("\x{3055}\x{309D}", "\x{30B5}\x{30FD}"));
+ok($objJa->lt("\x{3056}\x{309D}", "\x{30B6}\x{30FD}"));
+ok($objJa->lt("\x{3057}\x{309D}", "\x{30B7}\x{30FD}"));
+ok($objJa->lt("\x{3058}\x{309D}", "\x{30B8}\x{30FD}"));
+ok($objJa->lt("\x{3059}\x{309D}", "\x{30B9}\x{30FD}"));
+ok($objJa->lt("\x{305A}\x{309D}", "\x{30BA}\x{30FD}"));
+ok($objJa->lt("\x{305B}\x{309D}", "\x{30BB}\x{30FD}"));
+ok($objJa->lt("\x{305C}\x{309D}", "\x{30BC}\x{30FD}"));
+ok($objJa->lt("\x{305D}\x{309D}", "\x{30BD}\x{30FD}"));
+ok($objJa->lt("\x{305E}\x{309D}", "\x{30BE}\x{30FD}"));
+ok($objJa->lt("\x{305F}\x{309D}", "\x{30BF}\x{30FD}"));
+ok($objJa->lt("\x{3060}\x{309D}", "\x{30C0}\x{30FD}"));
+ok($objJa->lt("\x{3061}\x{309D}", "\x{30C1}\x{30FD}"));
+ok($objJa->lt("\x{3062}\x{309D}", "\x{30C2}\x{30FD}"));
+ok($objJa->lt("\x{3063}\x{309D}", "\x{30C3}\x{30FD}"));
+ok($objJa->lt("\x{3064}\x{309D}", "\x{30C4}\x{30FD}"));
+ok($objJa->lt("\x{3065}\x{309D}", "\x{30C5}\x{30FD}"));
+ok($objJa->lt("\x{3066}\x{309D}", "\x{30C6}\x{30FD}"));
+ok($objJa->lt("\x{3067}\x{309D}", "\x{30C7}\x{30FD}"));
+ok($objJa->lt("\x{3068}\x{309D}", "\x{30C8}\x{30FD}"));
+ok($objJa->lt("\x{3069}\x{309D}", "\x{30C9}\x{30FD}"));
+ok($objJa->lt("\x{306A}\x{309D}", "\x{30CA}\x{30FD}"));
+ok($objJa->lt("\x{306B}\x{309D}", "\x{30CB}\x{30FD}"));
+ok($objJa->lt("\x{306C}\x{309D}", "\x{30CC}\x{30FD}"));
+ok($objJa->lt("\x{306D}\x{309D}", "\x{30CD}\x{30FD}"));
+ok($objJa->lt("\x{306E}\x{309D}", "\x{30CE}\x{30FD}"));
+ok($objJa->lt("\x{306F}\x{309D}", "\x{30CF}\x{30FD}"));
+ok($objJa->lt("\x{3070}\x{309D}", "\x{30D0}\x{30FD}"));
+ok($objJa->lt("\x{3071}\x{309D}", "\x{30D1}\x{30FD}"));
+ok($objJa->lt("\x{3072}\x{309D}", "\x{30D2}\x{30FD}"));
+ok($objJa->lt("\x{3073}\x{309D}", "\x{30D3}\x{30FD}"));
+ok($objJa->lt("\x{3074}\x{309D}", "\x{30D4}\x{30FD}"));
+ok($objJa->lt("\x{3075}\x{309D}", "\x{30D5}\x{30FD}"));
+ok($objJa->lt("\x{3076}\x{309D}", "\x{30D6}\x{30FD}"));
+ok($objJa->lt("\x{3077}\x{309D}", "\x{30D7}\x{30FD}"));
+ok($objJa->lt("\x{3078}\x{309D}", "\x{30D8}\x{30FD}"));
+ok($objJa->lt("\x{3079}\x{309D}", "\x{30D9}\x{30FD}"));
+ok($objJa->lt("\x{307A}\x{309D}", "\x{30DA}\x{30FD}"));
+ok($objJa->lt("\x{307B}\x{309D}", "\x{30DB}\x{30FD}"));
+ok($objJa->lt("\x{307C}\x{309D}", "\x{30DC}\x{30FD}"));
+ok($objJa->lt("\x{307D}\x{309D}", "\x{30DD}\x{30FD}"));
+ok($objJa->lt("\x{307E}\x{309D}", "\x{30DE}\x{30FD}"));
+ok($objJa->lt("\x{307F}\x{309D}", "\x{30DF}\x{30FD}"));
+ok($objJa->lt("\x{3080}\x{309D}", "\x{30E0}\x{30FD}"));
+ok($objJa->lt("\x{3081}\x{309D}", "\x{30E1}\x{30FD}"));
+ok($objJa->lt("\x{3082}\x{309D}", "\x{30E2}\x{30FD}"));
+ok($objJa->lt("\x{3083}\x{309D}", "\x{30E3}\x{30FD}"));
+ok($objJa->lt("\x{3084}\x{309D}", "\x{30E4}\x{30FD}"));
+ok($objJa->lt("\x{3085}\x{309D}", "\x{30E5}\x{30FD}"));
+ok($objJa->lt("\x{3086}\x{309D}", "\x{30E6}\x{30FD}"));
+ok($objJa->lt("\x{3087}\x{309D}", "\x{30E7}\x{30FD}"));
+ok($objJa->lt("\x{3088}\x{309D}", "\x{30E8}\x{30FD}"));
+ok($objJa->lt("\x{3089}\x{309D}", "\x{30E9}\x{30FD}"));
+ok($objJa->lt("\x{308A}\x{309D}", "\x{30EA}\x{30FD}"));
+ok($objJa->lt("\x{308B}\x{309D}", "\x{30EB}\x{30FD}"));
+ok($objJa->lt("\x{308C}\x{309D}", "\x{30EC}\x{30FD}"));
+ok($objJa->lt("\x{308D}\x{309D}", "\x{30ED}\x{30FD}"));
+ok($objJa->lt("\x{308E}\x{309D}", "\x{30EE}\x{30FD}"));
+ok($objJa->lt("\x{308F}\x{309D}", "\x{30EF}\x{30FD}"));
+ok($objJa->lt("\x{3090}\x{309D}", "\x{30F0}\x{30FD}"));
+ok($objJa->lt("\x{3091}\x{309D}", "\x{30F1}\x{30FD}"));
+ok($objJa->lt("\x{3092}\x{309D}", "\x{30F2}\x{30FD}"));
+ok($objJa->lt("\x{3093}\x{309D}", "\x{30F3}\x{30FD}"));
+ok($objJa->lt("\x{3094}\x{309D}", "\x{30F4}\x{30FD}"));
+ok($objJa->lt("\x{3095}\x{309D}", "\x{30F5}\x{30FD}"));
+ok($objJa->lt("\x{3096}\x{309D}", "\x{30F6}\x{30FD}"));
+
+# 386
+
+my $vs = "\x{3099}";
+
+ok($objJa->eq("\x{30A1}\x{30FD}", "\x{FF67}\x{30FD}"));
+ok($objJa->eq("\x{30A2}\x{30FD}", "\x{FF71}\x{30FD}"));
+ok($objJa->eq("\x{30A3}\x{30FD}", "\x{FF68}\x{30FD}"));
+ok($objJa->eq("\x{30A4}\x{30FD}", "\x{FF72}\x{30FD}"));
+ok($objJa->eq("\x{30A5}\x{30FD}", "\x{FF69}\x{30FD}"));
+ok($objJa->eq("\x{30A5}\x{30FE}", "\x{30A5}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF69}\x{30FE}", "\x{FF69}\x{30FD}".$vs));
+ok($objJa->eq("\x{3045}\x{309E}", "\x{3045}\x{309D}".$vs));
+ok($objJa->eq("\x{30A6}\x{30FD}", "\x{FF73}\x{30FD}"));
+ok($objJa->eq("\x{30A6}\x{30FE}", "\x{30A6}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF73}\x{30FE}", "\x{FF73}\x{30FD}".$vs));
+ok($objJa->eq("\x{3046}\x{309E}", "\x{3046}\x{309D}".$vs));
+ok($objJa->eq("\x{30A7}\x{30FD}", "\x{FF6A}\x{30FD}"));
+ok($objJa->eq("\x{30A8}\x{30FD}", "\x{FF74}\x{30FD}"));
+ok($objJa->eq("\x{30A9}\x{30FD}", "\x{FF6B}\x{30FD}"));
+ok($objJa->eq("\x{30AA}\x{30FD}", "\x{FF75}\x{30FD}"));
+ok($objJa->eq("\x{30AB}\x{30FD}", "\x{FF76}\x{30FD}"));
+ok($objJa->eq("\x{30AB}\x{30FE}", "\x{30AB}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF76}\x{30FE}", "\x{FF76}\x{30FD}".$vs));
+ok($objJa->eq("\x{304B}\x{309E}", "\x{304B}\x{309D}".$vs));
+ok($objJa->eq("\x{30AC}\x{30FD}", "\x{30AB}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30AC}\x{30FD}", "\x{FF76}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{304C}\x{309D}", "\x{304B}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30AC}\x{30FE}", "\x{30AC}\x{30FD}".$vs));
+ok($objJa->eq("\x{30AB}\x{3099}\x{30FE}", "\x{30AB}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF76}\x{FF9E}\x{30FE}", "\x{FF76}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{304C}\x{309E}", "\x{304C}\x{309D}".$vs));
+ok($objJa->eq("\x{304B}\x{3099}\x{309E}", "\x{304B}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30AD}\x{30FD}", "\x{FF77}\x{30FD}"));
+ok($objJa->eq("\x{30AD}\x{30FE}", "\x{30AD}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF77}\x{30FE}", "\x{FF77}\x{30FD}".$vs));
+ok($objJa->eq("\x{304D}\x{309E}", "\x{304D}\x{309D}".$vs));
+ok($objJa->eq("\x{30AE}\x{30FD}", "\x{30AD}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30AE}\x{30FD}", "\x{FF77}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{304E}\x{309D}", "\x{304D}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30AE}\x{30FE}", "\x{30AE}\x{30FD}".$vs));
+ok($objJa->eq("\x{30AD}\x{3099}\x{30FE}", "\x{30AD}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF77}\x{FF9E}\x{30FE}", "\x{FF77}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{304E}\x{309E}", "\x{304E}\x{309D}".$vs));
+ok($objJa->eq("\x{304D}\x{3099}\x{309E}", "\x{304D}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30AF}\x{30FD}", "\x{FF78}\x{30FD}"));
+ok($objJa->eq("\x{30AF}\x{30FE}", "\x{30AF}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF78}\x{30FE}", "\x{FF78}\x{30FD}".$vs));
+ok($objJa->eq("\x{304F}\x{309E}", "\x{304F}\x{309D}".$vs));
+ok($objJa->eq("\x{30B0}\x{30FD}", "\x{30AF}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30B0}\x{30FD}", "\x{FF78}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3050}\x{309D}", "\x{304F}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30B0}\x{30FE}", "\x{30B0}\x{30FD}".$vs));
+ok($objJa->eq("\x{30AF}\x{3099}\x{30FE}", "\x{30AF}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF78}\x{FF9E}\x{30FE}", "\x{FF78}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3050}\x{309E}", "\x{3050}\x{309D}".$vs));
+ok($objJa->eq("\x{304F}\x{3099}\x{309E}", "\x{304F}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30B1}\x{30FD}", "\x{FF79}\x{30FD}"));
+ok($objJa->eq("\x{30B1}\x{30FE}", "\x{30B1}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF79}\x{30FE}", "\x{FF79}\x{30FD}".$vs));
+ok($objJa->eq("\x{3051}\x{309E}", "\x{3051}\x{309D}".$vs));
+ok($objJa->eq("\x{30B2}\x{30FD}", "\x{30B1}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30B2}\x{30FD}", "\x{FF79}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3052}\x{309D}", "\x{3051}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30B2}\x{30FE}", "\x{30B2}\x{30FD}".$vs));
+ok($objJa->eq("\x{30B1}\x{3099}\x{30FE}", "\x{30B1}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF79}\x{FF9E}\x{30FE}", "\x{FF79}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3052}\x{309E}", "\x{3052}\x{309D}".$vs));
+ok($objJa->eq("\x{3051}\x{3099}\x{309E}", "\x{3051}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30B3}\x{30FD}", "\x{FF7A}\x{30FD}"));
+ok($objJa->eq("\x{30B3}\x{30FE}", "\x{30B3}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7A}\x{30FE}", "\x{FF7A}\x{30FD}".$vs));
+ok($objJa->eq("\x{3053}\x{309E}", "\x{3053}\x{309D}".$vs));
+ok($objJa->eq("\x{30B4}\x{30FD}", "\x{30B3}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30B4}\x{30FD}", "\x{FF7A}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3054}\x{309D}", "\x{3053}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30B4}\x{30FE}", "\x{30B4}\x{30FD}".$vs));
+ok($objJa->eq("\x{30B3}\x{3099}\x{30FE}", "\x{30B3}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7A}\x{FF9E}\x{30FE}", "\x{FF7A}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3054}\x{309E}", "\x{3054}\x{309D}".$vs));
+ok($objJa->eq("\x{3053}\x{3099}\x{309E}", "\x{3053}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30B5}\x{30FD}", "\x{FF7B}\x{30FD}"));
+ok($objJa->eq("\x{30B5}\x{30FE}", "\x{30B5}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7B}\x{30FE}", "\x{FF7B}\x{30FD}".$vs));
+ok($objJa->eq("\x{3055}\x{309E}", "\x{3055}\x{309D}".$vs));
+ok($objJa->eq("\x{30B6}\x{30FD}", "\x{30B5}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30B6}\x{30FD}", "\x{FF7B}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3056}\x{309D}", "\x{3055}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30B6}\x{30FE}", "\x{30B6}\x{30FD}".$vs));
+ok($objJa->eq("\x{30B5}\x{3099}\x{30FE}", "\x{30B5}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7B}\x{FF9E}\x{30FE}", "\x{FF7B}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3056}\x{309E}", "\x{3056}\x{309D}".$vs));
+ok($objJa->eq("\x{3055}\x{3099}\x{309E}", "\x{3055}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30B7}\x{30FD}", "\x{FF7C}\x{30FD}"));
+ok($objJa->eq("\x{30B7}\x{30FE}", "\x{30B7}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7C}\x{30FE}", "\x{FF7C}\x{30FD}".$vs));
+ok($objJa->eq("\x{3057}\x{309E}", "\x{3057}\x{309D}".$vs));
+ok($objJa->eq("\x{30B8}\x{30FD}", "\x{30B7}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30B8}\x{30FD}", "\x{FF7C}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3058}\x{309D}", "\x{3057}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30B8}\x{30FE}", "\x{30B8}\x{30FD}".$vs));
+ok($objJa->eq("\x{30B7}\x{3099}\x{30FE}", "\x{30B7}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7C}\x{FF9E}\x{30FE}", "\x{FF7C}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3058}\x{309E}", "\x{3058}\x{309D}".$vs));
+ok($objJa->eq("\x{3057}\x{3099}\x{309E}", "\x{3057}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30B9}\x{30FD}", "\x{FF7D}\x{30FD}"));
+ok($objJa->eq("\x{30B9}\x{30FE}", "\x{30B9}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7D}\x{30FE}", "\x{FF7D}\x{30FD}".$vs));
+ok($objJa->eq("\x{3059}\x{309E}", "\x{3059}\x{309D}".$vs));
+ok($objJa->eq("\x{30BA}\x{30FD}", "\x{30B9}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30BA}\x{30FD}", "\x{FF7D}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{305A}\x{309D}", "\x{3059}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30BA}\x{30FE}", "\x{30BA}\x{30FD}".$vs));
+ok($objJa->eq("\x{30B9}\x{3099}\x{30FE}", "\x{30B9}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7D}\x{FF9E}\x{30FE}", "\x{FF7D}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{305A}\x{309E}", "\x{305A}\x{309D}".$vs));
+ok($objJa->eq("\x{3059}\x{3099}\x{309E}", "\x{3059}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30BB}\x{30FD}", "\x{FF7E}\x{30FD}"));
+ok($objJa->eq("\x{30BB}\x{30FE}", "\x{30BB}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7E}\x{30FE}", "\x{FF7E}\x{30FD}".$vs));
+ok($objJa->eq("\x{305B}\x{309E}", "\x{305B}\x{309D}".$vs));
+ok($objJa->eq("\x{30BC}\x{30FD}", "\x{30BB}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30BC}\x{30FD}", "\x{FF7E}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{305C}\x{309D}", "\x{305B}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30BC}\x{30FE}", "\x{30BC}\x{30FD}".$vs));
+ok($objJa->eq("\x{30BB}\x{3099}\x{30FE}", "\x{30BB}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7E}\x{FF9E}\x{30FE}", "\x{FF7E}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{305C}\x{309E}", "\x{305C}\x{309D}".$vs));
+ok($objJa->eq("\x{305B}\x{3099}\x{309E}", "\x{305B}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30BD}\x{30FD}", "\x{FF7F}\x{30FD}"));
+ok($objJa->eq("\x{30BD}\x{30FE}", "\x{30BD}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7F}\x{30FE}", "\x{FF7F}\x{30FD}".$vs));
+ok($objJa->eq("\x{305D}\x{309E}", "\x{305D}\x{309D}".$vs));
+ok($objJa->eq("\x{30BE}\x{30FD}", "\x{30BD}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30BE}\x{30FD}", "\x{FF7F}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{305E}\x{309D}", "\x{305D}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30BE}\x{30FE}", "\x{30BE}\x{30FD}".$vs));
+ok($objJa->eq("\x{30BD}\x{3099}\x{30FE}", "\x{30BD}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF7F}\x{FF9E}\x{30FE}", "\x{FF7F}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{305E}\x{309E}", "\x{305E}\x{309D}".$vs));
+ok($objJa->eq("\x{305D}\x{3099}\x{309E}", "\x{305D}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30BF}\x{30FD}", "\x{FF80}\x{30FD}"));
+ok($objJa->eq("\x{30BF}\x{30FE}", "\x{30BF}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF80}\x{30FE}", "\x{FF80}\x{30FD}".$vs));
+ok($objJa->eq("\x{305F}\x{309E}", "\x{305F}\x{309D}".$vs));
+ok($objJa->eq("\x{30C0}\x{30FD}", "\x{30BF}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30C0}\x{30FD}", "\x{FF80}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3060}\x{309D}", "\x{305F}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30C0}\x{30FE}", "\x{30C0}\x{30FD}".$vs));
+ok($objJa->eq("\x{30BF}\x{3099}\x{30FE}", "\x{30BF}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF80}\x{FF9E}\x{30FE}", "\x{FF80}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3060}\x{309E}", "\x{3060}\x{309D}".$vs));
+ok($objJa->eq("\x{305F}\x{3099}\x{309E}", "\x{305F}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30C1}\x{30FD}", "\x{FF81}\x{30FD}"));
+ok($objJa->eq("\x{30C1}\x{30FE}", "\x{30C1}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF81}\x{30FE}", "\x{FF81}\x{30FD}".$vs));
+ok($objJa->eq("\x{3061}\x{309E}", "\x{3061}\x{309D}".$vs));
+ok($objJa->eq("\x{30C2}\x{30FD}", "\x{30C1}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30C2}\x{30FD}", "\x{FF81}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3062}\x{309D}", "\x{3061}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30C2}\x{30FE}", "\x{30C2}\x{30FD}".$vs));
+ok($objJa->eq("\x{30C1}\x{3099}\x{30FE}", "\x{30C1}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF81}\x{FF9E}\x{30FE}", "\x{FF81}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3062}\x{309E}", "\x{3062}\x{309D}".$vs));
+ok($objJa->eq("\x{3061}\x{3099}\x{309E}", "\x{3061}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30C3}\x{30FD}", "\x{FF6F}\x{30FD}"));
+ok($objJa->eq("\x{30C3}\x{30FE}", "\x{30C3}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF6F}\x{30FE}", "\x{FF6F}\x{30FD}".$vs));
+ok($objJa->eq("\x{3063}\x{309E}", "\x{3063}\x{309D}".$vs));
+ok($objJa->eq("\x{30C4}\x{30FD}", "\x{FF82}\x{30FD}"));
+ok($objJa->eq("\x{30C4}\x{30FE}", "\x{30C4}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF82}\x{30FE}", "\x{FF82}\x{30FD}".$vs));
+ok($objJa->eq("\x{3064}\x{309E}", "\x{3064}\x{309D}".$vs));
+ok($objJa->eq("\x{30C5}\x{30FD}", "\x{30C4}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30C5}\x{30FD}", "\x{FF82}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3065}\x{309D}", "\x{3064}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30C5}\x{30FE}", "\x{30C5}\x{30FD}".$vs));
+ok($objJa->eq("\x{30C4}\x{3099}\x{30FE}", "\x{30C4}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF82}\x{FF9E}\x{30FE}", "\x{FF82}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3065}\x{309E}", "\x{3065}\x{309D}".$vs));
+ok($objJa->eq("\x{3064}\x{3099}\x{309E}", "\x{3064}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30C6}\x{30FD}", "\x{FF83}\x{30FD}"));
+ok($objJa->eq("\x{30C6}\x{30FE}", "\x{30C6}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF83}\x{30FE}", "\x{FF83}\x{30FD}".$vs));
+ok($objJa->eq("\x{3066}\x{309E}", "\x{3066}\x{309D}".$vs));
+ok($objJa->eq("\x{30C7}\x{30FD}", "\x{30C6}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30C7}\x{30FD}", "\x{FF83}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3067}\x{309D}", "\x{3066}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30C7}\x{30FE}", "\x{30C7}\x{30FD}".$vs));
+ok($objJa->eq("\x{30C6}\x{3099}\x{30FE}", "\x{30C6}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF83}\x{FF9E}\x{30FE}", "\x{FF83}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3067}\x{309E}", "\x{3067}\x{309D}".$vs));
+ok($objJa->eq("\x{3066}\x{3099}\x{309E}", "\x{3066}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30C8}\x{30FD}", "\x{FF84}\x{30FD}"));
+ok($objJa->eq("\x{30C8}\x{30FE}", "\x{30C8}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF84}\x{30FE}", "\x{FF84}\x{30FD}".$vs));
+ok($objJa->eq("\x{3068}\x{309E}", "\x{3068}\x{309D}".$vs));
+ok($objJa->eq("\x{30C9}\x{30FD}", "\x{30C8}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30C9}\x{30FD}", "\x{FF84}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3069}\x{309D}", "\x{3068}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30C9}\x{30FE}", "\x{30C9}\x{30FD}".$vs));
+ok($objJa->eq("\x{30C8}\x{3099}\x{30FE}", "\x{30C8}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF84}\x{FF9E}\x{30FE}", "\x{FF84}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3069}\x{309E}", "\x{3069}\x{309D}".$vs));
+ok($objJa->eq("\x{3068}\x{3099}\x{309E}", "\x{3068}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30CA}\x{30FD}", "\x{FF85}\x{30FD}"));
+ok($objJa->eq("\x{30CB}\x{30FD}", "\x{FF86}\x{30FD}"));
+ok($objJa->eq("\x{30CC}\x{30FD}", "\x{FF87}\x{30FD}"));
+ok($objJa->eq("\x{30CD}\x{30FD}", "\x{FF88}\x{30FD}"));
+ok($objJa->eq("\x{30CE}\x{30FD}", "\x{FF89}\x{30FD}"));
+ok($objJa->eq("\x{30CF}\x{30FD}", "\x{FF8A}\x{30FD}"));
+ok($objJa->eq("\x{30CF}\x{30FE}", "\x{30CF}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8A}\x{30FE}", "\x{FF8A}\x{30FD}".$vs));
+ok($objJa->eq("\x{306F}\x{309E}", "\x{306F}\x{309D}".$vs));
+ok($objJa->eq("\x{30D0}\x{30FD}", "\x{30CF}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30D0}\x{30FD}", "\x{FF8A}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3070}\x{309D}", "\x{306F}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30D0}\x{30FE}", "\x{30D0}\x{30FD}".$vs));
+ok($objJa->eq("\x{30CF}\x{3099}\x{30FE}", "\x{30CF}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8A}\x{FF9E}\x{30FE}", "\x{FF8A}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3070}\x{309E}", "\x{3070}\x{309D}".$vs));
+ok($objJa->eq("\x{306F}\x{3099}\x{309E}", "\x{306F}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30D1}\x{30FD}", "\x{30CF}\x{309A}\x{30FD}"));
+ok($objJa->eq("\x{30D1}\x{30FD}", "\x{FF8A}\x{FF9F}\x{30FD}"));
+ok($objJa->eq("\x{3071}\x{309D}", "\x{306F}\x{309A}\x{309D}"));
+ok($objJa->eq("\x{30D1}\x{30FE}", "\x{30D1}\x{30FD}".$vs));
+ok($objJa->eq("\x{30CF}\x{309A}\x{30FE}", "\x{30CF}\x{309A}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8A}\x{FF9F}\x{30FE}", "\x{FF8A}\x{FF9F}\x{30FD}".$vs));
+ok($objJa->eq("\x{3071}\x{309E}", "\x{3071}\x{309D}".$vs));
+ok($objJa->eq("\x{306F}\x{309A}\x{309E}", "\x{306F}\x{309A}\x{309D}".$vs));
+ok($objJa->eq("\x{30D2}\x{30FD}", "\x{FF8B}\x{30FD}"));
+ok($objJa->eq("\x{30D2}\x{30FE}", "\x{30D2}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8B}\x{30FE}", "\x{FF8B}\x{30FD}".$vs));
+ok($objJa->eq("\x{3072}\x{309E}", "\x{3072}\x{309D}".$vs));
+ok($objJa->eq("\x{30D3}\x{30FD}", "\x{30D2}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30D3}\x{30FD}", "\x{FF8B}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3073}\x{309D}", "\x{3072}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30D3}\x{30FE}", "\x{30D3}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D2}\x{3099}\x{30FE}", "\x{30D2}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8B}\x{FF9E}\x{30FE}", "\x{FF8B}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3073}\x{309E}", "\x{3073}\x{309D}".$vs));
+ok($objJa->eq("\x{3072}\x{3099}\x{309E}", "\x{3072}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30D4}\x{30FD}", "\x{30D2}\x{309A}\x{30FD}"));
+ok($objJa->eq("\x{30D4}\x{30FD}", "\x{FF8B}\x{FF9F}\x{30FD}"));
+ok($objJa->eq("\x{3074}\x{309D}", "\x{3072}\x{309A}\x{309D}"));
+ok($objJa->eq("\x{30D4}\x{30FE}", "\x{30D4}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D2}\x{309A}\x{30FE}", "\x{30D2}\x{309A}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8B}\x{FF9F}\x{30FE}", "\x{FF8B}\x{FF9F}\x{30FD}".$vs));
+ok($objJa->eq("\x{3074}\x{309E}", "\x{3074}\x{309D}".$vs));
+ok($objJa->eq("\x{3072}\x{309A}\x{309E}", "\x{3072}\x{309A}\x{309D}".$vs));
+ok($objJa->eq("\x{30D5}\x{30FD}", "\x{FF8C}\x{30FD}"));
+ok($objJa->eq("\x{30D5}\x{30FE}", "\x{30D5}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8C}\x{30FE}", "\x{FF8C}\x{30FD}".$vs));
+ok($objJa->eq("\x{3075}\x{309E}", "\x{3075}\x{309D}".$vs));
+ok($objJa->eq("\x{30D6}\x{30FD}", "\x{30D5}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30D6}\x{30FD}", "\x{FF8C}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3076}\x{309D}", "\x{3075}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30D6}\x{30FE}", "\x{30D6}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D5}\x{3099}\x{30FE}", "\x{30D5}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8C}\x{FF9E}\x{30FE}", "\x{FF8C}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3076}\x{309E}", "\x{3076}\x{309D}".$vs));
+ok($objJa->eq("\x{3075}\x{3099}\x{309E}", "\x{3075}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30D7}\x{30FD}", "\x{30D5}\x{309A}\x{30FD}"));
+ok($objJa->eq("\x{30D7}\x{30FD}", "\x{FF8C}\x{FF9F}\x{30FD}"));
+ok($objJa->eq("\x{3077}\x{309D}", "\x{3075}\x{309A}\x{309D}"));
+ok($objJa->eq("\x{30D7}\x{30FE}", "\x{30D7}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D5}\x{309A}\x{30FE}", "\x{30D5}\x{309A}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8C}\x{FF9F}\x{30FE}", "\x{FF8C}\x{FF9F}\x{30FD}".$vs));
+ok($objJa->eq("\x{3077}\x{309E}", "\x{3077}\x{309D}".$vs));
+ok($objJa->eq("\x{3075}\x{309A}\x{309E}", "\x{3075}\x{309A}\x{309D}".$vs));
+ok($objJa->eq("\x{30D8}\x{30FD}", "\x{FF8D}\x{30FD}"));
+ok($objJa->eq("\x{30D8}\x{30FE}", "\x{30D8}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8D}\x{30FE}", "\x{FF8D}\x{30FD}".$vs));
+ok($objJa->eq("\x{3078}\x{309E}", "\x{3078}\x{309D}".$vs));
+ok($objJa->eq("\x{30D9}\x{30FD}", "\x{30D8}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30D9}\x{30FD}", "\x{FF8D}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3079}\x{309D}", "\x{3078}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30D9}\x{30FE}", "\x{30D9}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D8}\x{3099}\x{30FE}", "\x{30D8}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8D}\x{FF9E}\x{30FE}", "\x{FF8D}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3079}\x{309E}", "\x{3079}\x{309D}".$vs));
+ok($objJa->eq("\x{3078}\x{3099}\x{309E}", "\x{3078}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30DA}\x{30FD}", "\x{30D8}\x{309A}\x{30FD}"));
+ok($objJa->eq("\x{30DA}\x{30FD}", "\x{FF8D}\x{FF9F}\x{30FD}"));
+ok($objJa->eq("\x{307A}\x{309D}", "\x{3078}\x{309A}\x{309D}"));
+ok($objJa->eq("\x{30DA}\x{30FE}", "\x{30DA}\x{30FD}".$vs));
+ok($objJa->eq("\x{30D8}\x{309A}\x{30FE}", "\x{30D8}\x{309A}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8D}\x{FF9F}\x{30FE}", "\x{FF8D}\x{FF9F}\x{30FD}".$vs));
+ok($objJa->eq("\x{307A}\x{309E}", "\x{307A}\x{309D}".$vs));
+ok($objJa->eq("\x{3078}\x{309A}\x{309E}", "\x{3078}\x{309A}\x{309D}".$vs));
+ok($objJa->eq("\x{30DB}\x{30FD}", "\x{FF8E}\x{30FD}"));
+ok($objJa->eq("\x{30DB}\x{30FE}", "\x{30DB}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8E}\x{30FE}", "\x{FF8E}\x{30FD}".$vs));
+ok($objJa->eq("\x{307B}\x{309E}", "\x{307B}\x{309D}".$vs));
+ok($objJa->eq("\x{30DC}\x{30FD}", "\x{30DB}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30DC}\x{30FD}", "\x{FF8E}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{307C}\x{309D}", "\x{307B}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30DC}\x{30FE}", "\x{30DC}\x{30FD}".$vs));
+ok($objJa->eq("\x{30DB}\x{3099}\x{30FE}", "\x{30DB}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8E}\x{FF9E}\x{30FE}", "\x{FF8E}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{307C}\x{309E}", "\x{307C}\x{309D}".$vs));
+ok($objJa->eq("\x{307B}\x{3099}\x{309E}", "\x{307B}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30DD}\x{30FD}", "\x{30DB}\x{309A}\x{30FD}"));
+ok($objJa->eq("\x{30DD}\x{30FD}", "\x{FF8E}\x{FF9F}\x{30FD}"));
+ok($objJa->eq("\x{307D}\x{309D}", "\x{307B}\x{309A}\x{309D}"));
+ok($objJa->eq("\x{30DD}\x{30FE}", "\x{30DD}\x{30FD}".$vs));
+ok($objJa->eq("\x{30DB}\x{309A}\x{30FE}", "\x{30DB}\x{309A}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF8E}\x{FF9F}\x{30FE}", "\x{FF8E}\x{FF9F}\x{30FD}".$vs));
+ok($objJa->eq("\x{307D}\x{309E}", "\x{307D}\x{309D}".$vs));
+ok($objJa->eq("\x{307B}\x{309A}\x{309E}", "\x{307B}\x{309A}\x{309D}".$vs));
+ok($objJa->eq("\x{30DE}\x{30FD}", "\x{FF8F}\x{30FD}"));
+ok($objJa->eq("\x{30DF}\x{30FD}", "\x{FF90}\x{30FD}"));
+ok($objJa->eq("\x{30E0}\x{30FD}", "\x{FF91}\x{30FD}"));
+ok($objJa->eq("\x{30E1}\x{30FD}", "\x{FF92}\x{30FD}"));
+ok($objJa->eq("\x{30E2}\x{30FD}", "\x{FF93}\x{30FD}"));
+ok($objJa->eq("\x{30E3}\x{30FD}", "\x{FF6C}\x{30FD}"));
+ok($objJa->eq("\x{30E4}\x{30FD}", "\x{FF94}\x{30FD}"));
+ok($objJa->eq("\x{30E5}\x{30FD}", "\x{FF6D}\x{30FD}"));
+ok($objJa->eq("\x{30E6}\x{30FD}", "\x{FF95}\x{30FD}"));
+ok($objJa->eq("\x{30E7}\x{30FD}", "\x{FF6E}\x{30FD}"));
+ok($objJa->eq("\x{30E8}\x{30FD}", "\x{FF96}\x{30FD}"));
+ok($objJa->eq("\x{30E9}\x{30FD}", "\x{FF97}\x{30FD}"));
+ok($objJa->eq("\x{30EA}\x{30FD}", "\x{FF98}\x{30FD}"));
+ok($objJa->eq("\x{30EB}\x{30FD}", "\x{FF99}\x{30FD}"));
+ok($objJa->eq("\x{30EC}\x{30FD}", "\x{FF9A}\x{30FD}"));
+ok($objJa->eq("\x{30ED}\x{30FD}", "\x{FF9B}\x{30FD}"));
+ok($objJa->eq("\x{30EE}\x{30FE}", "\x{30EE}\x{30FD}".$vs));
+ok($objJa->eq("\x{308E}\x{309E}", "\x{308E}\x{309D}".$vs));
+ok($objJa->eq("\x{30EF}\x{30FD}", "\x{FF9C}\x{30FD}"));
+ok($objJa->eq("\x{30EF}\x{30FE}", "\x{30EF}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF9C}\x{30FE}", "\x{FF9C}\x{30FD}".$vs));
+ok($objJa->eq("\x{308F}\x{309E}", "\x{308F}\x{309D}".$vs));
+ok($objJa->eq("\x{30F0}\x{30FE}", "\x{30F0}\x{30FD}".$vs));
+ok($objJa->eq("\x{3090}\x{309E}", "\x{3090}\x{309D}".$vs));
+ok($objJa->eq("\x{30F1}\x{30FE}", "\x{30F1}\x{30FD}".$vs));
+ok($objJa->eq("\x{3091}\x{309E}", "\x{3091}\x{309D}".$vs));
+ok($objJa->eq("\x{30F2}\x{30FD}", "\x{FF66}\x{30FD}"));
+ok($objJa->eq("\x{30F2}\x{30FE}", "\x{30F2}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF66}\x{30FE}", "\x{FF66}\x{30FD}".$vs));
+ok($objJa->eq("\x{3092}\x{309E}", "\x{3092}\x{309D}".$vs));
+ok($objJa->eq("\x{30F3}\x{30FD}", "\x{FF9D}\x{30FD}"));
+ok($objJa->eq("\x{30F4}\x{30FD}", "\x{30A6}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30F4}\x{30FD}", "\x{FF73}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{3094}\x{309D}", "\x{3046}\x{3099}\x{309D}"));
+ok($objJa->eq("\x{30F4}\x{30FE}", "\x{30F4}\x{30FD}".$vs));
+ok($objJa->eq("\x{30A6}\x{3099}\x{30FE}", "\x{30A6}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF73}\x{FF9E}\x{30FE}", "\x{FF73}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{3094}\x{309E}", "\x{3094}\x{309D}".$vs));
+ok($objJa->eq("\x{3046}\x{3099}\x{309E}", "\x{3046}\x{3099}\x{309D}".$vs));
+ok($objJa->eq("\x{30F5}\x{30FE}", "\x{30F5}\x{30FD}".$vs));
+ok($objJa->eq("\x{3095}\x{309E}", "\x{3095}\x{309D}".$vs));
+ok($objJa->eq("\x{30F6}\x{30FE}", "\x{30F6}\x{30FD}".$vs));
+ok($objJa->eq("\x{3096}\x{309E}", "\x{3096}\x{309D}".$vs));
+ok($objJa->eq("\x{30F7}\x{30FD}", "\x{30EF}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30F7}\x{30FD}", "\x{FF9C}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{30F7}\x{30FE}", "\x{30F7}\x{30FD}".$vs));
+ok($objJa->eq("\x{30EF}\x{3099}\x{30FE}", "\x{30EF}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF9C}\x{FF9E}\x{30FE}", "\x{FF9C}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{30F8}\x{30FD}", "\x{30F0}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30F8}\x{30FE}", "\x{30F8}\x{30FD}".$vs));
+ok($objJa->eq("\x{30F0}\x{3099}\x{30FE}", "\x{30F0}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{30F9}\x{30FD}", "\x{30F1}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30F9}\x{30FE}", "\x{30F9}\x{30FD}".$vs));
+ok($objJa->eq("\x{30F1}\x{3099}\x{30FE}", "\x{30F1}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{30FA}\x{30FD}", "\x{30F2}\x{3099}\x{30FD}"));
+ok($objJa->eq("\x{30FA}\x{30FD}", "\x{FF66}\x{FF9E}\x{30FD}"));
+ok($objJa->eq("\x{30FA}\x{30FE}", "\x{30FA}\x{30FD}".$vs));
+ok($objJa->eq("\x{30F2}\x{3099}\x{30FE}", "\x{30F2}\x{3099}\x{30FD}".$vs));
+ok($objJa->eq("\x{FF66}\x{FF9E}\x{30FE}", "\x{FF66}\x{FF9E}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F0}\x{30FE}", "\x{31F0}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F1}\x{30FE}", "\x{31F1}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F2}\x{30FE}", "\x{31F2}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F3}\x{30FE}", "\x{31F3}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F5}\x{30FE}", "\x{31F5}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F6}\x{30FE}", "\x{31F6}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F7}\x{30FE}", "\x{31F7}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F8}\x{30FE}", "\x{31F8}\x{30FD}".$vs));
+ok($objJa->eq("\x{31F9}\x{30FE}", "\x{31F9}\x{30FD}".$vs));
+
+# 759
diff --git a/cpan/Unicode-Collate/t/loc_japr.t b/cpan/Unicode-Collate/t/loc_japr.t
new file mode 100644
index 0000000000..7f13e0858c
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_japr.t
@@ -0,0 +1,636 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 602;
+
+my $objJa = Unicode::Collate::Locale->
+ new(locale => 'JA', normalization => undef);
+
+ok(1);
+ok($objJa->getlocale, 'ja');
+
+$objJa->change(level => 2);
+
+ok($objJa->eq("\x{30A1}\x{30FC}", "\x{30A1}\x{30A1}"));
+ok($objJa->eq("\x{30A2}\x{30FC}", "\x{30A2}\x{30A1}"));
+ok($objJa->eq("\x{30AB}\x{30FC}", "\x{30AB}\x{30A1}"));
+ok($objJa->eq("\x{30AC}\x{30FC}", "\x{30AC}\x{30A1}"));
+ok($objJa->eq("\x{30B5}\x{30FC}", "\x{30B5}\x{30A1}"));
+ok($objJa->eq("\x{30B6}\x{30FC}", "\x{30B6}\x{30A1}"));
+ok($objJa->eq("\x{30BF}\x{30FC}", "\x{30BF}\x{30A1}"));
+ok($objJa->eq("\x{30C0}\x{30FC}", "\x{30C0}\x{30A1}"));
+ok($objJa->eq("\x{30CA}\x{30FC}", "\x{30CA}\x{30A1}"));
+ok($objJa->eq("\x{30CF}\x{30FC}", "\x{30CF}\x{30A1}"));
+ok($objJa->eq("\x{30D0}\x{30FC}", "\x{30D0}\x{30A1}"));
+ok($objJa->eq("\x{30D1}\x{30FC}", "\x{30D1}\x{30A1}"));
+ok($objJa->eq("\x{30DE}\x{30FC}", "\x{30DE}\x{30A1}"));
+ok($objJa->eq("\x{30E3}\x{30FC}", "\x{30E3}\x{30A1}"));
+ok($objJa->eq("\x{30E4}\x{30FC}", "\x{30E4}\x{30A1}"));
+ok($objJa->eq("\x{30E9}\x{30FC}", "\x{30E9}\x{30A1}"));
+ok($objJa->eq("\x{30EE}\x{30FC}", "\x{30EE}\x{30A1}"));
+ok($objJa->eq("\x{30EF}\x{30FC}", "\x{30EF}\x{30A1}"));
+ok($objJa->eq("\x{30F7}\x{30FC}", "\x{30F7}\x{30A1}"));
+ok($objJa->eq("\x{30F5}\x{30FC}", "\x{30F5}\x{30A1}"));
+ok($objJa->eq("\x{31F5}\x{30FC}", "\x{31F5}\x{30A1}"));
+ok($objJa->eq("\x{31FB}\x{30FC}", "\x{31FB}\x{30A1}"));
+ok($objJa->eq("\x{30A3}\x{30FC}", "\x{30A3}\x{30A3}"));
+ok($objJa->eq("\x{30A4}\x{30FC}", "\x{30A4}\x{30A3}"));
+ok($objJa->eq("\x{30AD}\x{30FC}", "\x{30AD}\x{30A3}"));
+ok($objJa->eq("\x{30AE}\x{30FC}", "\x{30AE}\x{30A3}"));
+ok($objJa->eq("\x{30B7}\x{30FC}", "\x{30B7}\x{30A3}"));
+ok($objJa->eq("\x{30B8}\x{30FC}", "\x{30B8}\x{30A3}"));
+ok($objJa->eq("\x{30C1}\x{30FC}", "\x{30C1}\x{30A3}"));
+ok($objJa->eq("\x{30C2}\x{30FC}", "\x{30C2}\x{30A3}"));
+ok($objJa->eq("\x{30CB}\x{30FC}", "\x{30CB}\x{30A3}"));
+ok($objJa->eq("\x{30D2}\x{30FC}", "\x{30D2}\x{30A3}"));
+ok($objJa->eq("\x{30D3}\x{30FC}", "\x{30D3}\x{30A3}"));
+ok($objJa->eq("\x{30D4}\x{30FC}", "\x{30D4}\x{30A3}"));
+ok($objJa->eq("\x{30DF}\x{30FC}", "\x{30DF}\x{30A3}"));
+ok($objJa->eq("\x{30EA}\x{30FC}", "\x{30EA}\x{30A3}"));
+ok($objJa->eq("\x{30F0}\x{30FC}", "\x{30F0}\x{30A3}"));
+ok($objJa->eq("\x{30F8}\x{30FC}", "\x{30F8}\x{30A3}"));
+ok($objJa->eq("\x{31F1}\x{30FC}", "\x{31F1}\x{30A3}"));
+ok($objJa->eq("\x{31F6}\x{30FC}", "\x{31F6}\x{30A3}"));
+ok($objJa->eq("\x{31FC}\x{30FC}", "\x{31FC}\x{30A3}"));
+ok($objJa->eq("\x{30A5}\x{30FC}", "\x{30A5}\x{30A5}"));
+ok($objJa->eq("\x{30A6}\x{30FC}", "\x{30A6}\x{30A5}"));
+ok($objJa->eq("\x{30AF}\x{30FC}", "\x{30AF}\x{30A5}"));
+ok($objJa->eq("\x{30B0}\x{30FC}", "\x{30B0}\x{30A5}"));
+ok($objJa->eq("\x{30B9}\x{30FC}", "\x{30B9}\x{30A5}"));
+ok($objJa->eq("\x{30BA}\x{30FC}", "\x{30BA}\x{30A5}"));
+ok($objJa->eq("\x{30C3}\x{30FC}", "\x{30C3}\x{30A5}"));
+ok($objJa->eq("\x{30C4}\x{30FC}", "\x{30C4}\x{30A5}"));
+ok($objJa->eq("\x{30C5}\x{30FC}", "\x{30C5}\x{30A5}"));
+ok($objJa->eq("\x{30CC}\x{30FC}", "\x{30CC}\x{30A5}"));
+ok($objJa->eq("\x{30D5}\x{30FC}", "\x{30D5}\x{30A5}"));
+ok($objJa->eq("\x{30D6}\x{30FC}", "\x{30D6}\x{30A5}"));
+ok($objJa->eq("\x{30D7}\x{30FC}", "\x{30D7}\x{30A5}"));
+ok($objJa->eq("\x{30E0}\x{30FC}", "\x{30E0}\x{30A5}"));
+ok($objJa->eq("\x{30E5}\x{30FC}", "\x{30E5}\x{30A5}"));
+ok($objJa->eq("\x{30E6}\x{30FC}", "\x{30E6}\x{30A5}"));
+ok($objJa->eq("\x{30EB}\x{30FC}", "\x{30EB}\x{30A5}"));
+ok($objJa->eq("\x{30F4}\x{30FC}", "\x{30F4}\x{30A5}"));
+ok($objJa->eq("\x{31F0}\x{30FC}", "\x{31F0}\x{30A5}"));
+ok($objJa->eq("\x{31F2}\x{30FC}", "\x{31F2}\x{30A5}"));
+ok($objJa->eq("\x{31F4}\x{30FC}", "\x{31F4}\x{30A5}"));
+ok($objJa->eq("\x{31F7}\x{30FC}", "\x{31F7}\x{30A5}"));
+ok($objJa->eq("\x{31FA}\x{30FC}", "\x{31FA}\x{30A5}"));
+ok($objJa->eq("\x{31FD}\x{30FC}", "\x{31FD}\x{30A5}"));
+ok($objJa->eq("\x{30A7}\x{30FC}", "\x{30A7}\x{30A7}"));
+ok($objJa->eq("\x{30A8}\x{30FC}", "\x{30A8}\x{30A7}"));
+ok($objJa->eq("\x{30B1}\x{30FC}", "\x{30B1}\x{30A7}"));
+ok($objJa->eq("\x{30B2}\x{30FC}", "\x{30B2}\x{30A7}"));
+ok($objJa->eq("\x{30BB}\x{30FC}", "\x{30BB}\x{30A7}"));
+ok($objJa->eq("\x{30BC}\x{30FC}", "\x{30BC}\x{30A7}"));
+ok($objJa->eq("\x{30C6}\x{30FC}", "\x{30C6}\x{30A7}"));
+ok($objJa->eq("\x{30C7}\x{30FC}", "\x{30C7}\x{30A7}"));
+ok($objJa->eq("\x{30CD}\x{30FC}", "\x{30CD}\x{30A7}"));
+ok($objJa->eq("\x{30D8}\x{30FC}", "\x{30D8}\x{30A7}"));
+ok($objJa->eq("\x{30D9}\x{30FC}", "\x{30D9}\x{30A7}"));
+ok($objJa->eq("\x{30DA}\x{30FC}", "\x{30DA}\x{30A7}"));
+ok($objJa->eq("\x{30E1}\x{30FC}", "\x{30E1}\x{30A7}"));
+ok($objJa->eq("\x{30EC}\x{30FC}", "\x{30EC}\x{30A7}"));
+ok($objJa->eq("\x{30F1}\x{30FC}", "\x{30F1}\x{30A7}"));
+ok($objJa->eq("\x{30F9}\x{30FC}", "\x{30F9}\x{30A7}"));
+ok($objJa->eq("\x{30F6}\x{30FC}", "\x{30F6}\x{30A7}"));
+ok($objJa->eq("\x{31F8}\x{30FC}", "\x{31F8}\x{30A7}"));
+ok($objJa->eq("\x{31FE}\x{30FC}", "\x{31FE}\x{30A7}"));
+ok($objJa->eq("\x{30A9}\x{30FC}", "\x{30A9}\x{30A9}"));
+ok($objJa->eq("\x{30AA}\x{30FC}", "\x{30AA}\x{30A9}"));
+ok($objJa->eq("\x{30B3}\x{30FC}", "\x{30B3}\x{30A9}"));
+ok($objJa->eq("\x{30B4}\x{30FC}", "\x{30B4}\x{30A9}"));
+ok($objJa->eq("\x{30BD}\x{30FC}", "\x{30BD}\x{30A9}"));
+ok($objJa->eq("\x{30BE}\x{30FC}", "\x{30BE}\x{30A9}"));
+ok($objJa->eq("\x{30C8}\x{30FC}", "\x{30C8}\x{30A9}"));
+ok($objJa->eq("\x{30C9}\x{30FC}", "\x{30C9}\x{30A9}"));
+ok($objJa->eq("\x{30CE}\x{30FC}", "\x{30CE}\x{30A9}"));
+ok($objJa->eq("\x{30DB}\x{30FC}", "\x{30DB}\x{30A9}"));
+ok($objJa->eq("\x{30DC}\x{30FC}", "\x{30DC}\x{30A9}"));
+ok($objJa->eq("\x{30DD}\x{30FC}", "\x{30DD}\x{30A9}"));
+ok($objJa->eq("\x{30E2}\x{30FC}", "\x{30E2}\x{30A9}"));
+ok($objJa->eq("\x{30E7}\x{30FC}", "\x{30E7}\x{30A9}"));
+ok($objJa->eq("\x{30E8}\x{30FC}", "\x{30E8}\x{30A9}"));
+ok($objJa->eq("\x{30ED}\x{30FC}", "\x{30ED}\x{30A9}"));
+ok($objJa->eq("\x{30F2}\x{30FC}", "\x{30F2}\x{30A9}"));
+ok($objJa->eq("\x{30FA}\x{30FC}", "\x{30FA}\x{30A9}"));
+ok($objJa->eq("\x{31F3}\x{30FC}", "\x{31F3}\x{30A9}"));
+ok($objJa->eq("\x{31F9}\x{30FC}", "\x{31F9}\x{30A9}"));
+ok($objJa->eq("\x{31FF}\x{30FC}", "\x{31FF}\x{30A9}"));
+
+# 107
+
+$objJa->change(level => 3);
+
+ok($objJa->lt("\x{30A1}\x{30FC}", "\x{30A1}\x{30A1}"));
+ok($objJa->lt("\x{30A2}\x{30FC}", "\x{30A2}\x{30A1}"));
+ok($objJa->lt("\x{30AB}\x{30FC}", "\x{30AB}\x{30A1}"));
+ok($objJa->lt("\x{30AC}\x{30FC}", "\x{30AC}\x{30A1}"));
+ok($objJa->lt("\x{30B5}\x{30FC}", "\x{30B5}\x{30A1}"));
+ok($objJa->lt("\x{30B6}\x{30FC}", "\x{30B6}\x{30A1}"));
+ok($objJa->lt("\x{30BF}\x{30FC}", "\x{30BF}\x{30A1}"));
+ok($objJa->lt("\x{30C0}\x{30FC}", "\x{30C0}\x{30A1}"));
+ok($objJa->lt("\x{30CA}\x{30FC}", "\x{30CA}\x{30A1}"));
+ok($objJa->lt("\x{30CF}\x{30FC}", "\x{30CF}\x{30A1}"));
+ok($objJa->lt("\x{30D0}\x{30FC}", "\x{30D0}\x{30A1}"));
+ok($objJa->lt("\x{30D1}\x{30FC}", "\x{30D1}\x{30A1}"));
+ok($objJa->lt("\x{30DE}\x{30FC}", "\x{30DE}\x{30A1}"));
+ok($objJa->lt("\x{30E3}\x{30FC}", "\x{30E3}\x{30A1}"));
+ok($objJa->lt("\x{30E4}\x{30FC}", "\x{30E4}\x{30A1}"));
+ok($objJa->lt("\x{30E9}\x{30FC}", "\x{30E9}\x{30A1}"));
+ok($objJa->lt("\x{30EE}\x{30FC}", "\x{30EE}\x{30A1}"));
+ok($objJa->lt("\x{30EF}\x{30FC}", "\x{30EF}\x{30A1}"));
+ok($objJa->lt("\x{30F7}\x{30FC}", "\x{30F7}\x{30A1}"));
+ok($objJa->lt("\x{30F5}\x{30FC}", "\x{30F5}\x{30A1}"));
+ok($objJa->lt("\x{31F5}\x{30FC}", "\x{31F5}\x{30A1}"));
+ok($objJa->lt("\x{31FB}\x{30FC}", "\x{31FB}\x{30A1}"));
+ok($objJa->lt("\x{30A3}\x{30FC}", "\x{30A3}\x{30A3}"));
+ok($objJa->lt("\x{30A4}\x{30FC}", "\x{30A4}\x{30A3}"));
+ok($objJa->lt("\x{30AD}\x{30FC}", "\x{30AD}\x{30A3}"));
+ok($objJa->lt("\x{30AE}\x{30FC}", "\x{30AE}\x{30A3}"));
+ok($objJa->lt("\x{30B7}\x{30FC}", "\x{30B7}\x{30A3}"));
+ok($objJa->lt("\x{30B8}\x{30FC}", "\x{30B8}\x{30A3}"));
+ok($objJa->lt("\x{30C1}\x{30FC}", "\x{30C1}\x{30A3}"));
+ok($objJa->lt("\x{30C2}\x{30FC}", "\x{30C2}\x{30A3}"));
+ok($objJa->lt("\x{30CB}\x{30FC}", "\x{30CB}\x{30A3}"));
+ok($objJa->lt("\x{30D2}\x{30FC}", "\x{30D2}\x{30A3}"));
+ok($objJa->lt("\x{30D3}\x{30FC}", "\x{30D3}\x{30A3}"));
+ok($objJa->lt("\x{30D4}\x{30FC}", "\x{30D4}\x{30A3}"));
+ok($objJa->lt("\x{30DF}\x{30FC}", "\x{30DF}\x{30A3}"));
+ok($objJa->lt("\x{30EA}\x{30FC}", "\x{30EA}\x{30A3}"));
+ok($objJa->lt("\x{30F0}\x{30FC}", "\x{30F0}\x{30A3}"));
+ok($objJa->lt("\x{30F8}\x{30FC}", "\x{30F8}\x{30A3}"));
+ok($objJa->lt("\x{31F1}\x{30FC}", "\x{31F1}\x{30A3}"));
+ok($objJa->lt("\x{31F6}\x{30FC}", "\x{31F6}\x{30A3}"));
+ok($objJa->lt("\x{31FC}\x{30FC}", "\x{31FC}\x{30A3}"));
+ok($objJa->lt("\x{30A5}\x{30FC}", "\x{30A5}\x{30A5}"));
+ok($objJa->lt("\x{30A6}\x{30FC}", "\x{30A6}\x{30A5}"));
+ok($objJa->lt("\x{30AF}\x{30FC}", "\x{30AF}\x{30A5}"));
+ok($objJa->lt("\x{30B0}\x{30FC}", "\x{30B0}\x{30A5}"));
+ok($objJa->lt("\x{30B9}\x{30FC}", "\x{30B9}\x{30A5}"));
+ok($objJa->lt("\x{30BA}\x{30FC}", "\x{30BA}\x{30A5}"));
+ok($objJa->lt("\x{30C3}\x{30FC}", "\x{30C3}\x{30A5}"));
+ok($objJa->lt("\x{30C4}\x{30FC}", "\x{30C4}\x{30A5}"));
+ok($objJa->lt("\x{30C5}\x{30FC}", "\x{30C5}\x{30A5}"));
+ok($objJa->lt("\x{30CC}\x{30FC}", "\x{30CC}\x{30A5}"));
+ok($objJa->lt("\x{30D5}\x{30FC}", "\x{30D5}\x{30A5}"));
+ok($objJa->lt("\x{30D6}\x{30FC}", "\x{30D6}\x{30A5}"));
+ok($objJa->lt("\x{30D7}\x{30FC}", "\x{30D7}\x{30A5}"));
+ok($objJa->lt("\x{30E0}\x{30FC}", "\x{30E0}\x{30A5}"));
+ok($objJa->lt("\x{30E5}\x{30FC}", "\x{30E5}\x{30A5}"));
+ok($objJa->lt("\x{30E6}\x{30FC}", "\x{30E6}\x{30A5}"));
+ok($objJa->lt("\x{30EB}\x{30FC}", "\x{30EB}\x{30A5}"));
+ok($objJa->lt("\x{30F4}\x{30FC}", "\x{30F4}\x{30A5}"));
+ok($objJa->lt("\x{31F0}\x{30FC}", "\x{31F0}\x{30A5}"));
+ok($objJa->lt("\x{31F2}\x{30FC}", "\x{31F2}\x{30A5}"));
+ok($objJa->lt("\x{31F4}\x{30FC}", "\x{31F4}\x{30A5}"));
+ok($objJa->lt("\x{31F7}\x{30FC}", "\x{31F7}\x{30A5}"));
+ok($objJa->lt("\x{31FA}\x{30FC}", "\x{31FA}\x{30A5}"));
+ok($objJa->lt("\x{31FD}\x{30FC}", "\x{31FD}\x{30A5}"));
+ok($objJa->lt("\x{30A7}\x{30FC}", "\x{30A7}\x{30A7}"));
+ok($objJa->lt("\x{30A8}\x{30FC}", "\x{30A8}\x{30A7}"));
+ok($objJa->lt("\x{30B1}\x{30FC}", "\x{30B1}\x{30A7}"));
+ok($objJa->lt("\x{30B2}\x{30FC}", "\x{30B2}\x{30A7}"));
+ok($objJa->lt("\x{30BB}\x{30FC}", "\x{30BB}\x{30A7}"));
+ok($objJa->lt("\x{30BC}\x{30FC}", "\x{30BC}\x{30A7}"));
+ok($objJa->lt("\x{30C6}\x{30FC}", "\x{30C6}\x{30A7}"));
+ok($objJa->lt("\x{30C7}\x{30FC}", "\x{30C7}\x{30A7}"));
+ok($objJa->lt("\x{30CD}\x{30FC}", "\x{30CD}\x{30A7}"));
+ok($objJa->lt("\x{30D8}\x{30FC}", "\x{30D8}\x{30A7}"));
+ok($objJa->lt("\x{30D9}\x{30FC}", "\x{30D9}\x{30A7}"));
+ok($objJa->lt("\x{30DA}\x{30FC}", "\x{30DA}\x{30A7}"));
+ok($objJa->lt("\x{30E1}\x{30FC}", "\x{30E1}\x{30A7}"));
+ok($objJa->lt("\x{30EC}\x{30FC}", "\x{30EC}\x{30A7}"));
+ok($objJa->lt("\x{30F1}\x{30FC}", "\x{30F1}\x{30A7}"));
+ok($objJa->lt("\x{30F9}\x{30FC}", "\x{30F9}\x{30A7}"));
+ok($objJa->lt("\x{30F6}\x{30FC}", "\x{30F6}\x{30A7}"));
+ok($objJa->lt("\x{31F8}\x{30FC}", "\x{31F8}\x{30A7}"));
+ok($objJa->lt("\x{31FE}\x{30FC}", "\x{31FE}\x{30A7}"));
+ok($objJa->lt("\x{30A9}\x{30FC}", "\x{30A9}\x{30A9}"));
+ok($objJa->lt("\x{30AA}\x{30FC}", "\x{30AA}\x{30A9}"));
+ok($objJa->lt("\x{30B3}\x{30FC}", "\x{30B3}\x{30A9}"));
+ok($objJa->lt("\x{30B4}\x{30FC}", "\x{30B4}\x{30A9}"));
+ok($objJa->lt("\x{30BD}\x{30FC}", "\x{30BD}\x{30A9}"));
+ok($objJa->lt("\x{30BE}\x{30FC}", "\x{30BE}\x{30A9}"));
+ok($objJa->lt("\x{30C8}\x{30FC}", "\x{30C8}\x{30A9}"));
+ok($objJa->lt("\x{30C9}\x{30FC}", "\x{30C9}\x{30A9}"));
+ok($objJa->lt("\x{30CE}\x{30FC}", "\x{30CE}\x{30A9}"));
+ok($objJa->lt("\x{30DB}\x{30FC}", "\x{30DB}\x{30A9}"));
+ok($objJa->lt("\x{30DC}\x{30FC}", "\x{30DC}\x{30A9}"));
+ok($objJa->lt("\x{30DD}\x{30FC}", "\x{30DD}\x{30A9}"));
+ok($objJa->lt("\x{30E2}\x{30FC}", "\x{30E2}\x{30A9}"));
+ok($objJa->lt("\x{30E7}\x{30FC}", "\x{30E7}\x{30A9}"));
+ok($objJa->lt("\x{30E8}\x{30FC}", "\x{30E8}\x{30A9}"));
+ok($objJa->lt("\x{30ED}\x{30FC}", "\x{30ED}\x{30A9}"));
+ok($objJa->lt("\x{30F2}\x{30FC}", "\x{30F2}\x{30A9}"));
+ok($objJa->lt("\x{30FA}\x{30FC}", "\x{30FA}\x{30A9}"));
+ok($objJa->lt("\x{31F3}\x{30FC}", "\x{31F3}\x{30A9}"));
+ok($objJa->lt("\x{31F9}\x{30FC}", "\x{31F9}\x{30A9}"));
+ok($objJa->lt("\x{31FF}\x{30FC}", "\x{31FF}\x{30A9}"));
+
+# 212
+
+ok($objJa->eq("\x{3041}\x{30FC}", "\x{30A1}\x{30FC}"));
+ok($objJa->eq("\x{3042}\x{30FC}", "\x{30A2}\x{30FC}"));
+ok($objJa->eq("\x{304B}\x{30FC}", "\x{30AB}\x{30FC}"));
+ok($objJa->eq("\x{304C}\x{30FC}", "\x{30AC}\x{30FC}"));
+ok($objJa->eq("\x{3055}\x{30FC}", "\x{30B5}\x{30FC}"));
+ok($objJa->eq("\x{3056}\x{30FC}", "\x{30B6}\x{30FC}"));
+ok($objJa->eq("\x{305F}\x{30FC}", "\x{30BF}\x{30FC}"));
+ok($objJa->eq("\x{3060}\x{30FC}", "\x{30C0}\x{30FC}"));
+ok($objJa->eq("\x{306A}\x{30FC}", "\x{30CA}\x{30FC}"));
+ok($objJa->eq("\x{306F}\x{30FC}", "\x{30CF}\x{30FC}"));
+ok($objJa->eq("\x{3070}\x{30FC}", "\x{30D0}\x{30FC}"));
+ok($objJa->eq("\x{3071}\x{30FC}", "\x{30D1}\x{30FC}"));
+ok($objJa->eq("\x{307E}\x{30FC}", "\x{30DE}\x{30FC}"));
+ok($objJa->eq("\x{3083}\x{30FC}", "\x{30E3}\x{30FC}"));
+ok($objJa->eq("\x{3084}\x{30FC}", "\x{30E4}\x{30FC}"));
+ok($objJa->eq("\x{3089}\x{30FC}", "\x{30E9}\x{30FC}"));
+ok($objJa->eq("\x{308E}\x{30FC}", "\x{30EE}\x{30FC}"));
+ok($objJa->eq("\x{308F}\x{30FC}", "\x{30EF}\x{30FC}"));
+ok($objJa->eq("\x{3095}\x{30FC}", "\x{30F5}\x{30FC}"));
+ok($objJa->eq("\x{3043}\x{30FC}", "\x{30A3}\x{30FC}"));
+ok($objJa->eq("\x{3044}\x{30FC}", "\x{30A4}\x{30FC}"));
+ok($objJa->eq("\x{304D}\x{30FC}", "\x{30AD}\x{30FC}"));
+ok($objJa->eq("\x{304E}\x{30FC}", "\x{30AE}\x{30FC}"));
+ok($objJa->eq("\x{3057}\x{30FC}", "\x{30B7}\x{30FC}"));
+ok($objJa->eq("\x{3058}\x{30FC}", "\x{30B8}\x{30FC}"));
+ok($objJa->eq("\x{3061}\x{30FC}", "\x{30C1}\x{30FC}"));
+ok($objJa->eq("\x{3062}\x{30FC}", "\x{30C2}\x{30FC}"));
+ok($objJa->eq("\x{306B}\x{30FC}", "\x{30CB}\x{30FC}"));
+ok($objJa->eq("\x{3072}\x{30FC}", "\x{30D2}\x{30FC}"));
+ok($objJa->eq("\x{3073}\x{30FC}", "\x{30D3}\x{30FC}"));
+ok($objJa->eq("\x{3074}\x{30FC}", "\x{30D4}\x{30FC}"));
+ok($objJa->eq("\x{307F}\x{30FC}", "\x{30DF}\x{30FC}"));
+ok($objJa->eq("\x{308A}\x{30FC}", "\x{30EA}\x{30FC}"));
+ok($objJa->eq("\x{3090}\x{30FC}", "\x{30F0}\x{30FC}"));
+ok($objJa->eq("\x{3045}\x{30FC}", "\x{30A5}\x{30FC}"));
+ok($objJa->eq("\x{3046}\x{30FC}", "\x{30A6}\x{30FC}"));
+ok($objJa->eq("\x{304F}\x{30FC}", "\x{30AF}\x{30FC}"));
+ok($objJa->eq("\x{3050}\x{30FC}", "\x{30B0}\x{30FC}"));
+ok($objJa->eq("\x{3059}\x{30FC}", "\x{30B9}\x{30FC}"));
+ok($objJa->eq("\x{305A}\x{30FC}", "\x{30BA}\x{30FC}"));
+ok($objJa->eq("\x{3063}\x{30FC}", "\x{30C3}\x{30FC}"));
+ok($objJa->eq("\x{3064}\x{30FC}", "\x{30C4}\x{30FC}"));
+ok($objJa->eq("\x{3065}\x{30FC}", "\x{30C5}\x{30FC}"));
+ok($objJa->eq("\x{306C}\x{30FC}", "\x{30CC}\x{30FC}"));
+ok($objJa->eq("\x{3075}\x{30FC}", "\x{30D5}\x{30FC}"));
+ok($objJa->eq("\x{3076}\x{30FC}", "\x{30D6}\x{30FC}"));
+ok($objJa->eq("\x{3077}\x{30FC}", "\x{30D7}\x{30FC}"));
+ok($objJa->eq("\x{3080}\x{30FC}", "\x{30E0}\x{30FC}"));
+ok($objJa->eq("\x{3085}\x{30FC}", "\x{30E5}\x{30FC}"));
+ok($objJa->eq("\x{3086}\x{30FC}", "\x{30E6}\x{30FC}"));
+ok($objJa->eq("\x{308B}\x{30FC}", "\x{30EB}\x{30FC}"));
+ok($objJa->eq("\x{3094}\x{30FC}", "\x{30F4}\x{30FC}"));
+ok($objJa->eq("\x{3047}\x{30FC}", "\x{30A7}\x{30FC}"));
+ok($objJa->eq("\x{3048}\x{30FC}", "\x{30A8}\x{30FC}"));
+ok($objJa->eq("\x{3051}\x{30FC}", "\x{30B1}\x{30FC}"));
+ok($objJa->eq("\x{3052}\x{30FC}", "\x{30B2}\x{30FC}"));
+ok($objJa->eq("\x{305B}\x{30FC}", "\x{30BB}\x{30FC}"));
+ok($objJa->eq("\x{305C}\x{30FC}", "\x{30BC}\x{30FC}"));
+ok($objJa->eq("\x{3066}\x{30FC}", "\x{30C6}\x{30FC}"));
+ok($objJa->eq("\x{3067}\x{30FC}", "\x{30C7}\x{30FC}"));
+ok($objJa->eq("\x{306D}\x{30FC}", "\x{30CD}\x{30FC}"));
+ok($objJa->eq("\x{3078}\x{30FC}", "\x{30D8}\x{30FC}"));
+ok($objJa->eq("\x{3079}\x{30FC}", "\x{30D9}\x{30FC}"));
+ok($objJa->eq("\x{307A}\x{30FC}", "\x{30DA}\x{30FC}"));
+ok($objJa->eq("\x{3081}\x{30FC}", "\x{30E1}\x{30FC}"));
+ok($objJa->eq("\x{308C}\x{30FC}", "\x{30EC}\x{30FC}"));
+ok($objJa->eq("\x{3091}\x{30FC}", "\x{30F1}\x{30FC}"));
+ok($objJa->eq("\x{3096}\x{30FC}", "\x{30F6}\x{30FC}"));
+ok($objJa->eq("\x{3049}\x{30FC}", "\x{30A9}\x{30FC}"));
+ok($objJa->eq("\x{304A}\x{30FC}", "\x{30AA}\x{30FC}"));
+ok($objJa->eq("\x{3053}\x{30FC}", "\x{30B3}\x{30FC}"));
+ok($objJa->eq("\x{3054}\x{30FC}", "\x{30B4}\x{30FC}"));
+ok($objJa->eq("\x{305D}\x{30FC}", "\x{30BD}\x{30FC}"));
+ok($objJa->eq("\x{305E}\x{30FC}", "\x{30BE}\x{30FC}"));
+ok($objJa->eq("\x{3068}\x{30FC}", "\x{30C8}\x{30FC}"));
+ok($objJa->eq("\x{3069}\x{30FC}", "\x{30C9}\x{30FC}"));
+ok($objJa->eq("\x{306E}\x{30FC}", "\x{30CE}\x{30FC}"));
+ok($objJa->eq("\x{307B}\x{30FC}", "\x{30DB}\x{30FC}"));
+ok($objJa->eq("\x{307C}\x{30FC}", "\x{30DC}\x{30FC}"));
+ok($objJa->eq("\x{307D}\x{30FC}", "\x{30DD}\x{30FC}"));
+ok($objJa->eq("\x{3082}\x{30FC}", "\x{30E2}\x{30FC}"));
+ok($objJa->eq("\x{3087}\x{30FC}", "\x{30E7}\x{30FC}"));
+ok($objJa->eq("\x{3088}\x{30FC}", "\x{30E8}\x{30FC}"));
+ok($objJa->eq("\x{308D}\x{30FC}", "\x{30ED}\x{30FC}"));
+ok($objJa->eq("\x{3092}\x{30FC}", "\x{30F2}\x{30FC}"));
+
+# 297
+
+$objJa->change(level => 4);
+
+$objJa->change(variable => 'Non-ignorable');
+
+ok($objJa->lt("\x{3041}\x{30FC}", "\x{30A1}\x{30FC}"));
+ok($objJa->lt("\x{3042}\x{30FC}", "\x{30A2}\x{30FC}"));
+ok($objJa->lt("\x{304B}\x{30FC}", "\x{30AB}\x{30FC}"));
+ok($objJa->lt("\x{304C}\x{30FC}", "\x{30AC}\x{30FC}"));
+ok($objJa->lt("\x{3055}\x{30FC}", "\x{30B5}\x{30FC}"));
+ok($objJa->lt("\x{3056}\x{30FC}", "\x{30B6}\x{30FC}"));
+ok($objJa->lt("\x{305F}\x{30FC}", "\x{30BF}\x{30FC}"));
+ok($objJa->lt("\x{3060}\x{30FC}", "\x{30C0}\x{30FC}"));
+ok($objJa->lt("\x{306A}\x{30FC}", "\x{30CA}\x{30FC}"));
+ok($objJa->lt("\x{306F}\x{30FC}", "\x{30CF}\x{30FC}"));
+ok($objJa->lt("\x{3070}\x{30FC}", "\x{30D0}\x{30FC}"));
+ok($objJa->lt("\x{3071}\x{30FC}", "\x{30D1}\x{30FC}"));
+ok($objJa->lt("\x{307E}\x{30FC}", "\x{30DE}\x{30FC}"));
+ok($objJa->lt("\x{3083}\x{30FC}", "\x{30E3}\x{30FC}"));
+ok($objJa->lt("\x{3084}\x{30FC}", "\x{30E4}\x{30FC}"));
+ok($objJa->lt("\x{3089}\x{30FC}", "\x{30E9}\x{30FC}"));
+ok($objJa->lt("\x{308E}\x{30FC}", "\x{30EE}\x{30FC}"));
+ok($objJa->lt("\x{308F}\x{30FC}", "\x{30EF}\x{30FC}"));
+ok($objJa->lt("\x{3095}\x{30FC}", "\x{30F5}\x{30FC}"));
+ok($objJa->lt("\x{3043}\x{30FC}", "\x{30A3}\x{30FC}"));
+ok($objJa->lt("\x{3044}\x{30FC}", "\x{30A4}\x{30FC}"));
+ok($objJa->lt("\x{304D}\x{30FC}", "\x{30AD}\x{30FC}"));
+ok($objJa->lt("\x{304E}\x{30FC}", "\x{30AE}\x{30FC}"));
+ok($objJa->lt("\x{3057}\x{30FC}", "\x{30B7}\x{30FC}"));
+ok($objJa->lt("\x{3058}\x{30FC}", "\x{30B8}\x{30FC}"));
+ok($objJa->lt("\x{3061}\x{30FC}", "\x{30C1}\x{30FC}"));
+ok($objJa->lt("\x{3062}\x{30FC}", "\x{30C2}\x{30FC}"));
+ok($objJa->lt("\x{306B}\x{30FC}", "\x{30CB}\x{30FC}"));
+ok($objJa->lt("\x{3072}\x{30FC}", "\x{30D2}\x{30FC}"));
+ok($objJa->lt("\x{3073}\x{30FC}", "\x{30D3}\x{30FC}"));
+ok($objJa->lt("\x{3074}\x{30FC}", "\x{30D4}\x{30FC}"));
+ok($objJa->lt("\x{307F}\x{30FC}", "\x{30DF}\x{30FC}"));
+ok($objJa->lt("\x{308A}\x{30FC}", "\x{30EA}\x{30FC}"));
+ok($objJa->lt("\x{3090}\x{30FC}", "\x{30F0}\x{30FC}"));
+ok($objJa->lt("\x{3045}\x{30FC}", "\x{30A5}\x{30FC}"));
+ok($objJa->lt("\x{3046}\x{30FC}", "\x{30A6}\x{30FC}"));
+ok($objJa->lt("\x{304F}\x{30FC}", "\x{30AF}\x{30FC}"));
+ok($objJa->lt("\x{3050}\x{30FC}", "\x{30B0}\x{30FC}"));
+ok($objJa->lt("\x{3059}\x{30FC}", "\x{30B9}\x{30FC}"));
+ok($objJa->lt("\x{305A}\x{30FC}", "\x{30BA}\x{30FC}"));
+ok($objJa->lt("\x{3063}\x{30FC}", "\x{30C3}\x{30FC}"));
+ok($objJa->lt("\x{3064}\x{30FC}", "\x{30C4}\x{30FC}"));
+ok($objJa->lt("\x{3065}\x{30FC}", "\x{30C5}\x{30FC}"));
+ok($objJa->lt("\x{306C}\x{30FC}", "\x{30CC}\x{30FC}"));
+ok($objJa->lt("\x{3075}\x{30FC}", "\x{30D5}\x{30FC}"));
+ok($objJa->lt("\x{3076}\x{30FC}", "\x{30D6}\x{30FC}"));
+ok($objJa->lt("\x{3077}\x{30FC}", "\x{30D7}\x{30FC}"));
+ok($objJa->lt("\x{3080}\x{30FC}", "\x{30E0}\x{30FC}"));
+ok($objJa->lt("\x{3085}\x{30FC}", "\x{30E5}\x{30FC}"));
+ok($objJa->lt("\x{3086}\x{30FC}", "\x{30E6}\x{30FC}"));
+ok($objJa->lt("\x{308B}\x{30FC}", "\x{30EB}\x{30FC}"));
+ok($objJa->lt("\x{3094}\x{30FC}", "\x{30F4}\x{30FC}"));
+ok($objJa->lt("\x{3047}\x{30FC}", "\x{30A7}\x{30FC}"));
+ok($objJa->lt("\x{3048}\x{30FC}", "\x{30A8}\x{30FC}"));
+ok($objJa->lt("\x{3051}\x{30FC}", "\x{30B1}\x{30FC}"));
+ok($objJa->lt("\x{3052}\x{30FC}", "\x{30B2}\x{30FC}"));
+ok($objJa->lt("\x{305B}\x{30FC}", "\x{30BB}\x{30FC}"));
+ok($objJa->lt("\x{305C}\x{30FC}", "\x{30BC}\x{30FC}"));
+ok($objJa->lt("\x{3066}\x{30FC}", "\x{30C6}\x{30FC}"));
+ok($objJa->lt("\x{3067}\x{30FC}", "\x{30C7}\x{30FC}"));
+ok($objJa->lt("\x{306D}\x{30FC}", "\x{30CD}\x{30FC}"));
+ok($objJa->lt("\x{3078}\x{30FC}", "\x{30D8}\x{30FC}"));
+ok($objJa->lt("\x{3079}\x{30FC}", "\x{30D9}\x{30FC}"));
+ok($objJa->lt("\x{307A}\x{30FC}", "\x{30DA}\x{30FC}"));
+ok($objJa->lt("\x{3081}\x{30FC}", "\x{30E1}\x{30FC}"));
+ok($objJa->lt("\x{308C}\x{30FC}", "\x{30EC}\x{30FC}"));
+ok($objJa->lt("\x{3091}\x{30FC}", "\x{30F1}\x{30FC}"));
+ok($objJa->lt("\x{3096}\x{30FC}", "\x{30F6}\x{30FC}"));
+ok($objJa->lt("\x{3049}\x{30FC}", "\x{30A9}\x{30FC}"));
+ok($objJa->lt("\x{304A}\x{30FC}", "\x{30AA}\x{30FC}"));
+ok($objJa->lt("\x{3053}\x{30FC}", "\x{30B3}\x{30FC}"));
+ok($objJa->lt("\x{3054}\x{30FC}", "\x{30B4}\x{30FC}"));
+ok($objJa->lt("\x{305D}\x{30FC}", "\x{30BD}\x{30FC}"));
+ok($objJa->lt("\x{305E}\x{30FC}", "\x{30BE}\x{30FC}"));
+ok($objJa->lt("\x{3068}\x{30FC}", "\x{30C8}\x{30FC}"));
+ok($objJa->lt("\x{3069}\x{30FC}", "\x{30C9}\x{30FC}"));
+ok($objJa->lt("\x{306E}\x{30FC}", "\x{30CE}\x{30FC}"));
+ok($objJa->lt("\x{307B}\x{30FC}", "\x{30DB}\x{30FC}"));
+ok($objJa->lt("\x{307C}\x{30FC}", "\x{30DC}\x{30FC}"));
+ok($objJa->lt("\x{307D}\x{30FC}", "\x{30DD}\x{30FC}"));
+ok($objJa->lt("\x{3082}\x{30FC}", "\x{30E2}\x{30FC}"));
+ok($objJa->lt("\x{3087}\x{30FC}", "\x{30E7}\x{30FC}"));
+ok($objJa->lt("\x{3088}\x{30FC}", "\x{30E8}\x{30FC}"));
+ok($objJa->lt("\x{308D}\x{30FC}", "\x{30ED}\x{30FC}"));
+ok($objJa->lt("\x{3092}\x{30FC}", "\x{30F2}\x{30FC}"));
+
+# 382
+
+ok($objJa->eq("\x{30A1}\x{30FC}", "\x{FF67}\x{30FC}"));
+ok($objJa->eq("\x{30A1}\x{30FC}", "\x{FF67}\x{FF70}"));
+ok($objJa->eq("\x{30A2}\x{30FC}", "\x{FF71}\x{30FC}"));
+ok($objJa->eq("\x{30A2}\x{30FC}", "\x{FF71}\x{FF70}"));
+ok($objJa->eq("\x{30AB}\x{30FC}", "\x{FF76}\x{30FC}"));
+ok($objJa->eq("\x{30AB}\x{30FC}", "\x{FF76}\x{FF70}"));
+ok($objJa->eq("\x{30AC}\x{30FC}", "\x{30AB}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30AC}\x{30FC}", "\x{FF76}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30AC}\x{30FC}", "\x{FF76}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{304C}\x{30FC}", "\x{304B}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B5}\x{30FC}", "\x{FF7B}\x{30FC}"));
+ok($objJa->eq("\x{30B5}\x{30FC}", "\x{FF7B}\x{FF70}"));
+ok($objJa->eq("\x{30B6}\x{30FC}", "\x{30B5}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B6}\x{30FC}", "\x{FF7B}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30B6}\x{30FC}", "\x{FF7B}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3056}\x{30FC}", "\x{3055}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BF}\x{30FC}", "\x{FF80}\x{30FC}"));
+ok($objJa->eq("\x{30BF}\x{30FC}", "\x{FF80}\x{FF70}"));
+ok($objJa->eq("\x{30C0}\x{30FC}", "\x{30BF}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C0}\x{30FC}", "\x{FF80}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30C0}\x{30FC}", "\x{FF80}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3060}\x{30FC}", "\x{305F}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30CA}\x{30FC}", "\x{FF85}\x{30FC}"));
+ok($objJa->eq("\x{30CA}\x{30FC}", "\x{FF85}\x{FF70}"));
+ok($objJa->eq("\x{30CF}\x{30FC}", "\x{FF8A}\x{30FC}"));
+ok($objJa->eq("\x{30CF}\x{30FC}", "\x{FF8A}\x{FF70}"));
+ok($objJa->eq("\x{30D0}\x{30FC}", "\x{30CF}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D0}\x{30FC}", "\x{FF8A}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30D0}\x{30FC}", "\x{FF8A}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3070}\x{30FC}", "\x{306F}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D1}\x{30FC}", "\x{30CF}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30D1}\x{30FC}", "\x{FF8A}\x{FF9F}\x{30FC}"));
+ok($objJa->eq("\x{30D1}\x{30FC}", "\x{FF8A}\x{FF9F}\x{FF70}"));
+ok($objJa->eq("\x{3071}\x{30FC}", "\x{306F}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30DE}\x{30FC}", "\x{FF8F}\x{30FC}"));
+ok($objJa->eq("\x{30DE}\x{30FC}", "\x{FF8F}\x{FF70}"));
+ok($objJa->eq("\x{30E3}\x{30FC}", "\x{FF6C}\x{30FC}"));
+ok($objJa->eq("\x{30E3}\x{30FC}", "\x{FF6C}\x{FF70}"));
+ok($objJa->eq("\x{30E4}\x{30FC}", "\x{FF94}\x{30FC}"));
+ok($objJa->eq("\x{30E4}\x{30FC}", "\x{FF94}\x{FF70}"));
+ok($objJa->eq("\x{30E9}\x{30FC}", "\x{FF97}\x{30FC}"));
+ok($objJa->eq("\x{30E9}\x{30FC}", "\x{FF97}\x{FF70}"));
+ok($objJa->eq("\x{30EF}\x{30FC}", "\x{FF9C}\x{30FC}"));
+ok($objJa->eq("\x{30EF}\x{30FC}", "\x{FF9C}\x{FF70}"));
+ok($objJa->eq("\x{30F7}\x{30FC}", "\x{30EF}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30F7}\x{30FC}", "\x{FF9C}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30F7}\x{30FC}", "\x{FF9C}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{30A3}\x{30FC}", "\x{FF68}\x{30FC}"));
+ok($objJa->eq("\x{30A3}\x{30FC}", "\x{FF68}\x{FF70}"));
+ok($objJa->eq("\x{30A4}\x{30FC}", "\x{FF72}\x{30FC}"));
+ok($objJa->eq("\x{30A4}\x{30FC}", "\x{FF72}\x{FF70}"));
+ok($objJa->eq("\x{30AD}\x{30FC}", "\x{FF77}\x{30FC}"));
+ok($objJa->eq("\x{30AD}\x{30FC}", "\x{FF77}\x{FF70}"));
+ok($objJa->eq("\x{30AE}\x{30FC}", "\x{30AD}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30AE}\x{30FC}", "\x{FF77}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30AE}\x{30FC}", "\x{FF77}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{304E}\x{30FC}", "\x{304D}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B7}\x{30FC}", "\x{FF7C}\x{30FC}"));
+ok($objJa->eq("\x{30B7}\x{30FC}", "\x{FF7C}\x{FF70}"));
+ok($objJa->eq("\x{30B8}\x{30FC}", "\x{30B7}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B8}\x{30FC}", "\x{FF7C}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30B8}\x{30FC}", "\x{FF7C}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3058}\x{30FC}", "\x{3057}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C1}\x{30FC}", "\x{FF81}\x{30FC}"));
+ok($objJa->eq("\x{30C1}\x{30FC}", "\x{FF81}\x{FF70}"));
+ok($objJa->eq("\x{30C2}\x{30FC}", "\x{30C1}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C2}\x{30FC}", "\x{FF81}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30C2}\x{30FC}", "\x{FF81}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3062}\x{30FC}", "\x{3061}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30CB}\x{30FC}", "\x{FF86}\x{30FC}"));
+ok($objJa->eq("\x{30CB}\x{30FC}", "\x{FF86}\x{FF70}"));
+ok($objJa->eq("\x{30D2}\x{30FC}", "\x{FF8B}\x{30FC}"));
+ok($objJa->eq("\x{30D2}\x{30FC}", "\x{FF8B}\x{FF70}"));
+ok($objJa->eq("\x{30D3}\x{30FC}", "\x{30D2}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D3}\x{30FC}", "\x{FF8B}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30D3}\x{30FC}", "\x{FF8B}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3073}\x{30FC}", "\x{3072}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D4}\x{30FC}", "\x{30D2}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30D4}\x{30FC}", "\x{FF8B}\x{FF9F}\x{30FC}"));
+ok($objJa->eq("\x{30D4}\x{30FC}", "\x{FF8B}\x{FF9F}\x{FF70}"));
+ok($objJa->eq("\x{3074}\x{30FC}", "\x{3072}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30DF}\x{30FC}", "\x{FF90}\x{30FC}"));
+ok($objJa->eq("\x{30DF}\x{30FC}", "\x{FF90}\x{FF70}"));
+ok($objJa->eq("\x{30EA}\x{30FC}", "\x{FF98}\x{30FC}"));
+ok($objJa->eq("\x{30EA}\x{30FC}", "\x{FF98}\x{FF70}"));
+ok($objJa->eq("\x{30F8}\x{30FC}", "\x{30F0}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30A5}\x{30FC}", "\x{FF69}\x{30FC}"));
+ok($objJa->eq("\x{30A5}\x{30FC}", "\x{FF69}\x{FF70}"));
+ok($objJa->eq("\x{30A6}\x{30FC}", "\x{FF73}\x{30FC}"));
+ok($objJa->eq("\x{30A6}\x{30FC}", "\x{FF73}\x{FF70}"));
+ok($objJa->eq("\x{30AF}\x{30FC}", "\x{FF78}\x{30FC}"));
+ok($objJa->eq("\x{30AF}\x{30FC}", "\x{FF78}\x{FF70}"));
+ok($objJa->eq("\x{30B0}\x{30FC}", "\x{30AF}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B0}\x{30FC}", "\x{FF78}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30B0}\x{30FC}", "\x{FF78}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3050}\x{30FC}", "\x{304F}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B9}\x{30FC}", "\x{FF7D}\x{30FC}"));
+ok($objJa->eq("\x{30B9}\x{30FC}", "\x{FF7D}\x{FF70}"));
+ok($objJa->eq("\x{30BA}\x{30FC}", "\x{30B9}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BA}\x{30FC}", "\x{FF7D}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30BA}\x{30FC}", "\x{FF7D}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{305A}\x{30FC}", "\x{3059}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C3}\x{30FC}", "\x{FF6F}\x{30FC}"));
+ok($objJa->eq("\x{30C3}\x{30FC}", "\x{FF6F}\x{FF70}"));
+ok($objJa->eq("\x{30C4}\x{30FC}", "\x{FF82}\x{30FC}"));
+ok($objJa->eq("\x{30C4}\x{30FC}", "\x{FF82}\x{FF70}"));
+ok($objJa->eq("\x{30C5}\x{30FC}", "\x{30C4}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C5}\x{30FC}", "\x{FF82}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30C5}\x{30FC}", "\x{FF82}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3065}\x{30FC}", "\x{3064}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30CC}\x{30FC}", "\x{FF87}\x{30FC}"));
+ok($objJa->eq("\x{30CC}\x{30FC}", "\x{FF87}\x{FF70}"));
+ok($objJa->eq("\x{30D5}\x{30FC}", "\x{FF8C}\x{30FC}"));
+ok($objJa->eq("\x{30D5}\x{30FC}", "\x{FF8C}\x{FF70}"));
+ok($objJa->eq("\x{30D6}\x{30FC}", "\x{30D5}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D6}\x{30FC}", "\x{FF8C}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30D6}\x{30FC}", "\x{FF8C}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3076}\x{30FC}", "\x{3075}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D7}\x{30FC}", "\x{30D5}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30D7}\x{30FC}", "\x{FF8C}\x{FF9F}\x{30FC}"));
+ok($objJa->eq("\x{30D7}\x{30FC}", "\x{FF8C}\x{FF9F}\x{FF70}"));
+ok($objJa->eq("\x{3077}\x{30FC}", "\x{3075}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30E0}\x{30FC}", "\x{FF91}\x{30FC}"));
+ok($objJa->eq("\x{30E0}\x{30FC}", "\x{FF91}\x{FF70}"));
+ok($objJa->eq("\x{30E5}\x{30FC}", "\x{FF6D}\x{30FC}"));
+ok($objJa->eq("\x{30E5}\x{30FC}", "\x{FF6D}\x{FF70}"));
+ok($objJa->eq("\x{30E6}\x{30FC}", "\x{FF95}\x{30FC}"));
+ok($objJa->eq("\x{30E6}\x{30FC}", "\x{FF95}\x{FF70}"));
+ok($objJa->eq("\x{30EB}\x{30FC}", "\x{FF99}\x{30FC}"));
+ok($objJa->eq("\x{30EB}\x{30FC}", "\x{FF99}\x{FF70}"));
+ok($objJa->eq("\x{30F4}\x{30FC}", "\x{30A6}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30F4}\x{30FC}", "\x{FF73}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30F4}\x{30FC}", "\x{FF73}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3094}\x{30FC}", "\x{3046}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30A7}\x{30FC}", "\x{FF6A}\x{30FC}"));
+ok($objJa->eq("\x{30A7}\x{30FC}", "\x{FF6A}\x{FF70}"));
+ok($objJa->eq("\x{30A8}\x{30FC}", "\x{FF74}\x{30FC}"));
+ok($objJa->eq("\x{30A8}\x{30FC}", "\x{FF74}\x{FF70}"));
+ok($objJa->eq("\x{30B1}\x{30FC}", "\x{FF79}\x{30FC}"));
+ok($objJa->eq("\x{30B1}\x{30FC}", "\x{FF79}\x{FF70}"));
+ok($objJa->eq("\x{30B2}\x{30FC}", "\x{30B1}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B2}\x{30FC}", "\x{FF79}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30B2}\x{30FC}", "\x{FF79}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3052}\x{30FC}", "\x{3051}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BB}\x{30FC}", "\x{FF7E}\x{30FC}"));
+ok($objJa->eq("\x{30BB}\x{30FC}", "\x{FF7E}\x{FF70}"));
+ok($objJa->eq("\x{30BC}\x{30FC}", "\x{30BB}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BC}\x{30FC}", "\x{FF7E}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30BC}\x{30FC}", "\x{FF7E}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{305C}\x{30FC}", "\x{305B}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C6}\x{30FC}", "\x{FF83}\x{30FC}"));
+ok($objJa->eq("\x{30C6}\x{30FC}", "\x{FF83}\x{FF70}"));
+ok($objJa->eq("\x{30C7}\x{30FC}", "\x{30C6}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C7}\x{30FC}", "\x{FF83}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30C7}\x{30FC}", "\x{FF83}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3067}\x{30FC}", "\x{3066}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30CD}\x{30FC}", "\x{FF88}\x{30FC}"));
+ok($objJa->eq("\x{30CD}\x{30FC}", "\x{FF88}\x{FF70}"));
+ok($objJa->eq("\x{30D8}\x{30FC}", "\x{FF8D}\x{30FC}"));
+ok($objJa->eq("\x{30D8}\x{30FC}", "\x{FF8D}\x{FF70}"));
+ok($objJa->eq("\x{30D9}\x{30FC}", "\x{30D8}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30D9}\x{30FC}", "\x{FF8D}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30D9}\x{30FC}", "\x{FF8D}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3079}\x{30FC}", "\x{3078}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30DA}\x{30FC}", "\x{30D8}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30DA}\x{30FC}", "\x{FF8D}\x{FF9F}\x{30FC}"));
+ok($objJa->eq("\x{30DA}\x{30FC}", "\x{FF8D}\x{FF9F}\x{FF70}"));
+ok($objJa->eq("\x{307A}\x{30FC}", "\x{3078}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30E1}\x{30FC}", "\x{FF92}\x{30FC}"));
+ok($objJa->eq("\x{30E1}\x{30FC}", "\x{FF92}\x{FF70}"));
+ok($objJa->eq("\x{30EC}\x{30FC}", "\x{FF9A}\x{30FC}"));
+ok($objJa->eq("\x{30EC}\x{30FC}", "\x{FF9A}\x{FF70}"));
+ok($objJa->eq("\x{30F9}\x{30FC}", "\x{30F1}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30A9}\x{30FC}", "\x{FF6B}\x{30FC}"));
+ok($objJa->eq("\x{30A9}\x{30FC}", "\x{FF6B}\x{FF70}"));
+ok($objJa->eq("\x{30AA}\x{30FC}", "\x{FF75}\x{30FC}"));
+ok($objJa->eq("\x{30AA}\x{30FC}", "\x{FF75}\x{FF70}"));
+ok($objJa->eq("\x{30B3}\x{30FC}", "\x{FF7A}\x{30FC}"));
+ok($objJa->eq("\x{30B3}\x{30FC}", "\x{FF7A}\x{FF70}"));
+ok($objJa->eq("\x{30B4}\x{30FC}", "\x{30B3}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30B4}\x{30FC}", "\x{FF7A}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30B4}\x{30FC}", "\x{FF7A}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3054}\x{30FC}", "\x{3053}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BD}\x{30FC}", "\x{FF7F}\x{30FC}"));
+ok($objJa->eq("\x{30BD}\x{30FC}", "\x{FF7F}\x{FF70}"));
+ok($objJa->eq("\x{30BE}\x{30FC}", "\x{30BD}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30BE}\x{30FC}", "\x{FF7F}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30BE}\x{30FC}", "\x{FF7F}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{305E}\x{30FC}", "\x{305D}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C8}\x{30FC}", "\x{FF84}\x{30FC}"));
+ok($objJa->eq("\x{30C8}\x{30FC}", "\x{FF84}\x{FF70}"));
+ok($objJa->eq("\x{30C9}\x{30FC}", "\x{30C8}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30C9}\x{30FC}", "\x{FF84}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30C9}\x{30FC}", "\x{FF84}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{3069}\x{30FC}", "\x{3068}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30CE}\x{30FC}", "\x{FF89}\x{30FC}"));
+ok($objJa->eq("\x{30CE}\x{30FC}", "\x{FF89}\x{FF70}"));
+ok($objJa->eq("\x{30DB}\x{30FC}", "\x{FF8E}\x{30FC}"));
+ok($objJa->eq("\x{30DB}\x{30FC}", "\x{FF8E}\x{FF70}"));
+ok($objJa->eq("\x{30DC}\x{30FC}", "\x{30DB}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30DC}\x{30FC}", "\x{FF8E}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30DC}\x{30FC}", "\x{FF8E}\x{FF9E}\x{FF70}"));
+ok($objJa->eq("\x{307C}\x{30FC}", "\x{307B}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30DD}\x{30FC}", "\x{30DB}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30DD}\x{30FC}", "\x{FF8E}\x{FF9F}\x{30FC}"));
+ok($objJa->eq("\x{30DD}\x{30FC}", "\x{FF8E}\x{FF9F}\x{FF70}"));
+ok($objJa->eq("\x{307D}\x{30FC}", "\x{307B}\x{309A}\x{30FC}"));
+ok($objJa->eq("\x{30E2}\x{30FC}", "\x{FF93}\x{30FC}"));
+ok($objJa->eq("\x{30E2}\x{30FC}", "\x{FF93}\x{FF70}"));
+ok($objJa->eq("\x{30E7}\x{30FC}", "\x{FF6E}\x{30FC}"));
+ok($objJa->eq("\x{30E7}\x{30FC}", "\x{FF6E}\x{FF70}"));
+ok($objJa->eq("\x{30E8}\x{30FC}", "\x{FF96}\x{30FC}"));
+ok($objJa->eq("\x{30E8}\x{30FC}", "\x{FF96}\x{FF70}"));
+ok($objJa->eq("\x{30ED}\x{30FC}", "\x{FF9B}\x{30FC}"));
+ok($objJa->eq("\x{30ED}\x{30FC}", "\x{FF9B}\x{FF70}"));
+ok($objJa->eq("\x{30F2}\x{30FC}", "\x{FF66}\x{30FC}"));
+ok($objJa->eq("\x{30F2}\x{30FC}", "\x{FF66}\x{FF70}"));
+ok($objJa->eq("\x{30FA}\x{30FC}", "\x{30F2}\x{3099}\x{30FC}"));
+ok($objJa->eq("\x{30FA}\x{30FC}", "\x{FF66}\x{FF9E}\x{30FC}"));
+ok($objJa->eq("\x{30FA}\x{30FC}", "\x{FF66}\x{FF9E}\x{FF70}"));
+
+# 602
diff --git a/cpan/Unicode-Collate/t/overcjk0.t b/cpan/Unicode-Collate/t/overcjk0.t
new file mode 100644
index 0000000000..b1c92af1fa
--- /dev/null
+++ b/cpan/Unicode-Collate/t/overcjk0.t
@@ -0,0 +1,114 @@
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 66 };
+
+use strict;
+use warnings;
+use Unicode::Collate;
+
+ok(1);
+
+##### 2..6
+
+my $ignoreCJK = Unicode::Collate->new(
+ table => undef,
+ normalization => undef,
+ overrideCJK => sub {()},
+ entry => <<'ENTRIES',
+5B57 ; [.0107.0020.0002.5B57] # CJK Ideograph "Letter"
+ENTRIES
+);
+
+# All CJK Unified Ideographs except U+5B57 are ignored.
+
+ok($ignoreCJK->eq("\x{4E00}", ""));
+ok($ignoreCJK->lt("\x{4E00}", "\0"));
+ok($ignoreCJK->eq("Pe\x{4E00}rl", "Perl")); # U+4E00 is a CJK.
+ok($ignoreCJK->gt("\x{4DFF}", "\x{4E00}")); # U+4DFF is not CJK.
+ok($ignoreCJK->lt("Pe\x{5B57}rl", "Perl")); # 'r' is unassigned.
+
+##### 7..20
+ok($ignoreCJK->eq("\x{3400}", ""));
+ok($ignoreCJK->eq("\x{4DB5}", ""));
+ok($ignoreCJK->eq("\x{9FA5}", ""));
+ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->eq("\x{9FBC}", "")); # UI since Unicode 5.1.0
+ok($ignoreCJK->eq("\x{9FC3}", "")); # UI since Unicode 5.1.0
+ok($ignoreCJK->eq("\x{9FC4}", "")); # UI since Unicode 5.2.0
+ok($ignoreCJK->eq("\x{9FCB}", "")); # UI since Unicode 5.2.0
+ok($ignoreCJK->gt("\x{9FCC}", "Perl"));
+ok($ignoreCJK->eq("\x{20000}", ""));
+ok($ignoreCJK->eq("\x{2A6D6}", ""));
+ok($ignoreCJK->eq("\x{2A700}", "")); # ExtC since Unicode 5.2.0
+ok($ignoreCJK->eq("\x{2B734}", "")); # ExtC since Unicode 5.2.0
+
+##### 21..30
+$ignoreCJK->change(UCA_Version => 8);
+ok($ignoreCJK->eq("\x{3400}", ""));
+ok($ignoreCJK->eq("\x{4DB5}", ""));
+ok($ignoreCJK->eq("\x{9FA5}", ""));
+ok($ignoreCJK->gt("\x{9FA6}", "Perl"));
+ok($ignoreCJK->gt("\x{9FBB}", "Perl"));
+ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
+ok($ignoreCJK->gt("\x{20000}","Perl"));
+ok($ignoreCJK->gt("\x{2A6D6}","Perl"));
+
+##### 31..40
+$ignoreCJK->change(UCA_Version => 9);
+ok($ignoreCJK->eq("\x{3400}", ""));
+ok($ignoreCJK->eq("\x{4DB5}", ""));
+ok($ignoreCJK->eq("\x{9FA5}", ""));
+ok($ignoreCJK->gt("\x{9FA6}", "Perl"));
+ok($ignoreCJK->gt("\x{9FBB}", "Perl"));
+ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
+ok($ignoreCJK->eq("\x{20000}", "")); # ExtB since Unicode 3.1.0
+ok($ignoreCJK->eq("\x{2A6D6}", "")); # ExtB since Unicode 3.1.0
+
+##### 41..52
+$ignoreCJK->change(UCA_Version => 14);
+ok($ignoreCJK->eq("\x{3400}", ""));
+ok($ignoreCJK->eq("\x{4DB5}", ""));
+ok($ignoreCJK->eq("\x{9FA5}", ""));
+ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
+ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
+ok($ignoreCJK->eq("\x{20000}", ""));
+ok($ignoreCJK->eq("\x{2A6D6}", ""));
+ok($ignoreCJK->gt("\x{2A700}", "Perl"));
+ok($ignoreCJK->gt("\x{2B734}", "Perl"));
+
+##### 53..66
+$ignoreCJK->change(UCA_Version => 18);
+ok($ignoreCJK->eq("\x{3400}", ""));
+ok($ignoreCJK->eq("\x{4DB5}", ""));
+ok($ignoreCJK->eq("\x{9FA5}", ""));
+ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
+ok($ignoreCJK->eq("\x{9FBC}", "")); # UI since Unicode 5.1.0
+ok($ignoreCJK->eq("\x{9FC3}", "")); # UI since Unicode 5.1.0
+ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
+ok($ignoreCJK->gt("\x{9FCB}", "Perl"));
+ok($ignoreCJK->gt("\x{9FCC}", "Perl"));
+ok($ignoreCJK->eq("\x{20000}", ""));
+ok($ignoreCJK->eq("\x{2A6D6}", ""));
+ok($ignoreCJK->gt("\x{2A700}", "Perl"));
+ok($ignoreCJK->gt("\x{2B734}", "Perl"));
+
diff --git a/cpan/Unicode-Collate/t/overcjk1.t b/cpan/Unicode-Collate/t/overcjk1.t
new file mode 100644
index 0000000000..45daaa2321
--- /dev/null
+++ b/cpan/Unicode-Collate/t/overcjk1.t
@@ -0,0 +1,108 @@
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 57 };
+
+use strict;
+use warnings;
+use Unicode::Collate;
+
+ok(1);
+
+##### 2..6
+
+my $overCJK = Unicode::Collate->new(
+ table => undef,
+ normalization => undef,
+ entry => <<'ENTRIES',
+0061 ; [.0101.0020.0002.0061] # latin a
+0041 ; [.0101.0020.0008.0041] # LATIN A
+4E00 ; [.B1FC.0030.0004.4E00] # Ideograph; B1FC = FFFF - 4E03.
+ENTRIES
+ overrideCJK => sub {
+ my $u = 0xFFFF - $_[0]; # reversed
+ [$u, 0x20, 0x2, $u];
+ },
+);
+
+ok($overCJK->lt("a", "A")); # diff. at level 3.
+ok($overCJK->lt( "\x{4E03}", "\x{4E00}")); # diff. at level 2.
+ok($overCJK->lt("A\x{4E03}", "A\x{4E00}"));
+ok($overCJK->lt("A\x{4E03}", "a\x{4E00}"));
+ok($overCJK->lt("a\x{4E03}", "A\x{4E00}"));
+
+##### 7..17
+ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
+ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
+ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FC3}", "A\x{9FC4}")); # UI since Unicode 5.2.0
+ok($overCJK->gt("a\x{9FC4}", "A\x{9FCB}")); # UI since Unicode 5.2.0
+ok($overCJK->lt("a\x{9FCB}", "A\x{9FCC}"));
+ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+
+##### 18..26
+$overCJK->change(UCA_Version => 9);
+ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
+ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
+ok($overCJK->lt("a\x{9FA5}", "A\x{9FA6}"));
+ok($overCJK->lt("a\x{9FA6}", "A\x{9FBB}"));
+ok($overCJK->lt("a\x{9FBB}", "A\x{9FBC}"));
+ok($overCJK->lt("a\x{9FBC}", "A\x{9FBF}"));
+ok($overCJK->lt("a\x{9FBF}", "A\x{9FC3}"));
+ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
+ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+
+##### 27..35
+$overCJK->change(UCA_Version => 14);
+ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
+ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
+ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
+ok($overCJK->lt("a\x{9FBB}", "A\x{9FBC}"));
+ok($overCJK->lt("a\x{9FBC}", "A\x{9FBF}"));
+ok($overCJK->lt("a\x{9FBF}", "A\x{9FC3}"));
+ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
+ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+
+##### 36..46
+$overCJK->change(UCA_Version => 18);
+ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
+ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
+ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
+ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
+ok($overCJK->lt("a\x{9FC3}", "A\x{9FCB}"));
+ok($overCJK->lt("a\x{9FC3}", "A\x{9FCC}"));
+ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+
+##### 47..57
+$overCJK->change(UCA_Version => 20);
+ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
+ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
+ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
+ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
+ok($overCJK->gt("a\x{9FC3}", "A\x{9FC4}")); # UI since Unicode 5.2.0
+ok($overCJK->gt("a\x{9FC4}", "A\x{9FCB}")); # UI since Unicode 5.2.0
+ok($overCJK->lt("a\x{9FCB}", "A\x{9FCC}"));
+ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+
diff --git a/cpan/Unicode-Collate/t/override.t b/cpan/Unicode-Collate/t/override.t
index 0149f16f1f..032db15bb1 100644
--- a/cpan/Unicode-Collate/t/override.t
+++ b/cpan/Unicode-Collate/t/override.t
@@ -11,7 +11,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 137 };
+BEGIN { plan tests => 35 };
use strict;
use warnings;
@@ -77,183 +77,71 @@ ok($ignoreHangul->lt("\x{AC00}", "\x{AE00}"));
ok($ignoreHangul->lt("\x{AC00}", "\x{1100}\x{1161}")); # Jamo are not ignored.
ok($ignoreHangul->lt("Pe\x{AE00}rl", "Perl")); # 'r' is unassigned.
+##### 17..21
-my $ignoreCJK = Unicode::Collate->new(
+my $undefHangul = Unicode::Collate->new(
table => undef,
normalization => undef,
- overrideCJK => sub {()},
- entry => <<'ENTRIES',
-5B57 ; [.0107.0020.0002.5B57] # CJK Ideograph "Letter"
-ENTRIES
+ overrideHangul => sub {
+ my $u = shift;
+ return $u == 0xAE00 ? 0x100 : undef;
+ }
);
-# All CJK Unified Ideographs except U+5B57 are ignored.
-
-##### 17..21
-ok($ignoreCJK->eq("\x{4E00}", ""));
-ok($ignoreCJK->lt("\x{4E00}", "\0"));
-ok($ignoreCJK->eq("Pe\x{4E00}rl", "Perl")); # U+4E00 is a CJK.
-ok($ignoreCJK->gt("\x{4DFF}", "\x{4E00}")); # U+4DFF is not CJK.
-ok($ignoreCJK->lt("Pe\x{5B57}rl", "Perl")); # 'r' is unassigned.
+# All Hangul Syllables except U+AE00 are undefined.
-##### 22..35
-ok($ignoreCJK->eq("\x{3400}", ""));
-ok($ignoreCJK->eq("\x{4DB5}", ""));
-ok($ignoreCJK->eq("\x{9FA5}", ""));
-ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->eq("\x{9FBC}", "")); # UI since Unicode 5.1.0
-ok($ignoreCJK->eq("\x{9FC3}", "")); # UI since Unicode 5.1.0
-ok($ignoreCJK->eq("\x{9FC4}", "")); # UI since Unicode 5.2.0
-ok($ignoreCJK->eq("\x{9FCB}", "")); # UI since Unicode 5.2.0
-ok($ignoreCJK->gt("\x{9FCC}", "Perl"));
-ok($ignoreCJK->eq("\x{20000}", ""));
-ok($ignoreCJK->eq("\x{2A6D6}", ""));
-ok($ignoreCJK->eq("\x{2A700}", "")); # ExtC since Unicode 5.2.0
-ok($ignoreCJK->eq("\x{2B734}", "")); # ExtC since Unicode 5.2.0
+ok($undefHangul->lt("\x{AE00}", "r"));
+ok($undefHangul->gt("\x{AC00}", "r"));
+ok($undefHangul->gt("\x{AC00}", "\x{1100}\x{1161}"));
+ok($undefHangul->lt("Pe\x{AE00}rl", "Perl")); # 'r' is unassigned.
+ok($undefHangul->lt("\x{AC00}", "\x{B000}"));
-##### 36..45
-$ignoreCJK->change(UCA_Version => 8);
-ok($ignoreCJK->eq("\x{3400}", ""));
-ok($ignoreCJK->eq("\x{4DB5}", ""));
-ok($ignoreCJK->eq("\x{9FA5}", ""));
-ok($ignoreCJK->gt("\x{9FA6}", "Perl"));
-ok($ignoreCJK->gt("\x{9FBB}", "Perl"));
-ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
-ok($ignoreCJK->eq("\x{20000}", ""));
-ok($ignoreCJK->eq("\x{2A6D6}", ""));
+##### 22..25
-##### 46..55
-$ignoreCJK->change(UCA_Version => 9);
-ok($ignoreCJK->eq("\x{3400}", ""));
-ok($ignoreCJK->eq("\x{4DB5}", ""));
-ok($ignoreCJK->eq("\x{9FA5}", ""));
-ok($ignoreCJK->gt("\x{9FA6}", "Perl"));
-ok($ignoreCJK->gt("\x{9FBB}", "Perl"));
-ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
-ok($ignoreCJK->eq("\x{20000}", ""));
-ok($ignoreCJK->eq("\x{2A6D6}", ""));
+my $undefCJK = Unicode::Collate->new(
+ table => undef,
+ normalization => undef,
+ overrideCJK => sub {
+ my $u = shift;
+ return $u == 0x4E00 ? 0x100 : undef;
+ }
+);
-##### 56..67
-$ignoreCJK->change(UCA_Version => 14);
-ok($ignoreCJK->eq("\x{3400}", ""));
-ok($ignoreCJK->eq("\x{4DB5}", ""));
-ok($ignoreCJK->eq("\x{9FA5}", ""));
-ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->gt("\x{9FBC}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC3}", "Perl"));
-ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
-ok($ignoreCJK->eq("\x{20000}", ""));
-ok($ignoreCJK->eq("\x{2A6D6}", ""));
-ok($ignoreCJK->gt("\x{2A700}", "Perl"));
-ok($ignoreCJK->gt("\x{2B734}", "Perl"));
+# All CJK Ideographs except U+4E00 are undefined.
-##### 68..81
-$ignoreCJK->change(UCA_Version => 18);
-ok($ignoreCJK->eq("\x{3400}", ""));
-ok($ignoreCJK->eq("\x{4DB5}", ""));
-ok($ignoreCJK->eq("\x{9FA5}", ""));
-ok($ignoreCJK->eq("\x{9FA6}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->eq("\x{9FBB}", "")); # UI since Unicode 4.1.0
-ok($ignoreCJK->eq("\x{9FBC}", "")); # UI since Unicode 5.1.0
-ok($ignoreCJK->eq("\x{9FC3}", "")); # UI since Unicode 5.1.0
-ok($ignoreCJK->gt("\x{9FC4}", "Perl"));
-ok($ignoreCJK->gt("\x{9FCB}", "Perl"));
-ok($ignoreCJK->gt("\x{9FCC}", "Perl"));
-ok($ignoreCJK->eq("\x{20000}", ""));
-ok($ignoreCJK->eq("\x{2A6D6}", ""));
-ok($ignoreCJK->gt("\x{2A700}", "Perl"));
-ok($ignoreCJK->gt("\x{2B734}", "Perl"));
+ok($undefCJK->lt("\x{4E00}", "r"));
+ok($undefCJK->lt("\x{5000}", "r")); # still CJK < unassigned
+ok($undefCJK->lt("Pe\x{4E00}rl", "Perl")); # 'r' is unassigned.
+ok($undefCJK->lt("\x{5000}", "\x{6000}"));
-#####
+##### 26..30
-my $overCJK = Unicode::Collate->new(
+my $cpHangul = Unicode::Collate->new(
table => undef,
normalization => undef,
- entry => <<'ENTRIES',
-0061 ; [.0101.0020.0002.0061] # latin a
-0041 ; [.0101.0020.0008.0041] # LATIN A
-4E00 ; [.B1FC.0030.0004.4E00] # Ideograph; B1FC = FFFF - 4E03.
-ENTRIES
- overrideCJK => sub {
- my $u = 0xFFFF - $_[0]; # reversed
- [$u, 0x20, 0x2, $u];
- },
+ overrideHangul => sub { shift }
);
-##### 82..86
-ok($overCJK->lt("a", "A")); # diff. at level 3.
-ok($overCJK->lt( "\x{4E03}", "\x{4E00}")); # diff. at level 2.
-ok($overCJK->lt("A\x{4E03}", "A\x{4E00}"));
-ok($overCJK->lt("A\x{4E03}", "a\x{4E00}"));
-ok($overCJK->lt("a\x{4E03}", "A\x{4E00}"));
+ok($cpHangul->lt("\x{AC00}", "\x{AC01}"));
+ok($cpHangul->lt("\x{AC01}", "\x{D7A3}"));
+ok($cpHangul->lt("\x{D7A3}", "r")); # 'r' is unassigned.
+ok($cpHangul->lt("r", "\x{D7A4}"));
+ok($cpHangul->lt("\x{D7A3}", "\x{4E00}"));
-##### 87..97
-ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
-ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
-ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FC3}", "A\x{9FC4}")); # UI since Unicode 5.2.0
-ok($overCJK->gt("a\x{9FC4}", "A\x{9FCB}")); # UI since Unicode 5.2.0
-ok($overCJK->lt("a\x{9FCB}", "A\x{9FCC}"));
-ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+##### 31..35
-##### 98..106
-$overCJK->change(UCA_Version => 9);
-ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
-ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
-ok($overCJK->lt("a\x{9FA5}", "A\x{9FA6}"));
-ok($overCJK->lt("a\x{9FA6}", "A\x{9FBB}"));
-ok($overCJK->lt("a\x{9FBB}", "A\x{9FBC}"));
-ok($overCJK->lt("a\x{9FBC}", "A\x{9FBF}"));
-ok($overCJK->lt("a\x{9FBF}", "A\x{9FC3}"));
-ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
-ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
-
-##### 107..115
-$overCJK->change(UCA_Version => 14);
-ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
-ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
-ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
-ok($overCJK->lt("a\x{9FBB}", "A\x{9FBC}"));
-ok($overCJK->lt("a\x{9FBC}", "A\x{9FBF}"));
-ok($overCJK->lt("a\x{9FBF}", "A\x{9FC3}"));
-ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
-ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+my $arrayHangul = Unicode::Collate->new(
+ table => undef,
+ normalization => undef,
+ overrideHangul => sub {
+ my $u = shift;
+ return [$u, 0x20, 0x2, $u];
+ }
+);
-##### 116..126
-$overCJK->change(UCA_Version => 18);
-ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
-ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
-ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
-ok($overCJK->lt("a\x{9FC3}", "A\x{9FC4}"));
-ok($overCJK->lt("a\x{9FC3}", "A\x{9FCB}"));
-ok($overCJK->lt("a\x{9FC3}", "A\x{9FCC}"));
-ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));
+ok($arrayHangul->lt("\x{AC00}", "\x{AC01}"));
+ok($arrayHangul->lt("\x{AC01}", "\x{D7A3}"));
+ok($arrayHangul->lt("\x{D7A3}", "r")); # 'r' is unassigned.
+ok($arrayHangul->lt("r", "\x{D7A4}"));
+ok($arrayHangul->lt("\x{D7A3}", "\x{4E00}"));
-##### 127..137
-$overCJK->change(UCA_Version => 20);
-ok($overCJK->gt("a\x{3400}", "A\x{4DB5}"));
-ok($overCJK->gt("a\x{4DB5}", "A\x{9FA5}"));
-ok($overCJK->gt("a\x{9FA5}", "A\x{9FA6}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FA6}", "A\x{9FBB}")); # UI since Unicode 4.1.0
-ok($overCJK->gt("a\x{9FBB}", "A\x{9FBC}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBC}", "A\x{9FBF}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FBF}", "A\x{9FC3}")); # UI since Unicode 5.1.0
-ok($overCJK->gt("a\x{9FC3}", "A\x{9FC4}")); # UI since Unicode 5.2.0
-ok($overCJK->gt("a\x{9FC4}", "A\x{9FCB}")); # UI since Unicode 5.2.0
-ok($overCJK->lt("a\x{9FCB}", "A\x{9FCC}"));
-ok($overCJK->lt("a\x{9FC4}", "A\x{9FCF}"));