summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-10-23 20:08:59 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-10-23 20:08:59 +0100
commita47fb3fe38908e128b5862faaa5d3e073107b699 (patch)
tree6ecd6f8c6fcb6672ca6f9bbadd64dd8be0b63d74
parent6f8c21fa7422855ef46377a32205309a82dfd53f (diff)
downloadperl-a47fb3fe38908e128b5862faaa5d3e073107b699.tar.gz
Update Unicode-Collate to CPAN version 0.81
[DELTA] 0.81 Sun Oct 23 21:32:36 2011 - U::C::Locale newly supports locales: ml, mr, or, pa. - added loc_ml.t, loc_mr.t, loc_or.t, loc_pa.t in t. - updated some locales to CLDR 2.0 : mk, mt, nb, nn, ro, ru.
-rw-r--r--MANIFEST9
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/Unicode-Collate/Changes7
-rw-r--r--cpan/Unicode-Collate/Collate.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale.pm33
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kok.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mk.pl44
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ml.pl22
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mr.pl11
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mt.pl8
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nb.pl3
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nn.pl3
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/or.pl9
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/pa.pl26
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ro.pl8
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ru.pl11
-rw-r--r--cpan/Unicode-Collate/README2
-rw-r--r--cpan/Unicode-Collate/t/iglevel2.t4
-rw-r--r--cpan/Unicode-Collate/t/ignor.t18
-rw-r--r--cpan/Unicode-Collate/t/loc_kn.t10
-rw-r--r--cpan/Unicode-Collate/t/loc_mk.t194
-rw-r--r--cpan/Unicode-Collate/t/loc_ml.t86
-rw-r--r--cpan/Unicode-Collate/t/loc_mr.t56
-rw-r--r--cpan/Unicode-Collate/t/loc_mt.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_nb.t20
-rw-r--r--cpan/Unicode-Collate/t/loc_nn.t20
-rw-r--r--cpan/Unicode-Collate/t/loc_or.t45
-rw-r--r--cpan/Unicode-Collate/t/loc_pa.t88
-rw-r--r--cpan/Unicode-Collate/t/loc_ro.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_ru.t178
-rw-r--r--cpan/Unicode-Collate/t/rearrang.t36
-rw-r--r--pod/perldelta.pod7
32 files changed, 730 insertions, 242 deletions
diff --git a/MANIFEST b/MANIFEST
index 7498fd7a9a..6a10d3a26e 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2717,11 +2717,16 @@ cpan/Unicode-Collate/Collate/Locale/ko.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/ln.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/mk.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ml.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/mr.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/mt.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/nb.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/nn.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/nso.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/om.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/or.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/pa.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/pl.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale.pm Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/ro.pl Unicode::Collate
@@ -2811,11 +2816,15 @@ cpan/Unicode-Collate/t/loc_ln.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_mk.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_ml.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_mr.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_nso.t Unicode::Collate
cpan/Unicode-Collate/t/loc_om.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_or.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_pa.t Unicode::Collate
cpan/Unicode-Collate/t/loc_pl.t Unicode::Collate
cpan/Unicode-Collate/t/loc_ro.t Unicode::Collate
cpan/Unicode-Collate/t/loc_ru.t Unicode::Collate
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 4f97e2ac4d..ff4bb1b3f2 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1970,7 +1970,7 @@ use File::Glob qw(:case);
'Unicode::Collate' =>
{
'MAINTAINER' => 'sadahiro',
- 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.80.tar.gz',
+ 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.81.tar.gz',
'FILES' => q[cpan/Unicode-Collate],
'EXCLUDED' => [ qr{N$},
qr{^data/},
diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes
index 4550a6dbf0..0779628217 100644
--- a/cpan/Unicode-Collate/Changes
+++ b/cpan/Unicode-Collate/Changes
@@ -1,5 +1,10 @@
Revision history for Perl module Unicode::Collate.
+0.81 Sun Oct 23 21:32:36 2011
+ - U::C::Locale newly supports locales: ml, mr, or, pa.
+ - added loc_ml.t, loc_mr.t, loc_or.t, loc_pa.t in t.
+ - updated some locales to CLDR 2.0 : mk, mt, nb, nn, ro, ru.
+
0.80 Sun Oct 9 21:00:21 2011
- U::C::Locale newly supports locales: bs, hi, kn, kok, ln.
- added loc_bs.t, loc_hi.t, loc_kn.t, loc_kok.t, loc_ln.t in t.
@@ -10,7 +15,7 @@ Revision history for Perl module Unicode::Collate.
by Harlan Lieberman-Berg.
- 'suppress' no longer affects contractions via 'entry'.
- U::C::Locale newly supports locales: as, fi__phonebook, gu.
- - added loc_as.t, loc_fiph.t, loc_gu in t.
+ - added loc_as.t, loc_fiph.t, loc_gu.t in t.
- updated some locales to CLDR 2.0 : ar, be, bg.
0.78 Mon Jul 25 21:29:50 2011
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index f02f7208b5..0ed7f2a4b8 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.80';
+our $VERSION = '0.81';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm
index 1f19fc12b0..6e23bff526 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.80';
+our $VERSION = '0.81';
use File::Spec;
@@ -14,12 +14,12 @@ my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
af ar as az be bg ca cs cy da eo es et fi fil fo fr gu
ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
- mt nb nn nso om pl ro ru se sk sl sq sv tn to tr uk vi wo yo zh
+ mk ml mr mt nb nn nso om or pa pl ro ru se sk sl sq sv
+ tn to tr uk vi wo yo zh
);
$LocaleFile{'default'} = '';
# aliases
$LocaleFile{'bs'} = 'hr';
- $LocaleFile{'mk'} = 'ru';
$LocaleFile{'sr'} = 'ru';
# short file names
$LocaleFile{'de__phonebook'} = 'de_phone';
@@ -129,15 +129,19 @@ kok 2.0 = 1.8.1
ln 2.0 (type="standard") = 1.8.1
lt 2.0
lv 2.0 (type="standard") = 1.8.1
-mk
-mt
-nb
-nn
-nso
-om
-pl
-ro
-ru
+mk 2.0
+ml 2.0
+mr 2.0 = 1.8.1
+mt 2.0
+nb 2.0 (type="standard")
+nn 2.0 (type="standard")
+nso 2.0 = 1.8.1
+om 2.0 = 1.8.1
+or 2.0
+pa 2.0 = 1.8.1
+pl 2.0 = 1.8.1
+ro 2.0 (type="standard")
+ru 2.0
se
sk
sl
@@ -302,11 +306,15 @@ this method returns a string C<'default'> meaning no special tailoring.
lt Lithuanian
lv Latvian
mk Macedonian
+ ml Malayalam
+ mr Marathi
mt Maltese
nb Norwegian Bokmal
nn Norwegian Nynorsk
nso Northern Sotho
om Oromo
+ or Oriya
+ pa Punjabi
pl Polish
ro Romanian
ru Russian
@@ -331,6 +339,7 @@ this method returns a string C<'default'> meaning no special tailoring.
----------------------------------------------------------
Locales according to the default UCA rules include
+chr (Cherokee),
de (German),
en (English),
ga (Irish),
diff --git a/cpan/Unicode-Collate/Collate/Locale/kok.pl b/cpan/Unicode-Collate/Collate/Locale/kok.pl
index 88e698a2a5..940d542bec 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kok.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kok.pl
@@ -4,7 +4,7 @@
0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
0903 ; [.1F7B.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
0933 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
-0915 094D 0937 ; [.1FBC.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
0934 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.1FBC.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/mk.pl b/cpan/Unicode-Collate/Collate/Locale/mk.pl
new file mode 100644
index 0000000000..2c89b4b2ba
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/mk.pl
@@ -0,0 +1,44 @@
++{
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0415, 0x0435, 0x0416, 0x0436,
+ 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+ 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.0.0
+04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.194F.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.194F.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.19BC.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19BC.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.19C8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19C8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.19BC.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.19BC.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A31.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A31.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B3C.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B3C.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/ml.pl b/cpan/Unicode-Collate/Collate/Locale/ml.pl
new file mode 100644
index 0000000000..82a854d079
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/ml.pl
@@ -0,0 +1,22 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0D3D ; [.0000.00FC.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
+0D57 ; [.21E3.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+0D4C ; [.21E3.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.21E3.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
+0D15 0D4D 200D ; [.21AE.0020.0002.0D15][.21E5.0021.0002.0D15] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7F ; [.21AE.0020.0003.0D7F][.21E5.0021.0002.0D7F] # MALAYALAM LETTER CHILLU K
+0D23 0D4D 200D ; [.21BC.0020.0002.0D23][.21E5.0021.0002.0D23] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7A ; [.21BC.0020.0003.0D7A][.21E5.0021.0002.0D7A] # MALAYALAM LETTER CHILLU NN
+0D28 0D4D 200D ; [.21C1.0020.0002.0D28][.21E5.0021.0002.0D28] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7B ; [.21C1.0020.0003.0D7B][.21E5.0021.0002.0D7B] # MALAYALAM LETTER CHILLU N
+0D30 0D4D 200D ; [.21C9.0020.0002.0D30][.21E5.0021.0002.0D30] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7C ; [.21C9.0020.0003.0D7C][.21E5.0021.0002.0D7C] # MALAYALAM LETTER CHILLU RR
+0D32 0D4D 200D ; [.21CA.0020.0002.0D32][.21E5.0021.0002.0D32] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7D ; [.21CA.0020.0003.0D7D][.21E5.0021.0002.0D7D] # MALAYALAM LETTER CHILLU L
+0D33 0D4D 200D ; [.21D0.0020.0002.0D33][.21E5.0021.0002.0D33] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7E ; [.21D0.0020.0003.0D7E][.21E5.0021.0002.0D7E] # MALAYALAM LETTER CHILLU LL
+0D02 ; [.21C7.0020.0002.0D2E][.21E5.0021.0002.0D02] # MALAYALAM SIGN ANUSVARA
+0D7B 0D4D ; [.21C1.0020.0002.0D28][.21E5.0020.0003.0D7B] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/mr.pl b/cpan/Unicode-Collate/Collate/Locale/mr.pl
new file mode 100644
index 0000000000..c29ff4089c
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/mr.pl
@@ -0,0 +1,11 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1F7B.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
+0933 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.1FBC.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.1FBC.0020.0002.091C][.FFF3.0000.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/mt.pl b/cpan/Unicode-Collate/Collate/Locale/mt.pl
index 2066428c7a..867a251a35 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mt.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mt.pl
@@ -1,10 +1,10 @@
+{
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v6.0.0
-010B ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-0063 0307 ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0043 0307 ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+010B ; [.15D0.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.15D0.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.15D0.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.15D0.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
0121 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
0067 0307 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
0120 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nb.pl b/cpan/Unicode-Collate/Collate/Locale/nb.pl
index 9c25e1c252..92ea4a43d3 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nb.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nb.pl
@@ -66,5 +66,8 @@
212B ; [.18BB.0020.0008.00C5] # ANGSTROM SIGN
01FB ; [.18BB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
01FA ; [.18BB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18BB.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.18BB.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.18BB.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/nn.pl b/cpan/Unicode-Collate/Collate/Locale/nn.pl
index 9c25e1c252..92ea4a43d3 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nn.pl
@@ -66,5 +66,8 @@
212B ; [.18BB.0020.0008.00C5] # ANGSTROM SIGN
01FB ; [.18BB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
01FA ; [.18BB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18BB.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.18BB.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.18BB.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/or.pl b/cpan/Unicode-Collate/Collate/Locale/or.pl
new file mode 100644
index 0000000000..fdb2893ce2
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/or.pl
@@ -0,0 +1,9 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0B01 ; [.20A5.0020.0002.0B01][.FFF1.0000.0000.0000] # ORIYA SIGN CANDRABINDU
+0B02 ; [.20A5.0020.0002.0B02][.FFF2.0000.0000.0000] # ORIYA SIGN ANUSVARA
+0B03 ; [.20A5.0020.0002.0B03][.FFF3.0000.0000.0000] # ORIYA SIGN VISARGA
+0B15 0B4D 0B37 ; [.20C9.0020.0002.0B15][.FFF1.0000.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
+0B5F ; [.20BF.0021.0002.0B5F] # ORIYA LETTER YYA
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/pa.pl b/cpan/Unicode-Collate/Collate/Locale/pa.pl
new file mode 100644
index 0000000000..cfe44bbf47
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/pa.pl
@@ -0,0 +1,26 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0A71 ; [.0000.00E6.0002.0A71] # GURMUKHI ADDAK
+0A03 ; [.0000.00E5.0002.0A03] # GURMUKHI SIGN VISARGA
+0A70 ; [.0000.00E7.0002.0A70] # GURMUKHI TIPPI
+0A02 ; [.0000.00E8.0002.0A02] # GURMUKHI SIGN BINDI
+0A01 ; [.0000.00E9.0002.0A01] # GURMUKHI SIGN ADAK BINDI
+0A3C ; [.0000.00EA.0002.0A3C] # GURMUKHI SIGN NUKTA
+0A33 ; [.2047.0020.0002.0A32][.0000.00EA.0002.0A3C] # GURMUKHI LETTER LLA
+0A36 ; [.2028.0020.0002.0A38][.0000.00EA.0002.0A3C] # GURMUKHI LETTER SHA
+0A59 ; [.202C.0020.0002.0A16][.0000.00EA.0002.0A3C] # GURMUKHI LETTER KHHA
+0A5A ; [.202D.0020.0002.0A17][.0000.00EA.0002.0A3C] # GURMUKHI LETTER GHHA
+0A5B ; [.2032.0020.0002.0A1C][.0000.00EA.0002.0A3C] # GURMUKHI LETTER ZA
+0A5E ; [.2040.0020.0002.0A2B][.0000.00EA.0002.0A3C] # GURMUKHI LETTER FA
+0A4D ; [.204A.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
+0A3E ; [.204B.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.204C.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
+0A40 ; [.204D.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
+0A41 ; [.204E.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
+0A42 ; [.204F.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.2050.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.2051.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.2052.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.2053.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/ro.pl b/cpan/Unicode-Collate/Collate/Locale/ro.pl
index 6c48424858..0f22405fbf 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ro.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ro.pl
@@ -28,10 +28,6 @@
1EA8 ; [.15A5.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
1EAD ; [.15A5.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
1EAC ; [.15A5.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
00EE ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
0069 0302 ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
00CE ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
@@ -52,9 +48,5 @@
0054 0327 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
021A ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
0054 0326 ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-017C ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
ENTRY
};
diff --git a/cpan/Unicode-Collate/Collate/Locale/ru.pl b/cpan/Unicode-Collate/Collate/Locale/ru.pl
index 54bccaddd1..8b4c808371 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ru.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ru.pl
@@ -1,10 +1,15 @@
+{
- suppress => [0x0400..0x0417, 0x041A..0x0437, 0x043A..0x045F],
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+ 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
entry => <<'ENTRY', # for DUCET v6.0.0
04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.194F.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.194F.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
@@ -17,6 +22,8 @@
0407 ; [.19C8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A31.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A31.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
@@ -31,5 +38,7 @@
04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B3C.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B3C.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README
index c6af50c282..1218ec14d3 100644
--- a/cpan/Unicode-Collate/README
+++ b/cpan/Unicode-Collate/README
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.80
+Unicode/Collate version 0.81
===============================
NAME
diff --git a/cpan/Unicode-Collate/t/iglevel2.t b/cpan/Unicode-Collate/t/iglevel2.t
index f9fdbe0658..75915ff979 100644
--- a/cpan/Unicode-Collate/t/iglevel2.t
+++ b/cpan/Unicode-Collate/t/iglevel2.t
@@ -80,8 +80,8 @@ ok($Collator->eq("camel", "came\x{1B01}l"));
ok($Collator->eq("camel", "came\x{1B02}l"));
# primary: 1900 isn't zero
-ok($Collator->lt("\x{03C6}", "\x{03D5}"));
-ok($Collator->lt("\x{03D5}", "\x{03A6}"));
+ok($Collator->lt("\x{3C6}", "\x{3D5}"));
+ok($Collator->lt("\x{3D5}", "\x{3A6}"));
# 24
diff --git a/cpan/Unicode-Collate/t/ignor.t b/cpan/Unicode-Collate/t/ignor.t
index 13defcc543..693bbfe0d0 100644
--- a/cpan/Unicode-Collate/t/ignor.t
+++ b/cpan/Unicode-Collate/t/ignor.t
@@ -119,10 +119,10 @@ ENTRIES
ok($L3ignorable->lt("\cA", "!"));
ok($L3ignorable->lt("\x{591}", "!"));
ok($L3ignorable->eq("\cA", "\x{591}"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\cA\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{0591}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{1D165}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09CB}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\cA\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{591}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{1D165}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9CB}A"));
ok($L3ignorable->lt("\x{1D1BB}", "\x{1D1BC}"));
ok($L3ignorable->eq("\x{1D1BB}", "\x{1D1B9}"));
ok($L3ignorable->eq("\x{1D1BC}", "\x{1D1BA}"));
@@ -148,14 +148,14 @@ ENTRIES
ok($c->gt("ocho", "oc\x00\x00ho"));
ok($c->gt("ocho", "oc\cAho"));
-ok($c->gt("ocho", "oc\x{034F}ho"));
-ok($c->gt("ocio", "oc\x{034F}ho"));
-ok($c->lt("ocgo", "oc\x{034F}ho"));
-ok($c->lt("oceo", "oc\x{034F}ho"));
+ok($c->gt("ocho", "oc\x{34F}ho"));
+ok($c->gt("ocio", "oc\x{34F}ho"));
+ok($c->lt("ocgo", "oc\x{34F}ho"));
+ok($c->lt("oceo", "oc\x{34F}ho"));
ok($c->viewSortKey("ocho"), "[0B4B 0A3F 0B4B | | |]");
ok($c->viewSortKey("oc\x00\x00ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
ok($c->viewSortKey("oc\cAho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
-ok($c->viewSortKey("oc\x{034F}ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
+ok($c->viewSortKey("oc\x{34F}ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
diff --git a/cpan/Unicode-Collate/t/loc_kn.t b/cpan/Unicode-Collate/t/loc_kn.t
index 3563f693e2..bb31bfb82d 100644
--- a/cpan/Unicode-Collate/t/loc_kn.t
+++ b/cpan/Unicode-Collate/t/loc_kn.t
@@ -29,9 +29,9 @@ ok($objKn->getlocale, 'kn');
$objKn->change(level => 1);
-ok($objKn->lt("\x{0C94}", "\x{0C82}"));
-ok($objKn->lt("\x{0C82}", "\x{0C83}"));
-ok($objKn->lt("\x{0C83}", "\x{0CF1}"));
-ok($objKn->lt("\x{0CF1}", "\x{0CF2}"));
-ok($objKn->lt("\x{0CF2}", "\x{0C95}"));
+ok($objKn->lt("\x{C94}", "\x{C82}"));
+ok($objKn->lt("\x{C82}", "\x{C83}"));
+ok($objKn->lt("\x{C83}", "\x{CF1}"));
+ok($objKn->lt("\x{CF1}", "\x{CF2}"));
+ok($objKn->lt("\x{CF2}", "\x{C95}"));
diff --git a/cpan/Unicode-Collate/t/loc_mk.t b/cpan/Unicode-Collate/t/loc_mk.t
index 1df037ef50..61bdaed3e3 100644
--- a/cpan/Unicode-Collate/t/loc_mk.t
+++ b/cpan/Unicode-Collate/t/loc_mk.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 130 };
+BEGIN { plan tests => 202 };
use strict;
use warnings;
@@ -29,10 +29,10 @@ ok($objMk->getlocale, 'mk');
$objMk->change(level => 1);
-ok($objMk->gt("\x{4E5}", "\x{438}"));
-ok($objMk->gt("\x{4E4}", "\x{418}"));
-ok($objMk->gt("\x{439}", "\x{438}"));
-ok($objMk->gt("\x{419}", "\x{418}"));
+ok($objMk->gt("\x{453}", "\x{433}")); # not suppressed
+ok($objMk->gt("\x{403}", "\x{413}")); # not suppressed
+ok($objMk->gt("\x{45C}", "\x{43A}")); # not suppressed
+ok($objMk->gt("\x{40C}", "\x{41A}")); # not suppressed
# 6
@@ -40,20 +40,36 @@ ok($objMk->eq("\x{4D1}", "\x{430}"));
ok($objMk->eq("\x{4D0}", "\x{410}"));
ok($objMk->eq("\x{4D3}", "\x{430}"));
ok($objMk->eq("\x{4D2}", "\x{410}"));
-ok($objMk->eq("\x{453}", "\x{433}"));
-ok($objMk->eq("\x{403}", "\x{413}"));
+ok($objMk->eq("\x{4DB}", "\x{4D9}"));
+ok($objMk->eq("\x{4DA}", "\x{4D8}"));
+ok($objMk->eq("\x{450}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{400}", "\x{415}")); # not contraction
+ok($objMk->eq("\x{451}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{401}", "\x{415}")); # not contraction
ok($objMk->eq("\x{4D7}", "\x{435}"));
ok($objMk->eq("\x{4D6}", "\x{415}"));
+ok($objMk->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->eq("\x{4C1}", "\x{416}")); # not contraction
ok($objMk->eq("\x{4DD}", "\x{436}"));
ok($objMk->eq("\x{4DC}", "\x{416}"));
ok($objMk->eq("\x{4DF}", "\x{437}"));
ok($objMk->eq("\x{4DE}", "\x{417}"));
+ok($objMk->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E5}", "\x{438}"));
+ok($objMk->eq("\x{4E4}", "\x{418}"));
ok($objMk->eq("\x{457}", "\x{456}"));
ok($objMk->eq("\x{407}", "\x{406}"));
+ok($objMk->eq("\x{439}", "\x{438}"));
+ok($objMk->eq("\x{419}", "\x{418}"));
ok($objMk->eq("\x{4E7}", "\x{43E}"));
ok($objMk->eq("\x{4E6}", "\x{41E}"));
-ok($objMk->eq("\x{45C}", "\x{43A}"));
-ok($objMk->eq("\x{40C}", "\x{41A}"));
+ok($objMk->eq("\x{4EB}", "\x{4E9}"));
+ok($objMk->eq("\x{4EA}", "\x{4E8}"));
+ok($objMk->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->eq("\x{4EE}", "\x{423}")); # not contraction
ok($objMk->eq("\x{45E}", "\x{443}"));
ok($objMk->eq("\x{40E}", "\x{423}"));
ok($objMk->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +82,10 @@ ok($objMk->eq("\x{4F9}", "\x{44B}"));
ok($objMk->eq("\x{4F8}", "\x{42B}"));
ok($objMk->eq("\x{4ED}", "\x{44D}"));
ok($objMk->eq("\x{4EC}", "\x{42D}"));
+ok($objMk->eq("\x{477}", "\x{475}"));
+ok($objMk->eq("\x{476}", "\x{474}"));
-# 36
+# 54
$objMk->change(level => 2);
@@ -75,20 +93,36 @@ ok($objMk->gt("\x{4D1}", "\x{430}"));
ok($objMk->gt("\x{4D0}", "\x{410}"));
ok($objMk->gt("\x{4D3}", "\x{430}"));
ok($objMk->gt("\x{4D2}", "\x{410}"));
-ok($objMk->gt("\x{453}", "\x{433}"));
-ok($objMk->gt("\x{403}", "\x{413}"));
+ok($objMk->gt("\x{4DB}", "\x{4D9}"));
+ok($objMk->gt("\x{4DA}", "\x{4D8}"));
+ok($objMk->gt("\x{450}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{400}", "\x{415}")); # not contraction
+ok($objMk->gt("\x{451}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{401}", "\x{415}")); # not contraction
ok($objMk->gt("\x{4D7}", "\x{435}"));
ok($objMk->gt("\x{4D6}", "\x{415}"));
+ok($objMk->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->gt("\x{4C1}", "\x{416}")); # not contraction
ok($objMk->gt("\x{4DD}", "\x{436}"));
ok($objMk->gt("\x{4DC}", "\x{416}"));
ok($objMk->gt("\x{4DF}", "\x{437}"));
ok($objMk->gt("\x{4DE}", "\x{417}"));
+ok($objMk->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E5}", "\x{438}"));
+ok($objMk->gt("\x{4E4}", "\x{418}"));
ok($objMk->gt("\x{457}", "\x{456}"));
ok($objMk->gt("\x{407}", "\x{406}"));
+ok($objMk->gt("\x{439}", "\x{438}"));
+ok($objMk->gt("\x{419}", "\x{418}"));
ok($objMk->gt("\x{4E7}", "\x{43E}"));
ok($objMk->gt("\x{4E6}", "\x{41E}"));
-ok($objMk->gt("\x{45C}", "\x{43A}"));
-ok($objMk->gt("\x{40C}", "\x{41A}"));
+ok($objMk->gt("\x{4EB}", "\x{4E9}"));
+ok($objMk->gt("\x{4EA}", "\x{4E8}"));
+ok($objMk->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->gt("\x{4EE}", "\x{423}")); # not contraction
ok($objMk->gt("\x{45E}", "\x{443}"));
ok($objMk->gt("\x{40E}", "\x{423}"));
ok($objMk->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +135,69 @@ ok($objMk->gt("\x{4F9}", "\x{44B}"));
ok($objMk->gt("\x{4F8}", "\x{42B}"));
ok($objMk->gt("\x{4ED}", "\x{44D}"));
ok($objMk->gt("\x{4EC}", "\x{42D}"));
+ok($objMk->gt("\x{477}", "\x{475}"));
+ok($objMk->gt("\x{476}", "\x{474}"));
-# 66
+# 102
$objMk->change(level => 3);
-ok($objMk->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objMk->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objMk->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\x{308}"));
-ok($objMk->eq("\x{439}", "\x{438}\x{306}"));
-ok($objMk->eq("\x{419}", "\x{418}\x{306}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\x{308}"));
-
-# 100
-
-ok($objMk->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
-
-# 130
+ok($objMk->eq("\x{453}", "\x{433}\x{301}")); # not suppressed
+ok($objMk->eq("\x{403}", "\x{413}\x{301}")); # not suppressed
+ok($objMk->eq("\x{45C}", "\x{43A}\x{301}")); # not suppressed
+ok($objMk->eq("\x{40C}", "\x{41A}\x{301}")); # not suppressed
+
+# 106
+
+for my $i ("", "\0") {
+ ok($objMk->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objMk->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objMk->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objMk->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objMk->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objMk->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objMk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+ ok($objMk->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+ ok($objMk->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objMk->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objMk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+ ok($objMk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+ ok($objMk->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objMk->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objMk->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objMk->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objMk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4E5}", "\x{438}$i\x{308}"));
+ ok($objMk->eq("\x{4E4}", "\x{418}$i\x{308}"));
+ ok($objMk->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objMk->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objMk->eq("\x{439}", "\x{438}$i\x{306}"));
+ ok($objMk->eq("\x{419}", "\x{418}$i\x{306}"));
+ ok($objMk->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objMk->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objMk->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objMk->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objMk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objMk->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objMk->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objMk->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objMk->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objMk->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objMk->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objMk->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objMk->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objMk->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objMk->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objMk->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objMk->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objMk->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 202
diff --git a/cpan/Unicode-Collate/t/loc_ml.t b/cpan/Unicode-Collate/t/loc_ml.t
new file mode 100644
index 0000000000..9ffdde722f
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ml.t
@@ -0,0 +1,86 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 36 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objMl = Unicode::Collate::Locale->
+ new(locale => 'ML', normalization => undef);
+
+ok($objMl->getlocale, 'ml');
+
+$objMl->change(level => 1);
+
+ok($objMl->lt("\x{D4B}", "\x{D57}"));
+
+# 3
+
+ok($objMl->eq("\x{D03}", "\x{D3D}"));
+ok($objMl->eq("\x{D15}\x{D4D}", "\x{D15}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D23}\x{D4D}", "\x{D23}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D28}\x{D4D}", "\x{D28}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D30}\x{D4D}", "\x{D30}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D32}\x{D4D}", "\x{D32}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D33}\x{D4D}", "\x{D33}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D2E}\x{D4D}", "\x{D02}"));
+
+# 11
+
+$objMl->change(level => 2);
+
+ok($objMl->lt("\x{D03}", "\x{D3D}"));
+ok($objMl->lt("\x{D15}\x{D4D}", "\x{D15}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D23}\x{D4D}", "\x{D23}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D28}\x{D4D}", "\x{D28}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D30}\x{D4D}", "\x{D30}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D32}\x{D4D}", "\x{D32}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D33}\x{D4D}", "\x{D33}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D2E}\x{D4D}", "\x{D02}"));
+
+# 19
+
+ok($objMl->eq("\x{D57}", "\x{D4C}"));
+ok($objMl->eq("\x{D15}\x{D4D}\x{200D}", "\x{D7F}"));
+ok($objMl->eq("\x{D23}\x{D4D}\x{200D}", "\x{D7A}"));
+ok($objMl->eq("\x{D28}\x{D4D}\x{200D}", "\x{D7B}"));
+ok($objMl->eq("\x{D30}\x{D4D}\x{200D}", "\x{D7C}"));
+ok($objMl->eq("\x{D32}\x{D4D}\x{200D}", "\x{D7D}"));
+ok($objMl->eq("\x{D33}\x{D4D}\x{200D}", "\x{D7E}"));
+ok($objMl->eq("\x{D28}\x{D4D}", "\x{D7B}\x{D4D}"));
+
+# 27
+
+$objMl->change(level => 3);
+
+ok($objMl->lt("\x{D57}", "\x{D4C}"));
+ok($objMl->lt("\x{D15}\x{D4D}\x{200D}", "\x{D7F}"));
+ok($objMl->lt("\x{D23}\x{D4D}\x{200D}", "\x{D7A}"));
+ok($objMl->lt("\x{D28}\x{D4D}\x{200D}", "\x{D7B}"));
+ok($objMl->lt("\x{D30}\x{D4D}\x{200D}", "\x{D7C}"));
+ok($objMl->lt("\x{D32}\x{D4D}\x{200D}", "\x{D7D}"));
+ok($objMl->lt("\x{D33}\x{D4D}\x{200D}", "\x{D7E}"));
+ok($objMl->lt("\x{D28}\x{D4D}", "\x{D7B}\x{D4D}"));
+
+# 35
+
+ok($objMl->eq("\x{D4C}", "\x{D46}\x{D57}"));
+
+# 36
diff --git a/cpan/Unicode-Collate/t/loc_mr.t b/cpan/Unicode-Collate/t/loc_mr.t
new file mode 100644
index 0000000000..d1e07a550c
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_mr.t
@@ -0,0 +1,56 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 14 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objMr = Unicode::Collate::Locale->
+ new(locale => 'MR', normalization => undef);
+
+ok($objMr->getlocale, 'mr');
+
+$objMr->change(level => 1);
+
+ok($objMr->lt("\x{950}", "\x{902}"));
+ok($objMr->lt("\x{902}", "\x{903}"));
+ok($objMr->lt("\x{903}", "\x{972}"));
+
+ok($objMr->eq("\x{902}", "\x{901}"));
+
+ok($objMr->lt("\x{939}", "\x{933}"));
+ok($objMr->lt("\x{933}", "\x{915}\x{94D}\x{937}"));
+ok($objMr->lt("\x{915}\x{94D}\x{937}", "\x{91C}\x{94D}\x{91E}"));
+ok($objMr->lt("\x{91C}\x{94D}\x{91E}", "\x{93D}"));
+
+ok($objMr->eq("\x{933}", "\x{934}"));
+
+# 11
+
+$objMr->change(level => 2);
+
+ok($objMr->lt("\x{902}", "\x{901}"));
+ok($objMr->lt("\x{933}", "\x{934}"));
+
+$objMr->change(level => 3);
+
+ok($objMr->eq("\x{933}\x{93C}", "\x{934}"));
+
+# 14
diff --git a/cpan/Unicode-Collate/t/loc_mt.t b/cpan/Unicode-Collate/t/loc_mt.t
index f3e15ba19c..3f027bb858 100644
--- a/cpan/Unicode-Collate/t/loc_mt.t
+++ b/cpan/Unicode-Collate/t/loc_mt.t
@@ -29,8 +29,8 @@ 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("b", "c\x{307}"));
+ok($objMt->gt("c", "c\x{307}"));
ok($objMt->lt("f", "g\x{307}"));
ok($objMt->gt("g", "g\x{307}"));
ok($objMt->lt("g", "gh\x{335}"));
diff --git a/cpan/Unicode-Collate/t/loc_nb.t b/cpan/Unicode-Collate/t/loc_nb.t
index 4de166a644..9cccbd5f43 100644
--- a/cpan/Unicode-Collate/t/loc_nb.t
+++ b/cpan/Unicode-Collate/t/loc_nb.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 95 };
+BEGIN { plan tests => 101 };
use strict;
use warnings;
@@ -62,8 +62,9 @@ ok($objNb->eq($auml, "\x{119}"));
ok($objNb->eq($ostk, $ouml));
ok($objNb->eq($ouml, "\x{151}"));
ok($objNb->eq("\x{151}", "\x{153}"));
+ok($objNb->eq($arng, 'aa'));
-# 15
+# 16
$objNb->change(level => 2);
@@ -76,8 +77,9 @@ ok($objNb->lt($auml, "\x{119}"));
ok($objNb->lt($ostk, $ouml));
ok($objNb->lt($ouml, "\x{151}"));
ok($objNb->lt("\x{151}", "\x{153}"));
+ok($objNb->lt($arng, 'aa'));
-# 24
+# 26
ok($objNb->eq("\x{111}", "\x{110}"));
ok($objNb->eq($eth, $ETH));
@@ -95,8 +97,10 @@ ok($objNb->eq($ouml, $Ouml));
ok($objNb->eq("\x{151}", "\x{150}"));
ok($objNb->eq("\x{153}", "\x{152}"));
ok($objNb->eq($arng, $Arng));
+ok($objNb->eq('aa', 'Aa'));
+ok($objNb->eq('Aa', 'AA'));
-# 40
+# 44
$objNb->change(level => 3);
@@ -116,8 +120,10 @@ ok($objNb->lt($ouml, $Ouml));
ok($objNb->lt("\x{151}", "\x{150}"));
ok($objNb->lt("\x{153}", "\x{152}"));
ok($objNb->lt($arng, $Arng));
+ok($objNb->lt('aa', 'Aa'));
+ok($objNb->lt('Aa', 'AA'));
-# 56
+# 62
ok($objNb->eq("d\x{335}", "\x{111}"));
ok($objNb->eq("D\x{335}", "\x{110}"));
@@ -138,7 +144,7 @@ ok($objNb->eq("O\x{30B}", "\x{150}"));
ok($objNb->eq("a\x{30A}", $arng));
ok($objNb->eq("A\x{30A}", $Arng));
-# 74
+# 80
ok($objNb->eq("u\x{308}\x{300}", "\x{1DC}"));
ok($objNb->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +168,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}"));
-# 95
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_nn.t b/cpan/Unicode-Collate/t/loc_nn.t
index 6af4447d93..bed31a075f 100644
--- a/cpan/Unicode-Collate/t/loc_nn.t
+++ b/cpan/Unicode-Collate/t/loc_nn.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 95 };
+BEGIN { plan tests => 101 };
use strict;
use warnings;
@@ -62,8 +62,9 @@ ok($objNn->eq($auml, "\x{119}"));
ok($objNn->eq($ostk, $ouml));
ok($objNn->eq($ouml, "\x{151}"));
ok($objNn->eq("\x{151}", "\x{153}"));
+ok($objNn->eq($arng, 'aa'));
-# 15
+# 16
$objNn->change(level => 2);
@@ -76,8 +77,9 @@ ok($objNn->lt($auml, "\x{119}"));
ok($objNn->lt($ostk, $ouml));
ok($objNn->lt($ouml, "\x{151}"));
ok($objNn->lt("\x{151}", "\x{153}"));
+ok($objNn->lt($arng, 'aa'));
-# 24
+# 26
ok($objNn->eq("\x{111}", "\x{110}"));
ok($objNn->eq($eth, $ETH));
@@ -95,8 +97,10 @@ ok($objNn->eq($ouml, $Ouml));
ok($objNn->eq("\x{151}", "\x{150}"));
ok($objNn->eq("\x{153}", "\x{152}"));
ok($objNn->eq($arng, $Arng));
+ok($objNn->eq('aa', 'Aa'));
+ok($objNn->eq('Aa', 'AA'));
-# 40
+# 44
$objNn->change(level => 3);
@@ -116,8 +120,10 @@ ok($objNn->lt($ouml, $Ouml));
ok($objNn->lt("\x{151}", "\x{150}"));
ok($objNn->lt("\x{153}", "\x{152}"));
ok($objNn->lt($arng, $Arng));
+ok($objNn->lt('aa', 'Aa'));
+ok($objNn->lt('Aa', 'AA'));
-# 56
+# 62
ok($objNn->eq("d\x{335}", "\x{111}"));
ok($objNn->eq("D\x{335}", "\x{110}"));
@@ -138,7 +144,7 @@ ok($objNn->eq("O\x{30B}", "\x{150}"));
ok($objNn->eq("a\x{30A}", $arng));
ok($objNn->eq("A\x{30A}", $Arng));
-# 74
+# 80
ok($objNn->eq("u\x{308}\x{300}", "\x{1DC}"));
ok($objNn->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +168,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}"));
-# 95
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_or.t b/cpan/Unicode-Collate/t/loc_or.t
new file mode 100644
index 0000000000..1f94fd9554
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_or.t
@@ -0,0 +1,45 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 10 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objOr = Unicode::Collate::Locale->
+ new(locale => 'OR', normalization => undef);
+
+ok($objOr->getlocale, 'or');
+
+$objOr->change(level => 1);
+
+ok($objOr->lt("\x{B14}", "\x{B01}"));
+ok($objOr->lt("\x{B01}", "\x{B02}"));
+ok($objOr->lt("\x{B02}", "\x{B03}"));
+ok($objOr->lt("\x{B03}", "\x{B15}"));
+
+ok($objOr->lt("\x{B39}", "\x{B15}\x{B4D}\x{B37}"));
+ok($objOr->gt("\x{B3D}", "\x{B15}\x{B4D}\x{B37}"));
+
+ok($objOr->eq("\x{B2F}", "\x{B5F}"));
+
+$objOr->change(level => 2);
+
+ok($objOr->lt("\x{B2F}", "\x{B5F}"));
+
diff --git a/cpan/Unicode-Collate/t/loc_pa.t b/cpan/Unicode-Collate/t/loc_pa.t
new file mode 100644
index 0000000000..811ee78d61
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_pa.t
@@ -0,0 +1,88 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 41 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objPa = Unicode::Collate::Locale->
+ new(locale => 'PA', normalization => undef);
+
+my $default = Unicode::Collate::Locale->
+ new(normalization => undef);
+
+ok($objPa->getlocale, 'pa');
+ok($default->getlocale, 'default');
+
+$objPa->change(level => 1);
+
+ok($objPa->lt("\x{A5C}", "\x{A4D}"));
+ok($objPa->lt("\x{A4D}", "\x{A3E}"));
+
+# 5
+
+# RRA and Vowel Signs
+for my $o ($objPa, $default) {
+ ok($o->lt("\x{A5C}", "\x{A3E}"));
+ ok($o->lt("\x{A3E}", "\x{A3F}"));
+ ok($o->lt("\x{A3F}", "\x{A40}"));
+ ok($o->lt("\x{A40}", "\x{A41}"));
+ ok($o->lt("\x{A41}", "\x{A42}"));
+ ok($o->lt("\x{A42}", "\x{A47}"));
+ ok($o->lt("\x{A47}", "\x{A48}"));
+ ok($o->lt("\x{A48}", "\x{A4B}"));
+ ok($o->lt("\x{A4B}", "\x{A4C}"));
+}
+
+# 23
+
+ok($default->lt("\x{A4C}", "\x{A4D}"));
+
+# 24
+
+ok($objPa->eq("\x{A03}", ""));
+ok($objPa->eq("\x{A03}", "\x{A71}"));
+ok($objPa->eq("\x{A71}", "\x{A70}"));
+ok($objPa->eq("\x{A70}", "\x{A02}"));
+ok($objPa->eq("\x{A02}", "\x{A01}"));
+ok($objPa->eq("\x{A01}", "\x{A3C}"));
+
+# 30
+
+$objPa->change(level => 2);
+
+ok($objPa->lt("\x{A03}", "\x{A71}"));
+ok($objPa->lt("\x{A71}", "\x{A70}"));
+ok($objPa->lt("\x{A70}", "\x{A02}"));
+ok($objPa->lt("\x{A02}", "\x{A01}"));
+ok($objPa->lt("\x{A01}", "\x{A3C}"));
+
+# 35
+
+$objPa->change(level => 3);
+
+ok($objPa->eq("\x{A33}", "\x{A32}\x{A3C}"));
+ok($objPa->eq("\x{A36}", "\x{A38}\x{A3C}"));
+ok($objPa->eq("\x{A59}", "\x{A16}\x{A3C}"));
+ok($objPa->eq("\x{A5A}", "\x{A17}\x{A3C}"));
+ok($objPa->eq("\x{A5B}", "\x{A1C}\x{A3C}"));
+ok($objPa->eq("\x{A5E}", "\x{A2B}\x{A3C}"));
+
+# 41
diff --git a/cpan/Unicode-Collate/t/loc_ro.t b/cpan/Unicode-Collate/t/loc_ro.t
index 9a88320cea..ec1b16beef 100644
--- a/cpan/Unicode-Collate/t/loc_ro.t
+++ b/cpan/Unicode-Collate/t/loc_ro.t
@@ -32,7 +32,7 @@ $objRo->change(level => 1);
ok($objRo->lt("a", "a\x{306}"));
ok($objRo->lt("a\x{306}", "a\x{302}"));
ok($objRo->gt("b", "a\x{302}"));
-ok($objRo->lt("d", "d\x{335}"));
+ok($objRo->eq("d", "d\x{335}")); # not tailored in CLDR 2.0
ok($objRo->gt("e", "d\x{335}"));
ok($objRo->lt("i", "i\x{302}"));
ok($objRo->gt("j", "i\x{302}"));
@@ -40,7 +40,7 @@ ok($objRo->lt("s", "s\x{327}"));
ok($objRo->gt("t", "s\x{327}"));
ok($objRo->lt("t", "t\x{327}"));
ok($objRo->gt("u", "t\x{327}"));
-ok($objRo->lt("z", "z\x{307}"));
+ok($objRo->eq("z", "z\x{307}")); # not tailored in CLDR 2.0
ok($objRo->lt("z\x{307}", "\x{292}")); # U+0292 EZH
# 15
diff --git a/cpan/Unicode-Collate/t/loc_ru.t b/cpan/Unicode-Collate/t/loc_ru.t
index bdd81cbaf8..a814897eb8 100644
--- a/cpan/Unicode-Collate/t/loc_ru.t
+++ b/cpan/Unicode-Collate/t/loc_ru.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 130 };
+BEGIN { plan tests => 202 };
use strict;
use warnings;
@@ -29,10 +29,10 @@ ok($objRu->getlocale, 'ru');
$objRu->change(level => 1);
-ok($objRu->gt("\x{4E5}", "\x{438}"));
-ok($objRu->gt("\x{4E4}", "\x{418}"));
-ok($objRu->gt("\x{439}", "\x{438}"));
-ok($objRu->gt("\x{419}", "\x{418}"));
+ok($objRu->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objRu->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{419}", "\x{418}")); # not suppressed
# 6
@@ -40,20 +40,36 @@ ok($objRu->eq("\x{4D1}", "\x{430}"));
ok($objRu->eq("\x{4D0}", "\x{410}"));
ok($objRu->eq("\x{4D3}", "\x{430}"));
ok($objRu->eq("\x{4D2}", "\x{410}"));
+ok($objRu->eq("\x{4DB}", "\x{4D9}"));
+ok($objRu->eq("\x{4DA}", "\x{4D8}"));
ok($objRu->eq("\x{453}", "\x{433}"));
ok($objRu->eq("\x{403}", "\x{413}"));
+ok($objRu->eq("\x{450}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{400}", "\x{415}")); # not contraction
+ok($objRu->eq("\x{451}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{401}", "\x{415}")); # not contraction
ok($objRu->eq("\x{4D7}", "\x{435}"));
ok($objRu->eq("\x{4D6}", "\x{415}"));
+ok($objRu->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->eq("\x{4C1}", "\x{416}")); # not contraction
ok($objRu->eq("\x{4DD}", "\x{436}"));
ok($objRu->eq("\x{4DC}", "\x{416}"));
ok($objRu->eq("\x{4DF}", "\x{437}"));
ok($objRu->eq("\x{4DE}", "\x{417}"));
+ok($objRu->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{4E2}", "\x{418}")); # not contraction
ok($objRu->eq("\x{457}", "\x{456}"));
ok($objRu->eq("\x{407}", "\x{406}"));
ok($objRu->eq("\x{4E7}", "\x{43E}"));
ok($objRu->eq("\x{4E6}", "\x{41E}"));
+ok($objRu->eq("\x{4EB}", "\x{4E9}"));
+ok($objRu->eq("\x{4EA}", "\x{4E8}"));
ok($objRu->eq("\x{45C}", "\x{43A}"));
ok($objRu->eq("\x{40C}", "\x{41A}"));
+ok($objRu->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->eq("\x{4EE}", "\x{423}")); # not contraction
ok($objRu->eq("\x{45E}", "\x{443}"));
ok($objRu->eq("\x{40E}", "\x{423}"));
ok($objRu->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +82,10 @@ ok($objRu->eq("\x{4F9}", "\x{44B}"));
ok($objRu->eq("\x{4F8}", "\x{42B}"));
ok($objRu->eq("\x{4ED}", "\x{44D}"));
ok($objRu->eq("\x{4EC}", "\x{42D}"));
+ok($objRu->eq("\x{477}", "\x{475}"));
+ok($objRu->eq("\x{476}", "\x{474}"));
-# 36
+# 54
$objRu->change(level => 2);
@@ -75,20 +93,36 @@ ok($objRu->gt("\x{4D1}", "\x{430}"));
ok($objRu->gt("\x{4D0}", "\x{410}"));
ok($objRu->gt("\x{4D3}", "\x{430}"));
ok($objRu->gt("\x{4D2}", "\x{410}"));
+ok($objRu->gt("\x{4DB}", "\x{4D9}"));
+ok($objRu->gt("\x{4DA}", "\x{4D8}"));
ok($objRu->gt("\x{453}", "\x{433}"));
ok($objRu->gt("\x{403}", "\x{413}"));
+ok($objRu->gt("\x{450}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{400}", "\x{415}")); # not contraction
+ok($objRu->gt("\x{451}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{401}", "\x{415}")); # not contraction
ok($objRu->gt("\x{4D7}", "\x{435}"));
ok($objRu->gt("\x{4D6}", "\x{415}"));
+ok($objRu->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->gt("\x{4C1}", "\x{416}")); # not contraction
ok($objRu->gt("\x{4DD}", "\x{436}"));
ok($objRu->gt("\x{4DC}", "\x{416}"));
ok($objRu->gt("\x{4DF}", "\x{437}"));
ok($objRu->gt("\x{4DE}", "\x{417}"));
+ok($objRu->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{4E2}", "\x{418}")); # not contraction
ok($objRu->gt("\x{457}", "\x{456}"));
ok($objRu->gt("\x{407}", "\x{406}"));
ok($objRu->gt("\x{4E7}", "\x{43E}"));
ok($objRu->gt("\x{4E6}", "\x{41E}"));
+ok($objRu->gt("\x{4EB}", "\x{4E9}"));
+ok($objRu->gt("\x{4EA}", "\x{4E8}"));
ok($objRu->gt("\x{45C}", "\x{43A}"));
ok($objRu->gt("\x{40C}", "\x{41A}"));
+ok($objRu->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->gt("\x{4EE}", "\x{423}")); # not contraction
ok($objRu->gt("\x{45E}", "\x{443}"));
ok($objRu->gt("\x{40E}", "\x{423}"));
ok($objRu->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +135,69 @@ ok($objRu->gt("\x{4F9}", "\x{44B}"));
ok($objRu->gt("\x{4F8}", "\x{42B}"));
ok($objRu->gt("\x{4ED}", "\x{44D}"));
ok($objRu->gt("\x{4EC}", "\x{42D}"));
+ok($objRu->gt("\x{477}", "\x{475}"));
+ok($objRu->gt("\x{476}", "\x{474}"));
-# 66
+# 102
$objRu->change(level => 3);
-ok($objRu->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objRu->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objRu->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\x{308}"));
-ok($objRu->eq("\x{439}", "\x{438}\x{306}"));
-ok($objRu->eq("\x{419}", "\x{418}\x{306}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\x{308}"));
-
-# 100
-
-ok($objRu->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\0\x{308}"));
-
-# 130
+ok($objRu->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objRu->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objRu->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objRu->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
+
+# 106
+
+for my $i ("", "\0") {
+ ok($objRu->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objRu->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objRu->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objRu->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objRu->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objRu->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objRu->eq("\x{453}", "\x{433}$i\x{301}"));
+ ok($objRu->eq("\x{403}", "\x{413}$i\x{301}"));
+ ok($objRu->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+ ok($objRu->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+ ok($objRu->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objRu->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objRu->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+ ok($objRu->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+ ok($objRu->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objRu->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objRu->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objRu->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objRu->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objRu->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objRu->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objRu->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objRu->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objRu->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objRu->eq("\x{45C}", "\x{43A}$i\x{301}"));
+ ok($objRu->eq("\x{40C}", "\x{41A}$i\x{301}"));
+ ok($objRu->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objRu->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objRu->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objRu->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objRu->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objRu->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objRu->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objRu->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objRu->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objRu->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objRu->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objRu->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objRu->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objRu->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 202
diff --git a/cpan/Unicode-Collate/t/rearrang.t b/cpan/Unicode-Collate/t/rearrang.t
index 0977db9e48..78f77e60cd 100644
--- a/cpan/Unicode-Collate/t/rearrang.t
+++ b/cpan/Unicode-Collate/t/rearrang.t
@@ -34,8 +34,8 @@ my $Collator = Unicode::Collate->new(
my %old_rearrange = $Collator->change(rearrange => undef);
-ok($Collator->gt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->gt( "\x{E41}A", "\x{E40}B"));
+ok($Collator->gt("A\x{E41}A", "A\x{E40}B"));
$Collator->change(rearrange => [ 0x61 ]);
# U+0061, 'a': This is a Unicode value, never a native value.
@@ -45,10 +45,10 @@ ok($Collator->gt("ab", "AB")); # as 'ba' > 'AB'
$Collator->change(%old_rearrange);
ok($Collator->lt("ab", "AB"));
-ok($Collator->lt("\x{0E40}", "\x{0E41}"));
-ok($Collator->lt("\x{0E40}A", "\x{0E41}B"));
-ok($Collator->lt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->lt( "\x{E40}", "\x{E41}"));
+ok($Collator->lt( "\x{E40}A", "\x{E41}B"));
+ok($Collator->lt( "\x{E41}A", "\x{E40}B"));
+ok($Collator->lt("A\x{E41}A", "A\x{E40}B"));
##### 10..13
@@ -60,10 +60,10 @@ my $all_undef_8 = Unicode::Collate->new(
UCA_Version => 8,
);
-ok($all_undef_8->lt("\x{0E40}", "\x{0E41}"));
-ok($all_undef_8->lt("\x{0E40}A", "\x{0E41}B"));
-ok($all_undef_8->lt("\x{0E41}A", "\x{0E40}B"));
-ok($all_undef_8->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($all_undef_8->lt( "\x{E40}", "\x{E41}"));
+ok($all_undef_8->lt( "\x{E40}A", "\x{E41}B"));
+ok($all_undef_8->lt( "\x{E41}A", "\x{E40}B"));
+ok($all_undef_8->lt("A\x{E41}A", "A\x{E40}B"));
##### 14..18
@@ -75,10 +75,10 @@ my $no_rearrange = Unicode::Collate->new(
);
ok($no_rearrange->lt("A", "B"));
-ok($no_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($no_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($no_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($no_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($no_rearrange->lt( "\x{E40}", "\x{E41}"));
+ok($no_rearrange->lt( "\x{E40}A", "\x{E41}B"));
+ok($no_rearrange->gt( "\x{E41}A", "\x{E40}B"));
+ok($no_rearrange->gt("A\x{E41}A", "A\x{E40}B"));
##### 19..23
@@ -90,8 +90,8 @@ my $undef_rearrange = Unicode::Collate->new(
);
ok($undef_rearrange->lt("A", "B"));
-ok($undef_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($undef_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($undef_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($undef_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($undef_rearrange->lt( "\x{E40}", "\x{E41}"));
+ok($undef_rearrange->lt( "\x{E40}A", "\x{E41}B"));
+ok($undef_rearrange->gt( "\x{E41}A", "\x{E40}B"));
+ok($undef_rearrange->gt("A\x{E41}A", "A\x{E40}B"));
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 28d6fd43fe..871edb033d 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -110,6 +110,13 @@ a C<www_form_urlencode()> utility method.
L<perlfaq> has been upgraded from version 5.0150035 to version 5.0150036.
+=item *
+
+L<Unicode::Collate> has been upgraded from version 0.80 to version 0.81.
+
+Locales updated to CLDR 2.0: mk, mt, nb, nn, ro, ru.
+Newly supported locales: ml, mr, or, pa.
+
=back
=head2 Removed Modules and Pragmata