keywords => [qw(
unicode font glyph char character support overview cover coverage
script block symbol sign mark reference table
keywords => [qw(
unicode font glyph char character support overview cover coverage
script block symbol sign mark reference table
- my ($fontmeta, @cover) = do "data/font/$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 ($cat, $name) = split m{/}, $get{map}, 2 or die "invalid map\n";
if (!$name) {
my ($cat, $name) = split m{/}, $get{map}, 2 or die "invalid map\n";
if (!$name) {
return $_->[0]->[0] for Unicode::UCD::charblock(ucfirst) || (); # block
die "Unknown offset query '$_'\n";
};
return $_->[0]->[0] for Unicode::UCD::charblock(ucfirst) || (); # block
die "Unknown offset query '$_'\n";
};
say "<h1>Font coverage</h1>";
say "<h2>$_</h2>" for EscapeHTML($fontmeta->{name});
printf("<p>Version <strong%s>%s</strong> released %s contains %d glyphs.",
!!$_->[2] && qq( title="revision $_->[2]"),
$_->[1], $_->[0],
say "<h1>Font coverage</h1>";
say "<h2>$_</h2>" for EscapeHTML($fontmeta->{name});
printf("<p>Version <strong%s>%s</strong> released %s contains %d glyphs.",
!!$_->[2] && qq( title="revision $_->[2]"),
$_->[1], $_->[0],
my ($class, $name, $mnem, $entity, $string) = @{$info};
my $np = $class =~ /\bC\S\b/; # noprint if control or invalid
# display literal character, with placeholder circle if non-spacing/enclosing
my ($class, $name, $mnem, $entity, $string) = @{$info};
my $np = $class =~ /\bC\S\b/; # noprint if control or invalid
# display literal character, with placeholder circle if non-spacing/enclosing
- !$class ? ('l0', $cp, '', '') :
+ !$class ? ('l0', $cp, '', '') : (
$cover{$cp} ? $np ? 'l2' : 'l5' : $np ? 'Xi' : 'l1',
$cp, !!$name && ": $name",
$cover{$cp} ? $np ? 'l2' : 'l5' : $np ? 'Xi' : 'l1',
$cp, !!$name && ": $name",