summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-06-11 13:09:24 -0600
committerKarl Williamson <public@khwilliamson.com>2011-07-03 14:05:48 -0600
commitc69a9c6805950038741cc55e80637bd2c2473e31 (patch)
treeee925641faaafe2e4f9f3a894ddcd690f7c7d09f
parent47b34d7254198c381a7d21eb29478f1a0267a9d6 (diff)
downloadperl-c69a9c6805950038741cc55e80637bd2c2473e31.tar.gz
mktables: Use inverted tables for disk space
This patch changes large tables that are the complement of other tables to just be the single line indicating to use the complement
-rw-r--r--lib/unicore/mktables17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 31ab73d1b6..33be558565 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -4973,6 +4973,23 @@ sub trace { return main::trace(@_); }
# does.
push @OUT, "!utf8::Any\n";
}
+ elsif ($self->name eq 'N'
+
+ # To save disk space and table cache space, avoid putting out
+ # binary N tables, but instead create a file which just inverts
+ # the Y table. Since the file will still exist and occupy a
+ # certain number of blocks, might as well output the whole
+ # thing if it all will fit in one block. The number of
+ # ranges below is an approximate number for that.
+ && $self->property->type == $BINARY
+ # && $self->property->tables == 2 Can't do this because the
+ # non-binary properties, like NFDQC aren't specifiable
+ # by the notation
+ && $range_list{$addr}->ranges > 15
+ && ! $annotate) # Under --annotate, want to see everything
+ {
+ push @OUT, "!utf8::" . $self->property->name . "\n";
+ }
else {
my $range_size_1 = $range_size_1{$addr};
my $format; # Used only in $annotate option