Html({
title => 'font coverage '.($font ? "for $font" : 'sheet'),
- version => '1.3',
+ version => '1.4',
keywords => [qw(
unicode font glyph char character support overview cover coverage
script block symbol sign mark reference table
});
if ($font) {
- my ($fontmeta, @cover) = do "data/font/$font.inc.pl";
- $fontmeta or Abort("Unknown font $font", '404 font not found');
+ my $fontmeta = eval { Data("data/font/$font") }
+ or Abort("Unknown font $font", '404 font not found', ref $@ && $@->[1]);
my $map = eval {
$get{map} or return;
- my $groupinfo = do 'data/unicode-cover.inc.pl' or die $@ || $!;
+ my $groupinfo = Data('data/unicode-cover');
my ($cat, $name) = split m{/}, $get{map}, 2 or die "invalid map\n";
if (!$name) {
printf("<p>Version <strong%s>%s</strong> released %s contains %d glyphs.",
!!$_->[2] && qq( title="revision $_->[2]"),
$_->[1], $_->[0],
- scalar @cover,
+ scalar @{ $fontmeta->{cover} },
) for [
grep { $_ }
($fontmeta->{date} || '?') =~ s/T.*//r,
require Shiar_Sheet::FormatChar;
my $glyphs = Shiar_Sheet::FormatChar->new;
- my %cover = map { ($_ => 1) } @cover; # lookup map
+ my %cover = map { ($_ => 1) } @{ $fontmeta->{cover} }; # lookup map
say <<"EOT";
<:
-my $cover = do 'data/unicode-cover.inc.pl' or die $@ || $!;
+my $cover = Data('data/unicode-cover');
my @ossel = @{ $cover->{osdefault} };
my @fontlist = map { @{ $cover->{os}->{$_} } } @ossel;