summaryrefslogtreecommitdiff
path: root/fonts/utilities/corelfonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/utilities/corelfonts
Initial commit
Diffstat (limited to 'fonts/utilities/corelfonts')
-rw-r--r--fonts/utilities/corelfonts/README63
-rw-r--r--fonts/utilities/corelfonts/corelfonts233
-rw-r--r--fonts/utilities/corelfonts/fontinst.sty2229
-rw-r--r--fonts/utilities/corelfonts/fontnames.dat818
4 files changed, 3343 insertions, 0 deletions
diff --git a/fonts/utilities/corelfonts/README b/fonts/utilities/corelfonts/README
new file mode 100644
index 0000000000..3d3f179c2b
--- /dev/null
+++ b/fonts/utilities/corelfonts/README
@@ -0,0 +1,63 @@
+NAME
+corelfonts
+
+DESCRIPTION
+The file corelfonts is a perl script which will install all the PostScript
+Type 1 fonts supplied on the Corel Ventura 5 CD (and probably with other
+versions of Corel Ventura and Corel Draw). These fonts are from Bitstream.
+Running this script will copy the afm and pfb files from the Corel CD and
+run fontinst on them to create tfm, vf, fd and sty files for use with
+LaTeX. The fonts, font descriptions and LaTeX package files are installed
+to subdirectories in your TeXMF tree.
+
+INSTALLATION
+Installation is simply a matter of running the script with perl and telling
+your tex system about the new fonts and packages. The instructions here work
+for teTeX running on FreeBSD 4.7 and fpTeX running on Windows XP, but they
+ought to work with minor variations on other systems.
+
+ Unix: chmod +x corelfonts
+ ./corelfonts
+
+ Edit your config.ps file (probably located at texmf/dvips/config)
+ to include the line:
+
+ p +bitstrea.map
+
+ Then run texhash to update the filename database.
+
+ Win32: perl corelfonts
+
+ Edit your updmap.cfg file (probably located at texmf/web2c)
+ to include the line:
+
+ Map bitstrea.map
+
+ Then run updmap to update the filename database.
+
+USAGE
+Just include a line such as \usepackage{sabon} in the preamble to your
+LaTeX document and the default font will be Sabon (Garamond). Have a look
+through the texmf/tex/latex/bitstrea directory to see which packages are
+available. Each package supplies a font family.
+
+LICENSE
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
+
+DISCLAIMER
+Apart from the fact that I had these Corel (Bitstream) fonts lying around
+and wanted to use them with LaTeX, this was simply an exercise in learning
+perl for me. If you find the script useful I will be delighted, but I cannot
+take responsibility for any problems you might have with it. Please let me
+know if you find the script useful though. I can be contacted by email
+as tony@thenoc.org.uk
+
+Tony McClelland
+11/02/2003
+
+
+
+
+
diff --git a/fonts/utilities/corelfonts/corelfonts b/fonts/utilities/corelfonts/corelfonts
new file mode 100644
index 0000000000..48d3e47456
--- /dev/null
+++ b/fonts/utilities/corelfonts/corelfonts
@@ -0,0 +1,233 @@
+#!/usr/bin/perl -w
+#################################################################
+# corelfonts #
+# Tony McClelland 11-Feb-2003 #
+# Copy the PostScript Type1 fonts from the Corel Ventura 5 #
+# CD into the local TeXMF tree and install these fonts for use #
+# with TeX and LaTeX. These fonts are from Bitstream. #
+#################################################################
+
+use strict;
+use Cwd 'chdir', 'cwd';
+use File::Copy;
+
+#################################################################
+# Global variables #
+#################################################################
+my $texmfdir; # Path to local TeXMF directory
+my $coreldir; # Where the Corel fonts are
+my $scriptdir; # Where this script and support files are
+my $afmdir; # Where subdirectories for .afm files are
+my $tfmdir; # Where subdirectories for .tfm files are
+my $vfdir; # Where subdirectories for .vf files are
+my $pfbdir; # Where subdirectories for .pfb files are
+my $latexdir; # Where the .sty and .fd files go
+my $latexbindir; # Path to the latex/pltotf/vptovf binaries
+
+#################################################################
+# init_paths #
+# Set up various paths for the TeXMF tree etc #
+#################################################################
+sub init_paths {
+ print "Enter the path for the local TeXMF tree [/usr/local/share/texmf]: ";
+ my $response = <STDIN>;
+ chomp $response;
+ if ($response eq "") {
+ $texmfdir = "/usr/local/share/texmf";
+ }
+ else {
+ $texmfdir = $response;
+ }
+
+ print "Enter the path for the Corel fonts [/cdrom/Fonts/Type1]: ";
+ $response = <STDIN>;
+ chomp $response;
+ if ($response eq "") {
+ $coreldir = "/cdrom/Fonts/Type1";
+ }
+ else {
+ $coreldir = $response;
+ }
+
+ print "Enter the full path of the latex executables [/usr/local/bin/]: ";
+ $response = <STDIN>;
+ chomp $response;
+ if ($response eq "") {
+ $latexbindir = "/usr/local/bin";
+ }
+ else {
+ $latexbindir = $response;
+ }
+
+ $scriptdir = cwd();
+ $afmdir = "$texmfdir/fonts/afm/bitstrea";
+ $tfmdir = "$texmfdir/fonts/tfm/bitstrea";
+ $vfdir = "$texmfdir/fonts/vf/bitstrea";
+ $pfbdir = "$texmfdir/fonts/type1/bitstrea";
+ $latexdir = "$texmfdir/tex/latex/bitstrea";
+
+ # Create the directories if necessary
+ mkdir $afmdir unless -e $afmdir ;
+ mkdir $tfmdir unless -e $tfmdir;
+ mkdir $vfdir unless -e $vfdir;
+ mkdir $pfbdir unless -e $pfbdir;
+ mkdir $latexdir unless -e $latexdir;
+}
+
+
+#################################################################
+# Copy fonts from the CD, renaming according to the fontname #
+# scheme. The fonts are arranged on the CD in subdirectories #
+# under $coreldir named by the first letter of the font name. #
+#################################################################
+sub copy_fonts {
+ # Start off with fonts beginning with 'A'
+ my $oldsubdir = "A";
+ chdir("$coreldir/$oldsubdir");
+
+ # Prepare a map file for dvips
+ open(MAPFILE, ">$texmfdir/dvips/config/bitstrea.map")
+ or die "Unable to open the map file: $!";
+
+ # Use the font name information in fontnames.dat (taken from
+ # the file bitstrea.map in the fontinst info on CTAN) to copy
+ # the afm and pfb files and build the dvips map file.
+ open(FONTNAMES, "$scriptdir/fontnames.dat")
+ or die "Unable to open the fontnames.dat file: $!";
+
+ while (<FONTNAMES>) {
+ chomp;
+ my ($fontname, $prefix, $kbname, $shortname, $shape) = split;
+ my $subdir = substr($fontname, 0, 1);
+
+ # Only change directory when the first letter changes
+ if ($subdir ne $oldsubdir) {
+ $oldsubdir = $subdir;
+ chdir("$coreldir/$subdir");
+ }
+
+ # Set up the name of the AFM and PFB files used by Corel
+ my $fontfile = "${prefix}A___";
+ my $afmfile = "$fontfile.afm";
+ my $pfbfile = "$fontfile.pfb";
+
+ # Not all the files in the bitstrea.map are on the CD.
+ # Only set up texmf directories for those that are.
+ if (-e $afmfile) {
+ # Create subdirectories in the texmf tree
+ mkdir "$afmdir/$shortname" unless -e "$afmdir/$shortname";
+ mkdir "$tfmdir/$shortname" unless -e "$tfmdir/$shortname";
+ mkdir "$vfdir/$shortname" unless -e "$vfdir/$shortname";
+ mkdir "$pfbdir/$shortname" unless -e "$pfbdir/$shortname";
+
+ # Copy the font using the fontname scheme
+ copy($afmfile, "$afmdir/$shortname/$kbname.afm");
+ copy($pfbfile, "$pfbdir/$shortname/$kbname.pfb");
+
+ # Put an entry for this font in the map file
+ my $reencode = $kbname;
+ $reencode =~ s/8a/8r/;
+ print MAPFILE "$reencode $fontname \"TeXBase1Encoding ReEncodeFont\" <8r.enc <$kbname.pfb\n";
+
+ # If this font is not already italic or oblique, add a fake
+ # slanted variant to the map file
+ unless (($fontname =~ /[Oo]blique/) || ($fontname =~ /[Ii]talic/)) {
+ $reencode =~ s/8r/o8r/;
+ print MAPFILE "$reencode $fontname \".167 SlantFont TeXBase1Encoding ReEncodeFont\" <8r.enc <$kbname.pfb\n";
+ }
+ }
+ }
+
+ close(FONTNAMES);
+ close(MAPFILE);
+}
+
+
+#################################################################
+# install_fonts #
+# Install font families by running fontinst on the afm files #
+#################################################################
+sub install_fonts {
+ my %families; # font families and rm, sf or tt shapes
+ my %famcodes; # 3 letter codes for font families
+ my %btnames; # Bitstream names for font families
+
+ # Get a list of all the subdirectories containing *.afm files
+ # organised by font name, for fontinst to work on
+ open(FONTNAMES, "$scriptdir/fontnames.dat")
+ or die "Unable to open the file fontnames.dat: $!";
+
+ while (<FONTNAMES>) {
+ chomp;
+ my ($fontname, $prefix, $kbname, $shortname, $shape) = split;
+ if (-e "$afmdir/$shortname") {
+ $families{$shortname} = $shape;
+ $famcodes{$shortname} = substr($kbname, 0, 3);
+ $fontname =~ s/BT.*//; # strip off everything after BT
+ $btnames{$shortname} = $fontname;
+ }
+ }
+
+ close(FONTNAMES);
+
+ # Run fontinst in each subdirectory
+ foreach my $font (sort keys %families) {
+ chdir "$afmdir/$font";
+
+ # Create a tex file to allow latex to be run on fontinst with
+ # this family of fonts as the \latinfamily
+ copy("$scriptdir/fontinst.sty", "$afmdir/$font/fontinst.sty");
+ open(FONTINST, ">$afmdir/$font/corelfont.tex")
+ or die "Cannot open the LaTeX file: $!";
+ print FONTINST <<EOF;
+\\input fontinst.sty
+\\latinfamily{$famcodes{$font}}{} \\bye
+EOF
+ system("$latexbindir/latex corelfont.tex");
+
+ # Now create .tfm and .vf files from the fontinst output
+ while (my $vpl = glob("*.vpl")) {
+ system("$latexbindir/vptovf $vpl");
+ }
+ while (my $pl = glob("*.pl")) {
+ system("$latexbindir/pltotf $pl");
+ }
+
+ # Move the .tfm, .vf and .fd files to their destinations
+ while (my $tfm = glob("*.tfm")) {
+ rename($tfm, "$tfmdir/$font/$tfm");
+ }
+ while (my $vf = glob("*.vf")) {
+ rename($vf, "$vfdir/$font/$vf");
+ }
+ while (my $fd = glob("*.fd")) {
+ rename($fd, "$latexdir/$fd");
+ }
+
+ # Clean up the files created by fontinst
+ unlink <*.vpl>;
+ unlink <*.pl>;
+ unlink <*.mtx>;
+ unlink <*.tex>;
+ unlink <*.sty>;
+
+ # Create a LaTeX style file for this font
+ open(LATEXFILE, ">$latexdir/$font.sty");
+ print LATEXFILE "% LaTeX package file for using the Bitstream font $btnames{$font}\n";
+ print LATEXFILE "\\ProvidesPackage{$font}[2003/02/11 Bitstream font $btnames{$font}]\n";
+ print LATEXFILE "\\renewcommand{\\$families{$font}default}{$famcodes{$font}}\n";
+ close(LATEXFILE);
+
+ chdir $afmdir;
+ }
+}
+
+
+#################################################################
+# Main program #
+#################################################################
+init_paths();
+copy_fonts();
+install_fonts();
+
+print "Done.\n";
diff --git a/fonts/utilities/corelfonts/fontinst.sty b/fonts/utilities/corelfonts/fontinst.sty
new file mode 100644
index 0000000000..8cd29c70f8
--- /dev/null
+++ b/fonts/utilities/corelfonts/fontinst.sty
@@ -0,0 +1,2229 @@
+%%
+%% This is file `fontinst.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fontinst.dtx (with options: `pkg,textcomp,debug')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% You are *not* allowed to modify this file.
+%%
+%% You are *not* allowed to distribute this file.
+%% For distribution of the original source see the terms
+%% for copying and modification in the file fontinst.dtx.
+%%
+%%
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\def\fontinstversion{1.801}
+\def\filedate{1998/07/07}
+\def\docdate{1998/07/07}
+\ifx\ProvidesPackage\undefined
+ \def\NeedsTeXFormat#1{}
+ \def\ProvidesPackage#1[#2]{}
+\fi
+\ProvidesPackage{fontinst}
+[\filedate\space v\fontinstversion\space
+ fontinst installation package]
+\edef\spacecatcode{\the\catcode`\ }
+\edef\nlcatcode{\the\catcode`\^^M}
+\edef\atcatcode{\the\catcode`\@}
+\edef\underscorecatcode{\the\catcode`\_}
+\edef\tildecatcode{\the\catcode`\~}
+\catcode`\ =9
+\catcode`\^^M=9
+\catcode`\@=11
+\catcode`\_=11
+\catcode`\~=10
+\ifx\@ne\undefined_command
+ \input fontinst.ini\relax
+\fi
+\newcount\a_count
+\newcount\b_count
+\newcount\c_count
+\newcount\d_count
+\newcount\e_count
+\newcount\f_count
+\newcount\g_count
+\newdimen\a_dimen
+\newdimen\b_dimen
+\newdimen\c_dimen
+\newdimen\d_dimen
+\newtoks\a_toks
+\newtoks\b_toks
+\newtoks\c_toks
+\newwrite\out_file
+\mathchardef\one_thousand=1000
+\mathchardef\max_mathchardef="7FFF
+\let\@tempdima\a_dimen
+\let\@tempdimb\b_dimen
+\input trig.sty
+\def\x_cs#1#2{\expandafter#1\csname#2\endcsname}
+\let\x_relax=\relax
+\def\g_let{\global\let}
+\def\empty_command{}
+\def\gobble_one#1{}
+\def\gobble_two#1#2{}
+\def\gobble_three#1#2#3{}
+\def\identity_one#1{#1}
+\def\first_of_two#1#2{#1}
+\def\second_of_two#1#2{#2}
+\bgroup
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\%=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \gdef\percent_char[%]
+ \gdef\left_brace_char[{]
+ \gdef\right_brace_char[}]
+\egroup
+{
+ \catcode`\p=12
+ \catcode`\t=12
+ \gdef\lose_measure#1pt{#1}
+}
+\def\first_char#1#2={#1}
+\def\add_to#1#2{
+ \ifx#1\relax
+ \def#1{#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{#1#2}
+ \fi
+}
+\def\never_do{\noexpand\do}
+\def\open_out#1{
+ \immediate\openout\out_file=#1 \def\out_filename{#1}}
+\def\close_out#1{
+ \immediate\write16{#1~written~on~\out_filename.}
+ \immediate\closeout\out_file}
+\def\out_line#1{\immediate\write\out_file{#1}}
+\def\out_lline#1{\out_line{\space\space\space#1}}
+\def\out_llline#1{\out_lline{\space\space\space#1}}
+\let\then=\iffalse
+\def\if_false{\iffalse}
+\def\if_true{\iftrue}
+\def\if_or#1\or_else#2\then{
+ #1\then
+ \expandafter\if_true
+ \else
+ #2\then
+ \expandafter\expandafter\expandafter\if_true
+ \else
+ \expandafter\expandafter\expandafter\if_false
+ \fi
+ \fi
+}
+\def\if_file_exists#1\then{
+ \immediate\openin1=#1\relax
+ \ifeof1\relax
+ \immediate\closein1
+ \expandafter\if_false
+ \else
+ \immediate\closein1
+ \expandafter\if_true
+ \fi
+}
+\x_cs\ifx{@@input}\relax
+ \let\primitiveinput=\input
+\else
+ \let\primitiveinput=\@@input
+\fi
+\def\setint#1#2{
+ \x_cs\ifx{i-#1}\relax
+ \resetint{#1}{#2}
+ \fi
+}
+\def\setstr#1#2{\x_cs\ifx{s-#1}\relax
+ \x_cs\edef{s-#1}{#2}\fi}
+\def\setdim#1#2{\x_cs\ifx{d-#1}\relax
+ \a_dimen=#2\relax\x_cs\edef{d-#1}{\the\a_dimen}\fi}
+\def\setcommand#1{\ifx#1\undefined_command
+ \expandafter\def\expandafter#1\else
+ \expandafter\def\expandafter\a_command\fi}
+\def\resetint#1#2{
+ \eval_expr{#2}
+ \ifnum\result<\max_mathchardef
+ \ifnum\result<0
+ \x_cs\edef{i-#1}{\the\result}
+ \else
+ \x_cs\mathchardef{i-#1}=\result
+ \fi
+ \else
+ \x_cs\edef{i-#1}{\the\result}
+ \fi
+}
+\def\resetstr#1#2{\x_cs\edef{s-#1}{#2}}
+\def\resetdim#1#2{\a_dimen=#2\x_cs\edef{d-#1}{\the\a_dimen}}
+\def\resetcommand#1{\def#1}
+\def\int#1{\csname~i-#1\endcsname}
+\def\str#1{\csname~s-#1\endcsname}
+\def\dim#1{\csname~d-#1\endcsname}
+\def\ifisint#1\then{\x_cs\ifx{i-#1}\relax\expandafter\if_false
+ \else\expandafter\if_true\fi}
+\def\ifisstr#1\then{\x_cs\ifx{s-#1}\relax\expandafter\if_false
+ \else\expandafter\if_true\fi}
+\def\ifisdim#1\then{\x_cs\ifx{d-#1}\relax\expandafter\if_false
+ \else\expandafter\if_true\fi}
+\def\ifiscommand#1\then{\ifx#1\undefined_command\expandafter\if_false
+ \else\expandafter\if_true\fi}
+\def\unsetint#1{\x_cs\let{i-#1}\relax}
+\def\unsetstr#1{\x_cs\let{s-#1}\relax}
+\def\unsetdim#1{\x_cs\let{d-#1}\relax}
+\def\unsetcommand#1{\let#1=\undefined_command}
+\newcount\result
+\def\eval_expr#1{\global\result=#1\relax}
+\def\eval_expr_to#1#2{\eval_expr{#2}#1=\result}
+\def\g_eval_expr_to#1#2{\eval_expr{#2}\global#1=\result}
+\def\neg#1{#1\global\result=-\result}
+\def\add#1#2{#1{\a_count=\result\eval_expr{#2}
+ \global\advance\result by \a_count}}
+\def\sub#1#2{#1{\a_count=\result\eval_expr{#2}
+ \advance\a_count by -\result
+ \global\result=\a_count}}
+\def\mul#1#2{#1{\a_count=\result\eval_expr{#2}
+ \global\multiply\result by \a_count}}
+\def\div#1#2{#1{\a_count=\result\eval_expr{#2}
+ \divide\a_count by \result
+ \global\result=\a_count}}
+\def\max#1#2{#1{\a_count=\result\eval_expr{#2}
+ \ifnum\a_count>\result \global\result=\a_count \fi}}
+\def\min#1#2{#1{\a_count=\result\eval_expr{#2}
+ \ifnum\a_count<\result \global\result=\a_count \fi}}
+\def\scale#1#2{#1{\a_count=\result\eval_expr{#2}
+ \global\multiply\result by \a_count
+ \global\divide\result by \one_thousand}}
+\newif\ifmissingslots
+\x_cs\def{o-.notdef}#1{\global\missingslotstrue}
+{
+ \catcode`\/=\active
+ \catcode`\]=\active
+ \gdef\enctoetx#1#2{{
+ \catcode`\/=\active
+ \catcode`\]=\active
+ \def/##1[{
+ \a_count=0
+ \global\missingslotsfalse
+ \def/####1~{
+ \csname~o-####1\endcsname{
+ \ifmissingslots
+ \out_line{\string\nextslot{\the\a_count}}
+ \fi
+ \global\missingslotsfalse
+ \out_line{\string\setslot{####1}}
+ \out_line{\string\endsetslot}
+ \out_line{}
+ }
+ \advance\a_count by 1
+ }
+ }
+ \def]~def{}
+ \make_etx{#1}{#2}
+ }}
+}
+\def\make_etx#1#2{
+ \open_out{\temp_prefix#2.etx}
+ \out_line{\percent_char~Filename:~#2.etx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\enctoetx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the
+ information~of~#1.enc~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{}
+ \out_line{\string\documentclass[twocolumn]{article}}
+ \out_line{\string\usepackage{fontdoc}}
+ \out_line{}
+ \out_line{\string\begin{document}}
+ \out_line{}
+ \out_line{This~document~describes~the~#1~encoding.}
+ \out_line{It~was~automatically~generated~by~the}
+ \out_line{{\string\tt\space~fontinst}~package.}
+ \out_line{}
+ \out_line{\string\encoding}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \primitiveinput #1.enc\relax
+ \out_line{}
+ \out_line{\string\endencoding}
+ \out_line{}
+ \out_line{\string\end{document}}
+ \close_out{Encoding~vector}
+}
+\def\afmtomtx#1#2{{
+ \open_out{\temp_prefix#2.mtx}
+ \def\raw_font_name{#2}
+ \_italicfalse
+ \setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\afmtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the
+ information~of~#1.afm~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \catcode`\^^M=12
+ \catcode`\ =10
+ \expandafter\afm_line\primitiveinput #1.afm\relax
+ \out_line{}
+ \out_line{\string\endmetrics}
+ \close_out{Metrics}
+}}
+\newcount\minimum_kern
+\newif\if_italic
+{\catcode`\^^M=12 \gdef\afm_line#1
+{\afm_command#1~\end_of_line\afm_line}}
+\def\afm_command#1~{\csname~afm-#1\endcsname\gobble_one_line}
+\def\gobble_one_line#1\end_of_line{}
+\x_cs\def{afm-EndFontMetrics}#1\afm_line{\endinput}
+\def\afm_def#1(#2)#3{\x_cs\def{afm-#1}
+ \gobble_one_line#2\end_of_line{#3}}
+\afm_def{CharWidth}(#1){\charxwidth=#1\relax}
+\afm_def{ItalicAngle}(#1){\calculate_it_slant{#1}}
+\afm_def{XHeight}(#1){
+ \out_line{\string\setint{xheight}{#1}}}
+\afm_def{CapHeight}(#1){
+ \out_line{\string\setint{capheight}{#1}}}
+\afm_def{Ascender}(#1){
+ \out_line{\string\setint{ascender}{#1}}}
+\afm_def{Descender}(#1){
+ \out_line{\string\setint{descender_neg}{#1}}}
+\afm_def{UnderlineThickness}(#1){
+ \out_line{\string\setint{underlinethickness}{#1}}}
+\afm_def{FontBBox}(#1~#2~#3~#4){
+ \out_line{\string\setint{maxheight}{#4}}
+ \out_line{\string\setint{maxdepth_neg}{#2}}}
+\afm_def{IsFixedPitch}(#1){
+ \if\first_char#1=f
+ \else\out_line{\string\setint{monowidth}{1}}
+ \fi
+}
+\afm_def{KP}(#1~#2~#3~#4){
+ \if\first_char#1=.\else
+ \if\first_char#2=.\else
+ \ifnum#3>\minimum_kern\relax
+ \out_line{\string\setkern{#1}{#2}{#3}}
+ \else\ifnum#3<-\minimum_kern\relax
+ \out_line{\string\setkern{#1}{#2}{#3}}
+ \fi\fi
+ \fi\fi
+}
+\afm_def{KPX}(#1~#2~#3~#4){
+ \if\first_char#1=.\else
+ \if\first_char#2=.\else
+ \ifnum#3>\minimum_kern\relax
+ \out_line{\string\setkern{#1}{#2}{#3}}
+ \else\ifnum#3<-\minimum_kern\relax
+ \out_line{\string\setkern{#1}{#2}{#3}}
+ \fi\fi
+ \fi\fi
+}
+\afm_def{C}(#1~;#2){\init_afm{#1}\do_list[#2]\afm_char}
+\afm_def{CH}(#1~;#2){\init_afm{#1}\do_list[#2]\afm_char}
+\afm_def{CC}(#1~#2~;#3){\init_cc{#1}\do_list[#3]\cc_char}
+\newcount\char_slot
+\newcount\char_x_width
+\newcount\x_width
+\newcount\bbox_llx
+\newcount\bbox_lly
+\newcount\bbox_urx
+\newcount\bbox_ury
+\let\char_name=\empty_command
+\def\init_afm#1{
+ \char_slot=#1\relax
+ \x_width=\char_x_width
+ \bbox_llx=0
+ \bbox_lly=0
+ \bbox_urx=0
+ \bbox_ury=0
+ \let\char_name=\empty_command
+}
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \if_italic
+ \b_count=-\x_width
+ \advance\b_count by \bbox_urx
+ \ifnum\b_count>0\else
+ \b_count=0
+ \fi
+ \else
+ \b_count=0
+ \fi
+ \out_line{
+ \ifnum\char_slot>-1
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\b_count}
+ }
+}
+\def\init_cc#1{%
+ \out_line{\string\setglyph{#1}}
+ \def\char_name{#1}
+}
+\def\cc_char{%
+ \out_lline{\string\samesize{\char_name-not}}
+ \out_line{\string\endsetglyph}
+}
+\def\calculate_it_slant#1{
+ \edef\theangle{\strip_spaces#1~\end_strip_spaces}
+ \CalculateTan{\theangle}
+ \a_dimen=-\one_thousand sp
+ \a_dimen=\UseTan{\theangle}\a_dimen
+ \a_count=\a_dimen
+ \out_line{\string\setint{italicslant}{\the\a_count}}
+ \ifnum\a_count>0~\_italictrue \else \_italicfalse \fi
+}
+\def\strip_spaces#1~#2\end_strip_spaces{#1}
+\def\do_list[~#1~#2;~#3]{
+ \csname~list-#1\endcsname\gobble_one_semi#2;
+ \ifx\relax#3\relax\expandafter\gobble_one
+ \else\expandafter\identity_one\fi
+ {\do_list[~#3]}
+}
+\def\gobble_one_semi#1;{}
+\def\list_def#1(#2)#3{\x_cs\def{list-#1}\gobble_one_semi#2~;{#3}}
+\list_def{W}(#1~#2){\x_width=#1\relax}
+\list_def{WX}(#1){\x_width=#1\relax}
+\list_def{WY}(#1){}
+\list_def{N}(#1){\def\char_name{#1}}
+\list_def{B}(#1~#2~#3~#4){
+ \bbox_llx=#1\relax
+ \bbox_lly=#2\relax
+ \bbox_urx=#3\relax
+ \bbox_ury=#4\relax
+}
+\list_def{PCC}(#1~#2~#3){
+ \out_lline{\string\glyphpcc{#1}{#2}{#3}}
+}
+\def\pltomtx#1#2{{
+ \def\raw_font_name{#1}
+ \open_out{\temp_prefix#2.mtx}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\pltomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.pl~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \catcode`\(=0 \catcode`\)=9
+ \let\/=\ignore_parens
+ \let\do_pl_glyph=\relax
+ \primitiveinput #1.pl\relax
+ \do_pl_glyph
+ \out_line{}
+ \out_line{\string\endmetrics}
+ \close_out{Metrics}
+}}
+\def\ignore_parens{\bgroup\catcode`(=1 \catcode`)=2 \relax
+ \expandafter\expandafter\expandafter\gobble_parens
+ \iftrue\expandafter{\else}\fi}
+\def\gobble_parens#1{\egroup}
+\def\pl_real#1{\pl_realer(#1000)}
+\def\pl_realer(#1.#2#3#4#5){#1#2#3#4}
+\def\pl_int#1#2{
+ \ifx#1C `#2
+ \else\ifx#1D #2
+ \else\ifx#1O '#2
+ \else\ifx#1H "#2
+ \else\errmessage{Unknown~PL~number~prefix~`#1'}
+ \fi\fi\fi\fi
+}
+\let\COMMENT=\ignore_parens
+\let\FAMILY=\ignore_parens
+\let\FACE=\ignore_parens
+\let\CHECKSUM=\ignore_parens
+\let\BOUNDARYCHAR=\ignore_parens
+\let\LIG=\ignore_parens
+\let\NEXTLARGER=\ignore_parens
+\let\VARCHAR=\ignore_parens
+\def\CODINGSCHEME{\bgroup\catcode`\)=12\relax\CODINGSCHEME_cont}
+\def\CODINGSCHEME_cont#1){
+ \egroup
+ \x_cs\ifx{enc-#1}\relax
+ \errhelp{The~encoding~`#1'~has~not~been~declared.^^J
+ You~should~declare~it~with~\string\declareencoding{#1}{ETXFILE}.^^J
+ Press~<RETURN>~to~carry~on~with~fingers~crossed,^^J
+ or~X~<RETURN>~to~exit.}
+ \errmessage{Undeclared~encoding~`#1'}
+ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \catcode`\(=12 \catcode`\)=12
+ \x_cs\inputetx{enc-#1}\relax
+ \catcode`\(=0 \catcode`\)=9
+ \fi
+}
+\def\DESIGNSIZE~#1~#2~{
+ \a_dimen=#2pt
+ \out_line{\string\setdim{designsize}{\the\a_dimen}}
+}
+\def\DESIGNUNITS~#1~#2~{
+ \a_dimen=#2pt
+ \out_line{\string\setdim{designunits}{\the\a_dimen}}
+}
+\let\FONTDIMEN=\relax
+\def\SLANT~R~#1~{\out_line{\string\setint{italicslant}{\pl_real{#1}}}}
+\def\SPACE~R~#1~{\out_line{\string\setint{interword}{\pl_real{#1}}}}
+\def\STRETCH~R~#1~{\out_line{\string\setint{stretchword}{\pl_real{#1}}}}
+\def\SHRINK~R~#1~{\out_line{\string\setint{shrinkword}{\pl_real{#1}}}}
+\def\XHEIGHT~R~#1~{\out_line{\string\setint{xheight}{\pl_real{#1}}}}
+\def\QUAD~R~#1~{\out_line{\string\setint{quad}{\pl_real{#1}}}}
+\def\EXTRASPACE~R~#1~{\out_line{\string\setint{extraspace}{\pl_real{#1}}}}
+\def\DEFAULTRULETHICKNESS~R~#1~{
+ \out_line{\string\setint{underlinethickness}{\pl_real{#1}}}
+}
+\def\HEADER~#1~#2~#3~#4~{}
+\def\SEVENBITSAFEFLAG~#1~{}
+\def\PARAMETER~#1~#2~#3~#4~{}
+\def\NUM#1~#2~#3~{}
+\def\DENOM#1~#2~#3~{}
+\def\SUP#1~#2~#3~{}
+\def\SUB#1~#2~#3~{}
+\def\SUBDROP~#1~#2~{}
+\def\SUPDROP~#1~#2~{}
+\def\DELIM#1~#2~#3~{}
+\def\AXISHEIGHT~#1~#2~{}
+\def\BIGOPSPACING#1~#2~#3~{}
+\def\LIGTABLE{\let\do=\never_do\let\temp_command\empty_command}
+\def\LABEL~#1~#2~{\edef\temp_command{\temp_command\do{\pl_int{#1}{#2}}}}
+\def\STOP{\let\temp_command\empty_command}
+\def\SKIP~#1~#2~{\immediate\write16{Warning:~SKIP~instruction~ignored.}}
+\def\KRN~#1~#2~R~#3~{
+ \edef\do{\noexpand\write_pl_krn{\pl_int{#1}{#2}}{\pl_real{#3}}}
+ \temp_command
+ \let\do=\never_do
+}
+\def\write_pl_krn#1#2#3{
+ \f_count=#1
+ \g_count=#3
+ \out_line{\string\setkern{\csname~name-\the\g_count\endcsname}
+ {\csname~name-\the\f_count\endcsname}
+ {#2}}
+}
+\def\CHARWD~R~#1~{\b_count=\pl_real{#1}}
+\def\CHARHT~R~#1~{\c_count=\pl_real{#1}}
+\def\CHARDP~R~#1~{\d_count=\pl_real{#1}}
+\def\CHARIC~R~#1~{\e_count=\pl_real{#1}}
+\def\CHARACTER~#1~#2~{
+ \do_pl_glyph
+ \a_count=\pl_int{#1}{#2}
+ \b_count=0
+ \c_count=0
+ \d_count=0
+ \e_count=0
+ \let\do_pl_glyph=\write_pl_glyph
+}
+\def\write_pl_glyph{
+ \x_cs\ifx{name-\the\a_count}\relax\else
+ \out_line{\string\setrawglyph
+ {\csname~name-\the\a_count\endcsname}
+ {\raw_font_name}
+ {\the\a_dimen}
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\the\e_count}}
+ \fi
+ }
+\def\inputetx#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \slot_number=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\encoding=\fi
+ \let\endencoding=\endinput
+ \primitiveinput \lowercase_file.etx\x_relax
+ \let\relax=\x_relax
+}
+\def\setslot#1{\edef\slot_name{#1}\do_slot}
+\def\endsetslot{\end_do_slot\advance\slot_number by 1\relax}
+\let\do_slot\empty_command
+\let\do_new_slot\empty_command
+\let\end_do_slot\empty_command
+\newcount\slot_number
+\def\nextslot#1{\slot_number=#1\relax}
+\def\skipslots#1{\advance\slot_number by #1\relax}
+\let\ligature=\gobble_three
+\let\nextlarger=\gobble_one
+\let\varchar=\empty_command
+\let\endvarchar=\empty_command
+\let\comment=\gobble_one
+\let\usedas=\gobble_two
+\let\vartop=\gobble_one
+\let\varmid=\gobble_one
+\let\varbot=\gobble_one
+\let\varrep=\gobble_one
+\let\useexamplefont=\gobble_one
+\let\slotexample=\empty_command
+\let\setslotcomment=\gobble_one
+\let\resetslotcomment=\gobble_one
+\let\unsetslotcomment=\empty_command
+\def\inputmtx#1{
+ \a_count=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\metrics=\fi
+ \let\endmetrics=\endinput
+ \primitiveinput #1.mtx\x_relax
+ \let\relax=\x_relax
+}
+\def\setkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\relax
+ \expandafter\set_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{#3}
+ \else
+ \expandafter\set_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\set_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\set_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\set_kern_cs#1#2#3{
+ \add_to#2{\k#3#1}
+ \add_to#3{\k#2#1}
+}
+\def\setleftkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+}
+\def\setrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\setleftrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\set_kerning#1#2{
+ \if\b_count=\one_thousand
+ \def\k##1##2{
+ \set_kern_cs##2##1#1
+ }
+ \else
+ \def\k##1##2{
+ \set_kern##1#1{
+ \scale\b_count{\expandafter\gobble_one\string##2}
+ }
+ }
+ \fi
+ #2
+}
+\def\kerning#1#2{0\relax
+ \def\k##1{\csname~set-\string##1\endcsname\gobble_one}
+ \bgroup
+ \x_cs\def{set-\string\l-#2}##1##2{
+ \global\result=\expandafter\gobble_one\string##2\egroup
+ }
+ \csname~r-#1\endcsname
+ \csname~set-\string\l-#2\endcsname\gobble_one{00}
+}
+\def\width{\glyph_parameter\first_of_six}
+\def\height{\glyph_parameter\second_of_six}
+\def\depth{\glyph_parameter\third_of_six}
+\def\italic{\glyph_parameter\fourth_of_six}
+\def\mapcommands{\glyph_parameter\fifth_of_six}
+\def\mapfonts{\glyph_parameter\sixth_of_six}
+\def\glyph_parameter#1#2{
+ \expandafter\expandafter\expandafter
+ #1\csname~g-#2\endcsname
+}
+\def\first_of_six#1#2#3#4#5#6{#1}
+\def\second_of_six#1#2#3#4#5#6{#2}
+\def\third_of_six#1#2#3#4#5#6{#3}
+\def\fourth_of_six#1#2#3#4#5#6{#4}
+\def\fifth_of_six#1#2#3#4#5#6{#5}
+\def\sixth_of_six#1#2#3#4#5#6{#6}
+\let\saved_scale\relax
+\let\saved_mapfont\relax
+\let\saved_raw\relax
+\let\saved_rule\relax
+\let\saved_special\relax
+\let\saved_warning\relax
+\let\saved_movert\relax
+\let\saved_moveup\relax
+\let\saved_push\relax
+\let\saved_pop\relax
+\newcount\glyph_width
+\newcount\glyph_height
+\newcount\glyph_depth
+\newcount\glyph_italic
+\newtoks\glyph_map_commands
+\newtoks\glyph_map_fonts
+\newcount\glyph_voffset
+\def\setglyph#1{
+ \ifisglyph{#1}\then
+ \expandafter\gobble_glyph
+ \else
+ \x_cs\def{g-#1}{{\the\glyph_width}{\the
+ \glyph_height}{\the\glyph_depth}{\the\glyph_italic}{\the
+ \glyph_map_commands}{\the\glyph_map_fonts}}
+ \resetglyph{#1}
+ \fi
+}
+\long\def\gobble_glyph#1\endsetglyph{}
+\def\resetglyph#1{
+ \def\glyphname{#1}
+ \glyph_width=0
+ \global\glyph_height=0
+ \global\glyph_depth=0
+ \global\glyph_italic=0
+ \glyph_voffset=0
+ \global\glyph_map_commands={}
+ \global\glyph_map_fonts={}
+}
+\def\endsetglyph{
+ \x_cs\edef{g-\glyphname}
+ {{\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}}
+}
+\let\endresetglyph=\endsetglyph
+\def\setrawglyph#1#2#3#4#5#6#7#8{
+ \x_cs\ifx{g-#1}\relax
+ \x_cs\ifx{i-rawscale}\relax
+ \x_cs\def{g-#1}{
+ {#5}
+ {#6}
+ {#7}
+ {#8}
+ {\saved_raw{#2}{#4}{#1}}
+ {\saved_mapfont{#2}{#3}}
+ }
+ \else
+ \eval_expr_to\e_count{\int{rawscale}}
+ \eval_expr_to\a_count{\scale{#5}\e_count}
+ \eval_expr_to\b_count{\scale{#6}\e_count}
+ \eval_expr_to\c_count{\scale{#7}\e_count}
+ \eval_expr_to\d_count{\scale{#8}\e_count}
+ \x_cs\edef{g-#1}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\saved_scale{\the\e_count}
+ {\saved_raw{#2}{#4}{#1}}}
+ {\saved_scale{\the\e_count}
+ {\saved_mapfont{#2}{#3}}}
+ }
+ \fi
+ \fi
+}
+\def\setnotglyph#1#2#3#4#5#6#7#8{
+ \x_cs\ifx{g-#1-not}\relax
+ \x_cs\ifx{i-rawscale}\relax
+ \x_cs\def{g-#1-not}{
+ {#5}
+ {#6}
+ {#7}
+ {#8}
+ {}
+ {}
+ }
+ \else
+ \eval_expr_to\e_count{\int{rawscale}}
+ \eval_expr_to\a_count{\scale{#5}\e_count}
+ \eval_expr_to\b_count{\scale{#6}\e_count}
+ \eval_expr_to\c_count{\scale{#7}\e_count}
+ \eval_expr_to\d_count{\scale{#8}\e_count}
+ \x_cs\edef{g-#1-not}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {}
+ {}
+ }
+ \fi
+ \fi
+}
+\def\unsetglyph#1{\x_cs\let{g-#1}\relax}
+\def\glyph#1#2{
+ \eval_expr_to\b_count{#2}
+ \eval_expr_to\glyph_width{\add\glyph_width{\scale\b_count{\width{#1}}}}
+ \g_eval_expr_to\glyph_height{\max\glyph_height
+ {\add{\scale\b_count{\height{#1}}}\glyph_voffset}}
+ \g_eval_expr_to\glyph_depth{\max\glyph_depth
+ {\sub{\scale\b_count{\depth{#1}}}\glyph_voffset}}
+ \g_eval_expr_to\glyph_italic{\scale\b_count{\italic{#1}}}
+ \edef\temp_command{\the\glyph_map_commands
+ \saved_scale{\the\b_count}{\mapcommands{#1}}}
+ \global\glyph_map_commands\expandafter{\temp_command}
+ \edef\temp_command{\the\glyph_map_fonts
+ \saved_scale{\the\b_count}{\mapfonts{#1}}}
+ \global\glyph_map_fonts\expandafter{\temp_command}
+}
+\def\glyphrule#1#2{
+ \eval_expr_to\b_count{#1} \eval_expr_to\c_count{#2}
+ \advance\glyph_width by \b_count
+ \g_eval_expr_to\glyph_depth{\max\glyph_depth{-\glyph_voffset}}
+ \g_eval_expr_to\glyph_height{\max\glyph_height{\add\glyph_voffset\c_count}}
+ \global\glyph_italic=0
+ \edef\temp_command{\the\glyph_map_commands
+ \saved_rule{\the\b_count}{\the\c_count}}
+ \global\glyph_map_commands\expandafter{\temp_command}
+}
+\def\glyphspecial#1{
+ \edef\temp_command{\the\glyph_map_commands\saved_special{#1}}
+ \global\glyph_map_commands\expandafter{\temp_command}}
+\def\glyphwarning#1{
+ \edef\temp_command{\the\glyph_map_commands\saved_warning{#1}}
+ \global\glyph_map_commands\expandafter{\temp_command}}
+\def\movert#1{
+ \eval_expr{#1}
+ \ifnum\result=0\else
+ \advance\glyph_width by \result
+ \edef\temp_command{\the\glyph_map_commands\saved_movert{\the\result}}
+ \global\glyph_map_commands\expandafter{\temp_command}
+ \fi}
+\def\moveup#1{
+ \eval_expr{#1}
+ \ifnum\result=0\else
+ \advance\glyph_voffset by \result
+ \edef\temp_command{\the\glyph_map_commands\saved_moveup{\the\result}}
+ \global\glyph_map_commands\expandafter{\temp_command}
+ \fi}
+\def\push{\bgroup
+ \edef\temp_command{\the\glyph_map_commands\saved_push}
+ \global\glyph_map_commands\expandafter{\temp_command}}
+\def\pop{\egroup
+ \edef\temp_command{\the\glyph_map_commands\saved_pop}
+ \global\glyph_map_commands\expandafter{\temp_command}}
+\def\resetwidth#1{\movert{\sub{#1}\glyph_width}}
+\def\resetheight{\g_eval_expr_to\glyph_height}
+\def\resetdepth{\g_eval_expr_to\glyph_depth}
+\def\resetitalic{\g_eval_expr_to\glyph_italic}
+\def\glyphpcc#1#2#3{
+ \push
+ \movert{#2}
+ \moveup{#3}
+ \glyph{#1}{\one_thousand}
+ \pop
+}
+\def\samesize#1{
+ \expandafter\expandafter\expandafter
+ \same_size\csname g-#1\endcsname
+}
+\def\same_size#1#2#3#4#5#6{
+ \movert{\sub{#1}\glyph_width}
+ \global\glyph_height=#2
+ \global\glyph_depth=#3
+ \global\glyph_italic=#4
+}
+\def\ifisglyph#1\then{
+ \x_cs\ifx{g-#1}\relax
+ \expandafter\if_false
+ \else
+ \expandafter\if_true
+ \fi
+}
+\def\etxtovpl#1#2{{
+ \def\vpl_extension{vpl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{virtual~font}
+ \def\vpl_Font{Virtual~font}
+ \def\vpl_caller{\string\etxtovpl}
+ \def\vpl_to_vf##1{vpltovf~##1.vpl~##1.vf~##1.tfm}
+ \etx_to_font{#1}{#2}
+}}
+\def\etxtopl#1#2{{
+ \def\vpl_extension{pl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{font}
+ \def\vpl_Font{Font}
+ \def\vpl_caller{\string\etxtopl}
+ \def\vpl_to_vf##1{pltotfm~##1.pl~##1.tfm}
+ \let\make_mapfonts\gobble_one
+ \let\do_character_map\relax
+ \etx_to_font{#1}{#2}
+}}
+\def\etx_to_font#1#2{
+ \def\do_slot{\resetint\slot_name\slot_number}
+ \inputetx{#1}
+ \open_out{#2.\vpl_extension}
+ \out_line{(\vpl_title\space\vpl_font\space
+ #2~created~by~fontinst~v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.\vpl_extension)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\vpl_caller{#1}{#2})}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~a~\vpl_font~with)}
+ \out_line{(COMMENT~\vpl_to_vf{#2})}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \make_font{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.\vpl_extension)}
+ \close_out{\vpl_Font}
+}
+\newdimen\scaled_design_size
+\def\afm_convert#1=#2;{
+ \eval_expr{#2}
+ #1=\scaled_design_size
+ \divide#1 by 8
+ \multiply #1 by \result
+ \divide #1 by \one_thousand
+ \multiply#1 by 8
+}
+\def\vpl_real#1{R~\expandafter\lose_measure\the#1}
+\def\vpl_int#1{D~\the#1}
+\def\make_font#1{
+ \make_header{#1}
+ \make_mapfonts{#1}
+ \make_fontdimens{#1}
+ \make_ligtable{#1}
+ \make_characters{#1}
+ \make_tidy{#1}
+}
+\newcount\boundary_char
+\newdimen\side_bearings
+\newdimen\curr_bearings
+\def\make_header#1{
+ \global\font_count=0
+ \setdim{designsize}{10pt}
+ \scaled_design_size=\dim{designsize}
+ \out_line{(DESIGNSIZE~\vpl_real\scaled_design_size)}
+ \out_line{(DESIGNUNITS~\vpl_real\scaled_design_size)}
+ \setstr{codingscheme}{UNKNOWN}
+ \out_line{(CODINGSCHEME~\str{codingscheme})}
+ \ifisint{boundarychar}\then
+ \boundary_char=\int{boundarychar}
+ \out_line{(BOUNDARYCHAR~\vpl_int\boundary_char)}
+ \else
+ \boundary_char=-1
+ \fi
+ \setint{letterspacing}{0}
+ \afm_convert\side_bearings=\div{\int{letterspacing}}{2};
+ \ifdim\side_bearings=0pt
+ \let\do_character_sidebearings=\relax
+ \fi
+ \out_line{}
+}
+\def\make_mapfonts#1{
+ \let\saved_scale\vpl_scale
+ \let\saved_mapfont\vpl_mapfont
+ \let\saved_raw\vpl_raw
+ \let\saved_rule\vpl_rule
+ \let\saved_special\vpl_special
+ \let\saved_warning\vpl_warning
+ \let\saved_movert\vpl_movert
+ \let\saved_moveup\vpl_moveup
+ \let\saved_push\vpl_push
+ \let\saved_pop\vpl_pop
+ \let\do_slot=\do_mapfont
+ \inputetx{#1}
+ \out_line{}
+}
+\def\make_fontdimens#1{
+ \out_line{(FONTDIMEN}
+ \ifisint{fontdimen(1)}\then
+ \a_dimen=\int{fontdimen(1)}pt
+ \divide\a_dimen by \one_thousand
+ \out_lline{(PARAMETER~D~1~\vpl_real\a_dimen)}
+ \fi
+ \a_count=2
+ \loop\ifnum\a_count<256
+ {\ifisint{fontdimen(\the\a_count)}\then
+ \afm_convert\a_dimen=\int{fontdimen(\the\a_count)};
+ \out_lline{(PARAMETER~\vpl_int\a_count\space\vpl_real\a_dimen)}
+ \fi}
+ \advance\a_count by 1 \repeat
+ \out_lline{)}
+ \out_line{}
+}
+\def\make_ligtable#1{
+ \bgroup
+ \out_line{(LIGTABLE}
+ \let\do_slot=\relax
+ \let\end_do_slot=\vpl_kerning
+ \let\ligature=\vpl_ligature
+ \let\k=\vpl_kern
+ \inputetx{#1}
+ \out_lline{)}
+ \egroup
+ \out_line{}
+}
+\def\make_characters#1{
+ \bgroup
+ \let\do_slot=\do_character
+ \let\end_do_slot=\end_do_character
+ \let\nextlarger=\vpl_nextlarger
+ \let\varchar=\vpl_varchar
+ \let\endvarchar=\end_vpl_varchar
+ \let\vartop=\vpl_vartop
+ \let\varmid=\vpl_varmid
+ \let\varbot=\vpl_varbot
+ \let\varrep=\vpl_varrep
+ \inputetx{#1}
+ \egroup
+}
+\def\make_tidy#1{
+ \a_count=0\loop\ifnum\a_count<\font_count
+ \edef\temp_command{\csname~f-\the\a_count\endcsname}
+ \global\x_cs\let\temp_command\relax
+ \advance\a_count by 1
+ \repeat
+ \global\font_count=0
+}
+\def\vpl_ligature#1#2#3{
+ \ifisint{#2}\then
+ \ifisint{#3}\then
+ \ifisglyph{#3}\then
+ \a_count=\int{#2}
+ \b_count=\int{#3}
+ \vpl_liglabel
+ \out_lline{(#1~\vpl_int\a_count\space \vpl_int\b_count)~
+ (COMMENT~#2~#3)}
+ \else
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#3'.}
+ \fi
+ \else
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#3'.}
+ \fi
+ \else
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#2'.}
+ \fi
+}
+\def\vpl_kerning{\csname~r-\slot_name\endcsname\vpl_ligstop}
+\def\vpl_kern#1#2{
+ \edef\temp_command{\expandafter\gobble_three\string#1}
+ \ifisint\temp_command\then
+ \vpl_liglabel
+ \a_count=\int\temp_command
+ \afm_convert\a_dimen=\expandafter\gobble_one\string#2;
+ \out_lline{
+ (KRN~\vpl_int\a_count\space \vpl_real\a_dimen)~
+ (COMMENT~\temp_command)
+ }
+ \fi
+}
+\def\out_liglabel{
+ \out_lline{(LABEL~\vpl_int\slot_number)~(COMMENT~\slot_name)}
+ \ifnum\slot_number=\boundary_char
+ \out_lline{(LABEL~BOUNDARYCHAR)}
+ \fi
+ \let\vpl_liglabel=\relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\let\vpl_liglabel=\out_liglabel
+\def\out_ligstop{\out_lline{(STOP)}
+ \let\vpl_liglabel=\out_liglabel
+ \let\vpl_ligstop=\relax}
+\let\vpl_ligstop=\relax
+\def\do_mapfont{
+ \ifisglyph\slot_name\then
+ \mapfonts\slot_name
+ \fi
+}
+\def\vpl_scale#1#2{{
+ \divide \scaled_design_size by 8
+ \multiply \scaled_design_size by #1
+ \divide \scaled_design_size by \one_thousand
+ \multiply \scaled_design_size by 8
+ #2
+}}
+\def\vpl_mapfont#1#2{
+ \a_dimen=#2
+ \x_cs\ifx{#1-\the\scaled_design_size}\relax
+ \x_cs\xdef{#1-\the\scaled_design_size}{\the\font_count}
+ \x_cs\xdef{f-\the\font_count}{#1-\the\scaled_design_size}
+ \out_line{(MAPFONT~\vpl_int\font_count\space
+ (FONTNAME~#1)~
+ (FONTDSIZE~\vpl_real\a_dimen)~
+ (FONTAT~\vpl_real\scaled_design_size))}
+ \global\advance\font_count by 1
+ \fi
+}
+\newcount\font_count
+\newcount\next_mapfont
+\newcount\prev_mapfont
+\def\do_character{
+ \x_cs\ifx{g-\slot_name}\relax
+ \expandafter\gobble_setslot
+ \else
+ \ifx\slot_name\notdef_name\else
+ \out_line{(CHARACTER~\vpl_int\slot_number\space
+ (COMMENT~\slot_name)}
+ \afm_convert\a_dimen=\width\slot_name;
+ \do_character_sidebearings
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\height\slot_name;
+ \out_lline{(CHARHT~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\depth\slot_name;
+ \out_lline{(CHARDP~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\italic\slot_name;
+ \ifnum\a_dimen>0
+ \out_lline{(CHARIC~\vpl_real\a_dimen)}
+ \fi
+ \do_character_map
+ \fi
+ \fi
+}
+\def\do_character_sidebearings{
+ \ifisint{\slot_name-spacing}\then
+ \afm_convert\curr_bearings=\int{\slot_name-spacing};
+ \divide\curr_bearings by 2
+ \else
+ \curr_bearings=\side_bearings
+ \fi
+ \afm_convert\a_dimen=\width\slot_name;
+ \advance\a_dimen by 2\curr_bearings
+}
+\def\do_character_map{
+ \global\prev_mapfont=0 \out_lline{(MAP}
+ \ifdim \curr_bearings=0pt
+ \mapcommands\slot_name
+ \else
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \mapcommands\slot_name
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \fi
+ \out_llline{)}
+}
+\def\do_character_no_letterspacing{
+ \x_cs\ifx{g-\slot_name}\relax
+ \expandafter\gobble_setslot
+ \else
+ \ifx\slot_name\notdef_name\else
+ \out_line{(CHARACTER~\vpl_int\slot_number\space
+ (COMMENT~\slot_name)}
+ \afm_convert\a_dimen=\width\slot_name;
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\height\slot_name;
+ \out_lline{(CHARHT~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\depth\slot_name;
+ \out_lline{(CHARDP~\vpl_real\a_dimen)}
+ \afm_convert\a_dimen=\italic\slot_name;
+ \ifnum\a_dimen>0 \out_lline{(CHARIC~\vpl_real\a_dimen)} \fi
+ \global\prev_mapfont=0 \out_lline{(MAP}
+ \mapcommands\slot_name
+ \out_llline{)}
+ \fi
+ \fi
+}
+\def\gobble_setslot#1\endsetslot{\endsetslot}
+\def\end_do_character{
+ \ifisglyph\slot_name\then
+ \out_lline{)}
+ \fi
+}
+\def\notdef_name{.notdef}
+\def\vpl_nextlarger#1{
+ \ifisint{#1}\then
+ \out_lline{(NEXTLARGER~D~\the\int{#1})~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\nextlarger\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varchar{\out_lline{(VARCHAR}}
+\def\vpl_vartop#1{
+ \ifisint{#1}\then
+ \out_llline{(TOP~D~\the\int{#1})~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\vartop\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varmid#1{
+ \ifisint{#1}\then
+ \out_llline{(MID~D~\the\int{#1})~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varmid\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varbot#1{
+ \ifisint{#1}\then
+ \out_llline{(BOT~D~\the\int{#1})~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varbot\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varrep#1{
+ \ifisint{#1}\then
+ \out_llline{(REP~D~\the\int{#1})~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varrep\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\end_vpl_varchar{\out_llline{)}}
+\def\vpl_raw#1#2#3{
+ \global\next_mapfont=\csname~#1-\the\scaled_design_size\endcsname\relax
+ \ifnum\next_mapfont=\prev_mapfont\else
+ \out_llline{(SELECTFONT~\vpl_int\next_mapfont)~
+ (COMMENT~#1~at~\the\scaled_design_size)}
+ \fi
+ \out_llline{(SETCHAR~D~#2)~(COMMENT~#3)}
+ \global\prev_mapfont=\next_mapfont
+}
+\def\vpl_rule#1#2{
+ \afm_convert\a_dimen=#1;
+ \afm_convert\b_dimen=#2;
+ \out_llline{(SETRULE~\vpl_real\b_dimen\space~\vpl_real\a_dimen)}
+}
+\def\vpl_special#1{
+ \out_llline{(SPECIAL~#1)}}
+\def\vpl_warning#1{
+ \out_llline{(SPECIAL~Warning:~#1)}
+ \immediate\write16{Warning:~#1.}
+}
+\def\vpl_movert#1{
+ \afm_convert\a_dimen=#1;
+ \out_llline{(MOVERIGHT~\vpl_real\a_dimen)}
+}
+\def\vpl_moveup#1{
+ \afm_convert\a_dimen=#1;
+ \out_llline{(MOVEUP~\vpl_real\a_dimen)}
+}
+\def\vpl_push{\out_llline{(PUSH)}}
+\def\vpl_pop{\out_llline{(POP)}}
+\def\mtxtopl#1#2{{
+ \open_out{#2.pl}
+ \out_line{(COMMENT~raw~font~#2~created~by~fontinst~v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.pl)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\string\mtxtopl{#1}{#2})}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~a~TeX~font~with)}
+ \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \out_line{(DESIGNSIZE~R~10.0)}
+ \out_line{(DESIGNUNITS~R~10.0)}
+ \out_line{}
+ \scaled_design_size=10pt
+ \let\setglyph=\iffalse
+ \let\endsetglyph=\fi
+ \let\setkern=\gobble_three
+ \let\setrawglyph=\pl_raw_glyph
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.pl)}
+ \close_out{Raw~font}
+}}
+\def\pl_raw_glyph#1#2#3#4#5#6#7#8{
+ \a_count=#4
+ \afm_convert\a_dimen=#5;
+ \afm_convert\b_dimen=#6;
+ \afm_convert\c_dimen=#7;
+ \afm_convert\d_dimen=#8;
+ \out_line{(CHARACTER~\vpl_int\a_count\space(COMMENT~#1)}
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \out_lline{(CHARHT~\vpl_real\b_dimen)}
+ \out_lline{(CHARDP~\vpl_real\c_dimen)}
+ \out_lline{(CHARIC~\vpl_real\d_dimen)}
+ \out_lline{)}
+}
+\newtoks\family_toks
+\def\installfonts{
+ \bgroup
+ \global\family_toks={}
+ \gdef\prev_file_list{}
+}
+\def\installfamily#1#2#3{
+ \global\family_toks=\expandafter{\the\family_toks\fd_family{#1}{#2}{#3}}
+ \global\x_cs\let{#1-#2}\empty_command
+}
+\def\installfont#1#2#3#4#5#6#7#8{
+ \install_font{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{\etxtovpl}
+}
+\def\installrawfont#1#2#3#4#5#6#7#8{
+ \install_font{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{\etxtopl}
+}
+\def\install_font#1#2#3#4#5#6#7#8#9{
+ \xdef\curr_file_list{#2}
+ \ifx\prev_file_list\curr_file_list\else
+ \egroup\bgroup
+ \expandafter\input_mtx_files\curr_file_list,
+ \relax,\end_input_mtx_files
+ \global\let\prev_file_list=\curr_file_list
+ \fi
+ #9{#3}{#1}
+ \x_cs\ifx{#4-#5-#6-#7}\relax
+ \let\do_shape=\relax
+ \x_cs\xdef{#4-#5}{
+ \x_cs\ifx{#4-#5}\relax\else
+ \csname#4-#5\endcsname
+ \fi
+ \do_shape{#4}{#5}{#6}{#7}
+ }
+ \fi
+ \let\do_size=\relax
+ \x_cs\xdef{#4-#5-#6-#7}{
+ \x_cs\ifx{#4-#5-#6-#7}\relax\else
+ \csname#4-#5-#6-#7\endcsname
+ \fi
+ \do_size{#8}{#1}
+ }
+}
+\def\endinstallfonts{
+ \let\do_shape=\fd_shape
+ \let\do_size=\fd_size
+ \the\family_toks
+ \global\family_toks{}
+ \egroup
+}
+\def\input_mtx_files#1,#2\end_input_mtx_files{
+ \if\relax#1
+ \expandafter\gobble_one
+ \else
+ \expandafter\identity_one
+ \fi{
+ \input_mtx_file{#1}
+ \input_mtx_files#2\end_input_mtx_files
+ }
+}
+\def\input_mtx_file#1{
+ \if\relax#1\relax\else
+ \get_file_name #1~scaled~1000~;
+ \if_file_exists{\file_name.mtx}\then
+ \inputmtx\file_name
+ \else
+ % changed the order (SPQR, 15/01/97) because of cmr*.afm
+ % files found in TEXMF/fonts/afm hierarchy
+ \if_file_exists{\file_name.pl}\then
+ \pltomtx\file_name\file_name
+ \else
+ \if_file_exists{\file_name.afm}\then
+ \afmtomtx\file_name\file_name
+ \mtxtopl\file_name\file_name
+ \fi
+ \fi
+ \inputmtx\file_name
+ \fi
+ \fi
+}
+\def\get_file_name #1~scaled~#2~#3;{
+ \edef\file_name{#1}
+ \ifnum#2=\one_thousand
+ \unsetint{rawscale}
+ \else
+ \setint{rawscale}{#2}
+ \fi
+}
+\def\fd_family#1#2#3{
+ \a_toks{#3}
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1#2.fd}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~Filename:~\lowercase_file}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using~fontinst~v\fontinstversion}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~DIRECTORY}
+ \out_line{}
+ \out_line{\string\ProvidesFile{\lowercase_file}}
+ \out_lline{[
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day\space
+ Fontinst~v\fontinstversion\space
+ font~definitions~for~#1/#2.
+ ]}
+ \out_line{}
+ \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}}
+ {
+ \csname #1-#2\endcsname
+ \out_line{}
+ \let\do_shape=\substitute_shape
+ \csname #1-#2\endcsname
+ \let\do_shape=\remove_shape
+ \csname #1-#2\endcsname
+ }
+ \x_cs\g_let{#1-#2}\relax
+ \out_line{}
+ \out_line{\string\endinput}
+ \close_out{Font~definitions}
+}
+\def\fd_shape#1#2#3#4{
+ \out_line{}
+ \out_line{\string\DeclareFontShape{#1}{#2}{#3}{#4}\left_brace_char}
+ \csname #1-#2-#3-#4\endcsname
+ \x_cs\g_let{#1-#2-#3-#4}\empty_command
+ \out_line{\right_brace_char{}}
+}
+\def\fd_size#1#2{
+ \x_cs\ifx{siz-#1}\relax
+ \out_lline{#1~#2}
+ \else
+ \out_lline{\csname siz-#1\endcsname\space #2}
+ \fi
+}
+\def\remove_shape#1#2#3#4{
+ \x_cs\g_let{#1-#2-#3-#4}\relax
+}
+\def\substitute_shape#1#2#3#4{
+ \edef\orig_shape{#4}
+ \substitute_series{#1}{#2}{#3}{\orig_shape}
+ \x_cs\ifx{sub-\orig_shape}\relax\else
+ \edef\subst_shape{\csname sub-\orig_shape\endcsname}
+ \x_cs\ifx{#1-#2-#3-\subst_shape}\relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{#3}{\subst_shape}{
+ <->\csname typ-\orig_shape\endcsname\space *~#2/#3/\orig_shape
+ }{}
+ }
+ \x_cs\let{#1-#2-#3-\subst_shape}\empty_command
+ \substitute_shape{#1}{#2}{#3}{\subst_shape}
+ \fi
+ \fi
+}
+\def\substitute_series#1#2#3#4{
+ \edef\orig_series{#3}
+ \x_cs\ifx{sub-\orig_series}\relax\else
+ \edef\subst_series{\csname sub-\orig_series\endcsname}
+ \x_cs\ifx{#1-#2-\subst_series-#4}\relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{\subst_series}{#4}{
+ <->\csname typ-\orig_series\endcsname\space *~#2/\orig_series/#4
+ }{}
+ }
+ \x_cs\let{#1-#2-\subst_series-#4}\empty_command
+ \substitute_series{#1}{#2}{\subst_series}{#4}
+ \fi
+ \fi
+}
+\def\substitutesilent#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{ssub}
+}
+\def\substitutenoisy#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{sub}
+}
+\substitutesilent{bx}{b}
+\substitutesilent{b}{bx}
+\substitutesilent{b}{sb}
+\substitutesilent{b}{db}
+\substitutesilent{m}{mb}
+\substitutesilent{m}{l}
+\substitutenoisy{ui}{it}
+\substitutesilent{sl}{it}
+\substitutesilent{it}{sl}
+\def\declareencoding#1#2{\x_cs\edef{enc-#1}{#2}}
+\declareencoding{TEX~TEXT}{OT1}
+\declareencoding{TEX~TEXT~WITHOUT~F-LIGATURES}{OT1}
+\declareencoding{TEX~TYPEWRITER~TEXT}{OT1TT}
+\declareencoding{TEX~MATH~ITALIC}{OML}
+\declareencoding{TEX~MATH~SYMBOLS}{OMS}
+\declareencoding{TEX~MATH~EXTENSION}{OMX}
+\declareencoding{LATEX~SYMBOLS}{lasy}
+\declareencoding{TEX~TEXT~SUBSET}{eufrak}
+\declareencoding{TEX~MATH~ITALIC~SUBSET}{eurm}
+\declareencoding{TEX~MATH~SYMBOLS~SUBSET}{euscr}
+\declareencoding{EULER~SUBSTITUTIONS~ONLY}{euex}
+\declareencoding{EXTENDED~TEX~FONT~ENCODING~-~LATIN}{T1}
+\declareencoding{TEX~TEXT~COMPANION~SYMBOLS~1---TS1}{TS1}
+\declareencoding{TEXBASE1ENCODING}{8r}
+\declareencoding{TEX~TYPEWRITER~AND~WINDOWS~ANSI}{8y}
+\def\declaresize#1#2{\x_cs\edef{siz-#1}{#2}}
+\declaresize{}{<->}
+\declaresize{5}{<5>}
+\declaresize{6}{<6>}
+\declaresize{7}{<7>}
+\declaresize{8}{<8>}
+\declaresize{9}{<9>}
+\declaresize{10}{<10>}
+\declaresize{11}{<10.95>}
+\declaresize{12}{<12>}
+\declaresize{14}{<14.4>}
+\declaresize{17}{<17.28>}
+\declaresize{20}{<20.74>}
+\declaresize{25}{<24.88>}
+\def\transformfont#1#2{{
+ \unsetstr{afm-name}
+ \unsetstr{etx-name}
+ \resetint{x-scale}{\one_thousand}
+ \resetint{y-scale}{\one_thousand}
+ \resetint{slant-scale}{0}
+ #2
+ \mtxtomtx{\str{afm-name}}{#1}
+ \mtxtopl{#1}{#1}
+}}
+\def\fromafm#1{
+ \setstr{afm-name}{#1}
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+}
+\def\frompl#1{
+ \setstr{afm-name}{#1}
+ \pltomtx{#1}{#1}
+}
+\def\frommtx#1{
+ \setstr{afm-name}{#1}
+}
+\def\scalefont#1#2{
+ \resetint{x-scale}{#1}
+ \resetint{y-scale}{\int{x-scale}}
+ #2
+}
+\def\xscalefont#1#2{
+ \resetint{x-scale}{#1}
+ #2
+}
+\def\yscalefont#1#2{
+ \resetint{y-scale}{#1}
+ #2
+}
+\def\slantfont#1#2{
+ \resetint{slant-scale}{#1}
+ #2
+}
+\def\reencodefont#1#2{
+ \resetstr{etx-name}{#1}
+ #2
+}
+\def\mtxtomtx#1#2{{
+ \ifisstr{etx-name}\then
+ \def\do_slot{\resetint\slot_name\slot_number}
+ \inputetx{\str{etx-name}}
+ \fi
+ \open_out{\temp_prefix#2.mtx}
+ \def\raw_font_name{#2}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\mtxtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \let\setint=\mtxtomtx_setint
+ \let\setrawglyph=\mtxtomtx_setrawglyph
+ \let\setnotglyph=\mtxtomtx_setrawglyph
+ \let\setkern=\mtxtomtx_setkern
+ \let\setglyph=\mtxtomtx_setglyph
+ \let\glyphpcc=\mtxtomtx_glyphpcc
+ \let\samesize=\mtxtomtx_samesize
+ \let\endsetglyph=\mtxtomtx_endsetglyph
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{\string\endmetrics}
+ \close_out{Transformed~metrics}
+}}
+\def\mtxtomtx_setint#1#2{
+ \def\temp_command{#1}
+ \ifx\temp_command\italicslant_name
+ \eval_expr_to\a_count{
+ \add{\int{slant-scale}}
+ {\div{\mul{\int{x-scale}}{#2}}{\int{y-scale}}}
+ }
+ \else
+ \eval_expr_to\a_count{\scale{#2}{\int{y-scale}}}
+ \fi
+ \out_line{\string\setint{#1}{\the\a_count}}
+}
+\def\italicslant_name{italicslant}
+\def\mtxtomtx_setrawglyph#1#2#3#4#5#6#7#8{
+ \eval_expr_to\a_count{\scale{#5}{\int{x-scale}}}
+ \eval_expr_to\b_count{\scale{#6}{\int{y-scale}}}
+ \eval_expr_to\c_count{\scale{#7}{\int{y-scale}}}
+ \eval_expr_to\d_count{
+ \add{\scale{#8}{\int{x-scale}}}
+ {\scale\b_count{\int{slant-scale}}}
+ }
+ \ifisstr{etx-name}\then
+ \ifisint{#1}\then
+ \e_count=\int{#1}
+ \else
+ \e_count=-1
+ \fi
+ \else
+ \e_count=#4
+ \fi
+ \out_line{
+ \ifnum\e_count>-1
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {#1}{\raw_font_name}{#3}{\the\e_count}
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+\def\mtxtomtx_setkern#1#2#3{
+ \eval_expr{\scale{\int{x-scale}}{#3}}
+ \out_line{\string\setkern{#1}{#2}{\the\result}}
+}
+\def\mtxtomtx_setglyph#1{\out_line{\string\setglyph{#1}}}
+\def\mtxtomtx_samesize#1{\out_lline{\string\samesize{#1}}}
+\def\mtxtomtx_endsetglyph{\out_line{\string\endsetglyph}}
+\def\mtxtomtx_glyphpcc#1#2#3{
+ \eval_expr_to\b_count{\scale{\int{y-scale}}{#3}}
+ \eval_expr_to\a_count{
+ \add{\scale{\int{x-scale}}{#2}}
+ {\scale\b_count{\int{slant-scale}}}
+ }
+ \out_lline{\string\glyphpcc{#1}{\the\a_count}{\the\b_count}}
+}
+\def\latinfamily#1#2{{
+ \edef\temp_command{#1}
+ \expandafter\parse_family\temp_command
+ \empty_command\empty_command\end_parse_family
+ \installfonts
+ \if_file_exists{\raw_encoding.mtx}\then
+ \installfamily{\raw_encoding}{\latex_family}{#2}
+ \fi
+ \installfamily{OT1}{\latex_family}{#2}
+ \installfamily{T1}{\latex_family}{#2}
+ \installfamily{TS1}{\latex_family}{#2}
+ \latin_weights
+ \endinstallfonts
+}}
+\def\parse_family #1#2#3#4#5\end_parse_family{
+ \gdef\font_family{#1#2#3}
+ \gdef\font_variant{#4#5}
+ \gdef\raw_variant{#4#5}
+ \gdef\latex_family{#1#2#3#4#5}
+ \_expert_false
+ \_oldstyle_false
+ \ifx#4x
+ \_expert_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1}
+ \else\ifx#4j
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else\ifx#49
+ \gdef\latex_family{#1#2#3j#5}
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else
+ \_expert_false
+ \_oldstyle_false
+ %\setcommand\digit##1{##1}
+ \fi\fi\fi
+ \if_oldstyle_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(oldstyle)}
+ \else\if_expert_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(expert)}
+ \else
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#4#5>}
+ \fi\fi
+}
+\newif\if_expert_
+\newif\if_oldstyle_
+\def\latin_weight#1#2{
+ \gdef\font_weight{#1}%
+ \gdef\latex_weight{#2}%
+ \latin_widths
+}
+\def\latin_width#1#2{
+ \gdef\font_width{#1}
+ \gdef\latex_width{#2}
+ \latin_shapes
+}
+\def\latin_shape#1#2#3#4#5{
+ \gdef\font_shape{#1}
+ \gdef\raw_shape{#2}
+ \gdef\encoding_shape{#3}
+ \if_oldstyle_
+ \gdef\encoding_shape{#3\oldstyle_shape}
+ \fi
+ \gdef\latex_shape{#4}
+ \gdef\encoding_switches{#5}
+ \immediate\write16{
+ INFO>~to~make~LaTeX~font~shape~<\latex_family,
+ \latex_weight,\latex_shape,\latex_width>~seek~
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx}
+ \csname fake_width_\font_width\endcsname
+ \csname fake_shape_\raw_shape\endcsname
+ \if_file_exists{
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx
+ }\then
+ \latin_encodings
+ \fi
+}
+\def\fake_shape_{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_raw_encoding
+ \fi
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.afm
+ }\then
+ \fake_shape_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width>
+ }
+ \transformfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \reencodefont{\raw_encoding}{
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+}
+\def\fake_shape_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width
+ }
+ \fi
+}
+\def\fake_shape_c{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ % If real smallcaps font doesn't exist, fake it from the roman.
+ \gdef\raw_shape{}
+ \if_oldstyle_
+ \gdef\encoding_shape{cj}
+ \else
+ \gdef\encoding_shape{c}
+ \fi
+ \fake_shape_
+ \fi
+}
+\def\fake_shape_o{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ \fake_shape_o_raw_encoding
+ \if_expert_
+ \fake_shape_o_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_o_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \raw_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_shape_o_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \expert_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\let\fake_shape_i\fake_shape_ % We must do this again!
+\newif\if_fake_narrow_
+\_fake_narrow_false
+\def\fakenarrow#1{
+ \_fake_narrow_true
+ \gdef\fake_narrow_width{#1}
+}
+\def\fake_width_{}
+\def\fake_width_c{}
+\def\fake_width_n{
+ \if_fake_narrow_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then % no action required
+ \else
+ \fake_width_n_raw_encoding
+ \if_expert_
+ \fake_width_n_expert_encoding
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\def\latin_encoding#1#2#3#4#5{
+ \gdef\latex_encoding{#4}
+ \gdef\latex_mtx{#5}
+ \if_oldstyle_
+ \gdef\font_encoding{#3}
+ \else\if_expert_
+ \gdef\font_encoding{#2}
+ \else
+ \gdef\font_encoding{#1}
+ \fi\fi
+ \gdef\expert_font{}
+ \gdef\oldstyle_font{}
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \gdef\expert_font{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width,
+ }
+ \fi
+ \fi
+ \immediate\write16{
+ INFO>~run~\string\installfont\space
+ <\font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx>
+ <\latex_encoding\encoding_shape>
+ <\latex_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installfont{
+ \font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width
+ }{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx
+ }{
+ \latex_encoding\encoding_shape
+ }{
+ \latex_encoding
+ }{
+ \latex_family
+ }{
+ \latex_weight\latex_width
+ }{
+ \latex_shape
+ }{}
+}
+\def\latin_weights{
+ \latin_weight{r}{m}
+ \latin_weight{k}{m}
+ \latin_weight{b}{b}
+ \latin_weight{s}{sb}
+ \latin_weight{d}{db} % was {d}{sb}, SPQR changed
+ \latin_weight{m}{mb} % was {m}{m}, UV changed
+ \latin_weight{c}{eb} % UV added
+ \latin_weight{h}{eb} % UV added
+ \latin_weight{x}{eb}
+ \latin_weight{u}{ub}
+ \latin_weight{l}{l}
+ %\latin_weight{j}{el}
+ %\latin_weight{a}{ul} % UV added
+}
+\def\latin_widths{
+ \latin_width{}{}
+ \latin_width{n}{c}
+ %latin_width{c}{c}
+ %latin_width{x}{x}
+}
+\def\latin_shapes{
+ \latin_shape{} {} {} {n} {\_textcomp_true }
+ \latin_shape{c}{c}{} {sc}{\_textcomp_false}
+ \latin_shape{o}{o}{} {sl}{\_textcomp_true }
+ \latin_shape{i}{i}{i}{it}{\_textcomp_true }
+}
+\def\latin_encodings{
+ \latin_encoding{7t}{9t}{9o}{OT1}{latin}
+ \latin_encoding{8t}{9e}{9d}{T1} {latin}
+ \encoding_switches
+ \if_textcomp_
+ \latin_encoding{8c}{9c}{9c}{TS1}{textcomp}
+ \fi
+}
+\newif\if_textcomp_
+
+\def\raw_encoding{8r}
+\def\adobe_encoding{8a}
+\def\expert_encoding{8x}
+
+\def\caps_shape{c}
+\def\oldstyle_shape{j}
+\def\SlantAmount{167}
+\def\needsfontinstversion#1{{
+ \a_dimen=#1pt
+ \b_dimen=\fontinstversion~pt\relax
+ \ifnum\a_dimen>\b_dimen
+ \immediate\write16{}
+ \immediate\write16{Warning:~This~file~needs~fontinst~version~#1.}
+ \immediate\write16{Warning:~You~are~using~version~\fontinstversion.}
+ \immediate\write16{Warning:~This~may~cause~errors.}
+ \immediate\write16{}
+ \fi
+}}
+\def\tempfileprefix#1{\def\temp_prefix{#1}}
+\tempfileprefix{}
+\def\NOFILES{
+ \def\transformfont##1##2{
+ \touch_file{##1.mtx}
+ \touch_file{##1.pl}
+ }
+ \def\installfonts{}
+ \def\endinstallfonts{}
+ \def\installfont##1##2##3##4##5##6##7##8{%
+ \touch_file{##1.vpl}
+ }
+ \def\installrawfont##1##2##3##4##5##6##7##8{%
+ \touch_file{##1.pl}
+ }
+ \def\installfamily##1##2##3{
+ \touch_file{##1##2.fd}
+ }
+}
+\def\touch_file#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~TEST~FILE.}
+ \out_line{\percent_char~Created~whilst~debugging~fontinst.}
+ \close_out{Test~file}
+}
+\errorcontextlines=999
+\newlinechar=`\^^J
+\ifx\bye\undefined_command
+ \def\supereject{\par\penalty-\@MM}
+ \outer\x_cs\def{bye}{\par\vfill\supereject\@@end}
+\fi
+\catcode`\@=\atcatcode
+\catcode`\^^M=\nlcatcode
+\catcode`\ =\spacecatcode
+\catcode`\~=\tildecatcode
+\if_file_exists{fontinst.rc}\then
+ \primitiveinput fontinst.rc
+ \catcode`\_=\underscorecatcode
+\else
+ \catcode`\_=\underscorecatcode
+ \immediate\write16{No file fontinst.rc.}
+\fi
+\endinput
+%%
+%% End of file `fontinst.sty'.
diff --git a/fonts/utilities/corelfonts/fontnames.dat b/fonts/utilities/corelfonts/fontnames.dat
new file mode 100644
index 0000000000..21d665a9c6
--- /dev/null
+++ b/fonts/utilities/corelfonts/fontnames.dat
@@ -0,0 +1,818 @@
+AachenBT-Bold 1103 baab8a aachen rm
+AachenBT-Roman 1102 baar8a aachen rm
+AdLibBT-Regular 1154 ba3r8a adlib rm
+Aldine401BT-BoldA 0304 bbbb8a bembo rm
+Aldine401BT-BoldItalicA 0305 bbbbi8a bembo rm
+Aldine401BT-ItalicA 0303 bbbri8a bembo rm
+Aldine401BT-RomanA 0302 bbbr8a bembo rm
+Aldine721BT-Bold 0114 bpnb8a plantin rm
+Aldine721BT-BoldItalic 0115 bpnbi8a plantin rm
+Aldine721BT-Italic 0113 bpnri8a plantin rm
+Aldine721BT-Light 0804 bpnl8a plantin rm
+Aldine721BT-LightItalic 0805 bpnli8a plantin rm
+Aldine721BT-Roman 0112 bpnr8a plantin rm
+AllegroBT-Regular 1138 ba5r8a allegro rm
+AlternateGothicNo2BT-Regular 0542 ba4r8a altgoth2 sf
+AmazoneBT-Regular 1040 bmzr8a amazone rm
+AmeliaBT-Regular 0510 ba6r8a amelia rm
+AmerTypewriterITCbyBT-Bold 0194 batb8a atypewri tt
+AmerTypewriterITCbyBT-Medium 0193 batm8a atypewri tt
+AmericanGaramondBT-Bold 0045 bg3b8a garamon3 rm
+AmericanGaramondBT-BoldItalic 0046 bg3bi8a garamon3 rm
+AmericanGaramondBT-Italic 0044 bg3ri8a garamon3 rm
+AmericanGaramondBT-Roman 0043 bg3r8a garamon3 rm
+AmericanTextBT-Regular 0211 ba7r8a amertext rm
+AmericanaBT-Bold 0500 bamb8a amercana rm
+AmericanaBT-ExtraBold 0501 bamx8a amercana rm
+AmericanaBT-ExtraBoldCondensed 0502 bamx8ac amercana rm
+AmericanaBT-Italic 0499 bamri8a amercana rm
+AmericanaBT-Roman 0498 bamr8a amercana rm
+AmerigoBT-BoldA 0645 beob8a amerigo rm
+AmerigoBT-BoldItalicA 0772 beobi8a amerigo rm
+AmerigoBT-ItalicA 0644 beori8a amerigo rm
+AmerigoBT-MediumA 0770 beom8a amerigo rm
+AmerigoBT-MediumItalicA 0771 beomi8a amerigo rm
+AmerigoBT-RomanA 0643 beor8a amerigo rm
+ArrusBT-Black 1149 brsc8a arrus rm
+ArrusBT-BlackItalic 1150 brsci8a arrus rm
+ArrusBT-Bold 1147 brsb8a arrus rm
+ArrusBT-BoldItalic 1148 brsbi8a arrus rm
+ArrusBT-Italic 1146 brsri8a arrus rm
+ArrusBT-Roman 1145 brsr8a arrus rm
+AuroraBT-BoldCondensed 1028 ba8b8ac aurora rm
+AuroraBT-RomanCondensed 1027 ba8a8ac aurora rm
+AvantGardeITCbyBT-Book 0154 bagk8a avantgar rm
+AvantGardeITCbyBT-BookOblique 0155 bagko8a avantgar rm
+AvantGardeITCbyBT-Medium 0156 bagm8a avantgar rm
+AvantGardeITCbyBT-MediumOblique 0157 bagmo8a avantgar rm
+BakerSignetBT-Roman 1152 bbsr8a bakersig rm
+BalloonBT-Bold 0728 bbob8a balloon rm
+BalloonBT-ExtraBold 0729 bbox8a balloon rm
+BalloonBT-Light 0121 bbol8a balloon rm
+BankGothicBT-Light 0589 bkgl8a bankgoth sf
+BankGothicBT-Medium 0590 bkgm8a bankgoth sf
+BauerBodoniBT-Black 0332 bubc8a babodoni rm
+BauerBodoniBT-BlackCondensed 0335 bubc8ac babodoni rm
+BauerBodoniBT-BlackItalic 0333 bubci8a babodoni rm
+BauerBodoniBT-Bold 0330 bubb8a babodoni rm
+BauerBodoniBT-BoldCondensed 0334 bubb8ac babodoni rm
+BauerBodoniBT-BoldItalic 0331 bubbi8a babodoni rm
+BauerBodoniBT-Italic 0329 bubri8a babodoni rm
+BauerBodoniBT-Roman 0328 bubr8a babodoni rm
+BauerBodoniBT-Titling 1072 bubrd8a babodoni rm
+BauhausITCbyBT-Bold 0408 bbhb8a bauhaus rm
+BauhausITCbyBT-Heavy 0409 bbhh8a bauhaus rm
+BauhausITCbyBT-Light 0405 bbhl8a bauhaus rm
+BauhausITCbyBT-Medium 0406 bbhm8a bauhaus rm
+BellCentennialBT-Address 0356 b_____ bellcent rm
+BellCentennialBT-BoldListing 0358 b_____ bellcent rm
+BellCentennialBT-NameAndNumber 0355 b_____ bellcent rm
+BellCentennialBT-SubCaption 0357 b_____ bellcent rm
+BellGothicBT-Black 0361 bbecs8a bell rm
+BellGothicBT-Bold 0360 bbebs8a bell rm
+BellGothicBT-Roman 0359 bbers8a bell rm
+BelweBT-Bold 1024 bblb8a belwe rm
+BelweBT-Light 1022 bbll8a belwe rm
+BelweBT-Medium 1023 bblm8a belwe rm
+BelweBT-RomanCondensed 1025 bblr8ac belwe rm
+BenguiatGothicITCbyBT-Bold 0463 bugb8a bengugth rm
+BenguiatGothicITCbyBT-BoldItal 0464 bugbi8a bengugth rm
+BenguiatGothicITCbyBT-Book 0459 bugk8a bengugth rm
+BenguiatGothicITCbyBT-BookItal 0460 bugki8a bengugth rm
+BenguiatITCbyBT-Bold 0127 bbgb8a benguiat rm
+BenguiatITCbyBT-BoldItalic 0128 bbgbi8a benguiat rm
+BenguiatITCbyBT-Book 0123 bbgk8a benguiat rm
+BenguiatITCbyBT-BookItalic 0124 bbgki8a benguiat rm
+BernhardBoldCondensedBT-Regular 1003 bb7b8ac bernhard rm
+BernhardFashionBT-Regular 1051 bb7rn8a bernhard rm
+BernhardModernBT-Bold 0838 bb7b8a bernhard rm
+BernhardModernBT-BoldItalic 0839 bb7bi8a bernhard rm
+BernhardModernBT-Italic 0837 bb7ri8a bernhard rm
+BernhardModernBT-Roman 0607 bb7r8a bernhard rm
+BernhardTangoBT-Regular 0986 bb7rw8a bernhard rm
+BlippoBT-Black 0511 bb8c8a blippo sf
+BodoniBT-Bold 0037 bbdb8a bodoni rm
+BodoniBT-BoldCondensed 0973 bbdb8ac bodoni rm
+BodoniBT-BoldItalic 0038 bbdbi8a bodoni rm
+BodoniBT-Book 0035 bbdk8a bodoni rm
+BodoniBT-BookItalic 0036 bbdki8a bodoni rm
+BodoniBT-Italic 0056 bbdri8a bodoni rm
+BodoniBT-Roman 0055 bbdr8a bodoni rm
+BookmanITCbyBT-Demi 0079 bbkd8a bookman rm
+BookmanITCbyBT-DemiItalic 0080 bbkdi8a bookman rm
+BookmanITCbyBT-Light 0075 bbkl8a bookman rm
+BookmanITCbyBT-LightItalic 0076 bbkli8a bookman rm
+BremenBT-Black 1232 bb9c8a bremen rm
+BremenBT-Bold 1231 bb9b8a bremen rm
+BroadwayBT-Regular 0131 bbwr8a broadway rm
+BroadwayEngravedBT-Regular 0802 bbwre8a broadway rm
+Brush445BT-Regular 0990 bp3r8a palette rm
+Brush738BT-RegularA 0806 bb4r8a bison rm
+BrushScriptBT-Regular 0199 bburw8a brush rm
+BulmerBT-Italic 1076 bbmri8a bulmer rm
+BulmerBT-Roman 1075 bbmr8a bulmer rm
+Calligraphic421BT-RomanB 1139 bc9r8a codex rm
+Calligraphic810BT-Italic 0812 bdiri8a diotima rm
+Calligraphic810BT-Roman 0811 bdir8a diotima rm
+CandidaBT-Bold 0810 bcib8a candida rm
+CandidaBT-Italic 0809 bciri8a candida rm
+CandidaBT-Roman 0808 bcir8a candida rm
+CarminaBT-Black 0668 brmc8a carmina rm
+CarminaBT-BlackItalic 0719 brmci8a carmina rm
+CarminaBT-Bold 0723 brmb8a carmina rm
+CarminaBT-BoldItalic 0724 brmbi8a carmina rm
+CarminaBT-Light 0667 brml8a carmina rm
+CarminaBT-LightItalic 0624 brmli8a carmina rm
+CarminaBT-Medium 0721 brmm8a carmina rm
+CarminaBT-MediumItalic 0722 brmmi8a carmina rm
+Caslon224ITCbyBT-Bold 0749 bc2b8a casln224 rm
+Caslon224ITCbyBT-BoldItalic 0750 bc2bi8a casln224 rm
+Caslon224ITCbyBT-Book 0745 bc2k8a casln224 rm
+Caslon224ITCbyBT-BookItalic 0746 bc2ki8a casln224 rm
+Caslon540BT-Italic 0119 bc5ri8a casln540 rm
+Caslon540BT-Roman 0118 bc5r8a casln540 rm
+CaslonBT-Bold 0443 bcab8a caslon rm
+CaslonBT-BoldItalic 0444 bcabi8a caslon rm
+CaslonOpenfaceBT-Regular 0581 bcarl8a caslon rm
+CaxtonBT-Bold 0891 bcxb8a caxton rm
+CaxtonBT-BoldItalic 0892 bcxbi8a caxton rm
+CaxtonBT-Book 0889 bcxk8a caxton rm
+CaxtonBT-BookItalic 0890 bcxki8a caxton rm
+CaxtonBT-Light 0887 bcxl8a caxton rm
+CaxtonBT-LightItalic 0888 bcxli8a caxton rm
+Century725BT-Black 1060 bcnc8a century rm
+Century725BT-Bold 1056 bcnb8a century rm
+Century725BT-BoldCondensed 1058 bcnb8ac century rm
+Century725BT-Italic 1059 bcnri8a century rm
+Century725BT-Roman 1055 bcnr8a century rm
+Century725BT-RomanCondensed 1057 bcnr8ac century rm
+CenturyExpandedBT-Bold 0041 bcnb8ax century rm
+CenturyExpandedBT-BoldItalic 0042 bcnbi8ax century rm
+CenturyExpandedBT-Italic 0040 bcnri8ax century rm
+CenturyExpandedBT-Roman 0039 bcnr8ax century rm
+CenturyOldstyleBT-Bold 0287 bcub8a centuros rm
+CenturyOldstyleBT-Italic 0286 bcuri8a centuros rm
+CenturyOldstyleBT-Roman 0285 bcur8a centuros rm
+CenturySchoolbookBT-Bold 0085 bcsb8a cntursbk rm
+CenturySchoolbookBT-BoldCond 0574 bcsb8ac cntursbk rm
+CenturySchoolbookBT-BoldItalic 0086 bcsbi8a cntursbk rm
+CenturySchoolbookBT-Italic 0084 bcsri8a cntursbk rm
+CenturySchoolbookBT-Monospace 0600 bcsrt8a cntursbk rm
+CenturySchoolbookBT-Roman 0083 bcsr8a cntursbk rm
+CharterBT-Black 0709 bchk8a charter rm
+CharterBT-BlackItalic 0710 bchki8a charter rm
+CharterBT-Bold 0632 bchb8a charter rm
+CharterBT-BoldItalic 0633 bchbi8a charter rm
+CharterBT-Italic 0649 bchri8a charter rm
+CharterBT-Roman 0648 bchr8a charter rm
+CheltenhamBT-Bold 0622 bctb8a cheltenh rm
+CheltenhamBT-BoldCondItalic 1066 bctbi8ac cheltenh rm
+CheltenhamBT-BoldCondensed 1065 bctb8ac cheltenh rm
+CheltenhamBT-BoldExtraCondensed 1067 bctb8aq cheltenh rm
+CheltenhamBT-BoldHeadline 0508 bctbd8a cheltenh rm
+CheltenhamBT-BoldItalic 0623 bctbi8a cheltenh rm
+CheltenhamBT-BoldItalicHeadline 0509 bctbdi8a cheltenh rm
+CheltenhamBT-Italic 0621 bctri8a cheltenh rm
+CheltenhamBT-Roman 0620 bctr8a cheltenh rm
+CheltenhamITCbyBT-Bold 0383 bctb8a cheltenh rm
+CheltenhamITCbyBT-BoldItalic 0384 bctbi8a cheltenh rm
+CheltenhamITCbyBT-Book 0381 bctk8a cheltenh rm
+CheltenhamITCbyBT-BookItalic 0382 bctki8a cheltenh rm
+ClarendonBT-Black 0351 bcdc8a clarendo rm
+ClarendonBT-Bold 0284 bcdb8a clarendo rm
+ClarendonBT-BoldCondensed 0228 bcdb8ac clarendo rm
+ClarendonBT-Heavy 0416 bcdh8a clarendo rm
+ClarendonBT-Light 0282 bcdl8a clarendo rm
+ClarendonBT-Roman 0283 bcdr8a clarendo rm
+ClarendonBT-RomanCondensed 0846 bcdr8ac clarendo rm
+ClassicalGaramondBT-Bold 0279 bsbb8a sabon rm
+ClassicalGaramondBT-BoldItalic 0972 bsbbi8a sabon rm
+ClassicalGaramondBT-Italic 0278 bsbri8a sabon rm
+ClassicalGaramondBT-Roman 0277 bsbr8a sabon rm
+CloisterBlackBT-Regular 0757 bclr8a cloister rm
+CloisterOpenFaceBT-Regular 0938 bclrl8a cloister rm
+CommercialScriptBT-Regular 0976 bi0r8a commscr rm
+CompactaBT-Black 0788 bc7c8a compacta rm
+CompactaBT-Bold 0786 bc7b8a compacta rm
+CompactaBT-BoldItalic 0787 bc7bi8a compacta rm
+CompactaBT-Italic 0785 bc7ri8a compacta rm
+CompactaBT-Light 0783 bc7l8a compacta rm
+CompactaBT-Roman 0784 bc7r8a compacta rm
+CooperBT-Black 0630 bcbc8a cooper rm
+CooperBT-BlackHeadline 0231 bcbcd8a cooper rm
+CooperBT-BlackItalic 0631 bcbci8a cooper rm
+CooperBT-BlackItalicHeadline 0232 bcbcid8a cooper rm
+CooperBT-BlackOutline 1034 bcbcl8a cooper rm
+CooperBT-Bold 0579 bcbb8a cooper rm
+CooperBT-BoldItalic 0580 bcbbi8a cooper rm
+CooperBT-Light 0575 bcbl8a cooper rm
+CooperBT-LightItalic 0576 bcbli8a cooper rm
+CooperBT-Medium 0577 bcbm8a cooper rm
+CooperBT-MediumItalic 0578 bcbmi8a cooper rm
+CopperplateGothicBT-Bold 0421 bcpbs8a copperpl rm
+CopperplateGothicBT-BoldCond 0424 bcpbs8ac copperpl rm
+CopperplateGothicBT-Heavy 0422 bcphs8a copperpl rm
+CopperplateGothicBT-Roman 0420 bcprs8a copperpl rm
+CopperplateGothicBT-RomanCond 0423 bcprs8ac copperpl rm
+Courier10PitchBT-Bold 0583 bcrb8a courier tt
+Courier10PitchBT-BoldItalic 0611 bcrbi8a courier tt
+Courier10PitchBT-Italic 0582 bcrri8a courier tt
+Courier10PitchBT-Roman 0419 bcrr8a courier tt
+CushingITCbyBT-Heavy 0641 buhh8a cushing rm
+CushingITCbyBT-HeavyItalic 0642 buhhi8a cushing rm
+DavidaBoldBT-Regular 0195 bd0b8a davida rm
+DeVinneBT-Italic 0912 bviri8a victoria rm
+DeVinneBT-ItalicText 1042 bvirid8a victoria rm
+DeVinneBT-Roman 0911 bvir8a victoria rm
+DeVinneBT-Text 1041 bvird8a victoria rm
+Decorated035BT-Regular 0605 bpfr8a profile rm
+DellaRobbiaBT-Bold 1113 bdeb8a dellarob rm
+DellaRobbiaBT-Roman 1112 bder8a dellarob rm
+DomBoldBT-Regular 0769 bdcb8a domcasl rm
+DomCasualBT-Regular 0604 bdcr8a domcasl rm
+DomDiagonalBT-Bold 0921 bdcbi8a domcasl rm
+DomDiagonalBT-Regular 0920 bdcri8a domcasl rm
+Dutch766BT-BoldA 0340 biib8a imprint rm
+Dutch766BT-ItalicA 0339 biiri8a imprint rm
+Dutch766BT-RomanA 0338 biir8a imprint rm
+Dutch801BT-Bold 0013 btmb8a times rm
+Dutch801BT-BoldItalic 0014 btmbi8a times rm
+Dutch801BT-ExtraBold 0549 btmx8a times rm
+Dutch801BT-ExtraBoldItalic 0971 btmxi8a times rm
+Dutch801BT-Italic 0012 btmri8a times rm
+Dutch801BT-ItalicHeadline 1036 btmrid8a times rm
+Dutch801BT-Roman 0011 btmr8a times rm
+Dutch801BT-RomanHeadline 1035 btmrd8a times rm
+Dutch801BT-SemiBold 0834 btms8a times rm
+Dutch801BT-SemiBoldItalic 0835 btmsi8a times rm
+Dutch809BT-BoldC 1063 bocb8a concorde rm
+Dutch809BT-ItalicC 1062 bocri8a concorde rm
+Dutch809BT-RomanC 1061 bocr8a concorde rm
+Dutch811BT-BoldD 1085 boyb8a olympian rm
+Dutch811BT-BoldItalicD 1086 boybi8a olympian rm
+Dutch811BT-ItalicD 1084 boyri8a olympian rm
+Dutch811BT-RomanD 1083 boyr8a olympian rm
+Dutch823BT-BoldB 0237 bnab8a newaster rm
+Dutch823BT-BoldItalicB 0753 bnabi8a newaster rm
+Dutch823BT-ItalicB 0236 bnari8a newaster rm
+Dutch823BT-RomanB 0235 bnar8a newaster rm
+Egyptian505BT-Bold 0964 beeb8a egyptian rm
+Egyptian505BT-Light 0961 beel8a egyptian rm
+Egyptian505BT-Medium 0963 beem8a egyptian rm
+Egyptian505BT-Roman 0962 beer8a egyptian rm
+ElegantGaramondBT-Bold 0713 bgjb8a granjon rm
+ElegantGaramondBT-Italic 0712 bgjri8a granjon rm
+ElegantGaramondBT-Roman 0711 bgjr8a granjon rm
+EmbassyBT-Regular 0588 be0r8a embassy rm
+EmpireBT-Regular 1176 be1r8a empire sf
+English157BT-Regular 0840 boer8a oldengli rm
+EngraversGothicBT-Regular 0586 benrs8a engraver sf
+EngraversOldEnglishBT-Bold 1045 benbf8a engraver sf
+EngraversOldEnglishBT-Regular 0212 benrf8a engraver sf
+EngraversRomanBT-Bold 0974 benb8a engraver sf
+EngraversRomanBT-Regular 0587 benr8a engraver sf
+ErasITCbyBT-Bold 0242 berb8a eras rm
+ErasITCbyBT-Book 0239 berk8a eras rm
+ErasITCbyBT-Demi 0241 berd8a eras rm
+ErasITCbyBT-Light 0238 berl8a eras rm
+ErasITCbyBT-Medium 0240 berm8a eras rm
+ErasITCbyBT-Ultra 0243 beru8a eras rm
+Exotic350BT-Bold 0628 bpgb8a peignot sf
+Exotic350BT-DemiBold 0627 bpgd8a peignot sf
+Exotic350BT-Light 0626 bpgl8a peignot sf
+FeniceITCbyBT-Bold 0684 bfnb8a fenice rm
+FeniceITCbyBT-BoldItalic 0685 bfnbi8a fenice rm
+FeniceITCbyBT-Regular 0682 bfnr8a fenice rm
+FeniceITCbyBT-RegularItalic 0683 bfnri8a fenice rm
+Flareserif821BT-Bold 0918 balb8a albertus rm
+Flareserif821BT-Light 0916 ball8a albertus rm
+Flareserif821BT-Roman 0917 balr8a albertus rm
+FlemishScriptBT-Regular 0591 bf0r8a flemishs rm
+FolioBT-Bold 0852 bfob8a folio rm
+FolioBT-BoldCondensed 0854 bfob8ac folio rm
+FolioBT-Book 0850 bfok8a folio rm
+FolioBT-ExtraBold 0853 bfox8a folio rm
+FolioBT-Light 0848 bfol8a folio rm
+FolioBT-LightItalic 0849 bfoli8a folio rm
+FolioBT-Medium 0851 bfom8a folio rm
+Formal436BT-Regular 1141 bpi005 frml436n rm
+FormalScript421BT-Regular 0609 boir8a ondine rm
+FrakturBT-Regular 0983 bftr8a fettefrk rm
+FranklinGothicITCbyBT-Book 0670 bfgk8a frankgth rm
+FranklinGothicITCbyBT-BookItal 0671 bfgki8a frankgth rm
+FranklinGothicITCbyBT-Demi 0674 bfgd8a frankgth rm
+FranklinGothicITCbyBT-DemiItal 0675 bfgdi8a frankgth rm
+FranklinGothicITCbyBT-Heavy 0676 bfgh8a frankgth rm
+FranklinGothicITCbyBT-HeavyItal 0677 bfghi8a frankgth rm
+Freeform710BT-Regular 0714 bekr8a eckmann rm
+Freeform721BT-Black 1001 bauc8a auriol rm
+Freeform721BT-BlackItalic 1002 bauci8a auriol rm
+Freeform721BT-Bold 0999 baub8a auriol rm
+Freeform721BT-BoldItalic 1000 baubi8a auriol rm
+Freeform721BT-Italic 0998 bauri8a auriol rm
+Freeform721BT-Roman 0997 baur8a auriol rm
+Freehand471BT-Regular 0418 bccr8a cascade rm
+Freehand521BT-RegularC 1018 bmar8a mandate rm
+Freehand575BT-RegularB 1046 bjfr8a jeffersn rm
+Freehand591BT-RegularA 1043 bb5r8a binghams rm
+FrizQuadrataITCbyBT-Bold 0429 bfqb8a frizquad rm
+FrizQuadrataITCbyBT-Roman 0428 bfqr8a frizquad rm
+FrysBaskervilleBT-Roman 1101 b_____ frybaskn rm
+FuturaBT-Bold 0144 bfub8a futura sf
+FuturaBT-BoldCondensed 0202 bfub8ac futura sf
+FuturaBT-BoldCondensedItalic 0203 bfubi8ac futura sf
+FuturaBT-BoldItalic 0145 bfubi8a futura sf
+FuturaBT-Book 0140 bfuk8a futura sf
+FuturaBT-BookItalic 0141 bfuki8a futura sf
+FuturaBT-ExtraBlack 0148 bfux8a futura sf
+FuturaBT-ExtraBlackCondItalic 0205 bfuxi8ac futura sf
+FuturaBT-ExtraBlackCondensed 0204 bfux8ac futura sf
+FuturaBT-ExtraBlackItalic 0149 bfuxi8a futura sf
+FuturaBT-Heavy 0146 bfuh8a futura sf
+FuturaBT-HeavyItalic 0147 bfuhi8a futura sf
+FuturaBT-Light 0138 bful8a futura sf
+FuturaBT-LightCondensed 0200 bful8ac futura sf
+FuturaBT-LightItalic 0139 bfuli8a futura sf
+FuturaBT-Medium 0142 bfum8a futura sf
+FuturaBT-MediumCondensed 0201 bfum8ac futura sf
+FuturaBT-MediumItalic 0143 bfumi8a futura rm
+FuturaBlackBT-Regular 0206 bfuc8a futura sf
+GalliardITCbyBT-Bold 0069 bglb8a galliard rm
+GalliardITCbyBT-BoldItalic 0070 bglbi8a galliard rm
+GalliardITCbyBT-Italic 0068 bglri8a galliard rm
+GalliardITCbyBT-Roman 0067 bglr8a galliard rm
+GandoBT-Regular 0625 bg0r8a gando rm
+GaramondITCbyBT-Bold 0347 bgmb8a garamond rm
+GaramondITCbyBT-BoldCondItalic 0456 bgmbi8ac garamond rm
+GaramondITCbyBT-BoldCondensed 0455 bgmb8ac garamond rm
+GaramondITCbyBT-BoldItalic 0348 bgmbi8a garamond rm
+GaramondITCbyBT-Book 0345 bgmk8a garamond rm
+GaramondITCbyBT-BookCondItalic 0454 bgmki8ac garamond rm
+GaramondITCbyBT-BookCondensed 0453 bgmk8ac garamond rm
+GaramondITCbyBT-BookItalic 0346 bgmki8a garamond rm
+Geometric212BT-Book 0150 bsnk8a spartan rm
+Geometric212BT-BookCondensed 0503 bsnk8ac spartan rm
+Geometric212BT-Heavy 0151 bsnh8a spartan rm
+Geometric212BT-HeavyCondensed 0504 bsnh8ac spartan rm
+Geometric231BT-BoldC 1128 bkbb8a kabel sf
+Geometric231BT-HeavyC 1129 bkbh8a kabel sf
+Geometric231BT-LightC 1126 bkbl8a kabel sf
+Geometric231BT-RomanC 1127 bkbr8a kabel sf
+Geometric415BT-BlackA 0524 bm2c8a metro sf
+Geometric415BT-BlackItalicA 0525 bm2ci8a metro sf
+Geometric415BT-LiteA 0520 bm2l8a metro sf
+Geometric415BT-LiteItalicA 0521 bm2li8a metro sf
+Geometric415BT-MediumA 0522 bm2m8a metro sf
+Geometric415BT-MediumItalicA 0523 bm2mi8a metro sf
+Geometric706BT-BlackB 0661 bnzc8a neuzeits sf
+Geometric706BT-BlackCondensedB 0663 bnzc8ac neuzeits sf
+Geometric706BT-BoldCondensedB 0662 bnzb8ac neuzeits sf
+Geometric706BT-MediumB 0660 bnzm8a neuzeits sf
+Geometric885BT-RegularD 1140 b_____ geo885n rm
+GeometricSlab703BT-Bold 0310 bmpb8a memphis rm
+GeometricSlab703BT-BoldCond 1020 bmpb8ac memphis rm
+GeometricSlab703BT-BoldItalic 0311 bmpbi8a memphis rm
+GeometricSlab703BT-Light 0306 bmpl8a memphis rm
+GeometricSlab703BT-LightItalic 0307 bmpli8a memphis rm
+GeometricSlab703BT-Medium 0308 bmpm8a memphis rm
+GeometricSlab703BT-MediumCond 1019 bmpm8ac memphis rm
+GeometricSlab703BT-MediumItalic 0309 bmpmi8a memphis rm
+GeometricSlab703BT-XtraBold 0312 bmpx8a memphis rm
+GeometricSlab703BT-XtraBoldCond 1021 bmpx8ac memphis rm
+GeometricSlab703BT-XtraBoldItal 0313 bmpxi8a memphis rm
+GeometricSlab712BT-BoldA 0487 brwb8a rockwell rm
+GeometricSlab712BT-ExtraBoldA 0488 brwx8a rockwell rm
+GeometricSlab712BT-LightA 0483 brwl8a rockwell rm
+GeometricSlab712BT-LightItalicA 0484 brwli8a rockwell rm
+GeometricSlab712BT-MediumA 0485 brwm8a rockwell rm
+GeometricSlab712BT-MediumItalA 0486 brwmi8a rockwell rm
+GorillaITCbyBT-Regular 0664 bg6r8a gorilla rm
+Gothic720BT-BoldB 0995 bgqb8a grotesq rm
+Gothic720BT-BoldItalicB 0996 bgqbi8a grotesq rm
+Gothic720BT-ItalicB 0994 bgqri8a grotesq rm
+Gothic720BT-LightB 0991 bgql8a grotesq rm
+Gothic720BT-LightItalicB 0992 bgqli8a grotesq rm
+Gothic720BT-RomanB 0993 bgqr8a grotesq rm
+Gothic725BT-BlackA 1007 bazc8a azdzgrot sf
+Gothic725BT-BoldA 0541 bazb8a azdzgrot sf
+Gothic821CondensedBT-Regular 0807 bb6r8ac block sf
+GothicNo13BT-Regular 0120 b_____ gothic13 rm
+GoudyCatalogueBT-Regular 1054 bg5r8a gycatalg rm
+GoudyHandtooledBTsRegular 1053 bgyrf8a goudy rm
+GoudyHeavyfaceBT-Regular 1049 bgyh8a goudy rm
+GoudyHeavyfaceBT-RegularCond 1050 bgyh8ac goudy rm
+GoudyOldStyleBT-Bold 0109 bgob8a gyoldsty rm
+GoudyOldStyleBT-BoldItalic 0110 bgobi8a gyoldsty rm
+GoudyOldStyleBT-ExtraBold 0111 bgox8a gyoldsty rm
+GoudyOldStyleBT-Italic 0108 bgori8a gyoldsty rm
+GoudyOldStyleBT-Roman 0107 bgor8a gyoldsty rm
+GoudySansITCbyBT-Black 0928 bysc8a goudysan sf
+GoudySansITCbyBT-BlackItalic 0929 bysci8a goudysan sf
+GoudySansITCbyBT-Bold 0926 bysb8a goudysan sf
+GoudySansITCbyBT-BoldItalic 0927 bysbi8a goudysan sf
+GoudySansITCbyBT-Light 0922 bysl8a goudysan sf
+GoudySansITCbyBT-LightItalic 0923 bysli8a goudysan sf
+GoudySansITCbyBT-Medium 0924 bysm8a goudysan sf
+GoudySansITCbyBT-MediumItalic 0925 bysmi8a goudysan sf
+GrizzlyITCbyBT-Regular 0688 b_____ grizzlyn rm
+GrouchITCbyBT-Regular 0678 b_____ grouchn rm
+HandelGothicBT-Regular 0768 bh0r8a handelgo sf
+HoboBT-Regular 0057 bhbr8a hobo rm
+Humanist521BT-Bold 0292 bgsb8a gillsans sf
+Humanist521BT-BoldCondensed 0496 bgsb8ac gillsans sf
+Humanist521BT-BoldItalic 0293 bgsbi8a gillsans sf
+Humanist521BT-ExtraBold 0294 bgsx8a gillsans sf
+Humanist521BT-Italic 0291 bgsri8a gillsans sf
+Humanist521BT-Light 0288 bgsl8a gillsans sf
+Humanist521BT-LightItalic 0289 bgsli8a gillsans sf
+Humanist521BT-Roman 0290 bgsr8a gillsans sf
+Humanist521BT-RomanCondensed 0495 bgsr8ac gillsans sf
+Humanist521BT-UltraBold 0295 bgsu8a gillsans sf
+Humanist521BT-XtraBoldCondensed 0497 bgsx8ac gillsans sf
+Humanist531BT-BlackA 0875 bsxc8a syntax rm
+Humanist531BT-BoldA 0874 bsxb8a syntax rm
+Humanist531BT-RomanA 0872 bsxr8a syntax rm
+Humanist531BT-UltraBlackA 0876 bsxu8a syntax rm
+Humanist777BT-BlackB 0861 bfrc8a frutiger sf
+Humanist777BT-BlackItalicB 0862 bfrci8a frutiger sf
+Humanist777BT-BoldB 0859 bfrb8a frutiger sf
+Humanist777BT-BoldItalicB 0860 bfrbi8a frutiger sf
+Humanist777BT-ItalicB 0858 bfrri8a frutiger sf
+Humanist777BT-LightB 0855 bfrl8a frutiger sf
+Humanist777BT-LightItalicB 0856 bfrli8a frutiger sf
+Humanist777BT-RomanB 0857 bfrr8a frutiger sf
+Humanist970BT-BoldC 0265 ba9b8a adsans sf
+Humanist970BT-RomanC 0264 ba9r8a adsans sf
+HumanistSlabserif712BT-Black 0324 befc8a egyptien rm
+HumanistSlabserif712BT-Bold 0323 befb8a egyptien rm
+HumanistSlabserif712BT-Italic 0322 befri8a egyptien rm
+HumanistSlabserif712BT-Roman 0321 befr8a egyptien rm
+HuxleyVerticalBT-Regular 1177 bhxr8a huxleyvr rm
+ImperialBT-Bold 0354 bi3b8a imperial rm
+ImperialBT-Italic 0353 bi3ri8a imperial rm
+ImperialBT-Roman 0352 bi3r8a imperial rm
+ImpressBT-Regular 0209 bi1r8a impress rm
+ImpulsBT-Regular 0725 bi2r8a impuls rm
+Incised901BT-Black 0391 baoc8a atqolive sf
+Incised901BT-Bold 0390 baob8a atqolive sf
+Incised901BT-BoldCondensed 0467 baob8ac atqolive sf
+Incised901BT-Compact 0468 baop8a atqolive sf
+Incised901BT-Italic 0389 baori8a atqolive sf
+Incised901BT-Light 0387 baol8a atqolive sf
+Incised901BT-Nord 0469 baoh8ax atqolive sf
+Incised901BT-NordItalic 0470 baohi8ax atqolive sf
+Incised901BT-Roman 0388 baor8a atqolive sf
+Industrial736BT-Italic 1048 btori8a torino rm
+Industrial736BT-Roman 1047 btor8a torino rm
+Informal011BT-Black 1116 bnlc8a neuland rm
+Informal011BT-Roman 1115 bnlr8a neuland rm
+IowanOldStyleBT-Black 1202 biyc8a iowanold rm
+IowanOldStyleBT-BlackItalic 1203 biyci8a iowanold rm
+IowanOldStyleBT-Bold 1200 biyb8a iowanold rm
+IowanOldStyleBT-BoldItalic 1201 biybi8a iowanold rm
+IowanOldStyleBT-Italic 1199 biyri8a iowanold rm
+IowanOldStyleBT-Roman 1198 biyr8a iowanold rm
+KabelITCbyBT-Book 0162 bkbk8a kabel sf
+KabelITCbyBT-Demi 0164 bkbd8a kabel sf
+KabelITCbyBT-Medium 0163 bkbm8a kabel sf
+KabelITCbyBT-Ultra 0166 bkbu8a kabel sf
+KaufmannBT-Bold 0727 bkub8a kaufmann rm
+KaufmannBT-Regular 0726 bkur8a kaufmann rm
+KisBT-Italic 0117 bjnri8a janson rm
+KisBT-Roman 0116 bjnr8a janson rm
+KorinnaITCbyBT-Bold 0089 bkrb8a korinna rm
+KorinnaITCbyBT-KursivBold 0090 bkrbi8a korinna rm
+KorinnaITCbyBT-KursivRegular 0088 bkrri8a korinna rm
+KorinnaITCbyBT-Regular 0087 bkrr8a korinna rm
+Kuenstler480BT-Black 1026 btvc8a trumpmed rm
+Kuenstler480BT-Bold 0763 btvb8a trumpmed rm
+Kuenstler480BT-BoldItalic 0764 btvbi8a trumpmed rm
+Kuenstler480BT-Italic 0762 btvri8a trumpmed rm
+Kuenstler480BT-Roman 0761 btvr8a trumpmed rm
+Lapidary333BT-Black 1052 bppc8a perpetua rm
+Lapidary333BT-Bold 0717 bppb8a perpetua rm
+Lapidary333BT-BoldItalic 0718 bppbi8a perpetua rm
+Lapidary333BT-Italic 0716 bppri8a perpetua rm
+Lapidary333BT-Roman 0715 bppr8a perpetua rm
+Latin725BT-Bold 0493 bmdb8a meridien rm
+Latin725BT-BoldItalic 0494 bmdbi8a meridien rm
+Latin725BT-Italic 0490 bmdri8a meridien rm
+Latin725BT-Medium 0491 bmdm8a meridien rm
+Latin725BT-MediumItalic 0492 bmdmi8a meridien rm
+Latin725BT-Roman 0489 bmdr8a meridien rm
+LatinExtraCondensedBT-Regular 0507 blir8ac latin rm
+LeawoodITCbyBT-Book 0941 blwk8a leawood rm
+LeawoodITCbyBT-BookItalic 0942 blwki8a leawood rm
+LetterGothic12PitchBT-Bold 0533 blgb8a lettrgth tt
+LetterGothic12PitchBT-BoldItal 0543 blgbi8a lettrgth tt
+LetterGothic12PitchBT-Italic 0532 blgri8a lettrgth tt
+LetterGothic12PitchBT-Roman 0414 blgr8a lettrgth tt
+LibertyBT-Regular 0987 bl1r8a liberty rm
+LibraBT-Regular 0690 bl2r8a libra rm
+LifeBT-Bold 0956 blfb8a life rm
+LifeBT-BoldItalic 0957 blfbi8a life rm
+LifeBT-Italic 0955 blfri8a life rm
+LifeBT-Roman 0954 blfr8a life rm
+LubalinGraphITCbyBT-Bold 0370 blbb8a lubaling rm
+LubalinGraphITCbyBT-Book 0367 blbk8a lubaling rm
+LubalinGraphITCbyBT-Medium 0368 blbm8a lubaling rm
+LubalinGraphITCbyBT-XtraLight 0366 blbj8a lubaling rm
+LuciaBT-Regular 0847 bl3r8a lucia rm
+LucianBT-Bold 1143 bl4b8a lucian rm
+LucianBT-Roman 1142 bl4r8a lucian rm
+LydianBT-Bold 0843 blyb8a lydian rm
+LydianBT-BoldItalic 0844 blybi8a lydian rm
+LydianBT-Italic 0842 blyri8a lydian rm
+LydianBT-Roman 0841 blyr8a lydian rm
+LydianCursiveBT-Regular 0845 blyrw8a lydian rm
+MICR10byBT-Regular 8729 b_____ micro10 rm
+MICR12byBT-Regular 8730 b_____ micro12 rm
+MICR13byBT-Regular 8731 b_____ micro13 rm
+MachineITCbyBT-Regular 0534 bmhr8a machine rm
+MattAntiqueBT-Bold 1016 b_____ matantq rm
+MattAntiqueBT-Italic 1015 b_____ matantq rm
+MattAntiqueBT-Roman 1014 b_____ matantq rm
+MiraraeBT-Bold 0831 bm3b8a mirarae rm
+MiraraeBT-Roman 0830 bm3r8a mirarae rm
+MisterEarlBT-Regular 1221 bm4r8a mrearl rm
+MixageITCbyBT-Bold 0825 b_____ mixage rm
+MixageITCbyBT-BoldItalic 0826 b_____ mixage rm
+Modern20BT-ItalicB 1169 bmori8a modern rm
+Modern20BT-RomanB 1168 bmor8a modern rm
+Modern735BT-RomanA 0793 bbpr8a bodocamp rm
+Modern880BT-Bold 1039 b_____ mod880 rm
+Modern880BT-Italic 1038 b_____ mod880 rm
+Modern880BT-Roman 1037 b_____ mod880 rm
+Monospace821BT-Bold 0598 bhvbt8a helvetic rm
+Monospace821BT-BoldItalic 0599 bhvbit8a helvetic rm
+Monospace821BT-Italic 0597 bhvrit8a helvetic rm
+Monospace821BT-Roman 0596 bhvrt8a helvetic rm
+MurrayHillBT-Bold 0886 bm5b8a murrayhl rm
+NewBaskervilleITCbyBT-Bold 0934 bnbb8a nbaskerv rm
+NewBaskervilleITCbyBT-BoldItal 0935 bnbbi8a nbaskerv rm
+NewBaskervilleITCbyBT-Italic 0931 bnbri8a nbaskerv rm
+NewBaskervilleITCbyBT-Roman 0930 bnbr8a nbaskerv rm
+News701BT-BoldA 0320 biob8a ionic rm
+News701BT-ItalicA 0319 biori8a ionic rm
+News701BT-RomanA 0318 bior8a ionic rm
+News702BT-Bold 0029 bexb8a exclsior rm
+News702BT-BoldItalic 0030 bexbi8a exclsior rm
+News702BT-Italic 0028 bexri8a exclsior rm
+News702BT-Roman 0027 bexr8a exclsior rm
+News705BT-BoldB 0060 bonb8a corona rm
+News705BT-BoldItalicB 0803 bonbi8a corona rm
+News705BT-ItalicB 0059 bonri8a corona rm
+News705BT-RomanB 0058 bonr8a corona rm
+News706BT-BoldC 0365 bn7b8a news706 rm
+News706BT-ItalicC 0364 bn7ri8a news706 rm
+News706BT-RomanC 0363 bn7r8a news706 rm
+NewsGothicBT-Bold 0049 bngb8a newsgth rm
+NewsGothicBT-BoldCondItalic 0378 bngbi8ac newsgth rm
+NewsGothicBT-BoldCondensed 0377 bngb8ac newsgth rm
+NewsGothicBT-BoldExtraCond 0871 bngb8aq newsgth rm
+NewsGothicBT-BoldItalic 0050 bngbi8a newsgth rm
+NewsGothicBT-Demi 0949 bngd8a newsgth rm
+NewsGothicBT-DemiItalic 0950 bngdi8a newsgth rm
+NewsGothicBT-ExtraCondensed 0870 bngr8aq newsgth rm
+NewsGothicBT-Italic 0048 bngri8a newsgth rm
+NewsGothicBT-ItalicCondensed 0376 bngri8ac newsgth rm
+NewsGothicBT-Light 0132 bngl8a newsgth rm
+NewsGothicBT-LightItalic 0133 bngli8a newsgth rm
+NewsGothicBT-Roman 0047 bngr8a newsgth rm
+NewsGothicBT-RomanCondensed 0375 bngr8ac newsgth rm
+NewtextITCbyBT-Regular 0697 b_____ newtxt rm
+NewtextITCbyBT-RegularItalic 0698 b_____ newtxt rm
+NormandeBT-Italic 1012 bn0ri8a normande rm
+NormandeBT-Roman 1011 bn0r8a normande rm
+NovareseITCbyBT-Bold 0734 bnvb8a novarese rm
+NovareseITCbyBT-BoldItalic 0735 bnvbi8a novarese rm
+NovareseITCbyBT-Book 0730 bnvk8a novarese rm
+NovareseITCbyBT-BookItalic 0731 bnvki8a novarese rm
+NuptialBT-Regular 0981 bnur8a nuptial rm
+OCRAbyBT-Regular 0395 boar ocra rm
+OCRB10PitchBT-Regular 0646 bobr ocrb rm
+OldDreadfulNo7BT-Regular 7009 bo0r8a oldreadf rm
+OnyxBT-Regular 0519 boxr8a onyx rm
+OrandaBT-Bold 1206 bo1b8a oranda rm
+OrandaBT-BoldCondensed 1209 bo1b8ac oranda rm
+OrandaBT-BoldItalic 1207 bo1bi8a oranda rm
+OrandaBT-Italic 1205 bo1ri8a oranda rm
+OrandaBT-Roman 1204 bo1r8a oranda rm
+OrandaBT-RomanCondensed 1208 bo1r8ac oranda rm
+OratorBT-FifteenPitch 0758 borr8a15 orator tt
+OratorBT-TenPitch 0755 borr8a10 orator tt
+OrbitBbyBT-Regular 0213 bo2r8a orbitb rm
+OriginalGaramondBT-Bold 0865 begb8a stgaramo rm
+OriginalGaramondBT-BoldItalic 0866 begbi8a stgaramo rm
+OriginalGaramondBT-Italic 0864 begri8a stgaramo rm
+OriginalGaramondBT-Roman 0863 begr8a stgaramo rm
+OzHandicraftBT-Roman 1178 bozr8a ozhandcr rm
+PTBarnumBT-Regular 0720 bpbr8a ptbarnum rm
+ParisianBT-Regular 1064 bpsr8a parisian rm
+ParkAvenueBT-Regular 0362 bpar8a parkave rm
+Pica10PitchBT-Roman 0691 b_____ pica10 tt
+PioneerITCbyBT-Regular 0214 bp4r8a pioneer rm
+PiranesiItalicBT-Regular 0592 bp5r8a piranesi rm
+PlaybillBT-Regular 0867 bpyr8a playbill rm
+PosterBodoniBT-Italic 0130 bbdpi8a bodoni rm
+PosterBodoniBT-Roman 0129 bbdp8a bodoni rm
+Prestige12PitchBT-Bold 0614 bpeb8a prestige tt
+Prestige12PitchBT-BoldItalic 0615 bpebi8a prestige tt
+Prestige12PitchBT-Italic 0613 bperi8a prestige tt
+Prestige12PitchBT-Roman 0413 bper8a prestige tt
+QuorumITCbyBT-Black 0442 bqrc8a quorum rm
+QuorumITCbyBT-Light 0438 bqrl8a quorum rm
+QuorumITCbyBT-Medium 0440 bqrm8a quorum rm
+RaleighBT-Bold 1081 brab8a raleigh rm
+RaleighBT-DemiBold 1080 brad8a raleigh rm
+RaleighBT-ExtraBold 1082 brax8a raleigh rm
+RaleighBT-Light 1077 bral8a raleigh rm
+RaleighBT-Medium 1079 bram8a raleigh rm
+RaleighBT-Roman 1078 brar8a raleigh rm
+Revival565BT-Bold 1070 bbrb8a berling rm
+Revival565BT-BoldItalic 1071 bbrbi8a berling rm
+Revival565BT-Italic 1069 bbrri8a berling rm
+Revival565BT-Roman 1068 bbrr8a berling rm
+RevueBT-Regular 0895 brvr8a revue rm
+Ribbon131BT-Bold 0208 botb8a coronet rm
+Ribbon131BT-Regular 0207 botr8a coronet rm
+RomanaBT-Bold 0897 br0b8a romana rm
+RomanaBT-Roman 0896 br0r8a romana rm
+SchadowBT-Black 1108 bhwc8a schadow rm
+SchadowBT-BlackCondensed 1114 bhwc8ac schadow rm
+SchadowBT-Bold 1107 bhwb8a schadow rm
+SchadowBT-Light 1104 bhwl8a schadow rm
+SchadowBT-LightCursive 1105 bhwli8a schadow rm
+SchadowBT-Roman 1106 bhwr8a schadow rm
+SchneidlerBT-Black 0907 bssc8a stschnei rm
+SchneidlerBT-BlackItalic 0908 bssci8a stschnei rm
+SchneidlerBT-Bold 0905 bssb8a stschnei rm
+SchneidlerBT-BoldItalic 0906 bssbi8a stschnei rm
+SchneidlerBT-Italic 0902 bssri8a stschnei rm
+SchneidlerBT-Light 0899 bssl8a stschnei rm
+SchneidlerBT-LightItalic 0900 bssli8a stschnei rm
+SchneidlerBT-Medium 0903 bssm8a stschnei rm
+SchneidlerBT-MediumItalic 0904 bssmi8a stschnei rm
+SchneidlerBT-Roman 0901 bssr8a stschnei rm
+Script12PitchBT-Roman 0940 bs2r8a script rm
+SeagullBT-Bold 0819 bs3b8a seagull rm
+SeagullBT-Heavy 0820 bs3h8a seagull rm
+SeagullBT-Light 0817 bs3l8a seagull rm
+SeagullBT-Medium 0818 bs3m8a seagull rm
+SerifaBT-Black 0259 bsfc8a serifa rm
+SerifaBT-Bold 0258 bsfb8a serifa rm
+SerifaBT-BoldCondensed 0836 bsfb8ac serifa rm
+SerifaBT-Italic 0257 bsfri8a serifa rm
+SerifaBT-Light 0254 bsfl8a serifa rm
+SerifaBT-LightItalic 0255 bsfli8a serifa rm
+SerifaBT-Roman 0256 bsfr8a serifa rm
+SerifaBT-Thin 0252 bsfa8a serifa rm
+SerifaBT-ThinItalic 0253 bsfai8a serifa rm
+ShotgunBT-Regular 0167 bs4r8a shotgun rm
+ShotgunBlanksBT-Regular 0234 bs4rl8a shotgun rm
+SnellBT-Black 0198 bs5c8a snell rm
+SnellBT-Bold 0197 bs5b8a snell rm
+SnellBT-Regular 0196 bs5r8a snell rm
+SouvenirITCbyBT-Demi 0021 bsvd8a souvenir rm
+SouvenirITCbyBT-DemiItalic 0022 bsvdi8a souvenir rm
+SouvenirITCbyBT-Light 0019 bsvl8a souvenir rm
+SouvenirITCbyBT-LightItalic 0020 bsvli8a souvenir rm
+Square721BT-Bold 0247 besb8a eurostil sf
+Square721BT-BoldCondensed 0249 besb8ac eurostil sf
+Square721BT-BoldExtended 0251 besb8ax eurostil sf
+Square721BT-Roman 0246 besr8a eurostil sf
+Square721BT-RomanCondensed 0248 besr8ac eurostil sf
+Square721BT-RomanExtended 0250 besr8ax eurostil sf
+SquareSlabserif711BT-Bold 0412 bcyb8a city rm
+SquareSlabserif711BT-Light 0410 bcyl8a city rm
+SquareSlabserif711BT-Medium 0411 bcym8a city rm
+Staccato222BT-Regular 0610 bmsr8a mistral rm
+Staccato555BT-RegularA 1153 bczr8a choc rm
+StencilBT-Regular 0191 bslr8a stencil rm
+StuyvesantBT-Regular 0980 bs6r8a stuyvesa rm
+StymieBT-Bold 0218 bymb8a stymie rm
+StymieBT-BoldItalic 0692 bymbi8a stymie rm
+StymieBT-ExtraBold 0219 bymx8a stymie rm
+StymieBT-ExtraBoldCondensed 0910 bymx8ac stymie rm
+StymieBT-Light 0216 byml8a stymie rm
+StymieBT-LightItalic 0679 bymli8a stymie rm
+StymieBT-Medium 0217 bymm8a stymie rm
+StymieBT-MediumItalic 0689 bymmi8a stymie rm
+Swiss721BT-Black 0007 bhvc8a helvetic sf
+Swiss721BT-BlackCondensed 0173 bhvc8ac helvetic sf
+Swiss721BT-BlackCondensedItalic 0174 bhvci8ac helvetic sf
+Swiss721BT-BlackExtended 0374 bhvc8ax helvetic sf
+Swiss721BT-BlackItalic 0008 bhvci8a helvetic sf
+Swiss721BT-BlackOutline 0563 bhvcl8a helvetic sf
+Swiss721BT-BlackRounded 0815 bhrc8a hvround sf
+Swiss721BT-Bold 0005 bhvb8a helvetic sf
+Swiss721BT-BoldCondensed 0010 bhvb8ac helvetic sf
+Swiss721BT-BoldCondensedItalic 0172 bhvbi8ac helvetic sf
+Swiss721BT-BoldCondensedOutline 0767 bhvbl8ac helvetic sf
+Swiss721BT-BoldExtended 0373 bhvb8ax helvetic sf
+Swiss721BT-BoldItalic 0006 bhvbi8a helvetic sf
+Swiss721BT-BoldOutline 0175 bhvbl8a helvetic sf
+Swiss721BT-BoldRounded 0813 bhrb8a hvround sf
+Swiss721BT-Heavy 0102 bhvh8a helvetic sf
+Swiss721BT-HeavyItalic 0103 bhvhi8a helvetic sf
+Swiss721BT-Italic 0004 bhvri8a helvetic sf
+Swiss721BT-ItalicCondensed 0171 bhvri8ac helvetic sf
+Swiss721BT-Light 0001 bhvl8a helvetic sf
+Swiss721BT-LightCondensed 0169 bhvl8ac helvetic sf
+Swiss721BT-LightCondensedItalic 0170 bhvli8ac helvetic sf
+Swiss721BT-LightExtended 0371 bhvl8ax helvetic sf
+Swiss721BT-LightItalic 0002 bhvli8a helvetic sf
+Swiss721BT-Medium 0759 bhvm8a helvetic sf
+Swiss721BT-MediumItalic 0760 bhvmi8a helvetic sf
+Swiss721BT-Roman 0003 bhvr8a helvetic sf
+Swiss721BT-RomanCondensed 0009 bhvr8ac helvetic sf
+Swiss721BT-RomanExtended 0372 bhvr8ax helvetic sf
+Swiss721BT-Thin 0100 bhva8a helvetic sf
+Swiss721BT-ThinItalic 0101 bhvai8a helvetic sf
+Swiss911BT-ExtraCompressed 0105 bhvh8aq helvetic sf
+Swiss911BT-UltraCompressed 0106 bhvh8au helvetic sf
+Swiss921BT-RegularA 0562 bhir8a hvinsera sf
+Swiss924BT-RegularB 0969 bhsr8a hnseati sf
+SymbolITCbyBT-Bold 0554 bsyb8a symbol rm
+SymbolITCbyBT-BoldItalic 0555 bsybi8a symbol rm
+SymbolProportionalBT-Regular 9830 bpi002 symbpro rm
+TangoBT-Regular 1151 bt0r8a tango rm
+ThunderbirdBT-Regular 0606 bt1r8a thunderb rm
+TiffanyITCbyBT-Demi 0224 btfd8a tiffany rm
+TiffanyITCbyBT-DemiItalic 0225 btfdi8a tiffany rm
+TiffanyITCbyBT-Heavy 0226 btfh8a tiffany rm
+TiffanyITCbyBT-HeavyItalic 0227 btfhi8a tiffany rm
+TiffanyITCbyBT-Light 0220 btfl8a tiffany rm
+TiffanyITCbyBT-LightItalic 0221 btfli8a tiffany rm
+Transitional511BT-Bold 0270 bndb8a ncaledon rm
+Transitional511BT-BoldItalic 0271 bndbi8a ncaledon rm
+Transitional511BT-Italic 0267 bndri8a ncaledon rm
+Transitional511BT-Roman 0266 bndr8a ncaledon rm
+Transitional521BT-BoldA 0915 beab8a lectra rm
+Transitional521BT-CursiveA 0914 bearw8a lectra rm
+Transitional521BT-RomanA 0913 bear8a lectra rm
+Transitional551BT-MediumB 0884 bffm8a fairfld rm
+Transitional551BT-MediumItalicB 0885 bffmi8a fairfld rm
+TypoUprightBT-Regular 0939 bt2r8a typo rm
+UmbraBT-Regular 1074 bumr8a umbra sf
+UniversityRomanBT-Bold 0317 buyb8a universi rm
+UniversityRomanBT-Regular 0316 buyr8a universi rm
+VAGRoundedBT-Regular 0756 bvrr8a vagrnd sf
+Venetian301BT-Bold 1099 burb8a centaur rm
+Venetian301BT-BoldItalic 1100 burbi8a centaur rm
+Venetian301BT-Demi 1097 burd8a centaur rm
+Venetian301BT-DemiItalic 1098 burdi8a centaur rm
+Venetian301BT-Italic 1096 burri8a centaur rm
+Venetian301BT-Roman 1095 burr8a centaur rm
+VinetaBT-Regular 0215 bv0r8a vineta rm
+WeddingTextBT-Regular 0985 bw0r8a weddingt rm
+WeidemannITCbyBT-Bold 1091 bwdb8a weideman rm
+WeidemannITCbyBT-BoldItalic 1092 bwdbi8a weideman rm
+WindsorBT-Elongated 0327 bwnr8ax windsor rm
+WindsorBT-Light 0909 bwnl8a windsor rm
+WindsorBT-LightCondensed 0326 bwnl8ac windsor rm
+WindsorBT-Outline 0988 bwnrl8a windsor rm
+WindsorBT-Roman 0122 bwnr8a windsor rm
+ZapfCalligraphic801BT-Bold 0025 bplb8a palatino rm
+ZapfCalligraphic801BT-BoldItal 0026 bplbi8a palatino rm
+ZapfCalligraphic801BT-Italic 0024 bplri8a palatino rm
+ZapfCalligraphic801BT-Roman 0023 bplr8a palatino rm
+ZapfChanceryITCbyBT-Bold 0450 bzcb8a zapfchan rm
+ZapfChanceryITCbyBT-Demi 0449 bzcd8a zapfchan rm
+ZapfChanceryITCbyBT-Medium 0447 bzcm8a zapfchan rm
+ZapfChanceryITCbyBT-MediumItal 0448 bzcmi8a zapfchan rm
+ZapfDingbatsITCbyBT-Regular 8556 bzdr zapfding rm
+ZapfElliptical711BT-Bold 0053 bmlb8a melior rm
+ZapfElliptical711BT-BoldItalic 0054 bmlbi8a melior rm
+ZapfElliptical711BT-Italic 0052 bmlri8a melior rm
+ZapfElliptical711BT-Roman 0051 bmlr8a melior rm
+ZapfHumanist601BT-Bold 0017 bopb8a optima sf
+ZapfHumanist601BT-BoldItalic 0018 bopbi8a optima sf
+ZapfHumanist601BT-Demi 0134 bopd8a optima sf
+ZapfHumanist601BT-DemiItalic 0135 bopdi8a optima sf
+ZapfHumanist601BT-Italic 0016 bopri8a optima sf
+ZapfHumanist601BT-Roman 0015 bopr8a optima sf
+ZapfHumanist601BT-Ultra 0136 bopu8a optima sf
+ZapfHumanist601BT-UltraItalic 0137 bopui8a optima sf
+ZurichBT-Black 0182 bunc8a univers sf
+ZurichBT-BlackExtended 0262 bunc8ax univers sf
+ZurichBT-BlackItalic 0183 bunci8a univers sf
+ZurichBT-Bold 0180 bunb8a univers sf
+ZurichBT-BoldCondensed 0300 bunb8ac univers sf
+ZurichBT-BoldCondensedItalic 0301 bunbi8ac univers sf
+ZurichBT-BoldExtended 0261 bunb8ax univers sf
+ZurichBT-BoldExtraCondensed 0960 bunb8aq univers sf
+ZurichBT-BoldItalic 0181 bunbi8a univers sf
+ZurichBT-ExtraBlack 0970 bunx8a univers sf
+ZurichBT-ExtraCondensed 0959 bunr8aq univers sf
+ZurichBT-Italic 0179 bunri8a univers sf
+ZurichBT-ItalicCondensed 0299 bunri8ac univers sf
+ZurichBT-Light 0176 bunl8a univers sf
+ZurichBT-LightCondensed 0296 bunl8ac univers sf
+ZurichBT-LightCondensedItalic 0297 bunli8ac univers sf
+ZurichBT-LightExtraCondensed 0958 bunl8aq univers sf
+ZurichBT-LightItalic 0177 bunli8a univers sf
+ZurichBT-Roman 0178 bunr8a univers sf
+ZurichBT-RomanCondensed 0298 bunr8ac univers sf
+ZurichBT-RomanExtended 0260 bunr8ax univers sf
+ZurichBT-UltraBlackExtended 0263 bunu8ax univers sf