summaryrefslogtreecommitdiff
path: root/lib/unicore
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-12-30 20:04:32 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-30 20:04:32 +0000
commit254ba52af7d39101b8ee76681bf95a1a95ebd042 (patch)
tree151569cef510eeaa419754ff11c6e8297f3b1aaa /lib/unicore
parentd2ee51b61413d0946f6558ae280350393bbe9b35 (diff)
downloadperl-254ba52af7d39101b8ee76681bf95a1a95ebd042.tar.gz
Fix all the C(ommon) case foldings as per CaseFold.txt.
p4raw-id: //depot/perl@13963
Diffstat (limited to 'lib/unicore')
-rw-r--r--lib/unicore/To/Fold.pl12
-rw-r--r--lib/unicore/mktables4
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/unicore/To/Fold.pl b/lib/unicore/To/Fold.pl
index 1502690246..6b0c2e9a71 100644
--- a/lib/unicore/To/Fold.pl
+++ b/lib/unicore/To/Fold.pl
@@ -266,9 +266,12 @@ return <<'END';
01B7 0292
01B8 01B9
01BC 01BD
-01C4 01C5 01C6
-01C7 01C8 01C9
-01CA 01CB 01CC
+01C4 01C6
+01C5 01C6
+01C7 01C9
+01C8 01C9
+01CA 01CC
+01CB 01CC
01CD 01CE
01CF 01D0
01D1 01D2
@@ -286,7 +289,8 @@ return <<'END';
01EA 01EB
01EC 01ED
01EE 01EF
-01F1 01F2 01F3
+01F1 01F3
+01F2 01F3
01F4 01F5
01F6 0195
01F7 01BF
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 546b3cf8f4..34d138826b 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -833,12 +833,14 @@ if (open(my $CaseFold, "CaseFold.txt")) {
my %Fold;
while (<$CaseFold>) {
+ # Skip status 'S', simple case folding
next unless /^([0-9A-Fa-f]+)\s*;\s*([CFI])\s*;\s*([0-9A-Fa-f]+(?: [0-9A-Fa-f]+)*)\s*;/;
my ($code, $status, $fold) = ($1, $2, $3);
if ($status eq 'C') { # Common: one-to-one folding
- append(\@Fold, $code, $fold);
+ # No append() since several codes may fold into one.
+ push @Fold, [ $code, $code, $fold ];
} else { # F: full, or I: dotted uppercase I -> dotless lowercase I
$Fold{hex($code)} = $fold;
}