'Unicode::Collate' =>
{
'MAINTAINER' => 'sadahiro',
- 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.86.tar.gz',
+ 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.87.tar.gz',
'FILES' => q[cpan/Unicode-Collate],
'EXCLUDED' => [ qr{N$},
qr{^data/},
Revision history for Perl module Unicode::Collate.
+0.87 Sat Nov 26 17:01:42 2011
+ - Now Locale/*.pl files are searched in @INC. (see [rt.cpan.org #72666])
+ - added locale_version method to access the version number of Locale/*.pl.
+
0.86 Wed Nov 23 17:16:00 2011
- tailored compatibility ideographs as well as unified ideographs for
the locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
no warnings 'utf8';
-our $VERSION = '0.86';
+our $VERSION = '0.87';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '0.86';
+our $VERSION = '0.87';
-use File::Spec;
-
-(my $ModPath = $INC{'Unicode/Collate/Locale.pm'}) =~ s/\.pm$//;
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
return shift->{accepted_locale};
}
+sub locale_version {
+ return shift->{locale_version};
+}
+
sub _fetchpl {
my $accepted = shift;
my $f = $LocaleFile{$accepted};
return if !$f;
$f .= $PL_EXT;
- my $path = File::Spec->catfile($ModPath, $f);
+
+ # allow to search @INC
+# use File::Spec;
+# my $path = File::Spec->catfile('Unicode', 'Collate', 'Locale', $f);
+ my $path = "Unicode/Collate/Locale/$f";
my $h = do $path;
croak "Unicode/Collate/Locale/$f can't be found" if !$h;
return $h;
(intensionally for some languages, or due to the incomplete implementation),
this method returns a string C<'default'> meaning no special tailoring.
+=item C<$Collator-E<gt>locale_version>
+
+(Since Unicode::Collate::Locale 0.87)
+Returns the version number (perhaps C</\d\.\d\d/>) of the locale, as that
+of F<Locale/*.pl>.
+
+B<Note:> F<Locale/*.pl> that a collator uses should be identified by
+a combination of return values from C<getlocale> and C<locale_version>.
+
=back
=head2 A list of tailorable locales
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0149 ; [.1702.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
ENTRY
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0629 ; [.1C54.0021.0002.0629] # ARABIC LETTER TEH MARBUTA
FE94 ; [.1C54.0021.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0982 ; [.1FE8.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
0981 ; [.1FE8.0020.0002.0981][.FFF2.0000.0000.0000] # BENGALI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
# schwa doesn't require tailoring
entry => <<'ENTRY', # for DUCET v6.0.0
00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0427, 0x0447, 0x042B, 0x044B,
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0982 ; [.1FE8.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
0983 ; [.1FE8.0020.0002.0983][.FFF2.0000.0000.0000] # BENGALI SIGN VISARGA
+{
+ locale_version => 0.87,
backwards => 2,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00E4 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0109 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
0063 0302 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0161 ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
0073 030C ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
064E ; [.0000.00A2.0002.064E] # ARABIC FATHA
0650 ; [.0000.00A3.0002.0650] # ARABIC KASRA
+{
+ locale_version => 0.87,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
backwards => 2,
};
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0A82 ; [.2054.0020.0002.0A82][.FFF1.0000.0000.0000] # GUJARATI SIGN ANUSVARA
0A81 ; [.2054.0021.0002.0A81][.FFF1.0000.0000.0A81] # GUJARATI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
# b-hook, d-hook, k-hook, y-hook don't require tailoring
entry => <<'ENTRY', # for DUCET v6.0.0
0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0065 ; [.15A4.0020.0002.0065] # LATIN SMALL LETTER E
0045 ; [.15A4.0020.0008.0045] # LATIN CAPITAL LETTER E
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0073 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
0063 0053 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0587 ; [.1BF1.0020.0002.0587][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
0535 0582 ; [.1BF1.0020.0008.0535][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
use Unicode::Collate::CJK::JISX0208;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
entry => <<'ENTRY', # for DUCET v6.0.0
3041 ; [.3196.0020.000F.3041] # HIRAGANA LETTER SMALL A
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0C82 ; [.2164.0020.0002.0C82][.FFF1.0000.0000.0000] # KANNADA SIGN ANUSVARA
0C83 ; [.2164.0020.0002.0C83][.FFF2.0000.0000.0000] # KANNADA SIGN VISARGA
use Unicode::Collate::CJK::Korean;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
entry => <<'ENTRY', # for DUCET v6.0.0
F967 ; [.3038.0021.0002.4E0D][.30BC.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
025B ; [.1600.0020.0002.025B] # LATIN SMALL LETTER OPEN E
0190 ; [.1600.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
+{
+ locale_version => 0.87,
# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
entry => <<'ENTRY', # for DUCET v6.0.0
0049 0307 ; [.1680.0020.0008.0049][.0000.0052.0002.0307] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0415, 0x0435, 0x0416, 0x0436,
0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0D3D ; [.0000.00FC.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
0D57 ; [.21E3.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v6.0.0
010B ; [.15D0.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0063 0068 ; [.1845.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1845.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0B01 ; [.20A5.0020.0002.0B01][.FFF1.0000.0000.0000] # ORIYA SIGN CANDRABINDU
0B02 ; [.20A5.0020.0002.0B02][.FFF2.0000.0000.0000] # ORIYA SIGN ANUSVARA
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0A71 ; [.0000.00E6.0002.0A71] # GURMUKHI ADDAK
0A03 ; [.0000.00E5.0002.0A03] # GURMUKHI SIGN VISARGA
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0105 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
0061 0328 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0103 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+{
+ locale_version => 0.87,
# eng, g-stroke, t-stroke don't require tailoring
entry => <<'ENTRY', # for DUCET v6.0.0
00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0D82 ; [.21F7.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.21F7.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0D82 ; [.21F7.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.21F7.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00E4 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00E7 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456,
0x041E, 0x043E, 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0B82 ; [.20E7.0020.0002.0B82][.FFF1.0000.0000.0000] # TAMIL SIGN ANUSVARA
0B95 0BCD ; [.20E8.0020.0002.0B95][.FFF1.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0C01 ; [.211C.0020.0002.0C01][.FFF1.0000.0000.0000] # TELUGU SIGN CANDRABINDU
0C02 ; [.211C.0020.0002.0C02][.FFF2.0000.0000.0000] # TELUGU SIGN ANUSVARA
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0E2F ; [*0480.0020.0002.0E2F][*FFF1.0000.0000.0000] # THAI CHARACTER PAIYANNOI
0E46 ; [*0480.0020.0002.0E46][*FFF2.0000.0000.0000] # THAI CHARACTER MAIYAMOK
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
006E 0067 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
004E 0067 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+{
+ locale_version => 0.87,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0627 ; [.1C43.0020.0002.0627] # ARABIC LETTER ALEF
0623 ; [.1C43.0021.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+{
+ locale_version => 0.87,
# 0306 is not a Vietnamese tone, just to avoid \x{303} eq \x{306}.
entry => <<'ENTRY', # for DUCET v6.0.0
0309 ; [.0000.0036.0002.0309] # COMBINING HOOK ABOVE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0061 0061 ; [.15A3.0020.0002.0061][.0000.0032.0002.0301] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
00E4 00E4 ; [.15A3.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+{
+ locale_version => 0.87,
# eng doesn't require tailoring
entry => <<'ENTRY', # for DUCET v6.0.0
00E0 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
1EB9 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
0065 0323 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+{
+ locale_version => 0.87,
entry => <<'ENTRY', # for DUCET v6.0.0
0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Big5;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
entry => <<'ENTRY', # for DUCET v6.0.0
0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::GB2312;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
entry => <<'ENTRY', # for DUCET v6.0.0
0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Pinyin;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
entry => <<'ENTRY', # for DUCET v6.0.0
0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Stroke;
+{
+ locale_version => 0.87,
overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
entry => <<'ENTRY', # for DUCET v6.0.0
0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-Unicode/Collate version 0.86
+Unicode/Collate version 0.87
===============================
NAME
}
use Test;
-BEGIN { plan tests => 28 };
+BEGIN { plan tests => 29 };
use strict;
use warnings;
new(locale => 'ES', normalization => undef);
ok($objEs->getlocale, 'es');
+ok($objEs->locale_version, 0.87);
$objEs->change(level => 1);
ok($objEs->lt("n", "n\x{303}"));
ok($objEs->gt("o", "n\x{303}"));
-# 10
+# 11
ok($objEs->eq("a\x{300}a", "aa\x{300}"));
ok($objEs->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
ok($objEs->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
-# 14
+# 15
ok($objEs->eq("ch", "Ch"));
ok($objEs->eq("Ch", "CH"));
ok($objEs->eq("Ll", "LL"));
ok($objEs->eq("n\x{303}", "N\x{303}"));
-# 19
+# 20
$objEs->change(level => 3);
ok($objEs->eq("n\x{303}", pack('U', 0xF1)));
ok($objEs->eq("N\x{303}", pack('U', 0xD1)));
-# 26
+# 27
$objEs->change(level => 2, ignore_level2 => 1);
ok($objEs->lt("n", "n\x{303}"));
ok($objEs->eq("a", "a\x{303}"));
-# 28
+# 29
}
use Test;
-BEGIN { plan tests => 26 };
+BEGIN { plan tests => 27 };
use strict;
use warnings;
new(locale => 'ES-trad', normalization => undef);
ok($objEsTrad->getlocale, 'es__traditional');
+ok($objEsTrad->locale_version, 0.87);
$objEsTrad->change(level => 1);
ok($objEsTrad->lt("n", "n\x{303}"));
ok($objEsTrad->gt("o", "n\x{303}"));
-# 10
+# 11
ok($objEsTrad->eq("a\x{300}a", "aa\x{300}"));
ok($objEsTrad->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
ok($objEsTrad->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
-# 14
+# 15
ok($objEsTrad->eq("ch", "Ch"));
ok($objEsTrad->eq("Ch", "CH"));
ok($objEsTrad->eq("Ll", "LL"));
ok($objEsTrad->eq("n\x{303}", "N\x{303}"));
-# 19
+# 20
$objEsTrad->change(level => 3);
ok($objEsTrad->eq("n\x{303}", pack('U', 0xF1)));
ok($objEsTrad->eq("N\x{303}", pack('U', 0xD1)));
-# 26
+# 27
}
use Test;
-BEGIN { plan tests => 26 };
+BEGIN { plan tests => 27 };
use strict;
use warnings;
new(locale => 'FR', normalization => undef);
ok($objFr->getlocale, 'fr');
+ok($objFr->locale_version, 0.87);
$objFr->change(level => 1);
ok($objFr->eq("\x{1E3}", $ae));
ok($objFr->eq("\x{1E2}", $AE));
-# 8
+# 9
$objFr->change(level => 2);
ok($objFr->eq("$ae\x{304}", "$AE\x{304}"));
ok($objFr->eq("$ae\x{301}", "$AE\x{301}"));
-# 18
+# 19
$objFr->change(level => 3);
ok($objFr->eq("\x{1E3}", "$ae\x{304}"));
ok($objFr->eq("\x{1E2}", "$AE\x{304}"));
-# 26
+# 27
=item *
-L<Unicode::Collate> has been upgraded from version 0.85 to version 0.86.
+L<Unicode::Collate> has been upgraded from version 0.85 to version 0.87.
Tailored compatibility ideographs as well as unified ideographs for
the locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
+Now Locale/*.pl files are searched in @INC.
+
=back
=head2 Removed Modules and Pragmata