summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-08 10:05:12 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-08 10:05:12 +0000
commitcedc49d5f057bd8ce5f79eabf9e5117987388b01 (patch)
tree61f6fba7238d0d2fcdc725cea8fee3ebc81d0d07 /cpan/Unicode-Collate
parentb1c96fce6c54beaec02dbeee42970beb56299347 (diff)
downloadperl-cedc49d5f057bd8ce5f79eabf9e5117987388b01.tar.gz
Update Unicode-Collate to CPAN version 0.95
[DELTA] 0.95 Sat Dec 8 15:11:09 2012 - U::C::Locale newly supports locales: bs_Cyrl, ee. - updated to CLDR 21: uk. - updated to CLDR 22: th, to. - added loc_bscy.t, loc_ee.t in t. - modified tests: loc_th.t, loc_to.t, loc_uk.t in t.
Diffstat (limited to 'cpan/Unicode-Collate')
-rw-r--r--cpan/Unicode-Collate/Changes7
-rw-r--r--cpan/Unicode-Collate/Collate.pm4
-rw-r--r--cpan/Unicode-Collate/Collate/Locale.pm179
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ee.pl36
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/th.pl11
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/to.pl102
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/uk.pl4
-rw-r--r--cpan/Unicode-Collate/README2
-rw-r--r--cpan/Unicode-Collate/t/loc_bscy.t209
-rw-r--r--cpan/Unicode-Collate/t/loc_ee.t190
-rw-r--r--cpan/Unicode-Collate/t/loc_sq.t2
-rw-r--r--cpan/Unicode-Collate/t/loc_th.t56
-rw-r--r--cpan/Unicode-Collate/t/loc_to.t159
-rw-r--r--cpan/Unicode-Collate/t/loc_uk.t25
14 files changed, 727 insertions, 259 deletions
diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes
index d3ededb5e7..4eef25291a 100644
--- a/cpan/Unicode-Collate/Changes
+++ b/cpan/Unicode-Collate/Changes
@@ -1,5 +1,12 @@
Revision history for Perl module Unicode::Collate.
+0.95 Sat Dec 8 15:11:09 2012
+ - U::C::Locale newly supports locales: bs_Cyrl, ee.
+ - updated to CLDR 21: uk.
+ - updated to CLDR 22: th, to.
+ - added loc_bscy.t, loc_ee.t in t.
+ - modified tests: loc_th.t, loc_to.t, loc_uk.t in t.
+
0.94 Fri Nov 23 18:45:53 2012
- U::C::Locale newly supports locale: zh__zhuyin.
- added Unicode::Collate::CJK::Zhuyin for zh__zhuyin.
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index 2329f702e5..f3901ad940 100644
--- a/cpan/Unicode-Collate/Collate.pm
+++ b/cpan/Unicode-Collate/Collate.pm
@@ -14,7 +14,7 @@ use File::Spec;
no warnings 'utf8';
-our $VERSION = '0.94';
+our $VERSION = '0.95';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
@@ -1074,7 +1074,7 @@ If the revision (previously "tracking version") number of UCA is given,
behavior of that revision is emulated on collating.
If omitted, the return value of C<UCA_Version()> is used.
-The following revisions are supported. The default is 24.
+The following revisions are supported. The default is 26.
UCA Unicode Standard DUCET (@version)
-------------------------------------------------------
diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm
index 3b10d28c98..b7b3528c1b 100644
--- a/cpan/Unicode-Collate/Collate/Locale.pm
+++ b/cpan/Unicode-Collate/Collate/Locale.pm
@@ -4,12 +4,12 @@ use strict;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '0.94';
+our $VERSION = '0.95';
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
- af ar as az be bg bn ca cs cy da eo es et fa fi fil fo fr
+ af ar as az be bg bn ca cs cy da ee eo es et fa fi fil fo fr
gu ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
mk ml mr mt nb nn nso om or pa pl ro ru sa se si sk sl sq
sr sv ta te th tn to tr uk ur vi wae wo yo zh
@@ -17,6 +17,7 @@ my %LocaleFile = map { ($_, $_) } qw(
$LocaleFile{'default'} = '';
# aliases
$LocaleFile{'bs'} = 'hr';
+ $LocaleFile{'bs_Cyrl'} = 'sr';
$LocaleFile{'sr_Latn'} = 'hr';
# short file names
$LocaleFile{'de__phonebook'} = 'de_phone';
@@ -122,91 +123,93 @@ __END__
MEMORANDA for developing
-locale based CLDR
+locale based CLDR
----------------------------------------------------------------------------
-af 2.0 = 1.8.1
-ar 2.0
-as 2.0 = 1.8.1
-az 2.0 = 1.8.1 (type="standard")
-be 2.0
-bg 2.0
-bn 2.0.1 (type="standard")
-bs 2.0 (alias source="hr")
-ca 2.0 = 1.8.1 (alt="proposed" type="standard")
-cs 2.0 = 1.8.1 (type="standard")
-cy 2.0 = 1.8.1
-da 2.0 = 1.8.1 (type="standard") [modify aA to pass CLDR tests]
-de__phonebook 2.0 (type="phonebook")
-eo 2.0 = 1.8.1
-es 2.0 (type="standard")
-es__traditional 2.0 = 1.8.1 (type="traditional")
-et 2.0 = 1.8.1
-fa 2.0 = 1.8.1
-fi 2.0 = 1.8.1 (type="standard" alt="proposed")
-fi__phonebook 2.0 = 1.8.1 (type="phonebook")
-fil 2.0 (type="standard") = 1.8.1
-fo 2.0 = 1.8.1 (alt="proposed" type="standard")
-fr 2.0 (fr_CA, backwards="on")
-gu 2.0 (type="standard")
-ha 2.0
-haw 2.0 = 1.8.1
-hi 2.0 (type="standard")
-hr 2.0 (type="standard")
-hu 2.0 = 1.8.1 (alt="proposed" type="standard")
-hy 2.0 = 1.8.1
-ig 2.0 = 1.8.1
-is 2.0 = 1.8.1 (type="standard")
-ja 22.1 = 2.0 = 1.8.1 (type="standard")
-kk 2.0
-kl 2.0 = 1.8.1 (type="standard")
-kn 2.0 (type="standard")
-ko 22.1 = 2.0 = 1.8.1 (type="standard")
-kok 2.0 = 1.8.1
-ln 2.0 (type="standard") = 1.8.1
-lt 2.0
-lv 2.0 (type="standard") = 1.8.1
-mk 2.0
-ml 2.0
-mr 2.0 = 1.8.1
-mt 2.0
-nb 2.0 (type="standard")
-nn 2.0 (type="standard")
-nso 2.0 = 1.8.1
-om 2.0 = 1.8.1
-or 2.0
-pa 2.0 = 1.8.1
-pl 2.0 = 1.8.1
-ro 2.0 (type="standard")
-ru 2.0
-sa 1.8.1 (type="standard" alt="proposed") [currently in /seed]
-se 2.0 = 1.8.1 (type="standard")
-si 2.0 (type="standard")
-si__dictionary 2.0 (type="dictionary")
-sk 2.0 (type="standard")
-sl 2.0 = 1.8.1 (type="standard" alt="proposed")
-sq 2.0 = 1.8.1 (alt="proposed" type="standard")
-sr 2.0 (type="standard")
-sr_Latn 2.0 = 1.8.1 (alias source="hr")
-sv 2.0 (type="standard")
-sv__reformed 2.0 = 1.8.1 (type="reformed")
-ta 2.0
-te 2.0
-th 2.0 (type="standard")
-tn 2.0 = 1.8.1
-to 2.0 = 1.8.1 (type="standard" alt="proposed")
-tr 2.0 = 1.8.1 (type="standard")
-uk 2.0
-ur 2.0
-vi 2.0 = 1.8.1
-wae 2.0
-wo 1.8.1 [currently in /seed]
-yo 2.0 = 1.8.1
-zh 22.1 = 2.0 = 1.8.1 (type="standard")
-zh__big5han 22.1 = 2.0 = 1.8.1 (type="big5han")
-zh__gb2312han 22.1 = 2.0 = 1.8.1 (type="gb2312han")
-zh__pinyin 22.1 = 2.0 (type='pinyin' alt='short')
-zh__stroke 22.1 = 2.0 = 1.9.1 (type='stroke' alt='short')
-zh__zhuyin 22.1 = 22 (type='zhuyin' alt='short')
+af 22.1 = 1.8.1
+ar 22.1 = 1.9.0
+as 22.1 = 1.8.1
+az 22.1 = 1.8.1 (type="standard")
+be 22.1 = 1.9.0
+bg 22.1 = 1.9.0
+bn 22.1 = 2.0.1 (type="standard")
+bs 22.1 = 1.9.0 (alias source="hr")
+bs_Cyrl 22.1 = 22 (alias source="sr")
+ca 22.1 = 1.8.1 (alt="proposed" type="standard")
+cs 22.1 = 1.8.1 (type="standard")
+cy 22.1 = 1.8.1
+da 22.1 = 1.8.1 (type="standard") [mod aA to pass CLDR test]
+de__phonebook 22.1 = 2.0 (type="phonebook")
+ee 22.1 = 22
+eo 22.1 = 1.8.1
+es 22.1 = 1.9.0 (type="standard")
+es__traditional 22.1 = 1.8.1 (type="traditional")
+et 22.1 = 1.8.1
+fa 22.1 = 1.8.1
+fi 22.1 = 1.8.1 (type="standard" alt="proposed")
+fi__phonebook 22.1 = 1.8.1 (type="phonebook")
+fil 22.1 = 1.9.0 (type="standard") = 1.8.1
+fo 22.1 = 1.8.1 (alt="proposed" type="standard")
+fr 22.1 = 1.9.0 (fr_CA, backwards="on")
+gu 22.1 = 1.9.0 (type="standard")
+ha 22.1 = 1.9.0
+haw 22.1 = 1.8.1
+hi 22.1 = 1.9.0 (type="standard")
+hr 22.1 = 1.9.0 (type="standard")
+hu 22.1 = 1.8.1 (alt="proposed" type="standard")
+hy 22.1 = 1.8.1
+ig 22.1 = 1.8.1
+is 22.1 = 1.8.1 (type="standard")
+ja 22.1 = 1.8.1 (type="standard")
+kk 22.1 = 1.9.0
+kl 22.1 = 1.8.1 (type="standard")
+kn 22.1 = 1.9.0 (type="standard")
+ko 22.1 = 1.8.1 (type="standard")
+kok 22.1 = 1.8.1
+ln 22.1 = 2.0 (type="standard") = 1.8.1
+lt 22.1 = 1.9.0
+lv 22.1 = 1.9.0 (type="standard") = 1.8.1
+mk 22.1 = 1.9.0
+ml 22.1 = 1.9.0
+mr 22.1 = 1.8.1
+mt 22.1 = 1.9.0
+nb 22.1 = 2.0 (type="standard")
+nn 22.1 = 2.0 (type="standard")
+nso 22.1 = 1.8.1
+om 22.1 = 1.8.1
+or 22.1 = 1.9.0
+pa 22.1 = 1.8.1
+pl 22.1 = 1.8.1
+ro 22.1 = 1.9.0 (type="standard")
+ru 22.1 = 1.9.0
+sa 1.9.1 = 1.8.1 (type="standard" alt="proposed") [now /seed]
+se 22.1 = 1.8.1 (type="standard")
+si 22.1 = 1.9.0 (type="standard")
+si__dictionary 22.1 = 1.9.0 (type="dictionary")
+sk 22.1 = 1.9.0 (type="standard")
+sl 22.1 = 1.8.1 (type="standard" alt="proposed")
+sq 22.1 = 1.8.1 (alt="proposed" type="standard")
+sr 22.1 = 1.9.0 (type="standard")
+sr_Latn 22.1 = 1.8.1 (alias source="hr")
+sv 22.1 = 1.9.0 (type="standard")
+sv__reformed 22.1 = 1.8.1 (type="reformed")
+ta 22.1 = 1.9.0
+te 22.1 = 1.9.0
+th 22.1 = 22
+tn 22.1 = 1.8.1
+to 22.1 = 22
+tr 22.1 = 1.8.1 (type="standard")
+uk 22.1 = 21
+ur 22.1 = 1.9.0
+vi 22.1 = 1.8.1
+wae 22.1 = 2.0
+wo 1.9.1 = 1.8.1 [now /seed]
+yo 22.1 = 1.8.1
+zh 22.1 = 1.8.1 (type="standard")
+zh__big5han 22.1 = 1.8.1 (type="big5han")
+zh__gb2312han 22.1 = 1.8.1 (type="gb2312han")
+zh__pinyin 22.1 = 2.0 (type='pinyin' alt='short')
+zh__stroke 22.1 = 1.9.1 (type='stroke' alt='short')
+zh__zhuyin 22.1 = 22 (type='zhuyin' alt='short')
----------------------------------------------------------------------------
=head1 NAME
@@ -332,11 +335,13 @@ a combination of return values from C<getlocale> and C<locale_version>.
bg Bulgarian
bn Bengali
bs Bosnian
+ bs_Cyrl Bosnian in Cyrillic (tailored as Serbian)
ca Catalan
cs Czech
cy Welsh
da Danish
de__phonebook German (umlaut as 'ae', 'oe', 'ue')
+ ee Ewe
eo Esperanto
es Spanish
es__traditional Spanish ('ch' and 'll' as a grapheme)
@@ -428,7 +433,7 @@ zu (Zulu).
B<Note>
[1] ja: Ideographs are sorted in JIS X 0208 order.
-Fullwidth and halfwidth forms are identical to their normal form.
+Fullwidth and halfwidth forms are identical to their regular form.
The difference between hiragana and katakana is at the 4th level,
the comparison also requires C<(variable =E<gt> 'Non-ignorable')>,
and then C<katakana_before_hiragana> has no effect.
diff --git a/cpan/Unicode-Collate/Collate/Locale/ee.pl b/cpan/Unicode-Collate/Collate/Locale/ee.pl
new file mode 100644
index 0000000000..c593a2679e
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/ee.pl
@@ -0,0 +1,36 @@
++{
+ locale_version => 0.95,
+# d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
+ entry => <<'ENTRY', # for DUCET v6.2.0
+0302 ; [.0000.0042.0002.0302] # COMBINING CIRCUMFLEX ACCENT
+00E2 ; [.15EF.0020.0002.0061][.0000.0042.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15EF.0020.0008.0041][.0000.0042.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+00EA ; [.164C.0020.0002.0065][.0000.0042.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.164C.0020.0008.0045][.0000.0042.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+00EE ; [.16CD.0020.0002.0069][.0000.0042.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16CD.0020.0008.0049][.0000.0042.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00F4 ; [.1771.0020.0002.006F][.0000.0042.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1771.0020.0008.004F][.0000.0042.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+00FB ; [.1836.0020.0002.0075][.0000.0042.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB ; [.1836.0020.0008.0055][.0000.0042.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0177 ; [.1880.0020.0002.0079][.0000.0042.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176 ; [.1880.0020.0008.0059][.0000.0042.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0064 007A ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 007A ; [.1632.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0078 ; [.16B5.0020.0002.0078] # LATIN SMALL LETTER X
+0058 ; [.16B5.0020.0008.0058] # LATIN CAPITAL LETTER X
+006B 0070 ; [.1700.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.1700.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.1700.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006E 0079 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0074 0073 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/th.pl b/cpan/Unicode-Collate/Collate/Locale/th.pl
index 893166bc4d..d83b6f1a62 100644
--- a/cpan/Unicode-Collate/Collate/Locale/th.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/th.pl
@@ -1,8 +1,10 @@
+{
- locale_version => 0.93,
+ locale_version => 0.95,
+ variable => 'shifted',
+ alternate => 'shifted',
entry => <<'ENTRY', # for DUCET v6.2.0
-0E2F ; [*03BC.0020.0002.0E2F][*FFF1.0000.0000.0000] # THAI CHARACTER PAIYANNOI
-0E46 ; [*03BC.0020.0002.0E46][*FFF2.0000.0000.0000] # THAI CHARACTER MAIYAMOK
+0E2F ; [*03BD.0020.0002.0E2F][*FFF1.0000.0000.0000] # THAI CHARACTER PAIYANNOI
+0E46 ; [*03BF.0020.0002.0E46][*FFF1.0000.0000.0000] # THAI CHARACTER MAIYAMOK
0E4C ; [.0000.00FF.0002.0E4C] # THAI CHARACTER THANTHAKHAT
0E47 ; [.0000.0100.0002.0E47] # THAI CHARACTER MAITAIKHU
0E48 ; [.0000.0101.0002.0E48] # THAI CHARACTER MAI EK
@@ -11,6 +13,9 @@
0E4B ; [.0000.0104.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
0E4D ; [.24B6.0020.0002.0E4D] # THAI CHARACTER NIKHAHIT
0E45 ; [.24B9.0020.0003.0E45] # THAI CHARACTER LAKKHANGYAO
+0E4D 0E32 ; [.24B9.0020.0002.0E32][.24B6.0020.0003.0E4D] # THAI CHARACTER SARA AM
+0E33 ; [.24B9.0020.0002.0E32][.24B6.0020.0004.0E33] # THAI CHARACTER SARA AM
+0E45 0E4D ; [.24B6.0020.0002.0E4D][.24B9.0020.0004.0E45] # <THAI CHARACTER LAKKHANGYAO, THAI CHARACTER NIKHAHIT>
0E3A ; [.24C7.0020.0002.0E3A] # THAI CHARACTER PHINTHU
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/to.pl b/cpan/Unicode-Collate/Collate/Locale/to.pl
index c5895445d5..df42141f03 100644
--- a/cpan/Unicode-Collate/Collate/Locale/to.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/to.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 0.93,
+ locale_version => 0.95,
entry => <<'ENTRY', # for DUCET v6.2.0
006E 0067 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
004E 0067 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
@@ -8,55 +8,55 @@
014A ; [.1750.0020.001D.014A] # LATIN CAPITAL LETTER ENG
02BB ; [.1896.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
02BD ; [.1896.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
-0101 ; [.15EF.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EF.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-00E1 ; [.15EF.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EF.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EF.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0100 ; [.15EF.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EF.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00C1 ; [.15EF.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EF.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EF.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0113 ; [.164C.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.164C.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-00E9 ; [.164C.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.164C.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.164C.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0112 ; [.164C.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.164C.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00C9 ; [.164C.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.164C.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.164C.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-012B ; [.16CD.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16CD.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-00ED ; [.16CD.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16CD.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16CD.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-012A ; [.16CD.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16CD.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00CD ; [.16CD.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16CD.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16CD.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-014D ; [.1771.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1771.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-00F3 ; [.1771.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1771.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1771.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-014C ; [.1771.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1771.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00D3 ; [.1771.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1771.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1771.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-016B ; [.1836.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1836.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-00FA ; [.1836.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1836.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1836.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-016A ; [.1836.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1836.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00DA ; [.1836.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1836.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1836.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+00E1 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0101 ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E9 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0113 ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00ED ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+012B ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00F3 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+014D ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00FA ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+016B ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/uk.pl b/cpan/Unicode-Collate/Collate/Locale/uk.pl
index 8bb0db132c..e3bd16f365 100644
--- a/cpan/Unicode-Collate/Collate/Locale/uk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/uk.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 0.93,
+ locale_version => 0.95,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
@@ -7,8 +7,6 @@
entry => <<'ENTRY', # for DUCET v6.2.0
0491 ; [.19B2.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
0490 ; [.19B2.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-044C ; [.1B63.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
-042C ; [.1B63.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
04D1 ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
04D0 ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
04D3 ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README
index 7032e5a8ad..5b257a8820 100644
--- a/cpan/Unicode-Collate/README
+++ b/cpan/Unicode-Collate/README
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.94
+Unicode/Collate version 0.95
===============================
NAME
diff --git a/cpan/Unicode-Collate/t/loc_bscy.t b/cpan/Unicode-Collate/t/loc_bscy.t
new file mode 100644
index 0000000000..b2283ddf50
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_bscy.t
@@ -0,0 +1,209 @@
+
+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 strict;
+use warnings;
+BEGIN { $| = 1; print "1..210\n"; }
+my $count = 0;
+sub ok ($;$) {
+ my $p = my $r = shift;
+ if (@_) {
+ my $x = shift;
+ $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+ }
+ print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objBsCyrl = Unicode::Collate::Locale->
+ new(locale => 'BS-CYRL', normalization => undef);
+
+ok($objBsCyrl->getlocale, 'bs_Cyrl');
+
+$objBsCyrl->change(level => 1);
+
+ok($objBsCyrl->eq("\x{4D1}", "\x{430}"));
+ok($objBsCyrl->eq("\x{4D0}", "\x{410}"));
+ok($objBsCyrl->eq("\x{4D3}", "\x{430}"));
+ok($objBsCyrl->eq("\x{4D2}", "\x{410}"));
+ok($objBsCyrl->eq("\x{4DB}", "\x{4D9}"));
+ok($objBsCyrl->eq("\x{4DA}", "\x{4D8}"));
+ok($objBsCyrl->eq("\x{453}", "\x{433}"));
+ok($objBsCyrl->eq("\x{403}", "\x{413}"));
+ok($objBsCyrl->eq("\x{450}", "\x{435}")); # not contraction
+ok($objBsCyrl->eq("\x{400}", "\x{415}")); # not contraction
+ok($objBsCyrl->eq("\x{451}", "\x{435}")); # not contraction
+ok($objBsCyrl->eq("\x{401}", "\x{415}")); # not contraction
+ok($objBsCyrl->eq("\x{4D7}", "\x{435}"));
+ok($objBsCyrl->eq("\x{4D6}", "\x{415}"));
+ok($objBsCyrl->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objBsCyrl->eq("\x{4C1}", "\x{416}")); # not contraction
+ok($objBsCyrl->eq("\x{4DD}", "\x{436}"));
+ok($objBsCyrl->eq("\x{4DC}", "\x{416}"));
+ok($objBsCyrl->eq("\x{4DF}", "\x{437}"));
+ok($objBsCyrl->eq("\x{4DE}", "\x{417}"));
+ok($objBsCyrl->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objBsCyrl->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objBsCyrl->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objBsCyrl->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objBsCyrl->eq("\x{4E5}", "\x{438}"));
+ok($objBsCyrl->eq("\x{4E4}", "\x{418}"));
+ok($objBsCyrl->eq("\x{457}", "\x{456}"));
+ok($objBsCyrl->eq("\x{407}", "\x{406}"));
+ok($objBsCyrl->eq("\x{439}", "\x{438}"));
+ok($objBsCyrl->eq("\x{419}", "\x{418}"));
+ok($objBsCyrl->eq("\x{4E7}", "\x{43E}"));
+ok($objBsCyrl->eq("\x{4E6}", "\x{41E}"));
+ok($objBsCyrl->eq("\x{4EB}", "\x{4E9}"));
+ok($objBsCyrl->eq("\x{4EA}", "\x{4E8}"));
+ok($objBsCyrl->eq("\x{45C}", "\x{43A}"));
+ok($objBsCyrl->eq("\x{40C}", "\x{41A}"));
+ok($objBsCyrl->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objBsCyrl->eq("\x{4EE}", "\x{423}")); # not contraction
+ok($objBsCyrl->eq("\x{45E}", "\x{443}"));
+ok($objBsCyrl->eq("\x{40E}", "\x{423}"));
+ok($objBsCyrl->eq("\x{4F1}", "\x{443}"));
+ok($objBsCyrl->eq("\x{4F0}", "\x{423}"));
+ok($objBsCyrl->eq("\x{4F3}", "\x{443}"));
+ok($objBsCyrl->eq("\x{4F2}", "\x{423}"));
+ok($objBsCyrl->eq("\x{4F5}", "\x{447}"));
+ok($objBsCyrl->eq("\x{4F4}", "\x{427}"));
+ok($objBsCyrl->eq("\x{4F9}", "\x{44B}"));
+ok($objBsCyrl->eq("\x{4F8}", "\x{42B}"));
+ok($objBsCyrl->eq("\x{4ED}", "\x{44D}"));
+ok($objBsCyrl->eq("\x{4EC}", "\x{42D}"));
+ok($objBsCyrl->eq("\x{477}", "\x{475}"));
+ok($objBsCyrl->eq("\x{476}", "\x{474}"));
+
+# 54
+
+$objBsCyrl->change(level => 2);
+
+ok($objBsCyrl->gt("\x{4D1}", "\x{430}"));
+ok($objBsCyrl->gt("\x{4D0}", "\x{410}"));
+ok($objBsCyrl->gt("\x{4D3}", "\x{430}"));
+ok($objBsCyrl->gt("\x{4D2}", "\x{410}"));
+ok($objBsCyrl->gt("\x{4DB}", "\x{4D9}"));
+ok($objBsCyrl->gt("\x{4DA}", "\x{4D8}"));
+ok($objBsCyrl->gt("\x{453}", "\x{433}"));
+ok($objBsCyrl->gt("\x{403}", "\x{413}"));
+ok($objBsCyrl->gt("\x{450}", "\x{435}")); # not contraction
+ok($objBsCyrl->gt("\x{400}", "\x{415}")); # not contraction
+ok($objBsCyrl->gt("\x{451}", "\x{435}")); # not contraction
+ok($objBsCyrl->gt("\x{401}", "\x{415}")); # not contraction
+ok($objBsCyrl->gt("\x{4D7}", "\x{435}"));
+ok($objBsCyrl->gt("\x{4D6}", "\x{415}"));
+ok($objBsCyrl->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objBsCyrl->gt("\x{4C1}", "\x{416}")); # not contraction
+ok($objBsCyrl->gt("\x{4DD}", "\x{436}"));
+ok($objBsCyrl->gt("\x{4DC}", "\x{416}"));
+ok($objBsCyrl->gt("\x{4DF}", "\x{437}"));
+ok($objBsCyrl->gt("\x{4DE}", "\x{417}"));
+ok($objBsCyrl->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objBsCyrl->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objBsCyrl->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objBsCyrl->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objBsCyrl->gt("\x{4E5}", "\x{438}"));
+ok($objBsCyrl->gt("\x{4E4}", "\x{418}"));
+ok($objBsCyrl->gt("\x{457}", "\x{456}"));
+ok($objBsCyrl->gt("\x{407}", "\x{406}"));
+ok($objBsCyrl->gt("\x{439}", "\x{438}"));
+ok($objBsCyrl->gt("\x{419}", "\x{418}"));
+ok($objBsCyrl->gt("\x{4E7}", "\x{43E}"));
+ok($objBsCyrl->gt("\x{4E6}", "\x{41E}"));
+ok($objBsCyrl->gt("\x{4EB}", "\x{4E9}"));
+ok($objBsCyrl->gt("\x{4EA}", "\x{4E8}"));
+ok($objBsCyrl->gt("\x{45C}", "\x{43A}"));
+ok($objBsCyrl->gt("\x{40C}", "\x{41A}"));
+ok($objBsCyrl->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objBsCyrl->gt("\x{4EE}", "\x{423}")); # not contraction
+ok($objBsCyrl->gt("\x{45E}", "\x{443}"));
+ok($objBsCyrl->gt("\x{40E}", "\x{423}"));
+ok($objBsCyrl->gt("\x{4F1}", "\x{443}"));
+ok($objBsCyrl->gt("\x{4F0}", "\x{423}"));
+ok($objBsCyrl->gt("\x{4F3}", "\x{443}"));
+ok($objBsCyrl->gt("\x{4F2}", "\x{423}"));
+ok($objBsCyrl->gt("\x{4F5}", "\x{447}"));
+ok($objBsCyrl->gt("\x{4F4}", "\x{427}"));
+ok($objBsCyrl->gt("\x{4F9}", "\x{44B}"));
+ok($objBsCyrl->gt("\x{4F8}", "\x{42B}"));
+ok($objBsCyrl->gt("\x{4ED}", "\x{44D}"));
+ok($objBsCyrl->gt("\x{4EC}", "\x{42D}"));
+ok($objBsCyrl->gt("\x{477}", "\x{475}"));
+ok($objBsCyrl->gt("\x{476}", "\x{474}"));
+
+# 106
+
+$objBsCyrl->change(level => 3);
+
+for my $i ("", "\0") {
+ ok($objBsCyrl->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{453}", "\x{433}$i\x{301}"));
+ ok($objBsCyrl->eq("\x{403}", "\x{413}$i\x{301}"));
+ ok($objBsCyrl->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+ ok($objBsCyrl->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+ ok($objBsCyrl->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+ ok($objBsCyrl->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+ ok($objBsCyrl->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+ ok($objBsCyrl->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+ ok($objBsCyrl->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+ ok($objBsCyrl->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+ ok($objBsCyrl->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+ ok($objBsCyrl->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+ ok($objBsCyrl->eq("\x{4E5}", "\x{438}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4E4}", "\x{418}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{439}", "\x{438}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{419}", "\x{418}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{45C}", "\x{43A}$i\x{301}"));
+ ok($objBsCyrl->eq("\x{40C}", "\x{41A}$i\x{301}"));
+ ok($objBsCyrl->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+ ok($objBsCyrl->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+ ok($objBsCyrl->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objBsCyrl->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objBsCyrl->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objBsCyrl->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objBsCyrl->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objBsCyrl->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 210
diff --git a/cpan/Unicode-Collate/t/loc_ee.t b/cpan/Unicode-Collate/t/loc_ee.t
new file mode 100644
index 0000000000..3b0ea274a7
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ee.t
@@ -0,0 +1,190 @@
+
+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 strict;
+use warnings;
+BEGIN { $| = 1; print "1..120\n"; }
+my $count = 0;
+sub ok ($;$) {
+ my $p = my $r = shift;
+ if (@_) {
+ my $x = shift;
+ $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+ }
+ print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objEe = Unicode::Collate::Locale->
+ new(locale => 'EE', normalization => undef);
+
+ok($objEe->getlocale, 'ee');
+
+# 2
+
+$objEe->change(level => 1);
+
+ok($objEe->lt("d", "d\x{292}"));
+ok($objEe->gt("dz","d\x{292}"));
+ok($objEe->lt("dz","\x{256}"));
+ok($objEe->gt("e", "\x{256}"));
+ok($objEe->lt("e", "\x{25B}"));
+ok($objEe->gt("f", "\x{25B}"));
+ok($objEe->lt("f", "\x{192}"));
+ok($objEe->gt("g", "\x{192}"));
+
+ok($objEe->lt("gz","gb"));
+ok($objEe->lt("gb","\x{263}"));
+ok($objEe->gt("h", "\x{263}"));
+ok($objEe->lt("h", "hz"));
+ok($objEe->lt("hz","x"));
+ok($objEe->lt("x", "i"));
+
+# 16
+
+ok($objEe->lt("kz","kp"));
+ok($objEe->lt("kp","l"));
+ok($objEe->lt("nz","ny"));
+ok($objEe->lt("ny","\x{14B}"));
+ok($objEe->gt("o", "\x{14B}"));
+ok($objEe->lt("o", "\x{254}"));
+ok($objEe->gt("p", "\x{254}"));
+
+ok($objEe->lt("tz","ts"));
+ok($objEe->lt("ts","u"));
+ok($objEe->lt("u", "v"));
+ok($objEe->lt("v", "\x{28B}"));
+ok($objEe->gt("w", "\x{28B}"));
+
+# 28
+
+ok($objEe->eq("\x{302}", "\x{30C}"));
+ok($objEe->eq("a\x{302}", "a\x{30C}"));
+ok($objEe->eq("A\x{302}", "A\x{30C}"));
+ok($objEe->eq("e\x{302}", "e\x{30C}"));
+ok($objEe->eq("E\x{302}", "E\x{30C}"));
+ok($objEe->eq("i\x{302}", "i\x{30C}"));
+ok($objEe->eq("I\x{302}", "I\x{30C}"));
+ok($objEe->eq("o\x{302}", "o\x{30C}"));
+ok($objEe->eq("O\x{302}", "O\x{30C}"));
+ok($objEe->eq("u\x{302}", "u\x{30C}"));
+ok($objEe->eq("U\x{302}", "U\x{30C}"));
+ok($objEe->eq("y\x{302}", "y\x{30C}"));
+ok($objEe->eq("Y\x{302}", "Y\x{30C}"));
+
+# 41
+
+$objEe->change(level => 2);
+
+ok($objEe->gt("\x{302}", "\x{30C}"));
+ok($objEe->gt("a\x{302}", "a\x{30C}"));
+ok($objEe->gt("A\x{302}", "A\x{30C}"));
+ok($objEe->gt("e\x{302}", "e\x{30C}"));
+ok($objEe->gt("E\x{302}", "E\x{30C}"));
+ok($objEe->gt("i\x{302}", "i\x{30C}"));
+ok($objEe->gt("I\x{302}", "I\x{30C}"));
+ok($objEe->gt("o\x{302}", "o\x{30C}"));
+ok($objEe->gt("O\x{302}", "O\x{30C}"));
+ok($objEe->gt("u\x{302}", "u\x{30C}"));
+ok($objEe->gt("U\x{302}", "U\x{30C}"));
+ok($objEe->gt("y\x{302}", "y\x{30C}"));
+ok($objEe->gt("Y\x{302}", "Y\x{30C}"));
+
+# 54
+
+ok($objEe->eq("dz", "Dz"));
+ok($objEe->eq("Dz", "DZ"));
+ok($objEe->eq("\x{256}", "\x{189}"));
+ok($objEe->eq("\x{25B}", "\x{190}"));
+ok($objEe->eq("\x{192}", "\x{191}"));
+ok($objEe->eq("gb", "Gb"));
+ok($objEe->eq("Gb", "GB"));
+ok($objEe->eq("\x{263}", "\x{194}"));
+ok($objEe->eq("x", "X"));
+ok($objEe->eq("kp", "Kp"));
+ok($objEe->eq("Kp", "KP"));
+ok($objEe->eq("ny", "Ny"));
+ok($objEe->eq("Ny", "NY"));
+ok($objEe->eq("\x{14B}", "\x{14A}"));
+ok($objEe->eq("\x{254}", "\x{186}"));
+ok($objEe->eq("ts", "Ts"));
+ok($objEe->eq("Ts", "TS"));
+ok($objEe->eq("\x{28B}", "\x{1B2}"));
+
+# 72
+
+$objEe->change(level => 3);
+
+ok($objEe->lt("dz", "Dz"));
+ok($objEe->lt("Dz", "DZ"));
+ok($objEe->lt("\x{256}", "\x{189}"));
+ok($objEe->lt("\x{25B}", "\x{190}"));
+ok($objEe->lt("\x{192}", "\x{191}"));
+ok($objEe->lt("gb", "Gb"));
+ok($objEe->lt("Gb", "GB"));
+ok($objEe->lt("\x{263}", "\x{194}"));
+ok($objEe->lt("x", "X"));
+ok($objEe->lt("kp", "Kp"));
+ok($objEe->lt("Kp", "KP"));
+ok($objEe->lt("ny", "Ny"));
+ok($objEe->lt("Ny", "NY"));
+ok($objEe->lt("\x{14B}", "\x{14A}"));
+ok($objEe->lt("\x{254}", "\x{186}"));
+ok($objEe->lt("ts", "Ts"));
+ok($objEe->lt("Ts", "TS"));
+ok($objEe->lt("\x{28B}", "\x{1B2}"));
+
+# 90
+
+ok($objEe->eq("a\x{302}", pack('U', 0xE2)));
+ok($objEe->eq("A\x{302}", pack('U', 0xC2)));
+ok($objEe->eq("e\x{302}", pack('U', 0xEA)));
+ok($objEe->eq("E\x{302}", pack('U', 0xCA)));
+ok($objEe->eq("i\x{302}", pack('U', 0xEE)));
+ok($objEe->eq("I\x{302}", pack('U', 0xCE)));
+ok($objEe->eq("o\x{302}", pack('U', 0xF4)));
+ok($objEe->eq("O\x{302}", pack('U', 0xD4)));
+ok($objEe->eq("u\x{302}", pack('U', 0xFB)));
+ok($objEe->eq("U\x{302}", pack('U', 0xDB)));
+ok($objEe->eq("y\x{302}", "\x{177}"));
+ok($objEe->eq("Y\x{302}", "\x{176}"));
+
+# 102
+
+$objEe->change(upper_before_lower => 1);
+
+ok($objEe->gt("dz", "Dz"));
+ok($objEe->gt("Dz", "DZ"));
+ok($objEe->gt("\x{256}", "\x{189}"));
+ok($objEe->gt("\x{25B}", "\x{190}"));
+ok($objEe->gt("\x{192}", "\x{191}"));
+ok($objEe->gt("gb", "Gb"));
+ok($objEe->gt("Gb", "GB"));
+ok($objEe->gt("\x{263}", "\x{194}"));
+ok($objEe->gt("x", "X"));
+ok($objEe->gt("kp", "Kp"));
+ok($objEe->gt("Kp", "KP"));
+ok($objEe->gt("ny", "Ny"));
+ok($objEe->gt("Ny", "NY"));
+ok($objEe->gt("\x{14B}", "\x{14A}"));
+ok($objEe->gt("\x{254}", "\x{186}"));
+ok($objEe->gt("ts", "Ts"));
+ok($objEe->gt("Ts", "TS"));
+ok($objEe->gt("\x{28B}", "\x{1B2}"));
+
+# 120
diff --git a/cpan/Unicode-Collate/t/loc_sq.t b/cpan/Unicode-Collate/t/loc_sq.t
index 6f29c4f035..3582d3e509 100644
--- a/cpan/Unicode-Collate/t/loc_sq.t
+++ b/cpan/Unicode-Collate/t/loc_sq.t
@@ -69,7 +69,7 @@ ok($objSq->lt("xz","xh"));
ok($objSq->gt("y", "xh"));
ok($objSq->lt("z", "zh"));
ok($objSq->lt("zz","zh"));
-ok($objSq->lt("zh", "\x{1B7}"));
+ok($objSq->lt("zh","\x{1B7}"));
# 35
diff --git a/cpan/Unicode-Collate/t/loc_th.t b/cpan/Unicode-Collate/t/loc_th.t
index 0c992f6aea..2dd3994091 100644
--- a/cpan/Unicode-Collate/t/loc_th.t
+++ b/cpan/Unicode-Collate/t/loc_th.t
@@ -13,7 +13,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..25\n"; }
+BEGIN { $| = 1; print "1..47\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -43,13 +43,10 @@ $objTh->change(level => 1);
ok($objTh->eq("\x{E2F}", ""));
ok($objTh->eq("\x{E46}", ""));
ok($objTh->eq("\x{E4F}", ""));
+ok($objTh->eq("\x{E5A}", ""));
+ok($objTh->eq("\x{E5B}", ""));
-# 5
-
-$objTh->change(variable => "non-ignorable");
-
-ok($objTh->lt("\x{E2F}", "\x{E46}"));
-ok($objTh->lt("\x{E46}", "\x{E4F}"));
+# 7
ok($objTh->lt("\x{E2E}", "\x{E4D}"));
ok($objTh->lt("\x{E4D}", "\x{E30}"));
@@ -64,8 +61,9 @@ ok($objTh->eq("\x{E47}", ""));
ok($objTh->eq("\x{E48}", ""));
ok($objTh->eq("\x{E49}", ""));
ok($objTh->eq("\x{E4A}", ""));
+ok($objTh->eq("\x{E4B}", ""));
-# 16
+# 17
$objTh->change(level => 2);
@@ -77,13 +75,49 @@ ok($objTh->lt("\x{E49}", "\x{E4A}"));
ok($objTh->lt("\x{E4A}", "\x{E4B}"));
ok($objTh->eq("\x{E32}", "\x{E45}"));
+ok($objTh->eq("\x{E32}\x{E4D}", "\x{E4D}\x{E32}"));
+ok($objTh->eq("\x{E4D}\x{E32}", "\x{E33}"));
+ok($objTh->eq("\x{E4D}\x{E45}", "\x{E45}\x{E4D}"));
-# 23
+# 27
$objTh->change(level => 3);
ok($objTh->lt("\x{E32}", "\x{E45}"));
+ok($objTh->lt("\x{E32}\x{E4D}", "\x{E4D}\x{E32}"));
+ok($objTh->lt("\x{E4D}\x{E32}", "\x{E33}"));
+ok($objTh->lt("\x{E4D}\x{E45}", "\x{E45}\x{E4D}"));
+
+ok($objTh->eq("\x{E4F}", "\x{E2F}"));
+ok($objTh->eq("\x{E2F}", "\x{E5A}"));
+ok($objTh->eq("\x{E5A}", "\x{E5B}"));
+ok($objTh->eq("\x{E5B}", "\x{E46}"));
+
+# 35
+
+$objTh->change(level => 4);
+
+ok($objTh->lt("\x{E4F}", "\x{E2F}"));
+ok($objTh->lt("\x{E2F}", "\x{E5A}"));
+ok($objTh->lt("\x{E5A}", "\x{E5B}"));
+ok($objTh->lt("\x{E5B}", "\x{E46}"));
+
+# 39
+
+$objTh->change(level => 1);
+
+ok($objTh->eq("\x{E4F}", "\x{E2F}"));
+ok($objTh->eq("\x{E2F}", "\x{E5A}"));
+ok($objTh->eq("\x{E5A}", "\x{E5B}"));
+ok($objTh->eq("\x{E5B}", "\x{E46}"));
+
+# 43
+
+$objTh->change(variable => "non-ignorable");
-ok($objTh->eq("\x{E33}", "\x{E4D}\x{E32}"));
+ok($objTh->lt("\x{E4F}", "\x{E2F}"));
+ok($objTh->lt("\x{E2F}", "\x{E5A}"));
+ok($objTh->lt("\x{E5A}", "\x{E5B}"));
+ok($objTh->lt("\x{E5B}", "\x{E46}"));
-# 25
+# 47
diff --git a/cpan/Unicode-Collate/t/loc_to.t b/cpan/Unicode-Collate/t/loc_to.t
index 55aadde6e1..8fddb91f89 100644
--- a/cpan/Unicode-Collate/t/loc_to.t
+++ b/cpan/Unicode-Collate/t/loc_to.t
@@ -13,7 +13,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..132\n"; }
+BEGIN { $| = 1; print "1..122\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -45,33 +45,55 @@ ok($objTo->lt("z", "\x{2BD}"));
# 7
-ok($objTo->eq("a", "a\x{304}"));
-ok($objTo->eq("A", "A\x{304}"));
-ok($objTo->eq("e", "e\x{304}"));
-ok($objTo->eq("E", "E\x{304}"));
-ok($objTo->eq("i", "i\x{304}"));
-ok($objTo->eq("I", "I\x{304}"));
-ok($objTo->eq("o", "o\x{304}"));
-ok($objTo->eq("O", "O\x{304}"));
-ok($objTo->eq("u", "u\x{304}"));
-ok($objTo->eq("U", "U\x{304}"));
+ok($objTo->eq("a", "a\x{301}"));
+ok($objTo->eq("A", "A\x{301}"));
+ok($objTo->eq("e", "e\x{301}"));
+ok($objTo->eq("E", "E\x{301}"));
+ok($objTo->eq("i", "i\x{301}"));
+ok($objTo->eq("I", "I\x{301}"));
+ok($objTo->eq("o", "o\x{301}"));
+ok($objTo->eq("O", "O\x{301}"));
+ok($objTo->eq("u", "u\x{301}"));
+ok($objTo->eq("U", "U\x{301}"));
+
+ok($objTo->eq("a\x{301}", "a\x{304}"));
+ok($objTo->eq("A\x{301}", "A\x{304}"));
+ok($objTo->eq("e\x{301}", "e\x{304}"));
+ok($objTo->eq("E\x{301}", "E\x{304}"));
+ok($objTo->eq("i\x{301}", "i\x{304}"));
+ok($objTo->eq("I\x{301}", "I\x{304}"));
+ok($objTo->eq("o\x{301}", "o\x{304}"));
+ok($objTo->eq("O\x{301}", "O\x{304}"));
+ok($objTo->eq("u\x{301}", "u\x{304}"));
+ok($objTo->eq("U\x{301}", "U\x{304}"));
-# 17
+# 27
$objTo->change(level => 2);
-ok($objTo->lt("a", "a\x{304}"));
-ok($objTo->lt("A", "A\x{304}"));
-ok($objTo->lt("e", "e\x{304}"));
-ok($objTo->lt("E", "E\x{304}"));
-ok($objTo->lt("i", "i\x{304}"));
-ok($objTo->lt("I", "I\x{304}"));
-ok($objTo->lt("o", "o\x{304}"));
-ok($objTo->lt("O", "O\x{304}"));
-ok($objTo->lt("u", "u\x{304}"));
-ok($objTo->lt("U", "U\x{304}"));
-
-# 27
+ok($objTo->lt("a", "a\x{301}"));
+ok($objTo->lt("A", "A\x{301}"));
+ok($objTo->lt("e", "e\x{301}"));
+ok($objTo->lt("E", "E\x{301}"));
+ok($objTo->lt("i", "i\x{301}"));
+ok($objTo->lt("I", "I\x{301}"));
+ok($objTo->lt("o", "o\x{301}"));
+ok($objTo->lt("O", "O\x{301}"));
+ok($objTo->lt("u", "u\x{301}"));
+ok($objTo->lt("U", "U\x{301}"));
+
+ok($objTo->lt("a\x{301}", "a\x{304}"));
+ok($objTo->lt("A\x{301}", "A\x{304}"));
+ok($objTo->lt("e\x{301}", "e\x{304}"));
+ok($objTo->lt("E\x{301}", "E\x{304}"));
+ok($objTo->lt("i\x{301}", "i\x{304}"));
+ok($objTo->lt("I\x{301}", "I\x{304}"));
+ok($objTo->lt("o\x{301}", "o\x{304}"));
+ok($objTo->lt("O\x{301}", "O\x{304}"));
+ok($objTo->lt("u\x{301}", "u\x{304}"));
+ok($objTo->lt("U\x{301}", "U\x{304}"));
+
+# 47
ok($objTo->eq("ng", "Ng"));
ok($objTo->eq("Ng", "NG"));
@@ -79,29 +101,18 @@ ok($objTo->eq("NG", "\x{14B}"));
ok($objTo->eq("\x{14B}", "\x{14A}"));
ok($objTo->eq("\x{2BB}", "\x{2BD}"));
-ok($objTo->eq("a\x{304}", "A\x{304}"));
ok($objTo->eq("a\x{301}", "A\x{301}"));
-ok($objTo->eq("e\x{304}", "E\x{304}"));
+ok($objTo->eq("a\x{304}", "A\x{304}"));
ok($objTo->eq("e\x{301}", "E\x{301}"));
-ok($objTo->eq("i\x{304}", "I\x{304}"));
+ok($objTo->eq("e\x{304}", "E\x{304}"));
ok($objTo->eq("i\x{301}", "I\x{301}"));
-ok($objTo->eq("o\x{304}", "O\x{304}"));
+ok($objTo->eq("i\x{304}", "I\x{304}"));
ok($objTo->eq("o\x{301}", "O\x{301}"));
-ok($objTo->eq("u\x{304}", "U\x{304}"));
+ok($objTo->eq("o\x{304}", "O\x{304}"));
ok($objTo->eq("u\x{301}", "U\x{301}"));
+ok($objTo->eq("u\x{304}", "U\x{304}"));
-ok($objTo->eq("a\x{304}", "a\x{301}"));
-ok($objTo->eq("A\x{304}", "A\x{301}"));
-ok($objTo->eq("e\x{304}", "e\x{301}"));
-ok($objTo->eq("E\x{304}", "E\x{301}"));
-ok($objTo->eq("i\x{304}", "i\x{301}"));
-ok($objTo->eq("I\x{304}", "I\x{301}"));
-ok($objTo->eq("o\x{304}", "o\x{301}"));
-ok($objTo->eq("O\x{304}", "O\x{301}"));
-ok($objTo->eq("u\x{304}", "u\x{301}"));
-ok($objTo->eq("U\x{304}", "U\x{301}"));
-
-# 52
+# 62
$objTo->change(level => 3);
@@ -111,41 +122,19 @@ ok($objTo->lt("NG", "\x{14B}"));
ok($objTo->lt("\x{14B}", "\x{14A}"));
ok($objTo->lt("\x{2BB}", "\x{2BD}"));
-ok($objTo->lt("a\x{304}", "A\x{304}"));
ok($objTo->lt("a\x{301}", "A\x{301}"));
-ok($objTo->lt("e\x{304}", "E\x{304}"));
+ok($objTo->lt("a\x{304}", "A\x{304}"));
ok($objTo->lt("e\x{301}", "E\x{301}"));
-ok($objTo->lt("i\x{304}", "I\x{304}"));
+ok($objTo->lt("e\x{304}", "E\x{304}"));
ok($objTo->lt("i\x{301}", "I\x{301}"));
-ok($objTo->lt("o\x{304}", "O\x{304}"));
+ok($objTo->lt("i\x{304}", "I\x{304}"));
ok($objTo->lt("o\x{301}", "O\x{301}"));
-ok($objTo->lt("u\x{304}", "U\x{304}"));
+ok($objTo->lt("o\x{304}", "O\x{304}"));
ok($objTo->lt("u\x{301}", "U\x{301}"));
-
-ok($objTo->lt("a\x{304}", "a\x{301}"));
-ok($objTo->lt("A\x{304}", "A\x{301}"));
-ok($objTo->lt("e\x{304}", "e\x{301}"));
-ok($objTo->lt("E\x{304}", "E\x{301}"));
-ok($objTo->lt("i\x{304}", "i\x{301}"));
-ok($objTo->lt("I\x{304}", "I\x{301}"));
-ok($objTo->lt("o\x{304}", "o\x{301}"));
-ok($objTo->lt("O\x{304}", "O\x{301}"));
-ok($objTo->lt("u\x{304}", "u\x{301}"));
-ok($objTo->lt("U\x{304}", "U\x{301}"));
+ok($objTo->lt("u\x{304}", "U\x{304}"));
# 77
-ok($objTo->eq("a\x{304}", "\x{101}"));
-ok($objTo->eq("A\x{304}", "\x{100}"));
-ok($objTo->eq("e\x{304}", "\x{113}"));
-ok($objTo->eq("E\x{304}", "\x{112}"));
-ok($objTo->eq("i\x{304}", "\x{12B}"));
-ok($objTo->eq("I\x{304}", "\x{12A}"));
-ok($objTo->eq("o\x{304}", "\x{14D}"));
-ok($objTo->eq("O\x{304}", "\x{14C}"));
-ok($objTo->eq("u\x{304}", "\x{16B}"));
-ok($objTo->eq("U\x{304}", "\x{16A}"));
-
ok($objTo->eq("a\x{301}", pack('U', 0xE1)));
ok($objTo->eq("a\x{341}", pack('U', 0xE1)));
ok($objTo->eq("A\x{301}", pack('U', 0xC1)));
@@ -167,6 +156,17 @@ ok($objTo->eq("u\x{341}", pack('U', 0xFA)));
ok($objTo->eq("U\x{301}", pack('U', 0xDA)));
ok($objTo->eq("U\x{341}", pack('U', 0xDA)));
+ok($objTo->eq("a\x{304}", "\x{101}"));
+ok($objTo->eq("A\x{304}", "\x{100}"));
+ok($objTo->eq("e\x{304}", "\x{113}"));
+ok($objTo->eq("E\x{304}", "\x{112}"));
+ok($objTo->eq("i\x{304}", "\x{12B}"));
+ok($objTo->eq("I\x{304}", "\x{12A}"));
+ok($objTo->eq("o\x{304}", "\x{14D}"));
+ok($objTo->eq("O\x{304}", "\x{14C}"));
+ok($objTo->eq("u\x{304}", "\x{16B}"));
+ok($objTo->eq("U\x{304}", "\x{16A}"));
+
# 107
$objTo->change(upper_before_lower => 1);
@@ -177,26 +177,15 @@ ok($objTo->lt("NG", "\x{14B}"));
ok($objTo->gt("\x{14B}", "\x{14A}"));
ok($objTo->lt("\x{2BB}", "\x{2BD}"));
-ok($objTo->gt("a\x{304}", "A\x{304}"));
ok($objTo->gt("a\x{301}", "A\x{301}"));
-ok($objTo->gt("e\x{304}", "E\x{304}"));
+ok($objTo->gt("a\x{304}", "A\x{304}"));
ok($objTo->gt("e\x{301}", "E\x{301}"));
-ok($objTo->gt("i\x{304}", "I\x{304}"));
+ok($objTo->gt("e\x{304}", "E\x{304}"));
ok($objTo->gt("i\x{301}", "I\x{301}"));
-ok($objTo->gt("o\x{304}", "O\x{304}"));
+ok($objTo->gt("i\x{304}", "I\x{304}"));
ok($objTo->gt("o\x{301}", "O\x{301}"));
-ok($objTo->gt("u\x{304}", "U\x{304}"));
+ok($objTo->gt("o\x{304}", "O\x{304}"));
ok($objTo->gt("u\x{301}", "U\x{301}"));
+ok($objTo->gt("u\x{304}", "U\x{304}"));
-ok($objTo->lt("a\x{304}", "a\x{301}"));
-ok($objTo->lt("A\x{304}", "A\x{301}"));
-ok($objTo->lt("e\x{304}", "e\x{301}"));
-ok($objTo->lt("E\x{304}", "E\x{301}"));
-ok($objTo->lt("i\x{304}", "i\x{301}"));
-ok($objTo->lt("I\x{304}", "I\x{301}"));
-ok($objTo->lt("o\x{304}", "o\x{301}"));
-ok($objTo->lt("O\x{304}", "O\x{301}"));
-ok($objTo->lt("u\x{304}", "u\x{301}"));
-ok($objTo->lt("U\x{304}", "U\x{301}"));
-
-# 132
+# 122
diff --git a/cpan/Unicode-Collate/t/loc_uk.t b/cpan/Unicode-Collate/t/loc_uk.t
index df3a6e7be7..9867049830 100644
--- a/cpan/Unicode-Collate/t/loc_uk.t
+++ b/cpan/Unicode-Collate/t/loc_uk.t
@@ -13,7 +13,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..208\n"; }
+BEGIN { $| = 1; print "1..203\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -39,10 +39,8 @@ $objUk->change(level => 1);
ok($objUk->gt("\x{491}", "\x{433}"));
ok($objUk->lt("\x{491}", "\x{434}"));
-ok($objUk->gt("\x{44C}", "\x{44F}"));
-ok($objUk->lt("\x{44C}", "\x{519}"));
-# 6
+# 4
ok($objUk->gt("\x{4E5}", "\x{438}")); # not suppressed
ok($objUk->gt("\x{4E4}", "\x{418}")); # not suppressed
@@ -51,7 +49,7 @@ ok($objUk->gt("\x{407}", "\x{406}")); # not suppressed
ok($objUk->gt("\x{439}", "\x{438}")); # not suppressed
ok($objUk->gt("\x{419}", "\x{418}")); # not suppressed
-# 12
+# 10
ok($objUk->eq("\x{4D1}", "\x{430}"));
ok($objUk->eq("\x{4D0}", "\x{410}"));
@@ -100,14 +98,13 @@ ok($objUk->eq("\x{4EC}", "\x{42D}"));
ok($objUk->eq("\x{477}", "\x{475}"));
ok($objUk->eq("\x{476}", "\x{474}"));
-# 58
+# 56
$objUk->change(level => 2);
ok($objUk->eq("\x{491}", "\x{490}"));
-ok($objUk->eq("\x{44C}", "\x{42C}"));
-# 60
+# 57
ok($objUk->gt("\x{4D1}", "\x{430}"));
ok($objUk->gt("\x{4D0}", "\x{410}"));
@@ -156,14 +153,13 @@ ok($objUk->gt("\x{4EC}", "\x{42D}"));
ok($objUk->gt("\x{477}", "\x{475}"));
ok($objUk->gt("\x{476}", "\x{474}"));
-# 106
+# 103
$objUk->change(level => 3);
ok($objUk->lt("\x{491}", "\x{490}"));
-ok($objUk->lt("\x{44C}", "\x{42C}"));
-# 108
+# 104
ok($objUk->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
ok($objUk->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
@@ -172,7 +168,7 @@ ok($objUk->eq("\x{407}", "\x{406}\x{308}")); # not suppressed
ok($objUk->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
ok($objUk->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
-# 114
+# 110
for my $i ("", "\0") {
ok($objUk->eq("\x{4D1}", "\x{430}$i\x{306}"));
@@ -223,11 +219,10 @@ for my $i ("", "\0") {
ok($objUk->eq("\x{476}", "\x{474}$i\x{30F}"));
}
-# 206
+# 202
$objUk->change(upper_before_lower => 1);
ok($objUk->gt("\x{491}", "\x{490}"));
-ok($objUk->gt("\x{44C}", "\x{42C}"));
-# 208
+# 203