#!/usr/intel/bin/perl -w # # Read an AFM file and produce the appropriate definitions suitable for # Lout (fontdef). See the Lout documentation for more information on what # fontdefs are and how they work. # my $prog = (split('/', $0))[-1]; if ($#ARGV == -1) { &usage; exit(1); } my $tag; my $family; my $face; my $name; my $metrics; my $mapping; my $file = shift; my $lfile = (split('/', $file))[-1]; if (!open(INPUT, "$file")) { print STDERR ("$prog: cannot open $file\n"); exit(2); } # # Header # print ("{ address@hidden"); while($_ = ) { if (/^ *FontName\s+(\S+)/io) { $name = $1; # ($family) = ($name =~ /([^-]+)-/io); } elsif (/^ *FamilyName\s+(.*)$/) { my $fname = $1; $fname =~ s/ //g; $fname =~ s/ITC//; $family = $fname; } elsif (/^ *Weight\s+(\S+)/io) { $face = $1; # if ($weight =~ /^Medium$/io) { # $face = "Base"; # } # elsif ($weight =~ /^(Oblique|Italic)$/io) { # $face = "Slope"; # } # elsif ($weight =~ /^Bold$/io) { # $face = "Bold"; # } } } $tag = $family . "-" . $face; print <<"FOO"; address@hidden { $tag } address@hidden { $family } address@hidden { $face } address@hidden { $name } address@hidden { $lfile } address@hidden { LtLatin1.LCM } } FOO sub usage { print STDERR ("usage: $prog \n"); }