diff options
Diffstat (limited to 'cpan')
23 files changed, 1297 insertions, 22 deletions
diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes index 62fa837977..e044d43087 100644 --- a/cpan/Unicode-Collate/Changes +++ b/cpan/Unicode-Collate/Changes @@ -1,7 +1,10 @@ Revision history for Perl module Unicode::Collate. +0.58 Sun Aug 29 19:56:50 2010 + - U::C::Locale newly supports locales: af, cy, da, fo, haw, is, kl, sw. + 0.57 Sun Aug 22 22:39:58 2010 - - Unicode::Collate::Locale newly supports locales: ca, et, fi, lv, sk, sl. + - U::C::Locale newly supports locales: ca, et, fi, lv, sk, sl. 0.56 Sun Aug 8 20:24:03 2010 - Unicode::Collate::Locale newly supports locales: eo, nb, ro, sv. diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm index a1da1c9568..1467c33c12 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.57'; +our $VERSION = '0.58'; our $PACKAGE = __PACKAGE__; my @Path = qw(Unicode Collate); diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm index 204b8c3b17..4aeef1f582 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.57'; +our $VERSION = '0.58'; use File::Spec; @@ -13,7 +13,7 @@ my $KeyPath = File::Spec->catfile('allkeys.txt'); my $PL_EXT = '.pl'; my %LocaleFile = map { ($_, $_) } qw( - ca cs eo es et fi fr lv nn pl ro sk sl sv + af ca cs cy da eo es et fi fo fr haw is kl lv nn pl ro sk sl sv sw ); $LocaleFile{'default'} = ''; $LocaleFile{'es__traditional'} = 'es_trad'; @@ -39,23 +39,28 @@ sub getlocale { return shift->{accepted_locale}; } +sub _fetch_locale { + my $accepted = shift; + my $f = $LocaleFile{$accepted}; + return if !$f; + $f .= $PL_EXT; + my $path = File::Spec->catfile($ModPath, $f); + my $h = do $path; + croak "Unicode/Collate/Locale/$f can't be found" if !$h; + return $h; +} + sub new { my $class = shift; my %hash = @_; - my ($href,$file); $hash{accepted_locale} = _locale($hash{locale}); - $file = $LocaleFile{ $hash{accepted_locale} }; - if ($file) { - my $filepath = File::Spec->catfile($ModPath, $file.$PL_EXT); - $href = do $filepath; - } - if (exists $hash{table}) { croak "your table can't be used with Unicode::Collate::Locale"; } - $href->{table} = $KeyPath; + $hash{table} = $KeyPath; + my $href = _fetch_locale($hash{accepted_locale}); while (my($k,$v) = each %$href) { if (exists $hash{$k}) { croak "$k is reserved by $hash{locale}, can't be overwritten"; @@ -147,14 +152,21 @@ this method returns a string C<'default'> meaning no special tailoring. locale name description ---------------------------------------------------------- + af Afrikaans ca Catalan cs Czech + cy Welsh + da Danish eo Esperanto es Spanish es__traditional Spanish ('ch' and 'll' as a grapheme) et Estonian fi Finnish + fo Faroese fr French + haw Hawaiian + is Icelandic + kl Kalaallisut lv Latvian nb Norwegian Bokmal nn Norwegian Nynorsk @@ -163,6 +175,7 @@ this method returns a string C<'default'> meaning no special tailoring. sk Slovak sl Slovenian sv Swedish + sw Swahili =head1 AUTHOR diff --git a/cpan/Unicode-Collate/Collate/Locale/af.pl b/cpan/Unicode-Collate/Collate/Locale/af.pl new file mode 100644 index 0000000000..4e667e967c --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/af.pl @@ -0,0 +1,5 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0149 ; [.136D.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/cy.pl b/cpan/Unicode-Collate/Collate/Locale/cy.pl new file mode 100644 index 0000000000..8bf5061629 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/cy.pl @@ -0,0 +1,28 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0063 0068 ; [.123E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H> +0043 0068 ; [.123E.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H> +0043 0048 ; [.123E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H> +0064 0064 ; [.1251.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D> +0044 0064 ; [.1251.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D> +0044 0044 ; [.1251.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D> +0066 0066 ; [.12A4.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F> +0046 0066 ; [.12A4.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F> +0046 0046 ; [.12A4.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F> +006E 0067 ; [.12B1.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G> +004E 0067 ; [.12B1.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G> +004E 0047 ; [.12B1.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G> +006C 006C ; [.1331.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L> +004C 006C ; [.1331.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L> +004C 004C ; [.1331.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L> +0070 0068 ; [.13B4.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H> +0050 0068 ; [.13B4.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H> +0050 0048 ; [.13B4.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H> +0072 0068 ; [.13DB.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H> +0052 0068 ; [.13DB.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H> +0052 0048 ; [.13DB.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H> +0074 0068 ; [.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H> +0054 0068 ; [.1434.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H> +0054 0048 ; [.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H> +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/da.pl b/cpan/Unicode-Collate/Collate/Locale/da.pl new file mode 100644 index 0000000000..e680df11b9 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/da.pl @@ -0,0 +1,63 @@ ++{ + upper_before_lower => 1, + entry => <<'ENTRY', # for DUCET v5.2.0 +0111 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0110 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +00F0 ; [.1250.0022.0002.00F0] # LATIN SMALL LETTER ETH +00D0 ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH +00FE ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN +00DE ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN +00FC ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +00E6 ; [.14AE.0020.0002.00E6] # LATIN SMALL LETTER AE +00C6 ; [.14AE.0020.0008.00C6] # LATIN CAPITAL LETTER AE +1D2D ; [.14AE.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE +01FD ; [.14AE.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE +01FC ; [.14AE.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE +01E3 ; [.14AE.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON +01E2 ; [.14AE.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON +00E4 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +0045 0328 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +00F8 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +006F 0338 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +00D8 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +004F 0338 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +01FF ; [.14AF.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE +01FE ; [.14AF.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +00F6 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +004F 030B ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0153 ; [.14AF.0023.0002.0153] # LATIN SMALL LIGATURE OE +0152 ; [.14AF.0023.0008.0152] # LATIN CAPITAL LIGATURE OE +00E5 ; [.14B0.0020.0002.00E5][.0.0.1.0] # LATIN SMALL LETTER A WITH RING ABOVE +0061 030A ; [.14B0.0020.0002.00E5][.0.0.1.0] # LATIN SMALL LETTER A WITH RING ABOVE +00C5 ; [.14B0.0020.0008.00C5][.0.0.1.0] # LATIN CAPITAL LETTER A WITH RING ABOVE +0041 030A ; [.14B0.0020.0008.00C5][.0.0.1.0] # LATIN CAPITAL LETTER A WITH RING ABOVE +212B ; [.14B0.0020.0008.00C5][.0.0.1.0] # ANGSTROM SIGN +01FB ; [.14B0.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +01FA ; [.14B0.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +0061 0061 ; [.14B0.0020.0002.0061][.0.0.7.0] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A> +0041 0061 ; [.14B0.0020.0007.0041][.0.0.2.0] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A> +0061 0041 ; [.14B0.0020.0007.0061][.0.0.8.0] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A> +0041 0041 ; [.14B0.0020.0008.0041][.0.0.7.0] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A> +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/fo.pl b/cpan/Unicode-Collate/Collate/Locale/fo.pl new file mode 100644 index 0000000000..48066f2b8c --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/fo.pl @@ -0,0 +1,62 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0111 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0110 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +00F0 ; [.1250.0022.0002.00F0] # LATIN SMALL LETTER ETH +00D0 ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH +00FE ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN +00DE ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN +00FC ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +00E6 ; [.14AE.0020.0002.00E6] # LATIN SMALL LETTER AE +00C6 ; [.14AE.0020.0008.00C6] # LATIN CAPITAL LETTER AE +1D2D ; [.14AE.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE +01FD ; [.14AE.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE +01FC ; [.14AE.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE +01E3 ; [.14AE.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON +01E2 ; [.14AE.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON +00E4 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +0045 0328 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +00F8 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +006F 0338 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +00D8 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +004F 0338 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +01FF ; [.14AF.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE +01FE ; [.14AF.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +00F6 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +004F 030B ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0153 ; [.14AF.0023.0002.0153] # LATIN SMALL LIGATURE OE +0152 ; [.14AF.0023.0008.0152] # LATIN CAPITAL LIGATURE OE +00E5 ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +0061 030A ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +00C5 ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +0041 030A ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +212B ; [.14B0.0020.0008.00C5] # ANGSTROM SIGN +01FB ; [.14B0.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +01FA ; [.14B0.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +0061 0061 ; [.14B0.0020.001C.0061][.0.0.2.0] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A> +0061 0041 ; [.14B0.0020.001C.0061][.0.0.8.0] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A> +0041 0061 ; [.14B0.0020.001D.0041][.0.0.2.0] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A> +0041 0041 ; [.14B0.0020.001D.0041][.0.0.8.0] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A> +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/haw.pl b/cpan/Unicode-Collate/Collate/Locale/haw.pl new file mode 100644 index 0000000000..d55c6076f0 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/haw.pl @@ -0,0 +1,35 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0065 ; [.1210.0020.0002.0065] # LATIN SMALL LETTER E +0045 ; [.1210.0020.0008.0045] # LATIN CAPITAL LETTER E +0069 ; [.1211.0020.0002.0069] # LATIN SMALL LETTER I +0049 ; [.1211.0020.0008.0049] # LATIN CAPITAL LETTER I +006F ; [.1212.0020.0002.006F] # LATIN SMALL LETTER O +004F ; [.1212.0020.0008.004F] # LATIN CAPITAL LETTER O +0075 ; [.1213.0020.0002.0075] # LATIN SMALL LETTER U +0055 ; [.1213.0020.0008.0055] # LATIN CAPITAL LETTER U +0068 ; [.1214.0020.0002.0068] # LATIN SMALL LETTER H +0048 ; [.1214.0020.0008.0048] # LATIN CAPITAL LETTER H +006B ; [.1215.0020.0002.006B] # LATIN SMALL LETTER K +004B ; [.1215.0020.0008.004B] # LATIN CAPITAL LETTER K +006C ; [.1216.0020.0002.006C] # LATIN SMALL LETTER L +004C ; [.1216.0020.0008.004C] # LATIN CAPITAL LETTER L +006D ; [.1217.0020.0002.006D] # LATIN SMALL LETTER M +004D ; [.1217.0020.0008.004D] # LATIN CAPITAL LETTER M +006E ; [.1218.0020.0002.006E] # LATIN SMALL LETTER N +004E ; [.1218.0020.0008.004E] # LATIN CAPITAL LETTER N +0070 ; [.1219.0020.0002.0070] # LATIN SMALL LETTER P +0050 ; [.1219.0020.0008.0050] # LATIN CAPITAL LETTER P +0077 ; [.121A.0020.0002.0077] # LATIN SMALL LETTER W +0057 ; [.121A.0020.0008.0057] # LATIN CAPITAL LETTER W +02BB ; [.121B.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA +0113 ; [.1210.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON +0112 ; [.1210.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON +012B ; [.1211.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON +012A ; [.1211.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON +014D ; [.1212.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON +014C ; [.1212.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON +016B ; [.1213.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON +016A ; [.1213.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/is.pl b/cpan/Unicode-Collate/Collate/Locale/is.pl new file mode 100644 index 0000000000..ec48689df5 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/is.pl @@ -0,0 +1,62 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +00E1 ; [.1224.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE +0061 0301 ; [.1224.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE +00C1 ; [.1224.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE +0041 0301 ; [.1224.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE +0111 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0110 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +00F0 ; [.1251.0020.0002.00F0] # LATIN SMALL LETTER ETH +00D0 ; [.1251.0020.0008.00D0] # LATIN CAPITAL LETTER ETH +00E9 ; [.12A2.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE +0065 0301 ; [.12A2.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE +00C9 ; [.12A2.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE +0045 0301 ; [.12A2.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE +00ED ; [.1304.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE +0069 0301 ; [.1304.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE +00CD ; [.1304.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE +0049 0301 ; [.1304.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE +00F3 ; [.13B2.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE +006F 0301 ; [.13B2.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE +00D3 ; [.13B2.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE +004F 0301 ; [.13B2.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE +00FA ; [.147A.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE +0075 0301 ; [.147A.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE +00DA ; [.147A.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE +0055 0301 ; [.147A.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE +00FD ; [.14AC.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE +0079 0301 ; [.14AC.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE +00DD ; [.14AC.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE +0059 0301 ; [.14AC.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE +00E6 ; [.1522.0020.0002.00E6] # LATIN SMALL LETTER AE +00C6 ; [.1522.0020.0008.00C6] # LATIN CAPITAL LETTER AE +1D2D ; [.1522.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE +01FD ; [.1522.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE +01FC ; [.1522.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE +01E3 ; [.1522.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON +01E2 ; [.1522.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON +00E4 ; [.1522.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +0061 0308 ; [.1522.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +00C4 ; [.1522.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0041 0308 ; [.1522.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +00F6 ; [.1523.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +006F 0308 ; [.1523.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +00D6 ; [.1523.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +004F 0308 ; [.1523.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +00F8 ; [.1523.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +006F 0338 ; [.1523.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +00D8 ; [.1523.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +004F 0338 ; [.1523.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +01FF ; [.1523.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE +01FE ; [.1523.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +00E5 ; [.1524.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +0061 030A ; [.1524.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +00C5 ; [.1524.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +0041 030A ; [.1524.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +212B ; [.1524.0020.0008.00C5] # ANGSTROM SIGN +01FB ; [.1524.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +01FA ; [.1524.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/kl.pl b/cpan/Unicode-Collate/Collate/Locale/kl.pl new file mode 100644 index 0000000000..5c525b8536 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/kl.pl @@ -0,0 +1,60 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0111 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE +0110 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE +00F0 ; [.1250.0022.0002.00F0] # LATIN SMALL LETTER ETH +00D0 ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH +0138 ; [.13C8.0021.0002.0138] # LATIN SMALL LETTER KRA +004B 0027 ; [.13C8.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE> +00FE ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN +00DE ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN +00FC ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS +00DC ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS +0171 ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0170 ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +00E6 ; [.14AE.0020.0002.00E6] # LATIN SMALL LETTER AE +00C6 ; [.14AE.0020.0008.00C6] # LATIN CAPITAL LETTER AE +1D2D ; [.14AE.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE +01FD ; [.14AE.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE +01FC ; [.14AE.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE +01E3 ; [.14AE.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON +01E2 ; [.14AE.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON +00E4 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS +00C4 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS +0119 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0118 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +0045 0328 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +00F8 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +006F 0338 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE +00D8 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +004F 0338 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE +01FF ; [.14AF.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE +01FE ; [.14AF.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +00F6 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS +00D6 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS +0151 ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE +0150 ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +004F 030B ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0153 ; [.14AF.0023.0002.0153] # LATIN SMALL LIGATURE OE +0152 ; [.14AF.0023.0008.0152] # LATIN CAPITAL LIGATURE OE +00E5 ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +0061 030A ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE +00C5 ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +0041 030A ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE +212B ; [.14B0.0020.0008.00C5] # ANGSTROM SIGN +01FB ; [.14B0.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE +01FA ; [.14B0.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/sw.pl b/cpan/Unicode-Collate/Collate/Locale/sw.pl new file mode 100644 index 0000000000..0a054d7802 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/sw.pl @@ -0,0 +1,28 @@ ++{ + entry => <<'ENTRY', # for DUCET v5.2.0 +0063 0068 ; [.1226.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H> +0043 0068 ; [.1226.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H> +0043 0048 ; [.1226.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H> +0064 0068 ; [.1251.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H> +0044 0068 ; [.1251.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H> +0044 0048 ; [.1251.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H> +0067 0068 ; [.12B1.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H> +0047 0068 ; [.12B1.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H> +0047 0048 ; [.12B1.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H> +006B 0068 ; [.131F.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H> +004B 0068 ; [.131F.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H> +004B 0048 ; [.131F.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H> +006E 0067 0027 ; [.136E.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G, APOSTROPHE> +004E 0067 0027 ; [.136E.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G, APOSTROPHE> +004E 0047 0027 ; [.136E.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G, APOSTROPHE> +006E 0079 ; [.136F.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y> +004E 0079 ; [.136F.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y> +004E 0059 ; [.136F.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y> +0073 0068 ; [.1411.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H> +0053 0068 ; [.1411.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H> +0053 0048 ; [.1411.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H> +0074 0068 ; [.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H> +0054 0068 ; [.1434.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H> +0054 0048 ; [.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H> +ENTRY +}; diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README index 4d8f05e359..f3d2235615 100644 --- a/cpan/Unicode-Collate/README +++ b/cpan/Unicode-Collate/README @@ -1,4 +1,4 @@ -Unicode/Collate version 0.57 +Unicode/Collate version 0.58 =============================== NAME diff --git a/cpan/Unicode-Collate/t/loc_af.t b/cpan/Unicode-Collate/t/loc_af.t new file mode 100644 index 0000000000..c3c9af85f0 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_af.t @@ -0,0 +1,28 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 8; + +my $objAf = Unicode::Collate::Locale-> + new(locale => 'AF', normalization => undef); + +ok(1); +ok($objAf->getlocale, 'af'); + +$objAf->change(level => 1); + +ok($objAf->eq("n", "N")); +ok($objAf->eq("N", "\x{149}")); + +$objAf->change(level => 2); + +ok($objAf->eq("n", "N")); +ok($objAf->eq("N", "\x{149}")); + +$objAf->change(level => 3); + +ok($objAf->lt("n", "N")); +ok($objAf->lt("N", "\x{149}")); diff --git a/cpan/Unicode-Collate/t/loc_cy.t b/cpan/Unicode-Collate/t/loc_cy.t new file mode 100644 index 0000000000..bc4d9821f7 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_cy.t @@ -0,0 +1,105 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 74; + +my $objCy = Unicode::Collate::Locale-> + new(locale => 'CY', normalization => undef); + +ok(1); +ok($objCy->getlocale, 'cy'); + +$objCy->change(level => 1); + +ok($objCy->lt("c", "ch")); +ok($objCy->lt("cz","ch")); +ok($objCy->gt("d", "ch")); +ok($objCy->lt("d", "dd")); +ok($objCy->lt("dz","dd")); +ok($objCy->gt("e", "dd")); +ok($objCy->lt("f", "ff")); +ok($objCy->lt("fz","ff")); +ok($objCy->gt("g", "ff")); +ok($objCy->lt("g", "ng")); +ok($objCy->lt("gz","ng")); +ok($objCy->gt("h", "ng")); +ok($objCy->lt("l", "ll")); +ok($objCy->lt("lz","ll")); +ok($objCy->gt("m", "ll")); +ok($objCy->lt("p", "ph")); +ok($objCy->lt("pz","ph")); +ok($objCy->gt("q", "ph")); +ok($objCy->lt("r", "rh")); +ok($objCy->lt("rz","rh")); +ok($objCy->gt("s", "rh")); +ok($objCy->lt("t", "th")); +ok($objCy->lt("tz","th")); +ok($objCy->gt("u", "th")); + +# 26 + +$objCy->change(level => 2); + +ok($objCy->eq("ch", "Ch")); +ok($objCy->eq("CH", "Ch")); +ok($objCy->eq("dd", "Dd")); +ok($objCy->eq("DD", "Dd")); +ok($objCy->eq("ff", "Ff")); +ok($objCy->eq("FF", "Ff")); +ok($objCy->eq("ng", "Ng")); +ok($objCy->eq("NG", "Ng")); +ok($objCy->eq("ll", "Ll")); +ok($objCy->eq("LL", "Ll")); +ok($objCy->eq("ph", "Ph")); +ok($objCy->eq("PH", "Ph")); +ok($objCy->eq("rh", "Rh")); +ok($objCy->eq("RH", "Rh")); +ok($objCy->eq("th", "Th")); +ok($objCy->eq("TH", "Th")); + +# 42 + +$objCy->change(level => 3); + +ok($objCy->lt("ch", "Ch")); +ok($objCy->gt("CH", "Ch")); +ok($objCy->lt("dd", "Dd")); +ok($objCy->gt("DD", "Dd")); +ok($objCy->lt("ff", "Ff")); +ok($objCy->gt("FF", "Ff")); +ok($objCy->lt("ng", "Ng")); +ok($objCy->gt("NG", "Ng")); +ok($objCy->lt("ll", "Ll")); +ok($objCy->gt("LL", "Ll")); +ok($objCy->lt("ph", "Ph")); +ok($objCy->gt("PH", "Ph")); +ok($objCy->lt("rh", "Rh")); +ok($objCy->gt("RH", "Rh")); +ok($objCy->lt("th", "Th")); +ok($objCy->gt("TH", "Th")); + +# 58 + +$objCy->change(upper_before_lower => 1); + +ok($objCy->gt("ch", "Ch")); +ok($objCy->lt("CH", "Ch")); +ok($objCy->gt("dd", "Dd")); +ok($objCy->lt("DD", "Dd")); +ok($objCy->gt("ff", "Ff")); +ok($objCy->lt("FF", "Ff")); +ok($objCy->gt("ng", "Ng")); +ok($objCy->lt("NG", "Ng")); +ok($objCy->gt("ll", "Ll")); +ok($objCy->lt("LL", "Ll")); +ok($objCy->gt("ph", "Ph")); +ok($objCy->lt("PH", "Ph")); +ok($objCy->gt("rh", "Rh")); +ok($objCy->lt("RH", "Rh")); +ok($objCy->gt("th", "Th")); +ok($objCy->lt("TH", "Th")); + +# 74 diff --git a/cpan/Unicode-Collate/t/loc_da.t b/cpan/Unicode-Collate/t/loc_da.t new file mode 100644 index 0000000000..73ec92328d --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_da.t @@ -0,0 +1,157 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 99; + +my $eth = pack 'U', 0xF0; +my $ETH = pack 'U', 0xD0; +my $thrn = pack 'U', 0xFE; +my $THRN = pack 'U', 0xDE; +my $uuml = pack 'U', 0xFC; +my $Uuml = pack 'U', 0xDC; +my $ae = pack 'U', 0xE6; +my $AE = pack 'U', 0xC6; +my $auml = pack 'U', 0xE4; +my $Auml = pack 'U', 0xC4; +my $ostk = pack 'U', 0xF8; +my $Ostk = pack 'U', 0xD8; +my $ouml = pack 'U', 0xF6; +my $Ouml = pack 'U', 0xD6; +my $arng = pack 'U', 0xE5; +my $Arng = pack 'U', 0xC5; + +my $objDa = Unicode::Collate::Locale-> + new(locale => 'DA', normalization => undef); + +ok(1); +ok($objDa->getlocale, 'da'); + +$objDa->change(level => 1); + +ok($objDa->lt('z', $ae)); +ok($objDa->lt($ae, $ostk)); +ok($objDa->lt($ostk, $arng)); +ok($objDa->lt($arng, "\x{292}")); + +# 6 + +ok($objDa->eq('d', "\x{111}")); +ok($objDa->eq("\x{111}", $eth)); +ok($objDa->eq('y', $uuml)); +ok($objDa->eq($uuml, "\x{171}")); +ok($objDa->eq($ae, $auml)); +ok($objDa->eq($auml, "\x{119}")); +ok($objDa->eq($ostk, $ouml)); +ok($objDa->eq($ouml, "\x{151}")); +ok($objDa->eq("\x{151}", "\x{153}")); + +# 15 + +$objDa->change(level => 2); + +ok($objDa->lt('d', "\x{111}")); +ok($objDa->lt("\x{111}", $eth)); +ok($objDa->lt('y', $uuml)); +ok($objDa->lt($uuml, "\x{171}")); +ok($objDa->lt($ae, $auml)); +ok($objDa->lt($auml, "\x{119}")); +ok($objDa->lt($ostk, $ouml)); +ok($objDa->lt($ouml, "\x{151}")); +ok($objDa->lt("\x{151}", "\x{153}")); + +# 24 + +ok($objDa->eq("\x{111}", "\x{110}")); +ok($objDa->eq($eth, $ETH)); +ok($objDa->eq('th', $thrn)); +ok($objDa->eq($thrn, 'TH')); +ok($objDa->eq('TH', $THRN)); +ok($objDa->eq($uuml, $Uuml)); +ok($objDa->eq("\x{171}", "\x{170}")); +ok($objDa->eq($ae, $AE)); +ok($objDa->eq($AE, "\x{1D2D}")); +ok($objDa->eq($auml, $Auml)); +ok($objDa->eq("\x{119}", "\x{118}")); +ok($objDa->eq($ostk, $Ostk)); +ok($objDa->eq($ouml, $Ouml)); +ok($objDa->eq("\x{151}", "\x{150}")); +ok($objDa->eq("\x{153}", "\x{152}")); +ok($objDa->eq($arng, $Arng)); +ok($objDa->eq($Arng, 'AA')); +ok($objDa->eq('AA', 'aA')); +ok($objDa->eq('aA', 'Aa')); +ok($objDa->eq('Aa', $arng)); +ok($objDa->eq($arng, 'aa')); + +# 45 + +$objDa->change(level => 3); + +ok($objDa->gt("\x{111}", "\x{110}")); +ok($objDa->gt($eth, $ETH)); +ok($objDa->lt('th', $thrn)); +ok($objDa->gt($thrn, 'TH')); +ok($objDa->lt('TH', $THRN)); +ok($objDa->gt($uuml, $Uuml)); +ok($objDa->gt("\x{171}", "\x{170}")); +ok($objDa->gt($ae, $AE)); +ok($objDa->lt($AE, "\x{1D2D}")); +ok($objDa->gt($auml, $Auml)); +ok($objDa->gt("\x{119}", "\x{118}")); +ok($objDa->gt($ostk, $Ostk)); +ok($objDa->gt($ouml, $Ouml)); +ok($objDa->gt("\x{151}", "\x{150}")); +ok($objDa->gt("\x{153}", "\x{152}")); +ok($objDa->gt($arng, $Arng)); +ok($objDa->lt($Arng, 'AA')); +ok($objDa->lt('AA', 'aA')); +ok($objDa->lt('aA', 'Aa')); +ok($objDa->lt('Aa', $arng)); +ok($objDa->lt($arng, 'aa')); + +# 66 + +ok($objDa->eq("d\x{335}", "\x{111}")); +ok($objDa->eq("D\x{335}", "\x{110}")); +ok($objDa->eq("u\x{308}", $uuml)); +ok($objDa->eq("U\x{308}", $Uuml)); +ok($objDa->eq("u\x{30B}", "\x{171}")); +ok($objDa->eq("U\x{30B}", "\x{170}")); +ok($objDa->eq("\x{1FD}", "$ae\x{301}")); +ok($objDa->eq("\x{1FC}", "$AE\x{301}")); +ok($objDa->eq("\x{1E3}", "$ae\x{304}")); +ok($objDa->eq("\x{1E2}", "$AE\x{304}")); +ok($objDa->eq("a\x{308}", $auml)); +ok($objDa->eq("A\x{308}", $Auml)); +ok($objDa->eq("e\x{328}", "\x{119}")); +ok($objDa->eq("E\x{328}", "\x{118}")); + +# 80 + +ok($objDa->eq("o\x{338}", $ostk)); +ok($objDa->eq("O\x{338}", $Ostk)); +ok($objDa->eq("o\x{338}\x{301}", "\x{1FF}")); +ok($objDa->eq("O\x{338}\x{301}", "\x{1FE}")); +ok($objDa->eq("o\x{308}", $ouml)); +ok($objDa->eq("O\x{308}", $Ouml)); +ok($objDa->eq("o\x{30B}", "\x{151}")); +ok($objDa->eq("O\x{30B}", "\x{150}")); +ok($objDa->eq("a\x{30A}", $arng)); +ok($objDa->eq("A\x{30A}", $Arng)); +ok($objDa->eq("A\x{30A}", "\x{212B}")); +ok($objDa->eq("a\x{30A}\x{301}", "\x{1FB}")); +ok($objDa->eq("A\x{30A}\x{301}", "\x{1FA}")); + +# 93 + +ok($objDa->gt("a", "A")); +ok($objDa->gt("b", "B")); +ok($objDa->gt("c", "C")); +ok($objDa->gt("x", "X")); +ok($objDa->gt("y", "Y")); +ok($objDa->gt("z", "Z")); + +# 99 diff --git a/cpan/Unicode-Collate/t/loc_fo.t b/cpan/Unicode-Collate/t/loc_fo.t new file mode 100644 index 0000000000..04799a2f55 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_fo.t @@ -0,0 +1,148 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 93; + +my $eth = pack 'U', 0xF0; +my $ETH = pack 'U', 0xD0; +my $thrn = pack 'U', 0xFE; +my $THRN = pack 'U', 0xDE; +my $uuml = pack 'U', 0xFC; +my $Uuml = pack 'U', 0xDC; +my $ae = pack 'U', 0xE6; +my $AE = pack 'U', 0xC6; +my $auml = pack 'U', 0xE4; +my $Auml = pack 'U', 0xC4; +my $ostk = pack 'U', 0xF8; +my $Ostk = pack 'U', 0xD8; +my $ouml = pack 'U', 0xF6; +my $Ouml = pack 'U', 0xD6; +my $arng = pack 'U', 0xE5; +my $Arng = pack 'U', 0xC5; + +my $objFo = Unicode::Collate::Locale-> + new(locale => 'FO', normalization => undef); + +ok(1); +ok($objFo->getlocale, 'fo'); + +$objFo->change(level => 1); + +ok($objFo->lt('z', $ae)); +ok($objFo->lt($ae, $ostk)); +ok($objFo->lt($ostk, $arng)); +ok($objFo->lt($arng, "\x{292}")); + +# 6 + +ok($objFo->eq('d', "\x{111}")); +ok($objFo->eq("\x{111}", $eth)); +ok($objFo->eq('y', $uuml)); +ok($objFo->eq($uuml, "\x{171}")); +ok($objFo->eq($ae, $auml)); +ok($objFo->eq($auml, "\x{119}")); +ok($objFo->eq($ostk, $ouml)); +ok($objFo->eq($ouml, "\x{151}")); +ok($objFo->eq("\x{151}", "\x{153}")); + +# 15 + +$objFo->change(level => 2); + +ok($objFo->lt('d', "\x{111}")); +ok($objFo->lt("\x{111}", $eth)); +ok($objFo->lt('y', $uuml)); +ok($objFo->lt($uuml, "\x{171}")); +ok($objFo->lt($ae, $auml)); +ok($objFo->lt($auml, "\x{119}")); +ok($objFo->lt($ostk, $ouml)); +ok($objFo->lt($ouml, "\x{151}")); +ok($objFo->lt("\x{151}", "\x{153}")); + +# 24 + +ok($objFo->eq("\x{111}", "\x{110}")); +ok($objFo->eq($eth, $ETH)); +ok($objFo->eq('th', $thrn)); +ok($objFo->eq($thrn, 'TH')); +ok($objFo->eq('TH', $THRN)); +ok($objFo->eq($uuml, $Uuml)); +ok($objFo->eq("\x{171}", "\x{170}")); +ok($objFo->eq($ae, $AE)); +ok($objFo->eq($AE, "\x{1D2D}")); +ok($objFo->eq($auml, $Auml)); +ok($objFo->eq("\x{119}", "\x{118}")); +ok($objFo->eq($ostk, $Ostk)); +ok($objFo->eq($ouml, $Ouml)); +ok($objFo->eq("\x{151}", "\x{150}")); +ok($objFo->eq("\x{153}", "\x{152}")); +ok($objFo->eq($arng, $Arng)); +ok($objFo->eq($Arng, 'aa')); +ok($objFo->eq('aa', 'aA')); +ok($objFo->eq('aA', 'Aa')); +ok($objFo->eq('Aa', 'AA')); +ok($objFo->eq('aa', 'AA')); + +# 45 + +$objFo->change(level => 3); + +ok($objFo->lt("\x{111}", "\x{110}")); +ok($objFo->lt($eth, $ETH)); +ok($objFo->lt('th', $thrn)); +ok($objFo->lt($thrn, 'TH')); +ok($objFo->lt('TH', $THRN)); +ok($objFo->lt($uuml, $Uuml)); +ok($objFo->lt("\x{171}", "\x{170}")); +ok($objFo->lt($ae, $AE)); +ok($objFo->lt($AE, "\x{1D2D}")); +ok($objFo->lt($auml, $Auml)); +ok($objFo->lt("\x{119}", "\x{118}")); +ok($objFo->lt($ostk, $Ostk)); +ok($objFo->lt($ouml, $Ouml)); +ok($objFo->lt("\x{151}", "\x{150}")); +ok($objFo->lt("\x{153}", "\x{152}")); +ok($objFo->lt($arng, $Arng)); +ok($objFo->lt($Arng, 'aa')); +ok($objFo->lt('aa', 'aA')); +ok($objFo->lt('aA', 'Aa')); +ok($objFo->lt('Aa', 'AA')); +ok($objFo->lt('aa', 'AA')); + +# 66 + +ok($objFo->eq("d\x{335}", "\x{111}")); +ok($objFo->eq("D\x{335}", "\x{110}")); +ok($objFo->eq("u\x{308}", $uuml)); +ok($objFo->eq("U\x{308}", $Uuml)); +ok($objFo->eq("u\x{30B}", "\x{171}")); +ok($objFo->eq("U\x{30B}", "\x{170}")); +ok($objFo->eq("\x{1FD}", "$ae\x{301}")); +ok($objFo->eq("\x{1FC}", "$AE\x{301}")); +ok($objFo->eq("\x{1E3}", "$ae\x{304}")); +ok($objFo->eq("\x{1E2}", "$AE\x{304}")); +ok($objFo->eq("a\x{308}", $auml)); +ok($objFo->eq("A\x{308}", $Auml)); +ok($objFo->eq("e\x{328}", "\x{119}")); +ok($objFo->eq("E\x{328}", "\x{118}")); + +# 80 + +ok($objFo->eq("o\x{338}", $ostk)); +ok($objFo->eq("O\x{338}", $Ostk)); +ok($objFo->eq("o\x{338}\x{301}", "\x{1FF}")); +ok($objFo->eq("O\x{338}\x{301}", "\x{1FE}")); +ok($objFo->eq("o\x{308}", $ouml)); +ok($objFo->eq("O\x{308}", $Ouml)); +ok($objFo->eq("o\x{30B}", "\x{151}")); +ok($objFo->eq("O\x{30B}", "\x{150}")); +ok($objFo->eq("a\x{30A}", $arng)); +ok($objFo->eq("A\x{30A}", $Arng)); +ok($objFo->eq("A\x{30A}", "\x{212B}")); +ok($objFo->eq("a\x{30A}\x{301}", "\x{1FB}")); +ok($objFo->eq("A\x{30A}\x{301}", "\x{1FA}")); + +# 93 diff --git a/cpan/Unicode-Collate/t/loc_haw.t b/cpan/Unicode-Collate/t/loc_haw.t new file mode 100644 index 0000000000..ad0f1b1b43 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_haw.t @@ -0,0 +1,78 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 49; + +my $objHaw = Unicode::Collate::Locale-> + new(locale => 'HAW', normalization => undef); + +ok(1); +ok($objHaw->getlocale, 'haw'); + +$objHaw->change(level => 1); + +ok($objHaw->lt('a', 'e')); +ok($objHaw->lt('e', 'i')); +ok($objHaw->lt('i', 'o')); +ok($objHaw->lt('o', 'u')); +ok($objHaw->lt('u', 'h')); +ok($objHaw->lt('h', 'k')); +ok($objHaw->lt('k', 'l')); +ok($objHaw->lt('l', 'm')); +ok($objHaw->lt('m', 'n')); +ok($objHaw->lt('n', 'p')); +ok($objHaw->lt('p', 'w')); +ok($objHaw->lt('w', "\x{2BB}")); +ok($objHaw->gt('b', "\x{2BB}")); + +# 15 + +$objHaw->change(level => 2); + +ok($objHaw->eq('a', 'A')); +ok($objHaw->eq('e', 'E')); +ok($objHaw->eq('i', 'I')); +ok($objHaw->eq('o', 'O')); +ok($objHaw->eq('u', 'U')); +ok($objHaw->eq('h', 'H')); +ok($objHaw->eq('k', 'K')); +ok($objHaw->eq('l', 'L')); +ok($objHaw->eq('m', 'M')); +ok($objHaw->eq('n', 'N')); +ok($objHaw->eq('p', 'P')); +ok($objHaw->eq('w', 'W')); + +# 27 + +$objHaw->change(level => 3); + +ok($objHaw->lt('a', 'A')); +ok($objHaw->lt('e', 'E')); +ok($objHaw->lt('i', 'I')); +ok($objHaw->lt('o', 'O')); +ok($objHaw->lt('u', 'U')); +ok($objHaw->lt('h', 'H')); +ok($objHaw->lt('k', 'K')); +ok($objHaw->lt('l', 'L')); +ok($objHaw->lt('m', 'M')); +ok($objHaw->lt('n', 'N')); +ok($objHaw->lt('p', 'P')); +ok($objHaw->lt('w', 'W')); + +# 39 + +ok($objHaw->eq("a\x{304}", "\x{101}")); +ok($objHaw->eq("A\x{304}", "\x{100}")); +ok($objHaw->eq("e\x{304}", "\x{113}")); +ok($objHaw->eq("E\x{304}", "\x{112}")); +ok($objHaw->eq("i\x{304}", "\x{12B}")); +ok($objHaw->eq("I\x{304}", "\x{12A}")); +ok($objHaw->eq("o\x{304}", "\x{14D}")); +ok($objHaw->eq("O\x{304}", "\x{14C}")); +ok($objHaw->eq("u\x{304}", "\x{16B}")); +ok($objHaw->eq("U\x{304}", "\x{16A}")); + +# 49 diff --git a/cpan/Unicode-Collate/t/loc_is.t b/cpan/Unicode-Collate/t/loc_is.t new file mode 100644 index 0000000000..25a50a67c8 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_is.t @@ -0,0 +1,153 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 94; + +my $eth = pack 'U', 0xF0; +my $ETH = pack 'U', 0xD0; +my $thrn = pack 'U', 0xFE; +my $THRN = pack 'U', 0xDE; +my $ae = pack 'U', 0xE6; +my $AE = pack 'U', 0xC6; +my $auml = pack 'U', 0xE4; +my $Auml = pack 'U', 0xC4; +my $ouml = pack 'U', 0xF6; +my $Ouml = pack 'U', 0xD6; +my $ostk = pack 'U', 0xF8; +my $Ostk = pack 'U', 0xD8; +my $arng = pack 'U', 0xE5; +my $Arng = pack 'U', 0xC5; + +my $objIs = Unicode::Collate::Locale-> + new(locale => 'IS', normalization => undef); + +ok(1); +ok($objIs->getlocale, 'is'); + +$objIs->change(level => 1); + +ok($objIs->lt('a', "a\x{301}")); +ok($objIs->gt('b', "a\x{301}")); +ok($objIs->lt('d', $eth)); +ok($objIs->gt('e', $eth)); +ok($objIs->lt('e', "e\x{301}")); +ok($objIs->gt('f', "e\x{301}")); +ok($objIs->lt('i', "i\x{301}")); +ok($objIs->gt('j', "i\x{301}")); +ok($objIs->lt('o', "o\x{301}")); +ok($objIs->gt('p', "o\x{301}")); +ok($objIs->lt('u', "u\x{301}")); +ok($objIs->gt('v', "u\x{301}")); +ok($objIs->lt('y', "y\x{301}")); +ok($objIs->gt('z', "y\x{301}")); + +# 16 + +ok($objIs->lt('z', $thrn)); +ok($objIs->lt($thrn, $ae)); +ok($objIs->lt($ae, $ouml)); +ok($objIs->lt($ouml, $arng)); +ok($objIs->lt($arng, "\x{1C0}")); + +# 21 + +ok($objIs->eq('d', "d\x{335}")); +ok($objIs->eq($ae, $auml)); +ok($objIs->eq($ouml, $ostk)); + +$objIs->change(level => 2); + +ok($objIs->lt('d', "d\x{335}")); +ok($objIs->lt($ae, $auml)); +ok($objIs->lt($ouml, $ostk)); + +# 27 + +ok($objIs->eq("a\x{301}", "A\x{301}")); +ok($objIs->eq("d\x{335}", "D\x{335}")); +ok($objIs->eq($eth, $ETH)); +ok($objIs->eq("e\x{301}", "E\x{301}")); +ok($objIs->eq("i\x{301}", "I\x{301}")); +ok($objIs->eq("o\x{301}", "O\x{301}")); +ok($objIs->eq("u\x{301}", "U\x{301}")); +ok($objIs->eq("y\x{301}", "Y\x{301}")); +ok($objIs->eq($thrn, $THRN)); +ok($objIs->eq($ae, $AE)); +ok($objIs->eq($AE, "\x{1D2D}")); +ok($objIs->eq($auml, $Auml)); +ok($objIs->eq($ouml, $Ouml)); +ok($objIs->eq($ostk, $Ostk)); +ok($objIs->eq($arng, $Arng)); + +# 42 + +$objIs->change(level => 3); + +ok($objIs->lt("a\x{301}", "A\x{301}")); +ok($objIs->lt("d\x{335}", "D\x{335}")); +ok($objIs->lt($eth, $ETH)); +ok($objIs->lt("e\x{301}", "E\x{301}")); +ok($objIs->lt("i\x{301}", "I\x{301}")); +ok($objIs->lt("o\x{301}", "O\x{301}")); +ok($objIs->lt("u\x{301}", "U\x{301}")); +ok($objIs->lt("y\x{301}", "Y\x{301}")); +ok($objIs->lt($thrn, $THRN)); +ok($objIs->lt($ae, $AE)); +ok($objIs->lt($AE, "\x{1D2D}")); +ok($objIs->lt($auml, $Auml)); +ok($objIs->lt($ouml, $Ouml)); +ok($objIs->lt($ostk, $Ostk)); +ok($objIs->lt($arng, $Arng)); + +# 57 + +ok($objIs->eq("a\x{301}", pack('U', 0xE1))); +ok($objIs->eq("A\x{301}", pack('U', 0xC1))); +ok($objIs->eq("d\x{335}", "\x{111}")); +ok($objIs->eq("D\x{335}", "\x{110}")); +ok($objIs->eq("e\x{301}", pack('U', 0xE9))); +ok($objIs->eq("E\x{301}", pack('U', 0xC9))); +ok($objIs->eq("i\x{301}", pack('U', 0xED))); +ok($objIs->eq("I\x{301}", pack('U', 0xCD))); +ok($objIs->eq("o\x{301}", pack('U', 0xF3))); +ok($objIs->eq("O\x{301}", pack('U', 0xD3))); +ok($objIs->eq("u\x{301}", pack('U', 0xFA))); +ok($objIs->eq("U\x{301}", pack('U', 0xDA))); +ok($objIs->eq("y\x{301}", pack('U', 0xFD))); +ok($objIs->eq("Y\x{301}", pack('U', 0xDD))); + +# 71 + +ok($objIs->eq("\x{1FD}", "$ae\x{301}")); +ok($objIs->eq("\x{1FC}", "$AE\x{301}")); +ok($objIs->eq("\x{1E3}", "$ae\x{304}")); +ok($objIs->eq("\x{1E2}", "$AE\x{304}")); +ok($objIs->eq("a\x{308}", $auml)); +ok($objIs->eq("A\x{308}", $Auml)); +ok($objIs->eq("o\x{308}", $ouml)); +ok($objIs->eq("O\x{308}", $Ouml)); +ok($objIs->eq("o\x{338}", $ostk)); +ok($objIs->eq("O\x{338}", $Ostk)); +ok($objIs->eq("o\x{338}\x{301}", "\x{1FF}")); +ok($objIs->eq("O\x{338}\x{301}", "\x{1FE}")); +ok($objIs->eq("a\x{30A}", $arng)); +ok($objIs->eq("A\x{30A}", $Arng)); +ok($objIs->eq("A\x{30A}", "\x{212B}")); +ok($objIs->eq("a\x{30A}\x{301}", "\x{1FB}")); +ok($objIs->eq("A\x{30A}\x{301}", "\x{1FA}")); + +# 88 + +$objIs->change(upper_before_lower => 1); + +ok($objIs->gt($ae, $AE)); +ok($objIs->lt($AE, "\x{1D2D}")); +ok($objIs->gt($auml, $Auml)); +ok($objIs->gt($ouml, $Ouml)); +ok($objIs->gt($ostk, $Ostk)); +ok($objIs->gt($arng, $Arng)); + +# 94 diff --git a/cpan/Unicode-Collate/t/loc_kl.t b/cpan/Unicode-Collate/t/loc_kl.t new file mode 100644 index 0000000000..5b0a9a708a --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_kl.t @@ -0,0 +1,144 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 89; + +my $eth = pack 'U', 0xF0; +my $ETH = pack 'U', 0xD0; +my $thrn = pack 'U', 0xFE; +my $THRN = pack 'U', 0xDE; +my $uuml = pack 'U', 0xFC; +my $Uuml = pack 'U', 0xDC; +my $ae = pack 'U', 0xE6; +my $AE = pack 'U', 0xC6; +my $auml = pack 'U', 0xE4; +my $Auml = pack 'U', 0xC4; +my $ostk = pack 'U', 0xF8; +my $Ostk = pack 'U', 0xD8; +my $ouml = pack 'U', 0xF6; +my $Ouml = pack 'U', 0xD6; +my $arng = pack 'U', 0xE5; +my $Arng = pack 'U', 0xC5; + +my $objKl = Unicode::Collate::Locale-> + new(locale => 'KL', normalization => undef); + +ok(1); +ok($objKl->getlocale, 'kl'); + +$objKl->change(level => 1); + +ok($objKl->lt('z', $ae)); +ok($objKl->lt($ae, $ostk)); +ok($objKl->lt($ostk, $arng)); +ok($objKl->lt($arng, "\x{292}")); + +# 6 + +ok($objKl->eq('d', "\x{111}")); +ok($objKl->eq("\x{111}", $eth)); +ok($objKl->eq('q', "\x{138}")); +ok($objKl->eq('q', "K'")); +ok($objKl->eq('y', $uuml)); +ok($objKl->eq($uuml, "\x{171}")); +ok($objKl->eq($ae, $auml)); +ok($objKl->eq($auml, "\x{119}")); +ok($objKl->eq($ostk, $ouml)); +ok($objKl->eq($ouml, "\x{151}")); +ok($objKl->eq("\x{151}", "\x{153}")); + +# 17 + +$objKl->change(level => 2); + +ok($objKl->lt('d', "\x{111}")); +ok($objKl->lt("\x{111}", $eth)); +ok($objKl->lt('q', "\x{138}")); +ok($objKl->lt('q', "K'")); +ok($objKl->lt('y', $uuml)); +ok($objKl->lt($uuml, "\x{171}")); +ok($objKl->lt($ae, $auml)); +ok($objKl->lt($auml, "\x{119}")); +ok($objKl->lt($ostk, $ouml)); +ok($objKl->lt($ouml, "\x{151}")); +ok($objKl->lt("\x{151}", "\x{153}")); + +# 28 + +ok($objKl->eq("\x{111}", "\x{110}")); +ok($objKl->eq($eth, $ETH)); +ok($objKl->eq("\x{138}", "K'")); +ok($objKl->eq('th', $thrn)); +ok($objKl->eq($thrn, 'TH')); +ok($objKl->eq('TH', $THRN)); +ok($objKl->eq($uuml, $Uuml)); +ok($objKl->eq("\x{171}", "\x{170}")); +ok($objKl->eq($ae, $AE)); +ok($objKl->eq($AE, "\x{1D2D}")); +ok($objKl->eq($auml, $Auml)); +ok($objKl->eq("\x{119}", "\x{118}")); +ok($objKl->eq($ostk, $Ostk)); +ok($objKl->eq($ouml, $Ouml)); +ok($objKl->eq("\x{151}", "\x{150}")); +ok($objKl->eq("\x{153}", "\x{152}")); +ok($objKl->eq($arng, $Arng)); + +# 45 + +$objKl->change(level => 3); + +ok($objKl->lt("\x{111}", "\x{110}")); +ok($objKl->lt($eth, $ETH)); +ok($objKl->lt("\x{138}", "K'")); +ok($objKl->lt('th', $thrn)); +ok($objKl->lt($thrn, 'TH')); +ok($objKl->lt('TH', $THRN)); +ok($objKl->lt($uuml, $Uuml)); +ok($objKl->lt("\x{171}", "\x{170}")); +ok($objKl->lt($ae, $AE)); +ok($objKl->lt($AE, "\x{1D2D}")); +ok($objKl->lt($auml, $Auml)); +ok($objKl->lt("\x{119}", "\x{118}")); +ok($objKl->lt($ostk, $Ostk)); +ok($objKl->lt($ouml, $Ouml)); +ok($objKl->lt("\x{151}", "\x{150}")); +ok($objKl->lt("\x{153}", "\x{152}")); +ok($objKl->lt($arng, $Arng)); + +# 62 + +ok($objKl->eq("d\x{335}", "\x{111}")); +ok($objKl->eq("D\x{335}", "\x{110}")); +ok($objKl->eq("u\x{308}", $uuml)); +ok($objKl->eq("U\x{308}", $Uuml)); +ok($objKl->eq("u\x{30B}", "\x{171}")); +ok($objKl->eq("U\x{30B}", "\x{170}")); +ok($objKl->eq("\x{1FD}", "$ae\x{301}")); +ok($objKl->eq("\x{1FC}", "$AE\x{301}")); +ok($objKl->eq("\x{1E3}", "$ae\x{304}")); +ok($objKl->eq("\x{1E2}", "$AE\x{304}")); +ok($objKl->eq("a\x{308}", $auml)); +ok($objKl->eq("A\x{308}", $Auml)); +ok($objKl->eq("e\x{328}", "\x{119}")); +ok($objKl->eq("E\x{328}", "\x{118}")); + +# 76 + +ok($objKl->eq("o\x{338}", $ostk)); +ok($objKl->eq("O\x{338}", $Ostk)); +ok($objKl->eq("o\x{338}\x{301}", "\x{1FF}")); +ok($objKl->eq("O\x{338}\x{301}", "\x{1FE}")); +ok($objKl->eq("o\x{308}", $ouml)); +ok($objKl->eq("O\x{308}", $Ouml)); +ok($objKl->eq("o\x{30B}", "\x{151}")); +ok($objKl->eq("O\x{30B}", "\x{150}")); +ok($objKl->eq("a\x{30A}", $arng)); +ok($objKl->eq("A\x{30A}", $Arng)); +ok($objKl->eq("A\x{30A}", "\x{212B}")); +ok($objKl->eq("a\x{30A}\x{301}", "\x{1FB}")); +ok($objKl->eq("A\x{30A}\x{301}", "\x{1FA}")); + +# 89 diff --git a/cpan/Unicode-Collate/t/loc_nb.t b/cpan/Unicode-Collate/t/loc_nb.t index 4ad83526f4..80fc45ed0e 100644 --- a/cpan/Unicode-Collate/t/loc_nb.t +++ b/cpan/Unicode-Collate/t/loc_nb.t @@ -34,14 +34,14 @@ $objNb->change(level => 1); ok($objNb->lt("z", $ae)); ok($objNb->lt($ae, $ostk)); ok($objNb->lt($ostk, $arng)); -ok($objNb->lt($arng, "\x{0292}")); +ok($objNb->lt($arng, "\x{292}")); # 6 ok($objNb->eq('d', "\x{111}")); ok($objNb->eq("\x{111}", $eth)); ok($objNb->eq('y', $uuml)); -ok($objNb->eq($uuml, "\x{0171}")); +ok($objNb->eq($uuml, "\x{171}")); ok($objNb->eq($ae, $auml)); ok($objNb->eq($auml, "\x{119}")); @@ -56,7 +56,7 @@ $objNb->change(level => 2); ok($objNb->lt('d', "\x{111}")); ok($objNb->lt("\x{111}", $eth)); ok($objNb->lt('y', $uuml)); -ok($objNb->lt($uuml, "\x{0171}")); +ok($objNb->lt($uuml, "\x{171}")); ok($objNb->lt($ae, $auml)); ok($objNb->lt($auml, "\x{119}")); diff --git a/cpan/Unicode-Collate/t/loc_nn.t b/cpan/Unicode-Collate/t/loc_nn.t index 87e0862afc..a3092a1aef 100644 --- a/cpan/Unicode-Collate/t/loc_nn.t +++ b/cpan/Unicode-Collate/t/loc_nn.t @@ -34,14 +34,14 @@ $objNn->change(level => 1); ok($objNn->lt("z", $ae)); ok($objNn->lt($ae, $ostk)); ok($objNn->lt($ostk, $arng)); -ok($objNn->lt($arng, "\x{0292}")); +ok($objNn->lt($arng, "\x{292}")); # 6 ok($objNn->eq('d', "\x{111}")); ok($objNn->eq("\x{111}", $eth)); ok($objNn->eq('y', $uuml)); -ok($objNn->eq($uuml, "\x{0171}")); +ok($objNn->eq($uuml, "\x{171}")); ok($objNn->eq($ae, $auml)); ok($objNn->eq($auml, "\x{119}")); @@ -56,7 +56,7 @@ $objNn->change(level => 2); ok($objNn->lt('d', "\x{111}")); ok($objNn->lt("\x{111}", $eth)); ok($objNn->lt('y', $uuml)); -ok($objNn->lt($uuml, "\x{0171}")); +ok($objNn->lt($uuml, "\x{171}")); ok($objNn->lt($ae, $auml)); ok($objNn->lt($auml, "\x{119}")); diff --git a/cpan/Unicode-Collate/t/loc_sv.t b/cpan/Unicode-Collate/t/loc_sv.t index 7ffbe4f7d1..b695bc1b60 100644 --- a/cpan/Unicode-Collate/t/loc_sv.t +++ b/cpan/Unicode-Collate/t/loc_sv.t @@ -36,14 +36,14 @@ $objSv->change(level => 1); ok($objSv->lt('z', $arng)); ok($objSv->lt($arng, $auml)); ok($objSv->lt($auml, $ouml)); -ok($objSv->lt($ouml, "\x{0292}")); +ok($objSv->lt($ouml, "\x{292}")); # 6 ok($objSv->eq('d', "\x{111}")); ok($objSv->eq("\x{111}", $eth)); ok($objSv->eq('y', $uuml)); -ok($objSv->eq($uuml, "\x{0171}")); +ok($objSv->eq($uuml, "\x{171}")); ok($objSv->eq($auml, $ae)); ok($objSv->eq($ae, "\x{119}")); @@ -59,7 +59,7 @@ $objSv->change(level => 2); ok($objSv->lt('d', "\x{111}")); ok($objSv->lt("\x{111}", $eth)); ok($objSv->lt('y', $uuml)); -ok($objSv->lt($uuml, "\x{0171}")); +ok($objSv->lt($uuml, "\x{171}")); ok($objSv->lt($auml, $ae)); ok($objSv->lt($ae, "\x{119}")); diff --git a/cpan/Unicode-Collate/t/loc_sw.t b/cpan/Unicode-Collate/t/loc_sw.t new file mode 100644 index 0000000000..e019e1f51f --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_sw.t @@ -0,0 +1,103 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 72; + +my $objSw = Unicode::Collate::Locale-> + new(locale => 'SW', normalization => undef); + +ok(1); +ok($objSw->getlocale, 'sw'); + +$objSw->change(level => 1); + +ok($objSw->lt("b", "ch")); +ok($objSw->lt("bz","ch")); +ok($objSw->gt("c", "ch")); +ok($objSw->lt("d", "dh")); +ok($objSw->lt("dz","dh")); +ok($objSw->gt("e", "dh")); +ok($objSw->lt("g", "gh")); +ok($objSw->lt("gz","gh")); +ok($objSw->gt("h", "gh")); +ok($objSw->lt("k", "kh")); +ok($objSw->lt("kz","kh")); +ok($objSw->gt("l", "kh")); +ok($objSw->lt("n", "ng'")); +ok($objSw->lt("nz","ng'")); +ok($objSw->lt("ng'","ny")); +ok($objSw->gt("o", "ny")); +ok($objSw->lt("s", "sh")); +ok($objSw->lt("sz","sh")); +ok($objSw->gt("t", "sh")); +ok($objSw->lt("t", "th")); +ok($objSw->lt("tz","th")); +ok($objSw->gt("u", "th")); + +# 24 + +$objSw->change(level => 2); + +ok($objSw->eq("ch", "Ch")); +ok($objSw->eq("CH", "Ch")); +ok($objSw->eq("dh", "Dh")); +ok($objSw->eq("DH", "Dh")); +ok($objSw->eq("gh", "Gh")); +ok($objSw->eq("GH", "Gh")); +ok($objSw->eq("kh", "Kh")); +ok($objSw->eq("KH", "Kh")); +ok($objSw->eq("ng'","Ng'")); +ok($objSw->eq("NG'","Ng'")); +ok($objSw->eq("ny", "Ny")); +ok($objSw->eq("NY", "Ny")); +ok($objSw->eq("sh", "Sh")); +ok($objSw->eq("SH", "Sh")); +ok($objSw->eq("th", "Th")); +ok($objSw->eq("TH", "Th")); + +# 40 + +$objSw->change(level => 3); + +ok($objSw->lt("ch", "Ch")); +ok($objSw->gt("CH", "Ch")); +ok($objSw->lt("dh", "Dh")); +ok($objSw->gt("DH", "Dh")); +ok($objSw->lt("gh", "Gh")); +ok($objSw->gt("GH", "Gh")); +ok($objSw->lt("kh", "Kh")); +ok($objSw->gt("KH", "Kh")); +ok($objSw->lt("ng'","Ng'")); +ok($objSw->gt("NG'","Ng'")); +ok($objSw->lt("ny", "Ny")); +ok($objSw->gt("NY", "Ny")); +ok($objSw->lt("sh", "Sh")); +ok($objSw->gt("SH", "Sh")); +ok($objSw->lt("th", "Th")); +ok($objSw->gt("TH", "Th")); + +# 56 + +$objSw->change(upper_before_lower => 1); + +ok($objSw->gt("ch", "Ch")); +ok($objSw->lt("CH", "Ch")); +ok($objSw->gt("dh", "Dh")); +ok($objSw->lt("DH", "Dh")); +ok($objSw->gt("gh", "Gh")); +ok($objSw->lt("GH", "Gh")); +ok($objSw->gt("kh", "Kh")); +ok($objSw->lt("KH", "Kh")); +ok($objSw->gt("ng'","Ng'")); +ok($objSw->lt("NG'","Ng'")); +ok($objSw->gt("ny", "Ny")); +ok($objSw->lt("NY", "Ny")); +ok($objSw->gt("sh", "Sh")); +ok($objSw->lt("SH", "Sh")); +ok($objSw->gt("th", "Th")); +ok($objSw->lt("TH", "Th")); + +# 72 |