Commit | Line | Data |
---|---|---|
19265284 | 1 | Unicode/Collate version 0.76 |
45394607 JH |
2 | =============================== |
3 | ||
caffd4cf | 4 | NAME |
45394607 | 5 | |
caffd4cf | 6 | Unicode::Collate - Unicode Collation Algorithm |
45394607 JH |
7 | |
8 | SYNOPSIS | |
9 | ||
10 | use Unicode::Collate; | |
11 | ||
12 | #construct | |
5398038e | 13 | $Collator = Unicode::Collate->new(%tailoring); |
45394607 JH |
14 | |
15 | #sort | |
5398038e | 16 | @sorted = $Collator->sort(@not_sorted); |
45394607 JH |
17 | |
18 | #compare | |
5398038e TS |
19 | $result = $Collator->cmp($a, $b); # returns 1, 0, or -1. |
20 | $result = $Collator->eq($a, $b); # returns true/false | |
21 | (similarly ->ne, ->lt, ->le, ->gt, ->ge) | |
45394607 | 22 | |
539ce3d8 CBW |
23 | Note: Strings in @not_sorted, $a and $b are interpreted |
24 | according to Perl's Unicode support. See perlunicode, | |
25 | perluniintro, perlunitut, perlunifaq, utf8. | |
26 | Otherwise you can use "preprocess" or should decode them before. | |
27 | ||
0d50d293 | 28 | INSTALL |
45394607 | 29 | |
f1a7422f CBW |
30 | Perl 5.6.1 or later is required. |
31 | Perl 5.8.1 or later is recommended. | |
10d7ec48 | 32 | |
f1a7422f CBW |
33 | Though this distribution contains a subset of an old DUCET, named |
34 | "keys.txt", this one is intended only for doing a test of this module | |
35 | and practically useless for any other purpose. | |
3756e7ca | 36 | |
f1a7422f | 37 | Installation of Unicode::Collate::Locale requires Collate/Locale.pm, |
539ce3d8 CBW |
38 | Collate/Locale/*.pm, Collate/CJK/*.pm and Collate/allkeys.txt. |
39 | On building, Unicode::Collate::Locale doesn't require any of data/*.txt, | |
40 | gendata/*, and mklocale. | |
f1a7422f | 41 | Tests for Unicode::Collate::Locale are named t/loc_*.t. |
45394607 | 42 | |
f58b9ef1 | 43 | Since 0.54, XSUB that requires a C compiler will be built by default. |
45394607 JH |
44 | To install this module type the following: |
45 | ||
46 | perl Makefile.PL | |
47 | make | |
48 | make test | |
49 | make install | |
50 | ||
f58b9ef1 CBW |
51 | Even if a C compiler is not available, pure Perl (i.e. non-XS) edition |
52 | is available; type the following: | |
caffd4cf | 53 | |
f58b9ef1 | 54 | perl disableXS |
10d7ec48 NC |
55 | perl Makefile.PL |
56 | make | |
57 | make test | |
58 | make install | |
caffd4cf | 59 | |
f58b9ef1 CBW |
60 | If you decide to install XSUB edition after trying to build pure Perl, |
61 | type the following: | |
caffd4cf | 62 | |
10d7ec48 | 63 | make clean |
f58b9ef1 | 64 | perl enableXS |
10d7ec48 NC |
65 | perl Makefile.PL |
66 | make | |
67 | make test | |
68 | make install | |
caffd4cf | 69 | |
45394607 JH |
70 | DEPENDENCIES |
71 | ||
0116f5dc | 72 | The conformant collation requires Unicode::Normalize (v 0.10 or later) |
809c7673 | 73 | although Unicode::Collate can be used without Unicode::Normalize. |
45394607 | 74 | |
f1a7422f CBW |
75 | ABOUT DUCET |
76 | ||
77 | Though this module can be used without any C<table> file, | |
78 | to use this module easily, it is recommended to install a table file | |
79 | in the UCA format, by copying it under the directory | |
80 | <a place in @INC>/Unicode/Collate. | |
81 | ||
82 | You can install such a table file by adding it to "Collate" directory | |
83 | (where "keys.txt" is placed) in this distribution before executing | |
84 | Makefile.PL. | |
85 | ||
86 | The most preferable one is "The Default Unicode Collation Element Table" | |
87 | (aka DUCET), available from the Unicode Consortium's website: | |
88 | ||
89 | http://www.unicode.org/Public/UCA/ | |
90 | ||
91 | http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version) | |
92 | ||
93 | If DUCET is not installed, it is recommended to copy the file | |
94 | from http://www.unicode.org/Public/UCA/latest/allkeys.txt | |
95 | to <a place in @INC>/Unicode/Collate/allkeys.txt manually. | |
96 | ||
b5d9a953 CBW |
97 | HOW TO CHANGE DUCET (NOT WARRANTED) |
98 | ||
99 | 0. rewriting UCA_Version and Base_Unicode_Version in Collate.pm | |
100 | and t/version.t is preferred. | |
101 | 1. replace Collate/allkeys.txt with a new DUCET. | |
102 | 2. run mklocale to generate new Locale/*.pl and Korean.pm. | |
103 | 3. replace Collate/Locale/*.pl with the new Locale/*.pl, | |
104 | and Collate/CJK/Korean.pm with the new Korean.pm. | |
105 | 4. make test. | |
106 | IF FAIL, it may require more changes, not be easy. | |
107 | ||
0d50d293 | 108 | AUTHOR, COPYRIGHT AND LICENSE |
45394607 | 109 | |
0d50d293 | 110 | The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki, |
f58b9ef1 | 111 | <SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2011, |
0d50d293 | 112 | SADAHIRO Tomoyuki. Japan. All rights reserved. |
45394607 | 113 | |
3756e7ca RGS |
114 | This module is free software; you can redistribute it and/or |
115 | modify it under the same terms as Perl itself. | |
45394607 | 116 | |
00e00351 | 117 | The file Unicode/Collate/allkeys.txt was copied verbatim |
7b98b857 CBW |
118 | from http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt |
119 | This file is Copyright (c) 1991-2010 Unicode, Inc. All rights reserved. | |
0d50d293 | 120 | Distributed under the Terms of Use in http://www.unicode.org/copyright.html |