X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/b5b3537710ed9f73e1c867e0cc27d50439eaf4cd..13f64783b1e5ed763a85912e7129d58791de8340:/tools/mkttfinfo diff --git a/tools/mkttfinfo b/tools/mkttfinfo index f69bbbb..1d8e699 100755 --- a/tools/mkttfinfo +++ b/tools/mkttfinfo @@ -5,12 +5,27 @@ 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 || ()) { - !-e $_ or die "Output file $outfile already exists\n"; open my $output, '>', $_ or die "Cannot write to $outfile: $!\n"; select $output; } @@ -47,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); } @@ -63,7 +81,7 @@ mkttfinfo - Extract character coverage and metadata in TrueType font =head1 SYNOPSIS - mkttfinfo [] + mkttfinfo [-v] [] =head1 AUTHOR