summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Hay <steve.m.hay@googlemail.com>2016-11-09 13:26:47 +0000
committerSteve Hay <steve.m.hay@googlemail.com>2016-11-09 13:26:47 +0000
commitcc2b46b563e1a9147700b04d0d2e529ae63e2e12 (patch)
tree1b9093c316f2daff43810311fd243f2b0910ce6b
parent5cb90c3d43075068a442a44835bf1ecf37491f59 (diff)
downloadperl-cc2b46b563e1a9147700b04d0d2e529ae63e2e12.tar.gz
Upgrade Unicode-Collate from version 1.17 to 1.18
-rw-r--r--MANIFEST5
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/Unicode-Collate/Collate.pm13
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/Big5.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/GB2312.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/JISX0208.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/Korean.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/Pinyin.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/Stroke.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale.pm89
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/af.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ar.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/as.pl7
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/az.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/be.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/bn.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ca.pl3
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/cs.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/cy.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/da.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl31
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/de_phone.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ee.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/eo.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/es.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/es_trad.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/et.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fa.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fi.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fi_phone.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fil.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fo.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fr.pl4
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/fr_ca.pl4
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/gu.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ha.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/haw.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hi.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hr.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hu.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/hy.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ig.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/is.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ja.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kl.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kn.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ko.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/kok.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ln.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/lt.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/lv.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ml.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mr.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/mt.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nb.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nn.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/nso.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/om.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/or.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/pa.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/pl.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ro.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sa.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/se.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/si.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/si_dict.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sl.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sq.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sr.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sv.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/sv_refo.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ta.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/te.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/th.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/tn.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/to.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/tr.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/uk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/ur.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/vi.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/wae.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/wo.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/yo.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh_big5.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh_gb.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh_pin.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh_strk.pl2
-rw-r--r--cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl2
-rw-r--r--cpan/Unicode-Collate/t/loc_as.t16
-rw-r--r--cpan/Unicode-Collate/t/loc_bn.t5
-rw-r--r--cpan/Unicode-Collate/t/loc_ca.t37
-rw-r--r--cpan/Unicode-Collate/t/loc_cyrl.t300
-rw-r--r--cpan/Unicode-Collate/t/loc_deat.t131
-rw-r--r--cpan/Unicode-Collate/t/loc_deph.t44
-rw-r--r--cpan/Unicode-Collate/t/loc_es.t2
-rw-r--r--cpan/Unicode-Collate/t/loc_estr.t2
-rw-r--r--cpan/Unicode-Collate/t/loc_fil.t10
-rw-r--r--cpan/Unicode-Collate/t/loc_fr.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_frca.t53
-rw-r--r--cpan/Unicode-Collate/t/loc_gu.t3
-rw-r--r--cpan/Unicode-Collate/t/loc_hi.t8
-rw-r--r--cpan/Unicode-Collate/t/loc_hy.t3
-rw-r--r--cpan/Unicode-Collate/t/loc_kn.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_kok.t8
-rw-r--r--cpan/Unicode-Collate/t/loc_mr.t8
-rw-r--r--cpan/Unicode-Collate/t/loc_or.t3
-rw-r--r--cpan/Unicode-Collate/t/loc_sa.t8
-rw-r--r--cpan/Unicode-Collate/t/loc_si.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_sidt.t3
-rw-r--r--cpan/Unicode-Collate/t/loc_te.t5
-rw-r--r--cpan/Unicode-Collate/t/loc_test.t4
117 files changed, 636 insertions, 357 deletions
diff --git a/MANIFEST b/MANIFEST
index 906eb97fd4..ef902b82e6 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2907,6 +2907,7 @@ cpan/Unicode-Collate/Collate/Locale/ca.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/cs.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/cy.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/da.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/de_phone.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/ee.pl
cpan/Unicode-Collate/Collate/Locale/eo.pl Unicode::Collate
@@ -2918,7 +2919,7 @@ cpan/Unicode-Collate/Collate/Locale/fi.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fi_phone.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fil.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/fo.pl Unicode::Collate
-cpan/Unicode-Collate/Collate/Locale/fr.pl Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fr_ca.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/gu.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/ha.pl Unicode::Collate
cpan/Unicode-Collate/Collate/Locale/haw.pl Unicode::Collate
@@ -3018,6 +3019,7 @@ cpan/Unicode-Collate/t/loc_cy.t Unicode::Collate
cpan/Unicode-Collate/t/loc_cyrl.t Unicode::Collate
cpan/Unicode-Collate/t/loc_da.t Unicode::Collate
cpan/Unicode-Collate/t/loc_de.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_deat.t Unicode::Collate
cpan/Unicode-Collate/t/loc_deph.t Unicode::Collate
cpan/Unicode-Collate/t/loc_ee.t
cpan/Unicode-Collate/t/loc_eo.t Unicode::Collate
@@ -3030,6 +3032,7 @@ cpan/Unicode-Collate/t/loc_fil.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fiph.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fo.t Unicode::Collate
cpan/Unicode-Collate/t/loc_fr.t Unicode::Collate
+cpan/Unicode-Collate/t/loc_frca.t Unicode::Collate
cpan/Unicode-Collate/t/loc_gu.t Unicode::Collate
cpan/Unicode-Collate/t/loc_ha.t Unicode::Collate
cpan/Unicode-Collate/t/loc_haw.t Unicode::Collate
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index d37ba81b24..51a417e9cf 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1312,7 +1312,7 @@ use File::Glob qw(:case);
},
'Unicode::Collate' => {
- 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.17.tar.gz',
+ 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.18.tar.gz',
'FILES' => q[cpan/Unicode-Collate],
'EXCLUDED' => [
qr{N$},
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index ea2f946196..929e340979 100644
--- a/cpan/Unicode-Collate/Collate.pm
+++ b/cpan/Unicode-Collate/Collate.pm
@@ -17,7 +17,7 @@ use File::Spec;
no warnings 'utf8';
-our $VERSION = '1.17';
+our $VERSION = '1.18';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
@@ -1116,7 +1116,7 @@ The following revisions are supported. The default is 32.
30 7.0.0 7.0.0 (7.0.0)
32 8.0.0 8.0.0 (8.0.0)
-* See below C<long_contraction> with C<UCA_Version> 22 and 24.
+* See below for C<long_contraction> with C<UCA_Version> 22 and 24.
* Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
since C<UCA_Version> 22.
@@ -1231,7 +1231,7 @@ table beforehand.
=item highestFFFF
--- see 5.14 Collation Elements, UTS #35.
+-- see 2.4 Tailored noncharacter weights, UTS #35 (LDML) Part 5: Collation.
If the parameter is made true, C<U+FFFF> has a highest primary weight.
When a boolean of C<$coll-E<gt>ge($str, "abc")> and
@@ -1375,7 +1375,7 @@ contraction C<0FB2 0F71> prohibits C<0FB2 0F71 0F80> from being detected.
=item minimalFFFE
--- see 5.14 Collation Elements, UTS #35.
+-- see 1.1.1 U+FFFE, UTS #35 (LDML) Part 5: Collation.
If the parameter is made true, C<U+FFFE> has a minimal primary weight.
The comparison between C<"$a1\x{FFFE}$a2"> and C<"$b1\x{FFFE}$b2">
@@ -1652,8 +1652,7 @@ rewriting lines on reading an unmodified table every time.
=item suppress
--- see suppress contractions in 5.14.11 Special-Purpose Commands,
-UTS #35 (LDML).
+-- see 3.12 Special-Purpose Commands, UTS #35 (LDML) Part 5: Collation.
Contractions beginning with the specified characters are suppressed,
even if those contractions are defined in C<table>.
@@ -1711,7 +1710,7 @@ specified as a comment (following C<#>) on each line.
=item undefName
--- see 6.3.4 Reducing the Repertoire, UTS #10.
+-- see 6.3.3 Reducing the Repertoire, UTS #10.
Undefines the collation element as if it were unassigned in the C<table>.
This reduces the size of the table.
diff --git a/cpan/Unicode-Collate/Collate/CJK/Big5.pm b/cpan/Unicode-Collate/Collate/CJK/Big5.pm
index 5fd6d84006..945ea5f88d 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Big5.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Big5.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/GB2312.pm b/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
index 89c5a13521..3e64542b55 100644
--- a/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm b/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
index 97bc4a78a7..08b8163826 100644
--- a/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Korean.pm b/cpan/Unicode-Collate/Collate/CJK/Korean.pm
index ae1196982d..a7aef7ad43 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Korean.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Korean.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %jamo2prim = (
'1100', 0x3A5E, '1101', 0x3A5F, '1102', 0x3A60, '1103', 0x3A61,
diff --git a/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm b/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
index 5b62e39b91..c3d400331b 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Stroke.pm b/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
index 178044afdb..37e1b45fa2 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm b/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
index 8e6eec22e7..246905b423 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my %u2p;
my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm
index 74c3cc3de0..24d3ec0c1f 100644
--- a/cpan/Unicode-Collate/Collate/Locale.pm
+++ b/cpan/Unicode-Collate/Collate/Locale.pm
@@ -5,12 +5,12 @@ use warnings;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '1.17';
+our $VERSION = '1.18';
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
- af ar as az be bn ca cs cy da ee eo es et fa fi fil fo fr
+ af ar as az be bn ca cs cy da ee eo es et fa fi fil fo
gu ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
mk ml mr mt nb nn nso om or pa pl ro sa se si sk sl sq
sr sv ta te th tn to tr uk ur vi wae wo yo zh
@@ -22,7 +22,9 @@ my %LocaleFile = map { ($_, $_) } qw(
$LocaleFile{'sr_Latn'} = 'hr';
# short file names
$LocaleFile{'de__phonebook'} = 'de_phone';
+ $LocaleFile{'de_AT_phonebook'} = 'de_at_ph';
$LocaleFile{'es__traditional'} = 'es_trad';
+ $LocaleFile{'fr_CA'} = 'fr_ca';
$LocaleFile{'fi__phonebook'} = 'fi_phone';
$LocaleFile{'si__dictionary'} = 'si_dict';
$LocaleFile{'sv__reformed'} = 'sv_refo';
@@ -162,8 +164,8 @@ The C<new> method returns a collator object.
A parameter list for the constructor is a hash, which can include
a special key C<locale> and its value (case-insensitive) standing
for a Unicode base language code (two or three-letter).
-For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'FR')>
-returns a collator tailored for French.
+For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'ES')>
+returns a collator tailored for Spanish.
C<$locale_name> may be suffixed with a Unicode script code (four-letter),
a Unicode region code, a Unicode language variant code. These codes are
@@ -188,12 +190,12 @@ is always untailorable, since it is reserved for DUCET.
However C<entry> is allowed, even if it is used for C<locale> support,
to add or override mappings.
-E.g. a collator for French, which ignores diacritics and case difference
+E.g. a collator for Spanish, which ignores diacritics and case difference
(i.e. level 1), with reversed case ordering and no normalization.
Unicode::Collate::Locale->new(
level => 1,
- locale => 'fr',
+ locale => 'es',
upper_before_lower => 1,
normalization => undef
)
@@ -257,6 +259,7 @@ a combination of return values from C<getlocale> and C<locale_version>.
cy Welsh
da Danish
de__phonebook German (umlaut as 'ae', 'oe', 'ue')
+ de_AT_phonebook German in Austria (umlaut primary greater)
ee Ewe
eo Esperanto
es Spanish
@@ -267,7 +270,7 @@ a combination of return values from C<getlocale> and C<locale_version>.
fi__phonebook Finnish (v and w as separate characters)
fil Filipino
fo Faroese
- fr French
+ fr_CA French in Canada
gu Gujarati
ha Hausa
haw Hawaiian
@@ -336,6 +339,7 @@ bg (Bulgarian) without C<[reorder Cyrl]>,
chr (Cherokee) without C<[reorder Cher]>,
de (German),
en (English),
+fr (French),
ga (Irish),
id (Indonesian),
it (Italian),
@@ -377,7 +381,7 @@ Tests for C<Unicode::Collate::Locale> are named F<t/loc_*.t>.
=over 4
-=item tailoring is not maximum
+=item Tailoring is not maximum
Even if a certain letter is tailored, its equivalent would not always
tailored as well as it. For example, even though W is tailored,
@@ -386,91 +390,96 @@ tailored. The result may depend on whether source strings are
normalized or not, and whether decomposed or composed.
Thus C<(normalization =E<gt> undef)> is less preferred.
+=item Collation reordering is not supported
+
+The order of any groups including scripts are not changed.
+
=back
=head2 Reference
locale based CLDR or other reference
--------------------------------------------------------------------
- af 22.1 = 1.8.1
+ af 30 = 1.8.1
ar 22.1 = 1.9.0
- as 22.1 = 1.8.1
+ as 30 = 28 (without [reorder Beng..]) = 23
az 22.1 = 1.8.1 (type="standard")
- be 30 = 28 (type="standard" without [reorder Cyrl])
- bn 22.1 = 2.0.1 (type="standard")
+ be 30 = 28 (without [reorder Cyrl])
+ bn 30 = 28 (type="standard" wo [reorder Beng..]) = 2.0.1
bs 30 = 28 (type="standard": [import hr])
bs_Cyrl 30 = 28 (type="standard": [import sr])
- ca 22.1 = 1.8.1 (alt="proposed" type="standard")
+ ca 30 = 23 (alt="proposed" type="standard")
cs 22.1 = 1.8.1 (type="standard")
- cy 22.1 = 1.8.1
+ cy 30 = 1.8.1
da 22.1 = 1.8.1 (type="standard")
- de__phonebook 22.1 = 2.0 (type="phonebook")
+ de__phonebook 30 = 2.0 (type="phonebook")
+ de_AT_phonebook 30 = 27 (type="phonebook")
ee 22.1 = 22
- eo 22.1 = 1.8.1
- es 22.1 = 1.9.0 (type="standard")
- es__traditional 22.1 = 1.8.1 (type="traditional")
+ eo 30 = 1.8.1
+ es 30 = 1.9.0 (type="standard")
+ es__traditional 30 = 1.8.1 (type="traditional")
et 22.1 = 1.8.1
fa 22.1 = 1.8.1
fi 22.1 = 1.8.1 (type="standard" alt="proposed")
fi__phonebook 22.1 = 1.8.1 (type="phonebook")
- fil 22.1 = 1.9.0 (type="standard") = 1.8.1
+ fil 30 = 1.9.0 (type="standard") = 1.8.1
fo 22.1 = 1.8.1 (alt="proposed" type="standard")
- fr 22.1 = 1.9.0 (fr_CA, backwards="on")
- gu 22.1 = 1.9.0 (type="standard")
+ fr_CA 30 = 1.9.0
+ gu 30 = 28 (type="standard" wo [reorder Gujr..]) = 1.9.0
ha 22.1 = 1.9.0
haw 22.1 = 1.8.1
- hi 22.1 = 1.9.0 (type="standard")
+ hi 30 = 28 (without [reorder Deva..]) = 1.9.0
hr 22.1 = 1.9.0 (type="standard")
hu 22.1 = 1.8.1 (alt="proposed" type="standard")
- hy 22.1 = 1.8.1
+ hy 30 = 28 (without [reorder Armn]) = 1.8.1
ig 22.1 = 1.8.1
is 22.1 = 1.8.1 (type="standard")
ja 22.1 = 1.8.1 (type="standard")
- kk 30 = 28 (type="standard" without [reorder Cyrl])
+ kk 30 = 28 (without [reorder Cyrl])
kl 22.1 = 1.8.1 (type="standard")
- kn 22.1 = 1.9.0 (type="standard")
+ kn 30 = 28 (type="standard" wo [reorder Knda..]) = 1.9.0
ko 22.1 = 1.8.1 (type="standard")
- kok 22.1 = 1.8.1
- ln 22.1 = 2.0 (type="standard") = 1.8.1
+ kok 30 = 28 (without [reorder Deva..]) = 1.8.1
+ ln 30 = 2.0 (type="standard") = 1.8.1
lt 22.1 = 1.9.0
lv 22.1 = 1.9.0 (type="standard") = 1.8.1
- mk 30 = 28 (type="standard" without [reorder Cyrl])
+ mk 30 = 28 (without [reorder Cyrl])
ml 22.1 = 1.9.0
- mr 22.1 = 1.8.1
+ mr 30 = 28 (without [reorder Deva..]) = 1.8.1
mt 22.1 = 1.9.0
nb 22.1 = 2.0 (type="standard")
nn 22.1 = 2.0 (type="standard")
- nso 22.1 = 1.8.1
+ nso 26 = 1.8.1
om 22.1 = 1.8.1
- or 22.1 = 1.9.0
+ or 30 = 28 (without [reorder Orya..]) = 1.9.0
pa 22.1 = 1.8.1
- pl 22.1 = 1.8.1
- ro 22.1 = 1.9.0 (type="standard")
+ pl 30 = 1.8.1
+ ro 30 = 1.9.0 (type="standard")
sa 1.9.1 = 1.8.1 (type="standard" alt="proposed")
[now in /seed]
se 22.1 = 1.8.1 (type="standard")
- si 22.1 = 1.9.0 (type="standard")
- si__dictionary 22.1 = 1.9.0 (type="dictionary")
+ si 30 = 28 (type="standard" wo [reorder Sinh..]) = 1.9.0
+ si__dictionary 30 = 28 (type="dictionary" wo [reorder Sinh..]) = 1.9.0
sk 22.1 = 1.9.0 (type="standard")
sl 22.1 = 1.8.1 (type="standard" alt="proposed")
sq 22.1 = 1.8.1 (alt="proposed" type="standard")
- sr 30 = 28 (type="standard" without [reorder Cyrl])
+ sr 30 = 28 (without [reorder Cyrl])
sr_Latn 30 = 28 (type="standard": [import hr])
sv 22.1 = 1.9.0 (type="standard")
sv__reformed 22.1 = 1.8.1 (type="reformed")
ta 22.1 = 1.9.0
- te 22.1 = 1.9.0
+ te 30 = 28 (without [reorder Telu..]) = 1.9.0
th 22.1 = 22
- tn 22.1 = 1.8.1
+ tn 26 = 1.8.1
to 22.1 = 22
tr 22.1 = 1.8.1 (type="standard")
- uk 30 = 28 (type="standard" without [reorder Cyrl])
+ uk 30 = 28 (without [reorder Cyrl])
ug_Cyrl https://en.wikipedia.org/wiki/Uyghur_Cyrillic_alphabet
ur 22.1 = 1.9.0
vi 22.1 = 1.8.1
wae 22.1 = 2.0
wo 1.9.1 = 1.8.1 [now in /seed]
- yo 22.1 = 1.8.1
+ yo 30 = 1.8.1
zh 22.1 = 1.8.1 (type="standard")
zh__big5han 22.1 = 1.8.1 (type="big5han")
zh__gb2312han 22.1 = 1.8.1 (type="gb2312han")
diff --git a/cpan/Unicode-Collate/Collate/Locale/af.pl b/cpan/Unicode-Collate/Collate/Locale/af.pl
index b74b0a7346..d5d27259a1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/af.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/af.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0149 ; [.1D34.0020.0009] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
ENTRY
diff --git a/cpan/Unicode-Collate/Collate/Locale/ar.pl b/cpan/Unicode-Collate/Collate/Locale/ar.pl
index 27738bb18f..0ac753f2e4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ar.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ar.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0629 ; [.2296.0021.0002] # ARABIC LETTER TEH MARBUTA
FE94 ; [.2296.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
diff --git a/cpan/Unicode-Collate/Collate/Locale/as.pl b/cpan/Unicode-Collate/Collate/Locale/as.pl
index 6b2abec968..79040d135d 100644
--- a/cpan/Unicode-Collate/Collate/Locale/as.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/as.pl
@@ -1,12 +1,13 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0982 ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
0981 ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
0983 ; [.2640.0020.0002][.FFF3.0000.0000] # BENGALI SIGN VISARGA
0994 ; [.2640.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
-09A4 09CD 200D ; [.264F.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
-09A3 ; [.264F.0020.0002][.FFF0.0000.0000] # BENGALI LETTER NNA
+09CE ; [.2650.0020.0002][.FFF0.0000.0000] # BENGALI LETTER KHANDA TA
+09A4 09CD 200D ; [.2650.0020.0002][.FFF0.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
+09A4 ; [.2650.0020.0002][.FFF1.0000.0000] # BENGALI LETTER TA
0995 09CD 09B7 ; [.2662.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
09B9 ; [.2662.0020.0002][.FFF0.0000.0000] # BENGALI LETTER HA
ENTRY
diff --git a/cpan/Unicode-Collate/Collate/Locale/az.pl b/cpan/Unicode-Collate/Collate/Locale/az.pl
index b0b77254b6..bf9bb93a52 100644
--- a/cpan/Unicode-Collate/Collate/Locale/az.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/az.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# schwa doesn't require tailoring
entry => <<'ENTRY', # for DUCET v8.0.0
00E7 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/be.pl b/cpan/Unicode-Collate/Collate/Locale/be.pl
index d9a2bcd0b2..97ba9e13d9 100644
--- a/cpan/Unicode-Collate/Collate/Locale/be.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/be.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0451 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
diff --git a/cpan/Unicode-Collate/Collate/Locale/bn.pl b/cpan/Unicode-Collate/Collate/Locale/bn.pl
index b6ac6dc5e2..db42edb19a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/bn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/bn.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0982 ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
0983 ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ca.pl b/cpan/Unicode-Collate/Collate/Locale/ca.pl
index b25282b801..37ea428b8d 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ca.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ca.pl
@@ -1,6 +1,5 @@
+{
- locale_version => 1.17,
- backwards => 2,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0063 0048 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/cs.pl b/cpan/Unicode-Collate/Collate/Locale/cs.pl
index 807b39bf2f..05c2a022fa 100644
--- a/cpan/Unicode-Collate/Collate/Locale/cs.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/cs.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
010D ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/cy.pl b/cpan/Unicode-Collate/Collate/Locale/cy.pl
index 2f94b34e5c..4c38d0eb7f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/cy.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/cy.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/da.pl b/cpan/Unicode-Collate/Collate/Locale/da.pl
index ffc79dc055..c27dd82c4e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/da.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/da.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl b/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
new file mode 100644
index 0000000000..d1ea541974
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
@@ -0,0 +1,31 @@
++{
+ locale_version => 1.18,
+ entry => <<'ENTRY', # for DUCET v8.0.0
+00E4 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1BC3.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1BC3.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00DF ; [.1DEC.0020.0002][.1DED.0020.0002] # LATIN SMALL LETTER SHARP S
+1E9E ; [.1DEC.0020.0008][.1DED.0020.0008] # LATIN CAPITAL LETTER SHARP S
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/de_phone.pl b/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
index e66615c2ff..4be777f06a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00E4 ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
diff --git a/cpan/Unicode-Collate/Collate/Locale/ee.pl b/cpan/Unicode-Collate/Collate/Locale/ee.pl
index e6977e846e..ebbc8138c2 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ee.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ee.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
entry => <<'ENTRY', # for DUCET v8.0.0
0302 ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
diff --git a/cpan/Unicode-Collate/Collate/Locale/eo.pl b/cpan/Unicode-Collate/Collate/Locale/eo.pl
index 507be3f9cf..6a006a4d65 100644
--- a/cpan/Unicode-Collate/Collate/Locale/eo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/eo.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0109 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
0063 0302 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/es.pl b/cpan/Unicode-Collate/Collate/Locale/es.pl
index 2018481785..2bc6ba1bd6 100644
--- a/cpan/Unicode-Collate/Collate/Locale/es.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/es.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00F1 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
diff --git a/cpan/Unicode-Collate/Collate/Locale/es_trad.pl b/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
index 486572cf53..25c786aa7b 100644
--- a/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/et.pl b/cpan/Unicode-Collate/Collate/Locale/et.pl
index 12515087ac..3c678ce60d 100644
--- a/cpan/Unicode-Collate/Collate/Locale/et.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/et.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0161 ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
0073 030C ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/fa.pl b/cpan/Unicode-Collate/Collate/Locale/fa.pl
index af2deb856f..eea033a205 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fa.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0650 ; [.0000.0077.0002] # ARABIC KASRA
064B ; [.0000.007B.0002] # ARABIC FATHATAN
diff --git a/cpan/Unicode-Collate/Collate/Locale/fi.pl b/cpan/Unicode-Collate/Collate/Locale/fi.pl
index d360a3f0f1..2d0596908a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fi.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl b/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
index 182310f8ac..82f5f238d9 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fil.pl b/cpan/Unicode-Collate/Collate/Locale/fil.pl
index cdc3c31c31..af8983a422 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fil.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fil.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00F1 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fo.pl b/cpan/Unicode-Collate/Collate/Locale/fo.pl
index 354f2cdd61..99a36d098c 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fo.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fr.pl b/cpan/Unicode-Collate/Collate/Locale/fr.pl
deleted file mode 100644
index a0b8b6a7e3..0000000000
--- a/cpan/Unicode-Collate/Collate/Locale/fr.pl
+++ /dev/null
@@ -1,4 +0,0 @@
-+{
- locale_version => 1.17,
- backwards => 2,
-};
diff --git a/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl b/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
new file mode 100644
index 0000000000..261182b936
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
@@ -0,0 +1,4 @@
++{
+ locale_version => 1.18,
+ backwards => 2,
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/gu.pl b/cpan/Unicode-Collate/Collate/Locale/gu.pl
index aa4b443df4..2deeb389e5 100644
--- a/cpan/Unicode-Collate/Collate/Locale/gu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/gu.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0A82 ; [.26AC.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
0A81 ; [.26AC.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/ha.pl b/cpan/Unicode-Collate/Collate/Locale/ha.pl
index 98ab660d3e..a4286c2073 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ha.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ha.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# b-hook, d-hook, k-hook, y-hook don't require tailoring
entry => <<'ENTRY', # for DUCET v8.0.0
0073 0068 ; [.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/haw.pl b/cpan/Unicode-Collate/Collate/Locale/haw.pl
index a45369088b..d9c3c3f76b 100644
--- a/cpan/Unicode-Collate/Collate/Locale/haw.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/haw.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0065 ; [.1BC3.0020.0002] # LATIN SMALL LETTER E
0045 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER E
diff --git a/cpan/Unicode-Collate/Collate/Locale/hi.pl b/cpan/Unicode-Collate/Collate/Locale/hi.pl
index 6775e8aebd..109f5d5b6f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hi.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0902 ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/hr.pl b/cpan/Unicode-Collate/Collate/Locale/hr.pl
index 4ac43c3976..d62aee0e21 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hr.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
010D ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/hu.pl b/cpan/Unicode-Collate/Collate/Locale/hu.pl
index ea21042be7..c1bef97866 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hu.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0073 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
0063 0053 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
diff --git a/cpan/Unicode-Collate/Collate/Locale/hy.pl b/cpan/Unicode-Collate/Collate/Locale/hy.pl
index b8781346f5..7d6dc38022 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hy.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hy.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0587 ; [.222E.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
0584 ; [.222E.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
diff --git a/cpan/Unicode-Collate/Collate/Locale/ig.pl b/cpan/Unicode-Collate/Collate/Locale/ig.pl
index 32c08cc95a..d8945626d9 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ig.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ig.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0068 ; [.1BDC.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1BDC.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/is.pl b/cpan/Unicode-Collate/Collate/Locale/is.pl
index b43a31f5d6..6b61f2e9d7 100644
--- a/cpan/Unicode-Collate/Collate/Locale/is.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/is.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00E1 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
0061 0301 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ja.pl b/cpan/Unicode-Collate/Collate/Locale/ja.pl
index e00c57045a..90ba6a4c74 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ja.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ja.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::JISX0208;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
entry => <<'ENTRY', # for DUCET v8.0.0
30A1 ; [.3BC3.0020.000F.0002] # KATAKANA LETTER SMALL A
diff --git a/cpan/Unicode-Collate/Collate/Locale/kk.pl b/cpan/Unicode-Collate/Collate/Locale/kk.pl
index b42afea1cb..0d9a73b41a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kk.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0451 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
diff --git a/cpan/Unicode-Collate/Collate/Locale/kl.pl b/cpan/Unicode-Collate/Collate/Locale/kl.pl
index 89ec4a7935..6adf89f725 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kl.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/kn.pl b/cpan/Unicode-Collate/Collate/Locale/kn.pl
index f7ccf8492a..74ebb69a87 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kn.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0C82 ; [.27BF.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
0C83 ; [.27BF.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ko.pl b/cpan/Unicode-Collate/Collate/Locale/ko.pl
index 51d9e12bf3..0ac3b93848 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ko.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ko.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::Korean;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
entry => <<'ENTRY', # for DUCET v8.0.0
F967 ; [.3A65.0021.0002.4E0D][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
diff --git a/cpan/Unicode-Collate/Collate/Locale/kok.pl b/cpan/Unicode-Collate/Collate/Locale/kok.pl
index d3e364dd52..5343adcaf3 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kok.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kok.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0902 ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/ln.pl b/cpan/Unicode-Collate/Collate/Locale/ln.pl
index f02cbafb00..d23d6bd357 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ln.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ln.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
025B ; [.1C26.0020.0002] # LATIN SMALL LETTER OPEN E
0190 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER OPEN E
diff --git a/cpan/Unicode-Collate/Collate/Locale/lt.pl b/cpan/Unicode-Collate/Collate/Locale/lt.pl
index 4e63879354..52a93e8384 100644
--- a/cpan/Unicode-Collate/Collate/Locale/lt.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/lt.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
entry => <<'ENTRY', # for DUCET v8.0.0
0049 0307 ; [.1CAD.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
diff --git a/cpan/Unicode-Collate/Collate/Locale/lv.pl b/cpan/Unicode-Collate/Collate/Locale/lv.pl
index 3c7bf05b9f..cbdc0cd5b5 100644
--- a/cpan/Unicode-Collate/Collate/Locale/lv.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/lv.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
010D ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/mk.pl b/cpan/Unicode-Collate/Collate/Locale/mk.pl
index 1d538690b0..2cf86094da 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mk.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
suppress => [0x0418, 0x0438],
entry => <<'ENTRY', # for DUCET v8.0.0
0453 ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER GJE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ml.pl b/cpan/Unicode-Collate/Collate/Locale/ml.pl
index 044a847e77..e3b76353ec 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ml.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ml.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0D3D ; [.0000.00C1.0002] # MALAYALAM SIGN AVAGRAHA
0D57 ; [.283F.0020.0002] # MALAYALAM AU LENGTH MARK
diff --git a/cpan/Unicode-Collate/Collate/Locale/mr.pl b/cpan/Unicode-Collate/Collate/Locale/mr.pl
index beef51aaef..a7a9467bab 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mr.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0902 ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/mt.pl b/cpan/Unicode-Collate/Collate/Locale/mt.pl
index 95ee985174..1b1f2c09ec 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mt.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mt.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v8.0.0
010B ; [.1BF4.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nb.pl b/cpan/Unicode-Collate/Collate/Locale/nb.pl
index c9caf6f346..4ff0eeecb4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nb.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nb.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nn.pl b/cpan/Unicode-Collate/Collate/Locale/nn.pl
index c9caf6f346..4ff0eeecb4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nn.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nso.pl b/cpan/Unicode-Collate/Collate/Locale/nso.pl
index f9917bdc85..855a5fe64c 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nso.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nso.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00EA ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/om.pl b/cpan/Unicode-Collate/Collate/Locale/om.pl
index 15dc64139d..1af83e0039 100644
--- a/cpan/Unicode-Collate/Collate/Locale/om.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/om.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0063 0068 ; [.1E9D.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1E9D.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/or.pl b/cpan/Unicode-Collate/Collate/Locale/or.pl
index 4686d01d14..26a8e37e96 100644
--- a/cpan/Unicode-Collate/Collate/Locale/or.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/or.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0B01 ; [.26FE.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
0B02 ; [.26FE.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
diff --git a/cpan/Unicode-Collate/Collate/Locale/pa.pl b/cpan/Unicode-Collate/Collate/Locale/pa.pl
index 9e24d644c4..b0e7ce51bf 100644
--- a/cpan/Unicode-Collate/Collate/Locale/pa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/pa.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0A71 ; [.0000.00BE.0002] # GURMUKHI ADDAK
0A03 ; [.0000.00BD.0002] # GURMUKHI SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/pl.pl b/cpan/Unicode-Collate/Collate/Locale/pl.pl
index fde22737e5..155e2aa26e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/pl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/pl.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0105 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
0061 0328 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
diff --git a/cpan/Unicode-Collate/Collate/Locale/ro.pl b/cpan/Unicode-Collate/Collate/Locale/ro.pl
index b59e8f2df6..00125ae0c3 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ro.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ro.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0103 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
0061 0306 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/sa.pl b/cpan/Unicode-Collate/Collate/Locale/sa.pl
index beef51aaef..a7a9467bab 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sa.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0902 ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/se.pl b/cpan/Unicode-Collate/Collate/Locale/se.pl
index d01374f7e1..2ac110459f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/se.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/se.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# eng, g-stroke, t-stroke don't require tailoring
entry => <<'ENTRY', # for DUCET v8.0.0
00E1 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/si.pl b/cpan/Unicode-Collate/Collate/Locale/si.pl
index 39877e0d5e..a2bb148367 100644
--- a/cpan/Unicode-Collate/Collate/Locale/si.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/si.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0D82 ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
diff --git a/cpan/Unicode-Collate/Collate/Locale/si_dict.pl b/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
index 9be2be988b..6e75e033be 100644
--- a/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0D82 ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
diff --git a/cpan/Unicode-Collate/Collate/Locale/sk.pl b/cpan/Unicode-Collate/Collate/Locale/sk.pl
index 953f38c51b..50092f61d6 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sk.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00E4 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
diff --git a/cpan/Unicode-Collate/Collate/Locale/sl.pl b/cpan/Unicode-Collate/Collate/Locale/sl.pl
index d3b3b431da..03908eff76 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sl.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
010D ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/sq.pl b/cpan/Unicode-Collate/Collate/Locale/sq.pl
index 329ad378ed..0d81338729 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sq.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sq.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00E7 ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/sr.pl b/cpan/Unicode-Collate/Collate/Locale/sr.pl
index 301d4f5f20..4988fc1bbe 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sr.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
suppress => [0x0418, 0x0438],
entry => <<'ENTRY', # for DUCET v8.0.0
0439 ; [.1FFB.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv.pl b/cpan/Unicode-Collate/Collate/Locale/sv.pl
index 479c8a78a1..deb511f236 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sv.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sv.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl b/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
index c04279eda1..87d57aaddb 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0111 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ta.pl b/cpan/Unicode-Collate/Collate/Locale/ta.pl
index f09052c5de..3844536bed 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ta.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ta.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0B82 ; [.2741.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
0B83 ; [.2741.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/te.pl b/cpan/Unicode-Collate/Collate/Locale/te.pl
index 3bb237027d..1b69f9cfd2 100644
--- a/cpan/Unicode-Collate/Collate/Locale/te.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/te.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0C01 ; [.2775.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
0C02 ; [.2775.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
diff --git a/cpan/Unicode-Collate/Collate/Locale/th.pl b/cpan/Unicode-Collate/Collate/Locale/th.pl
index 5ba1ba6396..bcbd15d6e4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/th.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/th.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
variable => 'shifted',
alternate => 'shifted',
entry => <<'ENTRY', # for DUCET v8.0.0
diff --git a/cpan/Unicode-Collate/Collate/Locale/tn.pl b/cpan/Unicode-Collate/Collate/Locale/tn.pl
index f9917bdc85..855a5fe64c 100644
--- a/cpan/Unicode-Collate/Collate/Locale/tn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/tn.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00EA ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/to.pl b/cpan/Unicode-Collate/Collate/Locale/to.pl
index b630a521af..f040a66818 100644
--- a/cpan/Unicode-Collate/Collate/Locale/to.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/to.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
006E 0067 ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
004E 0067 ; [.1D35.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
diff --git a/cpan/Unicode-Collate/Collate/Locale/tr.pl b/cpan/Unicode-Collate/Collate/Locale/tr.pl
index 077e8ae7cf..c95bb6b135 100644
--- a/cpan/Unicode-Collate/Collate/Locale/tr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/tr.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
00E7 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl b/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
index 4e8c7c4849..27f372e459 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
04D9 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER SCHWA
04D8 ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
diff --git a/cpan/Unicode-Collate/Collate/Locale/uk.pl b/cpan/Unicode-Collate/Collate/Locale/uk.pl
index ad96930fa7..20822b2a47 100644
--- a/cpan/Unicode-Collate/Collate/Locale/uk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/uk.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0491 ; [.1FB2.0020.0002] # CYRILLIC SMALL LETTER GHE WITH UPTURN
0490 ; [.1FB2.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
diff --git a/cpan/Unicode-Collate/Collate/Locale/ur.pl b/cpan/Unicode-Collate/Collate/Locale/ur.pl
index 2bbdedbf91..4eb0f65a3a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ur.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ur.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0623 ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
0627 0654 ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/vi.pl b/cpan/Unicode-Collate/Collate/Locale/vi.pl
index 1551dedb11..1c9f1e1451 100644
--- a/cpan/Unicode-Collate/Collate/Locale/vi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/vi.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# 0306 is not a Vietnamese tone, just to avoid \x{306} eq. to something.
entry => <<'ENTRY', # for DUCET v8.0.0
0309 ; [.0000.0026.0002][.0000.00F0.0000] # COMBINING HOOK ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/wae.pl b/cpan/Unicode-Collate/Collate/Locale/wae.pl
index 7d77a5bc1a..e606defd9f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/wae.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/wae.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0061 0061 ; [.1BC2.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
00E4 00E4 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
diff --git a/cpan/Unicode-Collate/Collate/Locale/wo.pl b/cpan/Unicode-Collate/Collate/Locale/wo.pl
index 01e90c2413..dbdc2d9802 100644
--- a/cpan/Unicode-Collate/Collate/Locale/wo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/wo.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
# eng doesn't require tailoring
entry => <<'ENTRY', # for DUCET v8.0.0
00E0 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/yo.pl b/cpan/Unicode-Collate/Collate/Locale/yo.pl
index 66dc25e51f..8521b189b6 100644
--- a/cpan/Unicode-Collate/Collate/Locale/yo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/yo.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
1EB9 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
0065 0323 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh.pl b/cpan/Unicode-Collate/Collate/Locale/zh.pl
index 3cf32f8837..393cc47ab4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh.pl
@@ -1,5 +1,5 @@
+{
- locale_version => 1.17,
+ locale_version => 1.18,
entry => <<'ENTRY', # for DUCET v8.0.0
0101 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl b/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
index 0d3e34bc4c..45cfe48430 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::Big5;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
entry => <<'ENTRY', # for DUCET v8.0.0
0101 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl b/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
index c8998b197f..e0febbe91b 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::GB2312;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
entry => <<'ENTRY', # for DUCET v8.0.0
0101 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl b/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
index 9ead52da2c..05e02fb22a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::Pinyin;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
entry => <<'ENTRY', # for DUCET v8.0.0
0101 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl b/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
index 2dc031187f..bb0abfd10d 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::Stroke;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
entry => <<'ENTRY', # for DUCET v8.0.0
0101 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl b/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
index 0c9da33b2c..3061df2438 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
@@ -1,6 +1,6 @@
use Unicode::Collate::CJK::Zhuyin;
+{
- locale_version => 1.17,
+ locale_version => 1.18,
overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
entry => <<'ENTRY', # for DUCET v8.0.0
02C9 ; [.0000.0199.0002] # MODIFIER LETTER MACRON
diff --git a/cpan/Unicode-Collate/t/loc_as.t b/cpan/Unicode-Collate/t/loc_as.t
index 2d28f90f86..cbc87e471f 100644
--- a/cpan/Unicode-Collate/t/loc_as.t
+++ b/cpan/Unicode-Collate/t/loc_as.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..24\n"; }
+BEGIN { $| = 1; print "1..29\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -42,8 +42,7 @@ $objAs->change(level => 1);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objAs->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objAs->lt("\x{993}$t", "\x{994}"));
ok($objAs->lt("\x{994}$t", "\x{982}"));
@@ -55,7 +54,18 @@ for my $h (0, 1) {
ok($objAs->lt("\x{9A3}$t", "\x{9A4}\x{9CD}\x{200D}"));
ok($objAs->lt("\x{9A4}\x{9CD}\x{200D}$t", "\x{9A4}"));
+ ok($objAs->lt("\x{9A3}$t", "\x{9CE}"));
+ ok($objAs->lt("\x{9CE}$t", "\x{9A4}"));
+
ok($objAs->lt("\x{9B8}$t", "\x{9B9}"));
ok($objAs->lt("\x{9B9}$t", "\x{995}\x{9CD}\x{9B7}"));
ok($objAs->lt("\x{995}\x{9CD}\x{9B7}$t", "\x{9BD}"));
}
+
+# 28
+
+$objAs->change(level => 3);
+
+ok($objAs->eq("\x{9A4}\x{9CD}\x{200D}", "\x{9CE}"));
+
+# 29
diff --git a/cpan/Unicode-Collate/t/loc_bn.t b/cpan/Unicode-Collate/t/loc_bn.t
index 385cf5b2fa..2fe96ddb78 100644
--- a/cpan/Unicode-Collate/t/loc_bn.t
+++ b/cpan/Unicode-Collate/t/loc_bn.t
@@ -42,8 +42,7 @@ $objBn->change(level => 1);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objBn->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objBn->lt("\x{993}$t", "\x{994}"));
ok($objBn->lt("\x{994}$t", "\x{982}"));
@@ -51,3 +50,5 @@ for my $h (0, 1) {
ok($objBn->lt("\x{983}$t", "\x{981}"));
ok($objBn->lt("\x{981}$t", "\x{995}"));
}
+
+# 12
diff --git a/cpan/Unicode-Collate/t/loc_ca.t b/cpan/Unicode-Collate/t/loc_ca.t
index 80923ffe62..0e756bf0a1 100644
--- a/cpan/Unicode-Collate/t/loc_ca.t
+++ b/cpan/Unicode-Collate/t/loc_ca.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..41\n"; }
+BEGIN { $| = 1; print "1..54\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -55,9 +55,9 @@ ok($objCa->eq("a\x{300}a", "aa\x{300}"));
$objCa->change(level => 2);
-ok($objCa->lt("a\x{300}a", "aa\x{300}"));
-ok($objCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
-ok($objCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+ok($objCa->gt("a\x{300}a", "aa\x{300}"));
+ok($objCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
# 12
@@ -97,10 +97,29 @@ ok($objCa->lt("LL", "L${dot}L"));
# 38
-$objCa->change(backwards => undef, level => 2);
+$objCa->change(upper_before_lower => 1);
-ok($objCa->gt("a\x{300}a", "aa\x{300}"));
-ok($objCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
-ok($objCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+ok($objCa->gt("ch", "cH"));
+ok($objCa->gt("cH", "Ch"));
+ok($objCa->gt("Ch", "CH"));
+
+ok($objCa->gt("ll", "lL"));
+ok($objCa->gt("lL", "Ll"));
+ok($objCa->gt("Ll", "LL"));
+ok($objCa->lt("ll", "l${dot}l"));
+ok($objCa->lt("lL", "l${dot}l"));
+ok($objCa->lt("lL", "l${dot}L"));
+ok($objCa->lt("Ll", "l${dot}L"));
+ok($objCa->lt("Ll", "L${dot}l"));
+ok($objCa->lt("LL", "L${dot}l"));
+ok($objCa->lt("LL", "L${dot}L"));
+
+# 51
+
+$objCa->change(backwards => 2, level => 2);
+
+ok($objCa->lt("a\x{300}a", "aa\x{300}"));
+ok($objCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
-# 41
+# 54
diff --git a/cpan/Unicode-Collate/t/loc_cyrl.t b/cpan/Unicode-Collate/t/loc_cyrl.t
index 7366ed00a5..deff690a7d 100644
--- a/cpan/Unicode-Collate/t/loc_cyrl.t
+++ b/cpan/Unicode-Collate/t/loc_cyrl.t
@@ -45,111 +45,111 @@ ok($objNoSuppress->gt("\x{419}", "\x{418}")); # not suppressed
# 4
-ok($objNoSuppress->eq("\x{4D1}", "\x{430}")); # not contraction
-ok($objNoSuppress->eq("\x{4D0}", "\x{410}")); # not contraction
-ok($objNoSuppress->eq("\x{4D3}", "\x{430}")); # not contraction
-ok($objNoSuppress->eq("\x{4D2}", "\x{410}")); # not contraction
-ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}")); # not contraction
-ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}")); # not contraction
-ok($objNoSuppress->eq("\x{453}", "\x{433}")); # not contraction
-ok($objNoSuppress->eq("\x{403}", "\x{413}")); # not contraction
-ok($objNoSuppress->eq("\x{450}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{400}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{4D7}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{4D6}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{451}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{401}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{4C2}", "\x{436}")); # not contraction
-ok($objNoSuppress->eq("\x{4C1}", "\x{416}")); # not contraction
-ok($objNoSuppress->eq("\x{4DD}", "\x{436}")); # not contraction
-ok($objNoSuppress->eq("\x{4DC}", "\x{416}")); # not contraction
-ok($objNoSuppress->eq("\x{4DF}", "\x{437}")); # not contraction
-ok($objNoSuppress->eq("\x{4DE}", "\x{417}")); # not contraction
-ok($objNoSuppress->eq("\x{45D}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{40D}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{4E5}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{4E4}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{4E3}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{4E2}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{457}", "\x{456}")); # not contraction
-ok($objNoSuppress->eq("\x{407}", "\x{406}")); # not contraction
-ok($objNoSuppress->eq("\x{45C}", "\x{43A}")); # not contraction
-ok($objNoSuppress->eq("\x{40C}", "\x{41A}")); # not contraction
-ok($objNoSuppress->eq("\x{4E7}", "\x{43E}")); # not contraction
-ok($objNoSuppress->eq("\x{4E6}", "\x{41E}")); # not contraction
-ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}")); # not contraction
-ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}")); # not contraction
-ok($objNoSuppress->eq("\x{45E}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{40E}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F1}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4F0}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F3}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4F2}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4EF}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4EE}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F5}", "\x{447}")); # not contraction
-ok($objNoSuppress->eq("\x{4F4}", "\x{427}")); # not contraction
-ok($objNoSuppress->eq("\x{4F9}", "\x{44B}")); # not contraction
-ok($objNoSuppress->eq("\x{4F8}", "\x{42B}")); # not contraction
-ok($objNoSuppress->eq("\x{4ED}", "\x{44D}")); # not contraction
-ok($objNoSuppress->eq("\x{4EC}", "\x{42D}")); # not contraction
-ok($objNoSuppress->eq("\x{477}", "\x{475}")); # not contraction
-ok($objNoSuppress->eq("\x{476}", "\x{474}")); # not contraction
+ok($objNoSuppress->eq("\x{4D1}", "\x{430}"));
+ok($objNoSuppress->eq("\x{4D0}", "\x{410}"));
+ok($objNoSuppress->eq("\x{4D3}", "\x{430}"));
+ok($objNoSuppress->eq("\x{4D2}", "\x{410}"));
+ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}"));
+ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}"));
+ok($objNoSuppress->eq("\x{453}", "\x{433}"));
+ok($objNoSuppress->eq("\x{403}", "\x{413}"));
+ok($objNoSuppress->eq("\x{450}", "\x{435}"));
+ok($objNoSuppress->eq("\x{400}", "\x{415}"));
+ok($objNoSuppress->eq("\x{4D7}", "\x{435}"));
+ok($objNoSuppress->eq("\x{4D6}", "\x{415}"));
+ok($objNoSuppress->eq("\x{451}", "\x{435}"));
+ok($objNoSuppress->eq("\x{401}", "\x{415}"));
+ok($objNoSuppress->eq("\x{4C2}", "\x{436}"));
+ok($objNoSuppress->eq("\x{4C1}", "\x{416}"));
+ok($objNoSuppress->eq("\x{4DD}", "\x{436}"));
+ok($objNoSuppress->eq("\x{4DC}", "\x{416}"));
+ok($objNoSuppress->eq("\x{4DF}", "\x{437}"));
+ok($objNoSuppress->eq("\x{4DE}", "\x{417}"));
+ok($objNoSuppress->eq("\x{45D}", "\x{438}"));
+ok($objNoSuppress->eq("\x{40D}", "\x{418}"));
+ok($objNoSuppress->eq("\x{4E5}", "\x{438}"));
+ok($objNoSuppress->eq("\x{4E4}", "\x{418}"));
+ok($objNoSuppress->eq("\x{4E3}", "\x{438}"));
+ok($objNoSuppress->eq("\x{4E2}", "\x{418}"));
+ok($objNoSuppress->eq("\x{457}", "\x{456}"));
+ok($objNoSuppress->eq("\x{407}", "\x{406}"));
+ok($objNoSuppress->eq("\x{45C}", "\x{43A}"));
+ok($objNoSuppress->eq("\x{40C}", "\x{41A}"));
+ok($objNoSuppress->eq("\x{4E7}", "\x{43E}"));
+ok($objNoSuppress->eq("\x{4E6}", "\x{41E}"));
+ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}"));
+ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}"));
+ok($objNoSuppress->eq("\x{45E}", "\x{443}"));
+ok($objNoSuppress->eq("\x{40E}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F1}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4F0}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F3}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4F2}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4EF}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4EE}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F5}", "\x{447}"));
+ok($objNoSuppress->eq("\x{4F4}", "\x{427}"));
+ok($objNoSuppress->eq("\x{4F9}", "\x{44B}"));
+ok($objNoSuppress->eq("\x{4F8}", "\x{42B}"));
+ok($objNoSuppress->eq("\x{4ED}", "\x{44D}"));
+ok($objNoSuppress->eq("\x{4EC}", "\x{42D}"));
+ok($objNoSuppress->eq("\x{477}", "\x{475}"));
+ok($objNoSuppress->eq("\x{476}", "\x{474}"));
# 54
$objNoSuppress->change(level => 2);
-ok($objNoSuppress->gt("\x{4D1}", "\x{430}")); # not contraction
-ok($objNoSuppress->gt("\x{4D0}", "\x{410}")); # not contraction
-ok($objNoSuppress->gt("\x{4D3}", "\x{430}")); # not contraction
-ok($objNoSuppress->gt("\x{4D2}", "\x{410}")); # not contraction
-ok($objNoSuppress->gt("\x{4DB}", "\x{4D9}")); # not contraction
-ok($objNoSuppress->gt("\x{4DA}", "\x{4D8}")); # not contraction
-ok($objNoSuppress->gt("\x{453}", "\x{433}")); # not contraction
-ok($objNoSuppress->gt("\x{403}", "\x{413}")); # not contraction
-ok($objNoSuppress->gt("\x{450}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{400}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{4D7}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{4D6}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{451}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{401}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{4C2}", "\x{436}")); # not contraction
-ok($objNoSuppress->gt("\x{4C1}", "\x{416}")); # not contraction
-ok($objNoSuppress->gt("\x{4DD}", "\x{436}")); # not contraction
-ok($objNoSuppress->gt("\x{4DC}", "\x{416}")); # not contraction
-ok($objNoSuppress->gt("\x{4DF}", "\x{437}")); # not contraction
-ok($objNoSuppress->gt("\x{4DE}", "\x{417}")); # not contraction
-ok($objNoSuppress->gt("\x{45D}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{40D}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{4E5}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{4E4}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{4E3}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{4E2}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{457}", "\x{456}")); # not contraction
-ok($objNoSuppress->gt("\x{407}", "\x{406}")); # not contraction
-ok($objNoSuppress->gt("\x{45C}", "\x{43A}")); # not contraction
-ok($objNoSuppress->gt("\x{40C}", "\x{41A}")); # not contraction
-ok($objNoSuppress->gt("\x{4E7}", "\x{43E}")); # not contraction
-ok($objNoSuppress->gt("\x{4E6}", "\x{41E}")); # not contraction
-ok($objNoSuppress->gt("\x{4EB}", "\x{4E9}")); # not contraction
-ok($objNoSuppress->gt("\x{4EA}", "\x{4E8}")); # not contraction
-ok($objNoSuppress->gt("\x{45E}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{40E}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F1}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4F0}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F3}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4F2}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4EF}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4EE}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F5}", "\x{447}")); # not contraction
-ok($objNoSuppress->gt("\x{4F4}", "\x{427}")); # not contraction
-ok($objNoSuppress->gt("\x{4F9}", "\x{44B}")); # not contraction
-ok($objNoSuppress->gt("\x{4F8}", "\x{42B}")); # not contraction
-ok($objNoSuppress->gt("\x{4ED}", "\x{44D}")); # not contraction
-ok($objNoSuppress->gt("\x{4EC}", "\x{42D}")); # not contraction
-ok($objNoSuppress->gt("\x{477}", "\x{475}")); # not contraction
-ok($objNoSuppress->gt("\x{476}", "\x{474}")); # not contraction
+ok($objNoSuppress->gt("\x{4D1}", "\x{430}"));
+ok($objNoSuppress->gt("\x{4D0}", "\x{410}"));
+ok($objNoSuppress->gt("\x{4D3}", "\x{430}"));
+ok($objNoSuppress->gt("\x{4D2}", "\x{410}"));
+ok($objNoSuppress->gt("\x{4DB}", "\x{4D9}"));
+ok($objNoSuppress->gt("\x{4DA}", "\x{4D8}"));
+ok($objNoSuppress->gt("\x{453}", "\x{433}"));
+ok($objNoSuppress->gt("\x{403}", "\x{413}"));
+ok($objNoSuppress->gt("\x{450}", "\x{435}"));
+ok($objNoSuppress->gt("\x{400}", "\x{415}"));
+ok($objNoSuppress->gt("\x{4D7}", "\x{435}"));
+ok($objNoSuppress->gt("\x{4D6}", "\x{415}"));
+ok($objNoSuppress->gt("\x{451}", "\x{435}"));
+ok($objNoSuppress->gt("\x{401}", "\x{415}"));
+ok($objNoSuppress->gt("\x{4C2}", "\x{436}"));
+ok($objNoSuppress->gt("\x{4C1}", "\x{416}"));
+ok($objNoSuppress->gt("\x{4DD}", "\x{436}"));
+ok($objNoSuppress->gt("\x{4DC}", "\x{416}"));
+ok($objNoSuppress->gt("\x{4DF}", "\x{437}"));
+ok($objNoSuppress->gt("\x{4DE}", "\x{417}"));
+ok($objNoSuppress->gt("\x{45D}", "\x{438}"));
+ok($objNoSuppress->gt("\x{40D}", "\x{418}"));
+ok($objNoSuppress->gt("\x{4E5}", "\x{438}"));
+ok($objNoSuppress->gt("\x{4E4}", "\x{418}"));
+ok($objNoSuppress->gt("\x{4E3}", "\x{438}"));
+ok($objNoSuppress->gt("\x{4E2}", "\x{418}"));
+ok($objNoSuppress->gt("\x{457}", "\x{456}"));
+ok($objNoSuppress->gt("\x{407}", "\x{406}"));
+ok($objNoSuppress->gt("\x{45C}", "\x{43A}"));
+ok($objNoSuppress->gt("\x{40C}", "\x{41A}"));
+ok($objNoSuppress->gt("\x{4E7}", "\x{43E}"));
+ok($objNoSuppress->gt("\x{4E6}", "\x{41E}"));
+ok($objNoSuppress->gt("\x{4EB}", "\x{4E9}"));
+ok($objNoSuppress->gt("\x{4EA}", "\x{4E8}"));
+ok($objNoSuppress->gt("\x{45E}", "\x{443}"));
+ok($objNoSuppress->gt("\x{40E}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F1}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4F0}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F3}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4F2}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4EF}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4EE}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F5}", "\x{447}"));
+ok($objNoSuppress->gt("\x{4F4}", "\x{427}"));
+ok($objNoSuppress->gt("\x{4F9}", "\x{44B}"));
+ok($objNoSuppress->gt("\x{4F8}", "\x{42B}"));
+ok($objNoSuppress->gt("\x{4ED}", "\x{44D}"));
+ok($objNoSuppress->gt("\x{4EC}", "\x{42D}"));
+ok($objNoSuppress->gt("\x{477}", "\x{475}"));
+ok($objNoSuppress->gt("\x{476}", "\x{474}"));
# 104
@@ -166,56 +166,56 @@ ok($objNoSuppress->gt("\x{419}", "\x{418}\0\x{306}")); # not suppressed
# 108
for my $i ("", "\0") {
- ok($objNoSuppress->eq("\x{4D1}", "\x{430}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4D0}", "\x{410}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4D3}", "\x{430}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4D2}", "\x{410}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{453}", "\x{433}$i\x{301}")); # not contraction
- ok($objNoSuppress->eq("\x{403}", "\x{413}$i\x{301}")); # not contraction
- ok($objNoSuppress->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
- ok($objNoSuppress->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
- ok($objNoSuppress->eq("\x{4D7}", "\x{435}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4D6}", "\x{415}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4DD}", "\x{436}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4DC}", "\x{416}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4DF}", "\x{437}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4DE}", "\x{417}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
- ok($objNoSuppress->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
- ok($objNoSuppress->eq("\x{4E5}", "\x{438}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4E4}", "\x{418}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
- ok($objNoSuppress->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
- ok($objNoSuppress->eq("\x{457}", "\x{456}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{407}", "\x{406}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{45C}", "\x{43A}$i\x{301}")); # not contraction
- ok($objNoSuppress->eq("\x{40C}", "\x{41A}$i\x{301}")); # not contraction
- ok($objNoSuppress->eq("\x{4E7}", "\x{43E}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4E6}", "\x{41E}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{45E}", "\x{443}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{40E}", "\x{423}$i\x{306}")); # not contraction
- ok($objNoSuppress->eq("\x{4F1}", "\x{443}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4F0}", "\x{423}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4F3}", "\x{443}$i\x{30B}")); # not contraction
- ok($objNoSuppress->eq("\x{4F2}", "\x{423}$i\x{30B}")); # not contraction
- ok($objNoSuppress->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
- ok($objNoSuppress->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
- ok($objNoSuppress->eq("\x{4F5}", "\x{447}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4F4}", "\x{427}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4F9}", "\x{44B}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4F8}", "\x{42B}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4ED}", "\x{44D}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{4EC}", "\x{42D}$i\x{308}")); # not contraction
- ok($objNoSuppress->eq("\x{477}", "\x{475}$i\x{30F}")); # not contraction
- ok($objNoSuppress->eq("\x{476}", "\x{474}$i\x{30F}")); # not contraction
+ ok($objNoSuppress->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{453}", "\x{433}$i\x{301}"));
+ ok($objNoSuppress->eq("\x{403}", "\x{413}$i\x{301}"));
+ ok($objNoSuppress->eq("\x{450}", "\x{435}$i\x{300}"));
+ ok($objNoSuppress->eq("\x{400}", "\x{415}$i\x{300}"));
+ ok($objNoSuppress->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{451}", "\x{435}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{401}", "\x{415}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4C2}", "\x{436}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4C1}", "\x{416}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{45D}", "\x{438}$i\x{300}"));
+ ok($objNoSuppress->eq("\x{40D}", "\x{418}$i\x{300}"));
+ ok($objNoSuppress->eq("\x{4E5}", "\x{438}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4E4}", "\x{418}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4E3}", "\x{438}$i\x{304}"));
+ ok($objNoSuppress->eq("\x{4E2}", "\x{418}$i\x{304}"));
+ ok($objNoSuppress->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{45C}", "\x{43A}$i\x{301}"));
+ ok($objNoSuppress->eq("\x{40C}", "\x{41A}$i\x{301}"));
+ ok($objNoSuppress->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objNoSuppress->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objNoSuppress->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objNoSuppress->eq("\x{4EF}", "\x{443}$i\x{304}"));
+ ok($objNoSuppress->eq("\x{4EE}", "\x{423}$i\x{304}"));
+ ok($objNoSuppress->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objNoSuppress->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objNoSuppress->eq("\x{476}", "\x{474}$i\x{30F}"));
}
# 208
diff --git a/cpan/Unicode-Collate/t/loc_deat.t b/cpan/Unicode-Collate/t/loc_deat.t
new file mode 100644
index 0000000000..6a97c6a440
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_deat.t
@@ -0,0 +1,131 @@
+
+BEGIN {
+ unless ('A' eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+ exit 0;
+ }
+ unless (0x41 == unpack('U', 'A')) {
+ print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..46\n"; }
+my $count = 0;
+sub ok ($;$) {
+ my $p = my $r = shift;
+ if (@_) {
+ my $x = shift;
+ $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+ }
+ print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $auml = pack 'U', 0xE4;
+my $Auml = pack 'U', 0xC4;
+my $ouml = pack 'U', 0xF6;
+my $Ouml = pack 'U', 0xD6;
+my $uuml = pack 'U', 0xFC;
+my $Uuml = pack 'U', 0xDC;
+my $eses = pack 'U', 0xDF;
+my $Eses = pack 'U', 0x1E9E;
+
+my $objDeAtPhone = Unicode::Collate::Locale->
+ new(locale => 'DE_AT_phonebook', normalization => undef);
+
+ok($objDeAtPhone->getlocale, 'de_AT_phonebook');
+
+$objDeAtPhone->change(level => 1);
+
+ok($objDeAtPhone->gt($auml, 'az'));
+ok($objDeAtPhone->lt($auml, 'b'));
+ok($objDeAtPhone->gt($ouml, 'oz'));
+ok($objDeAtPhone->lt($ouml, 'p'));
+ok($objDeAtPhone->gt($uuml, 'uz'));
+ok($objDeAtPhone->lt($uuml, 'v'));
+ok($objDeAtPhone->gt($eses, 'ssz'));
+ok($objDeAtPhone->lt($eses, 'st'));
+
+# 10
+
+$objDeAtPhone->change(level => 2);
+
+ok($objDeAtPhone->eq("a\x{308}", "A\x{308}"));
+ok($objDeAtPhone->eq("o\x{308}", "O\x{308}"));
+ok($objDeAtPhone->eq("u\x{308}", "U\x{308}"));
+
+ok($objDeAtPhone->eq($auml, $Auml));
+ok($objDeAtPhone->eq($ouml, $Ouml));
+ok($objDeAtPhone->eq($uuml, $Uuml));
+ok($objDeAtPhone->eq($eses, $Eses));
+
+# 17
+
+$objDeAtPhone->change(level => 3);
+
+ok($objDeAtPhone->lt("a\x{308}", "A\x{308}"));
+ok($objDeAtPhone->lt("o\x{308}", "O\x{308}"));
+ok($objDeAtPhone->lt("u\x{308}", "U\x{308}"));
+
+ok($objDeAtPhone->lt($auml, $Auml));
+ok($objDeAtPhone->lt($ouml, $Ouml));
+ok($objDeAtPhone->lt($uuml, $Uuml));
+ok($objDeAtPhone->lt($eses, $Eses));
+
+# 24
+
+ok($objDeAtPhone->eq("a\x{308}", $auml));
+ok($objDeAtPhone->eq("A\x{308}", $Auml));
+ok($objDeAtPhone->eq("o\x{308}", $ouml));
+ok($objDeAtPhone->eq("O\x{308}", $Ouml));
+ok($objDeAtPhone->eq("u\x{308}", $uuml));
+ok($objDeAtPhone->eq("U\x{308}", $Uuml));
+
+# 30
+
+ok($objDeAtPhone->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objDeAtPhone->eq("A\x{308}\x{304}", "\x{1DE}"));
+ok($objDeAtPhone->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objDeAtPhone->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objDeAtPhone->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objDeAtPhone->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objDeAtPhone->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objDeAtPhone->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objDeAtPhone->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objDeAtPhone->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objDeAtPhone->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objDeAtPhone->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 42
+
+{
+ my $objDeLatnAtPhone = Unicode::Collate::Locale->
+ new(locale => 'DE_Latn_AT_phonebook', normalization => undef);
+ ok($objDeLatnAtPhone->getlocale, 'de_AT_phonebook');
+ $objDeLatnAtPhone->change(level => 1);
+ ok($objDeLatnAtPhone->gt($auml, 'az'));
+}
+
+# 44
+
+{
+ my $objDeAt = Unicode::Collate::Locale->
+ new(locale => 'DE_AT', normalization => undef);
+ ok($objDeAt->getlocale, 'default');
+ $objDeAt->change(level => 1);
+ ok($objDeAt->eq($auml, 'a'));
+}
+
+# 46
diff --git a/cpan/Unicode-Collate/t/loc_deph.t b/cpan/Unicode-Collate/t/loc_deph.t
index 4a11df4153..136d3c5017 100644
--- a/cpan/Unicode-Collate/t/loc_deph.t
+++ b/cpan/Unicode-Collate/t/loc_deph.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..42\n"; }
+BEGIN { $| = 1; print "1..46\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -101,24 +101,42 @@ ok($objDePhone->eq("U\x{308}\x{30C}", "\x{1D9}"));
# 38
-my $objDePhoneBook = Unicode::Collate::Locale->
+{
+ my $objDePhoneBook = Unicode::Collate::Locale->
new(locale => 'de__phonebook', normalization => undef);
-
-ok($objDePhoneBook->getlocale, 'de__phonebook');
-
-$objDePhoneBook->change(level => 1);
-
-ok($objDePhoneBook->eq("a\x{308}", "ae"));
+ ok($objDePhoneBook->getlocale, 'de__phonebook');
+ $objDePhoneBook->change(level => 1);
+ ok($objDePhoneBook->eq("a\x{308}", "ae"));
+}
# 40
-my $objDePhonebk = Unicode::Collate::Locale->
+{
+ 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"));
+}
-ok($objDePhonebk->getlocale, 'de__phonebook');
+# 42
-$objDePhonebk->change(level => 1);
+{
+ my $objDeDePhone = Unicode::Collate::Locale->
+ new(locale => 'de_DE_phone', normalization => undef);
+ ok($objDeDePhone->getlocale, 'de__phonebook');
+ $objDeDePhone->change(level => 1);
+ ok($objDeDePhone->eq("a\x{308}", "ae"));
+}
-ok($objDePhonebk->eq("a\x{308}", "ae"));
+# 44
-# 42
+{
+ my $objDeChPhonebk = Unicode::Collate::Locale->
+ new(locale => 'de_CH_phonebk', normalization => undef);
+ ok($objDeChPhonebk->getlocale, 'de__phonebook');
+ $objDeChPhonebk->change(level => 1);
+ ok($objDeChPhonebk->eq("a\x{308}", "ae"));
+}
+
+# 46
diff --git a/cpan/Unicode-Collate/t/loc_es.t b/cpan/Unicode-Collate/t/loc_es.t
index 443823afcc..471f9f197a 100644
--- a/cpan/Unicode-Collate/t/loc_es.t
+++ b/cpan/Unicode-Collate/t/loc_es.t
@@ -37,7 +37,7 @@ my $objEs = Unicode::Collate::Locale->
new(locale => 'ES', normalization => undef);
ok($objEs->getlocale, 'es');
-ok($objEs->locale_version, 1.17);
+ok($objEs->locale_version, 1.18);
$objEs->change(level => 1);
diff --git a/cpan/Unicode-Collate/t/loc_estr.t b/cpan/Unicode-Collate/t/loc_estr.t
index 416bafac3f..c306c00939 100644
--- a/cpan/Unicode-Collate/t/loc_estr.t
+++ b/cpan/Unicode-Collate/t/loc_estr.t
@@ -37,7 +37,7 @@ my $objEsTrad = Unicode::Collate::Locale->
new(locale => 'ES-trad', normalization => undef);
ok($objEsTrad->getlocale, 'es__traditional');
-ok($objEsTrad->locale_version, 1.17);
+ok($objEsTrad->locale_version, 1.18);
$objEsTrad->change(level => 1);
diff --git a/cpan/Unicode-Collate/t/loc_fil.t b/cpan/Unicode-Collate/t/loc_fil.t
index 77f0eacc96..46d9baaa9f 100644
--- a/cpan/Unicode-Collate/t/loc_fil.t
+++ b/cpan/Unicode-Collate/t/loc_fil.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..14\n"; }
+BEGIN { $| = 1; print "1..17\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -64,3 +64,11 @@ ok($objFil->eq("n\x{303}", pack('U', 0xF1)));
ok($objFil->eq("N\x{303}", pack('U', 0xD1)));
# 14
+
+$objFil->change(upper_before_lower => 1);
+
+ok($objFil->gt("ng", "Ng"));
+ok($objFil->gt("Ng", "NG"));
+ok($objFil->gt("n\x{303}", "N\x{303}"));
+
+# 17
diff --git a/cpan/Unicode-Collate/t/loc_fr.t b/cpan/Unicode-Collate/t/loc_fr.t
index 651b770698..772f6090a3 100644
--- a/cpan/Unicode-Collate/t/loc_fr.t
+++ b/cpan/Unicode-Collate/t/loc_fr.t
@@ -39,8 +39,8 @@ my $AE = pack 'U', 0xC6;
my $objFr = Unicode::Collate::Locale->
new(locale => 'FR', normalization => undef);
-ok($objFr->getlocale, 'fr');
-ok($objFr->locale_version, 1.17);
+ok($objFr->getlocale, 'default'); # no tailoring since 1.18
+ok($objFr->locale_version, undef);
$objFr->change(level => 1);
diff --git a/cpan/Unicode-Collate/t/loc_frca.t b/cpan/Unicode-Collate/t/loc_frca.t
new file mode 100644
index 0000000000..0bcf0c0587
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_frca.t
@@ -0,0 +1,53 @@
+
+BEGIN {
+ unless ('A' eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+ exit 0;
+ }
+ unless (0x41 == unpack('U', 'A')) {
+ print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..8\n"; }
+my $count = 0;
+sub ok ($;$) {
+ my $p = my $r = shift;
+ if (@_) {
+ my $x = shift;
+ $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+ }
+ print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objFrCa = Unicode::Collate::Locale->
+ new(locale => 'FR-CA', normalization => undef);
+
+ok($objFrCa->getlocale, 'fr_CA');
+
+$objFrCa->change(level => 2);
+
+ok($objFrCa->lt("a\x{300}a", "aa\x{300}"));
+ok($objFrCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objFrCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+
+$objFrCa->change(backwards => undef);
+
+ok($objFrCa->gt("a\x{300}a", "aa\x{300}"));
+ok($objFrCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objFrCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+
+# 8
diff --git a/cpan/Unicode-Collate/t/loc_gu.t b/cpan/Unicode-Collate/t/loc_gu.t
index f9c4b21625..5457999855 100644
--- a/cpan/Unicode-Collate/t/loc_gu.t
+++ b/cpan/Unicode-Collate/t/loc_gu.t
@@ -50,8 +50,7 @@ ok($objGu->eq("\x{A82}", "\x{A81}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objGu->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objGu->lt("\x{AD0}$t", "\x{A82}"));
ok($objGu->lt("\x{A82}$t", "\x{A83}"));
diff --git a/cpan/Unicode-Collate/t/loc_hi.t b/cpan/Unicode-Collate/t/loc_hi.t
index 9a6b678791..094a042c66 100644
--- a/cpan/Unicode-Collate/t/loc_hi.t
+++ b/cpan/Unicode-Collate/t/loc_hi.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..10\n"; }
+BEGIN { $| = 1; print "1..12\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -50,12 +50,12 @@ ok($objHi->eq("\x{902}", "\x{901}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objHi->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objHi->lt("\x{950}$t", "\x{902}"));
ok($objHi->lt("\x{902}$t", "\x{903}"));
+ ok($objHi->lt("\x{903}$t", "\x{A8FD}"));
ok($objHi->lt("\x{903}$t", "\x{972}"));
}
-# 10
+# 12
diff --git a/cpan/Unicode-Collate/t/loc_hy.t b/cpan/Unicode-Collate/t/loc_hy.t
index a7282665a5..26114a1a09 100644
--- a/cpan/Unicode-Collate/t/loc_hy.t
+++ b/cpan/Unicode-Collate/t/loc_hy.t
@@ -77,8 +77,7 @@ $objHy->change(UCA_Version => 22);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objHy->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objHy->lt("\x{583}$t", "\x{584}"));
ok($objHy->lt("\x{584}$t", "\x{587}"));
diff --git a/cpan/Unicode-Collate/t/loc_kn.t b/cpan/Unicode-Collate/t/loc_kn.t
index 3c273258ba..a6f00e9809 100644
--- a/cpan/Unicode-Collate/t/loc_kn.t
+++ b/cpan/Unicode-Collate/t/loc_kn.t
@@ -42,8 +42,7 @@ $objKn->change(level => 1);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objKn->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objKn->lt("\x{C93}$t", "\x{C94}"));
ok($objKn->lt("\x{C94}$t", "\x{C82}"));
@@ -53,3 +52,4 @@ for my $h (0, 1) {
ok($objKn->lt("\x{CF2}$t", "\x{C95}"));
}
+# 14
diff --git a/cpan/Unicode-Collate/t/loc_kok.t b/cpan/Unicode-Collate/t/loc_kok.t
index 0b87dcbdc0..5c60e575b6 100644
--- a/cpan/Unicode-Collate/t/loc_kok.t
+++ b/cpan/Unicode-Collate/t/loc_kok.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..21\n"; }
+BEGIN { $| = 1; print "1..23\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -56,11 +56,11 @@ ok($objKok->eq("\x{933}", "\x{934}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objKok->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objKok->lt("\x{950}$t", "\x{902}"));
ok($objKok->lt("\x{902}$t", "\x{903}"));
+ ok($objKok->lt("\x{903}$t", "\x{A8FD}"));
ok($objKok->lt("\x{903}$t", "\x{972}"));
ok($objKok->lt("\x{938}$t", "\x{939}"));
@@ -69,4 +69,4 @@ for my $h (0, 1) {
ok($objKok->lt("\x{915}\x{94D}\x{937}$t", "\x{93D}"));
}
-# 21
+# 23
diff --git a/cpan/Unicode-Collate/t/loc_mr.t b/cpan/Unicode-Collate/t/loc_mr.t
index 0761fe8459..7b5141f738 100644
--- a/cpan/Unicode-Collate/t/loc_mr.t
+++ b/cpan/Unicode-Collate/t/loc_mr.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..23\n"; }
+BEGIN { $| = 1; print "1..25\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -56,11 +56,11 @@ ok($objMr->eq("\x{933}", "\x{934}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objMr->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objMr->lt("\x{950}$t", "\x{902}"));
ok($objMr->lt("\x{902}$t", "\x{903}"));
+ ok($objMr->lt("\x{903}$t", "\x{A8FD}"));
ok($objMr->lt("\x{903}$t", "\x{972}"));
ok($objMr->lt("\x{938}$t", "\x{939}"));
@@ -70,4 +70,4 @@ for my $h (0, 1) {
ok($objMr->lt("\x{91C}\x{94D}\x{91E}$t", "\x{93D}"));
}
-# 23
+# 25
diff --git a/cpan/Unicode-Collate/t/loc_or.t b/cpan/Unicode-Collate/t/loc_or.t
index 4fffaef151..37fba06d89 100644
--- a/cpan/Unicode-Collate/t/loc_or.t
+++ b/cpan/Unicode-Collate/t/loc_or.t
@@ -50,8 +50,7 @@ ok($objOr->eq("\x{B2F}", "\x{B5F}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objOr->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objOr->lt("\x{B13}$t", "\x{B14}"));
ok($objOr->lt("\x{B14}$t", "\x{B01}"));
diff --git a/cpan/Unicode-Collate/t/loc_sa.t b/cpan/Unicode-Collate/t/loc_sa.t
index 0420f58a57..a03d32e4fc 100644
--- a/cpan/Unicode-Collate/t/loc_sa.t
+++ b/cpan/Unicode-Collate/t/loc_sa.t
@@ -16,7 +16,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..23\n"; }
+BEGIN { $| = 1; print "1..25\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -56,11 +56,11 @@ ok($objSa->eq("\x{933}", "\x{934}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objSa->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objSa->lt("\x{950}$t", "\x{902}"));
ok($objSa->lt("\x{902}$t", "\x{903}"));
+ ok($objSa->lt("\x{903}$t", "\x{A8FD}"));
ok($objSa->lt("\x{903}$t", "\x{972}"));
ok($objSa->lt("\x{938}$t", "\x{939}"));
@@ -70,4 +70,4 @@ for my $h (0, 1) {
ok($objSa->lt("\x{91C}\x{94D}\x{91E}$t", "\x{93D}"));
}
-# 23
+# 25
diff --git a/cpan/Unicode-Collate/t/loc_si.t b/cpan/Unicode-Collate/t/loc_si.t
index fab3882e5a..d6c6c69550 100644
--- a/cpan/Unicode-Collate/t/loc_si.t
+++ b/cpan/Unicode-Collate/t/loc_si.t
@@ -42,8 +42,7 @@ $objSi->change(level => 1);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objSi->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objSi->lt("\x{D95}$t", "\x{D96}"));
ok($objSi->lt("\x{D96}$t", "\x{D82}"));
@@ -55,3 +54,4 @@ for my $h (0, 1) {
ok($objSi->lt("\x{DA4}$t", "\x{DA6}"));
}
+# 16
diff --git a/cpan/Unicode-Collate/t/loc_sidt.t b/cpan/Unicode-Collate/t/loc_sidt.t
index 5bd122a447..bbdb4e0aff 100644
--- a/cpan/Unicode-Collate/t/loc_sidt.t
+++ b/cpan/Unicode-Collate/t/loc_sidt.t
@@ -53,8 +53,7 @@ ok($objSiDict->lt("\x{DA5}", "\x{DA3}"));
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objSiDict->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objSiDict->lt("\x{D95}$t", "\x{D96}"));
ok($objSiDict->lt("\x{D96}$t", "\x{D82}"));
diff --git a/cpan/Unicode-Collate/t/loc_te.t b/cpan/Unicode-Collate/t/loc_te.t
index 44a66db881..677a29bef5 100644
--- a/cpan/Unicode-Collate/t/loc_te.t
+++ b/cpan/Unicode-Collate/t/loc_te.t
@@ -42,8 +42,7 @@ $objTe->change(level => 1);
for my $h (0, 1) {
no warnings 'utf8';
- my $t = $h ? pack('U', 0xFFFF) : "";
- $objTe->change(highestFFFF => 1) if $h;
+ my $t = $h ? pack('U', 0xFFFF) : 'z';
ok($objTe->lt("\x{C13}$t", "\x{C14}"));
ok($objTe->lt("\x{C14}$t", "\x{C01}"));
@@ -51,3 +50,5 @@ for my $h (0, 1) {
ok($objTe->lt("\x{C02}$t", "\x{C03}"));
ok($objTe->lt("\x{C03}$t", "\x{C15}"));
}
+
+# 12
diff --git a/cpan/Unicode-Collate/t/loc_test.t b/cpan/Unicode-Collate/t/loc_test.t
index 30c912003d..6d70ba477f 100644
--- a/cpan/Unicode-Collate/t/loc_test.t
+++ b/cpan/Unicode-Collate/t/loc_test.t
@@ -103,8 +103,8 @@ my $objEsT = Unicode::Collate::Locale->new
ok($objEsT->getlocale, 'es__traditional');
my $objFr = Unicode::Collate::Locale->new
- (normalization => undef, locale => 'FR');
-ok($objFr->getlocale, 'fr');
+ (normalization => undef, locale => 'FR_CA');
+ok($objFr->getlocale, 'fr_CA');
# 16