From 4b13af2d4d53762c4cb1aed7e4d0de3b5666c1bc Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 9 Apr 2012 23:17:43 +0200 Subject: [PATCH] font: coverage overview page Replacing earlier font page (now chars) with less specific totals. --- font.plp | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 font.plp diff --git a/font.plp b/font.plp new file mode 100644 index 0000000..79ac28d --- /dev/null +++ b/font.plp @@ -0,0 +1,83 @@ +<(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 $name (sort keys %{$cover}) { + my $row = $cover->{$name}; + print ''; + $name = qq{$name} + if $row->{-count} and $row->{-count} < 1280; + print ''; +} + +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"; + +:>
+ -- 2.30.0