X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/c7b7be5fc4d7a4fb9c85ba2e0938c5809dce8948..13f64783b1e5ed763a85912e7129d58791de8340:/tools/mkttfinfo diff --git a/tools/mkttfinfo b/tools/mkttfinfo index 864873a..1d8e699 100755 --- a/tools/mkttfinfo +++ b/tools/mkttfinfo @@ -5,10 +5,26 @@ use warnings; use Data::Dump 'pp'; use Font::TTF::Font; +use Getopt::Long; + +our $VERSION = '1.00'; + +GetOptions(my %opt, + 'verbose|v!', +); my ($ttfuri, $outfile) = @ARGV; $ttfuri or die "usage error\n"; +my $fontinc = $ENV{FONTINC} // '~/.fonts,/usr/share/fonts/truetype/*'; +if (!-e $ttfuri) { + my $found = (grep {-e} glob "{$fontinc}/$ttfuri")[0] or do { + warn "font not found: $ttfuri\n"; + exit 1; + }; + $ttfuri = $found; +} + for ($outfile || ()) { open my $output, '>', $_ or die "Cannot write to $outfile: $!\n"; select $output; @@ -46,11 +62,14 @@ my %FONTID = ( } } $ttf->{head}->getdate), ); - $meta{id} = $FONTID{ $meta{name} } // lc $ttfname; - say pp(\%meta), ','; + $meta{abbr} = $FONTID{ $meta{name} } // lc $ttfname; + + say "# automatically generated by $0"; + say '+', pp(\%meta), ','; my $support = $ttf->{cmap}->find_ms->{val}; - warn scalar keys %$support, " characters read from $ttfname\n"; + warn scalar keys %$support, " characters read from $ttfname\n" + if $opt{verbose}; say pp(sort { $a <=> $b } keys %$support); } @@ -62,7 +81,7 @@ mkttfinfo - Extract character coverage and metadata in TrueType font =head1 SYNOPSIS - mkttfinfo [] + mkttfinfo [-v] [] =head1 AUTHOR