Update Unicode-Collate to CPAN version 0.59
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sun, 5 Sep 2010 16:53:23 +0000 (17:53 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sun, 5 Sep 2010 16:54:13 +0000 (17:54 +0100)
  [DELTA]

  0.59  Sun Sep  5 17:03:52 2010
    - U::C::Locale newly supports locales: az, fil, ha, lt, mt, tr, wo, yo.
    - precomposites of a-uml, o-uml, and u-uml are tailored as well.
        (affected locales: da, et, fi, fo, is, kl, nb, nn, sk, sv)

41 files changed:
MANIFEST
Porting/Maintainers.pl
cpan/Unicode-Collate/Changes
cpan/Unicode-Collate/Collate.pm
cpan/Unicode-Collate/Collate/Locale.pm
cpan/Unicode-Collate/Collate/Locale/az.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/da.pl
cpan/Unicode-Collate/Collate/Locale/et.pl
cpan/Unicode-Collate/Collate/Locale/fi.pl
cpan/Unicode-Collate/Collate/Locale/fil.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/fo.pl
cpan/Unicode-Collate/Collate/Locale/ha.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/is.pl
cpan/Unicode-Collate/Collate/Locale/kl.pl
cpan/Unicode-Collate/Collate/Locale/lt.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/mt.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/nn.pl
cpan/Unicode-Collate/Collate/Locale/sk.pl
cpan/Unicode-Collate/Collate/Locale/sv.pl
cpan/Unicode-Collate/Collate/Locale/tr.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/wo.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/yo.pl [new file with mode: 0644]
cpan/Unicode-Collate/README
cpan/Unicode-Collate/t/loc_az.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_da.t
cpan/Unicode-Collate/t/loc_et.t
cpan/Unicode-Collate/t/loc_fi.t
cpan/Unicode-Collate/t/loc_fil.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_fo.t
cpan/Unicode-Collate/t/loc_ha.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_is.t
cpan/Unicode-Collate/t/loc_kl.t
cpan/Unicode-Collate/t/loc_lt.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_mt.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_nb.t
cpan/Unicode-Collate/t/loc_nn.t
cpan/Unicode-Collate/t/loc_sk.t
cpan/Unicode-Collate/t/loc_sv.t
cpan/Unicode-Collate/t/loc_tr.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_wo.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_yo.t [new file with mode: 0644]

index 86439a7..39e6cd9 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2387,6 +2387,7 @@ cpan/Unicode-Collate/Changes                      Unicode::Collate
 cpan/Unicode-Collate/Collate/allkeys.txt       Unicode::Collate
 cpan/Unicode-Collate/Collate/keys.txt          Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/af.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/az.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ca.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cs.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cy.pl                      Unicode::Collate
@@ -2395,13 +2396,17 @@ cpan/Unicode-Collate/Collate/Locale/eo.pl                       Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es_trad.pl                 Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/et.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fil.pl                     Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fi.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fo.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fr.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ha.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/haw.pl                     Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/is.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/kl.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/lt.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/lv.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/mt.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/nn.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/pl.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale.pm                 Unicode::Collate
@@ -2410,6 +2415,9 @@ cpan/Unicode-Collate/Collate/Locale/sk.pl                 Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sl.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sv.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sw.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/tr.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/wo.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/yo.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate.pm                        Unicode::Collate
 cpan/Unicode-Collate/README                    Unicode::Collate
 cpan/Unicode-Collate/t/altern.t                        Unicode::Collate
@@ -2423,6 +2431,7 @@ cpan/Unicode-Collate/t/illegalp.t         Unicode::Collate
 cpan/Unicode-Collate/t/illegal.t               Unicode::Collate
 cpan/Unicode-Collate/t/index.t                 Unicode::Collate
 cpan/Unicode-Collate/t/loc_af.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_az.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_ca.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_cs.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_cy.t                        Unicode::Collate
@@ -2431,13 +2440,17 @@ cpan/Unicode-Collate/t/loc_eo.t                 Unicode::Collate
 cpan/Unicode-Collate/t/loc_es.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_estr.t                      Unicode::Collate
 cpan/Unicode-Collate/t/loc_et.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_fil.t                       Unicode::Collate
 cpan/Unicode-Collate/t/loc_fi.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_fo.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_fr.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_ha.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_haw.t                       Unicode::Collate
 cpan/Unicode-Collate/t/loc_is.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_kl.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_lt.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_lv.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_mt.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_nb.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_nn.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_pl.t                        Unicode::Collate
@@ -2447,6 +2460,9 @@ cpan/Unicode-Collate/t/loc_sl.t                   Unicode::Collate
 cpan/Unicode-Collate/t/loc_sv.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_sw.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_test.t                      Unicode::Collate
+cpan/Unicode-Collate/t/loc_tr.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_wo.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_yo.t                        Unicode::Collate
 cpan/Unicode-Collate/t/normal.t                        Unicode::Collate
 cpan/Unicode-Collate/t/override.t              Unicode::Collate
 cpan/Unicode-Collate/t/rearrang.t              Unicode::Collate
index 13efb28..5788ea7 100755 (executable)
@@ -1505,7 +1505,7 @@ use File::Glob qw(:case);
     'Unicode::Collate' =>
        {
        'MAINTAINER'    => 'sadahiro',
-       'DISTRIBUTION'  => 'SADAHIRO/Unicode-Collate-0.58-withoutworldwriteables.tar.gz',
+       'DISTRIBUTION'  => 'SADAHIRO/Unicode-Collate-0.59-withoutworldwriteables.tar.gz',
        'FILES'         => q[cpan/Unicode-Collate],
                            # ignore experimental XS version
        'EXCLUDED'      => [ qr{X$},
index e044d43..646b93b 100644 (file)
@@ -1,5 +1,10 @@
 Revision history for Perl module Unicode::Collate.
 
+0.59  Sun Sep  5 17:03:52 2010
+    - U::C::Locale newly supports locales: az, fil, ha, lt, mt, tr, wo, yo.
+    - precomposites of a-uml, o-uml, and u-uml are tailored as well.
+        (affected locales: da, et, fi, fo, is, kl, nb, nn, sk, sv)
+
 0.58  Sun Aug 29 19:56:50 2010
     - U::C::Locale newly supports locales: af, cy, da, fo, haw, is, kl, sw.
 
index 1467c33..0836453 100644 (file)
@@ -14,7 +14,7 @@ use File::Spec;
 
 no warnings 'utf8';
 
-our $VERSION = '0.58';
+our $VERSION = '0.59';
 our $PACKAGE = __PACKAGE__;
 
 my @Path = qw(Unicode Collate);
index 4aeef1f..4803df9 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use Carp;
 use base qw(Unicode::Collate);
 
-our $VERSION = '0.58';
+our $VERSION = '0.59';
 
 use File::Spec;
 
@@ -13,7 +13,8 @@ my $KeyPath = File::Spec->catfile('allkeys.txt');
 my $PL_EXT  = '.pl';
 
 my %LocaleFile = map { ($_, $_) } qw(
-   af ca cs cy da eo es et fi fo fr haw is kl lv nn pl ro sk sl sv sw
+   af az ca cs cy da eo es et fi fil fo fr ha haw
+   is kl lt lv mt nn pl ro sk sl sv sw tr wo yo
 );
    $LocaleFile{'default'}         = '';
    $LocaleFile{'es__traditional'} = 'es_trad';
@@ -39,7 +40,7 @@ sub getlocale {
     return shift->{accepted_locale};
 }
 
-sub _fetch_locale {
+sub _fetchpl {
     my $accepted = shift;
     my $f = $LocaleFile{$accepted};
     return if !$f;
@@ -60,7 +61,7 @@ sub new {
     }
     $hash{table} = $KeyPath;
 
-    my $href = _fetch_locale($hash{accepted_locale});
+    my $href = _fetchpl($hash{accepted_locale});
     while (my($k,$v) = each %$href) {
        if (exists $hash{$k}) {
            croak "$k is reserved by $hash{locale}, can't be overwritten";
@@ -153,6 +154,7 @@ this method returns a string C<'default'> meaning no special tailoring.
       locale name       description
     ----------------------------------------------------------
       af                Afrikaans
+      az                Azerbaijani (Azeri)
       ca                Catalan
       cs                Czech
       cy                Welsh
@@ -162,12 +164,16 @@ this method returns a string C<'default'> meaning no special tailoring.
       es__traditional   Spanish ('ch' and 'll' as a grapheme)
       et                Estonian
       fi                Finnish
+      fil               Filipino
       fo                Faroese
       fr                French
+      ha                Hausa
       haw               Hawaiian
       is                Icelandic
       kl                Kalaallisut
+      lt                Lithuanian
       lv                Latvian
+      mt                Maltese
       nb                Norwegian Bokmal
       nn                Norwegian Nynorsk
       pl                Polish
@@ -176,6 +182,16 @@ this method returns a string C<'default'> meaning no special tailoring.
       sl                Slovenian
       sv                Swedish
       sw                Swahili
+      tr                Turkish
+      wo                Wolof
+      yo                Yoruba
+
+=head1 INSTALL
+
+Installation of Unicode::Collate::Locale requires F<Collate/Locale.pm>,
+F<Collate/Locale/*.pm> and F<Collate/allkeys.txt>.  On building,
+Unicode::Collate::Locale doesn't require F<data/*.txt> and F<mklocale>.
+Tests for Unicode::Collate::Locale are named F<t/loc_*.t>.
 
 =head1 AUTHOR
 
diff --git a/cpan/Unicode-Collate/Collate/Locale/az.pl b/cpan/Unicode-Collate/Collate/Locale/az.pl
new file mode 100644 (file)
index 0000000..b9ed54b
--- /dev/null
@@ -0,0 +1,50 @@
++{
+# schwa doesn't require tailoring
+   entry => <<'ENTRY', # for DUCET v5.2.0
+00E7      ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.12EB.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.12EB.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC      ; [.12EB.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.12EB.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.12EB.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.12EB.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.12EB.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.12EB.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.12EB.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.138F.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.138F.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1454.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1454.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1454.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1454.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1454.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1454.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1454.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1454.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071      ; [.131F.0020.0002.0071] # LATIN SMALL LETTER Q
+0051      ; [.131F.0020.0008.0051] # LATIN CAPITAL LETTER Q
+0078      ; [.12D4.0020.0002.0078] # LATIN SMALL LETTER X
+0058      ; [.12D4.0020.0008.0058] # LATIN CAPITAL LETTER X
+ENTRY
+};
index e680df1..6b707f1 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 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
@@ -28,6 +36,8 @@
 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
+01DF      ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 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
@@ -42,6 +52,8 @@
 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
+022B      ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 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
index 15a2419..0ee593f 100644 (file)
 0061 0308 ; [.1494.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
 00C4      ; [.1494.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
 0041 0308 ; [.1494.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1494.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1494.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 00F6      ; [.1495.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
 006F 0308 ; [.1495.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
 00D6      ; [.1495.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
 004F 0308 ; [.1495.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1495.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1495.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 00FC      ; [.1496.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
 0075 0308 ; [.1496.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
 00DC      ; [.1496.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
 0055 0308 ; [.1496.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1496.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1496.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1496.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1496.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1496.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1496.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1496.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1496.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };
index 96e3491..7d0faf6 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 0292      ; [.14AD.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
 01B7      ; [.14AD.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
 01EF      ; [.14AD.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
@@ -30,6 +38,8 @@
 0061 0308 ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
 00C4      ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
 0041 0308 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.14AF.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AF.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 00E6      ; [.14AF.0021.0002.00E6] # LATIN SMALL LETTER AE
 00C6      ; [.14AF.0021.0008.00C6] # LATIN CAPITAL LETTER AE
 1D2D      ; [.14AF.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
@@ -41,6 +51,8 @@
 006F 0308 ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
 00D6      ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
 004F 0308 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.14B0.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14B0.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 00F8      ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 006F 0338 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 00D8      ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fil.pl b/cpan/Unicode-Collate/Collate/Locale/fil.pl
new file mode 100644 (file)
index 0000000..bb6f7a3
--- /dev/null
@@ -0,0 +1,11 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+00F1      ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.136F.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.136F.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.136F.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+ENTRY
+};
index 48066f2..b759203 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 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
@@ -27,6 +35,8 @@
 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
+01DF      ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 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
@@ -41,6 +51,8 @@
 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
+022B      ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 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
diff --git a/cpan/Unicode-Collate/Collate/Locale/ha.pl b/cpan/Unicode-Collate/Collate/Locale/ha.pl
new file mode 100644 (file)
index 0000000..d531c11
--- /dev/null
@@ -0,0 +1,13 @@
++{
+# b-hook, d-hook, k-hook, y-hook don't require tailoring
+   entry => <<'ENTRY', # for DUCET v5.2.0
+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 0073 ; [.1434.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1434.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1434.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+0027 0079 ; [.14A8.0020.0002.01B4] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.14A8.0020.0008.01B3] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+ENTRY
+};
index ec48689..b6c93a9 100644 (file)
 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
+01DF      ; [.1522.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1522.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 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
+022B      ; [.1523.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1523.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 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
index 5c525b8..a69c101 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 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
@@ -29,6 +37,8 @@
 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
+01DF      ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 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
@@ -43,6 +53,8 @@
 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
+022B      ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 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
diff --git a/cpan/Unicode-Collate/Collate/Locale/lt.pl b/cpan/Unicode-Collate/Collate/Locale/lt.pl
new file mode 100644 (file)
index 0000000..b1dbc08
--- /dev/null
@@ -0,0 +1,22 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+0307      ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE
+010D      ; [.124F.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.124F.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.124F.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.124F.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0079      ; [.12EC.0021.0002.0079] # LATIN SMALL LETTER Y
+0059      ; [.12EC.0021.0008.0059] # LATIN CAPITAL LETTER Y
+0161      ; [.1432.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1432.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1432.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1432.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.14C9.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.14C9.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.14C9.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.14C9.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0117      ; [.126B.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116      ; [.126B.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0130      ; [.12EC.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/mt.pl b/cpan/Unicode-Collate/Collate/Locale/mt.pl
new file mode 100644 (file)
index 0000000..08aa5ae
--- /dev/null
@@ -0,0 +1,29 @@
++{
+   upper_before_lower => 1,
+   entry => <<'ENTRY', # for DUCET v5.2.0
+010B      ; [.124F.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.124F.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A      ; [.124F.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.124F.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121      ; [.12AF.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.12AF.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120      ; [.12AF.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.12AF.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.12D2.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.12D2.0020.0007.0067][0.0.2.0] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.12D2.0020.0007.0047][0.0.8.0] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.12D2.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.12D2.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.12D2.0020.0007.0067][0.0.2.0] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.12D2.0020.0007.0047][0.0.8.0] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.12D2.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127      ; [.12EB.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.12EB.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0126      ; [.12EB.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.12EB.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+017C      ; [.14AC.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.14AC.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.14AC.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.14AC.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
index 1c836f1..6f6a286 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 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
@@ -27,6 +35,8 @@
 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
+01DF      ; [.14AE.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AE.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 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
@@ -41,6 +51,8 @@
 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
+022B      ; [.14AF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14AF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 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
index f248d1b..dc42f44 100644 (file)
@@ -4,6 +4,8 @@
 0061 0308 ; [.1210.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
 00C4      ; [.1210.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
 0041 0308 ; [.1210.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1210.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1210.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 010D      ; [.123E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
 0063 030C ; [.123E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
 010C      ; [.123E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
index e8324d1..a039152 100644 (file)
 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
+01DC      ; [.149C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.149C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.149C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.149C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.149C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.149C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.149C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.149C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 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
@@ -29,6 +37,8 @@
 0061 0308 ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
 00C4      ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
 0041 0308 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.14AF.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.14AF.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
 00E6      ; [.14AF.0021.0002.00E6] # LATIN SMALL LETTER AE
 00C6      ; [.14AF.0021.0008.00C6] # LATIN CAPITAL LETTER AE
 1D2D      ; [.14AF.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
@@ -44,6 +54,8 @@
 006F 0308 ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
 00D6      ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
 004F 0308 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.14B0.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.14B0.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 00F8      ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 006F 0338 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 00D8      ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/tr.pl b/cpan/Unicode-Collate/Collate/Locale/tr.pl
new file mode 100644 (file)
index 0000000..250a0ef
--- /dev/null
@@ -0,0 +1,45 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+00E7      ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.123E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.123E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.12B1.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.12B1.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.12EB.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.12EB.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC      ; [.12EB.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.12EB.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.12EB.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.12EB.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.12EB.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.12EB.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.12EB.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.12EC.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.138F.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.138F.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.138F.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.138F.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1454.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1454.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1454.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1454.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1454.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1454.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1454.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1454.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1454.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1454.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/wo.pl b/cpan/Unicode-Collate/Collate/Locale/wo.pl
new file mode 100644 (file)
index 0000000..941260c
--- /dev/null
@@ -0,0 +1,25 @@
++{
+# eng doesn't require tailoring
+   entry => <<'ENTRY', # for DUCET v5.2.0
+00E0      ; [.1210.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1210.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1210.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1210.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9      ; [.126C.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.126C.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.126C.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.126C.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB      ; [.126D.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.126D.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB      ; [.126D.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.126D.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1      ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.136E.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.136E.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+00F3      ; [.138F.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.138F.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.138F.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.138F.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/yo.pl b/cpan/Unicode-Collate/Collate/Locale/yo.pl
new file mode 100644 (file)
index 0000000..884d83f
--- /dev/null
@@ -0,0 +1,19 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+1EB9      ; [.126C.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.126C.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8      ; [.126C.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.126C.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0067 0062 ; [.12B1.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.12B1.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.12B1.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD      ; [.138F.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.138F.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.138F.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.138F.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1E63      ; [.1411.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.1411.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62      ; [.1411.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.1411.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+ENTRY
+};
index f3d2235..ac1fc77 100644 (file)
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.58
+Unicode/Collate version 0.59
 ===============================
 
 NAME
@@ -22,33 +22,17 @@ SYNOPSIS
 
 INSTALL
 
-Perl 5.6.1 or later is required.
-Perl 5.8.1 or later is recommended.
+  Perl 5.6.1 or later is required.
+  Perl 5.8.1 or later is recommended.
 
-Though this module can be used without any C<table> file,
-to use this module easily, it is recommended to install a table file
-in the UCA format, by copying it under the directory
-<a place in @INC>/Unicode/Collate.
+  Though this distribution contains a subset of an old DUCET, named
+  "keys.txt", this one is intended only for doing a test of this module
+  and practically useless for any other purpose.
 
-You can install such a table file by adding it
-to "Collate" directory (where "keys.txt" is placed) in this distribution
-before executing Makefile.PL.
-
-The most preferable one is "The Default Unicode Collation Element Table"
-(aka DUCET), available from the Unicode Consortium's website:
-
-   http://www.unicode.org/Public/UCA/
-
-   http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version)
-
-If DUCET is not installed, it is recommended to copy the file
-from http://www.unicode.org/Public/UCA/latest/allkeys.txt
-to <a place in @INC>/Unicode/Collate/allkeys.txt
-manually.
-
-Though this distribution contains a subset of allkeys.txt, named "keys.txt",
-this one is intended only for doing a test of this module
-and practically useless for any other purpose.
+  Installation of Unicode::Collate::Locale requires Collate/Locale.pm,
+  Collate/Locale/*.pm and Collate/allkeys.txt.  On building,
+  Unicode::Collate::Locale doesn't require data/*.txt and mklocale.
+  Tests for Unicode::Collate::Locale are named t/loc_*.t.
 
 To install this module type the following:
 
@@ -57,7 +41,6 @@ To install this module type the following:
    make test
    make install
 
-(!! XSUB for Unicode::Collate is an EXPERIMENTAL support !!)
 If you have a C compiler and want to use XSUB edition,
 type the following (!! "enableXS" must run before "Makefile.PL" !!):
 
@@ -82,6 +65,28 @@ DEPENDENCIES
   The conformant collation requires Unicode::Normalize (v 0.10 or later)
   although Unicode::Collate can be used without Unicode::Normalize.
 
+ABOUT DUCET
+
+  Though this module can be used without any C<table> file,
+  to use this module easily, it is recommended to install a table file
+  in the UCA format, by copying it under the directory
+  <a place in @INC>/Unicode/Collate.
+
+  You can install such a table file by adding it to "Collate" directory
+  (where "keys.txt" is placed) in this distribution before executing
+  Makefile.PL.
+
+  The most preferable one is "The Default Unicode Collation Element Table"
+  (aka DUCET), available from the Unicode Consortium's website:
+
+   http://www.unicode.org/Public/UCA/
+
+   http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version)
+
+  If DUCET is not installed, it is recommended to copy the file
+  from http://www.unicode.org/Public/UCA/latest/allkeys.txt
+  to <a place in @INC>/Unicode/Collate/allkeys.txt manually.
+
 AUTHOR, COPYRIGHT AND LICENSE
 
 The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
diff --git a/cpan/Unicode-Collate/t/loc_az.t b/cpan/Unicode-Collate/t/loc_az.t
new file mode 100644 (file)
index 0000000..b8474e5
--- /dev/null
@@ -0,0 +1,107 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 72;
+
+my $objAz = Unicode::Collate::Locale->
+    new(locale => 'AZ', normalization => undef);
+
+ok(1);
+ok($objAz->getlocale, 'az');
+
+$objAz->change(level => 1);
+
+ok($objAz->lt("c", "c\x{327}"));
+ok($objAz->gt("d", "c\x{327}"));
+ok($objAz->lt("g", "g\x{306}"));
+ok($objAz->gt("h", "g\x{306}"));
+ok($objAz->lt("h", "I"));
+ok($objAz->lt("I", "i"));
+ok($objAz->gt("j", "i"));
+ok($objAz->lt("o", "o\x{308}"));
+ok($objAz->gt("p", "o\x{308}"));
+ok($objAz->lt("s", "s\x{327}"));
+ok($objAz->gt("t", "s\x{327}"));
+ok($objAz->lt("u", "u\x{308}"));
+ok($objAz->gt("v", "u\x{308}"));
+
+# 15
+
+ok($objAz->lt("k", "q"));
+ok($objAz->lt("kz","q"));
+ok($objAz->gt("l", "q"));
+ok($objAz->lt("e", "\x{259}"));
+ok($objAz->gt("f", "\x{259}"));
+ok($objAz->lt("h", "x"));
+ok($objAz->lt("hz","x"));
+ok($objAz->gt("I","x"));
+ok($objAz->gt("i","x"));
+
+# 24
+
+$objAz->change(level => 2);
+
+ok($objAz->eq("c\x{327}", "C\x{327}"));
+ok($objAz->eq("g\x{306}", "G\x{306}"));
+ok($objAz->eq("\x{131}", "I"));
+ok($objAz->eq("\x{130}", "i"));
+ok($objAz->eq("o\x{308}", "O\x{308}"));
+ok($objAz->eq("s\x{327}", "S\x{327}"));
+ok($objAz->eq("u\x{308}", "U\x{308}"));
+ok($objAz->eq("q", "Q"));
+ok($objAz->eq("\x{259}", "\x{18F}"));
+ok($objAz->eq("x", "X"));
+
+# 34
+
+$objAz->change(level => 3);
+
+ok($objAz->lt("c\x{327}", "C\x{327}"));
+ok($objAz->lt("g\x{306}", "G\x{306}"));
+ok($objAz->lt("\x{131}", "I"));
+ok($objAz->gt("\x{130}", "i"));
+ok($objAz->lt("o\x{308}", "O\x{308}"));
+ok($objAz->lt("s\x{327}", "S\x{327}"));
+ok($objAz->lt("u\x{308}", "U\x{308}"));
+ok($objAz->lt("k", "K"));
+ok($objAz->lt("\x{259}", "\x{18F}"));
+ok($objAz->lt("x", "X"));
+
+# 44
+
+ok($objAz->eq("c\x{327}", pack('U', 0xE7)));
+ok($objAz->eq("C\x{327}", pack('U', 0xC7)));
+ok($objAz->eq("g\x{306}", "\x{11F}"));
+ok($objAz->eq("G\x{306}", "\x{11E}"));
+ok($objAz->eq("I\x{300}", pack('U', 0xCC)));
+ok($objAz->eq("I\x{301}", pack('U', 0xCD)));
+ok($objAz->eq("I\x{302}", pack('U', 0xCE)));
+ok($objAz->eq("I\x{308}", pack('U', 0xCF)));
+ok($objAz->eq("I\x{304}", "\x{12A}"));
+ok($objAz->eq("I\x{306}", "\x{12C}"));
+ok($objAz->eq("I\x{328}", "\x{12E}"));
+ok($objAz->eq("I\x{307}", "\x{130}"));
+
+# 56
+
+ok($objAz->eq("o\x{308}", pack('U', 0xF6)));
+ok($objAz->eq("O\x{308}", pack('U', 0xD6)));
+ok($objAz->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objAz->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objAz->eq("s\x{327}", "\x{15F}"));
+ok($objAz->eq("S\x{327}", "\x{15E}"));
+ok($objAz->eq("u\x{308}", pack('U', 0xFC)));
+ok($objAz->eq("U\x{308}", pack('U', 0xDC)));
+ok($objAz->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objAz->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objAz->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objAz->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objAz->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objAz->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objAz->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objAz->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 72
index 73ec923..09af185 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 99;
+plan tests => 111;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -118,25 +118,37 @@ 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{308}\x{300}", "\x{1DC}"));
+ok($objDa->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objDa->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objDa->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objDa->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objDa->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objDa->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objDa->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objDa->eq("u\x{30B}", "\x{171}"));
 ok($objDa->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
 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("a\x{308}\x{304}", "\x{1DF}"));
+ok($objDa->eq("A\x{308}\x{304}", "\x{1DE}"));
 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{308}\x{304}", "\x{22B}"));
+ok($objDa->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objDa->eq("o\x{30B}", "\x{151}"));
 ok($objDa->eq("O\x{30B}", "\x{150}"));
 ok($objDa->eq("a\x{30A}", $arng));
@@ -145,7 +157,7 @@ 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
+# 105
 
 ok($objDa->gt("a", "A"));
 ok($objDa->gt("b", "B"));
@@ -154,4 +166,4 @@ ok($objDa->gt("x", "X"));
 ok($objDa->gt("y", "Y"));
 ok($objDa->gt("z", "Z"));
 
-# 99
+# 111
index d1526bf..0fad62d 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 41;
+plan tests => 53;
 
 my $objEt = Unicode::Collate::Locale->
     new(locale => 'ET', normalization => undef);
@@ -62,9 +62,21 @@ ok($objEt->eq("o\x{303}", pack('U', 0xF5)));
 ok($objEt->eq("O\x{303}", pack('U', 0xD5)));
 ok($objEt->eq("a\x{308}", pack('U', 0xE4)));
 ok($objEt->eq("A\x{308}", pack('U', 0xC4)));
+ok($objEt->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objEt->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objEt->eq("o\x{308}", pack('U', 0xF6)));
 ok($objEt->eq("O\x{308}", pack('U', 0xD6)));
+ok($objEt->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objEt->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objEt->eq("u\x{308}", pack('U', 0xFC)));
 ok($objEt->eq("U\x{308}", pack('U', 0xDC)));
+ok($objEt->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objEt->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objEt->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objEt->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objEt->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objEt->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objEt->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objEt->eq("U\x{308}\x{30C}", "\x{1D9}"));
 
-# 41
+# 53
index bbddc08..afd6707 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 70;
+plan tests => 82;
 
 my $uuml = pack 'U', 0xFC;
 my $Uuml = pack 'U', 0xDC;
@@ -95,8 +95,19 @@ ok($objFi->lt($ostk, $Ostk));
 
 ok($objFi->eq("u\x{308}", $uuml));
 ok($objFi->eq("U\x{308}", $Uuml));
+ok($objFi->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objFi->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objFi->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objFi->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objFi->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objFi->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objFi->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objFi->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objFi->eq("\x{1EF}", "\x{292}\x{30C}"));
 ok($objFi->eq("\x{1EE}", "\x{1B7}\x{30C}"));
+
+# 61
+
 ok($objFi->eq("a\x{30A}", $arng));
 ok($objFi->eq("A\x{30A}", $Arng));
 ok($objFi->eq("A\x{30A}", "\x{212B}"));
@@ -104,15 +115,19 @@ ok($objFi->eq("a\x{30A}\x{301}", "\x{1FB}"));
 ok($objFi->eq("A\x{30A}\x{301}", "\x{1FA}"));
 ok($objFi->eq("a\x{308}", $auml));
 ok($objFi->eq("A\x{308}", $Auml));
+ok($objFi->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objFi->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objFi->eq("\x{1FD}", "$ae\x{301}"));
 ok($objFi->eq("\x{1FC}", "$AE\x{301}"));
 ok($objFi->eq("\x{1E3}", "$ae\x{304}"));
 ok($objFi->eq("\x{1E2}", "$AE\x{304}"));
 ok($objFi->eq("o\x{308}", $ouml));
 ok($objFi->eq("O\x{308}", $Ouml));
+ok($objFi->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objFi->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objFi->eq("o\x{338}", $ostk));
 ok($objFi->eq("O\x{338}", $Ostk));
 ok($objFi->eq("o\x{338}\x{301}", "\x{1FF}"));
 ok($objFi->eq("O\x{338}\x{301}", "\x{1FE}"));
 
-# 70
+# 82
diff --git a/cpan/Unicode-Collate/t/loc_fil.t b/cpan/Unicode-Collate/t/loc_fil.t
new file mode 100644 (file)
index 0000000..811f0df
--- /dev/null
@@ -0,0 +1,40 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 14;
+
+my $objFil = Unicode::Collate::Locale->
+    new(locale => 'FIL', normalization => undef);
+
+ok(1);
+ok($objFil->getlocale, 'fil');
+
+$objFil->change(level => 1);
+
+ok($objFil->lt("n", "n\x{303}"));
+ok($objFil->lt("nz","n\x{303}"));
+ok($objFil->lt("n\x{303}", "ng"));
+ok($objFil->gt("o", "ng"));
+
+# 6
+
+$objFil->change(level => 2);
+
+ok($objFil->eq("ng", "Ng"));
+ok($objFil->eq("Ng", "NG"));
+ok($objFil->eq("n\x{303}", "N\x{303}"));
+
+# 9
+
+$objFil->change(level => 3);
+
+ok($objFil->lt("ng", "Ng"));
+ok($objFil->lt("Ng", "NG"));
+ok($objFil->lt("n\x{303}", "N\x{303}"));
+ok($objFil->eq("n\x{303}", pack('U', 0xF1)));
+ok($objFil->eq("N\x{303}", pack('U', 0xD1)));
+
+# 14
index 04799a2..e072d6e 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 93;
+plan tests => 105;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -118,25 +118,37 @@ 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{308}\x{300}", "\x{1DC}"));
+ok($objFo->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objFo->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objFo->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objFo->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objFo->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objFo->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objFo->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objFo->eq("u\x{30B}", "\x{171}"));
 ok($objFo->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
 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("a\x{308}\x{304}", "\x{1DF}"));
+ok($objFo->eq("A\x{308}\x{304}", "\x{1DE}"));
 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{308}\x{304}", "\x{22B}"));
+ok($objFo->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objFo->eq("o\x{30B}", "\x{151}"));
 ok($objFo->eq("O\x{30B}", "\x{150}"));
 ok($objFo->eq("a\x{30A}", $arng));
@@ -145,4 +157,4 @@ 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
+# 105
diff --git a/cpan/Unicode-Collate/t/loc_ha.t b/cpan/Unicode-Collate/t/loc_ha.t
new file mode 100644 (file)
index 0000000..0f7c399
--- /dev/null
@@ -0,0 +1,60 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 34;
+
+my $objHa = Unicode::Collate::Locale->
+    new(locale => 'HA', normalization => undef);
+
+ok(1);
+ok($objHa->getlocale, 'ha');
+
+$objHa->change(level => 1);
+
+ok($objHa->lt("b", "\x{253}"));
+ok($objHa->gt("c", "\x{253}"));
+ok($objHa->lt("d", "\x{257}"));
+ok($objHa->gt("e", "\x{257}"));
+ok($objHa->lt("k", "\x{199}"));
+ok($objHa->gt("l", "\x{199}"));
+ok($objHa->lt("s", "sh"));
+ok($objHa->gt("t", "sh"));
+ok($objHa->lt("t", "ts"));
+ok($objHa->gt("u", "ts"));
+ok($objHa->lt("y", "\x{1B4}"));
+ok($objHa->gt("z", "\x{1B4}"));
+
+# 14
+
+$objHa->change(level => 2);
+
+ok($objHa->eq("\x{253}", "\x{181}"));
+ok($objHa->eq("\x{257}", "\x{18A}"));
+ok($objHa->eq("\x{199}", "\x{198}"));
+ok($objHa->eq("sh", "Sh"));
+ok($objHa->eq("Sh", "SH"));
+ok($objHa->eq("ts", "Ts"));
+ok($objHa->eq("Ts", "TS"));
+ok($objHa->eq("'y", "'Y"));
+ok($objHa->eq("\x{1B4}", "\x{1B3}"));
+
+# 23
+
+$objHa->change(level => 3);
+
+ok($objHa->lt("\x{253}", "\x{181}"));
+ok($objHa->lt("\x{257}", "\x{18A}"));
+ok($objHa->lt("\x{199}", "\x{198}"));
+ok($objHa->lt("sh", "Sh"));
+ok($objHa->lt("Sh", "SH"));
+ok($objHa->lt("ts", "Ts"));
+ok($objHa->lt("Ts", "TS"));
+ok($objHa->lt("'y", "'Y"));
+ok($objHa->lt("\x{1B4}", "\x{1B3}"));
+ok($objHa->eq("'y", "\x{1B4}"));
+ok($objHa->eq("'Y", "\x{1B3}"));
+
+# 34
index 25a50a6..4e02ec8 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 94;
+plan tests => 98;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -127,8 +127,12 @@ 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("a\x{308}\x{304}", "\x{1DF}"));
+ok($objIs->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objIs->eq("o\x{308}", $ouml));
 ok($objIs->eq("O\x{308}", $Ouml));
+ok($objIs->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objIs->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objIs->eq("o\x{338}", $ostk));
 ok($objIs->eq("O\x{338}", $Ostk));
 ok($objIs->eq("o\x{338}\x{301}", "\x{1FF}"));
@@ -139,7 +143,7 @@ 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
+# 92
 
 $objIs->change(upper_before_lower => 1);
 
@@ -150,4 +154,4 @@ ok($objIs->gt($ouml, $Ouml));
 ok($objIs->gt($ostk, $Ostk));
 ok($objIs->gt($arng, $Arng));
 
-# 94
+# 98
index 5b0a9a7..0d0aa03 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 89;
+plan tests => 101;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -114,25 +114,37 @@ 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{308}\x{300}", "\x{1DC}"));
+ok($objKl->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objKl->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objKl->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objKl->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objKl->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objKl->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objKl->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objKl->eq("u\x{30B}", "\x{171}"));
 ok($objKl->eq("U\x{30B}", "\x{170}"));
+
+# 76
+
 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("a\x{308}\x{304}", "\x{1DF}"));
+ok($objKl->eq("A\x{308}\x{304}", "\x{1DE}"));
 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{308}\x{304}", "\x{22B}"));
+ok($objKl->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objKl->eq("o\x{30B}", "\x{151}"));
 ok($objKl->eq("O\x{30B}", "\x{150}"));
 ok($objKl->eq("a\x{30A}", $arng));
@@ -141,4 +153,4 @@ 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
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_lt.t b/cpan/Unicode-Collate/t/loc_lt.t
new file mode 100644 (file)
index 0000000..ef5da1c
--- /dev/null
@@ -0,0 +1,91 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 55;
+
+my $objLt = Unicode::Collate::Locale->
+    new(locale => 'LT', normalization => undef);
+
+ok(1);
+ok($objLt->getlocale, 'lt');
+
+$objLt->change(level => 1);
+
+ok($objLt->lt("c", "c\x{30C}"));
+ok($objLt->gt("d", "c\x{30C}"));
+ok($objLt->lt("s", "s\x{30C}"));
+ok($objLt->gt("t", "s\x{30C}"));
+ok($objLt->lt("z", "z\x{30C}"));
+ok($objLt->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
+
+# 8
+
+ok($objLt->eq( "\x{328}",  "\x{307}"));
+ok($objLt->eq("e\x{328}", "e\x{307}"));
+ok($objLt->eq("i\x{328}", "i\x{307}"));
+ok($objLt->eq('i', 'y'));
+
+$objLt->change(level => 2);
+
+ok($objLt->lt( "\x{328}",  "\x{307}"));
+ok($objLt->lt("e\x{328}", "e\x{307}"));
+ok($objLt->lt("i\x{328}", "i\x{307}"));
+ok($objLt->lt('i', 'y'));
+
+# 16
+
+ok($objLt->eq("c\x{30C}", "C\x{30C}"));
+ok($objLt->eq("s\x{30C}", "S\x{30C}"));
+ok($objLt->eq("z\x{30C}", "Z\x{30C}"));
+ok($objLt->eq('y', 'Y'));
+ok($objLt->eq("e\x{307}", "E\x{307}"));
+ok($objLt->eq("i\x{307}", "I\x{307}"));
+ok($objLt->eq("a\x{328}", "A\x{328}"));
+ok($objLt->eq("e\x{328}", "E\x{328}"));
+ok($objLt->eq("i\x{328}", "I\x{328}"));
+ok($objLt->eq("u\x{328}", "U\x{328}"));
+
+# 26
+
+$objLt->change(level => 3);
+
+ok($objLt->lt("c\x{30C}", "C\x{30C}"));
+ok($objLt->lt("s\x{30C}", "S\x{30C}"));
+ok($objLt->lt("z\x{30C}", "Z\x{30C}"));
+ok($objLt->lt('y', 'Y'));
+ok($objLt->lt("e\x{307}", "E\x{307}"));
+ok($objLt->lt("i\x{307}", "I\x{307}"));
+ok($objLt->lt("a\x{328}", "A\x{328}"));
+ok($objLt->lt("e\x{328}", "E\x{328}"));
+ok($objLt->lt("i\x{328}", "I\x{328}"));
+ok($objLt->lt("u\x{328}", "U\x{328}"));
+
+# 36
+
+ok($objLt->eq("c\x{30C}", "\x{10D}"));
+ok($objLt->eq("C\x{30C}", "\x{10C}"));
+ok($objLt->eq("s\x{30C}", "\x{161}"));
+ok($objLt->eq("S\x{30C}", "\x{160}"));
+ok($objLt->eq("z\x{30C}", "\x{17E}"));
+ok($objLt->eq("Z\x{30C}", "\x{17D}"));
+ok($objLt->eq("e\x{307}", "\x{117}"));
+ok($objLt->eq("E\x{307}", "\x{116}"));
+ok($objLt->eq("I\x{307}", "\x{130}"));
+
+# 45
+
+ok($objLt->eq("a\x{328}", "\x{105}"));
+ok($objLt->eq("A\x{328}", "\x{104}"));
+ok($objLt->eq("e\x{328}", "\x{119}"));
+ok($objLt->eq("E\x{328}", "\x{118}"));
+ok($objLt->eq("i\x{328}", "\x{12F}"));
+ok($objLt->eq("I\x{328}", "\x{12E}"));
+ok($objLt->eq("u\x{328}", "\x{173}"));
+ok($objLt->eq("U\x{328}", "\x{172}"));
+ok($objLt->eq("u\x{304}", "\x{16B}"));
+ok($objLt->eq("U\x{304}", "\x{16A}"));
+
+# 55
diff --git a/cpan/Unicode-Collate/t/loc_mt.t b/cpan/Unicode-Collate/t/loc_mt.t
new file mode 100644 (file)
index 0000000..3a5c92c
--- /dev/null
@@ -0,0 +1,76 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 44;
+
+my $objMt = Unicode::Collate::Locale->
+    new(locale => 'MT', normalization => undef);
+
+ok(1);
+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("f", "g\x{307}"));
+ok($objMt->gt("g", "g\x{307}"));
+ok($objMt->lt("g", "gh\x{335}"));
+ok($objMt->gt("h", "gh\x{335}"));
+ok($objMt->lt("h", "h\x{335}"));
+ok($objMt->gt("i", "h\x{335}"));
+ok($objMt->lt("y", "z\x{307}"));
+ok($objMt->gt("z", "z\x{307}"));
+
+# 12
+
+$objMt->change(level => 2);
+
+ok($objMt->eq("c\x{307}", "C\x{307}"));
+ok($objMt->eq("g\x{307}", "G\x{307}"));
+ok($objMt->eq("gh\x{335}","gH\x{335}"));
+ok($objMt->eq("gH\x{335}","Gh\x{335}"));
+ok($objMt->eq("Gh\x{335}","GH\x{335}"));
+ok($objMt->eq("h\x{335}", "H\x{335}"));
+ok($objMt->eq("z\x{307}", "Z\x{307}"));
+
+# 19
+
+$objMt->change(level => 3);
+
+ok($objMt->gt("c\x{307}", "C\x{307}"));
+ok($objMt->gt("g\x{307}", "G\x{307}"));
+ok($objMt->gt("gh\x{335}","gH\x{335}"));
+ok($objMt->gt("gH\x{335}","Gh\x{335}"));
+ok($objMt->gt("Gh\x{335}","GH\x{335}"));
+ok($objMt->gt("h\x{335}", "H\x{335}"));
+ok($objMt->gt("z\x{307}", "Z\x{307}"));
+
+# 26
+
+ok($objMt->eq("c\x{307}", "\x{10B}"));
+ok($objMt->eq("C\x{307}", "\x{10A}"));
+ok($objMt->eq("g\x{307}", "\x{121}"));
+ok($objMt->eq("G\x{307}", "\x{120}"));
+ok($objMt->eq("gh\x{335}","g\x{127}"));
+ok($objMt->eq("gH\x{335}","g\x{126}"));
+ok($objMt->eq("Gh\x{335}","G\x{127}"));
+ok($objMt->eq("GH\x{335}","G\x{126}"));
+ok($objMt->eq("h\x{335}", "\x{127}"));
+ok($objMt->eq("H\x{335}", "\x{126}"));
+ok($objMt->eq("z\x{307}", "\x{17C}"));
+ok($objMt->eq("Z\x{307}", "\x{17B}"));
+
+# 38
+
+ok($objMt->gt("a", "A"));
+ok($objMt->gt("b", "B"));
+ok($objMt->gt("c", "C"));
+ok($objMt->gt("x", "X"));
+ok($objMt->gt("y", "Y"));
+ok($objMt->gt("z", "Z"));
+
+# 44
index 80fc45e..22191e3 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 83;
+plan tests => 95;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -110,17 +110,27 @@ ok($objNb->eq("d\x{335}", "\x{111}"));
 ok($objNb->eq("D\x{335}", "\x{110}"));
 ok($objNb->eq("u\x{308}", $uuml));
 ok($objNb->eq("U\x{308}", $Uuml));
+ok($objNb->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objNb->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objNb->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objNb->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objNb->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objNb->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objNb->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objNb->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objNb->eq("u\x{30B}", "\x{171}"));
 ok($objNb->eq("U\x{30B}", "\x{170}"));
+
+# 70
+
 ok($objNb->eq("\x{1FD}", "$ae\x{301}"));
 ok($objNb->eq("\x{1FC}", "$AE\x{301}"));
 ok($objNb->eq("\x{1E3}", "$ae\x{304}"));
 ok($objNb->eq("\x{1E2}", "$AE\x{304}"));
-
-# 66
-
 ok($objNb->eq("a\x{308}", $auml));
 ok($objNb->eq("A\x{308}", $Auml));
+ok($objNb->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objNb->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objNb->eq("e\x{328}", "\x{119}"));
 ok($objNb->eq("E\x{328}", "\x{118}"));
 ok($objNb->eq("o\x{338}", $ostk));
@@ -129,6 +139,8 @@ ok($objNb->eq("o\x{338}\x{301}", "\x{1FF}"));
 ok($objNb->eq("O\x{338}\x{301}", "\x{1FE}"));
 ok($objNb->eq("o\x{308}", $ouml));
 ok($objNb->eq("O\x{308}", $Ouml));
+ok($objNb->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objNb->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objNb->eq("o\x{30B}", "\x{151}"));
 ok($objNb->eq("O\x{30B}", "\x{150}"));
 ok($objNb->eq("a\x{30A}", $arng));
@@ -137,4 +149,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}"));
 
-# 83
+# 95
index a3092a1..9620209 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 83;
+plan tests => 95;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -110,17 +110,27 @@ ok($objNn->eq("d\x{335}", "\x{111}"));
 ok($objNn->eq("D\x{335}", "\x{110}"));
 ok($objNn->eq("u\x{308}", $uuml));
 ok($objNn->eq("U\x{308}", $Uuml));
+ok($objNn->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objNn->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objNn->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objNn->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objNn->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objNn->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objNn->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objNn->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objNn->eq("u\x{30B}", "\x{171}"));
 ok($objNn->eq("U\x{30B}", "\x{170}"));
+
+# 70
+
 ok($objNn->eq("\x{1FD}", "$ae\x{301}"));
 ok($objNn->eq("\x{1FC}", "$AE\x{301}"));
 ok($objNn->eq("\x{1E3}", "$ae\x{304}"));
 ok($objNn->eq("\x{1E2}", "$AE\x{304}"));
-
-# 66
-
 ok($objNn->eq("a\x{308}", $auml));
 ok($objNn->eq("A\x{308}", $Auml));
+ok($objNn->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objNn->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objNn->eq("e\x{328}", "\x{119}"));
 ok($objNn->eq("E\x{328}", "\x{118}"));
 ok($objNn->eq("o\x{338}", $ostk));
@@ -129,6 +139,8 @@ ok($objNn->eq("o\x{338}\x{301}", "\x{1FF}"));
 ok($objNn->eq("O\x{338}\x{301}", "\x{1FE}"));
 ok($objNn->eq("o\x{308}", $ouml));
 ok($objNn->eq("O\x{308}", $Ouml));
+ok($objNn->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objNn->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objNn->eq("o\x{30B}", "\x{151}"));
 ok($objNn->eq("O\x{30B}", "\x{150}"));
 ok($objNn->eq("a\x{30A}", $arng));
@@ -137,4 +149,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}"));
 
-# 83
+# 95
index cf762f7..8a6a0df 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 40;
+plan tests => 42;
 
 my $objSk = Unicode::Collate::Locale->
     new(locale => 'SK', normalization => undef);
@@ -57,6 +57,8 @@ ok($objSk->lt("Ch", "CH"));
 
 ok($objSk->eq("a\x{308}", pack('U', 0xE4)));
 ok($objSk->eq("A\x{308}", pack('U', 0xC4)));
+ok($objSk->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objSk->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objSk->eq("c\x{30C}", "\x{10D}"));
 ok($objSk->eq("C\x{30C}", "\x{10C}"));
 ok($objSk->eq("o\x{302}", pack('U', 0xF4)));
@@ -66,4 +68,4 @@ ok($objSk->eq("S\x{30C}", "\x{160}"));
 ok($objSk->eq("z\x{30C}", "\x{17E}"));
 ok($objSk->eq("Z\x{30C}", "\x{17D}"));
 
-# 40
+# 42
index b695bc1..7df5ea6 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 use Unicode::Collate::Locale;
 
 use Test;
-plan tests => 95;
+plan tests => 107;
 
 my $eth  = pack 'U', 0xF0;
 my $ETH  = pack 'U', 0xD0;
@@ -122,8 +122,19 @@ ok($objSv->eq("d\x{335}", "\x{111}"));
 ok($objSv->eq("D\x{335}", "\x{110}"));
 ok($objSv->eq("u\x{308}", $uuml));
 ok($objSv->eq("U\x{308}", $Uuml));
+ok($objSv->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objSv->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objSv->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objSv->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objSv->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objSv->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objSv->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objSv->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objSv->eq("u\x{30B}", "\x{171}"));
 ok($objSv->eq("U\x{30B}", "\x{170}"));
+
+# 80
+
 ok($objSv->eq("a\x{30A}", $arng));
 ok($objSv->eq("A\x{30A}", $Arng));
 ok($objSv->eq("A\x{30A}", "\x{212B}"));
@@ -131,9 +142,8 @@ ok($objSv->eq("a\x{30A}\x{301}", "\x{1FB}"));
 ok($objSv->eq("A\x{30A}\x{301}", "\x{1FA}"));
 ok($objSv->eq("a\x{308}", $auml));
 ok($objSv->eq("A\x{308}", $Auml));
-
-# 79
-
+ok($objSv->eq("a\x{308}\x{304}", "\x{1DF}"));
+ok($objSv->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objSv->eq("\x{1FD}", "$ae\x{301}"));
 ok($objSv->eq("\x{1FC}", "$AE\x{301}"));
 ok($objSv->eq("\x{1E3}", "$ae\x{304}"));
@@ -142,6 +152,8 @@ ok($objSv->eq("e\x{328}", "\x{119}"));
 ok($objSv->eq("E\x{328}", "\x{118}"));
 ok($objSv->eq("o\x{308}", $ouml));
 ok($objSv->eq("O\x{308}", $Ouml));
+ok($objSv->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objSv->eq("O\x{308}\x{304}", "\x{22A}"));
 ok($objSv->eq("o\x{338}", $ostk));
 ok($objSv->eq("O\x{338}", $Ostk));
 ok($objSv->eq("o\x{338}\x{301}", "\x{1FF}"));
@@ -151,4 +163,4 @@ ok($objSv->eq("O\x{30B}", "\x{150}"));
 ok($objSv->eq("o\x{302}", $ocrc));
 ok($objSv->eq("O\x{302}", $Ocrc));
 
-# 95
+# 107
diff --git a/cpan/Unicode-Collate/t/loc_tr.t b/cpan/Unicode-Collate/t/loc_tr.t
new file mode 100644 (file)
index 0000000..6459294
--- /dev/null
@@ -0,0 +1,89 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 57;
+
+my $objTr = Unicode::Collate::Locale->
+    new(locale => 'TR', normalization => undef);
+
+ok(1);
+ok($objTr->getlocale, 'tr');
+
+$objTr->change(level => 1);
+
+ok($objTr->lt("c", "c\x{327}"));
+ok($objTr->gt("d", "c\x{327}"));
+ok($objTr->lt("g", "g\x{306}"));
+ok($objTr->gt("h", "g\x{306}"));
+ok($objTr->lt("h", "I"));
+ok($objTr->lt("I", "i"));
+ok($objTr->gt("j", "i"));
+ok($objTr->lt("o", "o\x{308}"));
+ok($objTr->gt("p", "o\x{308}"));
+ok($objTr->lt("s", "s\x{327}"));
+ok($objTr->gt("t", "s\x{327}"));
+ok($objTr->lt("u", "u\x{308}"));
+ok($objTr->gt("v", "u\x{308}"));
+
+# 15
+
+$objTr->change(level => 2);
+
+ok($objTr->eq("c\x{327}", "C\x{327}"));
+ok($objTr->eq("g\x{306}", "G\x{306}"));
+ok($objTr->eq("\x{131}", "I"));
+ok($objTr->eq("\x{130}", "i"));
+ok($objTr->eq("o\x{308}", "O\x{308}"));
+ok($objTr->eq("s\x{327}", "S\x{327}"));
+ok($objTr->eq("u\x{308}", "U\x{308}"));
+
+# 22
+
+$objTr->change(level => 3);
+
+ok($objTr->lt("c\x{327}", "C\x{327}"));
+ok($objTr->lt("g\x{306}", "G\x{306}"));
+ok($objTr->lt("\x{131}", "I"));
+ok($objTr->gt("\x{130}", "i"));
+ok($objTr->lt("o\x{308}", "O\x{308}"));
+ok($objTr->lt("s\x{327}", "S\x{327}"));
+ok($objTr->lt("u\x{308}", "U\x{308}"));
+
+# 29
+
+ok($objTr->eq("c\x{327}", pack('U', 0xE7)));
+ok($objTr->eq("C\x{327}", pack('U', 0xC7)));
+ok($objTr->eq("g\x{306}", "\x{11F}"));
+ok($objTr->eq("G\x{306}", "\x{11E}"));
+ok($objTr->eq("I\x{300}", pack('U', 0xCC)));
+ok($objTr->eq("I\x{301}", pack('U', 0xCD)));
+ok($objTr->eq("I\x{302}", pack('U', 0xCE)));
+ok($objTr->eq("I\x{308}", pack('U', 0xCF)));
+ok($objTr->eq("I\x{304}", "\x{12A}"));
+ok($objTr->eq("I\x{306}", "\x{12C}"));
+ok($objTr->eq("I\x{328}", "\x{12E}"));
+ok($objTr->eq("I\x{307}", "\x{130}"));
+
+# 41
+
+ok($objTr->eq("o\x{308}", pack('U', 0xF6)));
+ok($objTr->eq("O\x{308}", pack('U', 0xD6)));
+ok($objTr->eq("o\x{308}\x{304}", "\x{22B}"));
+ok($objTr->eq("O\x{308}\x{304}", "\x{22A}"));
+ok($objTr->eq("s\x{327}", "\x{15F}"));
+ok($objTr->eq("S\x{327}", "\x{15E}"));
+ok($objTr->eq("u\x{308}", pack('U', 0xFC)));
+ok($objTr->eq("U\x{308}", pack('U', 0xDC)));
+ok($objTr->eq("u\x{308}\x{300}", "\x{1DC}"));
+ok($objTr->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objTr->eq("u\x{308}\x{301}", "\x{1D8}"));
+ok($objTr->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objTr->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objTr->eq("U\x{308}\x{304}", "\x{1D5}"));
+ok($objTr->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objTr->eq("U\x{308}\x{30C}", "\x{1D9}"));
+
+# 57
diff --git a/cpan/Unicode-Collate/t/loc_wo.t b/cpan/Unicode-Collate/t/loc_wo.t
new file mode 100644 (file)
index 0000000..ceff506
--- /dev/null
@@ -0,0 +1,63 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 34;
+
+my $objWo = Unicode::Collate::Locale->
+    new(locale => 'WO', normalization => undef);
+
+ok(1);
+ok($objWo->getlocale, 'wo');
+
+$objWo->change(level => 1);
+
+ok($objWo->lt("a", "a\x{300}"));
+ok($objWo->gt("b", "a\x{300}"));
+ok($objWo->lt("e", "e\x{301}"));
+ok($objWo->lt("e\x{301}", "e\x{308}"));
+ok($objWo->gt("f", "e\x{308}"));
+ok($objWo->lt("n", "n\x{303}"));
+ok($objWo->lt("n\x{303}", "\x{14B}"));
+ok($objWo->gt("o", "\x{14B}"));
+ok($objWo->lt("o", "o\x{301}"));
+ok($objWo->gt("p", "o\x{301}"));
+
+# 12
+
+$objWo->change(level => 2);
+
+ok($objWo->eq("a\x{300}", "A\x{300}"));
+ok($objWo->eq("e\x{301}", "E\x{301}"));
+ok($objWo->eq("e\x{308}", "E\x{308}"));
+ok($objWo->eq("n\x{303}", "N\x{303}"));
+ok($objWo->eq( "\x{14B}",  "\x{14A}"));
+ok($objWo->eq("o\x{301}", "O\x{301}"));
+
+# 18
+
+$objWo->change(level => 3);
+
+ok($objWo->lt("a\x{300}", "A\x{300}"));
+ok($objWo->lt("e\x{301}", "E\x{301}"));
+ok($objWo->lt("e\x{308}", "E\x{308}"));
+ok($objWo->lt("n\x{303}", "N\x{303}"));
+ok($objWo->lt( "\x{14B}",  "\x{14A}"));
+ok($objWo->lt("o\x{301}", "O\x{301}"));
+
+# 24
+
+ok($objWo->eq("a\x{300}", pack('U', 0xE0)));
+ok($objWo->eq("A\x{300}", pack('U', 0xC0)));
+ok($objWo->eq("e\x{301}", pack('U', 0xE9)));
+ok($objWo->eq("E\x{301}", pack('U', 0xC9)));
+ok($objWo->eq("e\x{308}", pack('U', 0xEB)));
+ok($objWo->eq("E\x{308}", pack('U', 0xCB)));
+ok($objWo->eq("n\x{303}", pack('U', 0xF1)));
+ok($objWo->eq("N\x{303}", pack('U', 0xD1)));
+ok($objWo->eq("o\x{301}", pack('U', 0xF3)));
+ok($objWo->eq("O\x{301}", pack('U', 0xD3)));
+
+# 34
diff --git a/cpan/Unicode-Collate/t/loc_yo.t b/cpan/Unicode-Collate/t/loc_yo.t
new file mode 100644 (file)
index 0000000..9a2a1a0
--- /dev/null
@@ -0,0 +1,56 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 27;
+
+my $objYo = Unicode::Collate::Locale->
+    new(locale => 'YO', normalization => undef);
+
+ok(1);
+ok($objYo->getlocale, 'yo');
+
+$objYo->change(level => 1);
+
+ok($objYo->lt("e", "e\x{323}"));
+ok($objYo->gt("f", "e\x{323}"));
+ok($objYo->lt("g", "gb"));
+ok($objYo->lt("gz","gb"));
+ok($objYo->gt("h", "gb"));
+ok($objYo->lt("o", "o\x{323}"));
+ok($objYo->gt("p", "o\x{323}"));
+ok($objYo->lt("s", "s\x{323}"));
+ok($objYo->gt("t", "s\x{323}"));
+
+# 11
+
+$objYo->change(level => 2);
+
+ok($objYo->eq("e\x{323}", "E\x{323}"));
+ok($objYo->eq("gb", "Gb"));
+ok($objYo->eq("Gb", "GB"));
+ok($objYo->eq("o\x{323}", "O\x{323}"));
+ok($objYo->eq("s\x{323}", "S\x{323}"));
+
+# 16
+
+$objYo->change(level => 3);
+
+ok($objYo->lt("e\x{323}", "E\x{323}"));
+ok($objYo->lt("gb", "Gb"));
+ok($objYo->lt("Gb", "GB"));
+ok($objYo->lt("o\x{323}", "O\x{323}"));
+ok($objYo->lt("s\x{323}", "S\x{323}"));
+
+# 21
+
+ok($objYo->eq("e\x{323}", "\x{1EB9}"));
+ok($objYo->eq("E\x{323}", "\x{1EB8}"));
+ok($objYo->eq("o\x{323}", "\x{1ECD}"));
+ok($objYo->eq("O\x{323}", "\x{1ECC}"));
+ok($objYo->eq("s\x{323}", "\x{1E63}"));
+ok($objYo->eq("S\x{323}", "\x{1E62}"));
+
+# 27