no warnings 'utf8';
-our $VERSION = '1.11';
+our $VERSION = '1.12';
our $PACKAGE = __PACKAGE__;
### begin XS only ###
_derivCE_24 = 5
PREINIT:
UV base, aaaa, bbbb;
- U8 a[VCE_Length + 1] = "\x00\xFF\xFF\x00\x20\x00\x02\xFF\xFF";
- U8 b[VCE_Length + 1] = "\x00\xFF\xFF\x00\x00\x00\x00\xFF\xFF";
+ U8 a[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
+ U8 b[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
bool basic_unified = 0;
PPCODE:
if (CJK_UidIni <= code) {
a[2] = (U8)(aaaa & 0xFF);
b[1] = (U8)(bbbb >> 8);
b[2] = (U8)(bbbb & 0xFF);
+ a[4] = (U8)(0x20); /* second octet of level 2 */
+ a[6] = (U8)(0x02); /* second octet of level 3 */
a[7] = b[7] = (U8)(code >> 8);
a[8] = b[8] = (U8)(code & 0xFF);
EXTEND(SP, 2);
UV code
PREINIT:
UV aaaa, bbbb;
- U8 a[VCE_Length + 1] = "\x00\xFF\xFF\x00\x02\x00\x01\xFF\xFF";
- U8 b[VCE_Length + 1] = "\x00\xFF\xFF\x00\x00\x00\x00\xFF\xFF";
+ U8 a[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
+ U8 b[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
PPCODE:
aaaa = 0xFF80 + (code >> 15);
bbbb = (code & 0x7FFF) | 0x8000;
a[2] = (U8)(aaaa & 0xFF);
b[1] = (U8)(bbbb >> 8);
b[2] = (U8)(bbbb & 0xFF);
+ a[4] = (U8)(0x02); /* second octet of level 2 */
+ a[6] = (U8)(0x01); /* second octet of level 3 */
a[7] = b[7] = (U8)(code >> 8);
a[8] = b[8] = (U8)(code & 0xFF);
EXTEND(SP, 2);
_uideoCE_8 (code)
UV code
PREINIT:
- U8 uice[VCE_Length + 1] = "\x00\xFF\xFF\x00\x20\x00\x02\xFF\xFF";
+ U8 uice[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
PPCODE:
uice[1] = uice[7] = (U8)(code >> 8);
uice[2] = uice[8] = (U8)(code & 0xFF);
+ uice[4] = (U8)(0x20); /* second octet of level 2 */
+ uice[6] = (U8)(0x02); /* second octet of level 3 */
PUSHs(sv_2mortal(newSVpvn((char *) uice, VCE_Length)));
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use warnings;
use Unicode::Collate;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %jamo2prim = (
0x1100, 0x376F, 0x1101, 0x3770, 0x1102, 0x3771, 0x1103, 0x3772,
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use strict;
use warnings;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my %u2p;
my $wt = 0x8000;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '1.11';
+our $VERSION = '1.12';
my $PL_EXT = '.pl';
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0149 ; [.1A7D.0020.0009] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
ENTRY
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0629 ; [.2025.0021.0002] # ARABIC LETTER TEH MARBUTA
FE94 ; [.2025.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0982 ; [.23CC.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
0981 ; [.23CC.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# schwa doesn't require tailoring
entry => <<'ENTRY', # for DUCET v7.0.0
00E7 ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x041A, 0x043A, 0x0427, 0x0447, 0x042B, 0x044B,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
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,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0982 ; [.23CC.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
0983 ; [.23CC.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
backwards => 2,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0068 ; [.193F.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
010D ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0068 ; [.193F.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.193F.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00E4 ; [.190C.0021.0002][.196E.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.190C.0021.0002][.196E.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
entry => <<'ENTRY', # for DUCET v7.0.0
0302 ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0109 ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
0063 0302 ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00F1 ; [.1A7E.0020.0002] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1A7E.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0068 ; [.193F.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.193F.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0161 ; [.1B54.0020.0002] # LATIN SMALL LETTER S WITH CARON
0073 030C ; [.1B54.0020.0002] # LATIN SMALL LETTER S WITH CARON
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0650 ; [.0000.0077.0002] # ARABIC KASRA
064B ; [.0000.007B.0002] # ARABIC FATHATAN
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00F1 ; [.1A7E.0020.0002] # LATIN SMALL LETTER N WITH TILDE
006E 0303 ; [.1A7E.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
backwards => 2,
};
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0A82 ; [.2438.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
0A81 ; [.2438.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# b-hook, d-hook, k-hook, y-hook don't require tailoring
entry => <<'ENTRY', # for DUCET v7.0.0
0073 0068 ; [.1B34.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0065 ; [.190D.0020.0002] # LATIN SMALL LETTER E
0045 ; [.190D.0020.0008] # LATIN CAPITAL LETTER E
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0902 ; [.235B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.235B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
010D ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0073 ; [.193F.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
0063 0053 ; [.193F.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0587 ; [.1FBD.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
0584 ; [.1FBD.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0068 ; [.1926.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1926.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00E1 ; [.1924.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
0061 0301 ; [.1924.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
use Unicode::Collate::CJK::JISX0208;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
entry => <<'ENTRY', # for DUCET v7.0.0
30A1 ; [.38D4.0020.000F.0002] # KATAKANA LETTER SMALL A
+{
- locale_version => 1.11,
+ locale_version => 1.12,
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,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0C82 ; [.2549.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
0C83 ; [.2549.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
use Unicode::Collate::CJK::Korean;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
entry => <<'ENTRY', # for DUCET v7.0.0
F967 ; [.3776.0021.0002.4E0D][.37FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0902 ; [.235B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.235B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
025B ; [.196F.0020.0002] # LATIN SMALL LETTER OPEN E
0190 ; [.196F.0020.0008] # LATIN CAPITAL LETTER OPEN E
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
entry => <<'ENTRY', # for DUCET v7.0.0
0049 0307 ; [.19F6.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
010D ; [.1952.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.1952.0020.0002] # LATIN SMALL LETTER C WITH CARON
+{
- locale_version => 1.11,
+ locale_version => 1.12,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0415, 0x0435, 0x0416, 0x0436,
0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456, 0x041E, 0x043E,
0x04E8, 0x04E9, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0D3D ; [.0000.00C0.0002] # MALAYALAM SIGN AVAGRAHA
0D57 ; [.25C8.0020.0002] # MALAYALAM AU LENGTH MARK
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0902 ; [.235B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.235B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
upper_before_lower => 1,
entry => <<'ENTRY', # for DUCET v7.0.0
010B ; [.193D.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00EA ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0063 0068 ; [.1BE4.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
0043 0068 ; [.1BE4.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0B01 ; [.2489.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
0B02 ; [.2489.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0A71 ; [.0000.00BD.0002] # GURMUKHI ADDAK
0A03 ; [.0000.00BC.0002] # GURMUKHI SIGN VISARGA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0105 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
0061 0328 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0103 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH BREVE
0061 0306 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
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,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0902 ; [.235B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
0901 ; [.235B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# eng, g-stroke, t-stroke don't require tailoring
entry => <<'ENTRY', # for DUCET v7.0.0
00E1 ; [.1924.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0D82 ; [.25DC.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.25DC.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0D82 ; [.25DC.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
0D83 ; [.25DC.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00E4 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
0061 0308 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
010D ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
0063 030C ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CARON
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00E7 ; [.1952.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.1952.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456,
0x041E, 0x043E, 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0111 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
0064 0335 ; [.1953.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0B82 ; [.24CC.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
0B83 ; [.24CC.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0C01 ; [.2500.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
0C02 ; [.2500.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
variable => 'shifted',
alternate => 'shifted',
entry => <<'ENTRY', # for DUCET v7.0.0
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00EA ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
0065 0302 ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
006E 0067 ; [.1A7E.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
004E 0067 ; [.1A7E.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
00E7 ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
0063 0327 ; [.193F.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+{
- locale_version => 1.11,
+ locale_version => 1.12,
suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0623 ; [.2015.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
0627 0654 ; [.2015.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# 0306 is not a Vietnamese tone, just to avoid \x{306} eq. to something.
entry => <<'ENTRY', # for DUCET v7.0.0
0309 ; [.0000.0026.0002][.0000.00F0.0000] # COMBINING HOOK ABOVE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0061 0061 ; [.190C.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
00E4 00E4 ; [.190C.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+{
- locale_version => 1.11,
+ locale_version => 1.12,
# eng doesn't require tailoring
entry => <<'ENTRY', # for DUCET v7.0.0
00E0 ; [.190D.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
1EB9 ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
0065 0323 ; [.196F.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+{
- locale_version => 1.11,
+ locale_version => 1.12,
entry => <<'ENTRY', # for DUCET v7.0.0
0101 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
0061 0304 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Big5;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
entry => <<'ENTRY', # for DUCET v7.0.0
0101 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::GB2312;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
entry => <<'ENTRY', # for DUCET v7.0.0
0101 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Pinyin;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
entry => <<'ENTRY', # for DUCET v7.0.0
0101 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Stroke;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
entry => <<'ENTRY', # for DUCET v7.0.0
0101 ; [.190C.001C.0002] # LATIN SMALL LETTER A WITH MACRON
use Unicode::Collate::CJK::Zhuyin;
+{
- locale_version => 1.11,
+ locale_version => 1.12,
overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
entry => <<'ENTRY', # for DUCET v7.0.0
02C9 ; [.0000.0199.0002] # MODIFIER LETTER MACRON
use strict;
use warnings;
-BEGIN { $| = 1; print "1..45\n"; }
+BEGIN { $| = 1; print "1..48\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
ok($Collator->viewSortKey("\x{304C}"),
'[1926 | 0020 013D | 000E 0002 | FFFF FFFF | 0000 304C]');
+ok($Collator->viewSortKey("\x{4E00}"),
+ '[FB40 CE00 | 0020 | 0002 | FFFF FFFF | 0000 4E00]');
+
ok($Collator->viewSortKey("\x{100000}"),
'[FBE0 8000 | 0020 | 0002 | FFFF FFFF | 0010 0000]');
+##### 38
+
eval { require Unicode::Normalize };
if (!$@) {
$Collator->change(normalization => "NFD");
$Collator->change(normalization => undef);
-##### 38
+##### 39
$Collator->change(level => 3);
ok($Collator->viewSortKey("\x{304C}"),
'[1926 | | | | 0000 304C]');
-##### 41
+##### 42
$Collator->change(UCA_Version => 8);
ok($Collator->viewSortKey("\x{304C}"),
'[1926|0020 013D|000E 0002|FFFF FFFF|0000 304C]');
-##### 45
+ok($Collator->viewSortKey("\x{4E00}"),
+ '[4E00|0020|0002|FFFF|0000 4E00]');
+
+ok($Collator->viewSortKey("\x{100000}"),
+ '[FFA0 8000|0002|0001|FFFF FFFF|0010 0000]');
+
+##### 48
new(locale => 'ES', normalization => undef);
ok($objEs->getlocale, 'es');
-ok($objEs->locale_version, 1.11);
+ok($objEs->locale_version, 1.12);
$objEs->change(level => 1);
new(locale => 'ES-trad', normalization => undef);
ok($objEsTrad->getlocale, 'es__traditional');
-ok($objEsTrad->locale_version, 1.11);
+ok($objEsTrad->locale_version, 1.12);
$objEsTrad->change(level => 1);
new(locale => 'FR', normalization => undef);
ok($objFr->getlocale, 'fr');
-ok($objFr->locale_version, 1.11);
+ok($objFr->locale_version, 1.12);
$objFr->change(level => 1);
use strict;
use warnings;
-BEGIN { $| = 1; print "1..93\n"; } # 53 + 4 x @Versions
+BEGIN { $| = 1; print "1..106\n"; } # 62 + 4 x @Versions
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
UCA_Version => 24,
);
-ok($Collator->viewSortKey(""), "[| | |]");
+ok($Collator->viewSortKey(""), '[| | |]');
+ok($Collator->viewSortKey("\0"), '[| | |]');
+ok($Collator->viewSortKey("\x{200B}"), '[| | |]');
-ok($Collator->viewSortKey("A"), "[0A15 | 0020 | 0008 | FFFF]");
+ok($Collator->viewSortKey("A"), '[0A15 | 0020 | 0008 | FFFF]');
+ok($Collator->viewSortKey('a'), '[0A15 | 0020 | 0002 | FFFF]');
ok($Collator->viewSortKey("ABC"),
"[0A15 0A29 0A3D | 0020 0020 0020 | 0008 0008 0008 | FFFF FFFF FFFF]");
ok($Collator->viewSortKey("\x{300}"), "[| 0035 | 0002 | FFFF]");
+ok($Collator->viewSortKey("\x{304C}"),
+ '[1926 | 0020 013D | 000E 0002 | FFFF FFFF]');
+
+ok($Collator->viewSortKey("\x{4E00}"),
+ '[FB40 CE00 | 0020 | 0002 | FFFF FFFF]');
+
+ok($Collator->viewSortKey("\x{100000}"),
+ '[FBE0 8000 | 0020 | 0002 | FFFF FFFF]');
+
$Collator->change(level => 3);
ok($Collator->viewSortKey("A"), "[0A15 | 0020 | 0008 |]");
$Collator->change(level => 1);
ok($Collator->viewSortKey("A"), "[0A15 | | |]");
-##### 10
+##### 16
$Collator->change(level => 4, UCA_Version => 8);
ok($Collator->viewSortKey("\x{300}"), "[|0035|0002|FFFF]");
+ok($Collator->viewSortKey("\x{304C}"),
+ '[1926|0020 013D|000E 0002|FFFF FFFF]');
+
+ok($Collator->viewSortKey("\x{4E00}"),
+ '[4E00|0020|0002|FFFF]');
+
+ok($Collator->viewSortKey("\x{100000}"),
+ '[FFA0 8000|0002|0001|FFFF FFFF]');
+
$Collator->change(level => 3);
ok($Collator->viewSortKey("A"), "[0A15|0020|0008|]");
$Collator->change(level => 1);
ok($Collator->viewSortKey("A"), "[0A15|||]");
-##### 19
+##### 28
$Collator->change(level => 3, UCA_Version => 9);
ok($Collator->viewSortKey("A\x{300}z\x{301}"),
ok($Collator->viewSortKey("A\x{300}z\x{301}"),
"[0A15 0C13 | 0020 0035 0020 0032 | 0008 0002 0002 0002 |]");
+##### 34
+
$Collator->change(level => 4);
# Variable
$Collator->change(%origVar);
-##### 37
+##### 46
# Level 3 weight
ok($Collator->viewSortKey("A\x{30A2}"),
'[0A15 1921 | 0020 0020 | 0008 0011 | FFFF FFFF]');
-##### 47
+##### 56
our $el = Unicode::Collate->new(
entry => <<'ENTRY',
ok($el->viewSortKey("L\x{FF2C}\x{216C}\x{2112}\x{24C1}"),
"[$el12 | 0008 0009 000A 000B 000C | FFFF FFFF FFFF FFFF FFFF]");
-##### 53
+##### 62
-my @Versions = (9, 11, 14, 16, 18, 20, 22, 24, 26, 28);
+my @Versions = (9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30);
for my $v (@Versions) {
$Collator->change(UCA_Version => $v);
=item *
+L<Unicode::Collate> has been upgraded from version 1.11 to 1.12.
+
+=item *
+
L<utf8> has been upgraded from version 1.14 to 1.15.
=item *