X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/13f64783b1e5ed763a85912e7129d58791de8340..d9d251ca5b512130cfb4cb9a3e03aa6748f67526:/tools/mkttfinfo diff --git a/tools/mkttfinfo b/tools/mkttfinfo index 1d8e699..ad8530e 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; @@ -16,7 +16,7 @@ GetOptions(my %opt, 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,9 @@ my %FONTID = ( } } $ttf->{head}->getdate), ); - $meta{abbr} = $FONTID{ $meta{name} } // lc $ttfname; + $meta{abbr} = lc join '', $meta{name} =~ s/ MS$//r =~ m{ + (?!Sans) (?