summaryrefslogtreecommitdiff
path: root/lib/unicore/mktables
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/mktables
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/mktables')
-rw-r--r--lib/unicore/mktables4
1 files changed, 3 insertions, 1 deletions
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;
}