/rfc1345.txt
/digraphs.inc.pl
+/ttfsupport/
my $glyphs = Shiar_Sheet::FormatChar->new;
my %oslist = (
- win95 => [qw/arial ariuni verdana times/],
- mac10 => [qw//],
- oss => ['dv ss', qw/droid c2k guf/],
+ win95 => [qw( arial ariuni verdana times )],
+ mac10 => [qw( )],
+ oss => [qw( dvsans droid c2k guf )],
android => ['droid'],
);
--- /dev/null
+#!/bin/sh
+
+cd $(dirname $0)
+
+CONVBIN=./convert-ttf.pl
+OUTDIR=../ttfsupport
+TTFDIR=~/.fonts
+
+# microsoft
+
+TTFDIR_MS=/usr/share/fonts/truetype/msttcorefonts
+if [ -e $TTFDIR_MS ]; then
+$CONVBIN $TTFDIR_MS/Verdana.ttf $OUTDIR/verdana.inc.pl
+$CONVBIN $TTFDIR_MS/Times_New_Roman.ttf $OUTDIR/times.inc.pl
+$CONVBIN $TTFDIR_MS/Arial.ttf $OUTDIR/arial.inc.pl
+$CONVBIN $TTFDIR_MS/Courier_New.ttf $OUTDIR/courier.inc.pl
+$CONVBIN $TTFDIR_MS/Comic_Sans_MS.ttf $OUTDIR/comic.inc.pl
+$CONVBIN $TTFDIR_MS/Georgia.ttf $OUTDIR/georgia.inc.pl
+fi
+
+# bitstream
+
+TTFDIR_DV=/usr/share/fonts/truetype/ttf-dejavu
+if [ -e $TTFDIR_DV ]; then
+$CONVBIN $TTFDIR_DV/DejaVuSans.ttf $OUTDIR/dvsans.inc.pl
+$CONVBIN $TTFDIR_DV/DejaVuSerif.ttf $OUTDIR/dvserif.inc.pl
+$CONVBIN $TTFDIR_DV/DejaVuSansMono.ttf $OUTDIR/dvmono.inc.pl
+fi
+
+# google
+
+TTFDIR_GD=/usr/share/fonts/truetype/droid
+if [ -e $TTFDIR_GD ]; then
+$CONVBIN $TTFDIR_DV/DroidSans.ttf $OUTDIR/droidsans.inc.pl
+$CONVBIN $TTFDIR_DV/DroidSerif.ttf $OUTDIR/droidserif.inc.pl
+$CONVBIN $TTFDIR_DV/DroidSansMono.ttf $OUTDIR/droidmono.inc.pl
+fi
+
+# other
+
+find $TTFDIR -iname code2000.ttf -exec \
+ $CONVBIN "{}" $OUTDIR/c2k.inc.pl \;
+
+find $TTFDIR -iname arial\*uni\*.ttf -exec \
+ $CONVBIN "{}" $OUTDIR/ariuni.inc.pl \;
+
+TTFDIR_GU=/usr/share/fonts/truetype/unifont/
+if [ -e $TTFDIR_GU ]; then
+$CONVBIN $TTFDIR_GU/unifont.ttf $OUTDIR/unifont.inc.pl
+fi
+
'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',
);
{
or die "Cannot open truetype in $ttfuri: $!";
my $ttfname = ($ttfuri =~ m{([^/.]+) (?:[.]ttf)? \z}msx)[0];
+ my $ttfmeta = $ttf->{name}->read;
my %meta = (
- source => $ttfuri,
- name => $ttf->{name}->read->find_name(4) || $ttfname,
- version => $ttf->{head}->{fontRevision},
+ source => $ttfuri =~ m{(^/usr/.+ | [^/]+) \z}msx,
+ name => $ttfmeta->find_name(4) || $ttfname,
+ revision => $ttf->{head}->{fontRevision},
+ version => scalar $ttfmeta->find_name(5),
+ copyright=> scalar $ttfmeta->find_name(0),
+ license => $ttfmeta->find_name(14) || undef,
date => (map {
$_ && eval {
require Time::Piece;