summaryrefslogtreecommitdiff
path: root/lib/unicore/mktables
diff options
context:
space:
mode:
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;
}