X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/39abcad88c47cc5971cc5f2e9f7696d432316038..2fb0fb7012a25b6847ca8187e215da735eb186bf:/font.plp diff --git a/font.plp b/font.plp index 33909e6..5e81234 100644 --- a/font.plp +++ b/font.plp @@ -26,17 +26,11 @@ 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( lucida garamond )], # apple - android => [qw( roboto noto )], # google - oss => [qw( dvsans c2k unifont )], -); -my @ossel = qw( win95 mac10 oss android ); -my @fontlist = map { @{ $oslist{$_} } } @ossel; - my $cover = do 'unicode-cover.inc.pl' or die $@ || $!; +my @ossel = @{ $cover->{osdefault} }; +my @fontlist = map { @{ $cover->{os}->{$_} } } @ossel; + my @rows = ( 'block/Latin-1 Supplement', 'block/Latin Extended-A', @@ -56,14 +50,17 @@ my @rows = ( 'table/punctuation', 'block/Dingbats', 'table/symbols', + 'category/Sc', # currency 'table/math', + 'category/Sm', # mathematical 'table/arrows/single', 'table/lines/single', 'table/block', 'table/lines', + 'table/html', ); -for my $group ($ENV{PATH_INFO} || ()) { +if (my $group = $ENV{PATH_INFO}) { $group =~ s{^/}{}; my $grouprows = $cover->{$group} or die "Unknown character category $_\n"; @@ -74,15 +71,18 @@ for my $group ($ENV{PATH_INFO} || ()) { print ''; print ''; -print "" for map { scalar @{$oslist{$_}} } @ossel; +print "" + for map { scalar @{ $cover->{os}->{$_} } } @ossel; print ''; print ''; print ''; for (@rows) { @@ -91,11 +91,10 @@ for (@rows) { print ''; $name = sprintf '%s', EncodeURI("/chars/$group/$name"), EscapeHTML($name) - if $row->{-count} and $row->{-count} < 1280; + if $row->{count} and $row->{count} < 1280; print '
'; -printf '%s fonts', scalar @{ $oslist{$_} }, $_ for @ossel; +printf '%s fonts', scalar @{ $cover->{os}->{$_} }, $_ + for @ossel; print '
'; -printf '%s', $_ for @fontlist; +printf '%s', $_->{name}, $_->{abbr} + for @{ $cover->{fonts} }[@fontlist]; say '
', $name; - print '', $row->{-count}; - for (@fontlist) { - my $count = $row->{$_}; + print '', $row->{count}; + for my $count (@{ $row->{support} }[@fontlist]) { if (not defined $count) { print '?'; next; @@ -104,12 +103,12 @@ for (@rows) { print '✘'; next; } - if ($count == $row->{-count}) { + if ($count == $row->{count}) { print '✔'; next; } - my $rel = $count / $row->{-count}; + my $rel = $count / $row->{count}; my $class = $rel < .5 ? 2 : $rel < .9 ? 3 : 4; printf '%d%%', "l$class", $rel*100; }