X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/36266207701530f9b615f5b06b86f29b1178fa34..b13bb406f89eaebf04c8fd8ffe69cde30d5aa0bd:/font.plp diff --git a/font.plp b/font.plp index d4d7deb..d789262 100644 --- a/font.plp +++ b/font.plp @@ -4,23 +4,23 @@ my $font = $Request; Html({ title => 'font coverage '.($font ? "for $font" : 'sheet'), - version => '1.2', + version => '1.4', keywords => [qw( unicode font glyph char character support overview cover coverage script block symbol sign mark reference table )], stylesheet => [qw( light dark mono circus red )], - data => [qw( unicode-cover.inc.pl )], + data => [qw( data/unicode-cover.inc.pl )], }); if ($font) { - my ($fontmeta, @cover) = do "ttfsupport/$font.inc.pl"; - $fontmeta or die "Unknown font $font\n"; + 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 '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) { @@ -39,7 +39,7 @@ if ($font) { } return \@map; }; - die $@ if $@; + Abort($@, '404 invalid query') if $@; require Unicode::UCD; @@ -52,14 +52,14 @@ if ($font) { return $_->[0]->[0] for Unicode::UCD::charblock(ucfirst) || (); # block die "Unknown offset query '$_'\n"; }; - die $@ if $@; + Abort($@, '400 invalid offset') if $@; say "
Version %s released %s contains %d glyphs.", !!$_->[2] && qq( title="revision $_->[2]"), $_->[1], $_->[0], - scalar @cover, + scalar @{ $fontmeta->{cover} }, ) for [ grep { $_ } ($fontmeta->{date} || '?') =~ s/T.*//r, @@ -86,7 +86,7 @@ if ($font) { 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"; @@ -109,13 +109,13 @@ EOT say "