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