From: Mischa POSLAWSKY Date: Thu, 26 May 2022 21:02:23 +0000 (+0200) Subject: font: coverage data as cover array in primary hash X-Git-Tag: v1.14~91 X-Git-Url: http://git.shiar.net/sheet.git/commitdiff_plain/c6a420bb406b6f91a43932de3843e2824b0cc53d font: coverage data as cover array in primary hash Single object for json compatibility. --- diff --git a/font.plp b/font.plp index cb6cd35..f17eab5 100644 --- a/font.plp +++ b/font.plp @@ -14,7 +14,7 @@ Html({ }); if ($font) { - my ($fontmeta, @cover) = eval { Data("data/font/$font") } + my $fontmeta = eval { Data("data/font/$font") } or Abort("Unknown font $font", '404 font not found', ref $@ && $@->[1]); my $map = eval { @@ -59,7 +59,7 @@ if ($font) { printf("

Version %s released %s contains %d glyphs.", !!$_->[2] && qq( title="revision $_->[2]"), $_->[1], $_->[0], - scalar @cover, + scalar @{ $fontmeta->{cover} }, ) for [ grep { $_ } ($fontmeta->{date} || '?') =~ s/T.*//r, @@ -86,7 +86,7 @@ if ($font) { require Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; - my %cover = map { ($_ => 1) } @cover; # lookup map + my %cover = map { ($_ => 1) } @{ $fontmeta->{cover} }; # lookup map say <<"EOT"; diff --git a/tools/mkttfinfo b/tools/mkttfinfo index 8cfe446..b14539a 100755 --- a/tools/mkttfinfo +++ b/tools/mkttfinfo @@ -7,7 +7,7 @@ use Font::TTF::Font; use Getopt::Long; use Cwd 'abs_path'; -our $VERSION = '1.01'; +our $VERSION = '1.02'; GetOptions(\my %opt, 'verbose|v!', @@ -72,13 +72,13 @@ for ($outfile || ()) { undef ) for $meta{os} || (); - say "# automatically generated by $0"; - say '+', pp(\%meta), ','; - my $support = $ttf->{cmap}->find_ms->{val}; warn scalar keys %$support, " characters read from $ttfuri\n" if $opt{verbose}; - say pp(sort { $a <=> $b } keys %$support); + $meta{cover} = [sort { $a <=> $b } keys %$support]; + + say "# automatically generated by $0"; + say '+', pp(\%meta); } __END__