| Unicode/Collate version 0.89 |
| =============================== |
| |
| NAME |
| |
| Unicode::Collate - Unicode Collation Algorithm |
| |
| SYNOPSIS |
| |
| use Unicode::Collate; |
| |
| #construct |
| $Collator = Unicode::Collate->new(%tailoring); |
| |
| #sort |
| @sorted = $Collator->sort(@not_sorted); |
| |
| #compare |
| $result = $Collator->cmp($a, $b); # returns 1, 0, or -1. |
| $result = $Collator->eq($a, $b); # returns true/false |
| (similarly ->ne, ->lt, ->le, ->gt, ->ge) |
| |
| Note: Strings in @not_sorted, $a and $b are interpreted |
| according to Perl's Unicode support. See perlunicode, |
| perluniintro, perlunitut, perlunifaq, utf8. |
| Otherwise you can use "preprocess" or should decode them before. |
| |
| INSTALL |
| |
| Perl 5.6.1 or later is required. |
| Perl 5.8.1 or later is recommended. |
| |
| 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. |
| |
| Installation of Unicode::Collate::Locale requires Collate/Locale.pm, |
| Collate/Locale/*.pm, Collate/CJK/*.pm and Collate/allkeys.txt. |
| On building, Unicode::Collate::Locale doesn't require any of data/*.txt, |
| gendata/*, and mklocale. |
| Tests for Unicode::Collate::Locale are named t/loc_*.t. |
| |
| Since 0.54, XSUB that requires a C compiler will be built by default. |
| To install this module type the following: |
| |
| perl Makefile.PL |
| make |
| make test |
| make install |
| |
| Even if a C compiler is not available, pure Perl (i.e. non-XS) edition |
| is available; type the following: |
| |
| perl disableXS |
| perl Makefile.PL |
| make |
| make test |
| make install |
| |
| If you decide to install XSUB edition after trying to build pure Perl, |
| type the following: |
| |
| make clean |
| perl enableXS |
| perl Makefile.PL |
| make |
| make test |
| make install |
| |
| 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. |
| |
| HOW TO CHANGE DUCET (NOT WARRANTED) |
| |
| 0. rewriting UCA_Version and Base_Unicode_Version in Collate.pm |
| and t/version.t is preferred. |
| 1. replace Collate/allkeys.txt with a new DUCET. |
| 2. run mklocale to generate new Locale/*.pl and Korean.pm. |
| 3. replace Collate/Locale/*.pl with the new Locale/*.pl, |
| and Collate/CJK/Korean.pm with the new Korean.pm. |
| 4. make test. |
| IF FAIL, it may require more changes, not be easy. |
| |
| AUTHOR, COPYRIGHT AND LICENSE |
| |
| The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki, |
| <SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2012, |
| SADAHIRO Tomoyuki. Japan. All rights reserved. |
| |
| This module is free software; you can redistribute it and/or |
| modify it under the same terms as Perl itself. |
| |
| The file Unicode/Collate/allkeys.txt was copied verbatim |
| from http://www.unicode.org/Public/UCA/6.1.0/allkeys.txt |
| For this file, Copyright (c) 2001-2011 Unicode, Inc. |
| Distributed under the Terms of Use in http://www.unicode.org/copyright.html |