From: Chris 'BinGOs' Williams Date: Sun, 9 Oct 2011 20:43:39 +0000 (+0100) Subject: Update Unicode-Collate to CPAN version 0.80 X-Git-Tag: accepted/trunk/20130322.191538~2457 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b2ef759e149da82c9e8229884417d223e485c9fb;p=platform%2Fupstream%2Fperl.git Update Unicode-Collate to CPAN version 0.80 [DELTA] 0.80 Sun Oct 9 21:00:21 2011 - U::C::Locale newly supports locales: bs, hi, kn, kok, ln. - added loc_bs.t, loc_hi.t, loc_kn.t, loc_kok.t, loc_ln.t in t. - updated some locales to CLDR 2.0 : ha, hr, kk, lt. 0.79 Sun Oct 2 20:31:01 2011 - pod: [rt.cpan.org #70241] Fix minor grammar error in manpage by Harlan Lieberman-Berg. - 'suppress' no longer affects contractions via 'entry'. - U::C::Locale newly supports locales: as, fi__phonebook, gu. - added loc_as.t, loc_fiph.t, loc_gu in t. - updated some locales to CLDR 2.0 : ar, be, bg. --- diff --git a/MANIFEST b/MANIFEST index 2e1312c..4cde7fb 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2691,6 +2691,7 @@ cpan/Unicode-Collate/Collate/Locale/fr.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/gu.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/ha.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/haw.pl Unicode::Collate +cpan/Unicode-Collate/Collate/Locale/hi.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/hr.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/hu.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/hy.pl Unicode::Collate @@ -2699,7 +2700,10 @@ cpan/Unicode-Collate/Collate/Locale/is.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/ja.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/kk.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/kl.pl Unicode::Collate +cpan/Unicode-Collate/Collate/Locale/kn.pl Unicode::Collate +cpan/Unicode-Collate/Collate/Locale/kok.pl Unicode::Collate cpan/Unicode-Collate/Collate/Locale/ko.pl Unicode::Collate +cpan/Unicode-Collate/Collate/Locale/ln.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 @@ -2758,6 +2762,7 @@ cpan/Unicode-Collate/t/loc_as.t Unicode::Collate cpan/Unicode-Collate/t/loc_az.t Unicode::Collate cpan/Unicode-Collate/t/loc_be.t Unicode::Collate cpan/Unicode-Collate/t/loc_bg.t Unicode::Collate +cpan/Unicode-Collate/t/loc_bs.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_cyrl.t Unicode::Collate @@ -2777,6 +2782,7 @@ cpan/Unicode-Collate/t/loc_fr.t Unicode::Collate cpan/Unicode-Collate/t/loc_gu.t Unicode::Collate cpan/Unicode-Collate/t/loc_ha.t Unicode::Collate cpan/Unicode-Collate/t/loc_haw.t Unicode::Collate +cpan/Unicode-Collate/t/loc_hi.t Unicode::Collate cpan/Unicode-Collate/t/loc_hr.t Unicode::Collate cpan/Unicode-Collate/t/loc_hu.t Unicode::Collate cpan/Unicode-Collate/t/loc_hy.t Unicode::Collate @@ -2787,7 +2793,10 @@ cpan/Unicode-Collate/t/loc_japr.t Unicode::Collate cpan/Unicode-Collate/t/loc_ja.t Unicode::Collate cpan/Unicode-Collate/t/loc_kk.t Unicode::Collate cpan/Unicode-Collate/t/loc_kl.t Unicode::Collate +cpan/Unicode-Collate/t/loc_kn.t Unicode::Collate +cpan/Unicode-Collate/t/loc_kok.t Unicode::Collate cpan/Unicode-Collate/t/loc_ko.t Unicode::Collate +cpan/Unicode-Collate/t/loc_ln.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_mk.t Unicode::Collate diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 633f5d7..b7d6115 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -1970,7 +1970,7 @@ use File::Glob qw(:case); 'Unicode::Collate' => { 'MAINTAINER' => 'sadahiro', - 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.79.tar.gz', + 'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.80.tar.gz', 'FILES' => q[cpan/Unicode-Collate], 'EXCLUDED' => [ qr{N$}, qr{^data/}, diff --git a/cpan/Unicode-Collate/Changes b/cpan/Unicode-Collate/Changes index f7c6e30..4550a6d 100644 --- a/cpan/Unicode-Collate/Changes +++ b/cpan/Unicode-Collate/Changes @@ -1,5 +1,10 @@ Revision history for Perl module Unicode::Collate. +0.80 Sun Oct 9 21:00:21 2011 + - U::C::Locale newly supports locales: bs, hi, kn, kok, ln. + - added loc_bs.t, loc_hi.t, loc_kn.t, loc_kok.t, loc_ln.t in t. + - updated some locales to CLDR 2.0 : ha, hr, kk, lt. + 0.79 Sun Oct 2 20:31:01 2011 - pod: [rt.cpan.org #70241] Fix minor grammar error in manpage by Harlan Lieberman-Berg. diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm index 7a86032..f02f720 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.79'; +our $VERSION = '0.80'; our $PACKAGE = __PACKAGE__; ### begin XS only ### diff --git a/cpan/Unicode-Collate/Collate/Locale.pm b/cpan/Unicode-Collate/Collate/Locale.pm index 92bdf24..1f19fc1 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.79'; +our $VERSION = '0.80'; use File::Spec; @@ -13,19 +13,22 @@ my $PL_EXT = '.pl'; my %LocaleFile = map { ($_, $_) } qw( af ar as az be bg ca cs cy da eo es et fi fil fo fr gu - ha haw hr hu hy ig is ja kk kl ko lt lv mt nb nn nso om - pl ro ru se sk sl sq sv tn to tr uk vi wo yo zh + ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv + mt nb nn nso om pl ro ru se sk sl sq sv tn to tr uk vi wo yo zh ); - $LocaleFile{'default'} = ''; + $LocaleFile{'default'} = ''; +# aliases + $LocaleFile{'bs'} = 'hr'; + $LocaleFile{'mk'} = 'ru'; + $LocaleFile{'sr'} = 'ru'; +# short file names $LocaleFile{'de__phonebook'} = 'de_phone'; $LocaleFile{'es__traditional'} = 'es_trad'; $LocaleFile{'fi__phonebook'} = 'fi_phone'; - $LocaleFile{'mk'} = 'ru'; - $LocaleFile{'sr'} = 'ru'; - $LocaleFile{'zh__big5han'} = 'zh_big5'; - $LocaleFile{'zh__gb2312han'} = 'zh_gb'; - $LocaleFile{'zh__pinyin'} = 'zh_pin'; - $LocaleFile{'zh__stroke'} = 'zh_strk'; + $LocaleFile{'zh__big5han'} = 'zh_big5'; + $LocaleFile{'zh__gb2312han'} = 'zh_gb'; + $LocaleFile{'zh__pinyin'} = 'zh_pin'; + $LocaleFile{'zh__stroke'} = 'zh_strk'; sub _locale { my $locale = shift; @@ -93,10 +96,11 @@ as 2.0 = 1.8.1 az 2.0 = 1.8.1 be 2.0 bg 2.0 +bs 2.0 ca 2.0 = 1.8.1 (alt="proposed" type="standard") cs 2.0 = 1.8.1 (type="standard") cy 2.0 = 1.8.1 -da 2.0 = 1.8.1 (type="standard") [AA's to pass CLDR tests] +da 2.0 = 1.8.1 (type="standard") [modify aA to pass CLDR tests] de__phonebook 2.0 (type="phonebook") eo 2.0 = 1.8.1 es 2.0 (type="standard") @@ -108,19 +112,23 @@ fil 2.0 (type="standard") = 1.8.1 fo 2.0 = 1.8.1 (alt="proposed" type="standard") fr 2.0 (fr_CA, backwards="on") gu 2.0 (type="standard") -ha -haw -hr -hu -hy -ig -is -ja -kk -kl -ko -lt -lv +ha 2.0 +haw 2.0 = 1.8.1 +hi 2.0 +hr 2.0 +hu 2.0 = 1.8.1 (alt="proposed" type="standard") +hy 2.0 = 1.8.1 +ig 2.0 = 1.8.1 +is 2.0 = 1.8.1 +ja 2.0 = 1.8.1 (type="standard") +kk 2.0 +kl 2.0 = 1.8.1 +kn 2.0 (type="standard") +ko 2.0 = 1.8.1 (type="standard") +kok 2.0 = 1.8.1 +ln 2.0 (type="standard") = 1.8.1 +lt 2.0 +lv 2.0 (type="standard") = 1.8.1 mk mt nb @@ -260,6 +268,7 @@ this method returns a string C<'default'> meaning no special tailoring. az Azerbaijani (Azeri) be Belarusian bg Bulgarian + bs Bosnian ca Catalan cs Czech cy Welsh @@ -277,6 +286,7 @@ this method returns a string C<'default'> meaning no special tailoring. gu Gujarati ha Hausa haw Hawaiian + hi Hindi hr Croatian hu Hungarian hy Armenian @@ -285,7 +295,10 @@ this method returns a string C<'default'> meaning no special tailoring. ja Japanese [1] kk Kazakh kl Kalaallisut + kn Kannada ko Korean [2] + kok Konkani + ln Lingala lt Lithuanian lv Latvian mk Macedonian @@ -324,7 +337,6 @@ ga (Irish), id (Indonesian), it (Italian), ka (Georgian), -ln (Lingala), ms (Malay), nl (Dutch), pt (Portuguese), diff --git a/cpan/Unicode-Collate/Collate/Locale/ha.pl b/cpan/Unicode-Collate/Collate/Locale/ha.pl index 644716a..ed345d8 100644 --- a/cpan/Unicode-Collate/Collate/Locale/ha.pl +++ b/cpan/Unicode-Collate/Collate/Locale/ha.pl @@ -7,7 +7,9 @@ 0074 0073 ; [.17CA.0020.0002.0074] # 0054 0073 ; [.17CA.0020.0007.0054] # 0054 0053 ; [.17CA.0020.0008.0054] # -0027 0079 ; [.183F.0020.0002.01B4] # -0027 0059 ; [.183F.0020.0008.01B3] # +02BC 0079 ; [.183F.0020.0003.02BC] # +02BC 0059 ; [.183F.0020.0009.02BC] # +0027 0079 ; [.183F.0020.0004.0027] # +0027 0059 ; [.183F.0020.000A.0027] # ENTRY }; diff --git a/cpan/Unicode-Collate/Collate/Locale/hi.pl b/cpan/Unicode-Collate/Collate/Locale/hi.pl new file mode 100644 index 0000000..dbdd7e9 --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/hi.pl @@ -0,0 +1,7 @@ ++{ + entry => <<'ENTRY', # for DUCET v6.0.0 +0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA +0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU +0903 ; [.1F7B.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/hr.pl b/cpan/Unicode-Collate/Collate/Locale/hr.pl index b83305c..f78c9f7 100644 --- a/cpan/Unicode-Collate/Collate/Locale/hr.pl +++ b/cpan/Unicode-Collate/Collate/Locale/hr.pl @@ -10,35 +10,31 @@ 0106 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE 0043 0301 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE 0043 0341 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE -01C6 ; [.15E5.0020.0002.01C6] # LATIN SMALL LETTER DZ WITH CARON -0064 017D ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # -01C5 ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON -01C4 ; [.15E5.0020.0008.01C4] # LATIN CAPITAL LETTER DZ WITH CARON -0064 017E ; [.15E5.0020.0002.01C6] # -0044 017E ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # -0044 017D ; [.15E5.0020.0008.01C4] # -0064 007A 030C ; [.15E5.0020.0002.01C6] # -0064 005A 030C ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # -0044 007A 030C ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # -0044 005A 030C ; [.15E5.0020.0008.01C4] # +0064 017E ; [.15E5.0020.0002.0064] # +01C6 ; [.15E5.0020.0003.01C6] # LATIN SMALL LETTER DZ WITH CARON +0044 017E ; [.15E5.0020.0007.0044][.0000.0000.0001.0000] # +01C5 ; [.15E5.0020.0007.01C5][.0000.0000.0007.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON +0044 017D ; [.15E5.0020.0008.0044] # +01C4 ; [.15E5.0020.0009.01C4] # LATIN CAPITAL LETTER DZ WITH CARON +0064 007A 030C ; [.15E5.0020.0002.0064] # +0044 007A 030C ; [.15E5.0020.0007.0044][.0000.0000.0001.0000] # +0044 005A 030C ; [.15E5.0020.0008.0044] # 0111 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE 0064 0335 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE 0110 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE 0044 0335 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE -01C9 ; [.16C5.0020.0002.01C9] # LATIN SMALL LETTER LJ -006C 006A ; [.16C5.0020.0002.01C9] # -006C 004A ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # -01C8 ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J -004C 006A ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # -01C7 ; [.16C5.0020.0008.01C7] # LATIN CAPITAL LETTER LJ -004C 004A ; [.16C5.0020.0008.01C7] # -01CC ; [.1703.0020.0002.01CC] # LATIN SMALL LETTER NJ -006E 006A ; [.1703.0020.0002.01CC] # -006E 004A ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # -01CB ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J -004E 006A ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # -01CA ; [.1703.0020.0008.01CA] # LATIN CAPITAL LETTER NJ -004E 004A ; [.1703.0020.0008.01CA] # +006C 006A ; [.16C5.0020.0002.006C] # +01C9 ; [.16C5.0020.0003.01C9] # LATIN SMALL LETTER LJ +004C 006A ; [.16C5.0020.0007.004C][.0000.0000.0001.0000] # +01C8 ; [.16C5.0020.0007.01C8][.0000.0000.0007.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J +004C 004A ; [.16C5.0020.0008.004C] # +01C7 ; [.16C5.0020.0009.01C7] # LATIN CAPITAL LETTER LJ +006E 006A ; [.1703.0020.0002.006E] # +01CC ; [.1703.0020.0003.01CC] # LATIN SMALL LETTER NJ +004E 006A ; [.1703.0020.0007.004E][.0000.0000.0001.0000] # +01CB ; [.1703.0020.0007.01CB][.0000.0000.0007.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J +004E 004A ; [.1703.0020.0008.004E] # +01CA ; [.1703.0020.0009.01CA] # LATIN CAPITAL LETTER NJ 0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON 0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON 0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON diff --git a/cpan/Unicode-Collate/Collate/Locale/hy.pl b/cpan/Unicode-Collate/Collate/Locale/hy.pl index e67f360..595bfe4 100644 --- a/cpan/Unicode-Collate/Collate/Locale/hy.pl +++ b/cpan/Unicode-Collate/Collate/Locale/hy.pl @@ -1,6 +1,6 @@ +{ entry => <<'ENTRY', # for DUCET v6.0.0 -0587 ; [.1BF1.0020.0002.0584][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN -0535 0582 ; [.1BF1.0020.0008.0554][.FFF1.0000.0000.0000] # +0587 ; [.1BF1.0020.0002.0587][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN +0535 0582 ; [.1BF1.0020.0008.0535][.FFF1.0000.0000.0000] # ENTRY }; diff --git a/cpan/Unicode-Collate/Collate/Locale/ja.pl b/cpan/Unicode-Collate/Collate/Locale/ja.pl index 0b49c17..0be2171 100644 --- a/cpan/Unicode-Collate/Collate/Locale/ja.pl +++ b/cpan/Unicode-Collate/Collate/Locale/ja.pl @@ -88,6 +88,8 @@ use Unicode::Collate::CJK::JISX0208; 3094 ; [.3198.0020.0011.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU 3095 ; [.319C.0020.000F.3095] # HIRAGANA LETTER SMALL KA 3096 ; [.319F.0020.000F.3096] # HIRAGANA LETTER SMALL KE +309D ; [.1571.0020.0002.309D] # HIRAGANA ITERATION MARK +309E ; [.1571.0020.0002.309D][.0000.014E.0002.3099] # HIRAGANA VOICED ITERATION MARK 3000 ; [*020A.0020.0002.0020] # IDEOGRAPHIC SPACE FF01 ; [*027B.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK FF02 ; [*0304.0020.0002.0022] # FULLWIDTH QUOTATION MARK diff --git a/cpan/Unicode-Collate/Collate/Locale/kk.pl b/cpan/Unicode-Collate/Collate/Locale/kk.pl index bc36ebd..8899a52 100644 --- a/cpan/Unicode-Collate/Collate/Locale/kk.pl +++ b/cpan/Unicode-Collate/Collate/Locale/kk.pl @@ -1,15 +1,23 @@ +{ -# barred-o doesn't require tailoring - suppress => [0x0400..0x045F], + suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435, + 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E, + 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, + 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475], entry => <<'ENTRY', # for DUCET v6.0.0 -04B1 ; [.1A7A.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE -04B0 ; [.1A7A.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE +0451 ; [.198C.0020.0002.0451] # CYRILLIC SMALL LETTER IO +0435 0308 ; [.198C.0020.0002.0451] # CYRILLIC SMALL LETTER IO +0401 ; [.198C.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO +0415 0308 ; [.198C.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO +04AF ; [.1A80.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U +04AE ; [.1A80.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U 0456 ; [.1AF8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 0406 ; [.1AF8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I 04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE 04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE 04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS 04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS +04DB ; [.194F.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS +04DA ; [.194F.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS 0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE 0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE 04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE @@ -18,14 +26,12 @@ 04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS 04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS 04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS -04E5 ; [.19BC.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS -04E4 ; [.19BC.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS 0457 ; [.1AF8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI 0407 ; [.1AF8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI -0439 ; [.19BC.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I -0419 ; [.19BC.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I 04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS 04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS +04EB ; [.1A31.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS +04EA ; [.1A31.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS 045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE 040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE 045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U @@ -40,5 +46,7 @@ 04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS 04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS 04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS +0477 ; [.1B3C.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +0476 ; [.1B3C.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT ENTRY }; diff --git a/cpan/Unicode-Collate/Collate/Locale/kn.pl b/cpan/Unicode-Collate/Collate/Locale/kn.pl new file mode 100644 index 0000000..bd471cd --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/kn.pl @@ -0,0 +1,8 @@ ++{ + entry => <<'ENTRY', # for DUCET v6.0.0 +0C82 ; [.2164.0020.0002.0C82][.FFF1.0000.0000.0000] # KANNADA SIGN ANUSVARA +0C83 ; [.2164.0020.0002.0C83][.FFF2.0000.0000.0000] # KANNADA SIGN VISARGA +0CF1 ; [.2164.0020.0002.0CF1][.FFF3.0000.0000.0000] # KANNADA SIGN JIHVAMULIYA +0CF2 ; [.2164.0020.0002.0CF2][.FFF4.0000.0000.0000] # KANNADA SIGN UPADHMANIYA +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/kok.pl b/cpan/Unicode-Collate/Collate/Locale/kok.pl new file mode 100644 index 0000000..88e698a --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/kok.pl @@ -0,0 +1,10 @@ ++{ + entry => <<'ENTRY', # for DUCET v6.0.0 +0902 ; [.1F7B.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA +0901 ; [.1F7B.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU +0903 ; [.1F7B.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA +0933 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA +0915 094D 0937 ; [.1FBC.0020.0002.0915][.FFF2.0000.0000.0000] # +0934 ; [.1FBC.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/ln.pl b/cpan/Unicode-Collate/Collate/Locale/ln.pl new file mode 100644 index 0000000..c5a29cf --- /dev/null +++ b/cpan/Unicode-Collate/Collate/Locale/ln.pl @@ -0,0 +1,11 @@ ++{ + entry => <<'ENTRY', # for DUCET v6.0.0 +025B ; [.1600.0020.0002.025B] # LATIN SMALL LETTER OPEN E +0190 ; [.1600.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E +2107 ; [.1600.0020.000A.2107] # EULER CONSTANT +1D4B ; [.1600.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E +0254 ; [.1724.0021.0002.0254] # LATIN SMALL LETTER OPEN O +0186 ; [.1724.0021.0008.0186] # LATIN CAPITAL LETTER OPEN O +1D53 ; [.1724.0021.0014.1D53] # MODIFIER LETTER SMALL OPEN O +ENTRY +}; diff --git a/cpan/Unicode-Collate/Collate/Locale/lt.pl b/cpan/Unicode-Collate/Collate/Locale/lt.pl index bf6a034..589c0c7 100644 --- a/cpan/Unicode-Collate/Collate/Locale/lt.pl +++ b/cpan/Unicode-Collate/Collate/Locale/lt.pl @@ -1,22 +1,47 @@ +{ +# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ? entry => <<'ENTRY', # for DUCET v6.0.0 -0307 ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE -010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON -0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON -010C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON -0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON -0079 ; [.1680.0021.0002.0079] # LATIN SMALL LETTER Y -0059 ; [.1680.0021.0008.0059] # LATIN CAPITAL LETTER Y -0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON -0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON -0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON -0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON -017E ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON -007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON -017D ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON -005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON -0117 ; [.15FF.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE -0116 ; [.15FF.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE -0130 ; [.1680.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE +0049 0307 ; [.1680.0020.0008.0049][.0000.0052.0002.0307] # +0307 0300 ; [.0000.0035.0002.0300] # +0307 0301 ; [.0000.0032.0002.0301] # +0307 0303 ; [.0000.004E.0002.0303] # +0105 ; [.15A3.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK +0061 0328 ; [.15A3.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK +0104 ; [.15A3.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK +0041 0328 ; [.15A3.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK +010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON +0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON +010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON +0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON +0119 ; [.15FF.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0065 0328 ; [.15FF.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK +0118 ; [.15FF.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +0045 0328 ; [.15FF.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK +0117 ; [.15FF.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE +0065 0307 ; [.15FF.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE +0116 ; [.15FF.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE +0045 0307 ; [.15FF.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE +012F ; [.1680.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK +0069 0328 ; [.1680.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK +012E ; [.1680.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK +0049 0328 ; [.1680.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK +0079 ; [.1680.0022.0002.0079] # LATIN SMALL LETTER Y +0059 ; [.1680.0022.0008.0059] # LATIN CAPITAL LETTER Y +0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON +0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON +0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON +0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON +0173 ; [.17E9.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK +0075 0328 ; [.17E9.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK +0172 ; [.17E9.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK +0055 0328 ; [.17E9.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK +016B ; [.17E9.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON +0075 0304 ; [.17E9.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON +016A ; [.17E9.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON +0055 0304 ; [.17E9.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON +017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON +007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON +017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON +005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON ENTRY }; diff --git a/cpan/Unicode-Collate/Collate/Locale/lv.pl b/cpan/Unicode-Collate/Collate/Locale/lv.pl index 7397f0c..2e14043 100644 --- a/cpan/Unicode-Collate/Collate/Locale/lv.pl +++ b/cpan/Unicode-Collate/Collate/Locale/lv.pl @@ -1,5 +1,4 @@ +{ -# ignored: Y < J entry => <<'ENTRY', # for DUCET v6.0.0 010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON 0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON diff --git a/cpan/Unicode-Collate/README b/cpan/Unicode-Collate/README index f5c99b8..c6af50c 100644 --- a/cpan/Unicode-Collate/README +++ b/cpan/Unicode-Collate/README @@ -1,4 +1,4 @@ -Unicode/Collate version 0.79 +Unicode/Collate version 0.80 =============================== NAME diff --git a/cpan/Unicode-Collate/t/loc_be.t b/cpan/Unicode-Collate/t/loc_be.t index f9d20d9..be08550 100644 --- a/cpan/Unicode-Collate/t/loc_be.t +++ b/cpan/Unicode-Collate/t/loc_be.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 190 }; +BEGIN { plan tests => 191 }; use strict; use warnings; @@ -200,3 +200,9 @@ for my $i ("", "\0") { } # 190 + +$objBe->change(upper_before_lower => 1); + +ok($objBe->gt("\x{451}", "\x{401}")); + +# 191 diff --git a/cpan/Unicode-Collate/t/loc_bs.t b/cpan/Unicode-Collate/t/loc_bs.t new file mode 100644 index 0000000..0ffec2c --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_bs.t @@ -0,0 +1,186 @@ + +BEGIN { + unless ("A" eq pack('U', 0x41)) { + print "1..0 # Unicode::Collate " . + "cannot stringify a Unicode code point\n"; + exit 0; + } + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); + } +} + +use Test; +BEGIN { plan tests => 118 }; + +use strict; +use warnings; +use Unicode::Collate::Locale; + +ok(1); + +######################### + +my $objBs = Unicode::Collate::Locale-> + new(locale => 'BS', normalization => undef); + +ok($objBs->getlocale, 'bs'); + +$objBs->change(level => 1); + +ok($objBs->lt("c", "c\x{30C}")); +ok($objBs->lt("c\x{30C}", "c\x{301}")); +ok($objBs->gt("d", "c\x{301}")); +ok($objBs->lt("d", "dz\x{30C}")); +ok($objBs->lt("dzz", "dz\x{30C}")); +ok($objBs->lt("dz\x{30C}", "d\x{335}")); +ok($objBs->gt("e", "d\x{335}")); +ok($objBs->lt("l", "lj")); +ok($objBs->lt("lz","lj")); +ok($objBs->gt("m", "lj")); +ok($objBs->lt("n", "nj")); +ok($objBs->lt("nz","nj")); +ok($objBs->gt("o", "nj")); +ok($objBs->lt("s", "s\x{30C}")); +ok($objBs->lt("sz","s\x{30C}")); +ok($objBs->gt("t", "s\x{30C}")); +ok($objBs->lt("z", "z\x{30C}")); +ok($objBs->lt("zz","z\x{30C}")); +ok($objBs->lt("z\x{30C}", "\x{292}")); # U+0292 EZH + +# 21 + +# not tailored +ok($objBs->lt("dZ\x{30C}","dz\x{30C}")); +ok($objBs->lt("lJ", "lj")); +ok($objBs->lt("nJ", "nj")); + +# 24 + +$objBs->change(level => 2); + +ok($objBs->eq("c\x{30C}", "C\x{30C}")); +ok($objBs->eq("c\x{301}", "C\x{301}")); +ok($objBs->eq("dz\x{30C}","Dz\x{30C}")); +ok($objBs->eq("Dz\x{30C}","DZ\x{30C}")); +ok($objBs->eq("d\x{335}", "D\x{335}")); +ok($objBs->eq("lj", "Lj")); +ok($objBs->eq("Lj", "LJ")); +ok($objBs->eq("nj", "Nj")); +ok($objBs->eq("Nj", "NJ")); +ok($objBs->eq("s\x{30C}", "S\x{30C}")); +ok($objBs->eq("z\x{30C}", "Z\x{30C}")); + +# 35 + +ok($objBs->eq("dz\x{30C}", "\x{1C6}")); +ok($objBs->eq("Dz\x{30C}", "\x{1C6}")); +ok($objBs->eq("Dz\x{30C}", "\x{1C5}")); +ok($objBs->eq("DZ\x{30C}", "\x{1C5}")); +ok($objBs->eq("DZ\x{30C}", "\x{1C4}")); + +ok($objBs->eq("lj", "\x{1C9}")); +ok($objBs->eq("Lj", "\x{1C9}")); +ok($objBs->eq("Lj", "\x{1C8}")); +ok($objBs->eq("LJ", "\x{1C8}")); +ok($objBs->eq("LJ", "\x{1C7}")); + +ok($objBs->eq("nj", "\x{1CC}")); +ok($objBs->eq("Nj", "\x{1CC}")); +ok($objBs->eq("Nj", "\x{1CB}")); +ok($objBs->eq("NJ", "\x{1CB}")); +ok($objBs->eq("NJ", "\x{1CA}")); + +# 50 + +$objBs->change(level => 3); + +ok($objBs->lt("c\x{30C}", "C\x{30C}")); +ok($objBs->lt("c\x{301}", "C\x{301}")); +ok($objBs->lt("dz\x{30C}","Dz\x{30C}")); +ok($objBs->lt("Dz\x{30C}","DZ\x{30C}")); +ok($objBs->lt("d\x{335}", "D\x{335}")); +ok($objBs->lt("lj", "Lj")); +ok($objBs->lt("Lj", "LJ")); +ok($objBs->lt("nj", "Nj")); +ok($objBs->lt("Nj", "NJ")); +ok($objBs->lt("s\x{30C}", "S\x{30C}")); +ok($objBs->lt("z\x{30C}", "Z\x{30C}")); + +# 61 + +ok($objBs->lt("dz\x{30C}", "\x{1C6}")); +ok($objBs->gt("Dz\x{30C}", "\x{1C6}")); +ok($objBs->lt("Dz\x{30C}", "\x{1C5}")); +ok($objBs->gt("DZ\x{30C}", "\x{1C5}")); +ok($objBs->lt("DZ\x{30C}", "\x{1C4}")); + +ok($objBs->lt("lj", "\x{1C9}")); +ok($objBs->gt("Lj", "\x{1C9}")); +ok($objBs->lt("Lj", "\x{1C8}")); +ok($objBs->gt("LJ", "\x{1C8}")); +ok($objBs->lt("LJ", "\x{1C7}")); + +ok($objBs->lt("nj", "\x{1CC}")); +ok($objBs->gt("Nj", "\x{1CC}")); +ok($objBs->lt("Nj", "\x{1CB}")); +ok($objBs->gt("NJ", "\x{1CB}")); +ok($objBs->lt("NJ", "\x{1CA}")); + +# 76 + +ok($objBs->eq("c\x{30C}", "\x{10D}")); +ok($objBs->eq("C\x{30C}", "\x{10C}")); +ok($objBs->eq("c\x{301}", "\x{107}")); +ok($objBs->eq("c\x{341}", "\x{107}")); +ok($objBs->eq("C\x{301}", "\x{106}")); +ok($objBs->eq("C\x{341}", "\x{106}")); +ok($objBs->eq("dz\x{30C}", "d\x{17E}")); +ok($objBs->eq("dZ\x{30C}", "d\x{17D}")); +ok($objBs->eq("Dz\x{30C}", "D\x{17E}")); +ok($objBs->eq("DZ\x{30C}", "D\x{17D}")); +ok($objBs->eq("d\x{335}", "\x{111}")); +ok($objBs->eq("D\x{335}", "\x{110}")); +ok($objBs->eq("s\x{30C}", "\x{161}")); +ok($objBs->eq("S\x{30C}", "\x{160}")); +ok($objBs->eq("z\x{30C}", "\x{17E}")); +ok($objBs->eq("Z\x{30C}", "\x{17D}")); + +# 92 + +$objBs->change(upper_before_lower => 1); + +ok($objBs->gt("c\x{30C}", "C\x{30C}")); +ok($objBs->gt("c\x{301}", "C\x{301}")); +ok($objBs->gt("dz\x{30C}","Dz\x{30C}")); +ok($objBs->gt("Dz\x{30C}","DZ\x{30C}")); +ok($objBs->gt("d\x{335}", "D\x{335}")); +ok($objBs->gt("lj", "Lj")); +ok($objBs->gt("Lj", "LJ")); +ok($objBs->gt("nj", "Nj")); +ok($objBs->gt("Nj", "NJ")); +ok($objBs->gt("s\x{30C}", "S\x{30C}")); +ok($objBs->gt("z\x{30C}", "Z\x{30C}")); + +# 103 + +ok($objBs->lt("DZ\x{30C}", "\x{1C4}")); +ok($objBs->gt("Dz\x{30C}", "\x{1C4}")); +ok($objBs->lt("Dz\x{30C}", "\x{1C5}")); +ok($objBs->gt("dz\x{30C}", "\x{1C5}")); +ok($objBs->lt("dz\x{30C}", "\x{1C6}")); + +ok($objBs->lt("LJ", "\x{1C7}")); +ok($objBs->gt("Lj", "\x{1C7}")); +ok($objBs->lt("Lj", "\x{1C8}")); +ok($objBs->gt("lj", "\x{1C8}")); +ok($objBs->lt("lj", "\x{1C9}")); + +ok($objBs->lt("NJ", "\x{1CA}")); +ok($objBs->gt("Nj", "\x{1CA}")); +ok($objBs->lt("Nj", "\x{1CB}")); +ok($objBs->gt("nj", "\x{1CB}")); +ok($objBs->lt("nj", "\x{1CC}")); + +# 118 diff --git a/cpan/Unicode-Collate/t/loc_ha.t b/cpan/Unicode-Collate/t/loc_ha.t index 72e6742..0305a96 100644 --- a/cpan/Unicode-Collate/t/loc_ha.t +++ b/cpan/Unicode-Collate/t/loc_ha.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 34 }; +BEGIN { plan tests => 51 }; use strict; use warnings; @@ -56,7 +56,14 @@ ok($objHa->eq("Ts", "TS")); ok($objHa->eq("'y", "'Y")); ok($objHa->eq("\x{1B4}", "\x{1B3}")); -# 23 +ok($objHa->eq("\x{1B4}", "\x{2BC}y")); +ok($objHa->eq("\x{2BC}y","'y")); +ok($objHa->eq("'y", "\x{1B3}")); +ok($objHa->eq("\x{1B3}", "\x{2BC}Y")); +ok($objHa->eq("\x{2BC}Y","'Y")); +ok($objHa->eq("'Y", "\x{1B4}")); + +# 29 $objHa->change(level => 3); @@ -69,7 +76,24 @@ 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 +ok($objHa->lt("\x{1B4}", "\x{2BC}y")); +ok($objHa->lt("\x{2BC}y","'y")); +ok($objHa->lt("'y", "\x{1B3}")); +ok($objHa->lt("\x{1B3}", "\x{2BC}Y")); +ok($objHa->lt("\x{2BC}Y","'Y")); +ok($objHa->gt("'Y", "\x{1B4}")); + +# 44 + +$objHa->change(upper_before_lower => 1); + +ok($objHa->gt("\x{1B4}", "\x{1B3}")); +ok($objHa->lt("\x{1B4}", "\x{2BC}y")); +ok($objHa->lt("\x{2BC}y","'y")); +ok($objHa->gt("'y", "\x{1B3}")); +ok($objHa->lt("\x{1B3}", "\x{2BC}Y")); +ok($objHa->lt("\x{2BC}Y","'Y")); +ok($objHa->lt("'Y", "\x{1B4}")); + +# 51 diff --git a/cpan/Unicode-Collate/t/loc_hi.t b/cpan/Unicode-Collate/t/loc_hi.t new file mode 100644 index 0000000..d77831e --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_hi.t @@ -0,0 +1,41 @@ + +BEGIN { + unless ("A" eq pack('U', 0x41)) { + print "1..0 # Unicode::Collate " . + "cannot stringify a Unicode code point\n"; + exit 0; + } + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); + } +} + +use Test; +BEGIN { plan tests => 7 }; + +use strict; +use warnings; +use Unicode::Collate::Locale; + +ok(1); + +######################### + +my $objHi = Unicode::Collate::Locale-> + new(locale => 'HI', normalization => undef); + +ok($objHi->getlocale, 'hi'); + +$objHi->change(level => 1); + +ok($objHi->lt("\x{950}", "\x{902}")); +ok($objHi->lt("\x{902}", "\x{903}")); +ok($objHi->lt("\x{903}", "\x{972}")); + +ok($objHi->eq("\x{902}", "\x{901}")); + +$objHi->change(level => 2); + +ok($objHi->lt("\x{902}", "\x{901}")); + diff --git a/cpan/Unicode-Collate/t/loc_hr.t b/cpan/Unicode-Collate/t/loc_hr.t index 5c01a0f..223aef4 100644 --- a/cpan/Unicode-Collate/t/loc_hr.t +++ b/cpan/Unicode-Collate/t/loc_hr.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 88 }; +BEGIN { plan tests => 118 }; use strict; use warnings; @@ -51,43 +51,84 @@ ok($objHr->lt("z\x{30C}", "\x{292}")); # U+0292 EZH # 21 +# not tailored +ok($objHr->lt("dZ\x{30C}","dz\x{30C}")); +ok($objHr->lt("lJ", "lj")); +ok($objHr->lt("nJ", "nj")); + +# 24 + $objHr->change(level => 2); ok($objHr->eq("c\x{30C}", "C\x{30C}")); ok($objHr->eq("c\x{301}", "C\x{301}")); -ok($objHr->eq("dz\x{30C}","dZ\x{30C}")); -ok($objHr->eq("dZ\x{30C}","Dz\x{30C}")); +ok($objHr->eq("dz\x{30C}","Dz\x{30C}")); ok($objHr->eq("Dz\x{30C}","DZ\x{30C}")); ok($objHr->eq("d\x{335}", "D\x{335}")); -ok($objHr->eq("lj", "lJ")); -ok($objHr->eq("lJ", "Lj")); +ok($objHr->eq("lj", "Lj")); ok($objHr->eq("Lj", "LJ")); -ok($objHr->eq("nj", "nJ")); -ok($objHr->eq("nJ", "Nj")); +ok($objHr->eq("nj", "Nj")); ok($objHr->eq("Nj", "NJ")); ok($objHr->eq("s\x{30C}", "S\x{30C}")); ok($objHr->eq("z\x{30C}", "Z\x{30C}")); # 35 +ok($objHr->eq("dz\x{30C}", "\x{1C6}")); +ok($objHr->eq("Dz\x{30C}", "\x{1C6}")); +ok($objHr->eq("Dz\x{30C}", "\x{1C5}")); +ok($objHr->eq("DZ\x{30C}", "\x{1C5}")); +ok($objHr->eq("DZ\x{30C}", "\x{1C4}")); + +ok($objHr->eq("lj", "\x{1C9}")); +ok($objHr->eq("Lj", "\x{1C9}")); +ok($objHr->eq("Lj", "\x{1C8}")); +ok($objHr->eq("LJ", "\x{1C8}")); +ok($objHr->eq("LJ", "\x{1C7}")); + +ok($objHr->eq("nj", "\x{1CC}")); +ok($objHr->eq("Nj", "\x{1CC}")); +ok($objHr->eq("Nj", "\x{1CB}")); +ok($objHr->eq("NJ", "\x{1CB}")); +ok($objHr->eq("NJ", "\x{1CA}")); + +# 50 + $objHr->change(level => 3); ok($objHr->lt("c\x{30C}", "C\x{30C}")); ok($objHr->lt("c\x{301}", "C\x{301}")); -ok($objHr->lt("dz\x{30C}","dZ\x{30C}")); -ok($objHr->lt("dZ\x{30C}","Dz\x{30C}")); +ok($objHr->lt("dz\x{30C}","Dz\x{30C}")); ok($objHr->lt("Dz\x{30C}","DZ\x{30C}")); ok($objHr->lt("d\x{335}", "D\x{335}")); -ok($objHr->lt("lj", "lJ")); -ok($objHr->lt("lJ", "Lj")); +ok($objHr->lt("lj", "Lj")); ok($objHr->lt("Lj", "LJ")); -ok($objHr->lt("nj", "nJ")); -ok($objHr->lt("nJ", "Nj")); +ok($objHr->lt("nj", "Nj")); ok($objHr->lt("Nj", "NJ")); ok($objHr->lt("s\x{30C}", "S\x{30C}")); ok($objHr->lt("z\x{30C}", "Z\x{30C}")); -# 49 +# 61 + +ok($objHr->lt("dz\x{30C}", "\x{1C6}")); +ok($objHr->gt("Dz\x{30C}", "\x{1C6}")); +ok($objHr->lt("Dz\x{30C}", "\x{1C5}")); +ok($objHr->gt("DZ\x{30C}", "\x{1C5}")); +ok($objHr->lt("DZ\x{30C}", "\x{1C4}")); + +ok($objHr->lt("lj", "\x{1C9}")); +ok($objHr->gt("Lj", "\x{1C9}")); +ok($objHr->lt("Lj", "\x{1C8}")); +ok($objHr->gt("LJ", "\x{1C8}")); +ok($objHr->lt("LJ", "\x{1C7}")); + +ok($objHr->lt("nj", "\x{1CC}")); +ok($objHr->gt("Nj", "\x{1CC}")); +ok($objHr->lt("Nj", "\x{1CB}")); +ok($objHr->gt("NJ", "\x{1CB}")); +ok($objHr->lt("NJ", "\x{1CA}")); + +# 76 ok($objHr->eq("c\x{30C}", "\x{10D}")); ok($objHr->eq("C\x{30C}", "\x{10C}")); @@ -95,43 +136,51 @@ ok($objHr->eq("c\x{301}", "\x{107}")); ok($objHr->eq("c\x{341}", "\x{107}")); ok($objHr->eq("C\x{301}", "\x{106}")); ok($objHr->eq("C\x{341}", "\x{106}")); -ok($objHr->eq("dz\x{30C}", "\x{1C6}")); -ok($objHr->eq("Dz\x{30C}", "\x{1C5}")); -ok($objHr->eq("DZ\x{30C}", "\x{1C4}")); ok($objHr->eq("dz\x{30C}", "d\x{17E}")); ok($objHr->eq("dZ\x{30C}", "d\x{17D}")); ok($objHr->eq("Dz\x{30C}", "D\x{17E}")); ok($objHr->eq("DZ\x{30C}", "D\x{17D}")); ok($objHr->eq("d\x{335}", "\x{111}")); ok($objHr->eq("D\x{335}", "\x{110}")); -ok($objHr->eq("lj", "\x{1C9}")); -ok($objHr->eq("Lj", "\x{1C8}")); -ok($objHr->eq("LJ", "\x{1C7}")); -ok($objHr->eq("nj", "\x{1CC}")); -ok($objHr->eq("Nj", "\x{1CB}")); -ok($objHr->eq("NJ", "\x{1CA}")); ok($objHr->eq("s\x{30C}", "\x{161}")); ok($objHr->eq("S\x{30C}", "\x{160}")); ok($objHr->eq("z\x{30C}", "\x{17E}")); ok($objHr->eq("Z\x{30C}", "\x{17D}")); -# 74 +# 92 $objHr->change(upper_before_lower => 1); ok($objHr->gt("c\x{30C}", "C\x{30C}")); ok($objHr->gt("c\x{301}", "C\x{301}")); -ok($objHr->gt("dz\x{30C}","dZ\x{30C}")); -ok($objHr->gt("dZ\x{30C}","Dz\x{30C}")); +ok($objHr->gt("dz\x{30C}","Dz\x{30C}")); ok($objHr->gt("Dz\x{30C}","DZ\x{30C}")); ok($objHr->gt("d\x{335}", "D\x{335}")); -ok($objHr->gt("lj", "lJ")); -ok($objHr->gt("lJ", "Lj")); +ok($objHr->gt("lj", "Lj")); ok($objHr->gt("Lj", "LJ")); -ok($objHr->gt("nj", "nJ")); -ok($objHr->gt("nJ", "Nj")); +ok($objHr->gt("nj", "Nj")); ok($objHr->gt("Nj", "NJ")); ok($objHr->gt("s\x{30C}", "S\x{30C}")); ok($objHr->gt("z\x{30C}", "Z\x{30C}")); -# 88 +# 103 + +ok($objHr->lt("DZ\x{30C}", "\x{1C4}")); +ok($objHr->gt("Dz\x{30C}", "\x{1C4}")); +ok($objHr->lt("Dz\x{30C}", "\x{1C5}")); +ok($objHr->gt("dz\x{30C}", "\x{1C5}")); +ok($objHr->lt("dz\x{30C}", "\x{1C6}")); + +ok($objHr->lt("LJ", "\x{1C7}")); +ok($objHr->gt("Lj", "\x{1C7}")); +ok($objHr->lt("Lj", "\x{1C8}")); +ok($objHr->gt("lj", "\x{1C8}")); +ok($objHr->lt("lj", "\x{1C9}")); + +ok($objHr->lt("NJ", "\x{1CA}")); +ok($objHr->gt("Nj", "\x{1CA}")); +ok($objHr->lt("Nj", "\x{1CB}")); +ok($objHr->gt("nj", "\x{1CB}")); +ok($objHr->lt("nj", "\x{1CC}")); + +# 118 diff --git a/cpan/Unicode-Collate/t/loc_ja.t b/cpan/Unicode-Collate/t/loc_ja.t index 5a77418..50dffaf 100644 --- a/cpan/Unicode-Collate/t/loc_ja.t +++ b/cpan/Unicode-Collate/t/loc_ja.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 490 }; +BEGIN { plan tests => 497 }; use strict; use warnings; @@ -163,8 +163,10 @@ ok($objJa->eq("\x{3093}", "\x{30F3}")); ok($objJa->eq("\x{3094}", "\x{30F4}")); ok($objJa->eq("\x{3095}", "\x{30F5}")); ok($objJa->eq("\x{3096}", "\x{30F6}")); +ok($objJa->eq("\x{309D}", "\x{30FD}")); +ok($objJa->eq("\x{309E}", "\x{30FE}")); -# 118 +# 120 $objJa->change(variable => 'Non-ignorable'); @@ -343,7 +345,7 @@ ok($objJa->eq("\x{FFEC}", "\x{2193}")); ok($objJa->eq("\x{FFED}", "\x{25A0}")); ok($objJa->eq("\x{FFEE}", "\x{25CB}")); -# 292 +# 294 $objJa->change(level => 4); @@ -433,8 +435,10 @@ ok($objJa->lt("\x{3093}", "\x{30F3}")); ok($objJa->lt("\x{3094}", "\x{30F4}")); ok($objJa->lt("\x{3095}", "\x{30F5}")); ok($objJa->lt("\x{3096}", "\x{30F6}")); +ok($objJa->lt("\x{309D}", "\x{30FD}")); +ok($objJa->lt("\x{309E}", "\x{30FE}")); -# 378 +# 382 ok($objJa->eq("\x{304C}", "\x{304B}\x{3099}")); ok($objJa->eq("\x{304E}", "\x{304D}\x{3099}")); @@ -462,8 +466,9 @@ ok($objJa->eq("\x{307A}", "\x{3078}\x{309A}")); ok($objJa->eq("\x{307C}", "\x{307B}\x{3099}")); ok($objJa->eq("\x{307D}", "\x{307B}\x{309A}")); ok($objJa->eq("\x{3094}", "\x{3046}\x{3099}")); +ok($objJa->eq("\x{309E}", "\x{309D}\x{3099}")); -# 404 +# 409 $objJa->change(katakana_before_hiragana => 1); @@ -553,5 +558,7 @@ ok($objJa->lt("\x{3093}", "\x{30F3}")); ok($objJa->lt("\x{3094}", "\x{30F4}")); ok($objJa->lt("\x{3095}", "\x{30F5}")); ok($objJa->lt("\x{3096}", "\x{30F6}")); +ok($objJa->lt("\x{309D}", "\x{30FD}")); +ok($objJa->lt("\x{309E}", "\x{30FE}")); -# 490 +# 497 diff --git a/cpan/Unicode-Collate/t/loc_kk.t b/cpan/Unicode-Collate/t/loc_kk.t index 413d532..ee58409 100644 --- a/cpan/Unicode-Collate/t/loc_kk.t +++ b/cpan/Unicode-Collate/t/loc_kk.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 149 }; +BEGIN { plan tests => 217 }; use strict; use warnings; @@ -29,37 +29,59 @@ ok($objKk->getlocale, 'kk'); $objKk->change(level => 1); -ok($objKk->lt("\x{43E}", "\x{4E9}")); -ok($objKk->gt("\x{43F}", "\x{4E9}")); -ok($objKk->lt("\x{443}", "\x{4B1}")); +ok($objKk->gt("\x{451}", "\x{435}")); +ok($objKk->gt("\x{401}", "\x{415}")); ok($objKk->gt("\x{4AF}", "\x{4B1}")); -ok($objKk->lt("\x{44B}", "\x{456}")); -ok($objKk->gt("\x{44C}", "\x{456}")); +ok($objKk->gt("\x{4AE}", "\x{4B0}")); +ok($objKk->lt("\x{456}", "\x{44C}")); +ok($objKk->lt("\x{406}", "\x{42C}")); -# 8 +ok($objKk->lt("\x{451}", "\x{454}")); +ok($objKk->lt("\x{401}", "\x{404}")); +ok($objKk->lt("\x{4AF}", "\x{A64B}")); +ok($objKk->lt("\x{4AE}", "\x{A64A}")); +ok($objKk->gt("\x{456}", "\x{4F9}")); +ok($objKk->gt("\x{406}", "\x{4F8}")); + +ok($objKk->gt("\x{4E5}", "\x{438}")); # not suppressed +ok($objKk->gt("\x{4E4}", "\x{418}")); # not suppressed +ok($objKk->gt("\x{439}", "\x{438}")); # not suppressed +ok($objKk->gt("\x{419}", "\x{418}")); # not suppressed + +# 18 ok($objKk->eq("\x{4D1}", "\x{430}")); ok($objKk->eq("\x{4D0}", "\x{410}")); ok($objKk->eq("\x{4D3}", "\x{430}")); ok($objKk->eq("\x{4D2}", "\x{410}")); +ok($objKk->eq("\x{4DB}", "\x{4D9}")); +ok($objKk->eq("\x{4DA}", "\x{4D8}")); ok($objKk->eq("\x{453}", "\x{433}")); ok($objKk->eq("\x{403}", "\x{413}")); +ok($objKk->eq("\x{450}", "\x{435}")); # not contraction +ok($objKk->eq("\x{400}", "\x{415}")); # not contraction ok($objKk->eq("\x{4D7}", "\x{435}")); ok($objKk->eq("\x{4D6}", "\x{415}")); +ok($objKk->eq("\x{4C2}", "\x{436}")); # not contraction +ok($objKk->eq("\x{4C1}", "\x{416}")); # not contraction ok($objKk->eq("\x{4DD}", "\x{436}")); ok($objKk->eq("\x{4DC}", "\x{416}")); ok($objKk->eq("\x{4DF}", "\x{437}")); ok($objKk->eq("\x{4DE}", "\x{417}")); -ok($objKk->eq("\x{4E5}", "\x{438}")); -ok($objKk->eq("\x{4E4}", "\x{418}")); +ok($objKk->eq("\x{45D}", "\x{438}")); # not contraction +ok($objKk->eq("\x{40D}", "\x{418}")); # not contraction +ok($objKk->eq("\x{4E3}", "\x{438}")); # not contraction +ok($objKk->eq("\x{4E2}", "\x{418}")); # not contraction ok($objKk->eq("\x{457}", "\x{456}")); ok($objKk->eq("\x{407}", "\x{406}")); -ok($objKk->eq("\x{439}", "\x{438}")); -ok($objKk->eq("\x{419}", "\x{418}")); ok($objKk->eq("\x{4E7}", "\x{43E}")); ok($objKk->eq("\x{4E6}", "\x{41E}")); +ok($objKk->eq("\x{4EB}", "\x{4E9}")); +ok($objKk->eq("\x{4EA}", "\x{4E8}")); ok($objKk->eq("\x{45C}", "\x{43A}")); ok($objKk->eq("\x{40C}", "\x{41A}")); +ok($objKk->eq("\x{4EF}", "\x{443}")); # not contraction +ok($objKk->eq("\x{4EE}", "\x{423}")); # not contraction ok($objKk->eq("\x{45E}", "\x{443}")); ok($objKk->eq("\x{40E}", "\x{423}")); ok($objKk->eq("\x{4F1}", "\x{443}")); @@ -72,33 +94,49 @@ ok($objKk->eq("\x{4F9}", "\x{44B}")); ok($objKk->eq("\x{4F8}", "\x{42B}")); ok($objKk->eq("\x{4ED}", "\x{44D}")); ok($objKk->eq("\x{4EC}", "\x{42D}")); +ok($objKk->eq("\x{477}", "\x{475}")); +ok($objKk->eq("\x{476}", "\x{474}")); -# 42 +# 64 $objKk->change(level => 2); +ok($objKk->eq("\x{451}", "\x{401}")); +ok($objKk->eq("\x{4AF}", "\x{4AE}")); +ok($objKk->eq("\x{456}", "\x{406}")); + ok($objKk->gt("\x{4D1}", "\x{430}")); ok($objKk->gt("\x{4D0}", "\x{410}")); ok($objKk->gt("\x{4D3}", "\x{430}")); ok($objKk->gt("\x{4D2}", "\x{410}")); +ok($objKk->gt("\x{4DB}", "\x{4D9}")); +ok($objKk->gt("\x{4DA}", "\x{4D8}")); ok($objKk->gt("\x{453}", "\x{433}")); ok($objKk->gt("\x{403}", "\x{413}")); +ok($objKk->gt("\x{450}", "\x{435}")); # not contraction +ok($objKk->gt("\x{400}", "\x{415}")); # not contraction ok($objKk->gt("\x{4D7}", "\x{435}")); ok($objKk->gt("\x{4D6}", "\x{415}")); +ok($objKk->gt("\x{4C2}", "\x{436}")); # not contraction +ok($objKk->gt("\x{4C1}", "\x{416}")); # not contraction ok($objKk->gt("\x{4DD}", "\x{436}")); ok($objKk->gt("\x{4DC}", "\x{416}")); ok($objKk->gt("\x{4DF}", "\x{437}")); ok($objKk->gt("\x{4DE}", "\x{417}")); -ok($objKk->gt("\x{4E5}", "\x{438}")); -ok($objKk->gt("\x{4E4}", "\x{418}")); +ok($objKk->gt("\x{45D}", "\x{438}")); # not contraction +ok($objKk->gt("\x{40D}", "\x{418}")); # not contraction +ok($objKk->gt("\x{4E3}", "\x{438}")); # not contraction +ok($objKk->gt("\x{4E2}", "\x{418}")); # not contraction ok($objKk->gt("\x{457}", "\x{456}")); ok($objKk->gt("\x{407}", "\x{406}")); -ok($objKk->gt("\x{439}", "\x{438}")); -ok($objKk->gt("\x{419}", "\x{418}")); ok($objKk->gt("\x{4E7}", "\x{43E}")); ok($objKk->gt("\x{4E6}", "\x{41E}")); +ok($objKk->gt("\x{4EB}", "\x{4E9}")); +ok($objKk->gt("\x{4EA}", "\x{4E8}")); ok($objKk->gt("\x{45C}", "\x{43A}")); ok($objKk->gt("\x{40C}", "\x{41A}")); +ok($objKk->gt("\x{4EF}", "\x{443}")); # not contraction +ok($objKk->gt("\x{4EE}", "\x{423}")); # not contraction ok($objKk->gt("\x{45E}", "\x{443}")); ok($objKk->gt("\x{40E}", "\x{423}")); ok($objKk->gt("\x{4F1}", "\x{443}")); @@ -111,90 +149,81 @@ ok($objKk->gt("\x{4F9}", "\x{44B}")); ok($objKk->gt("\x{4F8}", "\x{42B}")); ok($objKk->gt("\x{4ED}", "\x{44D}")); ok($objKk->gt("\x{4EC}", "\x{42D}")); +ok($objKk->gt("\x{477}", "\x{475}")); +ok($objKk->gt("\x{476}", "\x{474}")); -# 76 +# 113 $objKk->change(level => 3); -ok($objKk->lt("\x{4E9}", "\x{4E8}")); -ok($objKk->lt("\x{4B1}", "\x{4B0}")); +ok($objKk->lt("\x{451}", "\x{401}")); +ok($objKk->lt("\x{4AF}", "\x{4AE}")); ok($objKk->lt("\x{456}", "\x{406}")); -ok($objKk->eq("\x{4EB}", "\x{4E9}\x{308}")); -ok($objKk->eq("\x{4EA}", "\x{4E8}\x{308}")); - -# 81 - -ok($objKk->eq("\x{4D1}", "\x{430}\x{306}")); -ok($objKk->eq("\x{4D0}", "\x{410}\x{306}")); -ok($objKk->eq("\x{4D3}", "\x{430}\x{308}")); -ok($objKk->eq("\x{4D2}", "\x{410}\x{308}")); -ok($objKk->eq("\x{453}", "\x{433}\x{301}")); -ok($objKk->eq("\x{403}", "\x{413}\x{301}")); -ok($objKk->eq("\x{4D7}", "\x{435}\x{306}")); -ok($objKk->eq("\x{4D6}", "\x{415}\x{306}")); -ok($objKk->eq("\x{4DD}", "\x{436}\x{308}")); -ok($objKk->eq("\x{4DC}", "\x{416}\x{308}")); -ok($objKk->eq("\x{4DF}", "\x{437}\x{308}")); -ok($objKk->eq("\x{4DE}", "\x{417}\x{308}")); -ok($objKk->eq("\x{4E5}", "\x{438}\x{308}")); -ok($objKk->eq("\x{4E4}", "\x{418}\x{308}")); -ok($objKk->eq("\x{457}", "\x{456}\x{308}")); -ok($objKk->eq("\x{407}", "\x{406}\x{308}")); -ok($objKk->eq("\x{439}", "\x{438}\x{306}")); -ok($objKk->eq("\x{419}", "\x{418}\x{306}")); -ok($objKk->eq("\x{4E7}", "\x{43E}\x{308}")); -ok($objKk->eq("\x{4E6}", "\x{41E}\x{308}")); -ok($objKk->eq("\x{45C}", "\x{43A}\x{301}")); -ok($objKk->eq("\x{40C}", "\x{41A}\x{301}")); -ok($objKk->eq("\x{45E}", "\x{443}\x{306}")); -ok($objKk->eq("\x{40E}", "\x{423}\x{306}")); -ok($objKk->eq("\x{4F1}", "\x{443}\x{308}")); -ok($objKk->eq("\x{4F0}", "\x{423}\x{308}")); -ok($objKk->eq("\x{4F3}", "\x{443}\x{30B}")); -ok($objKk->eq("\x{4F2}", "\x{423}\x{30B}")); -ok($objKk->eq("\x{4F5}", "\x{447}\x{308}")); -ok($objKk->eq("\x{4F4}", "\x{427}\x{308}")); -ok($objKk->eq("\x{4F9}", "\x{44B}\x{308}")); -ok($objKk->eq("\x{4F8}", "\x{42B}\x{308}")); -ok($objKk->eq("\x{4ED}", "\x{44D}\x{308}")); -ok($objKk->eq("\x{4EC}", "\x{42D}\x{308}")); - -# 115 - -ok($objKk->eq("\x{4D1}", "\x{430}\0\x{306}")); -ok($objKk->eq("\x{4D0}", "\x{410}\0\x{306}")); -ok($objKk->eq("\x{4D3}", "\x{430}\0\x{308}")); -ok($objKk->eq("\x{4D2}", "\x{410}\0\x{308}")); -ok($objKk->eq("\x{453}", "\x{433}\0\x{301}")); -ok($objKk->eq("\x{403}", "\x{413}\0\x{301}")); -ok($objKk->eq("\x{4D7}", "\x{435}\0\x{306}")); -ok($objKk->eq("\x{4D6}", "\x{415}\0\x{306}")); -ok($objKk->eq("\x{4DD}", "\x{436}\0\x{308}")); -ok($objKk->eq("\x{4DC}", "\x{416}\0\x{308}")); -ok($objKk->eq("\x{4DF}", "\x{437}\0\x{308}")); -ok($objKk->eq("\x{4DE}", "\x{417}\0\x{308}")); -ok($objKk->eq("\x{4E5}", "\x{438}\0\x{308}")); -ok($objKk->eq("\x{4E4}", "\x{418}\0\x{308}")); -ok($objKk->eq("\x{457}", "\x{456}\0\x{308}")); -ok($objKk->eq("\x{407}", "\x{406}\0\x{308}")); -ok($objKk->eq("\x{439}", "\x{438}\0\x{306}")); -ok($objKk->eq("\x{419}", "\x{418}\0\x{306}")); -ok($objKk->eq("\x{4E7}", "\x{43E}\0\x{308}")); -ok($objKk->eq("\x{4E6}", "\x{41E}\0\x{308}")); -ok($objKk->eq("\x{45C}", "\x{43A}\0\x{301}")); -ok($objKk->eq("\x{40C}", "\x{41A}\0\x{301}")); -ok($objKk->eq("\x{45E}", "\x{443}\0\x{306}")); -ok($objKk->eq("\x{40E}", "\x{423}\0\x{306}")); -ok($objKk->eq("\x{4F1}", "\x{443}\0\x{308}")); -ok($objKk->eq("\x{4F0}", "\x{423}\0\x{308}")); -ok($objKk->eq("\x{4F3}", "\x{443}\0\x{30B}")); -ok($objKk->eq("\x{4F2}", "\x{423}\0\x{30B}")); -ok($objKk->eq("\x{4F5}", "\x{447}\0\x{308}")); -ok($objKk->eq("\x{4F4}", "\x{427}\0\x{308}")); -ok($objKk->eq("\x{4F9}", "\x{44B}\0\x{308}")); -ok($objKk->eq("\x{4F8}", "\x{42B}\0\x{308}")); -ok($objKk->eq("\x{4ED}", "\x{44D}\0\x{308}")); -ok($objKk->eq("\x{4EC}", "\x{42D}\0\x{308}")); - -# 149 +ok($objKk->eq("\x{451}", "\x{435}\x{308}")); +ok($objKk->eq("\x{401}", "\x{415}\x{308}")); +ok($objKk->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed +ok($objKk->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed +ok($objKk->eq("\x{439}", "\x{438}\x{306}")); # not suppressed +ok($objKk->eq("\x{419}", "\x{418}\x{306}")); # not suppressed + +# 122 + +for my $i ("", "\0") { + ok($objKk->eq("\x{4D1}", "\x{430}$i\x{306}")); + ok($objKk->eq("\x{4D0}", "\x{410}$i\x{306}")); + ok($objKk->eq("\x{4D3}", "\x{430}$i\x{308}")); + ok($objKk->eq("\x{4D2}", "\x{410}$i\x{308}")); + ok($objKk->eq("\x{4DB}", "\x{4D9}$i\x{308}")); + ok($objKk->eq("\x{4DA}", "\x{4D8}$i\x{308}")); + ok($objKk->eq("\x{453}", "\x{433}$i\x{301}")); + ok($objKk->eq("\x{403}", "\x{413}$i\x{301}")); + ok($objKk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction + ok($objKk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction + ok($objKk->eq("\x{4D7}", "\x{435}$i\x{306}")); + ok($objKk->eq("\x{4D6}", "\x{415}$i\x{306}")); + ok($objKk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction + ok($objKk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction + ok($objKk->eq("\x{4DD}", "\x{436}$i\x{308}")); + ok($objKk->eq("\x{4DC}", "\x{416}$i\x{308}")); + ok($objKk->eq("\x{4DF}", "\x{437}$i\x{308}")); + ok($objKk->eq("\x{4DE}", "\x{417}$i\x{308}")); + ok($objKk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction + ok($objKk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction + ok($objKk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction + ok($objKk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction + ok($objKk->eq("\x{457}", "\x{456}$i\x{308}")); + ok($objKk->eq("\x{407}", "\x{406}$i\x{308}")); + ok($objKk->eq("\x{4E7}", "\x{43E}$i\x{308}")); + ok($objKk->eq("\x{4E6}", "\x{41E}$i\x{308}")); + ok($objKk->eq("\x{4EB}", "\x{4E9}$i\x{308}")); + ok($objKk->eq("\x{4EA}", "\x{4E8}$i\x{308}")); + ok($objKk->eq("\x{45C}", "\x{43A}$i\x{301}")); + ok($objKk->eq("\x{40C}", "\x{41A}$i\x{301}")); + ok($objKk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction + ok($objKk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction + ok($objKk->eq("\x{45E}", "\x{443}$i\x{306}")); + ok($objKk->eq("\x{40E}", "\x{423}$i\x{306}")); + ok($objKk->eq("\x{4F1}", "\x{443}$i\x{308}")); + ok($objKk->eq("\x{4F0}", "\x{423}$i\x{308}")); + ok($objKk->eq("\x{4F3}", "\x{443}$i\x{30B}")); + ok($objKk->eq("\x{4F2}", "\x{423}$i\x{30B}")); + ok($objKk->eq("\x{4F5}", "\x{447}$i\x{308}")); + ok($objKk->eq("\x{4F4}", "\x{427}$i\x{308}")); + ok($objKk->eq("\x{4F9}", "\x{44B}$i\x{308}")); + ok($objKk->eq("\x{4F8}", "\x{42B}$i\x{308}")); + ok($objKk->eq("\x{4ED}", "\x{44D}$i\x{308}")); + ok($objKk->eq("\x{4EC}", "\x{42D}$i\x{308}")); + ok($objKk->eq("\x{477}", "\x{475}$i\x{30F}")); + ok($objKk->eq("\x{476}", "\x{474}$i\x{30F}")); +} + +# 214 + +$objKk->change(upper_before_lower => 1); + +ok($objKk->gt("\x{451}", "\x{401}")); +ok($objKk->gt("\x{4AF}", "\x{4AE}")); +ok($objKk->gt("\x{456}", "\x{406}")); + +# 217 diff --git a/cpan/Unicode-Collate/t/loc_kn.t b/cpan/Unicode-Collate/t/loc_kn.t new file mode 100644 index 0000000..3563f69 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_kn.t @@ -0,0 +1,37 @@ + +BEGIN { + unless ("A" eq pack('U', 0x41)) { + print "1..0 # Unicode::Collate " . + "cannot stringify a Unicode code point\n"; + exit 0; + } + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); + } +} + +use Test; +BEGIN { plan tests => 7 }; + +use strict; +use warnings; +use Unicode::Collate::Locale; + +ok(1); + +######################### + +my $objKn = Unicode::Collate::Locale-> + new(locale => 'KN', normalization => undef); + +ok($objKn->getlocale, 'kn'); + +$objKn->change(level => 1); + +ok($objKn->lt("\x{0C94}", "\x{0C82}")); +ok($objKn->lt("\x{0C82}", "\x{0C83}")); +ok($objKn->lt("\x{0C83}", "\x{0CF1}")); +ok($objKn->lt("\x{0CF1}", "\x{0CF2}")); +ok($objKn->lt("\x{0CF2}", "\x{0C95}")); + diff --git a/cpan/Unicode-Collate/t/loc_kok.t b/cpan/Unicode-Collate/t/loc_kok.t new file mode 100644 index 0000000..d6cce3a --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_kok.t @@ -0,0 +1,55 @@ + +BEGIN { + unless ("A" eq pack('U', 0x41)) { + print "1..0 # Unicode::Collate " . + "cannot stringify a Unicode code point\n"; + exit 0; + } + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); + } +} + +use Test; +BEGIN { plan tests => 13 }; + +use strict; +use warnings; +use Unicode::Collate::Locale; + +ok(1); + +######################### + +my $objKok = Unicode::Collate::Locale-> + new(locale => 'KOK', normalization => undef); + +ok($objKok->getlocale, 'kok'); + +$objKok->change(level => 1); + +ok($objKok->lt("\x{950}", "\x{902}")); +ok($objKok->lt("\x{902}", "\x{903}")); +ok($objKok->lt("\x{903}", "\x{972}")); + +ok($objKok->eq("\x{902}", "\x{901}")); + +ok($objKok->lt("\x{939}", "\x{933}")); +ok($objKok->lt("\x{933}", "\x{915}\x{94D}\x{937}")); +ok($objKok->lt("\x{915}\x{94D}\x{937}", "\x{93D}")); + +ok($objKok->eq("\x{933}", "\x{934}")); + +# 10 + +$objKok->change(level => 2); + +ok($objKok->lt("\x{902}", "\x{901}")); +ok($objKok->lt("\x{933}", "\x{934}")); + +$objKok->change(level => 3); + +ok($objKok->eq("\x{933}\x{93C}", "\x{934}")); + +# 13 diff --git a/cpan/Unicode-Collate/t/loc_ln.t b/cpan/Unicode-Collate/t/loc_ln.t new file mode 100644 index 0000000..02f6c31 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_ln.t @@ -0,0 +1,71 @@ + +BEGIN { + unless ("A" eq pack('U', 0x41)) { + print "1..0 # Unicode::Collate " . + "cannot stringify a Unicode code point\n"; + exit 0; + } + if ($ENV{PERL_CORE}) { + chdir('t') if -d 't'; + @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); + } +} + +use Test; +BEGIN { plan tests => 23 }; + +use strict; +use warnings; +use Unicode::Collate::Locale; + +ok(1); + +######################### + +my $objLn = Unicode::Collate::Locale-> + new(locale => 'LN', normalization => undef); + +ok($objLn->getlocale, 'ln'); + +$objLn->change(level => 1); + +ok($objLn->gt("\x{25B}", "E")); +ok($objLn->lt("\x{25B}", "F")); + +ok($objLn->eq("\x{254}", "O")); + +# 5 + +$objLn->change(level => 2); + +ok($objLn->gt("\x{254}", "O")); + +ok($objLn->eq("\x{25B}", "\x{190}")); +ok($objLn->eq("\x{254}", "\x{186}")); + +ok($objLn->eq("\x{25B}", "\x{2107}")); +ok($objLn->eq("\x{25B}", "\x{1D4B}")); +ok($objLn->eq("\x{254}", "\x{1D53}")); + +# 11 + +$objLn->change(level => 3); + +ok($objLn->lt("\x{25B}", "\x{190}")); +ok($objLn->lt("\x{25B}", "\x{2107}")); +ok($objLn->lt("\x{254}", "\x{186}")); + +$objLn->change(upper_before_lower => 1); + +ok($objLn->gt("\x{25B}", "\x{190}")); +ok($objLn->gt("\x{25B}", "\x{2107}")); +ok($objLn->gt("\x{254}", "\x{186}")); + +for my $up_lo (0, 1) { + $objLn->change(upper_before_lower => $up_lo); + ok($objLn->lt("\x{190}", "\x{2107}")); + ok($objLn->lt("\x{25B}", "\x{1D4B}")); + ok($objLn->lt("\x{254}", "\x{1D53}")); +} + +# 23 diff --git a/cpan/Unicode-Collate/t/loc_lt.t b/cpan/Unicode-Collate/t/loc_lt.t index 86c508c..d8babba 100644 --- a/cpan/Unicode-Collate/t/loc_lt.t +++ b/cpan/Unicode-Collate/t/loc_lt.t @@ -12,7 +12,7 @@ BEGIN { } use Test; -BEGIN { plan tests => 55 }; +BEGIN { plan tests => 69 }; use strict; use warnings; @@ -38,47 +38,68 @@ ok($objLt->lt("z\x{30C}", "\x{292}")); # U+0292 EZH # 8 -ok($objLt->eq( "\x{328}", "\x{307}")); +ok($objLt->eq("a", "a\x{328}")); +ok($objLt->eq("e", "e\x{328}")); ok($objLt->eq("e\x{328}", "e\x{307}")); -ok($objLt->eq("i\x{328}", "i\x{307}")); -ok($objLt->eq('i', 'y')); +ok($objLt->eq("i", "i\x{328}")); +ok($objLt->eq("y", "i\x{328}")); +ok($objLt->eq("u", "u\x{328}")); +ok($objLt->eq("u\x{328}", "u\x{304}")); + +# 15 $objLt->change(level => 2); -ok($objLt->lt( "\x{328}", "\x{307}")); +ok($objLt->lt("a", "a\x{328}")); +ok($objLt->lt("e", "e\x{328}")); ok($objLt->lt("e\x{328}", "e\x{307}")); -ok($objLt->lt("i\x{328}", "i\x{307}")); -ok($objLt->lt('i', 'y')); +ok($objLt->lt("i", "i\x{328}")); +ok($objLt->gt("y", "i\x{328}")); +ok($objLt->lt("u", "u\x{328}")); +ok($objLt->lt("u\x{328}", "u\x{304}")); -# 16 +# 22 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("y", "Y")); + ok($objLt->eq("a\x{328}", "A\x{328}")); ok($objLt->eq("e\x{328}", "E\x{328}")); +ok($objLt->eq("e\x{307}", "E\x{307}")); ok($objLt->eq("i\x{328}", "I\x{328}")); ok($objLt->eq("u\x{328}", "U\x{328}")); +ok($objLt->eq("u\x{304}", "U\x{304}")); + +# 33 -# 26 +# according to CLDR tests +ok($objLt->gt("I\x{307}\x{300}", "I\x{300}")); +ok($objLt->gt("I\x{307}\x{301}", "I\x{301}")); +ok($objLt->gt("I\x{307}\x{303}", "I\x{303}")); + +# 36 $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("y", "Y")); + ok($objLt->lt("a\x{328}", "A\x{328}")); ok($objLt->lt("e\x{328}", "E\x{328}")); +ok($objLt->lt("e\x{307}", "E\x{307}")); ok($objLt->lt("i\x{328}", "I\x{328}")); ok($objLt->lt("u\x{328}", "U\x{328}")); +ok($objLt->lt("u\x{304}", "U\x{304}")); -# 36 +# 47 ok($objLt->eq("c\x{30C}", "\x{10D}")); ok($objLt->eq("C\x{30C}", "\x{10C}")); @@ -86,16 +107,15 @@ 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("I\x{307}", "\x{130}")); 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("e\x{307}", "\x{117}")); +ok($objLt->eq("E\x{307}", "\x{116}")); ok($objLt->eq("i\x{328}", "\x{12F}")); ok($objLt->eq("I\x{328}", "\x{12E}")); ok($objLt->eq("u\x{328}", "\x{173}")); @@ -103,4 +123,10 @@ 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 +# 66 + +ok($objLt->eq("i\x{307}\x{300}", "i\x{300}")); +ok($objLt->eq("i\x{307}\x{301}", "i\x{301}")); +ok($objLt->eq("i\x{307}\x{303}", "i\x{303}")); + +# 69 diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 9b71a70..99aa5c4 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -266,7 +266,10 @@ module can 'jump' out of @INC =item * -L has been upgraded from version 0.78 to version 0.79. +L has been upgraded from version 0.78 to version 0.80. + +Locales updated to CLDR 2.0: ar, be, bg, ha, hr, kk, lt. +Newly supported locales: as, fi__phonebook, gu, hi, kn, kok and ln. =back