summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-07 00:12:46 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-07 00:12:46 +0100
commit6709de8803f0c22efc6a56325285452eb6dbb1e1 (patch)
treef29dae3cd1a1bd7bca7e2a8fe77e27a443c4fb87 /cpan/Unicode-Collate
parent6e0eede9b1aceb547aaf28a246d0f7792ed6e360 (diff)
downloadperl-6709de8803f0c22efc6a56325285452eb6dbb1e1.tar.gz
Update Unicode-Collate to CPAN version 0.62
[DELTA] 0.62 Wed Oct 6 21:35:54 2010 - U::C::Locale newly supports locales: ar, hu, hy, se, to, uk. - Vietnamese (vi): added tailoring for U+0340 and U+0341.
Diffstat (limited to 'cpan/Unicode-Collate')
-rw-r--r--cpan/Unicode-Collate/Changes8
-rw-r--r--cpan/Unicode-Collate/Collate.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale.pm16
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ar.pl7
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hu.pl150
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hy.pl6
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nb.pl70
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/se.pl143
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/to.pl51
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/uk.pl6
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/vi.pl9
-rw-r--r--cpan/Unicode-Collate/README2
-rw-r--r--cpan/Unicode-Collate/t/loc_ar.t27
-rw-r--r--cpan/Unicode-Collate/t/loc_deph.t13
-rw-r--r--cpan/Unicode-Collate/t/loc_hu.t284
-rw-r--r--cpan/Unicode-Collate/t/loc_hy.t32
-rw-r--r--cpan/Unicode-Collate/t/loc_se.t269
-rw-r--r--cpan/Unicode-Collate/t/loc_to.t169
-rw-r--r--cpan/Unicode-Collate/t/loc_uk.t34
-rw-r--r--cpan/Unicode-Collate/t/loc_vi.t86
20 files changed, 1367 insertions, 17 deletions
diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes
index 6498e24901..1abdf45635 100644
--- a/cpan/Unicode-Collate/Changes
+++ b/cpan/Unicode-Collate/Changes
@@ -1,12 +1,16 @@
Revision history for Perl module Unicode::Collate.
+0.62 Wed Oct 6 21:35:54 2010
+ - U::C::Locale newly supports locales: ar, hu, hy, se, to, uk.
+ - Vietnamese (vi): added tailoring for U+0340 and U+0341.
+
0.61 Sat Oct 2 11:41:29 2010
- U::C::Locale newly supports locales: hr, ig, sq.
- precomposites of e-dot-below, o-dot-below, o-tilde are tailored as well.
(affected locales: et, yo)
- Vietnamese (vi): added contractions for non-blocked decompositions
- * base + dot-below + diacritical such as "a\x{323}\x{306} etc.
- * base + tone + horn such as "o\x{300}\x{31B}" etc.
+ * base + dot-below + diacritical such as a\x{323}\x{306}, \x{1EA1}\x{306} etc.
+ * base + tone + horn such as o\x{309}\x{31B}, \x{1ECF}\x{31B} etc.
0.60 Thu Sep 23 21:37:36 2010
- bug fix: index() [and its friends including gmatch()] didn't remove
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index 2f0b3a7ae9..4b195df1c5 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.61';
+our $VERSION = '0.62';
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 cff7bc2778..09cb4ce799 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.61';
+our $VERSION = '0.62';
use File::Spec;
@@ -13,20 +13,20 @@ my $KeyPath = File::Spec->catfile('allkeys.txt');
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
- af az ca cs cy da eo es et fi fil fo fr ha haw hr ig is kl
- lt lv mt nn nso om pl ro sk sl sq sv sw tn tr vi wo yo
+ af ar az ca cs cy da eo es et fi fil fo fr ha haw
+ hr hu hy ig is kl lt lv mt nb nn nso om pl ro
+ se sk sl sq sv sw tn to tr uk vi wo yo
);
$LocaleFile{'default'} = '';
$LocaleFile{'de__phonebook'} = 'de_phone';
$LocaleFile{'es__traditional'} = 'es_trad';
- $LocaleFile{'nb'} = 'nn';
sub _locale {
my $locale = shift;
if ($locale) {
$locale = lc $locale;
$locale =~ tr/\-\ \./_/;
- $locale =~ s/_phone\z/_phonebook/;
+ $locale =~ s/_phone(?:bk)?\z/_phonebook/;
$locale =~ s/_trad\z/_traditional/;
$LocaleFile{$locale} and return $locale;
@@ -156,6 +156,7 @@ this method returns a string C<'default'> meaning no special tailoring.
locale name description
----------------------------------------------------------
af Afrikaans
+ ar Arabic
az Azerbaijani (Azeri)
ca Catalan
cs Czech
@@ -173,6 +174,8 @@ this method returns a string C<'default'> meaning no special tailoring.
ha Hausa
haw Hawaiian
hr Croatian
+ hu Hungarian
+ hy Armenian
ig Igbo
is Icelandic
kl Kalaallisut
@@ -185,13 +188,16 @@ this method returns a string C<'default'> meaning no special tailoring.
om Oromo
pl Polish
ro Romanian
+ se Northern Sami
sk Slovak
sl Slovenian
sq Albanian
sv Swedish
sw Swahili
tn Tswana
+ to Tonga
tr Turkish
+ uk Ukrainian
vi Vietnamese
wo Wolof
yo Yoruba
diff --git a/cpan/Unicode-Collate/Collate/Locale/ar.pl b/cpan/Unicode-Collate/Collate/Locale/ar.pl
new file mode 100644
index 0000000000..f52baba2f5
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/ar.pl
@@ -0,0 +1,7 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0629 ; [.18BB.0020.0002.062A] # ARABIC LETTER TEH MARBUTA
+FE93 ; [.18BB.0020.0002.062A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+FE94 ; [.18BB.0020.0002.062A] # ARABIC LETTER TEH MARBUTA FINAL FORM
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/hu.pl b/cpan/Unicode-Collate/Collate/Locale/hu.pl
new file mode 100644
index 0000000000..464243d5a1
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/hu.pl
@@ -0,0 +1,150 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0063 0073 ; [.123E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.123E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.123E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.123E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.1251.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.1251.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.1251.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1251.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.1252.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.1252.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.12B1.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.12B1.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.12B1.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.12B1.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.1331.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.1331.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.1331.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.1331.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.136E.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.136E.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.136E.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.136E.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.1411.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.1411.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.1411.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.1411.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.1434.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.1434.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.14AE.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.14AE.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.14AE.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.14AE.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+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
+0151 ; [.138F.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.138F.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.138F.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.138F.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+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
+0171 ; [.1454.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1454.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1454.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1454.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.123E.0020.0002.0063][.123E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.123E.0020.0002.0063][.123E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.123E.0020.0002.0063][.123E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.123E.0020.0002.0063][.123E.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.123E.0020.0008.0043][.123E.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.123E.0020.0008.0043][.123E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.123E.0020.0008.0043][.123E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.123E.0020.0008.0043][.123E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.1251.0020.0002.0064][.1251.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.1251.0020.0002.0064][.1251.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.1251.0020.0002.0064][.1251.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.1251.0020.0002.0064][.1251.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.1251.0020.0008.0044][.1251.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.1251.0020.0008.0044][.1251.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.1251.0020.0008.0044][.1251.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.1251.0020.0008.0044][.1251.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.1252.0020.0002.0064][.1252.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.1252.0020.0002.0064][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.1252.0020.0002.0064][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.1252.0020.0002.0064][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.1252.0020.0002.0064][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.1252.0020.0002.0064][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.1252.0020.0002.0064][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.1252.0020.0002.0064][.1252.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.1252.0020.0008.0044][.1252.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.1252.0020.0008.0044][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.1252.0020.0008.0044][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.1252.0020.0008.0044][.1252.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.1252.0020.0008.0044][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.1252.0020.0008.0044][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.1252.0020.0008.0044][.1252.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.1252.0020.0008.0044][.1252.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.12B1.0020.0002.0067][.12B1.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.12B1.0020.0002.0067][.12B1.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.12B1.0020.0002.0067][.12B1.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.12B1.0020.0002.0067][.12B1.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.12B1.0020.0008.0047][.12B1.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.12B1.0020.0008.0047][.12B1.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.12B1.0020.0008.0047][.12B1.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.12B1.0020.0008.0047][.12B1.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.1331.0020.0002.006C][.1331.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.1331.0020.0002.006C][.1331.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.1331.0020.0002.006C][.1331.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.1331.0020.0002.006C][.1331.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.1331.0020.0008.004C][.1331.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.1331.0020.0008.004C][.1331.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.1331.0020.0008.004C][.1331.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.1331.0020.0008.004C][.1331.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.136E.0020.0002.006E][.136E.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.136E.0020.0002.006E][.136E.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.136E.0020.0002.006E][.136E.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.136E.0020.0002.006E][.136E.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.136E.0020.0008.004E][.136E.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.136E.0020.0008.004E][.136E.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.136E.0020.0008.004E][.136E.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.136E.0020.0008.004E][.136E.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.1411.0020.0002.0073][.1411.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.1411.0020.0002.0073][.1411.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.1411.0020.0002.0073][.1411.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.1411.0020.0002.0073][.1411.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.1411.0020.0008.0053][.1411.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.1411.0020.0008.0053][.1411.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.1411.0020.0008.0053][.1411.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.1411.0020.0008.0053][.1411.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.1434.0020.0002.0074][.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.1434.0020.0002.0074][.1434.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.1434.0020.0002.0074][.1434.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.1434.0020.0002.0074][.1434.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.1434.0020.0008.0054][.1434.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.1434.0020.0008.0054][.1434.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.1434.0020.0008.0054][.1434.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.1434.0020.0008.0054][.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.14AE.0020.0002.007A][.14AE.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.14AE.0020.0002.007A][.14AE.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.14AE.0020.0002.007A][.14AE.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.14AE.0020.0002.007A][.14AE.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.14AE.0020.0008.005A][.14AE.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.14AE.0020.0008.005A][.14AE.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.14AE.0020.0008.005A][.14AE.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.14AE.0020.0008.005A][.14AE.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/hy.pl b/cpan/Unicode-Collate/Collate/Locale/hy.pl
new file mode 100644
index 0000000000..61ee861bee
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/hy.pl
@@ -0,0 +1,6 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0587 ; [.1858.0020.0002.0584][.FFFF.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0535 0582 ; [.1858.0020.0008.0554][.FFFF.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/nb.pl b/cpan/Unicode-Collate/Collate/Locale/nb.pl
new file mode 100644
index 0000000000..6f6a286b08
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/nb.pl
@@ -0,0 +1,70 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0111 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1250.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+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
+0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.14AE.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.14AE.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.14AE.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.14AE.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.14AE.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.14AE.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.14AE.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+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
+0045 0328 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.14AF.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.14AF.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+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
+004F 030B ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.14AF.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.14AF.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.14B0.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.14B0.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.14B0.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/se.pl b/cpan/Unicode-Collate/Collate/Locale/se.pl
new file mode 100644
index 0000000000..5b8c8e4a3f
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/se.pl
@@ -0,0 +1,143 @@
++{
+# eng, g-stroke, t-stroke don't require tailoring
+ entry => <<'ENTRY', # for DUCET v5.2.0
+00E1 ; [.1224.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1224.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.1224.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1224.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+010D ; [.124D.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.124D.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.124D.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.124D.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0292 ; [.124E.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7 ; [.124E.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+01EF ; [.124F.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.124F.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.124F.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.124F.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+0111 ; [.126A.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.126A.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.126A.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.126A.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.126A.0021.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.126A.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
+01E7 ; [.12BB.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.12BB.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.12BB.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.12BB.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+01E9 ; [.132F.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.132F.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.132F.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.132F.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+0144 ; [.138A.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.138A.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.138A.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.138A.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1 ; [.138A.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.138A.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.138A.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.138A.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+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
+00FE ; [.1438.0021.0002.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.1438.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+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
+0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E ; [.151E.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.151E.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.151E.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.151E.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+00F8 ; [.151F.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.151F.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.151F.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.151F.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.151F.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.151F.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153 ; [.151F.0021.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.151F.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E6 ; [.1520.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1520.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1520.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1520.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1520.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1520.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1520.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5 ; [.1522.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1522.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1522.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1522.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1522.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1522.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1522.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227 ; [.1522.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.1522.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.1522.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.1522.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4 ; [.1523.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1523.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1523.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1523.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1523.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1523.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.1523.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.1523.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.1523.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.1523.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+00F6 ; [.1524.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1524.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1524.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1524.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1524.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1524.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1524.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1524.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1524.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1524.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.1524.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1524.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1524.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1524.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.1524.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.1524.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.1524.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.1524.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.1524.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.1524.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.1524.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1524.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4 ; [.1524.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1524.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1524.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1524.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1524.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1524.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1524.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1524.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1524.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1524.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1524.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1524.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1524.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1524.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB ; [.1524.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.1524.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.1524.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.1524.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/to.pl b/cpan/Unicode-Collate/Collate/Locale/to.pl
new file mode 100644
index 0000000000..c52aa36839
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/to.pl
@@ -0,0 +1,51 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+006E 0067 ; [.136E.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.136E.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.136E.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B ; [.136E.0020.001C.014B] # LATIN SMALL LETTER ENG
+014A ; [.136E.0020.001D.014A] # LATIN CAPITAL LETTER ENG
+02BB ; [.14AE.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD ; [.14AE.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
+0101 ; [.120F.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.120F.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+00E1 ; [.120F.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.120F.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0100 ; [.120F.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.120F.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00C1 ; [.120F.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.120F.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0113 ; [.126B.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.126B.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+00E9 ; [.126B.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.126B.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0112 ; [.126B.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.126B.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00C9 ; [.126B.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.126B.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+012B ; [.12EC.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.12EC.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+00ED ; [.12EC.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.12EC.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+012A ; [.12EC.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.12EC.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00CD ; [.12EC.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.12EC.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+014D ; [.138E.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.138E.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+00F3 ; [.138E.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.138E.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+014C ; [.138E.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.138E.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00D3 ; [.138E.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.138E.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+016B ; [.1453.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1453.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+00FA ; [.1453.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1453.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+016A ; [.1453.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1453.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00DA ; [.1453.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1453.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/uk.pl b/cpan/Unicode-Collate/Collate/Locale/uk.pl
new file mode 100644
index 0000000000..69c28d490f
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/uk.pl
@@ -0,0 +1,6 @@
++{
+ entry => <<'ENTRY', # for DUCET v5.2.0
+0491 ; [.15CD.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.15CD.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/vi.pl b/cpan/Unicode-Collate/Collate/Locale/vi.pl
index ce93c00b3c..7cce80e76e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/vi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/vi.pl
@@ -40,6 +40,7 @@
00DA ; [.1453.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
00FD ; [.149C.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
00DD ; [.149C.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+0341 ; [.0000.0038.0002.0341] # COMBINING ACUTE TONE MARK
0323 ; [.0000.0039.0002.0323] # COMBINING DOT BELOW
1EA1 ; [.120F.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
1EA0 ; [.120F.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
@@ -187,24 +188,32 @@
006F 0323 0302 ; [.138F.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
004F 0323 0302 ; [.138F.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
006F 0300 031B ; [.1390.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.1390.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
006F 0309 031B ; [.1390.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
006F 0303 031B ; [.1390.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
006F 0301 031B ; [.1390.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.1390.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
006F 0323 031B ; [.1390.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
004F 0300 031B ; [.1390.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.1390.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
004F 0309 031B ; [.1390.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
004F 0303 031B ; [.1390.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
004F 0301 031B ; [.1390.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.1390.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
004F 0323 031B ; [.1390.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
0075 0300 031B ; [.1454.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.1454.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
0075 0309 031B ; [.1454.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
0075 0303 031B ; [.1454.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
0075 0301 031B ; [.1454.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.1454.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
0075 0323 031B ; [.1454.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
0055 0300 031B ; [.1454.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.1454.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
0055 0309 031B ; [.1454.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
0055 0303 031B ; [.1454.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
0055 0301 031B ; [.1454.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.1454.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
0055 0323 031B ; [.1454.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
ENTRY
};
diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README
index 78e13f4735..2e12016669 100644
--- a/cpan/Unicode-Collate/README
+++ b/cpan/Unicode-Collate/README
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.61
+Unicode/Collate version 0.62
===============================
NAME
diff --git a/cpan/Unicode-Collate/t/loc_ar.t b/cpan/Unicode-Collate/t/loc_ar.t
new file mode 100644
index 0000000000..3e7777063e
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ar.t
@@ -0,0 +1,27 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 8;
+
+my $objAr = Unicode::Collate::Locale->
+ new(locale => 'AR', normalization => undef);
+
+ok(1);
+ok($objAr->getlocale, 'ar');
+
+$objAr->change(level => 1);
+
+ok($objAr->eq("\x{62A}", "\x{629}"));
+ok($objAr->eq("\x{62A}", "\x{FE93}"));
+ok($objAr->eq("\x{62A}", "\x{FE94}"));
+
+$objAr->change(level => 3);
+
+ok($objAr->eq("\x{62A}", "\x{629}"));
+ok($objAr->eq("\x{62A}", "\x{FE93}"));
+ok($objAr->eq("\x{62A}", "\x{FE94}"));
+
+# 8
diff --git a/cpan/Unicode-Collate/t/loc_deph.t b/cpan/Unicode-Collate/t/loc_deph.t
index 44396cb3fb..3650099d67 100644
--- a/cpan/Unicode-Collate/t/loc_deph.t
+++ b/cpan/Unicode-Collate/t/loc_deph.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 40;
+plan tests => 42;
my $auml = pack 'U', 0xE4;
my $Auml = pack 'U', 0xC4;
@@ -85,3 +85,14 @@ $objDePhoneBook->change(level => 1);
ok($objDePhoneBook->eq("a\x{308}", "ae"));
# 40
+
+my $objDePhonebk = Unicode::Collate::Locale->
+ new(locale => 'de-phonebk', normalization => undef);
+
+ok($objDePhonebk->getlocale, 'de__phonebook');
+
+$objDePhonebk->change(level => 1);
+
+ok($objDePhonebk->eq("a\x{308}", "ae"));
+
+# 42
diff --git a/cpan/Unicode-Collate/t/loc_hu.t b/cpan/Unicode-Collate/t/loc_hu.t
new file mode 100644
index 0000000000..85309a3722
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_hu.t
@@ -0,0 +1,284 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 235;
+
+my $objHu = Unicode::Collate::Locale->
+ new(locale => 'HU', normalization => undef);
+
+ok(1);
+ok($objHu->getlocale, 'hu');
+
+$objHu->change(level => 1);
+
+ok($objHu->lt("c", "cs"));
+ok($objHu->lt("cz","cs"));
+ok($objHu->gt("d", "cs"));
+ok($objHu->lt("d", "dz"));
+ok($objHu->gt("dz","d\x{292}"));
+ok($objHu->lt("dz", "dzs"));
+ok($objHu->lt("dzz","dzs"));
+ok($objHu->gt("e", "dzs"));
+ok($objHu->lt("g", "gy"));
+ok($objHu->lt("gz","gy"));
+ok($objHu->gt("h", "gy"));
+ok($objHu->lt("l", "ly"));
+ok($objHu->lt("lz","ly"));
+ok($objHu->gt("m", "ly"));
+ok($objHu->lt("n", "ny"));
+ok($objHu->lt("nz","ny"));
+ok($objHu->gt("o", "ny"));
+ok($objHu->lt("s", "sz"));
+ok($objHu->gt("sz","s\x{292}"));
+ok($objHu->gt("t", "sz"));
+ok($objHu->lt("t", "ty"));
+ok($objHu->lt("tz","ty"));
+ok($objHu->gt("u", "ty"));
+ok($objHu->lt("z", "zs"));
+ok($objHu->lt("zz", "zs"));
+ok($objHu->lt("zs", "\x{292}"));
+
+# 28
+
+ok($objHu->lt("o", "o\x{308}"));
+ok($objHu->gt("p", "o\x{308}"));
+ok($objHu->lt("u", "u\x{308}"));
+ok($objHu->gt("v", "u\x{308}"));
+
+ok($objHu->eq("o\x{308}", "o\x{30B}"));
+ok($objHu->eq("u\x{308}", "u\x{30B}"));
+
+# 34
+
+$objHu->change(level => 2);
+
+ok($objHu->eq("cs", "cS"));
+ok($objHu->eq("cS", "Cs"));
+ok($objHu->eq("Cs", "CS"));
+ok($objHu->eq("dz", "dZ"));
+ok($objHu->eq("dZ", "Dz"));
+ok($objHu->eq("Dz", "DZ"));
+ok($objHu->eq("dzs", "dzS"));
+ok($objHu->eq("dzS", "dZs"));
+ok($objHu->eq("dZs", "dZS"));
+ok($objHu->eq("dZS", "Dzs"));
+ok($objHu->eq("Dzs", "DzS"));
+ok($objHu->eq("DzS", "DZs"));
+ok($objHu->eq("DZs", "DZS"));
+ok($objHu->eq("gy", "gY"));
+ok($objHu->eq("gY", "Gy"));
+ok($objHu->eq("Gy", "GY"));
+ok($objHu->eq("ly", "lY"));
+ok($objHu->eq("lY", "Ly"));
+ok($objHu->eq("Ly", "LY"));
+ok($objHu->eq("ny", "nY"));
+ok($objHu->eq("nY", "Ny"));
+ok($objHu->eq("Ny", "NY"));
+ok($objHu->eq("sz", "sZ"));
+ok($objHu->eq("sZ", "Sz"));
+ok($objHu->eq("Sz", "SZ"));
+ok($objHu->eq("ty", "tY"));
+ok($objHu->eq("tY", "Ty"));
+ok($objHu->eq("Ty", "TY"));
+ok($objHu->eq("zs", "zS"));
+ok($objHu->eq("zS", "Zs"));
+ok($objHu->eq("Zs", "ZS"));
+
+# 65
+
+ok($objHu->lt("o\x{308}", "o\x{30B}"));
+ok($objHu->lt("u\x{308}", "u\x{30B}"));
+
+ok($objHu->eq("o\x{308}", "O\x{308}"));
+ok($objHu->eq("o\x{30B}", "O\x{30B}"));
+ok($objHu->eq("u\x{308}", "U\x{308}"));
+ok($objHu->eq("u\x{30B}", "U\x{30B}"));
+
+# 71
+
+$objHu->change(level => 3);
+
+ok($objHu->lt("cs", "cS"));
+ok($objHu->lt("cS", "Cs"));
+ok($objHu->lt("Cs", "CS"));
+ok($objHu->lt("dz", "dZ"));
+ok($objHu->lt("dZ", "Dz"));
+ok($objHu->lt("Dz", "DZ"));
+ok($objHu->lt("dzs", "dzS"));
+ok($objHu->lt("dzS", "dZs"));
+ok($objHu->lt("dZs", "dZS"));
+ok($objHu->lt("dZS", "Dzs"));
+ok($objHu->lt("Dzs", "DzS"));
+ok($objHu->lt("DzS", "DZs"));
+ok($objHu->lt("DZs", "DZS"));
+ok($objHu->lt("gy", "gY"));
+ok($objHu->lt("gY", "Gy"));
+ok($objHu->lt("Gy", "GY"));
+ok($objHu->lt("ly", "lY"));
+ok($objHu->lt("lY", "Ly"));
+ok($objHu->lt("Ly", "LY"));
+ok($objHu->lt("ny", "nY"));
+ok($objHu->lt("nY", "Ny"));
+ok($objHu->lt("Ny", "NY"));
+ok($objHu->lt("sz", "sZ"));
+ok($objHu->lt("sZ", "Sz"));
+ok($objHu->lt("Sz", "SZ"));
+ok($objHu->lt("ty", "tY"));
+ok($objHu->lt("tY", "Ty"));
+ok($objHu->lt("Ty", "TY"));
+ok($objHu->lt("zs", "zS"));
+ok($objHu->lt("zS", "Zs"));
+ok($objHu->lt("Zs", "ZS"));
+
+# 102
+
+ok($objHu->lt("o\x{308}", "O\x{308}"));
+ok($objHu->lt("o\x{30B}", "O\x{30B}"));
+ok($objHu->lt("u\x{308}", "U\x{308}"));
+ok($objHu->lt("u\x{30B}", "U\x{30B}"));
+
+ok($objHu->eq("o\x{308}", pack('U', 0xF6)));
+ok($objHu->eq("O\x{308}", pack('U', 0xD6)));
+ok($objHu->eq("o\x{30B}", "\x{151}"));
+ok($objHu->eq("O\x{30B}", "\x{150}"));
+ok($objHu->eq("u\x{308}", pack('U', 0xFC)));
+ok($objHu->eq("U\x{308}", pack('U', 0xDC)));
+ok($objHu->eq("u\x{30B}", "\x{171}"));
+ok($objHu->eq("U\x{30B}", "\x{170}"));
+
+# 114
+
+ok($objHu->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objHu->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objHu->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objHu->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objHu->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objHu->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objHu->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objHu->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objHu->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objHu->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 124
+
+ok($objHu->eq("ccs", "cscs"));
+ok($objHu->eq("ccS", "cscS"));
+ok($objHu->eq("cCs", "csCs"));
+ok($objHu->eq("cCS", "csCS"));
+ok($objHu->eq("Ccs", "CScs"));
+ok($objHu->eq("CcS", "CScS"));
+ok($objHu->eq("CCs", "CSCs"));
+ok($objHu->eq("CCS", "CSCS"));
+ok($objHu->eq("ddz", "dzdz"));
+ok($objHu->eq("ddZ", "dzdZ"));
+ok($objHu->eq("dDz", "dzDz"));
+ok($objHu->eq("dDZ", "dzDZ"));
+ok($objHu->eq("Ddz", "DZdz"));
+ok($objHu->eq("DdZ", "DZdZ"));
+ok($objHu->eq("DDz", "DZDz"));
+ok($objHu->eq("DDZ", "DZDZ"));
+ok($objHu->eq("ddzs", "dzsdzs"));
+ok($objHu->eq("ddzS", "dzsdzS"));
+ok($objHu->eq("ddZs", "dzsdZs"));
+ok($objHu->eq("ddZS", "dzsdZS"));
+ok($objHu->eq("dDzs", "dzsDzs"));
+ok($objHu->eq("dDzS", "dzsDzS"));
+ok($objHu->eq("dDZs", "dzsDZs"));
+ok($objHu->eq("dDZS", "dzsDZS"));
+ok($objHu->eq("Ddzs", "DZSdzs"));
+ok($objHu->eq("DdzS", "DZSdzS"));
+ok($objHu->eq("DdZs", "DZSdZs"));
+ok($objHu->eq("DdZS", "DZSdZS"));
+ok($objHu->eq("DDzs", "DZSDzs"));
+ok($objHu->eq("DDzS", "DZSDzS"));
+ok($objHu->eq("DDZs", "DZSDZs"));
+ok($objHu->eq("DDZS", "DZSDZS"));
+ok($objHu->eq("ggy", "gygy"));
+ok($objHu->eq("ggY", "gygY"));
+ok($objHu->eq("gGy", "gyGy"));
+ok($objHu->eq("gGY", "gyGY"));
+ok($objHu->eq("Ggy", "GYgy"));
+ok($objHu->eq("GgY", "GYgY"));
+ok($objHu->eq("GGy", "GYGy"));
+ok($objHu->eq("GGY", "GYGY"));
+ok($objHu->eq("lly", "lyly"));
+ok($objHu->eq("llY", "lylY"));
+ok($objHu->eq("lLy", "lyLy"));
+ok($objHu->eq("lLY", "lyLY"));
+ok($objHu->eq("Lly", "LYly"));
+ok($objHu->eq("LlY", "LYlY"));
+ok($objHu->eq("LLy", "LYLy"));
+ok($objHu->eq("LLY", "LYLY"));
+ok($objHu->eq("nny", "nyny"));
+ok($objHu->eq("nnY", "nynY"));
+ok($objHu->eq("nNy", "nyNy"));
+ok($objHu->eq("nNY", "nyNY"));
+ok($objHu->eq("Nny", "NYny"));
+ok($objHu->eq("NnY", "NYnY"));
+ok($objHu->eq("NNy", "NYNy"));
+ok($objHu->eq("NNY", "NYNY"));
+ok($objHu->eq("ssz", "szsz"));
+ok($objHu->eq("ssZ", "szsZ"));
+ok($objHu->eq("sSz", "szSz"));
+ok($objHu->eq("sSZ", "szSZ"));
+ok($objHu->eq("Ssz", "SZsz"));
+ok($objHu->eq("SsZ", "SZsZ"));
+ok($objHu->eq("SSz", "SZSz"));
+ok($objHu->eq("SSZ", "SZSZ"));
+ok($objHu->eq("tty", "tyty"));
+ok($objHu->eq("ttY", "tytY"));
+ok($objHu->eq("tTy", "tyTy"));
+ok($objHu->eq("tTY", "tyTY"));
+ok($objHu->eq("Tty", "TYty"));
+ok($objHu->eq("TtY", "TYtY"));
+ok($objHu->eq("TTy", "TYTy"));
+ok($objHu->eq("TTY", "TYTY"));
+ok($objHu->eq("zzs", "zszs"));
+ok($objHu->eq("zzS", "zszS"));
+ok($objHu->eq("zZs", "zsZs"));
+ok($objHu->eq("zZS", "zsZS"));
+ok($objHu->eq("Zzs", "ZSzs"));
+ok($objHu->eq("ZzS", "ZSzS"));
+ok($objHu->eq("ZZs", "ZSZs"));
+ok($objHu->eq("ZZS", "ZSZS"));
+
+# 204
+
+$objHu->change(upper_before_lower => 1);
+
+ok($objHu->gt("cs", "cS"));
+ok($objHu->gt("cS", "Cs"));
+ok($objHu->gt("Cs", "CS"));
+ok($objHu->gt("dz", "dZ"));
+ok($objHu->gt("dZ", "Dz"));
+ok($objHu->gt("Dz", "DZ"));
+ok($objHu->gt("dzs", "dzS"));
+ok($objHu->gt("dzS", "dZs"));
+ok($objHu->gt("dZs", "dZS"));
+ok($objHu->gt("dZS", "Dzs"));
+ok($objHu->gt("Dzs", "DzS"));
+ok($objHu->gt("DzS", "DZs"));
+ok($objHu->gt("DZs", "DZS"));
+ok($objHu->gt("gy", "gY"));
+ok($objHu->gt("gY", "Gy"));
+ok($objHu->gt("Gy", "GY"));
+ok($objHu->gt("ly", "lY"));
+ok($objHu->gt("lY", "Ly"));
+ok($objHu->gt("Ly", "LY"));
+ok($objHu->gt("ny", "nY"));
+ok($objHu->gt("nY", "Ny"));
+ok($objHu->gt("Ny", "NY"));
+ok($objHu->gt("sz", "sZ"));
+ok($objHu->gt("sZ", "Sz"));
+ok($objHu->gt("Sz", "SZ"));
+ok($objHu->gt("ty", "tY"));
+ok($objHu->gt("tY", "Ty"));
+ok($objHu->gt("Ty", "TY"));
+ok($objHu->gt("zs", "zS"));
+ok($objHu->gt("zS", "Zs"));
+ok($objHu->gt("Zs", "ZS"));
+
+# 235
diff --git a/cpan/Unicode-Collate/t/loc_hy.t b/cpan/Unicode-Collate/t/loc_hy.t
new file mode 100644
index 0000000000..fe22adba5a
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_hy.t
@@ -0,0 +1,32 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 7;
+
+my $objHy = Unicode::Collate::Locale->
+ new(locale => 'HY', normalization => undef);
+
+ok(1);
+ok($objHy->getlocale, 'hy');
+
+$objHy->change(level => 1);
+
+ok($objHy->lt("\x{584}", "\x{587}"));
+ok($objHy->gt("\x{585}", "\x{587}"));
+
+$objHy->change(level => 2);
+
+ok($objHy->eq("\x{587}", "\x{535}\x{582}"));
+
+$objHy->change(level => 3);
+
+ok($objHy->lt("\x{587}", "\x{535}\x{582}"));
+
+$objHy->change(upper_before_lower => 1);
+
+ok($objHy->gt("\x{587}", "\x{535}\x{582}"));
+
+# 7
diff --git a/cpan/Unicode-Collate/t/loc_se.t b/cpan/Unicode-Collate/t/loc_se.t
new file mode 100644
index 0000000000..5921fd49b0
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_se.t
@@ -0,0 +1,269 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 213;
+
+my $objSe = Unicode::Collate::Locale->
+ new(locale => 'SE', normalization => undef);
+
+my $eth = pack 'U', 0xF0;
+my $ETH = pack 'U', 0xD0;
+my $thrn = pack 'U', 0xFE;
+my $THRN = pack 'U', 0xDE;
+my $ae = pack 'U', 0xE6;
+my $AE = pack 'U', 0xC6;
+
+ok(1);
+ok($objSe->getlocale, 'se');
+
+$objSe->change(level => 1);
+
+ok($objSe->lt("a", "a\x{301}"));
+ok($objSe->gt("b", "a\x{301}"));
+ok($objSe->lt("c", "c\x{30C}"));
+ok($objSe->lt("c\x{30C}", "\x{292}"));
+ok($objSe->lt( "\x{292}", "\x{1EF}"));
+ok($objSe->gt("d", "\x{1EF}"));
+ok($objSe->lt("d", "d\x{335}"));
+ok($objSe->gt("e", "d\x{335}"));
+ok($objSe->lt("g", "g\x{30C}"));
+ok($objSe->lt("g\x{30C}", "\x{1E5}"));
+ok($objSe->gt("h", "\x{1E5}"));
+ok($objSe->lt("k", "k\x{30C}"));
+ok($objSe->gt("l", "k\x{30C}"));
+ok($objSe->lt("n", "\x{14B}"));
+ok($objSe->gt("o", "\x{14B}"));
+ok($objSe->lt("s", "s\x{30C}"));
+ok($objSe->gt("t", "s\x{30C}"));
+ok($objSe->lt("t", "\x{167}"));
+ok($objSe->gt("u", "\x{167}"));
+ok($objSe->lt("z", "z\x{30C}"));
+ok($objSe->lt("z\x{30C}", "o\x{338}"));
+ok($objSe->lt("o\x{338}", $ae));
+ok($objSe->lt($ae, "a\x{30A}"));
+ok($objSe->lt("a\x{30A}", "a\x{308}"));
+ok($objSe->lt("a\x{308}", "o\x{308}"));
+ok($objSe->lt("o\x{308}", "\x{1C0}"));
+
+# 28
+
+ok($objSe->eq("d\x{335}", $eth));
+ok($objSe->eq( "\x{14B}", "n\x{301}"));
+ok($objSe->eq("n\x{301}", "n\x{303}"));
+ok($objSe->eq( "\x{167}", $thrn));
+ok($objSe->eq("y", "u\x{308}"));
+ok($objSe->eq("u\x{308}", "u\x{30B}"));
+ok($objSe->eq("o\x{338}", "\x{153}"));
+ok($objSe->eq("a\x{30A}", "a\x{307}"));
+ok($objSe->eq("a\x{308}", "a\x{303}"));
+ok($objSe->eq("o\x{308}", "o\x{30B}"));
+ok($objSe->eq("o\x{30B}", "o\x{303}"));
+ok($objSe->eq("o\x{303}", "o\x{302}"));
+ok($objSe->eq("o\x{302}", "o\x{328}"));
+
+# 41
+
+$objSe->change(level => 2);
+
+ok($objSe->lt("d\x{335}", $eth));
+ok($objSe->lt( "\x{14B}", "n\x{301}"));
+ok($objSe->lt("n\x{301}", "n\x{303}"));
+ok($objSe->lt( "\x{167}", $thrn));
+ok($objSe->lt("y", "u\x{308}"));
+ok($objSe->lt("u\x{308}", "u\x{30B}"));
+ok($objSe->lt("o\x{338}", "\x{153}"));
+ok($objSe->lt("a\x{30A}", "a\x{307}"));
+ok($objSe->lt("a\x{308}", "a\x{303}"));
+ok($objSe->lt("o\x{308}", "o\x{30B}"));
+ok($objSe->lt("o\x{30B}", "o\x{303}"));
+ok($objSe->lt("o\x{303}", "o\x{302}"));
+ok($objSe->lt("o\x{302}", "o\x{328}"));
+
+# 54
+
+ok($objSe->eq("a\x{301}", "A\x{301}"));
+ok($objSe->eq("c\x{30C}", "C\x{30C}"));
+ok($objSe->eq( "\x{292}", "\x{1B7}"));
+ok($objSe->eq( "\x{1EF}", "\x{1EE}"));
+ok($objSe->eq("d\x{335}", "D\x{335}"));
+ok($objSe->eq($eth, $ETH));
+ok($objSe->eq("g\x{30C}", "G\x{30C}"));
+ok($objSe->eq( "\x{1E5}", "\x{1E4}"));
+ok($objSe->eq("k\x{30C}", "K\x{30C}"));
+ok($objSe->eq( "\x{14B}", "\x{14A}"));
+ok($objSe->eq("n\x{301}", "N\x{301}"));
+ok($objSe->eq("n\x{303}", "N\x{303}"));
+ok($objSe->eq("s\x{30C}", "S\x{30C}"));
+ok($objSe->eq( "\x{167}", "\x{166}"));
+ok($objSe->eq($thrn, $THRN));
+ok($objSe->eq("u\x{308}", "U\x{308}"));
+ok($objSe->eq("u\x{30B}", "U\x{30B}"));
+ok($objSe->eq("z\x{30C}", "Z\x{30C}"));
+ok($objSe->eq("o\x{338}", "O\x{338}"));
+ok($objSe->eq( "\x{153}", "\x{152}"));
+ok($objSe->eq($ae, $AE));
+ok($objSe->eq($AE, "\x{1D2D}"));
+ok($objSe->eq("a\x{30A}", "A\x{30A}"));
+ok($objSe->eq("a\x{307}", "A\x{307}"));
+ok($objSe->eq("a\x{308}", "A\x{308}"));
+ok($objSe->eq("a\x{303}", "A\x{303}"));
+ok($objSe->eq("o\x{308}", "O\x{308}"));
+ok($objSe->eq("o\x{30B}", "O\x{30B}"));
+ok($objSe->eq("o\x{303}", "O\x{303}"));
+ok($objSe->eq("o\x{302}", "O\x{302}"));
+ok($objSe->eq("o\x{328}", "O\x{328}"));
+
+# 85
+
+$objSe->change(level => 3);
+
+ok($objSe->lt("a\x{301}", "A\x{301}"));
+ok($objSe->lt("c\x{30C}", "C\x{30C}"));
+ok($objSe->lt( "\x{292}", "\x{1B7}"));
+ok($objSe->lt( "\x{1EF}", "\x{1EE}"));
+ok($objSe->lt("d\x{335}", "D\x{335}"));
+ok($objSe->lt($eth, $ETH));
+ok($objSe->lt("g\x{30C}", "G\x{30C}"));
+ok($objSe->lt( "\x{1E5}", "\x{1E4}"));
+ok($objSe->lt("k\x{30C}", "K\x{30C}"));
+ok($objSe->lt( "\x{14B}", "\x{14A}"));
+ok($objSe->lt("n\x{301}", "N\x{301}"));
+ok($objSe->lt("n\x{303}", "N\x{303}"));
+ok($objSe->lt("s\x{30C}", "S\x{30C}"));
+ok($objSe->lt( "\x{167}", "\x{166}"));
+ok($objSe->lt($thrn, $THRN));
+ok($objSe->lt("u\x{308}", "U\x{308}"));
+ok($objSe->lt("u\x{30B}", "U\x{30B}"));
+ok($objSe->lt("z\x{30C}", "Z\x{30C}"));
+ok($objSe->lt("o\x{338}", "O\x{338}"));
+ok($objSe->lt( "\x{153}", "\x{152}"));
+ok($objSe->lt($ae, $AE));
+ok($objSe->lt($AE, "\x{1D2D}"));
+ok($objSe->lt("a\x{30A}", "A\x{30A}"));
+ok($objSe->lt("a\x{307}", "A\x{307}"));
+ok($objSe->lt("a\x{308}", "A\x{308}"));
+ok($objSe->lt("a\x{303}", "A\x{303}"));
+ok($objSe->lt("o\x{308}", "O\x{308}"));
+ok($objSe->lt("o\x{30B}", "O\x{30B}"));
+ok($objSe->lt("o\x{303}", "O\x{303}"));
+ok($objSe->lt("o\x{302}", "O\x{302}"));
+ok($objSe->lt("o\x{328}", "O\x{328}"));
+
+# 116
+
+ok($objSe->eq("a\x{301}", pack('U', 0xE1)));
+ok($objSe->eq("A\x{301}", pack('U', 0xC1)));
+ok($objSe->eq("c\x{30C}", "\x{10D}"));
+ok($objSe->eq("C\x{30C}", "\x{10C}"));
+ok($objSe->eq("\x{1EF}", "\x{292}\x{30C}"));
+ok($objSe->eq("\x{1EE}", "\x{1B7}\x{30C}"));
+ok($objSe->eq("d\x{335}", "\x{111}"));
+ok($objSe->eq("D\x{335}", "\x{110}"));
+ok($objSe->eq("g\x{30C}", "\x{1E7}"));
+ok($objSe->eq("G\x{30C}", "\x{1E6}"));
+ok($objSe->eq("k\x{30C}", "\x{1E9}"));
+ok($objSe->eq("K\x{30C}", "\x{1E8}"));
+ok($objSe->eq("n\x{301}", "\x{144}"));
+ok($objSe->eq("N\x{301}", "\x{143}"));
+ok($objSe->eq("n\x{303}", pack('U', 0xF1)));
+ok($objSe->eq("N\x{303}", pack('U', 0xD1)));
+ok($objSe->eq("s\x{30C}", "\x{161}"));
+ok($objSe->eq("S\x{30C}", "\x{160}"));
+ok($objSe->eq("u\x{308}", pack('U', 0xFC)));
+ok($objSe->eq("U\x{308}", pack('U', 0xDC)));
+ok($objSe->eq("u\x{30B}", "\x{171}"));
+ok($objSe->eq("U\x{30B}", "\x{170}"));
+
+# 138
+
+ok($objSe->eq("z\x{30C}", "\x{17E}"));
+ok($objSe->eq("Z\x{30C}", "\x{17D}"));
+ok($objSe->eq("o\x{338}", pack('U', 0xF8)));
+ok($objSe->eq("O\x{338}", pack('U', 0xD8)));
+ok($objSe->eq("a\x{30A}", pack('U', 0xE5)));
+ok($objSe->eq("A\x{30A}", pack('U', 0xC5)));
+ok($objSe->eq("a\x{307}", "\x{227}"));
+ok($objSe->eq("A\x{307}", "\x{226}"));
+ok($objSe->eq("a\x{308}", pack('U', 0xE4)));
+ok($objSe->eq("A\x{308}", pack('U', 0xC4)));
+ok($objSe->eq("a\x{303}", pack('U', 0xE3)));
+ok($objSe->eq("A\x{303}", pack('U', 0xC3)));
+ok($objSe->eq("o\x{308}", pack('U', 0xF6)));
+ok($objSe->eq("O\x{308}", pack('U', 0xD6)));
+ok($objSe->eq("o\x{30B}", "\x{151}"));
+ok($objSe->eq("O\x{30B}", "\x{150}"));
+ok($objSe->eq("o\x{303}", pack('U', 0xF5)));
+ok($objSe->eq("O\x{303}", pack('U', 0xD5)));
+ok($objSe->eq("o\x{302}", pack('U', 0xF4)));
+ok($objSe->eq("O\x{302}", pack('U', 0xD4)));
+ok($objSe->eq("o\x{328}", "\x{1EB}"));
+ok($objSe->eq("O\x{328}", "\x{1EA}"));
+
+# 160
+
+ok($objSe->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objSe->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objSe->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objSe->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objSe->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objSe->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objSe->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objSe->eq("U\x{308}\x{30C}", "\x{1D9}"));
+ok($objSe->eq("o\x{338}\x{301}", "\x{1FF}"));
+ok($objSe->eq("O\x{338}\x{301}", "\x{1FE}"));
+
+ok($objSe->eq("\x{1FD}", "$ae\x{301}"));
+ok($objSe->eq("\x{1FC}", "$AE\x{301}"));
+ok($objSe->eq("\x{1E3}", "$ae\x{304}"));
+ok($objSe->eq("\x{1E2}", "$AE\x{304}"));
+ok($objSe->eq("A\x{30A}", "\x{212B}"));
+ok($objSe->eq("a\x{30A}\x{301}", "\x{1FB}"));
+ok($objSe->eq("A\x{30A}\x{301}", "\x{1FA}"));
+ok($objSe->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objSe->eq("A\x{308}\x{304}", "\x{1DE}"));
+
+ok($objSe->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objSe->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objSe->eq("o\x{303}\x{301}","\x{1E4D}"));
+ok($objSe->eq("O\x{303}\x{301}","\x{1E4C}"));
+ok($objSe->eq("o\x{303}\x{304}", "\x{22D}"));
+ok($objSe->eq("O\x{303}\x{304}", "\x{22C}"));
+ok($objSe->eq("o\x{303}\x{308}","\x{1E4F}"));
+ok($objSe->eq("O\x{303}\x{308}","\x{1E4E}"));
+ok($objSe->eq("o\x{303}\x{31B}","\x{1EE1}"));
+ok($objSe->eq("O\x{303}\x{31B}","\x{1EE0}"));
+
+ok($objSe->eq("o\x{302}\x{300}", "\x{1ED3}"));
+ok($objSe->eq("O\x{302}\x{300}", "\x{1ED2}"));
+ok($objSe->eq("o\x{302}\x{301}", "\x{1ED1}"));
+ok($objSe->eq("O\x{302}\x{301}", "\x{1ED0}"));
+ok($objSe->eq("o\x{302}\x{303}", "\x{1ED7}"));
+ok($objSe->eq("O\x{302}\x{303}", "\x{1ED6}"));
+ok($objSe->eq("o\x{302}\x{309}", "\x{1ED5}"));
+ok($objSe->eq("O\x{302}\x{309}", "\x{1ED4}"));
+ok($objSe->eq("o\x{302}\x{323}", "\x{1ED9}"));
+ok($objSe->eq("O\x{302}\x{323}", "\x{1ED8}"));
+
+# 199
+
+$objSe->change(upper_before_lower => 1);
+
+ok($objSe->gt("z\x{30C}", "Z\x{30C}"));
+ok($objSe->gt("o\x{338}", "O\x{338}"));
+ok($objSe->gt( "\x{153}", "\x{152}"));
+ok($objSe->gt($ae, $AE));
+ok($objSe->lt($AE, "\x{1D2D}"));
+ok($objSe->gt("a\x{30A}", "A\x{30A}"));
+ok($objSe->gt("a\x{307}", "A\x{307}"));
+ok($objSe->gt("a\x{308}", "A\x{308}"));
+ok($objSe->gt("a\x{303}", "A\x{303}"));
+ok($objSe->gt("o\x{308}", "O\x{308}"));
+ok($objSe->gt("o\x{30B}", "O\x{30B}"));
+ok($objSe->gt("o\x{303}", "O\x{303}"));
+ok($objSe->gt("o\x{302}", "O\x{302}"));
+ok($objSe->gt("o\x{328}", "O\x{328}"));
+
+# 213
diff --git a/cpan/Unicode-Collate/t/loc_to.t b/cpan/Unicode-Collate/t/loc_to.t
new file mode 100644
index 0000000000..e7acf46553
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_to.t
@@ -0,0 +1,169 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 122;
+
+my $objTo = Unicode::Collate::Locale->
+ new(locale => 'TO', normalization => undef);
+
+ok(1);
+ok($objTo->getlocale, 'to');
+
+$objTo->change(level => 1);
+
+ok($objTo->lt("n", "ng"));
+ok($objTo->lt("nz","ng"));
+ok($objTo->gt("o", "ng"));
+ok($objTo->lt("z", "\x{2BB}"));
+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}"));
+
+# 17
+
+$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->eq("ng", "Ng"));
+ok($objTo->eq("Ng", "NG"));
+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("e\x{301}", "E\x{301}"));
+ok($objTo->eq("i\x{304}", "I\x{304}"));
+ok($objTo->eq("i\x{301}", "I\x{301}"));
+ok($objTo->eq("o\x{304}", "O\x{304}"));
+ok($objTo->eq("o\x{301}", "O\x{301}"));
+ok($objTo->eq("u\x{304}", "U\x{304}"));
+ok($objTo->eq("u\x{301}", "U\x{301}"));
+
+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
+
+$objTo->change(level => 3);
+
+ok($objTo->lt("ng", "Ng"));
+ok($objTo->lt("Ng", "NG"));
+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("e\x{301}", "E\x{301}"));
+ok($objTo->lt("i\x{304}", "I\x{304}"));
+ok($objTo->lt("i\x{301}", "I\x{301}"));
+ok($objTo->lt("o\x{304}", "O\x{304}"));
+ok($objTo->lt("o\x{301}", "O\x{301}"));
+ok($objTo->lt("u\x{304}", "U\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}"));
+
+# 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{301}", pack('U', 0xC1)));
+ok($objTo->eq("e\x{301}", pack('U', 0xE9)));
+ok($objTo->eq("E\x{301}", pack('U', 0xC9)));
+ok($objTo->eq("i\x{301}", pack('U', 0xED)));
+ok($objTo->eq("I\x{301}", pack('U', 0xCD)));
+ok($objTo->eq("o\x{301}", pack('U', 0xF3)));
+ok($objTo->eq("O\x{301}", pack('U', 0xD3)));
+ok($objTo->eq("u\x{301}", pack('U', 0xFA)));
+ok($objTo->eq("U\x{301}", pack('U', 0xDA)));
+
+# 97
+
+$objTo->change(upper_before_lower => 1);
+
+ok($objTo->gt("ng", "Ng"));
+ok($objTo->gt("Ng", "NG"));
+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("e\x{301}", "E\x{301}"));
+ok($objTo->gt("i\x{304}", "I\x{304}"));
+ok($objTo->gt("i\x{301}", "I\x{301}"));
+ok($objTo->gt("o\x{304}", "O\x{304}"));
+ok($objTo->gt("o\x{301}", "O\x{301}"));
+ok($objTo->gt("u\x{304}", "U\x{304}"));
+ok($objTo->gt("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}"));
+
+# 122
diff --git a/cpan/Unicode-Collate/t/loc_uk.t b/cpan/Unicode-Collate/t/loc_uk.t
new file mode 100644
index 0000000000..c84466de80
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_uk.t
@@ -0,0 +1,34 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 7;
+
+my $objUk = Unicode::Collate::Locale->
+ new(locale => 'UK', normalization => undef);
+
+ok(1);
+ok($objUk->getlocale, 'uk');
+
+$objUk->change(level => 1);
+
+ok($objUk->lt("\x{433}", "\x{491}"));
+ok($objUk->gt("\x{434}", "\x{491}"));
+
+# 4
+
+$objUk->change(level => 2);
+
+ok($objUk->eq("\x{491}", "\x{490}"));
+
+$objUk->change(level => 3);
+
+ok($objUk->lt("\x{491}", "\x{490}"));
+
+$objUk->change(upper_before_lower => 1);
+
+ok($objUk->gt("\x{491}", "\x{490}"));
+
+# 7
diff --git a/cpan/Unicode-Collate/t/loc_vi.t b/cpan/Unicode-Collate/t/loc_vi.t
index 3b5e2ee38e..92b58a2758 100644
--- a/cpan/Unicode-Collate/t/loc_vi.t
+++ b/cpan/Unicode-Collate/t/loc_vi.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 270;
+plan tests => 340;
my $objVi = Unicode::Collate::Locale->
new(locale => 'VI', normalization => undef);
@@ -103,127 +103,175 @@ ok($objVi->eq("U\x{31B}", "\x{1AF}"));
# 66
ok($objVi->eq("a\x{300}", pack('U', 0xE0)));
+ok($objVi->eq("a\x{340}", pack('U', 0xE0)));
ok($objVi->eq("a\x{309}", "\x{1EA3}"));
ok($objVi->eq("a\x{303}", pack('U', 0xE3)));
ok($objVi->eq("a\x{301}", pack('U', 0xE1)));
+ok($objVi->eq("a\x{341}", pack('U', 0xE1)));
ok($objVi->eq("a\x{323}", "\x{1EA1}"));
ok($objVi->eq("A\x{300}", pack('U', 0xC0)));
+ok($objVi->eq("A\x{340}", pack('U', 0xC0)));
ok($objVi->eq("A\x{309}", "\x{1EA2}"));
ok($objVi->eq("A\x{303}", pack('U', 0xC3)));
ok($objVi->eq("A\x{301}", pack('U', 0xC1)));
+ok($objVi->eq("A\x{341}", pack('U', 0xC1)));
ok($objVi->eq("A\x{323}", "\x{1EA0}"));
ok($objVi->eq("a\x{306}\x{300}", "\x{1EB1}"));
+ok($objVi->eq("a\x{306}\x{340}", "\x{1EB1}"));
ok($objVi->eq("a\x{306}\x{309}", "\x{1EB3}"));
ok($objVi->eq("a\x{306}\x{303}", "\x{1EB5}"));
ok($objVi->eq("a\x{306}\x{301}", "\x{1EAF}"));
+ok($objVi->eq("a\x{306}\x{341}", "\x{1EAF}"));
ok($objVi->eq("a\x{306}\x{323}", "\x{1EB7}"));
ok($objVi->eq("A\x{306}\x{300}", "\x{1EB0}"));
+ok($objVi->eq("A\x{306}\x{340}", "\x{1EB0}"));
ok($objVi->eq("A\x{306}\x{309}", "\x{1EB2}"));
ok($objVi->eq("A\x{306}\x{303}", "\x{1EB4}"));
ok($objVi->eq("A\x{306}\x{301}", "\x{1EAE}"));
+ok($objVi->eq("A\x{306}\x{341}", "\x{1EAE}"));
ok($objVi->eq("A\x{306}\x{323}", "\x{1EB6}"));
ok($objVi->eq("a\x{302}\x{300}", "\x{1EA7}"));
+ok($objVi->eq("a\x{302}\x{340}", "\x{1EA7}"));
ok($objVi->eq("a\x{302}\x{309}", "\x{1EA9}"));
ok($objVi->eq("a\x{302}\x{303}", "\x{1EAB}"));
ok($objVi->eq("a\x{302}\x{301}", "\x{1EA5}"));
+ok($objVi->eq("a\x{302}\x{341}", "\x{1EA5}"));
ok($objVi->eq("a\x{302}\x{323}", "\x{1EAD}"));
ok($objVi->eq("A\x{302}\x{300}", "\x{1EA6}"));
+ok($objVi->eq("A\x{302}\x{340}", "\x{1EA6}"));
ok($objVi->eq("A\x{302}\x{309}", "\x{1EA8}"));
ok($objVi->eq("A\x{302}\x{303}", "\x{1EAA}"));
ok($objVi->eq("A\x{302}\x{301}", "\x{1EA4}"));
+ok($objVi->eq("A\x{302}\x{341}", "\x{1EA4}"));
ok($objVi->eq("A\x{302}\x{323}", "\x{1EAC}"));
ok($objVi->eq("e\x{300}", pack('U', 0xE8)));
+ok($objVi->eq("e\x{340}", pack('U', 0xE8)));
ok($objVi->eq("e\x{309}", "\x{1EBB}"));
ok($objVi->eq("e\x{303}", "\x{1EBD}"));
ok($objVi->eq("e\x{301}", pack('U', 0xE9)));
+ok($objVi->eq("e\x{341}", pack('U', 0xE9)));
ok($objVi->eq("e\x{323}", "\x{1EB9}"));
ok($objVi->eq("E\x{300}", pack('U', 0xC8)));
+ok($objVi->eq("E\x{340}", pack('U', 0xC8)));
ok($objVi->eq("E\x{309}", "\x{1EBA}"));
ok($objVi->eq("E\x{303}", "\x{1EBC}"));
ok($objVi->eq("E\x{301}", pack('U', 0xC9)));
+ok($objVi->eq("E\x{341}", pack('U', 0xC9)));
ok($objVi->eq("E\x{323}", "\x{1EB8}"));
ok($objVi->eq("e\x{302}\x{300}", "\x{1EC1}"));
+ok($objVi->eq("e\x{302}\x{340}", "\x{1EC1}"));
ok($objVi->eq("e\x{302}\x{309}", "\x{1EC3}"));
ok($objVi->eq("e\x{302}\x{303}", "\x{1EC5}"));
ok($objVi->eq("e\x{302}\x{301}", "\x{1EBF}"));
+ok($objVi->eq("e\x{302}\x{341}", "\x{1EBF}"));
ok($objVi->eq("e\x{302}\x{323}", "\x{1EC7}"));
ok($objVi->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objVi->eq("E\x{302}\x{340}", "\x{1EC0}"));
ok($objVi->eq("E\x{302}\x{309}", "\x{1EC2}"));
ok($objVi->eq("E\x{302}\x{303}", "\x{1EC4}"));
ok($objVi->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objVi->eq("E\x{302}\x{341}", "\x{1EBE}"));
ok($objVi->eq("E\x{302}\x{323}", "\x{1EC6}"));
ok($objVi->eq("i\x{300}", pack('U', 0xEC)));
+ok($objVi->eq("i\x{340}", pack('U', 0xEC)));
ok($objVi->eq("i\x{309}", "\x{1EC9}"));
ok($objVi->eq("i\x{303}", "\x{129}"));
ok($objVi->eq("i\x{301}", pack('U', 0xED)));
+ok($objVi->eq("i\x{341}", pack('U', 0xED)));
ok($objVi->eq("i\x{323}", "\x{1ECB}"));
ok($objVi->eq("I\x{300}", pack('U', 0xCC)));
+ok($objVi->eq("I\x{340}", pack('U', 0xCC)));
ok($objVi->eq("I\x{309}", "\x{1EC8}"));
ok($objVi->eq("I\x{303}", "\x{128}"));
ok($objVi->eq("I\x{301}", pack('U', 0xCD)));
+ok($objVi->eq("I\x{341}", pack('U', 0xCD)));
ok($objVi->eq("I\x{323}", "\x{1ECA}"));
ok($objVi->eq("o\x{300}", pack('U', 0xF2)));
+ok($objVi->eq("o\x{340}", pack('U', 0xF2)));
ok($objVi->eq("o\x{309}", "\x{1ECF}"));
ok($objVi->eq("o\x{303}", pack('U', 0xF5)));
ok($objVi->eq("o\x{301}", pack('U', 0xF3)));
+ok($objVi->eq("o\x{341}", pack('U', 0xF3)));
ok($objVi->eq("o\x{323}", "\x{1ECD}"));
ok($objVi->eq("O\x{300}", pack('U', 0xD2)));
+ok($objVi->eq("O\x{340}", pack('U', 0xD2)));
ok($objVi->eq("O\x{309}", "\x{1ECE}"));
ok($objVi->eq("O\x{303}", pack('U', 0xD5)));
ok($objVi->eq("O\x{301}", pack('U', 0xD3)));
+ok($objVi->eq("O\x{341}", pack('U', 0xD3)));
ok($objVi->eq("O\x{323}", "\x{1ECC}"));
ok($objVi->eq("o\x{302}\x{300}", "\x{1ED3}"));
+ok($objVi->eq("o\x{302}\x{340}", "\x{1ED3}"));
ok($objVi->eq("o\x{302}\x{309}", "\x{1ED5}"));
ok($objVi->eq("o\x{302}\x{303}", "\x{1ED7}"));
ok($objVi->eq("o\x{302}\x{301}", "\x{1ED1}"));
+ok($objVi->eq("o\x{302}\x{341}", "\x{1ED1}"));
ok($objVi->eq("o\x{302}\x{323}", "\x{1ED9}"));
ok($objVi->eq("O\x{302}\x{300}", "\x{1ED2}"));
+ok($objVi->eq("O\x{302}\x{340}", "\x{1ED2}"));
ok($objVi->eq("O\x{302}\x{309}", "\x{1ED4}"));
ok($objVi->eq("O\x{302}\x{303}", "\x{1ED6}"));
ok($objVi->eq("O\x{302}\x{301}", "\x{1ED0}"));
+ok($objVi->eq("O\x{302}\x{341}", "\x{1ED0}"));
ok($objVi->eq("O\x{302}\x{323}", "\x{1ED8}"));
ok($objVi->eq("o\x{31B}\x{300}", "\x{1EDD}"));
+ok($objVi->eq("o\x{31B}\x{340}", "\x{1EDD}"));
ok($objVi->eq("o\x{31B}\x{309}", "\x{1EDF}"));
ok($objVi->eq("o\x{31B}\x{303}", "\x{1EE1}"));
ok($objVi->eq("o\x{31B}\x{301}", "\x{1EDB}"));
+ok($objVi->eq("o\x{31B}\x{341}", "\x{1EDB}"));
ok($objVi->eq("o\x{31B}\x{323}", "\x{1EE3}"));
ok($objVi->eq("O\x{31B}\x{300}", "\x{1EDC}"));
+ok($objVi->eq("O\x{31B}\x{340}", "\x{1EDC}"));
ok($objVi->eq("O\x{31B}\x{309}", "\x{1EDE}"));
ok($objVi->eq("O\x{31B}\x{303}", "\x{1EE0}"));
ok($objVi->eq("O\x{31B}\x{301}", "\x{1EDA}"));
+ok($objVi->eq("O\x{31B}\x{341}", "\x{1EDA}"));
ok($objVi->eq("O\x{31B}\x{323}", "\x{1EE2}"));
ok($objVi->eq("u\x{300}", pack('U', 0xF9)));
+ok($objVi->eq("u\x{340}", pack('U', 0xF9)));
ok($objVi->eq("u\x{309}", "\x{1EE7}"));
ok($objVi->eq("u\x{303}", "\x{169}"));
ok($objVi->eq("u\x{301}", pack('U', 0xFA)));
+ok($objVi->eq("u\x{341}", pack('U', 0xFA)));
ok($objVi->eq("u\x{323}", "\x{1EE5}"));
ok($objVi->eq("U\x{300}", pack('U', 0xD9)));
+ok($objVi->eq("U\x{340}", pack('U', 0xD9)));
ok($objVi->eq("U\x{309}", "\x{1EE6}"));
ok($objVi->eq("U\x{303}", "\x{168}"));
ok($objVi->eq("U\x{301}", pack('U', 0xDA)));
+ok($objVi->eq("U\x{341}", pack('U', 0xDA)));
ok($objVi->eq("U\x{323}", "\x{1EE4}"));
ok($objVi->eq("u\x{31B}\x{300}", "\x{1EEB}"));
+ok($objVi->eq("u\x{31B}\x{340}", "\x{1EEB}"));
ok($objVi->eq("u\x{31B}\x{309}", "\x{1EED}"));
ok($objVi->eq("u\x{31B}\x{303}", "\x{1EEF}"));
ok($objVi->eq("u\x{31B}\x{301}", "\x{1EE9}"));
+ok($objVi->eq("u\x{31B}\x{341}", "\x{1EE9}"));
ok($objVi->eq("u\x{31B}\x{323}", "\x{1EF1}"));
ok($objVi->eq("U\x{31B}\x{300}", "\x{1EEA}"));
+ok($objVi->eq("U\x{31B}\x{340}", "\x{1EEA}"));
ok($objVi->eq("U\x{31B}\x{309}", "\x{1EEC}"));
ok($objVi->eq("U\x{31B}\x{303}", "\x{1EEE}"));
ok($objVi->eq("U\x{31B}\x{301}", "\x{1EE8}"));
+ok($objVi->eq("U\x{31B}\x{341}", "\x{1EE8}"));
ok($objVi->eq("U\x{31B}\x{323}", "\x{1EF0}"));
ok($objVi->eq("y\x{300}", "\x{1EF3}"));
+ok($objVi->eq("y\x{340}", "\x{1EF3}"));
ok($objVi->eq("y\x{309}", "\x{1EF7}"));
ok($objVi->eq("y\x{303}", "\x{1EF9}"));
ok($objVi->eq("y\x{301}", pack('U', 0xFD)));
+ok($objVi->eq("y\x{341}", pack('U', 0xFD)));
ok($objVi->eq("y\x{323}", "\x{1EF5}"));
ok($objVi->eq("Y\x{300}", "\x{1EF2}"));
+ok($objVi->eq("Y\x{340}", "\x{1EF2}"));
ok($objVi->eq("Y\x{309}", "\x{1EF6}"));
ok($objVi->eq("Y\x{303}", "\x{1EF8}"));
ok($objVi->eq("Y\x{301}", pack('U', 0xDD)));
+ok($objVi->eq("Y\x{341}", pack('U', 0xDD)));
ok($objVi->eq("Y\x{323}", "\x{1EF4}"));
-# 186
+# 234
ok($objVi->eq("e\x{306}", "\x{115}"));
ok($objVi->eq("E\x{306}", "\x{114}"));
@@ -234,7 +282,7 @@ ok($objVi->eq("O\x{306}", "\x{14E}"));
ok($objVi->eq("u\x{306}", "\x{16D}"));
ok($objVi->eq("U\x{306}", "\x{16C}"));
-# 194
+# 242
ok($objVi->eq("a\x{306}\x{323}", "\x{1EA1}\x{306}"));
ok($objVi->eq("A\x{306}\x{323}", "\x{1EA0}\x{306}"));
@@ -245,27 +293,35 @@ ok($objVi->eq("E\x{302}\x{323}", "\x{1EB8}\x{302}"));
ok($objVi->eq("o\x{302}\x{323}", "\x{1ECD}\x{302}"));
ok($objVi->eq("O\x{302}\x{323}", "\x{1ECC}\x{302}"));
ok($objVi->eq("o\x{31B}\x{300}", pack('U*', 0xF2, 0x31B)));
+ok($objVi->eq("o\x{31B}\x{340}", pack('U*', 0xF2, 0x31B)));
ok($objVi->eq("o\x{31B}\x{309}", "\x{1ECF}\x{31B}"));
ok($objVi->eq("o\x{31B}\x{303}", pack('U*', 0xF5, 0x31B)));
ok($objVi->eq("o\x{31B}\x{301}", pack('U*', 0xF3, 0x31B)));
+ok($objVi->eq("o\x{31B}\x{341}", pack('U*', 0xF3, 0x31B)));
ok($objVi->eq("o\x{31B}\x{323}", "\x{1ECD}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{300}", pack('U*', 0xD2, 0x31B)));
+ok($objVi->eq("O\x{31B}\x{340}", pack('U*', 0xD2, 0x31B)));
ok($objVi->eq("O\x{31B}\x{309}", "\x{1ECE}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{303}", pack('U*', 0xD5, 0x31B)));
ok($objVi->eq("O\x{31B}\x{301}", pack('U*', 0xD3, 0x31B)));
+ok($objVi->eq("O\x{31B}\x{341}", pack('U*', 0xD3, 0x31B)));
ok($objVi->eq("O\x{31B}\x{323}", "\x{1ECC}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{300}", pack('U*', 0xF9, 0x31B)));
+ok($objVi->eq("u\x{31B}\x{340}", pack('U*', 0xF9, 0x31B)));
ok($objVi->eq("u\x{31B}\x{309}", "\x{1EE7}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{303}", "\x{169}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{301}", pack('U*', 0xFA, 0x31B)));
+ok($objVi->eq("u\x{31B}\x{341}", pack('U*', 0xFA, 0x31B)));
ok($objVi->eq("u\x{31B}\x{323}", "\x{1EE5}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{300}", pack('U*', 0xD9, 0x31B)));
+ok($objVi->eq("U\x{31B}\x{340}", pack('U*', 0xD9, 0x31B)));
ok($objVi->eq("U\x{31B}\x{309}", "\x{1EE6}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{303}", "\x{168}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{301}", pack('U*', 0xDA, 0x31B)));
+ok($objVi->eq("U\x{31B}\x{341}", pack('U*', 0xDA, 0x31B)));
ok($objVi->eq("U\x{31B}\x{323}", "\x{1EE4}\x{31B}"));
-# 222
+# 278
ok($objVi->eq("a\x{306}\x{323}", "a\x{323}\x{306}"));
ok($objVi->eq("A\x{306}\x{323}", "A\x{323}\x{306}"));
@@ -276,32 +332,43 @@ ok($objVi->eq("E\x{302}\x{323}", "E\x{323}\x{302}"));
ok($objVi->eq("o\x{302}\x{323}", "o\x{323}\x{302}"));
ok($objVi->eq("O\x{302}\x{323}", "O\x{323}\x{302}"));
ok($objVi->eq("o\x{31B}\x{300}", "o\x{300}\x{31B}"));
+ok($objVi->eq("o\x{31B}\x{340}", "o\x{340}\x{31B}"));
ok($objVi->eq("o\x{31B}\x{309}", "o\x{309}\x{31B}"));
ok($objVi->eq("o\x{31B}\x{303}", "o\x{303}\x{31B}"));
ok($objVi->eq("o\x{31B}\x{301}", "o\x{301}\x{31B}"));
+ok($objVi->eq("o\x{31B}\x{341}", "o\x{341}\x{31B}"));
ok($objVi->eq("o\x{31B}\x{323}", "o\x{323}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{300}", "O\x{300}\x{31B}"));
+ok($objVi->eq("O\x{31B}\x{340}", "O\x{340}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{309}", "O\x{309}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{303}", "O\x{303}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{301}", "O\x{301}\x{31B}"));
+ok($objVi->eq("O\x{31B}\x{341}", "O\x{341}\x{31B}"));
ok($objVi->eq("O\x{31B}\x{323}", "O\x{323}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{300}", "u\x{300}\x{31B}"));
+ok($objVi->eq("u\x{31B}\x{340}", "u\x{340}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{309}", "u\x{309}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{303}", "u\x{303}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{301}", "u\x{301}\x{31B}"));
+ok($objVi->eq("u\x{31B}\x{341}", "u\x{341}\x{31B}"));
ok($objVi->eq("u\x{31B}\x{323}", "u\x{323}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{300}", "U\x{300}\x{31B}"));
+ok($objVi->eq("U\x{31B}\x{340}", "U\x{340}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{309}", "U\x{309}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{303}", "U\x{303}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{301}", "U\x{301}\x{31B}"));
+ok($objVi->eq("U\x{31B}\x{341}", "U\x{341}\x{31B}"));
ok($objVi->eq("U\x{31B}\x{323}", "U\x{323}\x{31B}"));
-# 250
+# 314
$objVi->change(normalization => undef);
ok($objVi->index("a\x{306}\x{323}", "a\x{323}\x{306}"), 0);
ok($objVi->index("o\x{31B}\x{300}", "o\x{300}\x{31B}"), 0);
+ok($objVi->index("o\x{31B}\x{300}", "o\x{340}\x{31B}"), 0);
+ok($objVi->index("o\x{31B}\x{301}", "o\x{301}\x{31B}"), 0);
+ok($objVi->index("o\x{31B}\x{301}", "o\x{341}\x{31B}"), 0);
ok($objVi->index("a\x{306}\x{323}", pack('U*', 0x1EA1, 0x306)), 0);
ok($objVi->index("o\x{31B}\x{300}", pack('U*', 0x00F2, 0x31B)), 0);
@@ -310,12 +377,15 @@ ok($objVi->index("O\x{31B}\x{300}", "o\x{300}\x{31B}"), -1);
ok($objVi->index("A\x{306}\x{323}", pack('U*', 0x1EA1, 0x306)), -1);
ok($objVi->index("O\x{31B}\x{300}", pack('U*', 0x00F2, 0x31B)), -1);
-# 258
+# 325
$objVi->change(level => 2);
ok($objVi->index("A\x{306}\x{323}", "a\x{323}\x{306}"), 0);
ok($objVi->index("O\x{31B}\x{300}", "o\x{300}\x{31B}"), 0);
+ok($objVi->index("O\x{31B}\x{300}", "o\x{340}\x{31B}"), 0);
+ok($objVi->index("O\x{31B}\x{301}", "o\x{301}\x{31B}"), 0);
+ok($objVi->index("O\x{31B}\x{301}", "o\x{341}\x{31B}"), 0);
ok($objVi->index("A\x{306}\x{323}", pack('U*', 0x1EA1, 0x306)), 0);
ok($objVi->index("O\x{31B}\x{300}", pack('U*', 0x00F2, 0x31B)), 0);
@@ -324,6 +394,8 @@ ok($objVi->index("O\x{31B}", "o\x{300}\x{31B}"), -1);
ok($objVi->index("A\x{306}", pack('U*', 0x1EA1, 0x306)), -1);
ok($objVi->index("O\x{31B}", pack('U*', 0x00F2, 0x31B)), -1);
+# 336
+
$objVi->change(level => 1);
ok($objVi->index("A\x{306}", "a\x{323}\x{306}"), 0);
@@ -331,4 +403,4 @@ ok($objVi->index("O\x{31B}", "o\x{300}\x{31B}"), 0);
ok($objVi->index("A\x{306}", pack('U*', 0x1EA1, 0x306)), 0);
ok($objVi->index("O\x{31B}", pack('U*', 0x00F2, 0x31B)), 0);
-# 270
+# 340