summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-09-05 17:53:23 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-09-05 17:54:13 +0100
commitf1a7422f0978079a8d0d4faf7e794e0305d7ed39 (patch)
tree91164fe288a375287d53419745c365e600153f85
parent2f64805b37aa2413a5886cc97c696506d5100d69 (diff)
downloadperl-f1a7422f0978079a8d0d4faf7e794e0305d7ed39.tar.gz
Update Unicode-Collate to CPAN version 0.59
[DELTA] 0.59 Sun Sep 5 17:03:52 2010 - U::C::Locale newly supports locales: az, fil, ha, lt, mt, tr, wo, yo. - precomposites of a-uml, o-uml, and u-uml are tailored as well. (affected locales: da, et, fi, fo, is, kl, nb, nn, sk, sv)
-rw-r--r--MANIFEST16
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/Unicode-Collate/Changes5
-rw-r--r--cpan/Unicode-Collate/Collate.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale.pm24
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/az.pl50
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/da.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/et.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fi.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fil.pl11
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fo.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ha.pl13
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/is.pl4
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kl.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/lt.pl22
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mt.pl29
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nn.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sv.pl12
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/tr.pl45
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/wo.pl25
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/yo.pl19
-rw-r--r--cpan/Unicode-Collate/README59
-rw-r--r--cpan/Unicode-Collate/t/loc_az.t107
-rw-r--r--cpan/Unicode-Collate/t/loc_da.t24
-rw-r--r--cpan/Unicode-Collate/t/loc_et.t16
-rw-r--r--cpan/Unicode-Collate/t/loc_fi.t19
-rw-r--r--cpan/Unicode-Collate/t/loc_fil.t40
-rw-r--r--cpan/Unicode-Collate/t/loc_fo.t22
-rw-r--r--cpan/Unicode-Collate/t/loc_ha.t60
-rw-r--r--cpan/Unicode-Collate/t/loc_is.t10
-rw-r--r--cpan/Unicode-Collate/t/loc_kl.t22
-rw-r--r--cpan/Unicode-Collate/t/loc_lt.t91
-rw-r--r--cpan/Unicode-Collate/t/loc_mt.t76
-rw-r--r--cpan/Unicode-Collate/t/loc_nb.t22
-rw-r--r--cpan/Unicode-Collate/t/loc_nn.t22
-rw-r--r--cpan/Unicode-Collate/t/loc_sk.t6
-rw-r--r--cpan/Unicode-Collate/t/loc_sv.t22
-rw-r--r--cpan/Unicode-Collate/t/loc_tr.t89
-rw-r--r--cpan/Unicode-Collate/t/loc_wo.t63
-rw-r--r--cpan/Unicode-Collate/t/loc_yo.t56
41 files changed, 1106 insertions, 73 deletions
diff --git a/MANIFEST b/MANIFEST
index 86439a7a15..39e6cd90c9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2387,6 +2387,7 @@ cpan/Unicode-Collate/Changes Unicode::Collate
cpan/Unicode-Collate/Collate/allkeys.txt Unicode::Collate
cpan/Unicode-Collate/Collate/keys.txt Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/af.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/az.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/ca.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/cs.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/cy.pl Unicode::Collate
@@ -2395,13 +2396,17 @@ cpan/Unicode-Collate/Collate/Locale/eo.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/es.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/es_trad.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/et.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fil.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fi.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fo.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fr.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ha.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/haw.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/is.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/kl.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/lt.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/lv.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/mt.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/nn.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/pl.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale.pm Unicode::Collate
@@ -2410,6 +2415,9 @@ cpan/Unicode-Collate/Collate/Locale/sk.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/sl.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/sv.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/sw.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/tr.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/wo.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/yo.pl Unicode::Collate
cpan/Unicode-Collate/Collate.pm Unicode::Collate
cpan/Unicode-Collate/README Unicode::Collate
cpan/Unicode-Collate/t/altern.t Unicode::Collate
@@ -2423,6 +2431,7 @@ cpan/Unicode-Collate/t/illegalp.t Unicode::Collate
cpan/Unicode-Collate/t/illegal.t Unicode::Collate
cpan/Unicode-Collate/t/index.t Unicode::Collate
cpan/Unicode-Collate/t/loc_af.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_az.t Unicode::Collate
cpan/Unicode-Collate/t/loc_ca.t Unicode::Collate
cpan/Unicode-Collate/t/loc_cs.t Unicode::Collate
cpan/Unicode-Collate/t/loc_cy.t Unicode::Collate
@@ -2431,13 +2440,17 @@ cpan/Unicode-Collate/t/loc_eo.t Unicode::Collate
cpan/Unicode-Collate/t/loc_es.t Unicode::Collate
cpan/Unicode-Collate/t/loc_estr.t Unicode::Collate
cpan/Unicode-Collate/t/loc_et.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_fil.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fi.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fo.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fr.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_ha.t Unicode::Collate
cpan/Unicode-Collate/t/loc_haw.t Unicode::Collate
cpan/Unicode-Collate/t/loc_is.t Unicode::Collate
cpan/Unicode-Collate/t/loc_kl.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_lt.t Unicode::Collate
cpan/Unicode-Collate/t/loc_lv.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_mt.t Unicode::Collate
cpan/Unicode-Collate/t/loc_nb.t Unicode::Collate
cpan/Unicode-Collate/t/loc_nn.t Unicode::Collate
cpan/Unicode-Collate/t/loc_pl.t Unicode::Collate
@@ -2447,6 +2460,9 @@ cpan/Unicode-Collate/t/loc_sl.t Unicode::Collate
cpan/Unicode-Collate/t/loc_sv.t Unicode::Collate
cpan/Unicode-Collate/t/loc_sw.t Unicode::Collate
cpan/Unicode-Collate/t/loc_test.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_tr.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_wo.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_yo.t Unicode::Collate
cpan/Unicode-Collate/t/normal.t Unicode::Collate
cpan/Unicode-Collate/t/override.t Unicode::Collate
cpan/Unicode-Collate/t/rearrang.t Unicode::Collate
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 13efb28d40..5788ea7d7f 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1505,7 +1505,7 @@ use File::Glob qw(:case);
'Unicode::Collate' =>
{
'MAINTAINER' => 'sadahiro',
- 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.58-withoutworldwriteables.tar.gz',
+ 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.59-withoutworldwriteables.tar.gz',
'FILES' => q[cpan/Unicode-Collate],
# ignore experimental XS version
'EXCLUDED' => [ qr{X$},
diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes
index e044d43087..646b93bb06 100644
--- a/cpan/Unicode-Collate/Changes
+++ b/cpan/Unicode-Collate/Changes
@@ -1,5 +1,10 @@
Revision history for Perl module Unicode::Collate.
+0.59 Sun Sep 5 17:03:52 2010
+ - U::C::Locale newly supports locales: az, fil, ha, lt, mt, tr, wo, yo.
+ - precomposites of a-uml, o-uml, and u-uml are tailored as well.
+ (affected locales: da, et, fi, fo, is, kl, nb, nn, sk, sv)
+
0.58 Sun Aug 29 19:56:50 2010
- U::C::Locale newly supports locales: af, cy, da, fo, haw, is, kl, sw.
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index 1467c33c12..0836453f8f 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.58';
+our $VERSION = '0.59';
our $PACKAGE = __PACKAGE__;
my @Path = qw(Unicode Collate);
diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm
index 4aeef1f582..4803df98c7 100644
--- a/cpan/Unicode-Collate/Collate/Locale.pm
+++ b/cpan/Unicode-Collate/Collate/Locale.pm
@@ -4,7 +4,7 @@ use strict;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '0.58';
+our $VERSION = '0.59';
use File::Spec;
@@ -13,7 +13,8 @@ my $KeyPath = File::Spec->catfile('allkeys.txt');
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
- af ca cs cy da eo es et fi fo fr haw is kl lv nn pl ro sk sl sv sw
+ af az ca cs cy da eo es et fi fil fo fr ha haw
+ is kl lt lv mt nn pl ro sk sl sv sw tr wo yo
);
$LocaleFile{'default'} = '';
$LocaleFile{'es__traditional'} = 'es_trad';
@@ -39,7 +40,7 @@ sub getlocale {
return shift->{accepted_locale};
}
-sub _fetch_locale {
+sub _fetchpl {
my $accepted = shift;
my $f = $LocaleFile{$accepted};
return if !$f;
@@ -60,7 +61,7 @@ sub new {
}
$hash{table} = $KeyPath;
- my $href = _fetch_locale($hash{accepted_locale});
+ my $href = _fetchpl($hash{accepted_locale});
while (my($k,$v) = each %$href) {
if (exists $hash{$k}) {
croak "$k is reserved by $hash{locale}, can't be overwritten";
@@ -153,6 +154,7 @@ this method returns a string C<'default'> meaning no special tailoring.
locale name description
----------------------------------------------------------
af Afrikaans
+ az Azerbaijani (Azeri)
ca Catalan
cs Czech
cy Welsh
@@ -162,12 +164,16 @@ this method returns a string C<'default'> meaning no special tailoring.
es__traditional Spanish ('ch' and 'll' as a grapheme)
et Estonian
fi Finnish
+ fil Filipino
fo Faroese
fr French
+ ha Hausa
haw Hawaiian
is Icelandic
kl Kalaallisut
+ lt Lithuanian
lv Latvian
+ mt Maltese
nb Norwegian Bokmal
nn Norwegian Nynorsk
pl Polish
@@ -176,6 +182,16 @@ this method returns a string C<'default'> meaning no special tailoring.
sl Slovenian
sv Swedish
sw Swahili
+ tr Turkish
+ wo Wolof
+ yo Yoruba
+
+=head1 INSTALL
+
+Installation of Unicode::Collate::Locale requires F<Collate/Locale.pm>,
+F<Collate/Locale/*.pm> and F<Collate/allkeys.txt>. On building,
+Unicode::Collate::Locale doesn't require F<data/*.txt> and F<mklocale>.
+Tests for Unicode::Collate::Locale are named F<t/loc_*.t>.
=head1 AUTHOR
diff --git a/cpan/Unicode-Collate/Collate/Locale/az.pl b/cpan/Unicode-Collate/Collate/Locale/az.pl
new file mode 100644
index 0000000000..b9ed54b644
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/az.pl
@@ -0,0 +1,50 @@
++{
+# schwa doesn't require tailoring
+ entry => <<'ENTRY', # for DUCET v5.2.0
+00E7 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.12EB.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.12EB.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.12EB.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.12EB.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.12EB.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.12EB.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.12EB.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.12EB.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.12EB.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.138F.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.138F.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1454.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1454.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1454.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1454.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1454.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1454.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1454.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1454.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071 ; [.131F.0020.0002.0071] # LATIN SMALL LETTER Q
+0051 ; [.131F.0020.0008.0051] # LATIN CAPITAL LETTER Q
+0078 ; [.12D4.0020.0002.0078] # LATIN SMALL LETTER X
+0058 ; [.12D4.0020.0008.0058] # LATIN CAPITAL LETTER X
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/da.pl b/cpan/Unicode-Collate/Collate/Locale/da.pl
index e680df11b9..6b707f17d6 100644
--- a/cpan/Unicode-Collate/Collate/Locale/da.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/da.pl
@@ -13,6 +13,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
@@ -28,6 +36,8 @@
0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
@@ -42,6 +52,8 @@
006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/et.pl b/cpan/Unicode-Collate/Collate/Locale/et.pl
index 15a24198d0..0ee593f8da 100644
--- a/cpan/Unicode-Collate/Collate/Locale/et.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/et.pl
@@ -20,13 +20,25 @@
0061 0308 ; [.1494.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.1494.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.1494.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1494.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1494.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
00F6 ; [.1495.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
006F 0308 ; [.1495.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.1495.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.1495.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1495.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1495.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
00FC ; [.1496.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
0075 0308 ; [.1496.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.1496.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.1496.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1496.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1496.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1496.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1496.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1496.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1496.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1496.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1496.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/fi.pl b/cpan/Unicode-Collate/Collate/Locale/fi.pl
index 96e3491db1..7d0faf63b3 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fi.pl
@@ -15,6 +15,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0292 ; [.14AD.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
01B7 ; [.14AD.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
01EF ; [.14AD.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
@@ -30,6 +38,8 @@
0061 0308 ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AF.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AF.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
00E6 ; [.14AF.0021.0002.00E6] # LATIN SMALL LETTER AE
00C6 ; [.14AF.0021.0008.00C6] # LATIN CAPITAL LETTER AE
1D2D ; [.14AF.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
@@ -41,6 +51,8 @@
006F 0308 ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14B0.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14B0.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
00F8 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
006F 0338 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
00D8 ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fil.pl b/cpan/Unicode-Collate/Collate/Locale/fil.pl
new file mode 100644
index 0000000000..bb6f7a34ca
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/fil.pl
@@ -0,0 +1,11 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+00F1 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.136F.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.136F.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.136F.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/fo.pl b/cpan/Unicode-Collate/Collate/Locale/fo.pl
index 48066f2b8c..b759203614 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fo.pl
@@ -12,6 +12,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
@@ -27,6 +35,8 @@
0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
@@ -41,6 +51,8 @@
006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ha.pl b/cpan/Unicode-Collate/Collate/Locale/ha.pl
new file mode 100644
index 0000000000..d531c1118b
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/ha.pl
@@ -0,0 +1,13 @@
++{
+# b-hook, d-hook, k-hook, y-hook don't require tailoring
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0073 0068 ; [.1411.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1411.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1411.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1434.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+0027 0079 ; [.14A8.0020.0002.01B4] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.14A8.0020.0008.01B3] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/is.pl b/cpan/Unicode-Collate/Collate/Locale/is.pl
index ec48689df5..b6c93a9c01 100644
--- a/cpan/Unicode-Collate/Collate/Locale/is.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/is.pl
@@ -41,10 +41,14 @@
0061 0308 ; [.1522.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.1522.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.1522.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1522.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1522.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
00F6 ; [.1523.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
006F 0308 ; [.1523.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.1523.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.1523.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1523.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1523.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
00F8 ; [.1523.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
006F 0338 ; [.1523.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
00D8 ; [.1523.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/kl.pl b/cpan/Unicode-Collate/Collate/Locale/kl.pl
index 5c525b8536..a69c1016ec 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kl.pl
@@ -14,6 +14,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
@@ -29,6 +37,8 @@
0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
@@ -43,6 +53,8 @@
006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/lt.pl b/cpan/Unicode-Collate/Collate/Locale/lt.pl
new file mode 100644
index 0000000000..b1dbc082fb
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/lt.pl
@@ -0,0 +1,22 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0307 ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE
+010D ; [.124F.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.124F.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.124F.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.124F.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0079 ; [.12EC.0021.0002.0079] # LATIN SMALL LETTER Y
+0059 ; [.12EC.0021.0008.0059] # LATIN CAPITAL LETTER Y
+0161 ; [.1432.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1432.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.1432.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1432.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.14C9.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.14C9.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.14C9.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.14C9.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0117 ; [.126B.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.126B.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0130 ; [.12EC.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/mt.pl b/cpan/Unicode-Collate/Collate/Locale/mt.pl
new file mode 100644
index 0000000000..08aa5aebf4
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/mt.pl
@@ -0,0 +1,29 @@
++{
+ upper_before_lower => 1,
+ entry => <<'ENTRY', # for DUCET v5.2.0
+010B ; [.124F.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.124F.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.124F.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.124F.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121 ; [.12AF.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.12AF.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.12AF.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.12AF.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.12D2.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.12D2.0020.0007.0067][0.0.2.0] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.12D2.0020.0007.0047][0.0.8.0] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.12D2.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.12D2.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.12D2.0020.0007.0067][0.0.2.0] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.12D2.0020.0007.0047][0.0.8.0] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.12D2.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127 ; [.12EB.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.12EB.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0126 ; [.12EB.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.12EB.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+017C ; [.14AC.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.14AC.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.14AC.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.14AC.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/nn.pl b/cpan/Unicode-Collate/Collate/Locale/nn.pl
index 1c836f1711..6f6a286b08 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nn.pl
@@ -12,6 +12,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
@@ -27,6 +35,8 @@
0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
@@ -41,6 +51,8 @@
006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/sk.pl b/cpan/Unicode-Collate/Collate/Locale/sk.pl
index f248d1b20c..dc42f44acd 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sk.pl
@@ -4,6 +4,8 @@
0061 0308 ; [.1210.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.1210.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.1210.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1210.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1210.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
010D ; [.123E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.123E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
010C ; [.123E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv.pl b/cpan/Unicode-Collate/Collate/Locale/sv.pl
index e8324d1a13..a039152cde 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sv.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sv.pl
@@ -14,6 +14,14 @@
0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
@@ -29,6 +37,8 @@
0061 0308 ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
00C4 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
0041 0308 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.14AF.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.14AF.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
00E6 ; [.14AF.0021.0002.00E6] # LATIN SMALL LETTER AE
00C6 ; [.14AF.0021.0008.00C6] # LATIN CAPITAL LETTER AE
1D2D ; [.14AF.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
@@ -44,6 +54,8 @@
006F 0308 ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
00D6 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
004F 0308 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.14B0.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.14B0.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
00F8 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
006F 0338 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
00D8 ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/tr.pl b/cpan/Unicode-Collate/Collate/Locale/tr.pl
new file mode 100644
index 0000000000..250a0efcb5
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/tr.pl
@@ -0,0 +1,45 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+00E7 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.12EB.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.12EB.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.12EB.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.12EB.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.12EB.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.12EB.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.12EB.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.12EB.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.12EB.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.138F.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.138F.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1454.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1454.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1454.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1454.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1454.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1454.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1454.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1454.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/wo.pl b/cpan/Unicode-Collate/Collate/Locale/wo.pl
new file mode 100644
index 0000000000..941260cf7f
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/wo.pl
@@ -0,0 +1,25 @@
++{
+# eng doesn't require tailoring
+ entry => <<'ENTRY', # for DUCET v5.2.0
+00E0 ; [.1210.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1210.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.1210.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1210.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9 ; [.126C.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.126C.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.126C.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.126C.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB ; [.126D.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.126D.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.126D.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.126D.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+00F3 ; [.138F.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.138F.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.138F.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.138F.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/yo.pl b/cpan/Unicode-Collate/Collate/Locale/yo.pl
new file mode 100644
index 0000000000..884d83fb7c
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/yo.pl
@@ -0,0 +1,19 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+1EB9 ; [.126C.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.126C.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.126C.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.126C.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0067 0062 ; [.12B1.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.12B1.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.12B1.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD ; [.138F.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.138F.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.138F.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.138F.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1E63 ; [.1411.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.1411.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.1411.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.1411.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README
index f3d2235615..ac1fc77796 100644
--- a/cpan/Unicode-Collate/README
+++ b/cpan/Unicode-Collate/README
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.58
+Unicode/Collate version 0.59
===============================
NAME
@@ -22,33 +22,17 @@ SYNOPSIS
INSTALL
-Perl 5.6.1 or later is required.
-Perl 5.8.1 or later is recommended.
+ Perl 5.6.1 or later is required.
+ Perl 5.8.1 or later is recommended.
-Though this module can be used without any C<table> file,
-to use this module easily, it is recommended to install a table file
-in the UCA format, by copying it under the directory
-<a place in @INC>/Unicode/Collate.
+ Though this distribution contains a subset of an old DUCET, named
+ "keys.txt", this one is intended only for doing a test of this module
+ and practically useless for any other purpose.
-You can install such a table file by adding it
-to "Collate" directory (where "keys.txt" is placed) in this distribution
-before executing Makefile.PL.
-
-The most preferable one is "The Default Unicode Collation Element Table"
-(aka DUCET), available from the Unicode Consortium's website:
-
- http://www.unicode.org/Public/UCA/
-
- http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version)
-
-If DUCET is not installed, it is recommended to copy the file
-from http://www.unicode.org/Public/UCA/latest/allkeys.txt
-to <a place in @INC>/Unicode/Collate/allkeys.txt
-manually.
-
-Though this distribution contains a subset of allkeys.txt, named "keys.txt",
-this one is intended only for doing a test of this module
-and practically useless for any other purpose.
+ Installation of Unicode::Collate::Locale requires Collate/Locale.pm,
+ Collate/Locale/*.pm and Collate/allkeys.txt. On building,
+ Unicode::Collate::Locale doesn't require data/*.txt and mklocale.
+ Tests for Unicode::Collate::Locale are named t/loc_*.t.
To install this module type the following:
@@ -57,7 +41,6 @@ To install this module type the following:
make test
make install
-(!! XSUB for Unicode::Collate is an EXPERIMENTAL support !!)
If you have a C compiler and want to use XSUB edition,
type the following (!! "enableXS" must run before "Makefile.PL" !!):
@@ -82,6 +65,28 @@ DEPENDENCIES
The conformant collation requires Unicode::Normalize (v 0.10 or later)
although Unicode::Collate can be used without Unicode::Normalize.
+ABOUT DUCET
+
+ Though this module can be used without any C<table> file,
+ to use this module easily, it is recommended to install a table file
+ in the UCA format, by copying it under the directory
+ <a place in @INC>/Unicode/Collate.
+
+ You can install such a table file by adding it to "Collate" directory
+ (where "keys.txt" is placed) in this distribution before executing
+ Makefile.PL.
+
+ The most preferable one is "The Default Unicode Collation Element Table"
+ (aka DUCET), available from the Unicode Consortium's website:
+
+ http://www.unicode.org/Public/UCA/
+
+ http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version)
+
+ If DUCET is not installed, it is recommended to copy the file
+ from http://www.unicode.org/Public/UCA/latest/allkeys.txt
+ to <a place in @INC>/Unicode/Collate/allkeys.txt manually.
+
AUTHOR, COPYRIGHT AND LICENSE
The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
diff --git a/cpan/Unicode-Collate/t/loc_az.t b/cpan/Unicode-Collate/t/loc_az.t
new file mode 100644
index 0000000000..b8474e509f
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_az.t
@@ -0,0 +1,107 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 72;
+
+my $objAz = Unicode::Collate::Locale->
+ new(locale => 'AZ', normalization => undef);
+
+ok(1);
+ok($objAz->getlocale, 'az');
+
+$objAz->change(level => 1);
+
+ok($objAz->lt("c", "c\x{327}"));
+ok($objAz->gt("d", "c\x{327}"));
+ok($objAz->lt("g", "g\x{306}"));
+ok($objAz->gt("h", "g\x{306}"));
+ok($objAz->lt("h", "I"));
+ok($objAz->lt("I", "i"));
+ok($objAz->gt("j", "i"));
+ok($objAz->lt("o", "o\x{308}"));
+ok($objAz->gt("p", "o\x{308}"));
+ok($objAz->lt("s", "s\x{327}"));
+ok($objAz->gt("t", "s\x{327}"));
+ok($objAz->lt("u", "u\x{308}"));
+ok($objAz->gt("v", "u\x{308}"));
+
+# 15
+
+ok($objAz->lt("k", "q"));
+ok($objAz->lt("kz","q"));
+ok($objAz->gt("l", "q"));
+ok($objAz->lt("e", "\x{259}"));
+ok($objAz->gt("f", "\x{259}"));
+ok($objAz->lt("h", "x"));
+ok($objAz->lt("hz","x"));
+ok($objAz->gt("I","x"));
+ok($objAz->gt("i","x"));
+
+# 24
+
+$objAz->change(level => 2);
+
+ok($objAz->eq("c\x{327}", "C\x{327}"));
+ok($objAz->eq("g\x{306}", "G\x{306}"));
+ok($objAz->eq("\x{131}", "I"));
+ok($objAz->eq("\x{130}", "i"));
+ok($objAz->eq("o\x{308}", "O\x{308}"));
+ok($objAz->eq("s\x{327}", "S\x{327}"));
+ok($objAz->eq("u\x{308}", "U\x{308}"));
+ok($objAz->eq("q", "Q"));
+ok($objAz->eq("\x{259}", "\x{18F}"));
+ok($objAz->eq("x", "X"));
+
+# 34
+
+$objAz->change(level => 3);
+
+ok($objAz->lt("c\x{327}", "C\x{327}"));
+ok($objAz->lt("g\x{306}", "G\x{306}"));
+ok($objAz->lt("\x{131}", "I"));
+ok($objAz->gt("\x{130}", "i"));
+ok($objAz->lt("o\x{308}", "O\x{308}"));
+ok($objAz->lt("s\x{327}", "S\x{327}"));
+ok($objAz->lt("u\x{308}", "U\x{308}"));
+ok($objAz->lt("k", "K"));
+ok($objAz->lt("\x{259}", "\x{18F}"));
+ok($objAz->lt("x", "X"));
+
+# 44
+
+ok($objAz->eq("c\x{327}", pack('U', 0xE7)));
+ok($objAz->eq("C\x{327}", pack('U', 0xC7)));
+ok($objAz->eq("g\x{306}", "\x{11F}"));
+ok($objAz->eq("G\x{306}", "\x{11E}"));
+ok($objAz->eq("I\x{300}", pack('U', 0xCC)));
+ok($objAz->eq("I\x{301}", pack('U', 0xCD)));
+ok($objAz->eq("I\x{302}", pack('U', 0xCE)));
+ok($objAz->eq("I\x{308}", pack('U', 0xCF)));
+ok($objAz->eq("I\x{304}", "\x{12A}"));
+ok($objAz->eq("I\x{306}", "\x{12C}"));
+ok($objAz->eq("I\x{328}", "\x{12E}"));
+ok($objAz->eq("I\x{307}", "\x{130}"));
+
+# 56
+
+ok($objAz->eq("o\x{308}", pack('U', 0xF6)));
+ok($objAz->eq("O\x{308}", pack('U', 0xD6)));
+ok($objAz->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objAz->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objAz->eq("s\x{327}", "\x{15F}"));
+ok($objAz->eq("S\x{327}", "\x{15E}"));
+ok($objAz->eq("u\x{308}", pack('U', 0xFC)));
+ok($objAz->eq("U\x{308}", pack('U', 0xDC)));
+ok($objAz->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objAz->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objAz->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objAz->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objAz->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objAz->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objAz->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objAz->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 72
diff --git a/cpan/Unicode-Collate/t/loc_da.t b/cpan/Unicode-Collate/t/loc_da.t
index 73ec92328d..09af185abb 100644
--- a/cpan/Unicode-Collate/t/loc_da.t
+++ b/cpan/Unicode-Collate/t/loc_da.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 99;
+plan tests => 111;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -118,25 +118,37 @@ ok($objDa->eq("d\x{335}", "\x{111}"));
ok($objDa->eq("D\x{335}", "\x{110}"));
ok($objDa->eq("u\x{308}", $uuml));
ok($objDa->eq("U\x{308}", $Uuml));
+ok($objDa->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objDa->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objDa->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objDa->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objDa->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objDa->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objDa->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objDa->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objDa->eq("u\x{30B}", "\x{171}"));
ok($objDa->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
ok($objDa->eq("\x{1FD}", "$ae\x{301}"));
ok($objDa->eq("\x{1FC}", "$AE\x{301}"));
ok($objDa->eq("\x{1E3}", "$ae\x{304}"));
ok($objDa->eq("\x{1E2}", "$AE\x{304}"));
ok($objDa->eq("a\x{308}", $auml));
ok($objDa->eq("A\x{308}", $Auml));
+ok($objDa->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objDa->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objDa->eq("e\x{328}", "\x{119}"));
ok($objDa->eq("E\x{328}", "\x{118}"));
-
-# 80
-
ok($objDa->eq("o\x{338}", $ostk));
ok($objDa->eq("O\x{338}", $Ostk));
ok($objDa->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objDa->eq("O\x{338}\x{301}", "\x{1FE}"));
ok($objDa->eq("o\x{308}", $ouml));
ok($objDa->eq("O\x{308}", $Ouml));
+ok($objDa->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objDa->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objDa->eq("o\x{30B}", "\x{151}"));
ok($objDa->eq("O\x{30B}", "\x{150}"));
ok($objDa->eq("a\x{30A}", $arng));
@@ -145,7 +157,7 @@ ok($objDa->eq("A\x{30A}", "\x{212B}"));
ok($objDa->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objDa->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 93
+# 105
ok($objDa->gt("a", "A"));
ok($objDa->gt("b", "B"));
@@ -154,4 +166,4 @@ ok($objDa->gt("x", "X"));
ok($objDa->gt("y", "Y"));
ok($objDa->gt("z", "Z"));
-# 99
+# 111
diff --git a/cpan/Unicode-Collate/t/loc_et.t b/cpan/Unicode-Collate/t/loc_et.t
index d1526bfb1c..0fad62d5e0 100644
--- a/cpan/Unicode-Collate/t/loc_et.t
+++ b/cpan/Unicode-Collate/t/loc_et.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 41;
+plan tests => 53;
my $objEt = Unicode::Collate::Locale->
new(locale => 'ET', normalization => undef);
@@ -62,9 +62,21 @@ ok($objEt->eq("o\x{303}", pack('U', 0xF5)));
ok($objEt->eq("O\x{303}", pack('U', 0xD5)));
ok($objEt->eq("a\x{308}", pack('U', 0xE4)));
ok($objEt->eq("A\x{308}", pack('U', 0xC4)));
+ok($objEt->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objEt->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objEt->eq("o\x{308}", pack('U', 0xF6)));
ok($objEt->eq("O\x{308}", pack('U', 0xD6)));
+ok($objEt->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objEt->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objEt->eq("u\x{308}", pack('U', 0xFC)));
ok($objEt->eq("U\x{308}", pack('U', 0xDC)));
+ok($objEt->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objEt->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objEt->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objEt->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objEt->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objEt->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objEt->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objEt->eq("U\x{308}\x{30C}", "\x{1D9}"));
-# 41
+# 53
diff --git a/cpan/Unicode-Collate/t/loc_fi.t b/cpan/Unicode-Collate/t/loc_fi.t
index bbddc08c02..afd6707206 100644
--- a/cpan/Unicode-Collate/t/loc_fi.t
+++ b/cpan/Unicode-Collate/t/loc_fi.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 70;
+plan tests => 82;
my $uuml = pack 'U', 0xFC;
my $Uuml = pack 'U', 0xDC;
@@ -95,8 +95,19 @@ ok($objFi->lt($ostk, $Ostk));
ok($objFi->eq("u\x{308}", $uuml));
ok($objFi->eq("U\x{308}", $Uuml));
+ok($objFi->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objFi->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objFi->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objFi->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objFi->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objFi->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objFi->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objFi->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objFi->eq("\x{1EF}", "\x{292}\x{30C}"));
ok($objFi->eq("\x{1EE}", "\x{1B7}\x{30C}"));
+
+# 61
+
ok($objFi->eq("a\x{30A}", $arng));
ok($objFi->eq("A\x{30A}", $Arng));
ok($objFi->eq("A\x{30A}", "\x{212B}"));
@@ -104,15 +115,19 @@ ok($objFi->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objFi->eq("A\x{30A}\x{301}", "\x{1FA}"));
ok($objFi->eq("a\x{308}", $auml));
ok($objFi->eq("A\x{308}", $Auml));
+ok($objFi->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objFi->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objFi->eq("\x{1FD}", "$ae\x{301}"));
ok($objFi->eq("\x{1FC}", "$AE\x{301}"));
ok($objFi->eq("\x{1E3}", "$ae\x{304}"));
ok($objFi->eq("\x{1E2}", "$AE\x{304}"));
ok($objFi->eq("o\x{308}", $ouml));
ok($objFi->eq("O\x{308}", $Ouml));
+ok($objFi->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objFi->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objFi->eq("o\x{338}", $ostk));
ok($objFi->eq("O\x{338}", $Ostk));
ok($objFi->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objFi->eq("O\x{338}\x{301}", "\x{1FE}"));
-# 70
+# 82
diff --git a/cpan/Unicode-Collate/t/loc_fil.t b/cpan/Unicode-Collate/t/loc_fil.t
new file mode 100644
index 0000000000..811f0dfaa0
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_fil.t
@@ -0,0 +1,40 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 14;
+
+my $objFil = Unicode::Collate::Locale->
+ new(locale => 'FIL', normalization => undef);
+
+ok(1);
+ok($objFil->getlocale, 'fil');
+
+$objFil->change(level => 1);
+
+ok($objFil->lt("n", "n\x{303}"));
+ok($objFil->lt("nz","n\x{303}"));
+ok($objFil->lt("n\x{303}", "ng"));
+ok($objFil->gt("o", "ng"));
+
+# 6
+
+$objFil->change(level => 2);
+
+ok($objFil->eq("ng", "Ng"));
+ok($objFil->eq("Ng", "NG"));
+ok($objFil->eq("n\x{303}", "N\x{303}"));
+
+# 9
+
+$objFil->change(level => 3);
+
+ok($objFil->lt("ng", "Ng"));
+ok($objFil->lt("Ng", "NG"));
+ok($objFil->lt("n\x{303}", "N\x{303}"));
+ok($objFil->eq("n\x{303}", pack('U', 0xF1)));
+ok($objFil->eq("N\x{303}", pack('U', 0xD1)));
+
+# 14
diff --git a/cpan/Unicode-Collate/t/loc_fo.t b/cpan/Unicode-Collate/t/loc_fo.t
index 04799a2f55..e072d6e58a 100644
--- a/cpan/Unicode-Collate/t/loc_fo.t
+++ b/cpan/Unicode-Collate/t/loc_fo.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 93;
+plan tests => 105;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -118,25 +118,37 @@ ok($objFo->eq("d\x{335}", "\x{111}"));
ok($objFo->eq("D\x{335}", "\x{110}"));
ok($objFo->eq("u\x{308}", $uuml));
ok($objFo->eq("U\x{308}", $Uuml));
+ok($objFo->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objFo->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objFo->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objFo->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objFo->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objFo->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objFo->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objFo->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objFo->eq("u\x{30B}", "\x{171}"));
ok($objFo->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
ok($objFo->eq("\x{1FD}", "$ae\x{301}"));
ok($objFo->eq("\x{1FC}", "$AE\x{301}"));
ok($objFo->eq("\x{1E3}", "$ae\x{304}"));
ok($objFo->eq("\x{1E2}", "$AE\x{304}"));
ok($objFo->eq("a\x{308}", $auml));
ok($objFo->eq("A\x{308}", $Auml));
+ok($objFo->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objFo->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objFo->eq("e\x{328}", "\x{119}"));
ok($objFo->eq("E\x{328}", "\x{118}"));
-
-# 80
-
ok($objFo->eq("o\x{338}", $ostk));
ok($objFo->eq("O\x{338}", $Ostk));
ok($objFo->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objFo->eq("O\x{338}\x{301}", "\x{1FE}"));
ok($objFo->eq("o\x{308}", $ouml));
ok($objFo->eq("O\x{308}", $Ouml));
+ok($objFo->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objFo->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objFo->eq("o\x{30B}", "\x{151}"));
ok($objFo->eq("O\x{30B}", "\x{150}"));
ok($objFo->eq("a\x{30A}", $arng));
@@ -145,4 +157,4 @@ ok($objFo->eq("A\x{30A}", "\x{212B}"));
ok($objFo->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objFo->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 93
+# 105
diff --git a/cpan/Unicode-Collate/t/loc_ha.t b/cpan/Unicode-Collate/t/loc_ha.t
new file mode 100644
index 0000000000..0f7c399b51
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ha.t
@@ -0,0 +1,60 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 34;
+
+my $objHa = Unicode::Collate::Locale->
+ new(locale => 'HA', normalization => undef);
+
+ok(1);
+ok($objHa->getlocale, 'ha');
+
+$objHa->change(level => 1);
+
+ok($objHa->lt("b", "\x{253}"));
+ok($objHa->gt("c", "\x{253}"));
+ok($objHa->lt("d", "\x{257}"));
+ok($objHa->gt("e", "\x{257}"));
+ok($objHa->lt("k", "\x{199}"));
+ok($objHa->gt("l", "\x{199}"));
+ok($objHa->lt("s", "sh"));
+ok($objHa->gt("t", "sh"));
+ok($objHa->lt("t", "ts"));
+ok($objHa->gt("u", "ts"));
+ok($objHa->lt("y", "\x{1B4}"));
+ok($objHa->gt("z", "\x{1B4}"));
+
+# 14
+
+$objHa->change(level => 2);
+
+ok($objHa->eq("\x{253}", "\x{181}"));
+ok($objHa->eq("\x{257}", "\x{18A}"));
+ok($objHa->eq("\x{199}", "\x{198}"));
+ok($objHa->eq("sh", "Sh"));
+ok($objHa->eq("Sh", "SH"));
+ok($objHa->eq("ts", "Ts"));
+ok($objHa->eq("Ts", "TS"));
+ok($objHa->eq("'y", "'Y"));
+ok($objHa->eq("\x{1B4}", "\x{1B3}"));
+
+# 23
+
+$objHa->change(level => 3);
+
+ok($objHa->lt("\x{253}", "\x{181}"));
+ok($objHa->lt("\x{257}", "\x{18A}"));
+ok($objHa->lt("\x{199}", "\x{198}"));
+ok($objHa->lt("sh", "Sh"));
+ok($objHa->lt("Sh", "SH"));
+ok($objHa->lt("ts", "Ts"));
+ok($objHa->lt("Ts", "TS"));
+ok($objHa->lt("'y", "'Y"));
+ok($objHa->lt("\x{1B4}", "\x{1B3}"));
+ok($objHa->eq("'y", "\x{1B4}"));
+ok($objHa->eq("'Y", "\x{1B3}"));
+
+# 34
diff --git a/cpan/Unicode-Collate/t/loc_is.t b/cpan/Unicode-Collate/t/loc_is.t
index 25a50a67c8..4e02ec8510 100644
--- a/cpan/Unicode-Collate/t/loc_is.t
+++ b/cpan/Unicode-Collate/t/loc_is.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 94;
+plan tests => 98;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -127,8 +127,12 @@ ok($objIs->eq("\x{1E3}", "$ae\x{304}"));
ok($objIs->eq("\x{1E2}", "$AE\x{304}"));
ok($objIs->eq("a\x{308}", $auml));
ok($objIs->eq("A\x{308}", $Auml));
+ok($objIs->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objIs->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objIs->eq("o\x{308}", $ouml));
ok($objIs->eq("O\x{308}", $Ouml));
+ok($objIs->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objIs->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objIs->eq("o\x{338}", $ostk));
ok($objIs->eq("O\x{338}", $Ostk));
ok($objIs->eq("o\x{338}\x{301}", "\x{1FF}"));
@@ -139,7 +143,7 @@ ok($objIs->eq("A\x{30A}", "\x{212B}"));
ok($objIs->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objIs->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 88
+# 92
$objIs->change(upper_before_lower => 1);
@@ -150,4 +154,4 @@ ok($objIs->gt($ouml, $Ouml));
ok($objIs->gt($ostk, $Ostk));
ok($objIs->gt($arng, $Arng));
-# 94
+# 98
diff --git a/cpan/Unicode-Collate/t/loc_kl.t b/cpan/Unicode-Collate/t/loc_kl.t
index 5b0a9a708a..0d0aa032fd 100644
--- a/cpan/Unicode-Collate/t/loc_kl.t
+++ b/cpan/Unicode-Collate/t/loc_kl.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 89;
+plan tests => 101;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -114,25 +114,37 @@ ok($objKl->eq("d\x{335}", "\x{111}"));
ok($objKl->eq("D\x{335}", "\x{110}"));
ok($objKl->eq("u\x{308}", $uuml));
ok($objKl->eq("U\x{308}", $Uuml));
+ok($objKl->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objKl->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objKl->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objKl->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objKl->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objKl->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objKl->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objKl->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objKl->eq("u\x{30B}", "\x{171}"));
ok($objKl->eq("U\x{30B}", "\x{170}"));
+
+# 76
+
ok($objKl->eq("\x{1FD}", "$ae\x{301}"));
ok($objKl->eq("\x{1FC}", "$AE\x{301}"));
ok($objKl->eq("\x{1E3}", "$ae\x{304}"));
ok($objKl->eq("\x{1E2}", "$AE\x{304}"));
ok($objKl->eq("a\x{308}", $auml));
ok($objKl->eq("A\x{308}", $Auml));
+ok($objKl->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objKl->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objKl->eq("e\x{328}", "\x{119}"));
ok($objKl->eq("E\x{328}", "\x{118}"));
-
-# 76
-
ok($objKl->eq("o\x{338}", $ostk));
ok($objKl->eq("O\x{338}", $Ostk));
ok($objKl->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objKl->eq("O\x{338}\x{301}", "\x{1FE}"));
ok($objKl->eq("o\x{308}", $ouml));
ok($objKl->eq("O\x{308}", $Ouml));
+ok($objKl->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objKl->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objKl->eq("o\x{30B}", "\x{151}"));
ok($objKl->eq("O\x{30B}", "\x{150}"));
ok($objKl->eq("a\x{30A}", $arng));
@@ -141,4 +153,4 @@ ok($objKl->eq("A\x{30A}", "\x{212B}"));
ok($objKl->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objKl->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 89
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_lt.t b/cpan/Unicode-Collate/t/loc_lt.t
new file mode 100644
index 0000000000..ef5da1c395
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_lt.t
@@ -0,0 +1,91 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 55;
+
+my $objLt = Unicode::Collate::Locale->
+ new(locale => 'LT', normalization => undef);
+
+ok(1);
+ok($objLt->getlocale, 'lt');
+
+$objLt->change(level => 1);
+
+ok($objLt->lt("c", "c\x{30C}"));
+ok($objLt->gt("d", "c\x{30C}"));
+ok($objLt->lt("s", "s\x{30C}"));
+ok($objLt->gt("t", "s\x{30C}"));
+ok($objLt->lt("z", "z\x{30C}"));
+ok($objLt->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
+
+# 8
+
+ok($objLt->eq( "\x{328}", "\x{307}"));
+ok($objLt->eq("e\x{328}", "e\x{307}"));
+ok($objLt->eq("i\x{328}", "i\x{307}"));
+ok($objLt->eq('i', 'y'));
+
+$objLt->change(level => 2);
+
+ok($objLt->lt( "\x{328}", "\x{307}"));
+ok($objLt->lt("e\x{328}", "e\x{307}"));
+ok($objLt->lt("i\x{328}", "i\x{307}"));
+ok($objLt->lt('i', 'y'));
+
+# 16
+
+ok($objLt->eq("c\x{30C}", "C\x{30C}"));
+ok($objLt->eq("s\x{30C}", "S\x{30C}"));
+ok($objLt->eq("z\x{30C}", "Z\x{30C}"));
+ok($objLt->eq('y', 'Y'));
+ok($objLt->eq("e\x{307}", "E\x{307}"));
+ok($objLt->eq("i\x{307}", "I\x{307}"));
+ok($objLt->eq("a\x{328}", "A\x{328}"));
+ok($objLt->eq("e\x{328}", "E\x{328}"));
+ok($objLt->eq("i\x{328}", "I\x{328}"));
+ok($objLt->eq("u\x{328}", "U\x{328}"));
+
+# 26
+
+$objLt->change(level => 3);
+
+ok($objLt->lt("c\x{30C}", "C\x{30C}"));
+ok($objLt->lt("s\x{30C}", "S\x{30C}"));
+ok($objLt->lt("z\x{30C}", "Z\x{30C}"));
+ok($objLt->lt('y', 'Y'));
+ok($objLt->lt("e\x{307}", "E\x{307}"));
+ok($objLt->lt("i\x{307}", "I\x{307}"));
+ok($objLt->lt("a\x{328}", "A\x{328}"));
+ok($objLt->lt("e\x{328}", "E\x{328}"));
+ok($objLt->lt("i\x{328}", "I\x{328}"));
+ok($objLt->lt("u\x{328}", "U\x{328}"));
+
+# 36
+
+ok($objLt->eq("c\x{30C}", "\x{10D}"));
+ok($objLt->eq("C\x{30C}", "\x{10C}"));
+ok($objLt->eq("s\x{30C}", "\x{161}"));
+ok($objLt->eq("S\x{30C}", "\x{160}"));
+ok($objLt->eq("z\x{30C}", "\x{17E}"));
+ok($objLt->eq("Z\x{30C}", "\x{17D}"));
+ok($objLt->eq("e\x{307}", "\x{117}"));
+ok($objLt->eq("E\x{307}", "\x{116}"));
+ok($objLt->eq("I\x{307}", "\x{130}"));
+
+# 45
+
+ok($objLt->eq("a\x{328}", "\x{105}"));
+ok($objLt->eq("A\x{328}", "\x{104}"));
+ok($objLt->eq("e\x{328}", "\x{119}"));
+ok($objLt->eq("E\x{328}", "\x{118}"));
+ok($objLt->eq("i\x{328}", "\x{12F}"));
+ok($objLt->eq("I\x{328}", "\x{12E}"));
+ok($objLt->eq("u\x{328}", "\x{173}"));
+ok($objLt->eq("U\x{328}", "\x{172}"));
+ok($objLt->eq("u\x{304}", "\x{16B}"));
+ok($objLt->eq("U\x{304}", "\x{16A}"));
+
+# 55
diff --git a/cpan/Unicode-Collate/t/loc_mt.t b/cpan/Unicode-Collate/t/loc_mt.t
new file mode 100644
index 0000000000..3a5c92cf90
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_mt.t
@@ -0,0 +1,76 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 44;
+
+my $objMt = Unicode::Collate::Locale->
+ new(locale => 'MT', normalization => undef);
+
+ok(1);
+ok($objMt->getlocale, 'mt');
+
+$objMt->change(level => 1);
+
+ok($objMt->lt("c", "c\x{307}"));
+ok($objMt->gt("d", "c\x{307}"));
+ok($objMt->lt("f", "g\x{307}"));
+ok($objMt->gt("g", "g\x{307}"));
+ok($objMt->lt("g", "gh\x{335}"));
+ok($objMt->gt("h", "gh\x{335}"));
+ok($objMt->lt("h", "h\x{335}"));
+ok($objMt->gt("i", "h\x{335}"));
+ok($objMt->lt("y", "z\x{307}"));
+ok($objMt->gt("z", "z\x{307}"));
+
+# 12
+
+$objMt->change(level => 2);
+
+ok($objMt->eq("c\x{307}", "C\x{307}"));
+ok($objMt->eq("g\x{307}", "G\x{307}"));
+ok($objMt->eq("gh\x{335}","gH\x{335}"));
+ok($objMt->eq("gH\x{335}","Gh\x{335}"));
+ok($objMt->eq("Gh\x{335}","GH\x{335}"));
+ok($objMt->eq("h\x{335}", "H\x{335}"));
+ok($objMt->eq("z\x{307}", "Z\x{307}"));
+
+# 19
+
+$objMt->change(level => 3);
+
+ok($objMt->gt("c\x{307}", "C\x{307}"));
+ok($objMt->gt("g\x{307}", "G\x{307}"));
+ok($objMt->gt("gh\x{335}","gH\x{335}"));
+ok($objMt->gt("gH\x{335}","Gh\x{335}"));
+ok($objMt->gt("Gh\x{335}","GH\x{335}"));
+ok($objMt->gt("h\x{335}", "H\x{335}"));
+ok($objMt->gt("z\x{307}", "Z\x{307}"));
+
+# 26
+
+ok($objMt->eq("c\x{307}", "\x{10B}"));
+ok($objMt->eq("C\x{307}", "\x{10A}"));
+ok($objMt->eq("g\x{307}", "\x{121}"));
+ok($objMt->eq("G\x{307}", "\x{120}"));
+ok($objMt->eq("gh\x{335}","g\x{127}"));
+ok($objMt->eq("gH\x{335}","g\x{126}"));
+ok($objMt->eq("Gh\x{335}","G\x{127}"));
+ok($objMt->eq("GH\x{335}","G\x{126}"));
+ok($objMt->eq("h\x{335}", "\x{127}"));
+ok($objMt->eq("H\x{335}", "\x{126}"));
+ok($objMt->eq("z\x{307}", "\x{17C}"));
+ok($objMt->eq("Z\x{307}", "\x{17B}"));
+
+# 38
+
+ok($objMt->gt("a", "A"));
+ok($objMt->gt("b", "B"));
+ok($objMt->gt("c", "C"));
+ok($objMt->gt("x", "X"));
+ok($objMt->gt("y", "Y"));
+ok($objMt->gt("z", "Z"));
+
+# 44
diff --git a/cpan/Unicode-Collate/t/loc_nb.t b/cpan/Unicode-Collate/t/loc_nb.t
index 80fc45ed0e..22191e3d63 100644
--- a/cpan/Unicode-Collate/t/loc_nb.t
+++ b/cpan/Unicode-Collate/t/loc_nb.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 83;
+plan tests => 95;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -110,17 +110,27 @@ ok($objNb->eq("d\x{335}", "\x{111}"));
ok($objNb->eq("D\x{335}", "\x{110}"));
ok($objNb->eq("u\x{308}", $uuml));
ok($objNb->eq("U\x{308}", $Uuml));
+ok($objNb->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objNb->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objNb->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objNb->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objNb->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objNb->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objNb->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objNb->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objNb->eq("u\x{30B}", "\x{171}"));
ok($objNb->eq("U\x{30B}", "\x{170}"));
+
+# 70
+
ok($objNb->eq("\x{1FD}", "$ae\x{301}"));
ok($objNb->eq("\x{1FC}", "$AE\x{301}"));
ok($objNb->eq("\x{1E3}", "$ae\x{304}"));
ok($objNb->eq("\x{1E2}", "$AE\x{304}"));
-
-# 66
-
ok($objNb->eq("a\x{308}", $auml));
ok($objNb->eq("A\x{308}", $Auml));
+ok($objNb->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objNb->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objNb->eq("e\x{328}", "\x{119}"));
ok($objNb->eq("E\x{328}", "\x{118}"));
ok($objNb->eq("o\x{338}", $ostk));
@@ -129,6 +139,8 @@ ok($objNb->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objNb->eq("O\x{338}\x{301}", "\x{1FE}"));
ok($objNb->eq("o\x{308}", $ouml));
ok($objNb->eq("O\x{308}", $Ouml));
+ok($objNb->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objNb->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objNb->eq("o\x{30B}", "\x{151}"));
ok($objNb->eq("O\x{30B}", "\x{150}"));
ok($objNb->eq("a\x{30A}", $arng));
@@ -137,4 +149,4 @@ ok($objNb->eq("A\x{30A}", "\x{212B}"));
ok($objNb->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objNb->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 83
+# 95
diff --git a/cpan/Unicode-Collate/t/loc_nn.t b/cpan/Unicode-Collate/t/loc_nn.t
index a3092a1aef..9620209d14 100644
--- a/cpan/Unicode-Collate/t/loc_nn.t
+++ b/cpan/Unicode-Collate/t/loc_nn.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 83;
+plan tests => 95;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -110,17 +110,27 @@ ok($objNn->eq("d\x{335}", "\x{111}"));
ok($objNn->eq("D\x{335}", "\x{110}"));
ok($objNn->eq("u\x{308}", $uuml));
ok($objNn->eq("U\x{308}", $Uuml));
+ok($objNn->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objNn->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objNn->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objNn->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objNn->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objNn->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objNn->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objNn->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objNn->eq("u\x{30B}", "\x{171}"));
ok($objNn->eq("U\x{30B}", "\x{170}"));
+
+# 70
+
ok($objNn->eq("\x{1FD}", "$ae\x{301}"));
ok($objNn->eq("\x{1FC}", "$AE\x{301}"));
ok($objNn->eq("\x{1E3}", "$ae\x{304}"));
ok($objNn->eq("\x{1E2}", "$AE\x{304}"));
-
-# 66
-
ok($objNn->eq("a\x{308}", $auml));
ok($objNn->eq("A\x{308}", $Auml));
+ok($objNn->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objNn->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objNn->eq("e\x{328}", "\x{119}"));
ok($objNn->eq("E\x{328}", "\x{118}"));
ok($objNn->eq("o\x{338}", $ostk));
@@ -129,6 +139,8 @@ ok($objNn->eq("o\x{338}\x{301}", "\x{1FF}"));
ok($objNn->eq("O\x{338}\x{301}", "\x{1FE}"));
ok($objNn->eq("o\x{308}", $ouml));
ok($objNn->eq("O\x{308}", $Ouml));
+ok($objNn->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objNn->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objNn->eq("o\x{30B}", "\x{151}"));
ok($objNn->eq("O\x{30B}", "\x{150}"));
ok($objNn->eq("a\x{30A}", $arng));
@@ -137,4 +149,4 @@ ok($objNn->eq("A\x{30A}", "\x{212B}"));
ok($objNn->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objNn->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 83
+# 95
diff --git a/cpan/Unicode-Collate/t/loc_sk.t b/cpan/Unicode-Collate/t/loc_sk.t
index cf762f7bce..8a6a0df12b 100644
--- a/cpan/Unicode-Collate/t/loc_sk.t
+++ b/cpan/Unicode-Collate/t/loc_sk.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 40;
+plan tests => 42;
my $objSk = Unicode::Collate::Locale->
new(locale => 'SK', normalization => undef);
@@ -57,6 +57,8 @@ ok($objSk->lt("Ch", "CH"));
ok($objSk->eq("a\x{308}", pack('U', 0xE4)));
ok($objSk->eq("A\x{308}", pack('U', 0xC4)));
+ok($objSk->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objSk->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objSk->eq("c\x{30C}", "\x{10D}"));
ok($objSk->eq("C\x{30C}", "\x{10C}"));
ok($objSk->eq("o\x{302}", pack('U', 0xF4)));
@@ -66,4 +68,4 @@ ok($objSk->eq("S\x{30C}", "\x{160}"));
ok($objSk->eq("z\x{30C}", "\x{17E}"));
ok($objSk->eq("Z\x{30C}", "\x{17D}"));
-# 40
+# 42
diff --git a/cpan/Unicode-Collate/t/loc_sv.t b/cpan/Unicode-Collate/t/loc_sv.t
index b695bc1b60..7df5ea6b90 100644
--- a/cpan/Unicode-Collate/t/loc_sv.t
+++ b/cpan/Unicode-Collate/t/loc_sv.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 95;
+plan tests => 107;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -122,8 +122,19 @@ ok($objSv->eq("d\x{335}", "\x{111}"));
ok($objSv->eq("D\x{335}", "\x{110}"));
ok($objSv->eq("u\x{308}", $uuml));
ok($objSv->eq("U\x{308}", $Uuml));
+ok($objSv->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objSv->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objSv->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objSv->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objSv->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objSv->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objSv->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objSv->eq("U\x{308}\x{30C}", "\x{1D9}"));
ok($objSv->eq("u\x{30B}", "\x{171}"));
ok($objSv->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
ok($objSv->eq("a\x{30A}", $arng));
ok($objSv->eq("A\x{30A}", $Arng));
ok($objSv->eq("A\x{30A}", "\x{212B}"));
@@ -131,9 +142,8 @@ ok($objSv->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objSv->eq("A\x{30A}\x{301}", "\x{1FA}"));
ok($objSv->eq("a\x{308}", $auml));
ok($objSv->eq("A\x{308}", $Auml));
-
-# 79
-
+ok($objSv->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objSv->eq("A\x{308}\x{304}", "\x{1DE}"));
ok($objSv->eq("\x{1FD}", "$ae\x{301}"));
ok($objSv->eq("\x{1FC}", "$AE\x{301}"));
ok($objSv->eq("\x{1E3}", "$ae\x{304}"));
@@ -142,6 +152,8 @@ ok($objSv->eq("e\x{328}", "\x{119}"));
ok($objSv->eq("E\x{328}", "\x{118}"));
ok($objSv->eq("o\x{308}", $ouml));
ok($objSv->eq("O\x{308}", $Ouml));
+ok($objSv->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objSv->eq("O\x{308}\x{304}", "\x{22A}"));
ok($objSv->eq("o\x{338}", $ostk));
ok($objSv->eq("O\x{338}", $Ostk));
ok($objSv->eq("o\x{338}\x{301}", "\x{1FF}"));
@@ -151,4 +163,4 @@ ok($objSv->eq("O\x{30B}", "\x{150}"));
ok($objSv->eq("o\x{302}", $ocrc));
ok($objSv->eq("O\x{302}", $Ocrc));
-# 95
+# 107
diff --git a/cpan/Unicode-Collate/t/loc_tr.t b/cpan/Unicode-Collate/t/loc_tr.t
new file mode 100644
index 0000000000..6459294710
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_tr.t
@@ -0,0 +1,89 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 57;
+
+my $objTr = Unicode::Collate::Locale->
+ new(locale => 'TR', normalization => undef);
+
+ok(1);
+ok($objTr->getlocale, 'tr');
+
+$objTr->change(level => 1);
+
+ok($objTr->lt("c", "c\x{327}"));
+ok($objTr->gt("d", "c\x{327}"));
+ok($objTr->lt("g", "g\x{306}"));
+ok($objTr->gt("h", "g\x{306}"));
+ok($objTr->lt("h", "I"));
+ok($objTr->lt("I", "i"));
+ok($objTr->gt("j", "i"));
+ok($objTr->lt("o", "o\x{308}"));
+ok($objTr->gt("p", "o\x{308}"));
+ok($objTr->lt("s", "s\x{327}"));
+ok($objTr->gt("t", "s\x{327}"));
+ok($objTr->lt("u", "u\x{308}"));
+ok($objTr->gt("v", "u\x{308}"));
+
+# 15
+
+$objTr->change(level => 2);
+
+ok($objTr->eq("c\x{327}", "C\x{327}"));
+ok($objTr->eq("g\x{306}", "G\x{306}"));
+ok($objTr->eq("\x{131}", "I"));
+ok($objTr->eq("\x{130}", "i"));
+ok($objTr->eq("o\x{308}", "O\x{308}"));
+ok($objTr->eq("s\x{327}", "S\x{327}"));
+ok($objTr->eq("u\x{308}", "U\x{308}"));
+
+# 22
+
+$objTr->change(level => 3);
+
+ok($objTr->lt("c\x{327}", "C\x{327}"));
+ok($objTr->lt("g\x{306}", "G\x{306}"));
+ok($objTr->lt("\x{131}", "I"));
+ok($objTr->gt("\x{130}", "i"));
+ok($objTr->lt("o\x{308}", "O\x{308}"));
+ok($objTr->lt("s\x{327}", "S\x{327}"));
+ok($objTr->lt("u\x{308}", "U\x{308}"));
+
+# 29
+
+ok($objTr->eq("c\x{327}", pack('U', 0xE7)));
+ok($objTr->eq("C\x{327}", pack('U', 0xC7)));
+ok($objTr->eq("g\x{306}", "\x{11F}"));
+ok($objTr->eq("G\x{306}", "\x{11E}"));
+ok($objTr->eq("I\x{300}", pack('U', 0xCC)));
+ok($objTr->eq("I\x{301}", pack('U', 0xCD)));
+ok($objTr->eq("I\x{302}", pack('U', 0xCE)));
+ok($objTr->eq("I\x{308}", pack('U', 0xCF)));
+ok($objTr->eq("I\x{304}", "\x{12A}"));
+ok($objTr->eq("I\x{306}", "\x{12C}"));
+ok($objTr->eq("I\x{328}", "\x{12E}"));
+ok($objTr->eq("I\x{307}", "\x{130}"));
+
+# 41
+
+ok($objTr->eq("o\x{308}", pack('U', 0xF6)));
+ok($objTr->eq("O\x{308}", pack('U', 0xD6)));
+ok($objTr->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objTr->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objTr->eq("s\x{327}", "\x{15F}"));
+ok($objTr->eq("S\x{327}", "\x{15E}"));
+ok($objTr->eq("u\x{308}", pack('U', 0xFC)));
+ok($objTr->eq("U\x{308}", pack('U', 0xDC)));
+ok($objTr->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objTr->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objTr->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objTr->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objTr->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objTr->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objTr->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objTr->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 57
diff --git a/cpan/Unicode-Collate/t/loc_wo.t b/cpan/Unicode-Collate/t/loc_wo.t
new file mode 100644
index 0000000000..ceff5068e9
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_wo.t
@@ -0,0 +1,63 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 34;
+
+my $objWo = Unicode::Collate::Locale->
+ new(locale => 'WO', normalization => undef);
+
+ok(1);
+ok($objWo->getlocale, 'wo');
+
+$objWo->change(level => 1);
+
+ok($objWo->lt("a", "a\x{300}"));
+ok($objWo->gt("b", "a\x{300}"));
+ok($objWo->lt("e", "e\x{301}"));
+ok($objWo->lt("e\x{301}", "e\x{308}"));
+ok($objWo->gt("f", "e\x{308}"));
+ok($objWo->lt("n", "n\x{303}"));
+ok($objWo->lt("n\x{303}", "\x{14B}"));
+ok($objWo->gt("o", "\x{14B}"));
+ok($objWo->lt("o", "o\x{301}"));
+ok($objWo->gt("p", "o\x{301}"));
+
+# 12
+
+$objWo->change(level => 2);
+
+ok($objWo->eq("a\x{300}", "A\x{300}"));
+ok($objWo->eq("e\x{301}", "E\x{301}"));
+ok($objWo->eq("e\x{308}", "E\x{308}"));
+ok($objWo->eq("n\x{303}", "N\x{303}"));
+ok($objWo->eq( "\x{14B}", "\x{14A}"));
+ok($objWo->eq("o\x{301}", "O\x{301}"));
+
+# 18
+
+$objWo->change(level => 3);
+
+ok($objWo->lt("a\x{300}", "A\x{300}"));
+ok($objWo->lt("e\x{301}", "E\x{301}"));
+ok($objWo->lt("e\x{308}", "E\x{308}"));
+ok($objWo->lt("n\x{303}", "N\x{303}"));
+ok($objWo->lt( "\x{14B}", "\x{14A}"));
+ok($objWo->lt("o\x{301}", "O\x{301}"));
+
+# 24
+
+ok($objWo->eq("a\x{300}", pack('U', 0xE0)));
+ok($objWo->eq("A\x{300}", pack('U', 0xC0)));
+ok($objWo->eq("e\x{301}", pack('U', 0xE9)));
+ok($objWo->eq("E\x{301}", pack('U', 0xC9)));
+ok($objWo->eq("e\x{308}", pack('U', 0xEB)));
+ok($objWo->eq("E\x{308}", pack('U', 0xCB)));
+ok($objWo->eq("n\x{303}", pack('U', 0xF1)));
+ok($objWo->eq("N\x{303}", pack('U', 0xD1)));
+ok($objWo->eq("o\x{301}", pack('U', 0xF3)));
+ok($objWo->eq("O\x{301}", pack('U', 0xD3)));
+
+# 34
diff --git a/cpan/Unicode-Collate/t/loc_yo.t b/cpan/Unicode-Collate/t/loc_yo.t
new file mode 100644
index 0000000000..9a2a1a01fc
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_yo.t
@@ -0,0 +1,56 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 27;
+
+my $objYo = Unicode::Collate::Locale->
+ new(locale => 'YO', normalization => undef);
+
+ok(1);
+ok($objYo->getlocale, 'yo');
+
+$objYo->change(level => 1);
+
+ok($objYo->lt("e", "e\x{323}"));
+ok($objYo->gt("f", "e\x{323}"));
+ok($objYo->lt("g", "gb"));
+ok($objYo->lt("gz","gb"));
+ok($objYo->gt("h", "gb"));
+ok($objYo->lt("o", "o\x{323}"));
+ok($objYo->gt("p", "o\x{323}"));
+ok($objYo->lt("s", "s\x{323}"));
+ok($objYo->gt("t", "s\x{323}"));
+
+# 11
+
+$objYo->change(level => 2);
+
+ok($objYo->eq("e\x{323}", "E\x{323}"));
+ok($objYo->eq("gb", "Gb"));
+ok($objYo->eq("Gb", "GB"));
+ok($objYo->eq("o\x{323}", "O\x{323}"));
+ok($objYo->eq("s\x{323}", "S\x{323}"));
+
+# 16
+
+$objYo->change(level => 3);
+
+ok($objYo->lt("e\x{323}", "E\x{323}"));
+ok($objYo->lt("gb", "Gb"));
+ok($objYo->lt("Gb", "GB"));
+ok($objYo->lt("o\x{323}", "O\x{323}"));
+ok($objYo->lt("s\x{323}", "S\x{323}"));
+
+# 21
+
+ok($objYo->eq("e\x{323}", "\x{1EB9}"));
+ok($objYo->eq("E\x{323}", "\x{1EB8}"));
+ok($objYo->eq("o\x{323}", "\x{1ECD}"));
+ok($objYo->eq("O\x{323}", "\x{1ECC}"));
+ok($objYo->eq("s\x{323}", "\x{1E63}"));
+ok($objYo->eq("S\x{323}", "\x{1E62}"));
+
+# 27