X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9defa38b80fd2091d37bb832ef1b02ddee242d51..5fadf3bba74628ae85920b5c2d71f804e3256601:/tools/convert-ttf.pl diff --git a/tools/convert-ttf.pl b/tools/convert-ttf.pl index 3a7cc0e..95b26a0 100755 --- a/tools/convert-ttf.pl +++ b/tools/convert-ttf.pl @@ -6,7 +6,8 @@ use warnings; use Data::Dump 'pp'; use Font::TTF::Font; -my ($ttfname, $outfile) = @ARGV; +my ($ttfuri, $outfile) = @ARGV; +$ttfuri or die "usage error\n"; for ($outfile || ()) { !-e $_ or die "Output file $outfile already exists\n"; @@ -14,12 +15,23 @@ for ($outfile || ()) { select $output; } +my %FONTID = ( + 'Times New Roman' => 'times', + 'DejaVu Sans' => 'dv ss', + 'DejaVu Serif' => 'dv serif', + 'Code2000' => 'c2k', + 'GNU Unifont' => 'guf', + 'Droid Sans' => 'droid', + 'Droid Serif' => 'droid serif', +); + { - my $ttf = Font::TTF::Font->open($ttfname) - or die "Cannot open truetype in $ttfname: $!"; + my $ttf = Font::TTF::Font->open($ttfuri) + or die "Cannot open truetype in $ttfuri: $!"; + my $ttfname = ($ttfuri =~ m{([^/.]+) (?:[.]ttf)? \z}msx)[0]; my %meta = ( - filename => $ttfname, + source => $ttfuri, name => $ttf->{name}->read->find_name(4) || $ttfname, version => $ttf->{head}->{fontRevision}, date => (map { @@ -29,6 +41,7 @@ for ($outfile || ()) { } } $ttf->{head}->getdate), ); + $meta{id} = $FONTID{ $meta{name} } // lc $ttfname; say pp(\%meta), ','; my $support = $ttf->{cmap}->find_ms->{val};