X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9defa38b80fd2091d37bb832ef1b02ddee242d51..4e71d82512759ed7da92d213ac66d006dae456a1:/font.plp diff --git a/font.plp b/font.plp index 9faa9c1..1e1732b 100644 --- a/font.plp +++ b/font.plp @@ -25,15 +25,29 @@ use 5.010; use Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; +my %oslist = ( + win95 => [qw/arial ariuni verdana times/], + mac10 => [qw//], + oss => ['dv ss', qw/droid c2k guf/], + + android => ['droid'], +); +my @ossel = qw(win95 oss); + my $tables = do 'unicode-table.inc.pl' or die $@ || $!; my (%font, @fontlist); -for my $fontid (qw(d tnr a dv dvs c2k u)) { - my ($fontmeta, @fontrange) = do "ttfsupport/$fontid.inc.pl"; - push @fontlist, $fontid; - $font{$fontid} = { - -name => $fontmeta->{name}, - map { (chr $_ => 1) } @fontrange - }; +for my $os (@ossel) { + my $osfonts = $oslist{$os}; + for my $fontid (@{$osfonts}) { + push @fontlist, $fontid; + my ($fontmeta, @fontrange) = do "ttfsupport/$fontid.inc.pl"; + $fontmeta or next; + $font{$fontid} = { + -id => $fontmeta->{id} || $fontid, + -name => $fontmeta->{name}, + map { (chr $_ => 1) } @fontrange + }; + } } my @config = qw( @@ -47,9 +61,23 @@ $_ and m{/*+(.+)} and @config = split /[ ]/, $1 for $ENV{PATH_INFO}, $get{q}; for (@config) { my ($tablegroup, $tablename) = split m{/}, $_, 2; - print ''; + print '
'; printf '', "$tablegroup: $tablename"; say ''; + print '' x 3; + print "" for 2, map { scalar @{$oslist{$_}} } @ossel; + print ''; + print ''; my $table = $tables->{$tablegroup}->{$tablename}; for my $chr (@$table) { @@ -71,12 +99,14 @@ for (@config) { print "
%s
char'; + print 'name'; + print 'dihtml'; + printf('%s', + (map { + scalar @{$_}, + join(', ', map { $_->{-name} } @font{ @{$_} }), + } $oslist{$_}), + $_, + ) for @ossel; + say '
$chr\n"; my $info = $glyphs->glyph_info($codepoint); my ($class, $name, $mnem, $html, $string) = @$info; - print "$_" for $codepoint, EscapeHTML($name); + print "$_" for sprintf('%X', $codepoint), EscapeHTML($name); printf '%s', @$_ for ( [$ascii ? 'l0' : defined $mnem ? 'l4' : 'l1', $mnem // ''], [$ascii ? 'l0' : defined $html ? 'l4' : 'l1', $html // ''], - (map { $font{$_}->{$chr} ? [l4 => $font{$_}->{-name}] : [l1 => ''] } - @fontlist), + (map { + !$font{$_}->{-id} ? [l0 => "$_?"] : + $font{$_}->{$chr} ? [l4 => $font{$_}->{-id}] : [l1 => ''] + } @fontlist), ); } say "
\n";