• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Collate/H03-May-2022-26,00925,110

data/H03-May-2022-

gendata/H21-Aug-2021-2,1441,746

t/H21-Aug-2021-24,39420,552

ChangesH A D21-Aug-202126.7 KiB643530

Collate.pmH A D21-Aug-202164.1 KiB2,157754

Collate.pmNH A D21-Aug-202180 KiB2,6292,122

Collate.xsH A D21-Aug-202120.1 KiB756658

MANIFESTH A D21-Aug-202114.7 KiB350349

MANIFEST.NH A D21-Aug-202114.7 KiB350349

META.jsonH A D21-Aug-20211.1 KiB4847

META.ymlH A D21-Aug-2021637 2928

Makefile.PLH A D21-Aug-2021982 3528

READMEH A D21-Aug-20213.7 KiB12489

disableXSH A D21-Aug-2021443 1512

enableXSH A D21-Aug-2021443 1512

mkheaderH A D21-Aug-20214.5 KiB195145

mklocaleH A D21-Aug-202121 KiB858687

README

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