<(common.inc.plp)><: Html({ title => 'character support sheet', version => 'v1.1', 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 )], }); :>

Font coverage

Character support of Unicode blocks and presets.

<: use 5.010; use Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; my %oslist = ( win95 => [qw( arial ariuni verdana times courier )], # microsoft mac10 => [qw( )], # apple android => [qw( droidsans )], # google oss => [qw( dvsans c2k unifont )], ); my @ossel = qw( win95 oss android ); my @fontlist = map { @{ $oslist{$_} } } @ossel; my $cover = do 'unicode-cover.inc.pl' or die $@ || $!; # output character list print ''; print ''; print "" for map { scalar @{$oslist{$_}} } @ossel; print ''; print ''; print ''; for my $group (sort keys %{$cover}) { say ''; for my $name (sort keys %{ $cover->{$group} }) { my $row = $cover->{$group}->{$name}; print ''; $name = sprintf '%s', EncodeURI("/chars/$group/$name"), EscapeHTML($name) if $row->{-count} and $row->{-count} < 1280; print ''; } say ''; } say "
'; printf '%s fonts', scalar @{ $oslist{$_} }, $_ for @ossel; print '
'; printf '%s', $_ for @fontlist; say '
', $name; print '', $row->{-count}; for (@fontlist) { my $count = $row->{$_}; if (not defined $count) { print '?'; next; } if (not $count) { print '0'; next; } my $rel = $count / $row->{-count}; my $class = $rel < .5 ? 2 : $rel < .75 ? 3 : $rel < 1 ? 4 : 5; printf '%d%%', "l$class", $rel*100; } say '
\n"; :>