X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/2b719dc0950d9e160458490cb1c69b7cd37d240d..dc1ab5f00eed170e75fe40687b381369a35760b8:/font.plp diff --git a/font.plp b/font.plp index 3a39c2e..07df3bd 100644 --- a/font.plp +++ b/font.plp @@ -15,7 +15,7 @@ Html({ if ($font) { my ($fontmeta, @cover) = do "data/font/$font.inc.pl"; - $fontmeta or die "Unknown font $font\n"; + $fontmeta or Abort("Unknown font $font", '404 font not found'); my $map = eval { $get{map} or return; @@ -39,7 +39,7 @@ if ($font) { } return \@map; }; - die $@ if $@; + Abort($@, '404 invalid query') if $@; require Unicode::UCD; @@ -52,7 +52,7 @@ if ($font) { return $_->[0]->[0] for Unicode::UCD::charblock(ucfirst) || (); # block die "Unknown offset query '$_'\n"; }; - die $@ if $@; + Abort($@, '400 invalid offset') if $@; say "

Font coverage

"; say "

$_

" for EscapeHTML($fontmeta->{name}); @@ -158,10 +158,11 @@ EOT # display literal character, with placeholder circle if non-spacing/enclosing my $html = ($class =~ /\bM[ne]\b/ && chr 9676) . EscapeHTML(chr $cp); say sprintf '%s', - !$class ? ('l0', $cp, '', '') : + !$class ? ('l0', $cp, '', '') : ( $cover{$cp} ? $np ? 'l2' : 'l5' : $np ? 'Xi' : 'l1', $cp, !!$name && ": $name", - ($cover{$cp} || !$np) && $html; + ($cover{$cp} || !$np) && $html + ); } say ''; @@ -218,7 +219,7 @@ my @rows = ( if (my $group = $get{q}) { my $grouprows = $cover->{$group} - or die "Unknown character category $_\n"; + or Abort("Unknown character category $_", 404); @rows = map { "$group/$_" } sort keys %{$grouprows}; }