Initial import of Font-AFM-1.18 (Used by p5-Mail-Box)

perl interface to Adobe Font Metrics files
---
This module implements the Font::AFM class. Objects of this class
are initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
This commit is contained in:
shell 2002-07-11 09:30:09 +00:00
parent 8bbf340dbc
commit 6461795127
72 changed files with 4920 additions and 0 deletions

View File

@ -0,0 +1,18 @@
# $OpenBSD: Makefile,v 1.1.1.1 2002/07/11 09:30:09 shell Exp $
COMMENT= "perl interface to Adobe Font Metrics files"
DISTNAME= Font-AFM-1.18
PKGNAME= p5-${DISTNAME}
CATEGORIES= textproc perl5
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Font/}
CONFIGURE_STYLE= perl
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
MD5 (Font-AFM-1.18.tar.gz) = 4e134a23de7be8c44f70e87d831c4f18
RMD160 (Font-AFM-1.18.tar.gz) = 1055d35516697d34e5db078cb6f655adc2c1cb2f
SHA1 (Font-AFM-1.18.tar.gz) = 92b82f57f18b72462ba9d0d56953c8d3011eb421

View File

@ -0,0 +1,8 @@
This module implements the Font::AFM class. Objects of this class
are initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
All measurements in AFM files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.

View File

@ -0,0 +1,16 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2002/07/11 09:30:09 shell Exp $
${P5SITE}/Font/AFM.pm
${P5SITE}/Font/Metrics/Courier.pm
${P5SITE}/Font/Metrics/CourierBold.pm
${P5SITE}/Font/Metrics/CourierBoldOblique.pm
${P5SITE}/Font/Metrics/CourierOblique.pm
${P5SITE}/Font/Metrics/Helvetica.pm
${P5SITE}/Font/Metrics/HelveticaBold.pm
${P5SITE}/Font/Metrics/HelveticaBoldOblique.pm
${P5SITE}/Font/Metrics/HelveticaOblique.pm
${P5SITE}/Font/Metrics/TimesBold.pm
${P5SITE}/Font/Metrics/TimesBoldItalic.pm
${P5SITE}/Font/Metrics/TimesItalic.pm
${P5SITE}/Font/Metrics/TimesRoman.pm
man/man3p/Font::AFM.3p
@dirrm ${P5SITE}/Font/Metrics

View File

@ -0,0 +1,399 @@
# This -*- perl -*- module is a simple parser for Adobe Font Metrics files.
# $Id: AFM.pm,v 1.1.1.1 2002/07/11 09:30:09 shell Exp $
package Font::AFM;
=head1 NAME
Font::AFM - Interface to Adobe Font Metrics files
=head1 SYNOPSIS
use Font::AFM;
$h = new Font::AFM "Helvetica";
$copyright = $h->Notice;
$w = $h->Wx->{"aring"};
$w = $h->stringwidth("Gisle", 10);
$h->dump; # for debugging
=head1 DESCRIPTION
This module implements the Font::AFM class. Objects of this class are
initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
All measurements in AFM files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.
The following methods are available:
=over 3
=item $afm = Font::AFM->new($fontname)
Object constructor. Takes the name of the font as argument. It will
croak if the font can not be found.
=item $afm->latin1_wx_table()
Returns a 256 element array, where each element contains the width
of the corresponding character in the iso-8859-1 character set.
=item $afm->stringwidth($string, [$fontsize])
Returns the width of the string passed as argument. The string is
assumed to be encoded in the iso-8859-1 character set. A second
argument can be used to scale the width according to the font size.
=item $afm->FontName
The name of the font as presented to the PostScript language
C<findfont> operator, for instance "Times-Roman".
=item $afm->FullName
Unique, human-readable name for an individual font, for instance
"Times Roman".
=item $afm->FamilyName
Human-readable name for a group of fonts that are stylistic variants
of a single design. All fonts that are member of such a group should
have exactly the same C<FamilyName>. Example of a family name is
"Times".
=item $afm->Weight
Human-readable name for the weight, or "boldness", attribute of a font.
Exampes are C<Roman>, C<Bold>, C<Light>.
=item $afm->ItalicAngle
Angle in degrees counterclockwise from the vertical of the dominant
vertical strokes of the font.
=item $afm->IsFixedPitch
If the value is C<true>, it indicated that the font is a fixed-pitch
(monospaced) font.
=item $afm->FontBBox
A string of four numbers giving the lower-left x, lower-left y,
upper-right x, and upper-right y of the font bounding box. The font
bounding box is the smallest rectangle enclosing the shape that would
result if all the characters of the font were placed with their
origins coincident, and then painted.
=item $afm->UnderlinePosition
Recommended distance from the baseline for positioning underline
stokes. This number is the y coordinate of the center of the stroke.
=item $afm->UnderlineThickness
Recommended stroke width for underlining.
=item $afm->Version
Version number of the font.
=item $afm->Notice
Trademark or copyright notice, if applicable.
=item $afm->Comment
Comments found in the AFM file.
=item $afm->EncodingScheme
The name of the standard encoding scheme for the font. Most Adobe
fonts use the C<AdobeStandardEncoding>. Special fonts might state
C<FontSpecific>.
=item $afm->CapHeight
Usually the y-value of the top of the capital H.
=item $afm->XHeight
Typically the y-value of the top of the lowercase x.
=item $afm->Ascender
Typically the y-value of the top of the lowercase d.
=item $afm->Descender
Typically the y-value of the bottom of the lowercase p.
=item $afm->Wx
Returns a hash table that maps from glyph names to the width of that glyph.
=item $afm->BBox
Returns a hash table that maps from glyph names to bounding box information.
The bounding box consist of 4 numbers: llx, lly, urx, ury.
=item $afm->dump
Dumps the content of the Font::AFM object to STDOUT. Might sometimes
be useful for debugging.
=back
The AFM specification can be found at:
ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
=head1 ENVIRONMENT
=over 10
=item METRICS
Contains the path to seach for AFM-files. Format is as for the PATH
environment variable. The default path built into this library is:
/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
=back
=head1 BUGS
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
=head1 COPYRIGHT
Copyright 1995-1998 Gisle Aas. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
#-------perl resumes here--------------------------------------------
use Carp;
use strict;
use vars qw($VERSION @ISOLatin1Encoding);
$VERSION = sprintf("%d.%02d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/);
# The metrics_path is used to locate metrics files
#
my $metrics_path = $ENV{METRICS} ||
"/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.";
my @metrics_path = split(/:/, $metrics_path);
foreach (@metrics_path) { s,/$,, } # reove trailing slashes
@ISOLatin1Encoding = qw(
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef space
exclam quotedbl numbersign dollar percent ampersand quoteright
parenleft parenright asterisk plus comma minus period slash zero one
two three four five six seven eight nine colon semicolon less equal
greater question at A B C D E F G H I J K L M N O P Q R S
T U V W X Y Z bracketleft backslash bracketright asciicircum
underscore quoteleft a b c d e f g h i j k l m n o p q r s
t u v w x y z braceleft bar braceright asciitilde .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef dotlessi grave
acute circumflex tilde macron breve dotaccent dieresis .notdef ring
cedilla .notdef hungarumlaut ogonek caron space exclamdown cent
sterling currency yen brokenbar section dieresis copyright ordfeminine
guillemotleft logicalnot hyphen registered macron degree plusminus
twosuperior threesuperior acute mu paragraph periodcentered cedilla
onesuperior ordmasculine guillemotright onequarter onehalf threequarters
questiondown Agrave Aacute Acircumflex Atilde Adieresis Aring AE
Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex
Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis
multiply Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn
germandbls agrave aacute acircumflex atilde adieresis aring ae
ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex
idieresis eth ntilde ograve oacute ocircumflex otilde odieresis divide
oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis
);
# Creates a new Font::AFM object. Pass it the name of the font as parameter.
# Synopisis:
#
# $h = new Font::AFM "Helvetica";
#
sub new
{
my($class, $fontname) = @_;
my $file;
$fontname =~ s/\.afm$//;
if ($^O eq 'VMS') {
$file = "sys\$ps_font_metrics:$fontname.afm";
} else {
$file = "$fontname.afm";
unless ($file =~ m,^/,) {
# not absolute, search the metrics path for the file
foreach (@metrics_path) {
if (-f "$_/$file") {
$file = "$_/$file";
last;
}
}
}
}
open(AFM, $file) or croak "Can't find the AFM file for $fontname";
my $self = bless { }, $class;
local($/, $_) = ("\n", undef); # ensure correct $INPUT_RECORD_SEPARATOR
while (<AFM>) {
next if /^StartKernData/ .. /^EndKernData/; # kern data not parsed yet
next if /^StartComposites/ .. /^EndComposites/; # same for composites
if (/^StartCharMetrics/ .. /^EndCharMetrics/) {
# only lines that start with "C" or "CH" are parsed
next unless /^CH?\s/;
my($name) = /\bN\s+(\.?\w+)\s*;/;
my($wx) = /\bWX\s+(\d+)\s*;/;
my($bbox) = /\bB\s+([^;]+);/;
$bbox =~ s/\s+$//;
# Should also parse lingature data (format: L successor lignature)
$self->{'wx'}{$name} = $wx;
$self->{'bbox'}{$name} = $bbox;
next;
}
last if /^EndFontMetrics/;
if (/(^\w+)\s+(.*)/) {
my($key,$val) = ($1, $2);
$key = lc $key;
if (defined $self->{$key}) {
$self->{$key} = [ $self->{$key} ] unless ref $self->{$key};
push(@{$self->{$key}}, $val);
} else {
$self->{$key} = $val;
}
} else {
print STDERR "Can't parse: $_";
}
}
close(AFM);
unless (exists $self->{wx}->{'.notdef'}) {
$self->{wx}->{'.notdef'} = 0;
$self->{bbox}{'.notdef'} = "0 0 0 0";
}
$self;
}
# Returns an 256 element array that maps from characters to width
sub latin1_wx_table
{
my($self) = @_;
unless ($self->{'_wx_table'}) {
my @wx;
for (0..255) {
my $name = $ISOLatin1Encoding[$_];
if (exists $self->{wx}->{$name}) {
push(@wx, $self->{wx}->{$name})
} else {
push(@wx, $self->{wx}->{'.notdef'});
}
}
$self->{'_wx_table'} = \@wx;
}
wantarray ? @{ $self->{'_wx_table'} } : $self->{'_wx_table'};
}
sub stringwidth
{
my($self, $string, $pointsize) = @_;
return 0.0 unless defined $string;
return 0.0 unless length $string;
my @wx = $self->latin1_wx_table;
my $width = 0.0;
for (unpack("C*", $string)) {
$width += $wx[$_];
}
if ($pointsize) {
$width *= $pointsize / 1000;
}
$width;
}
sub FontName;
sub FullName;
sub FamilyName;
sub Weight;
sub ItalicAngle;
sub IsFixedPitch;
sub FontBBox;
sub UnderlinePosition;
sub UnderlineThickness;
sub Version;
sub Notice;
sub Comment;
sub EncodingScheme;
sub CapHeight;
sub XHeight;
sub Ascender;
sub Descender;
sub Wx;
sub BBox;
# We implement all the access functions within this simple autoload
# function.
sub AUTOLOAD
{
no strict 'vars'; # don't want to declare $AUTOLOAD
#print "AUTOLOAD: $AUTOLOAD\n";
if ($AUTOLOAD =~ /::DESTROY$/) {
eval "sub $AUTOLOAD {}";
goto &$AUTOLOAD;
} else {
my $name = $AUTOLOAD;
$name =~ s/^.*:://;
croak "Attribute $name not defined for AFM object"
unless defined $_[0]->{lc $name};
return $_[0]->{lc $name};
}
}
# Dumping might be useful for debugging
sub dump
{
my($self) = @_;
my($key, $val);
foreach $key (sort keys %$self) {
if (ref $self->{$key}) {
if (ref $self->{$key} eq "ARRAY") {
print "$key = [\n\t", join("\n\t", @{$self->{$key}}), "\n]\n";
} elsif (ref $self->{$key} eq "HASH") {
print "$key = {\n";
my $key2;
foreach $key2 (sort keys %{$self->{$key}}) {
print "\t$key2 => $self->{$key}{$key2},\n";
}
print "}\n";
} else {
print "$key = $self->{$key}\n";
}
} else {
print "$key = $self->{$key}\n";
}
}
}
1;

View File

@ -0,0 +1,13 @@
1999-02-22 Gisle Aas <gisle@aas.no>
Release 1.18
Fixed small typo discovered by Mark Hershberger <mah@everybody.org>.
Added a new test as a workaround for Test::Harness bug.
1998-03-25 Gisle Aas <aas@sn.no>
Release 1.17, Font::* modules unbundled from libwww-perl-5.22.

View File

@ -0,0 +1,20 @@
AFM.pm
Changes
MANIFEST
Makefile.PL
README
lib/Font/Metrics/Courier.pm
lib/Font/Metrics/CourierBold.pm
lib/Font/Metrics/CourierBoldOblique.pm
lib/Font/Metrics/CourierOblique.pm
lib/Font/Metrics/Helvetica.pm
lib/Font/Metrics/HelveticaBold.pm
lib/Font/Metrics/HelveticaBoldOblique.pm
lib/Font/Metrics/HelveticaOblique.pm
lib/Font/Metrics/TimesBold.pm
lib/Font/Metrics/TimesBoldItalic.pm
lib/Font/Metrics/TimesItalic.pm
lib/Font/Metrics/TimesRoman.pm
make_metrics
t/afm.t
t/times.t

View File

@ -0,0 +1,728 @@
# This Makefile is for the Font::AFM extension to perl.
#
# It was generated automatically by MakeMaker version
# 5.45 (Revision: 1.5) from the contents of
# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
#
# ANY CHANGES MADE HERE WILL BE LOST!
#
# MakeMaker ARGV: (q[PREFIX=${DESTDIR}/usr/local], q[INSTALLSITELIB=${DESTDIR}/usr/local/libdata/perl5/site_perl], q[INSTALLSITEARCH=${INSTALLSITELIB}/i386-openbsd], q[INSTALLPRIVLIB=${DESTDIR}/usr/./libdata/perl5], q[INSTALLARCHLIB=${INSTALLPRIVLIB}/i386-openbsd], q[INSTALLMAN1DIR=${DESTDIR}/usr/local/man/man1], q[INSTALLMAN3DIR=${DESTDIR}/usr/local/man/man3p], q[INSTALLBIN=${PREFIX}/bin], q[INSTALLSCRIPT=${INSTALLBIN}])
#
# MakeMaker Parameters:
# NAME => q[Font::AFM]
# VERSION_FROM => q[AFM.pm]
# dist => { COMPRESS=>q[gzip -9f], SUFFIX=>q[gz] }
# --- MakeMaker post_initialize section:
# --- MakeMaker const_config section:
# These definitions are from config.sh (via /usr/libdata/perl5/i386-openbsd/5.6.1/Config.pm)
# They may have been overridden via Makefile.PL or on the command line
AR = ar
CC = cc
CCCDLFLAGS = -DPIC -fPIC
CCDLFLAGS =
DLEXT = so
DLSRC = dl_dlopen.xs
LD = cc
LDDLFLAGS = -shared -fPIC
LDFLAGS =
LIBC = /usr/lib/libc.a
LIB_EXT = .a
OBJ_EXT = .o
OSNAME = openbsd
OSVERS = 3.1
RANLIB = /usr/bin/ranlib
SO = so
EXE_EXT =
FULL_AR = /usr/bin/ar
# --- MakeMaker constants section:
AR_STATIC_ARGS = cr
NAME = Font::AFM
DISTNAME = Font-AFM
NAME_SYM = Font_AFM
VERSION = 1.18
VERSION_SYM = 1_18
XS_VERSION = 1.18
INST_BIN = blib/bin
INST_EXE = blib/script
INST_LIB = blib/lib
INST_ARCHLIB = blib/arch
INST_SCRIPT = blib/script
PREFIX = ${DESTDIR}/usr/local
INSTALLDIRS = site
INSTALLPRIVLIB = ${DESTDIR}/usr/./libdata/perl5
INSTALLARCHLIB = ${INSTALLPRIVLIB}/i386-openbsd
INSTALLSITELIB = ${DESTDIR}/usr/local/libdata/perl5/site_perl
INSTALLSITEARCH = ${INSTALLSITELIB}/i386-openbsd
INSTALLBIN = ${PREFIX}/bin
INSTALLSCRIPT = ${INSTALLBIN}
PERL_LIB = /usr/libdata/perl5
PERL_ARCHLIB = /usr/libdata/perl5/i386-openbsd/5.6.1
SITELIBEXP = /usr/local/libdata/perl5/site_perl
SITEARCHEXP = /usr/local/libdata/perl5/site_perl/i386-openbsd
LIBPERL_A = libperl.a
FIRST_MAKEFILE = Makefile
MAKE_APERL_FILE = Makefile.aperl
PERLMAINCC = $(CC)
PERL_INC = /usr/libdata/perl5/i386-openbsd/5.6.1/CORE
PERL = /usr/bin/perl
FULLPERL = /usr/bin/perl
FULL_AR = /usr/bin/ar
VERSION_MACRO = VERSION
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
XS_VERSION_MACRO = XS_VERSION
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
MAKEMAKER = /usr/libdata/perl5/ExtUtils/MakeMaker.pm
MM_VERSION = 5.45
# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
# ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD) !!! Deprecated from MM 5.32 !!!
# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
# DLBASE = Basename part of dynamic library. May be just equal BASEEXT.
FULLEXT = Font/AFM
BASEEXT = AFM
PARENT_NAME = Font
DLBASE = $(BASEEXT)
VERSION_FROM = AFM.pm
OBJECT =
LDFROM = $(OBJECT)
LINKTYPE = dynamic
# Handy lists of source code files:
XS_FILES=
C_FILES =
O_FILES =
H_FILES =
HTMLLIBPODS =
HTMLSCRIPTPODS =
MAN1PODS =
MAN3PODS = AFM.pm
HTMLEXT = html
INST_MAN1DIR = blib/man1
INSTALLMAN1DIR = ${DESTDIR}/usr/local/man/man1
MAN1EXT = 1
INST_MAN3DIR = blib/man3
INSTALLMAN3DIR = ${DESTDIR}/usr/local/man/man3p
MAN3EXT = 3p
PERM_RW = 644
PERM_RWX = 755
# work around a famous dec-osf make(1) feature(?):
makemakerdflt: all
.SUFFIXES: .xs .c .C .cpp .cxx .cc $(OBJ_EXT)
# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that
# some make implementations will delete the Makefile when we rebuild it. Because
# we call false(1) when we rebuild it. So make(1) is not completely wrong when it
# does so. Our milage may vary.
# .PRECIOUS: Makefile # seems to be not necessary anymore
.PHONY: all config static dynamic test linkext manifest
# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h
# Where to put things:
INST_LIBDIR = $(INST_LIB)/Font
INST_ARCHLIBDIR = $(INST_ARCHLIB)/Font
INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)
INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
INST_STATIC =
INST_DYNAMIC =
INST_BOOT =
EXPORT_LIST =
PERL_ARCHIVE =
PERL_ARCHIVE_AFTER =
TO_INST_PM = AFM.pm \
lib/Font/Metrics/Courier.pm \
lib/Font/Metrics/CourierBold.pm \
lib/Font/Metrics/CourierBoldOblique.pm \
lib/Font/Metrics/CourierOblique.pm \
lib/Font/Metrics/Helvetica.pm \
lib/Font/Metrics/HelveticaBold.pm \
lib/Font/Metrics/HelveticaBoldOblique.pm \
lib/Font/Metrics/HelveticaOblique.pm \
lib/Font/Metrics/TimesBold.pm \
lib/Font/Metrics/TimesBoldItalic.pm \
lib/Font/Metrics/TimesItalic.pm \
lib/Font/Metrics/TimesRoman.pm
PM_TO_BLIB = lib/Font/Metrics/TimesRoman.pm \
$(INST_LIB)/Font/Metrics/TimesRoman.pm \
lib/Font/Metrics/CourierOblique.pm \
$(INST_LIB)/Font/Metrics/CourierOblique.pm \
lib/Font/Metrics/TimesBoldItalic.pm \
$(INST_LIB)/Font/Metrics/TimesBoldItalic.pm \
lib/Font/Metrics/HelveticaBoldOblique.pm \
$(INST_LIB)/Font/Metrics/HelveticaBoldOblique.pm \
lib/Font/Metrics/Courier.pm \
$(INST_LIB)/Font/Metrics/Courier.pm \
lib/Font/Metrics/CourierBoldOblique.pm \
$(INST_LIB)/Font/Metrics/CourierBoldOblique.pm \
lib/Font/Metrics/TimesBold.pm \
$(INST_LIB)/Font/Metrics/TimesBold.pm \
lib/Font/Metrics/HelveticaBold.pm \
$(INST_LIB)/Font/Metrics/HelveticaBold.pm \
lib/Font/Metrics/TimesItalic.pm \
$(INST_LIB)/Font/Metrics/TimesItalic.pm \
AFM.pm \
$(INST_LIBDIR)/AFM.pm \
lib/Font/Metrics/Helvetica.pm \
$(INST_LIB)/Font/Metrics/Helvetica.pm \
lib/Font/Metrics/CourierBold.pm \
$(INST_LIB)/Font/Metrics/CourierBold.pm \
lib/Font/Metrics/HelveticaOblique.pm \
$(INST_LIB)/Font/Metrics/HelveticaOblique.pm
# --- MakeMaker tool_autosplit section:
# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
AUTOSPLITFILE = $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e 'use AutoSplit;autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;'
# --- MakeMaker tool_xsubpp section:
# --- MakeMaker tools_other section:
SHELL = /bin/sh
CHMOD = chmod
CP = cp
LD = cc
MV = mv
NOOP = $(SHELL) -c true
RM_F = rm -f
RM_RF = rm -rf
TEST_F = test -f
TOUCH = touch
UMASK_NULL = umask 0
DEV_NULL = > /dev/null 2>&1
# The following is a portable way to say mkdir -p
# To see which directories are created, change the if 0 to if 1
MKPATH = $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Command -e mkpath
# This helps us to minimize the effect of the .exists files A yet
# better solution would be to have a stable file in the perl
# distribution with a timestamp of zero. But this solution doesn't
# need any changes to the core distribution and works with older perls
EQUALIZE_TIMESTAMP = $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Command -e eqtime
# Here we warn users that an old packlist file was found somewhere,
# and that they should call some uninstall routine
WARN_IF_OLD_PACKLIST = $(PERL) -we 'exit unless -f $$ARGV[0];' \
-e 'print "WARNING: I have found an old package in\n";' \
-e 'print "\t$$ARGV[0].\n";' \
-e 'print "Please make sure the two installations are not conflicting\n";'
UNINST=0
VERBINST=0
MOD_INSTALL = $(PERL) -I$(INST_LIB) -I$(PERL_LIB) -MExtUtils::Install \
-e "install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"
DOC_INSTALL = $(PERL) -e '$$\="\n\n";' \
-e 'print "=head2 ", scalar(localtime), ": C<", shift, ">", " L<", $$arg=shift, "|", $$arg, ">";' \
-e 'print "=over 4";' \
-e 'while (defined($$key = shift) and defined($$val = shift)){print "=item *";print "C<$$key: $$val>";}' \
-e 'print "=back";'
UNINSTALL = $(PERL) -MExtUtils::Install \
-e 'uninstall($$ARGV[0],1,1); print "\nUninstall is deprecated. Please check the";' \
-e 'print " packlist above carefully.\n There may be errors. Remove the";' \
-e 'print " appropriate files manually.\n Sorry for the inconveniences.\n"'
# --- MakeMaker dist section:
DISTVNAME = $(DISTNAME)-$(VERSION)
TAR = tar
TARFLAGS = cvf
ZIP = zip
ZIPFLAGS = -r
COMPRESS = gzip -9f
SUFFIX = gz
SHAR = shar
PREOP = @$(NOOP)
POSTOP = @$(NOOP)
TO_UNIX = @$(NOOP)
CI = ci -u
RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
DIST_CP = best
DIST_DEFAULT = tardist
# --- MakeMaker macro section:
# --- MakeMaker depend section:
# --- MakeMaker cflags section:
# --- MakeMaker const_loadlibs section:
# --- MakeMaker const_cccmd section:
# --- MakeMaker post_constants section:
# --- MakeMaker pasthru section:
PASTHRU = LIB="$(LIB)"\
LIBPERL_A="$(LIBPERL_A)"\
LINKTYPE="$(LINKTYPE)"\
PREFIX="$(PREFIX)"\
OPTIMIZE="$(OPTIMIZE)"
# --- MakeMaker c_o section:
# --- MakeMaker xs_c section:
# --- MakeMaker xs_o section:
# --- MakeMaker top_targets section:
#all :: config $(INST_PM) subdirs linkext manifypods
all :: pure_all htmlifypods manifypods
@$(NOOP)
pure_all :: config pm_to_blib subdirs linkext
@$(NOOP)
subdirs :: $(MYEXTLIB)
@$(NOOP)
config :: Makefile $(INST_LIBDIR)/.exists
@$(NOOP)
config :: $(INST_ARCHAUTODIR)/.exists
@$(NOOP)
config :: $(INST_AUTODIR)/.exists
@$(NOOP)
$(INST_AUTODIR)/.exists :: /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h
@$(MKPATH) $(INST_AUTODIR)
@$(EQUALIZE_TIMESTAMP) /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h $(INST_AUTODIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_AUTODIR)
$(INST_LIBDIR)/.exists :: /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h
@$(MKPATH) $(INST_LIBDIR)
@$(EQUALIZE_TIMESTAMP) /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h $(INST_LIBDIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_LIBDIR)
$(INST_ARCHAUTODIR)/.exists :: /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h
@$(MKPATH) $(INST_ARCHAUTODIR)
@$(EQUALIZE_TIMESTAMP) /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h $(INST_ARCHAUTODIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)
config :: $(INST_MAN3DIR)/.exists
@$(NOOP)
$(INST_MAN3DIR)/.exists :: /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h
@$(MKPATH) $(INST_MAN3DIR)
@$(EQUALIZE_TIMESTAMP) /usr/libdata/perl5/i386-openbsd/5.6.1/CORE/perl.h $(INST_MAN3DIR)/.exists
-@$(CHMOD) $(PERM_RWX) $(INST_MAN3DIR)
help:
perldoc ExtUtils::MakeMaker
Version_check:
@$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \
-MExtUtils::MakeMaker=Version_check \
-e "Version_check('$(MM_VERSION)')"
# --- MakeMaker linkext section:
linkext :: $(LINKTYPE)
@$(NOOP)
# --- MakeMaker dlsyms section:
# --- MakeMaker dynamic section:
## $(INST_PM) has been moved to the all: target.
## It remains here for awhile to allow for old usage: "make dynamic"
#dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM)
dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT)
@$(NOOP)
# --- MakeMaker dynamic_bs section:
BOOTSTRAP =
# --- MakeMaker dynamic_lib section:
# --- MakeMaker static section:
## $(INST_PM) has been moved to the all: target.
## It remains here for awhile to allow for old usage: "make static"
#static :: Makefile $(INST_STATIC) $(INST_PM)
static :: Makefile $(INST_STATIC)
@$(NOOP)
# --- MakeMaker static_lib section:
# --- MakeMaker htmlifypods section:
htmlifypods : pure_all
@$(NOOP)
# --- MakeMaker manifypods section:
POD2MAN_EXE = /usr/bin/pod2man
POD2MAN = $(PERL) -we '%m=@ARGV;for (keys %m){' \
-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "Makefile";' \
-e 'print "Manifying $$m{$$_}\n";' \
-e 'system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\047t install $$m{$$_}\n";' \
-e 'chmod(oct($(PERM_RW))), $$m{$$_} or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
manifypods : pure_all AFM.pm
@$(POD2MAN) \
AFM.pm \
$(INST_MAN3DIR)/Font::AFM.$(MAN3EXT)
# --- MakeMaker processPL section:
# --- MakeMaker installbin section:
# --- MakeMaker subdirs section:
# none
# --- MakeMaker clean section:
# Delete temporary files but do not touch installed files. We don't delete
# the Makefile here so a later make realclean still has a makefile to use.
clean ::
-rm -rf ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c mon.out core core.*perl.*.? *perl.core so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def $(BASEEXT).exp
-mv Makefile Makefile.old $(DEV_NULL)
# --- MakeMaker realclean section:
# Delete temporary files (via clean) and also delete installed files
realclean purge :: clean
rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR)
rm -f $(INST_LIB)/Font/Metrics/TimesRoman.pm
rm -f $(INST_LIB)/Font/Metrics/CourierOblique.pm
rm -f $(INST_LIB)/Font/Metrics/TimesBoldItalic.pm
rm -f $(INST_LIB)/Font/Metrics/HelveticaBoldOblique.pm
rm -f $(INST_LIB)/Font/Metrics/Courier.pm
rm -f $(INST_LIB)/Font/Metrics/CourierBoldOblique.pm
rm -f $(INST_LIB)/Font/Metrics/TimesBold.pm $(INST_LIB)/Font/Metrics/HelveticaBold.pm
rm -f $(INST_LIB)/Font/Metrics/TimesItalic.pm $(INST_LIBDIR)/AFM.pm
rm -f $(INST_LIB)/Font/Metrics/Helvetica.pm $(INST_LIB)/Font/Metrics/CourierBold.pm
rm -f $(INST_LIB)/Font/Metrics/HelveticaOblique.pm
rm -rf Makefile Makefile.old
# --- MakeMaker dist_basics section:
distclean :: realclean distcheck
distcheck :
$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=fullcheck \
-e fullcheck
skipcheck :
$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=skipcheck \
-e skipcheck
manifest :
$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=mkmanifest \
-e mkmanifest
veryclean : realclean
$(RM_F) *~ *.orig */*~ */*.orig
# --- MakeMaker dist_core section:
dist : $(DIST_DEFAULT)
@$(PERL) -le 'print "Warning: Makefile possibly out of date with $$vf" if ' \
-e '-e ($$vf="$(VERSION_FROM)") and -M $$vf < -M "Makefile";'
tardist : $(DISTVNAME).tar$(SUFFIX)
zipdist : $(DISTVNAME).zip
$(DISTVNAME).tar$(SUFFIX) : distdir
$(PREOP)
$(TO_UNIX)
$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
$(RM_RF) $(DISTVNAME)
$(COMPRESS) $(DISTVNAME).tar
$(POSTOP)
$(DISTVNAME).zip : distdir
$(PREOP)
$(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
$(RM_RF) $(DISTVNAME)
$(POSTOP)
uutardist : $(DISTVNAME).tar$(SUFFIX)
uuencode $(DISTVNAME).tar$(SUFFIX) \
$(DISTVNAME).tar$(SUFFIX) > \
$(DISTVNAME).tar$(SUFFIX)_uu
shdist : distdir
$(PREOP)
$(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
$(RM_RF) $(DISTVNAME)
$(POSTOP)
# --- MakeMaker dist_dir section:
distdir :
$(RM_RF) $(DISTVNAME)
$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=manicopy,maniread \
-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
# --- MakeMaker dist_test section:
disttest : distdir
cd $(DISTVNAME) && $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) Makefile.PL
cd $(DISTVNAME) && $(MAKE)
cd $(DISTVNAME) && $(MAKE) test
# --- MakeMaker dist_ci section:
ci :
$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -MExtUtils::Manifest=maniread \
-e "@all = keys %{ maniread() };" \
-e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \
-e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");'
# --- MakeMaker install section:
install :: all pure_install doc_install
install_perl :: all pure_perl_install doc_perl_install
install_site :: all pure_site_install doc_site_install
install_ :: install_site
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_install :: pure_$(INSTALLDIRS)_install
doc_install :: doc_$(INSTALLDIRS)_install
@echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod
pure__install : pure_site_install
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
doc__install : doc_site_install
@echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install ::
@$(MOD_INSTALL) \
read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \
write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \
$(INST_LIB) $(INSTALLPRIVLIB) \
$(INST_ARCHLIB) $(INSTALLARCHLIB) \
$(INST_BIN) $(INSTALLBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \
$(INST_HTMLLIBDIR) $(INSTALLHTMLPRIVLIBDIR) \
$(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \
$(INST_MAN1DIR) $(INSTALLMAN1DIR) \
$(INST_MAN3DIR) $(INSTALLMAN3DIR)
@$(WARN_IF_OLD_PACKLIST) \
$(SITEARCHEXP)/auto/$(FULLEXT)
pure_site_install ::
@$(MOD_INSTALL) \
read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
$(INST_LIB) $(INSTALLSITELIB) \
$(INST_ARCHLIB) $(INSTALLSITEARCH) \
$(INST_BIN) $(INSTALLBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \
$(INST_HTMLLIBDIR) $(INSTALLHTMLSITELIBDIR) \
$(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \
$(INST_MAN1DIR) $(INSTALLMAN1DIR) \
$(INST_MAN3DIR) $(INSTALLMAN3DIR)
@$(WARN_IF_OLD_PACKLIST) \
$(PERL_ARCHLIB)/auto/$(FULLEXT)
doc_perl_install ::
-@$(MKPATH) $(INSTALLARCHLIB)
-@$(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" "$(INSTALLPRIVLIB)" \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
>> $(INSTALLARCHLIB)/perllocal.pod
doc_site_install ::
-@$(MKPATH) $(INSTALLARCHLIB)
-@$(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" "$(INSTALLSITELIB)" \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
>> $(INSTALLARCHLIB)/perllocal.pod
uninstall :: uninstall_from_$(INSTALLDIRS)dirs
uninstall_from_perldirs ::
@$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
uninstall_from_sitedirs ::
@$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
# --- MakeMaker force section:
# Phony target to force checking subdirectories.
FORCE:
@$(NOOP)
# --- MakeMaker perldepend section:
# --- MakeMaker makefile section:
# We take a very conservative approach here, but it\'s worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping.
Makefile : Makefile.PL $(CONFIGDEP)
@echo "Makefile out-of-date with respect to $?"
@echo "Cleaning current config before rebuilding Makefile..."
-@$(RM_F) Makefile.old
-@$(MV) Makefile Makefile.old
-$(MAKE) -f Makefile.old clean $(DEV_NULL) || $(NOOP)
$(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" Makefile.PL "PREFIX=${DESTDIR}/usr/local" "INSTALLSITELIB=${DESTDIR}/usr/local/libdata/perl5/site_perl" "INSTALLSITEARCH=${INSTALLSITELIB}/i386-openbsd" "INSTALLPRIVLIB=${DESTDIR}/usr/./libdata/perl5" "INSTALLARCHLIB=${INSTALLPRIVLIB}/i386-openbsd" "INSTALLMAN1DIR=${DESTDIR}/usr/local/man/man1" "INSTALLMAN3DIR=${DESTDIR}/usr/local/man/man3p" "INSTALLBIN=${PREFIX}/bin" "INSTALLSCRIPT=${INSTALLBIN}"
@echo "==> Your Makefile has been rebuilt. <=="
@echo "==> Please rerun the make command. <=="
false
# To change behavior to :: would be nice, but would break Tk b9.02
# so you find such a warning below the dist target.
#Makefile :: $(VERSION_FROM)
# @echo "Warning: Makefile possibly out of date with $(VERSION_FROM)"
# --- MakeMaker staticmake section:
# --- MakeMaker makeaperl section ---
MAP_TARGET = perl
FULLPERL = /usr/bin/perl
$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
$(MAKE) -f $(MAKE_APERL_FILE) $@
$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
@echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
@$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \
Makefile.PL DIR= \
MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= \
PREFIX=${DESTDIR}/usr/local \
INSTALLSITELIB=${DESTDIR}/usr/local/libdata/perl5/site_perl \
INSTALLSITEARCH=${INSTALLSITELIB}/i386-openbsd \
INSTALLPRIVLIB=${DESTDIR}/usr/./libdata/perl5 \
INSTALLARCHLIB=${INSTALLPRIVLIB}/i386-openbsd \
INSTALLMAN1DIR=${DESTDIR}/usr/local/man/man1 \
INSTALLMAN3DIR=${DESTDIR}/usr/local/man/man3p \
INSTALLBIN=${PREFIX}/bin \
INSTALLSCRIPT=${INSTALLBIN}
# --- MakeMaker test section:
TEST_VERBOSE=0
TEST_TYPE=test_$(LINKTYPE)
TEST_FILE = test.pl
TEST_FILES = t/*.t
TESTDB_SW = -d
testdb :: testdb_$(LINKTYPE)
test :: $(TEST_TYPE)
test_dynamic :: pure_all
PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use Test::Harness qw(&runtests $$verbose); $$verbose=$(TEST_VERBOSE); runtests @ARGV;' $(TEST_FILES)
testdb_dynamic :: pure_all
PERL_DL_NONLAZY=1 $(FULLPERL) $(TESTDB_SW) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(TEST_FILE)
test_ : test_dynamic
test_static :: test_dynamic
testdb_static :: testdb_dynamic
# --- MakeMaker ppd section:
# Creates a PPD (Perl Package Description) for a binary distribution.
ppd:
@$(PERL) -e "print qq{<SOFTPKG NAME=\"Font-AFM\" VERSION=\"1,18,0,0\">\n}. qq{\t<TITLE>Font-AFM</TITLE>\n}. qq{\t<ABSTRACT></ABSTRACT>\n}. qq{\t<AUTHOR></AUTHOR>\n}. qq{\t<IMPLEMENTATION>\n}. qq{\t\t<OS NAME=\"$(OSNAME)\" />\n}. qq{\t\t<ARCHITECTURE NAME=\"i386-openbsd\" />\n}. qq{\t\t<CODEBASE HREF=\"\" />\n}. qq{\t</IMPLEMENTATION>\n}. qq{</SOFTPKG>\n}" > Font-AFM.ppd
# --- MakeMaker pm_to_blib section:
pm_to_blib: $(TO_INST_PM)
@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \
"-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \
-e "pm_to_blib({qw{$(PM_TO_BLIB)}},'$(INST_LIB)/auto','$(PM_FILTER)')"
@$(TOUCH) $@
# --- MakeMaker selfdocument section:
# --- MakeMaker postamble section:
# End.

View File

@ -0,0 +1,8 @@
require 5.002;
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Font::AFM',
VERSION_FROM => 'AFM.pm',
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
);

View File

@ -0,0 +1,140 @@
NAME
Font::AFM - Interface to Adobe Font Metrics files
SYNOPSIS
use Font::AFM;
$h = new Font::AFM "Helvetica";
$copyright = $h->Notice;
$w = $h->Wx->{"aring"};
$w = $h->stringwidth("Gisle", 10);
$h->dump; # for debugging
DESCRIPTION
This module implements the Font::AFM class. Objects of this
class are initialised from an AFM-file and allows you to obtain
information about the font and the metrics of the various glyphs
in the font.
All measurements in AFM files are given in terms of units equal
to 1/1000 of the scale factor of the font being used. To compute
actual sizes in a document, these amounts should be multiplied
by (scale factor of font)/1000.
The following methods are available:
$afm = Font::AFM->new($fontname)
Object constructor. Takes the name of the font as argument.
It will croak if the font can not be found.
$afm->latin1_wx_table()
Returns a 256 element array, where each element contains the
width of the corresponding character in the iso-8859-1
character set.
$afm->stringwidth($string, [$fontsize])
Returns the width of the string passed as argument. The
string is assumed to be encoded in the iso-8859-1 character
set. A second argument can be used to scale the width
according to the font size.
$afm->FontName
The name of the font as presented to the PostScript language
`findfont' operator, for instance "Times-Roman".
$afm->FullName
Unique, human-readable name for an individual font, for
instance "Times Roman".
$afm->FamilyName
Human-readable name for a group of fonts that are stylistic
variants of a single design. All fonts that are member of
such a group should have exactly the same `FamilyName'.
Example of a family name is "Times".
$afm->Weight
Human-readable name for the weight, or "boldness", attribute
of a font. Exampes are `Roman', `Bold', `Light'.
$afm->ItalicAngle
Angle in degrees counterclockwise from the vertical of the
dominant vertical strokes of the font.
$afm->IsFixedPitch
If the value is `true', it indicated that the font is a
fixed-pitch (monospaced) font.
$afm->FontBBox
A string of four numbers giving the lower-left x, lower-left
y, upper-right x, and upper-right y of the font bounding box.
The font bounding box is the smallest rectangle enclosing the
shape that would result if all the characters of the font
were placed with their origins coincident, and then painted.
$afm->UnderlinePosition
Recommended distance from the baseline for positioning
underline stokes. This number is the y coordinate of the
center of the stroke.
$afm->UnderlineThickness
Recommended stroke width for underlining.
$afm->Version
Version number of the font.
$afm->Notice
Trademark or copyright notice, if applicable.
$afm->Comment
Comments found in the AFM file.
$afm->EncodingScheme
The name of the standard encoding scheme for the font. Most
Adobe fonts use the `AdobeStandardEncoding'. Special fonts
might state `FontSpecific'.
$afm->CapHeight
Usually the y-value of the top of the capital H.
$afm->XHeight
Typically the y-value of the top of the lowercase x.
$afm->Ascender
Typically the y-value of the top of the lowercase d.
$afm->Descender
Typically the y-value of the bottom of the lowercase p.
$afm->Wx
Returns a hash table that maps from glyph names to the width
of that glyph.
$afm->BBox
Returns a hash table that maps from glyph names to bounding
box information. The bounding box consist of 4 numbers: llx,
lly, urx, ury.
$afm->dump
Dumps the content of the Font::AFM object to STDOUT. Might
sometimes be useful for debugging.
The AFM specification can be found at:
ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
ENVIRONMENT
METRICS Contains the path to seach for AFM-files. Format is as for
the PATH environment variable. The default path built
into this library is:
/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
BUGS
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
COPYRIGHT
Copyright 1995-1998 Gisle Aas. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

View File

@ -0,0 +1,399 @@
# This -*- perl -*- module is a simple parser for Adobe Font Metrics files.
# $Id: AFM.pm,v 1.1.1.1 2002/07/11 09:30:10 shell Exp $
package Font::AFM;
=head1 NAME
Font::AFM - Interface to Adobe Font Metrics files
=head1 SYNOPSIS
use Font::AFM;
$h = new Font::AFM "Helvetica";
$copyright = $h->Notice;
$w = $h->Wx->{"aring"};
$w = $h->stringwidth("Gisle", 10);
$h->dump; # for debugging
=head1 DESCRIPTION
This module implements the Font::AFM class. Objects of this class are
initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
All measurements in AFM files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.
The following methods are available:
=over 3
=item $afm = Font::AFM->new($fontname)
Object constructor. Takes the name of the font as argument. It will
croak if the font can not be found.
=item $afm->latin1_wx_table()
Returns a 256 element array, where each element contains the width
of the corresponding character in the iso-8859-1 character set.
=item $afm->stringwidth($string, [$fontsize])
Returns the width of the string passed as argument. The string is
assumed to be encoded in the iso-8859-1 character set. A second
argument can be used to scale the width according to the font size.
=item $afm->FontName
The name of the font as presented to the PostScript language
C<findfont> operator, for instance "Times-Roman".
=item $afm->FullName
Unique, human-readable name for an individual font, for instance
"Times Roman".
=item $afm->FamilyName
Human-readable name for a group of fonts that are stylistic variants
of a single design. All fonts that are member of such a group should
have exactly the same C<FamilyName>. Example of a family name is
"Times".
=item $afm->Weight
Human-readable name for the weight, or "boldness", attribute of a font.
Exampes are C<Roman>, C<Bold>, C<Light>.
=item $afm->ItalicAngle
Angle in degrees counterclockwise from the vertical of the dominant
vertical strokes of the font.
=item $afm->IsFixedPitch
If the value is C<true>, it indicated that the font is a fixed-pitch
(monospaced) font.
=item $afm->FontBBox
A string of four numbers giving the lower-left x, lower-left y,
upper-right x, and upper-right y of the font bounding box. The font
bounding box is the smallest rectangle enclosing the shape that would
result if all the characters of the font were placed with their
origins coincident, and then painted.
=item $afm->UnderlinePosition
Recommended distance from the baseline for positioning underline
stokes. This number is the y coordinate of the center of the stroke.
=item $afm->UnderlineThickness
Recommended stroke width for underlining.
=item $afm->Version
Version number of the font.
=item $afm->Notice
Trademark or copyright notice, if applicable.
=item $afm->Comment
Comments found in the AFM file.
=item $afm->EncodingScheme
The name of the standard encoding scheme for the font. Most Adobe
fonts use the C<AdobeStandardEncoding>. Special fonts might state
C<FontSpecific>.
=item $afm->CapHeight
Usually the y-value of the top of the capital H.
=item $afm->XHeight
Typically the y-value of the top of the lowercase x.
=item $afm->Ascender
Typically the y-value of the top of the lowercase d.
=item $afm->Descender
Typically the y-value of the bottom of the lowercase p.
=item $afm->Wx
Returns a hash table that maps from glyph names to the width of that glyph.
=item $afm->BBox
Returns a hash table that maps from glyph names to bounding box information.
The bounding box consist of 4 numbers: llx, lly, urx, ury.
=item $afm->dump
Dumps the content of the Font::AFM object to STDOUT. Might sometimes
be useful for debugging.
=back
The AFM specification can be found at:
ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
=head1 ENVIRONMENT
=over 10
=item METRICS
Contains the path to seach for AFM-files. Format is as for the PATH
environment variable. The default path built into this library is:
/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
=back
=head1 BUGS
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
=head1 COPYRIGHT
Copyright 1995-1998 Gisle Aas. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
#-------perl resumes here--------------------------------------------
use Carp;
use strict;
use vars qw($VERSION @ISOLatin1Encoding);
$VERSION = sprintf("%d.%02d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/);
# The metrics_path is used to locate metrics files
#
my $metrics_path = $ENV{METRICS} ||
"/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.";
my @metrics_path = split(/:/, $metrics_path);
foreach (@metrics_path) { s,/$,, } # reove trailing slashes
@ISOLatin1Encoding = qw(
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef space
exclam quotedbl numbersign dollar percent ampersand quoteright
parenleft parenright asterisk plus comma minus period slash zero one
two three four five six seven eight nine colon semicolon less equal
greater question at A B C D E F G H I J K L M N O P Q R S
T U V W X Y Z bracketleft backslash bracketright asciicircum
underscore quoteleft a b c d e f g h i j k l m n o p q r s
t u v w x y z braceleft bar braceright asciitilde .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef dotlessi grave
acute circumflex tilde macron breve dotaccent dieresis .notdef ring
cedilla .notdef hungarumlaut ogonek caron space exclamdown cent
sterling currency yen brokenbar section dieresis copyright ordfeminine
guillemotleft logicalnot hyphen registered macron degree plusminus
twosuperior threesuperior acute mu paragraph periodcentered cedilla
onesuperior ordmasculine guillemotright onequarter onehalf threequarters
questiondown Agrave Aacute Acircumflex Atilde Adieresis Aring AE
Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex
Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis
multiply Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn
germandbls agrave aacute acircumflex atilde adieresis aring ae
ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex
idieresis eth ntilde ograve oacute ocircumflex otilde odieresis divide
oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis
);
# Creates a new Font::AFM object. Pass it the name of the font as parameter.
# Synopisis:
#
# $h = new Font::AFM "Helvetica";
#
sub new
{
my($class, $fontname) = @_;
my $file;
$fontname =~ s/\.afm$//;
if ($^O eq 'VMS') {
$file = "sys\$ps_font_metrics:$fontname.afm";
} else {
$file = "$fontname.afm";
unless ($file =~ m,^/,) {
# not absolute, search the metrics path for the file
foreach (@metrics_path) {
if (-f "$_/$file") {
$file = "$_/$file";
last;
}
}
}
}
open(AFM, $file) or croak "Can't find the AFM file for $fontname";
my $self = bless { }, $class;
local($/, $_) = ("\n", undef); # ensure correct $INPUT_RECORD_SEPARATOR
while (<AFM>) {
next if /^StartKernData/ .. /^EndKernData/; # kern data not parsed yet
next if /^StartComposites/ .. /^EndComposites/; # same for composites
if (/^StartCharMetrics/ .. /^EndCharMetrics/) {
# only lines that start with "C" or "CH" are parsed
next unless /^CH?\s/;
my($name) = /\bN\s+(\.?\w+)\s*;/;
my($wx) = /\bWX\s+(\d+)\s*;/;
my($bbox) = /\bB\s+([^;]+);/;
$bbox =~ s/\s+$//;
# Should also parse lingature data (format: L successor lignature)
$self->{'wx'}{$name} = $wx;
$self->{'bbox'}{$name} = $bbox;
next;
}
last if /^EndFontMetrics/;
if (/(^\w+)\s+(.*)/) {
my($key,$val) = ($1, $2);
$key = lc $key;
if (defined $self->{$key}) {
$self->{$key} = [ $self->{$key} ] unless ref $self->{$key};
push(@{$self->{$key}}, $val);
} else {
$self->{$key} = $val;
}
} else {
print STDERR "Can't parse: $_";
}
}
close(AFM);
unless (exists $self->{wx}->{'.notdef'}) {
$self->{wx}->{'.notdef'} = 0;
$self->{bbox}{'.notdef'} = "0 0 0 0";
}
$self;
}
# Returns an 256 element array that maps from characters to width
sub latin1_wx_table
{
my($self) = @_;
unless ($self->{'_wx_table'}) {
my @wx;
for (0..255) {
my $name = $ISOLatin1Encoding[$_];
if (exists $self->{wx}->{$name}) {
push(@wx, $self->{wx}->{$name})
} else {
push(@wx, $self->{wx}->{'.notdef'});
}
}
$self->{'_wx_table'} = \@wx;
}
wantarray ? @{ $self->{'_wx_table'} } : $self->{'_wx_table'};
}
sub stringwidth
{
my($self, $string, $pointsize) = @_;
return 0.0 unless defined $string;
return 0.0 unless length $string;
my @wx = $self->latin1_wx_table;
my $width = 0.0;
for (unpack("C*", $string)) {
$width += $wx[$_];
}
if ($pointsize) {
$width *= $pointsize / 1000;
}
$width;
}
sub FontName;
sub FullName;
sub FamilyName;
sub Weight;
sub ItalicAngle;
sub IsFixedPitch;
sub FontBBox;
sub UnderlinePosition;
sub UnderlineThickness;
sub Version;
sub Notice;
sub Comment;
sub EncodingScheme;
sub CapHeight;
sub XHeight;
sub Ascender;
sub Descender;
sub Wx;
sub BBox;
# We implement all the access functions within this simple autoload
# function.
sub AUTOLOAD
{
no strict 'vars'; # don't want to declare $AUTOLOAD
#print "AUTOLOAD: $AUTOLOAD\n";
if ($AUTOLOAD =~ /::DESTROY$/) {
eval "sub $AUTOLOAD {}";
goto &$AUTOLOAD;
} else {
my $name = $AUTOLOAD;
$name =~ s/^.*:://;
croak "Attribute $name not defined for AFM object"
unless defined $_[0]->{lc $name};
return $_[0]->{lc $name};
}
}
# Dumping might be useful for debugging
sub dump
{
my($self) = @_;
my($key, $val);
foreach $key (sort keys %$self) {
if (ref $self->{$key}) {
if (ref $self->{$key} eq "ARRAY") {
print "$key = [\n\t", join("\n\t", @{$self->{$key}}), "\n]\n";
} elsif (ref $self->{$key} eq "HASH") {
print "$key = {\n";
my $key2;
foreach $key2 (sort keys %{$self->{$key}}) {
print "\t$key2 => $self->{$key}{$key2},\n";
}
print "}\n";
} else {
print "$key = $self->{$key}\n";
}
} else {
print "$key = $self->{$key}\n";
}
}
}
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::Courier;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::Helvetica;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.555, 0.5, 0.5, 1, 0.833, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.57, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.93, 0.722, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.778, 0.389, 0.5, 0.778, 0.667, 0.944, 0.722, 0.778,
0.611, 0.778, 0.722, 0.556, 0.667, 0.722, 0.722, 1,
0.722, 0.722, 0.667, 0.333, 0.278, 0.333, 0.581, 0.5,
0.333, 0.5, 0.556, 0.444, 0.556, 0.444, 0.333, 0.5,
0.556, 0.278, 0.333, 0.556, 0.278, 0.833, 0.556, 0.5,
0.556, 0.556, 0.444, 0.389, 0.333, 0.556, 0.5, 0.722,
0.5, 0.5, 0.444, 0.394, 0.22, 0.394, 0.52, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.3, 0.5, 0.57, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.556, 0.54, 0.25,
0.333, 0.3, 0.33, 0.5, 0.75, 0.75, 0.75, 0.5,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.57,
0.778, 0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.556,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-BoldItalic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBoldItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.389, 0.555, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.606, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.832, 0.667, 0.667, 0.667, 0.722, 0.667, 0.667, 0.722,
0.778, 0.389, 0.5, 0.667, 0.611, 0.889, 0.722, 0.722,
0.611, 0.722, 0.667, 0.556, 0.611, 0.722, 0.667, 0.889,
0.667, 0.611, 0.611, 0.333, 0.278, 0.333, 0.57, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.556, 0.278, 0.278, 0.5, 0.278, 0.778, 0.556, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.556, 0.444, 0.667,
0.5, 0.444, 0.389, 0.348, 0.22, 0.348, 0.57, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.266, 0.5, 0.606, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.576, 0.5, 0.25,
0.333, 0.3, 0.3, 0.5, 0.75, 0.75, 0.75, 0.5,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.944, 0.667,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.57,
0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Italic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.42, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.675, 0.25, 0.675, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.675, 0.675, 0.675, 0.5,
0.92, 0.611, 0.611, 0.667, 0.722, 0.611, 0.611, 0.722,
0.722, 0.333, 0.444, 0.667, 0.556, 0.833, 0.667, 0.722,
0.611, 0.722, 0.611, 0.5, 0.556, 0.722, 0.611, 0.833,
0.611, 0.556, 0.556, 0.389, 0.278, 0.389, 0.422, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.278, 0.5,
0.5, 0.278, 0.278, 0.444, 0.278, 0.722, 0.5, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.5, 0.444, 0.667,
0.444, 0.444, 0.389, 0.4, 0.275, 0.4, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.275, 0.5,
0.333, 0.76, 0.276, 0.5, 0.675, 0.333, 0.76, 0.333,
0.4, 0.675, 0.3, 0.3, 0.333, 0.5, 0.523, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.5,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.667, 0.722, 0.722, 0.722, 0.722, 0.722, 0.675,
0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.675,
0.5, 0.5, 0.5, 0.5, 0.5, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Roman
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesRoman;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.408, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.564, 0.25, 0.564, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.278, 0.278, 0.564, 0.564, 0.564, 0.444,
0.921, 0.722, 0.667, 0.667, 0.722, 0.611, 0.556, 0.722,
0.722, 0.333, 0.389, 0.722, 0.611, 0.889, 0.722, 0.722,
0.556, 0.722, 0.667, 0.556, 0.611, 0.722, 0.722, 0.944,
0.722, 0.722, 0.611, 0.333, 0.278, 0.333, 0.469, 0.5,
0.333, 0.444, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.5, 0.278, 0.278, 0.5, 0.278, 0.778, 0.5, 0.5,
0.5, 0.5, 0.333, 0.389, 0.278, 0.5, 0.5, 0.722,
0.5, 0.5, 0.444, 0.48, 0.2, 0.48, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5,
0.333, 0.76, 0.276, 0.5, 0.564, 0.333, 0.76, 0.333,
0.4, 0.564, 0.3, 0.3, 0.333, 0.5, 0.453, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.444,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.564,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.5,
0.444, 0.444, 0.444, 0.444, 0.444, 0.444, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.564,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,282 @@
.\" Automatically generated by Pod::Man version 1.15
.\" Thu Jul 11 17:15:04 2002
.\"
.\" Standard preamble:
.\" ======================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
.\" to do unbreakable dashes and therefore won't be available. \*(C` and
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
.\" index entries marked with X<> in POD. Of course, you'll have to process
.\" the output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it
.\" makes way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
.bd B 3
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ======================================================================
.\"
.IX Title "AFM 3"
.TH AFM 3 "perl v5.6.1" "1999-01-30" "User Contributed Perl Documentation"
.UC
.SH "NAME"
Font::AFM \- Interface to Adobe Font Metrics files
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 6
\& use Font::AFM;
\& $h = new Font::AFM "Helvetica";
\& $copyright = $h->Notice;
\& $w = $h->Wx->{"aring"};
\& $w = $h->stringwidth("Gisle", 10);
\& $h->dump; # for debugging
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module implements the Font::AFM class. Objects of this class are
initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
.PP
All measurements in \s-1AFM\s0 files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.
.PP
The following methods are available:
.Ip "$afm = Font::AFM->new($fontname)" 3
.IX Item "$afm = Font::AFM->new($fontname)"
Object constructor. Takes the name of the font as argument. It will
croak if the font can not be found.
.Ip "$afm->\fIlatin1_wx_table()\fR" 3
.IX Item "$afm->latin1_wx_table()"
Returns a 256 element array, where each element contains the width
of the corresponding character in the iso-8859\-1 character set.
.Ip "$afm->stringwidth($string, [$fontsize])" 3
.IX Item "$afm->stringwidth($string, [$fontsize])"
Returns the width of the string passed as argument. The string is
assumed to be encoded in the iso-8859\-1 character set. A second
argument can be used to scale the width according to the font size.
.Ip "$afm->FontName" 3
.IX Item "$afm->FontName"
The name of the font as presented to the PostScript language
\&\f(CW\*(C`findfont\*(C'\fR operator, for instance \*(L"Times-Roman\*(R".
.Ip "$afm->FullName" 3
.IX Item "$afm->FullName"
Unique, human-readable name for an individual font, for instance
\&\*(L"Times Roman\*(R".
.Ip "$afm->FamilyName" 3
.IX Item "$afm->FamilyName"
Human-readable name for a group of fonts that are stylistic variants
of a single design. All fonts that are member of such a group should
have exactly the same \f(CW\*(C`FamilyName\*(C'\fR. Example of a family name is
\&\*(L"Times\*(R".
.Ip "$afm->Weight" 3
.IX Item "$afm->Weight"
Human-readable name for the weight, or \*(L"boldness\*(R", attribute of a font.
Exampes are \f(CW\*(C`Roman\*(C'\fR, \f(CW\*(C`Bold\*(C'\fR, \f(CW\*(C`Light\*(C'\fR.
.Ip "$afm->ItalicAngle" 3
.IX Item "$afm->ItalicAngle"
Angle in degrees counterclockwise from the vertical of the dominant
vertical strokes of the font.
.Ip "$afm->IsFixedPitch" 3
.IX Item "$afm->IsFixedPitch"
If the value is \f(CW\*(C`true\*(C'\fR, it indicated that the font is a fixed-pitch
(monospaced) font.
.Ip "$afm->FontBBox" 3
.IX Item "$afm->FontBBox"
A string of four numbers giving the lower-left x, lower-left y,
upper-right x, and upper-right y of the font bounding box. The font
bounding box is the smallest rectangle enclosing the shape that would
result if all the characters of the font were placed with their
origins coincident, and then painted.
.Ip "$afm->UnderlinePosition" 3
.IX Item "$afm->UnderlinePosition"
Recommended distance from the baseline for positioning underline
stokes. This number is the y coordinate of the center of the stroke.
.Ip "$afm->UnderlineThickness" 3
.IX Item "$afm->UnderlineThickness"
Recommended stroke width for underlining.
.Ip "$afm->Version" 3
.IX Item "$afm->Version"
Version number of the font.
.Ip "$afm->Notice" 3
.IX Item "$afm->Notice"
Trademark or copyright notice, if applicable.
.Ip "$afm->Comment" 3
.IX Item "$afm->Comment"
Comments found in the \s-1AFM\s0 file.
.Ip "$afm->EncodingScheme" 3
.IX Item "$afm->EncodingScheme"
The name of the standard encoding scheme for the font. Most Adobe
fonts use the \f(CW\*(C`AdobeStandardEncoding\*(C'\fR. Special fonts might state
\&\f(CW\*(C`FontSpecific\*(C'\fR.
.Ip "$afm->CapHeight" 3
.IX Item "$afm->CapHeight"
Usually the y-value of the top of the capital H.
.Ip "$afm->XHeight" 3
.IX Item "$afm->XHeight"
Typically the y-value of the top of the lowercase x.
.Ip "$afm->Ascender" 3
.IX Item "$afm->Ascender"
Typically the y-value of the top of the lowercase d.
.Ip "$afm->Descender" 3
.IX Item "$afm->Descender"
Typically the y-value of the bottom of the lowercase p.
.Ip "$afm->Wx" 3
.IX Item "$afm->Wx"
Returns a hash table that maps from glyph names to the width of that glyph.
.Ip "$afm->BBox" 3
.IX Item "$afm->BBox"
Returns a hash table that maps from glyph names to bounding box information.
The bounding box consist of 4 numbers: llx, lly, urx, ury.
.Ip "$afm->dump" 3
.IX Item "$afm->dump"
Dumps the content of the Font::AFM object to \s-1STDOUT\s0. Might sometimes
be useful for debugging.
.PP
The \s-1AFM\s0 specification can be found at:
.PP
.Vb 1
\& ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
.Ve
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
.Ip "\s-1METRICS\s0" 10
.IX Item "METRICS"
Contains the path to seach for AFM-files. Format is as for the \s-1PATH\s0
environment variable. The default path built into this library is:
.Sp
.Vb 1
\& /usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
.Ve
.SH "BUGS"
.IX Header "BUGS"
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright 1995\-1998 Gisle Aas. All rights reserved.
.PP
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

View File

@ -0,0 +1,50 @@
# Font metrics for Courier
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::Courier;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::Helvetica;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.555, 0.5, 0.5, 1, 0.833, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.57, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.93, 0.722, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.778, 0.389, 0.5, 0.778, 0.667, 0.944, 0.722, 0.778,
0.611, 0.778, 0.722, 0.556, 0.667, 0.722, 0.722, 1,
0.722, 0.722, 0.667, 0.333, 0.278, 0.333, 0.581, 0.5,
0.333, 0.5, 0.556, 0.444, 0.556, 0.444, 0.333, 0.5,
0.556, 0.278, 0.333, 0.556, 0.278, 0.833, 0.556, 0.5,
0.556, 0.556, 0.444, 0.389, 0.333, 0.556, 0.5, 0.722,
0.5, 0.5, 0.444, 0.394, 0.22, 0.394, 0.52, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.3, 0.5, 0.57, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.556, 0.54, 0.25,
0.333, 0.3, 0.33, 0.5, 0.75, 0.75, 0.75, 0.5,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.57,
0.778, 0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.556,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-BoldItalic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBoldItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.389, 0.555, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.606, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.832, 0.667, 0.667, 0.667, 0.722, 0.667, 0.667, 0.722,
0.778, 0.389, 0.5, 0.667, 0.611, 0.889, 0.722, 0.722,
0.611, 0.722, 0.667, 0.556, 0.611, 0.722, 0.667, 0.889,
0.667, 0.611, 0.611, 0.333, 0.278, 0.333, 0.57, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.556, 0.278, 0.278, 0.5, 0.278, 0.778, 0.556, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.556, 0.444, 0.667,
0.5, 0.444, 0.389, 0.348, 0.22, 0.348, 0.57, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.266, 0.5, 0.606, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.576, 0.5, 0.25,
0.333, 0.3, 0.3, 0.5, 0.75, 0.75, 0.75, 0.5,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.944, 0.667,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.57,
0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Italic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.42, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.675, 0.25, 0.675, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.675, 0.675, 0.675, 0.5,
0.92, 0.611, 0.611, 0.667, 0.722, 0.611, 0.611, 0.722,
0.722, 0.333, 0.444, 0.667, 0.556, 0.833, 0.667, 0.722,
0.611, 0.722, 0.611, 0.5, 0.556, 0.722, 0.611, 0.833,
0.611, 0.556, 0.556, 0.389, 0.278, 0.389, 0.422, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.278, 0.5,
0.5, 0.278, 0.278, 0.444, 0.278, 0.722, 0.5, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.5, 0.444, 0.667,
0.444, 0.444, 0.389, 0.4, 0.275, 0.4, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.275, 0.5,
0.333, 0.76, 0.276, 0.5, 0.675, 0.333, 0.76, 0.333,
0.4, 0.675, 0.3, 0.3, 0.333, 0.5, 0.523, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.5,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.667, 0.722, 0.722, 0.722, 0.722, 0.722, 0.675,
0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.675,
0.5, 0.5, 0.5, 0.5, 0.5, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Roman
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesRoman;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.408, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.564, 0.25, 0.564, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.278, 0.278, 0.564, 0.564, 0.564, 0.444,
0.921, 0.722, 0.667, 0.667, 0.722, 0.611, 0.556, 0.722,
0.722, 0.333, 0.389, 0.722, 0.611, 0.889, 0.722, 0.722,
0.556, 0.722, 0.667, 0.556, 0.611, 0.722, 0.722, 0.944,
0.722, 0.722, 0.611, 0.333, 0.278, 0.333, 0.469, 0.5,
0.333, 0.444, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.5, 0.278, 0.278, 0.5, 0.278, 0.778, 0.5, 0.5,
0.5, 0.5, 0.333, 0.389, 0.278, 0.5, 0.5, 0.722,
0.5, 0.5, 0.444, 0.48, 0.2, 0.48, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5,
0.333, 0.76, 0.276, 0.5, 0.564, 0.333, 0.76, 0.333,
0.4, 0.564, 0.3, 0.3, 0.333, 0.5, 0.453, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.444,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.564,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.5,
0.444, 0.444, 0.444, 0.444, 0.444, 0.444, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.564,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,77 @@
#!/usr/local/bin/perl -w
# $Id: make_metrics,v 1.1.1.1 2002/07/11 09:30:09 shell Exp $
#
# This program creates metrics modules for some fonts and place them
# under the "Metrics" directory.
#
# Author: Gisle Aas
@FONTS = qw(Courier
Courier-Bold
Courier-Oblique
Courier-BoldOblique
Helvetica
Helvetica-Bold
Helvetica-Oblique
Helvetica-BoldOblique
Times-Roman
Times-Bold
Times-Italic
Times-BoldItalic
);
@FONTS = @ARGV if @ARGV;
require Font::AFM;
$0 =~ s,.*/,,;
use File::Path qw(mkpath);
mkpath("lib/Font/Metrics", 1, 0755);
for $font (@FONTS) {
eval {
$afm = new Font::AFM $font;
};
if ($@) {
print $@;
next;
}
@wx = $afm->latin1_wx_table;
($fontmod = $font) =~ s/-//g;
open(FONTDEF, ">lib/Font/Metrics/$fontmod.pm") or die "Can't open $fontmod.pm: $!";
select FONTDEF;
print "# Font metrics for $font\n#\n";
print "# DO NOT EDIT!!!\n";
print "#\n";
print "# This file was auto-generated by $0 based on the AFM file for the font.\n";
print "#\n# ", $afm->Notice, "\n";
print "\n";
print "package Font::Metrics::$fontmod;\n";
print "\n# Character width table (iso-8859-1)\n";
print "\@wx = (\n";
$i = 0;
for (@wx) {
printf " %-6s", sprintf "%.3g,", $_ / 1000;
unless (++$i % 8) {
print "\n";
}
}
print ");\n";
$upos = $afm->UnderlinePosition;
$uthick = $afm->UnderlineThickness;
if ($upos && $uthick) {
print "\n";
printf "\$UnderlinePosition = %.3g;\n", $upos/1000;
printf "\$UnderlineThickness = %.3g;\n", $uthick/1000;
}
print "\n1;\n";
}

View File

@ -0,0 +1,29 @@
require Font::AFM;
eval {
$font = Font::AFM->new("Helvetica");
};
if ($@) {
if ($@ =~ /Can't find the AFM file for/) {
print "1..0\n";
print $@;
print "ok 1\n";
} else {
print "1..1\n";
print $@;
print "not ok 1\n";
}
exit;
}
print "1..1\n";
$sw = $font->stringwidth("Gisle Aas");
if ($sw == 4279) {
print "Stringwith for Helvetica seems to work\n";
print "ok 1\n";
} else {
print "not ok 1\n";
print "The stringwidth of 'Gisle Aas' should be 4279 (is was $sw)\n";
}

View File

@ -0,0 +1,21 @@
# This test is here basically to work around Test::Harness bug.
print "1..2\n";
require Font::Metrics::TimesRoman;
print "not " unless @Font::Metrics::TimesRoman::wx == 256;
print "ok 1\n";
sub width
{
my($string, $wx) = @_;
my $w = 0;
for (unpack("C*", $string)) {
$w += $wx->[$_];
}
$w;
}
print "not " unless
abs(width("Perl", \@Font::Metrics::TimesRoman::wx) - 1.611) < 1.0e-6;
print "ok 2\n";

View File

@ -0,0 +1,22 @@
=head2 Thu Jul 11 17:15:06 2002: C<Module> L<Font::AFM|Font::AFM>
=over 4
=item *
C<installed into: /home/shell/OpenBSD/ports/textproc/p5-Font-AFM/w-p5-Font-AFM-1.18/fake-i386/usr/local/libdata/perl5/site_perl>
=item *
C<LINKTYPE: dynamic>
=item *
C<VERSION: 1.18>
=item *
C<EXE_FILES: >
=back

View File

@ -0,0 +1,399 @@
# This -*- perl -*- module is a simple parser for Adobe Font Metrics files.
# $Id: AFM.pm,v 1.1.1.1 2002/07/11 09:30:11 shell Exp $
package Font::AFM;
=head1 NAME
Font::AFM - Interface to Adobe Font Metrics files
=head1 SYNOPSIS
use Font::AFM;
$h = new Font::AFM "Helvetica";
$copyright = $h->Notice;
$w = $h->Wx->{"aring"};
$w = $h->stringwidth("Gisle", 10);
$h->dump; # for debugging
=head1 DESCRIPTION
This module implements the Font::AFM class. Objects of this class are
initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
All measurements in AFM files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.
The following methods are available:
=over 3
=item $afm = Font::AFM->new($fontname)
Object constructor. Takes the name of the font as argument. It will
croak if the font can not be found.
=item $afm->latin1_wx_table()
Returns a 256 element array, where each element contains the width
of the corresponding character in the iso-8859-1 character set.
=item $afm->stringwidth($string, [$fontsize])
Returns the width of the string passed as argument. The string is
assumed to be encoded in the iso-8859-1 character set. A second
argument can be used to scale the width according to the font size.
=item $afm->FontName
The name of the font as presented to the PostScript language
C<findfont> operator, for instance "Times-Roman".
=item $afm->FullName
Unique, human-readable name for an individual font, for instance
"Times Roman".
=item $afm->FamilyName
Human-readable name for a group of fonts that are stylistic variants
of a single design. All fonts that are member of such a group should
have exactly the same C<FamilyName>. Example of a family name is
"Times".
=item $afm->Weight
Human-readable name for the weight, or "boldness", attribute of a font.
Exampes are C<Roman>, C<Bold>, C<Light>.
=item $afm->ItalicAngle
Angle in degrees counterclockwise from the vertical of the dominant
vertical strokes of the font.
=item $afm->IsFixedPitch
If the value is C<true>, it indicated that the font is a fixed-pitch
(monospaced) font.
=item $afm->FontBBox
A string of four numbers giving the lower-left x, lower-left y,
upper-right x, and upper-right y of the font bounding box. The font
bounding box is the smallest rectangle enclosing the shape that would
result if all the characters of the font were placed with their
origins coincident, and then painted.
=item $afm->UnderlinePosition
Recommended distance from the baseline for positioning underline
stokes. This number is the y coordinate of the center of the stroke.
=item $afm->UnderlineThickness
Recommended stroke width for underlining.
=item $afm->Version
Version number of the font.
=item $afm->Notice
Trademark or copyright notice, if applicable.
=item $afm->Comment
Comments found in the AFM file.
=item $afm->EncodingScheme
The name of the standard encoding scheme for the font. Most Adobe
fonts use the C<AdobeStandardEncoding>. Special fonts might state
C<FontSpecific>.
=item $afm->CapHeight
Usually the y-value of the top of the capital H.
=item $afm->XHeight
Typically the y-value of the top of the lowercase x.
=item $afm->Ascender
Typically the y-value of the top of the lowercase d.
=item $afm->Descender
Typically the y-value of the bottom of the lowercase p.
=item $afm->Wx
Returns a hash table that maps from glyph names to the width of that glyph.
=item $afm->BBox
Returns a hash table that maps from glyph names to bounding box information.
The bounding box consist of 4 numbers: llx, lly, urx, ury.
=item $afm->dump
Dumps the content of the Font::AFM object to STDOUT. Might sometimes
be useful for debugging.
=back
The AFM specification can be found at:
ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
=head1 ENVIRONMENT
=over 10
=item METRICS
Contains the path to seach for AFM-files. Format is as for the PATH
environment variable. The default path built into this library is:
/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
=back
=head1 BUGS
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
=head1 COPYRIGHT
Copyright 1995-1998 Gisle Aas. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
#-------perl resumes here--------------------------------------------
use Carp;
use strict;
use vars qw($VERSION @ISOLatin1Encoding);
$VERSION = sprintf("%d.%02d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/);
# The metrics_path is used to locate metrics files
#
my $metrics_path = $ENV{METRICS} ||
"/usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.";
my @metrics_path = split(/:/, $metrics_path);
foreach (@metrics_path) { s,/$,, } # reove trailing slashes
@ISOLatin1Encoding = qw(
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef space
exclam quotedbl numbersign dollar percent ampersand quoteright
parenleft parenright asterisk plus comma minus period slash zero one
two three four five six seven eight nine colon semicolon less equal
greater question at A B C D E F G H I J K L M N O P Q R S
T U V W X Y Z bracketleft backslash bracketright asciicircum
underscore quoteleft a b c d e f g h i j k l m n o p q r s
t u v w x y z braceleft bar braceright asciitilde .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
.notdef .notdef .notdef .notdef .notdef .notdef .notdef dotlessi grave
acute circumflex tilde macron breve dotaccent dieresis .notdef ring
cedilla .notdef hungarumlaut ogonek caron space exclamdown cent
sterling currency yen brokenbar section dieresis copyright ordfeminine
guillemotleft logicalnot hyphen registered macron degree plusminus
twosuperior threesuperior acute mu paragraph periodcentered cedilla
onesuperior ordmasculine guillemotright onequarter onehalf threequarters
questiondown Agrave Aacute Acircumflex Atilde Adieresis Aring AE
Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex
Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis
multiply Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn
germandbls agrave aacute acircumflex atilde adieresis aring ae
ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex
idieresis eth ntilde ograve oacute ocircumflex otilde odieresis divide
oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis
);
# Creates a new Font::AFM object. Pass it the name of the font as parameter.
# Synopisis:
#
# $h = new Font::AFM "Helvetica";
#
sub new
{
my($class, $fontname) = @_;
my $file;
$fontname =~ s/\.afm$//;
if ($^O eq 'VMS') {
$file = "sys\$ps_font_metrics:$fontname.afm";
} else {
$file = "$fontname.afm";
unless ($file =~ m,^/,) {
# not absolute, search the metrics path for the file
foreach (@metrics_path) {
if (-f "$_/$file") {
$file = "$_/$file";
last;
}
}
}
}
open(AFM, $file) or croak "Can't find the AFM file for $fontname";
my $self = bless { }, $class;
local($/, $_) = ("\n", undef); # ensure correct $INPUT_RECORD_SEPARATOR
while (<AFM>) {
next if /^StartKernData/ .. /^EndKernData/; # kern data not parsed yet
next if /^StartComposites/ .. /^EndComposites/; # same for composites
if (/^StartCharMetrics/ .. /^EndCharMetrics/) {
# only lines that start with "C" or "CH" are parsed
next unless /^CH?\s/;
my($name) = /\bN\s+(\.?\w+)\s*;/;
my($wx) = /\bWX\s+(\d+)\s*;/;
my($bbox) = /\bB\s+([^;]+);/;
$bbox =~ s/\s+$//;
# Should also parse lingature data (format: L successor lignature)
$self->{'wx'}{$name} = $wx;
$self->{'bbox'}{$name} = $bbox;
next;
}
last if /^EndFontMetrics/;
if (/(^\w+)\s+(.*)/) {
my($key,$val) = ($1, $2);
$key = lc $key;
if (defined $self->{$key}) {
$self->{$key} = [ $self->{$key} ] unless ref $self->{$key};
push(@{$self->{$key}}, $val);
} else {
$self->{$key} = $val;
}
} else {
print STDERR "Can't parse: $_";
}
}
close(AFM);
unless (exists $self->{wx}->{'.notdef'}) {
$self->{wx}->{'.notdef'} = 0;
$self->{bbox}{'.notdef'} = "0 0 0 0";
}
$self;
}
# Returns an 256 element array that maps from characters to width
sub latin1_wx_table
{
my($self) = @_;
unless ($self->{'_wx_table'}) {
my @wx;
for (0..255) {
my $name = $ISOLatin1Encoding[$_];
if (exists $self->{wx}->{$name}) {
push(@wx, $self->{wx}->{$name})
} else {
push(@wx, $self->{wx}->{'.notdef'});
}
}
$self->{'_wx_table'} = \@wx;
}
wantarray ? @{ $self->{'_wx_table'} } : $self->{'_wx_table'};
}
sub stringwidth
{
my($self, $string, $pointsize) = @_;
return 0.0 unless defined $string;
return 0.0 unless length $string;
my @wx = $self->latin1_wx_table;
my $width = 0.0;
for (unpack("C*", $string)) {
$width += $wx[$_];
}
if ($pointsize) {
$width *= $pointsize / 1000;
}
$width;
}
sub FontName;
sub FullName;
sub FamilyName;
sub Weight;
sub ItalicAngle;
sub IsFixedPitch;
sub FontBBox;
sub UnderlinePosition;
sub UnderlineThickness;
sub Version;
sub Notice;
sub Comment;
sub EncodingScheme;
sub CapHeight;
sub XHeight;
sub Ascender;
sub Descender;
sub Wx;
sub BBox;
# We implement all the access functions within this simple autoload
# function.
sub AUTOLOAD
{
no strict 'vars'; # don't want to declare $AUTOLOAD
#print "AUTOLOAD: $AUTOLOAD\n";
if ($AUTOLOAD =~ /::DESTROY$/) {
eval "sub $AUTOLOAD {}";
goto &$AUTOLOAD;
} else {
my $name = $AUTOLOAD;
$name =~ s/^.*:://;
croak "Attribute $name not defined for AFM object"
unless defined $_[0]->{lc $name};
return $_[0]->{lc $name};
}
}
# Dumping might be useful for debugging
sub dump
{
my($self) = @_;
my($key, $val);
foreach $key (sort keys %$self) {
if (ref $self->{$key}) {
if (ref $self->{$key} eq "ARRAY") {
print "$key = [\n\t", join("\n\t", @{$self->{$key}}), "\n]\n";
} elsif (ref $self->{$key} eq "HASH") {
print "$key = {\n";
my $key2;
foreach $key2 (sort keys %{$self->{$key}}) {
print "\t$key2 => $self->{$key}{$key2},\n";
}
print "}\n";
} else {
print "$key = $self->{$key}\n";
}
} else {
print "$key = $self->{$key}\n";
}
}
}
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::Courier;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Courier-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1989 Adobe Systems Incorporated. All rights reserved.
package Font::Metrics::CourierOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0, 0.6, 0.6, 0, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::Helvetica;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-BoldOblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaBoldOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.474, 0.556, 0.556, 0.889, 0.722, 0.278,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.333, 0.333, 0.584, 0.584, 0.584, 0.611,
0.975, 0.722, 0.722, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.556, 0.722, 0.611, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.333, 0.278, 0.333, 0.584, 0.556,
0.278, 0.556, 0.611, 0.556, 0.611, 0.556, 0.333, 0.611,
0.611, 0.278, 0.278, 0.556, 0.278, 0.889, 0.611, 0.611,
0.611, 0.611, 0.389, 0.556, 0.333, 0.611, 0.556, 0.778,
0.556, 0.556, 0.5, 0.389, 0.28, 0.389, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.28, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.611, 0.556, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.556,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.584,
0.611, 0.611, 0.611, 0.611, 0.611, 0.556, 0.611, 0.556,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Helvetica-Oblique
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All rights reserved.Helvetica is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::HelveticaOblique;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.278, 0.355, 0.556, 0.556, 0.889, 0.667, 0.222,
0.333, 0.333, 0.389, 0.584, 0.278, 0.584, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556,
0.556, 0.556, 0.278, 0.278, 0.584, 0.584, 0.584, 0.556,
1.01, 0.667, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.722, 0.278, 0.5, 0.667, 0.556, 0.833, 0.722, 0.778,
0.667, 0.778, 0.722, 0.667, 0.611, 0.722, 0.667, 0.944,
0.667, 0.667, 0.611, 0.278, 0.278, 0.278, 0.469, 0.556,
0.222, 0.556, 0.556, 0.5, 0.556, 0.556, 0.278, 0.556,
0.556, 0.222, 0.222, 0.5, 0.222, 0.833, 0.556, 0.556,
0.556, 0.556, 0.333, 0.5, 0.278, 0.556, 0.5, 0.722,
0.5, 0.5, 0.5, 0.334, 0.26, 0.334, 0.584, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.278, 0.333, 0.556, 0.556, 0.556, 0.556, 0.26, 0.556,
0.333, 0.737, 0.37, 0.556, 0.584, 0.333, 0.737, 0.333,
0.4, 0.584, 0.333, 0.333, 0.333, 0.556, 0.537, 0.278,
0.333, 0.333, 0.365, 0.556, 0.834, 0.834, 0.834, 0.611,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.278, 0.278, 0.278, 0.278,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.584,
0.778, 0.722, 0.722, 0.722, 0.722, 0.667, 0.667, 0.611,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.889, 0.5,
0.556, 0.556, 0.556, 0.556, 0.278, 0.278, 0.278, 0.278,
0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.556, 0.584,
0.611, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Bold
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBold;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.555, 0.5, 0.5, 1, 0.833, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.57, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.93, 0.722, 0.667, 0.722, 0.722, 0.667, 0.611, 0.778,
0.778, 0.389, 0.5, 0.778, 0.667, 0.944, 0.722, 0.778,
0.611, 0.778, 0.722, 0.556, 0.667, 0.722, 0.722, 1,
0.722, 0.722, 0.667, 0.333, 0.278, 0.333, 0.581, 0.5,
0.333, 0.5, 0.556, 0.444, 0.556, 0.444, 0.333, 0.5,
0.556, 0.278, 0.333, 0.556, 0.278, 0.833, 0.556, 0.5,
0.556, 0.556, 0.444, 0.389, 0.333, 0.556, 0.5, 0.722,
0.5, 0.5, 0.444, 0.394, 0.22, 0.394, 0.52, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.3, 0.5, 0.57, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.556, 0.54, 0.25,
0.333, 0.3, 0.33, 0.5, 0.75, 0.75, 0.75, 0.5,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 1, 0.722,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.778, 0.778, 0.778, 0.778, 0.778, 0.57,
0.778, 0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.556,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.5, 0.556, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-BoldItalic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesBoldItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.389, 0.555, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.57, 0.25, 0.606, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.57, 0.57, 0.57, 0.5,
0.832, 0.667, 0.667, 0.667, 0.722, 0.667, 0.667, 0.722,
0.778, 0.389, 0.5, 0.667, 0.611, 0.889, 0.722, 0.722,
0.611, 0.722, 0.667, 0.556, 0.611, 0.722, 0.667, 0.889,
0.667, 0.611, 0.611, 0.333, 0.278, 0.333, 0.57, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.556, 0.278, 0.278, 0.5, 0.278, 0.778, 0.556, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.556, 0.444, 0.667,
0.5, 0.444, 0.389, 0.348, 0.22, 0.348, 0.57, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.22, 0.5,
0.333, 0.747, 0.266, 0.5, 0.606, 0.333, 0.747, 0.333,
0.4, 0.57, 0.3, 0.3, 0.333, 0.576, 0.5, 0.25,
0.333, 0.3, 0.3, 0.5, 0.75, 0.75, 0.75, 0.5,
0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.944, 0.667,
0.667, 0.667, 0.667, 0.667, 0.389, 0.389, 0.389, 0.389,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.57,
0.722, 0.722, 0.722, 0.722, 0.722, 0.611, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.722, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.556, 0.5, 0.5, 0.5, 0.5, 0.5, 0.57,
0.5, 0.556, 0.556, 0.556, 0.556, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Italic
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesItalic;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.42, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.675, 0.25, 0.675, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.333, 0.333, 0.675, 0.675, 0.675, 0.5,
0.92, 0.611, 0.611, 0.667, 0.722, 0.611, 0.611, 0.722,
0.722, 0.333, 0.444, 0.667, 0.556, 0.833, 0.667, 0.722,
0.611, 0.722, 0.611, 0.5, 0.556, 0.722, 0.611, 0.833,
0.611, 0.556, 0.556, 0.389, 0.278, 0.389, 0.422, 0.5,
0.333, 0.5, 0.5, 0.444, 0.5, 0.444, 0.278, 0.5,
0.5, 0.278, 0.278, 0.444, 0.278, 0.722, 0.5, 0.5,
0.5, 0.5, 0.389, 0.389, 0.278, 0.5, 0.444, 0.667,
0.444, 0.444, 0.389, 0.4, 0.275, 0.4, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.389, 0.5, 0.5, 0.5, 0.5, 0.275, 0.5,
0.333, 0.76, 0.276, 0.5, 0.675, 0.333, 0.76, 0.333,
0.4, 0.675, 0.3, 0.3, 0.333, 0.5, 0.523, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.5,
0.611, 0.611, 0.611, 0.611, 0.611, 0.611, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.667, 0.722, 0.722, 0.722, 0.722, 0.722, 0.675,
0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.611, 0.5,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.675,
0.5, 0.5, 0.5, 0.5, 0.5, 0.444, 0.5, 0.444,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,50 @@
# Font metrics for Times-Roman
#
# DO NOT EDIT!!!
#
# This file was auto-generated by make_metrics based on the AFM file for the font.
#
# Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype AG and/or its subsidiaries.
package Font::Metrics::TimesRoman;
# Character width table (iso-8859-1)
@wx = (
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.25, 0.333, 0.408, 0.5, 0.5, 0.833, 0.778, 0.333,
0.333, 0.333, 0.5, 0.564, 0.25, 0.564, 0.25, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.278, 0.278, 0.564, 0.564, 0.564, 0.444,
0.921, 0.722, 0.667, 0.667, 0.722, 0.611, 0.556, 0.722,
0.722, 0.333, 0.389, 0.722, 0.611, 0.889, 0.722, 0.722,
0.556, 0.722, 0.667, 0.556, 0.611, 0.722, 0.722, 0.944,
0.722, 0.722, 0.611, 0.333, 0.278, 0.333, 0.469, 0.5,
0.333, 0.444, 0.5, 0.444, 0.5, 0.444, 0.333, 0.5,
0.5, 0.278, 0.278, 0.5, 0.278, 0.778, 0.5, 0.5,
0.5, 0.5, 0.333, 0.389, 0.278, 0.5, 0.5, 0.722,
0.5, 0.5, 0.444, 0.48, 0.2, 0.48, 0.541, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0.278, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333, 0.333,
0.333, 0, 0.333, 0.333, 0, 0.333, 0.333, 0.333,
0.25, 0.333, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5,
0.333, 0.76, 0.276, 0.5, 0.564, 0.333, 0.76, 0.333,
0.4, 0.564, 0.3, 0.3, 0.333, 0.5, 0.453, 0.25,
0.333, 0.3, 0.31, 0.5, 0.75, 0.75, 0.75, 0.444,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.889, 0.667,
0.611, 0.611, 0.611, 0.611, 0.333, 0.333, 0.333, 0.333,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.564,
0.722, 0.722, 0.722, 0.722, 0.722, 0.722, 0.556, 0.5,
0.444, 0.444, 0.444, 0.444, 0.444, 0.444, 0.667, 0.444,
0.444, 0.444, 0.444, 0.444, 0.278, 0.278, 0.278, 0.278,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.564,
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
);
$UnderlinePosition = -0.1;
$UnderlineThickness = 0.05;
1;

View File

@ -0,0 +1,14 @@
AFM.pm
Courier.pm
CourierBold.pm
CourierBoldOblique.pm
CourierOblique.pm
Font::AFM.3p
Helvetica.pm
HelveticaBold.pm
HelveticaBoldOblique.pm
HelveticaOblique.pm
TimesBold.pm
TimesBoldItalic.pm
TimesItalic.pm
TimesRoman.pm

View File

@ -0,0 +1,282 @@
.\" Automatically generated by Pod::Man version 1.15
.\" Thu Jul 11 17:15:04 2002
.\"
.\" Standard preamble:
.\" ======================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
.\" to do unbreakable dashes and therefore won't be available. \*(C` and
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
.\" index entries marked with X<> in POD. Of course, you'll have to process
.\" the output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it
.\" makes way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
.bd B 3
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ======================================================================
.\"
.IX Title "AFM 3"
.TH AFM 3 "perl v5.6.1" "1999-01-30" "User Contributed Perl Documentation"
.UC
.SH "NAME"
Font::AFM \- Interface to Adobe Font Metrics files
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 6
\& use Font::AFM;
\& $h = new Font::AFM "Helvetica";
\& $copyright = $h->Notice;
\& $w = $h->Wx->{"aring"};
\& $w = $h->stringwidth("Gisle", 10);
\& $h->dump; # for debugging
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module implements the Font::AFM class. Objects of this class are
initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
.PP
All measurements in \s-1AFM\s0 files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.
.PP
The following methods are available:
.Ip "$afm = Font::AFM->new($fontname)" 3
.IX Item "$afm = Font::AFM->new($fontname)"
Object constructor. Takes the name of the font as argument. It will
croak if the font can not be found.
.Ip "$afm->\fIlatin1_wx_table()\fR" 3
.IX Item "$afm->latin1_wx_table()"
Returns a 256 element array, where each element contains the width
of the corresponding character in the iso-8859\-1 character set.
.Ip "$afm->stringwidth($string, [$fontsize])" 3
.IX Item "$afm->stringwidth($string, [$fontsize])"
Returns the width of the string passed as argument. The string is
assumed to be encoded in the iso-8859\-1 character set. A second
argument can be used to scale the width according to the font size.
.Ip "$afm->FontName" 3
.IX Item "$afm->FontName"
The name of the font as presented to the PostScript language
\&\f(CW\*(C`findfont\*(C'\fR operator, for instance \*(L"Times-Roman\*(R".
.Ip "$afm->FullName" 3
.IX Item "$afm->FullName"
Unique, human-readable name for an individual font, for instance
\&\*(L"Times Roman\*(R".
.Ip "$afm->FamilyName" 3
.IX Item "$afm->FamilyName"
Human-readable name for a group of fonts that are stylistic variants
of a single design. All fonts that are member of such a group should
have exactly the same \f(CW\*(C`FamilyName\*(C'\fR. Example of a family name is
\&\*(L"Times\*(R".
.Ip "$afm->Weight" 3
.IX Item "$afm->Weight"
Human-readable name for the weight, or \*(L"boldness\*(R", attribute of a font.
Exampes are \f(CW\*(C`Roman\*(C'\fR, \f(CW\*(C`Bold\*(C'\fR, \f(CW\*(C`Light\*(C'\fR.
.Ip "$afm->ItalicAngle" 3
.IX Item "$afm->ItalicAngle"
Angle in degrees counterclockwise from the vertical of the dominant
vertical strokes of the font.
.Ip "$afm->IsFixedPitch" 3
.IX Item "$afm->IsFixedPitch"
If the value is \f(CW\*(C`true\*(C'\fR, it indicated that the font is a fixed-pitch
(monospaced) font.
.Ip "$afm->FontBBox" 3
.IX Item "$afm->FontBBox"
A string of four numbers giving the lower-left x, lower-left y,
upper-right x, and upper-right y of the font bounding box. The font
bounding box is the smallest rectangle enclosing the shape that would
result if all the characters of the font were placed with their
origins coincident, and then painted.
.Ip "$afm->UnderlinePosition" 3
.IX Item "$afm->UnderlinePosition"
Recommended distance from the baseline for positioning underline
stokes. This number is the y coordinate of the center of the stroke.
.Ip "$afm->UnderlineThickness" 3
.IX Item "$afm->UnderlineThickness"
Recommended stroke width for underlining.
.Ip "$afm->Version" 3
.IX Item "$afm->Version"
Version number of the font.
.Ip "$afm->Notice" 3
.IX Item "$afm->Notice"
Trademark or copyright notice, if applicable.
.Ip "$afm->Comment" 3
.IX Item "$afm->Comment"
Comments found in the \s-1AFM\s0 file.
.Ip "$afm->EncodingScheme" 3
.IX Item "$afm->EncodingScheme"
The name of the standard encoding scheme for the font. Most Adobe
fonts use the \f(CW\*(C`AdobeStandardEncoding\*(C'\fR. Special fonts might state
\&\f(CW\*(C`FontSpecific\*(C'\fR.
.Ip "$afm->CapHeight" 3
.IX Item "$afm->CapHeight"
Usually the y-value of the top of the capital H.
.Ip "$afm->XHeight" 3
.IX Item "$afm->XHeight"
Typically the y-value of the top of the lowercase x.
.Ip "$afm->Ascender" 3
.IX Item "$afm->Ascender"
Typically the y-value of the top of the lowercase d.
.Ip "$afm->Descender" 3
.IX Item "$afm->Descender"
Typically the y-value of the bottom of the lowercase p.
.Ip "$afm->Wx" 3
.IX Item "$afm->Wx"
Returns a hash table that maps from glyph names to the width of that glyph.
.Ip "$afm->BBox" 3
.IX Item "$afm->BBox"
Returns a hash table that maps from glyph names to bounding box information.
The bounding box consist of 4 numbers: llx, lly, urx, ury.
.Ip "$afm->dump" 3
.IX Item "$afm->dump"
Dumps the content of the Font::AFM object to \s-1STDOUT\s0. Might sometimes
be useful for debugging.
.PP
The \s-1AFM\s0 specification can be found at:
.PP
.Vb 1
\& ftp://ftp.adobe.com/pub/adobe/DeveloperSupport/TechNotes/PSfiles/5004.AFM_Spec.ps
.Ve
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
.Ip "\s-1METRICS\s0" 10
.IX Item "METRICS"
Contains the path to seach for AFM-files. Format is as for the \s-1PATH\s0
environment variable. The default path built into this library is:
.Sp
.Vb 1
\& /usr/lib/afm:/usr/local/lib/afm:/usr/openwin/lib/fonts/afm/:.
.Ve
.SH "BUGS"
.IX Header "BUGS"
Kerning data and composite character data is not yet parsed.
Ligature data is not parsed.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright 1995\-1998 Gisle Aas. All rights reserved.
.PP
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

View File

@ -0,0 +1 @@
perl interface to Adobe Font Metrics files

View File

@ -0,0 +1,8 @@
This module implements the Font::AFM class. Objects of this class
are initialised from an AFM-file and allows you to obtain information
about the font and the metrics of the various glyphs in the font.
All measurements in AFM files are given in terms of units equal to
1/1000 of the scale factor of the font being used. To compute actual
sizes in a document, these amounts should be multiplied by (scale
factor of font)/1000.

View File

@ -0,0 +1,17 @@
@comment subdir=textproc/p5-Font-AFM cdrom=yes ftp=yes
@comment $OpenBSD: PLIST,v 1.1.1.1 2002/07/11 09:30:11 shell Exp $
libdata/perl5/site_perl/Font/AFM.pm
libdata/perl5/site_perl/Font/Metrics/Courier.pm
libdata/perl5/site_perl/Font/Metrics/CourierBold.pm
libdata/perl5/site_perl/Font/Metrics/CourierBoldOblique.pm
libdata/perl5/site_perl/Font/Metrics/CourierOblique.pm
libdata/perl5/site_perl/Font/Metrics/Helvetica.pm
libdata/perl5/site_perl/Font/Metrics/HelveticaBold.pm
libdata/perl5/site_perl/Font/Metrics/HelveticaBoldOblique.pm
libdata/perl5/site_perl/Font/Metrics/HelveticaOblique.pm
libdata/perl5/site_perl/Font/Metrics/TimesBold.pm
libdata/perl5/site_perl/Font/Metrics/TimesBoldItalic.pm
libdata/perl5/site_perl/Font/Metrics/TimesItalic.pm
libdata/perl5/site_perl/Font/Metrics/TimesRoman.pm
man/man3p/Font::AFM.3p
@dirrm libdata/perl5/site_perl/Font/Metrics

View File

@ -0,0 +1,216 @@
/set type=dir uname=root gname=wheel mode=0755
.
etc
..
usr
local
bin
..
include
X11
..
..
info
..
lib
X11
app-defaults
..
..
..
libdata
perl5
site_perl
..
..
..
libexec
..
man
cat1
..
cat2
..
cat3
..
cat4
..
cat5
..
cat6
..
cat7
..
cat8
..
cat9
..
catl
..
catn
..
ja_JP.EUC
cat1
..
cat2
..
cat3
..
cat4
..
cat5
..
cat6
..
cat7
..
cat8
..
cat9
..
catl
..
catn
..
man1
..
man2
..
man3
..
man4
..
man5
..
man6
..
man7
..
man8
..
man9
..
manl
..
mann
..
..
man1
..
man2
..
man3
..
man4
..
man5
..
man6
..
man7
..
man8
..
man9
..
manl
..
mann
..
..
sbin
..
share
dict
..
doc
..
examples
..
misc
..
nls
C
..
da_DK.ISO_8859-1
..
de_AT.ISO_8859-1
..
de_CH.ISO_8859-1
..
de_DE.ISO_8859-1
..
el_GR.ISO_8859-7
..
en_AU.ISO_8859-1
..
en_CA.ISO_8859-1
..
en_GB.ISO_8859-1
..
en_US.ISO_8859-1
..
es_ES.ISO_8859-1
..
et_EE.ISO-8859-1
..
fi_FI.ISO_8859-1
..
fr_BE.ISO_8859-1
..
fr_CA.ISO_8859-1
..
fr_CH.ISO_8859-1
..
fr_FR.ISO_8859-1
..
hr_HR.ISO_8859-2
..
is_IS.ISO_8859-1
..
it_CH.ISO_8859-1
..
it_IT.ISO_8859-1
..
ja_JP.EUC
..
ko_KR.EUC
..
lt_LN.ASCII
..
lt_LN.ISO_8859-1
..
lt_LN.ISO_8859-2
..
nl_BE.ISO_8859-1
..
nl_NL.ISO_8859-1
..
no_NO.ISO_8859-1
..
pt_PT.ISO_8859-1
..
ru_RU.CP866
..
ru_RU.ISO_8859-5
..
ru_RU.KOI8-R
..
sv_SE.ISO_8859-1
..
uk_UA.KOI8-U
..
..
skel
..
..
..
..
var
db
..
log
..
spool
..
www type=dir uname=root gname=daemon mode=755