X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/e30aa694fe516c176faaae6472e42297f6577fa6..289f866b50bd2384e19440f867e0c81c55596a92:/tools/mkttfinfo diff --git a/tools/mkttfinfo b/tools/mkttfinfo index 3dfd8b7..9102726 100755 --- a/tools/mkttfinfo +++ b/tools/mkttfinfo @@ -1,5 +1,5 @@ #!/usr/bin/env perl -use 5.010; +use 5.014; use strict; use warnings; @@ -9,14 +9,14 @@ use Getopt::Long; our $VERSION = '1.00'; -GetOptions(my %opt, +GetOptions(\my %opt, 'verbose|v!', ); my ($ttfuri, $outfile) = @ARGV; $ttfuri or die "usage error\n"; -my $fontinc = $ENV{FONTINC} // '~/.fonts,/usr/share/fonts/truetype/*'; +my $fontinc = $ENV{FONTINC} // 'data/font,~/.fonts,/usr/share/fonts/truetype/*'; if (!-e $ttfuri) { my $found = (grep {-e} glob "{$fontinc}/$ttfuri")[0] or do { warn "font not found: $ttfuri\n"; @@ -30,18 +30,6 @@ for ($outfile || ()) { select $output; } -my %FONTID = ( - 'Times New Roman' => 'times', - 'DejaVu Sans' => 'dv ss', - 'DejaVu Serif' => 'dv serif', - 'DejaVu Sans Mono'=> 'dv mono', - 'Code2000' => 'c2k', - 'GNU Unifont' => 'guf', - 'Droid Sans' => 'droid', - 'Droid Serif' => 'droid serif', - 'Droid Sans Mono' => 'droid mono', -); - { my $ttf = Font::TTF::Font->open($ttfuri) or die "Cannot open truetype in $ttfuri: $!"; @@ -51,8 +39,8 @@ my %FONTID = ( my %meta = ( source => $ttfuri =~ m{(^/usr/.+ | [^/]+) \z}msx, name => $ttfmeta->find_name(4) || $ttfname, - revision => $ttf->{head}->{fontRevision}, - version => scalar $ttfmeta->find_name(5), + revision => sprintf('%g', $ttf->{head}->{fontRevision}), + version => $ttfmeta->find_name(5) =~ s/\Aversion //ri =~ s/\s+\z//r, copyright=> scalar $ttfmeta->find_name(0), license => $ttfmeta->find_name(14) || undef, date => (map { @@ -62,7 +50,10 @@ my %FONTID = ( } } $ttf->{head}->getdate), ); - $meta{id} = $FONTID{ $meta{name} } // lc $ttfname; + $meta{abbr} = lc join '', $meta{name} =~ s/ MS$//r =~ m{ + (?!Sans) (?