summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/fontinst/base/manual
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/fontinst/base/manual')
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.dvibin207780 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.pdfbin381721 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.tex4160
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.dvibin62532 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.pdfbin172067 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.tex1330
-rw-r--r--Master/texmf-dist/doc/fonts/fontinst/base/manual/roadmap.eps265
7 files changed, 0 insertions, 5755 deletions
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.dvi b/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.dvi
deleted file mode 100644
index ae8133acad4..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.pdf b/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.pdf
deleted file mode 100644
index 20c50851cdd..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.tex b/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.tex
deleted file mode 100644
index 19f5f012231..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/fontinst.tex
+++ /dev/null
@@ -1,4160 +0,0 @@
-%%% ====================================================================
-%%% @LaTeX-file{
-%%% author = "Alan Jeffrey and Rowland McDonnell and
-%%% Ulrik Vieth and Lars Hellstr{\"o}m",
-%%% version = "1.928",
-%%% date = "2004-12-16",
-%%% time = "12:18:32 +01:00",
-%%% filename = "fontinst.tex",
-%%% email = "fontinst@tug.org",
-%%% checksum = "",
-%%% codetable = "ISO/ASCII",
-%%% keywords = "fontinst, TeX, PostScript, documentation",
-%%% supported = "yes",
-%%% abstract = "This is the documentation for the fontinst
-%%% font installation package.",
-%%% package = "fontinst",
-%%% dependencies = "ltxguide.cls, url.sty, xspace.sty"
-%%% }
-%%% ====================================================================
-
-% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey
-
-% Modified by Rowland McDonnell June 1998
-% Modified and revised by Ulrik Vieth June 1998
-% Modified by Lars Hellstr\"om July 2004
-
-
-\documentclass[a4paper]{ltxguide}
-\usepackage[OT1]{fontenc}
-\usepackage{url,xspace}
-\usepackage{graphicx}
-
-\IfFileExists{palatino.flag}{
- \renewcommand\rmdefault{ppl}
-}
-%\renewcommand\rmdefault{padx}
-%\renewcommand\rmdefault{pmnx}
-
-% \MakeShortVerb{\|}
-
-
-% Title page and running heads.
-
-\makeatletter
-\newcommand{\subtitle}[1]{\renewcommand{\@subtitle}{#1}}
-\newcommand{\version}[1]{\renewcommand{\@version}{#1}}
-\newcommand{\illustration}[1]{\renewcommand{\@illustration}{#1}}
-
-\newcommand{\@subtitle}{}
-\newcommand{\@version}{???}
-\newcommand{\@illustration}{cover.eps}
-
-% \pagestyle{myheadings}
-% \AtBeginDocument{\markright{\small\itshape
-% \@author\hfill\@title: \@subtitle\quad}}
-
-
-\renewcommand{\maketitle}{{%
- \thispagestyle{empty}%
- \normalfont\centering
- \null
- {\fontsize{100}{100}\textit{\@title}}%
- \par\bigskip
- {\Large\textbf{\@subtitle}}%
- \vfill
- \includegraphics[width=\textwidth]{\@illustration}%
- \vfill
- {\Large\textbf{%
- \def\and{\egroup\qquad\hbox\bgroup}
- \leavevmode \hbox{\@author}\\[\smallskipamount]
- \@title~v\@version
- \quad\textperiodcentered\quad \@date}}%
- \clearpage
-}}
-\makeatother
-
-
-% Set lists tighter (assuming non-zero \parskip).
-
-\makeatletter
-\renewcommand{\@listI}{%
- \leftmargin\leftmargini
- \parsep\medskipamount
- \itemsep\z@ % + parsep
- \topsep\z@ % + parskip
- \partopsep\z@
-}
-\newenvironment{isyntax}{%
- \let\\\@centercr
- \list{}{%
- \itemsep \z@
- \itemindent -1.5em%
- \listparindent \itemindent
- \advance \leftmargin 1.5em%
- }%
- \advance \rightskip \z@\@plus0.7\linewidth \relax
- \linepenalty=100\relax
- \item\relax
-}{\endlist}
-\makeatother
-
-\newenvironment{smalldes}{%
- \list{}{%
- \setlength\labelwidth{0pt}%
- \setlength\itemindent{-\leftmargin}%
- \setlength\listparindent{1em}%
- \setlength\parsep{0pt}%
- \setlength\itemsep{0pt plus 1pt}%
- \setlength\topsep{\itemsep}%
- \let\makelabel\descriptionlabel
- }%
-}{\endlist}
-
-\newenvironment{hackernote}{%
- \list{}{
- \setlength{\leftmargin}{0pt}%
- \setlength\labelwidth{0pt}%
- \setlength{\listparindent}{1.4em}%
- \setlength{\parsep}{0pt plus 1pt}%
- \setlength{\itemsep}{\medskipamount}%
- }\item[]%
- \small
- \textit{Note for hackers.}\hspace{0.5em}%
-}{\endlist}
-
-% % I don't use the <...> feature for verbatim,
-% % so I undo that ltxguide feature.
-% \makeatletter
-% \renewcommand{\verbatim@font}{%
-% \normalfont \ttfamily
-% % \catcode`\<=\active
-% % \catcode`\>=\active
-% }
-% \makeatother
-
-
-% ltxguide.cls decl environment, but with equal space above and
-% below.
-\DeleteShortVerb{\|}
-\makeatletter
-\newenvironment{decl*}[1][]{%
- \par
- \small\addvspace{2.3ex}%
- \vskip -\parskip
- \ifx\relax#1\relax
- \def\@decl@date{}%
- \else
- \def\@decl@date{\NEWfeature{#1}}%
- \fi
- \noindent\hspace{-\leftmargini}%
- \begin{tabular}{|l|}%
- \hline\ignorespaces
-}{%
- \\\hline
- \end{tabular}%
- \nobreak\@decl@date\par\nobreak
- \vspace{2.3ex}\vskip -\parskip
-}
-\makeatother
-\MakeShortVerb{\|}
-
-
-% Set spacing around captions.
-
-\setlength{\abovecaptionskip}{\medskipamount}
-\setlength{\belowcaptionskip}{\medskipamount}
-
-% Markup for logos, file types, programs, etc.
-
-\newcommand*{\meta}{\m}
-\newcommand*{\marg}{\arg}
-\newcommand*{\parg}[1]{\texttt{(}\m{#1}\texttt{)}}
-
-\newcommand*{\cs}[1]{\texttt{\char`\\ #1}\xspace}
-
-\newcommand*{\OzTeX}{O\kern-.03em z\kern-.15em\TeX}
-\newcommand*{\OzMF}{O\kern-.03em zMF}
-\newcommand*{\OzTools}{O\kern-.03em z\kern-.15em Tools}
-
-\newcommand{\PS}{Post\-Script\xspace}
-\newcommand{\TT}{True\-Type\xspace}
-
-\newcommand*{\setfilename}[1]{\texttt{#1}}
-\newcommand*{\setdotfilename}[1]{\setfilename{.#1}}
-\newcommand*{\setpackagename}[1]{\textsf{#1}}
-
-\newcommand{\dvips} {\setpackagename{dvips}\xspace}
-\newcommand{\Dvips} {\setpackagename{Dvips}\xspace}
-\newcommand{\fontinst}{\setpackagename{font\-inst}\xspace}
-\newcommand{\Fontinst}{\setpackagename{Font\-inst}\xspace}
-\newcommand{\fontdoc}{\setpackagename{font\-doc}\xspace}
-\newcommand{\Fontdoc}{\setpackagename{Font\-doc}\xspace}
-
-% \show\fontname
-\newcommand{\fontnamekb}{fontname\xspace}
-\newcommand{\Fontnamekb}{Fontname\xspace}
-
-\newcommand{\mf} {\setfilename{mf}\xspace}
-\newcommand{\Mf} {\setfilename{Mf}\xspace}
-\newcommand{\vf} {\setfilename{vf}\xspace}
-\newcommand{\Vf} {\setfilename{Vf}\xspace}
-\newcommand{\pl} {\setfilename{pl}\xspace}
-\newcommand{\Pl} {\setfilename{Pl}\xspace}
-\newcommand{\fd} {\setfilename{fd}\xspace}
-\newcommand{\Fd} {\setfilename{Fd}\xspace}
-\newcommand{\pk} {\setfilename{pk}\xspace}
-\newcommand{\Pk} {\setfilename{Pk}\xspace}
-\newcommand{\afm}{\setfilename{afm}\xspace}
-\newcommand{\Afm}{\setfilename{Afm}\xspace}
-\newcommand{\vpl}{\setfilename{vpl}\xspace}
-\newcommand{\Vpl}{\setfilename{Vpl}\xspace}
-\newcommand{\tfm}{\setfilename{tfm}\xspace}
-\newcommand{\Tfm}{\setfilename{Tfm}\xspace}
-\newcommand{\mtx}{\setfilename{mtx}\xspace}
-\newcommand{\Mtx}{\setfilename{Mtx}\xspace}
-\newcommand{\etx}{\setfilename{etx}\xspace}
-\newcommand{\Etx}{\setfilename{Etx}\xspace}
-\newcommand{\pfa}{\setfilename{pfa}\xspace}
-\newcommand{\Pfa}{\setfilename{Pfa}\xspace}
-\newcommand{\pfb}{\setfilename{pfb}\xspace}
-\newcommand{\Pfb}{\setfilename{Pfb}\xspace}
-\newcommand{\dvi}{\setfilename{dvi}\xspace}
-\newcommand{\Dvi}{\setfilename{Dvi}\xspace}
-\newcommand{\pdf}{\setfilename{pdf}\xspace}
-\newcommand{\Pdf}{\setfilename{Pdf}\xspace}
-\newcommand{\ttf}{\setfilename{ttf}\xspace}
-\newcommand{\Ttf}{\setfilename{Ttf}\xspace}
-
-\newcommand{\vftovp}{\setpackagename{vftovp}\xspace}
-\newcommand{\vptovf}{\setpackagename{vptovf}\xspace}
-\newcommand{\pltotf}{\setpackagename{pltotf}\xspace}
-\newcommand{\tftopl}{\setpackagename{tftopl}\xspace}
-
-\newcommand{\BibTeX}{Bib\TeX}
-
-
-% % Stolen from Dr Knuth
-% \makeatletter % borrow the private macros of PLAIN (with care)
-% \def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
-% \def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant
-% % macros for font tables
-% \def\oddline#1{\cr
-% \noalign{\nointerlineskip}
-% \multispan{19}\hrulefill&
-% \setbox0=\hbox{\lower 2.3pt\hbox{\hex{#1x}}}\smash{\box0}\cr
-% \noalign{\nointerlineskip}}
-% \def\evenline{\cr\noalign{\hrule}}
-% \def\chartstrut{\lower4.5pt\vbox to14pt{}}
-% \def\beginchart#1{$$\global\count@=0 #1
-% \halign to\hsize\bgroup
-% \chartstrut##\tabskip0pt plus10pt&
-% &\hfil##\hfil&\vrule##\cr
-% \lower6.5pt\null
-% &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
-% \def\endchart{\raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
-% &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$}
-% \def\*{\global\advance\count@ by1 }
-% \def\:{\setbox0=\hbox{\char\count@}%
-% \ifdim\ht0>7.5pt\reposition
-% \else\ifdim\dp0>2.5pt\reposition\fi\fi
-% \box0\global\advance\count@ by1 }
-% \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}
-% \def\smallchart{%
-% %\global\advance\count@ by16
-% &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
-% &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
-% &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
-% &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
-% &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
-% &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
-% &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
-% &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
-% &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
-%
-% \def\bigchart{%
-% %\global\advance\count@ by16
-% &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
-% &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
-% &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
-% &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
-% &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
-% &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
-% &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
-% &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
-% &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{20x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline8
-% &\oct{21x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{22x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline9
-% &\oct{23x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{24x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{A}
-% &\oct{25x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{26x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{B}
-% &\oct{27x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{30x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{C}
-% &\oct{31x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{32x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{D}
-% &\oct{33x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{34x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{E}
-% &\oct{35x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
-% &\oct{36x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{F}
-% &\oct{37x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
-%
-% % \font\xrm = cmr10 at 10pt % change this line to test font
-% % \beginchart\xrm \normalchart \endchart
-%
-% \newcommand{\smallfontchart}[1]{%
-% \font\xrm = #1 \beginchart\xrm \smallchart \endchart}
-% \newcommand{\bigfontchart}[1]{%
-% \font\xrm = #1 \beginchart\xrm \bigchart \endchart}
-%
-% % \smallfontchart{cmr10 at 10pt}
-% % \bigfontchart{ecrm1000 at 10pt}
-% \makeatother
-% % End stolen from Dr Knuth
-
-
-
-\title{fontinst}
-\subtitle{Font installation software for \TeX}
-\author{Alan Jeffrey\and Rowland McDonnell\and Lars Hellstr\"om}
-\illustration{roadmap.eps}
-\version{1.9}
-\date{December 2004}
-
-\begin{document}
-
-\maketitle
-
-\begin{itshape}
- This manual is currently being rewritten, and may therefore be a
- bit disorganised. For authoritative information on command syntaxes
- and the like, see the Literate Programming sources for
- \fontinst. The main file there is \textsl{\texttt{fisource.tex}}.
-\end{itshape}
-
-\bigskip
-
-\begin{footnotesize}
- This manual describes the \texttt{fontinst} software for converting
- fonts from Adobe Font Metric format to forms readable by \TeX. This
- manual should be distributed with the \texttt{fontinst} software,
- which is available by anonymous FTP from
- \url{ftp://ftp.tex.ac.uk/tex-archive/fonts/utilities/fontinst}, and
- on the various CD-ROMs containing material from the CTAN archives.
- Please do not contact the author directly for copies.
-
- If you would like to report a bug with \texttt{fontinst}, please
- mail \url{fontinst@tug.org}. The mail will be sent to the
- \texttt{fontinst} mailing list. If you would like to be on the
- \texttt{fontinst} mailing list, see
- \url{http://tug.org/mailman/listinfo/fontinst}.
-\end{footnotesize}
-
-\tableofcontents
-
-% \vfill
-
-\clearpage
-
-
-% \section{Introduction}
-%
-% Digital fonts, as they may be bought from a foundry or other supplier,
-% are usually not directly usable with \LaTeX. An obvious problem can be
-% that the font information is not available in a format that \LaTeX\
-% understands. A more subtle problem is that the fonts are often
-% organised in a way that is unsuitable for automatic typesetting.
-% % \Fontinst was written to overcome these problems.
-%
-% % The main thing \fontinst does is creating virtual fonts (\vf's).
-%
-%
-% % The \fontinst package is a set of \TeX\ macros written to create
-% % virtual fonts for use with \TeX.
-
-
-\section{Defining terms}
-
-This is rather a large and perhaps tedious section. You might be
-tempted to skip it so you can get to some more direct information on
-how to use \fontinst. That's fine if you understand everything about
-how \TeX\ handles fonts. If not, I suggest you at least skim though
-this section.
-
-\subsection{What's a font?}
-
-Once upon a time, this question was easily answered: a font is a
-set of type in one size, style, etc. There used to be no
-ambiguity, because a font was a collection of chunks of type metal
-kept in a drawer, one drawer for each font.
-
-These days, with digital typesetting, things are more complicated.
-What a font `is' isn't easy to pin down. A typical use of a \PS
-font with \LaTeX\ might use these elements:
-\begin{itemize}
-\item Type 1 printer font file
-\item Bitmap screen font file
-\item Adobe font metric file (\afm file)
-\item \TeX\ font metric file (\tfm file)
-\item Virtual font file (\vf file)
-\item font definition file (\fd file)
-\end{itemize}
-Looked at from a particular point of view, each of these files
-`is' the font. So what's going on?
-
-
-\subsubsection{Type 1 printer font files}
-
-These files contain the information needed by your printer to draw
-the shapes of all the characters in a font. They're typically
-files with a \pfa or \pfb extension; on Macs they're usually in
-files of type `LWFN' which usually have icons that look like a
-laser printer. The information in all these files is basically
-the same: the only difference is in its representation. \pfa
-stands for `printer font ASCII', while \pfb stands for `printer
-font binary'. That is, \pfa files contain plain text information,
-while \pfb files contain the same information encoded as
-machine-readable binary data.
-
-If you have Adobe Type Manager (ATM) installed on your computer,
-ATM will use these files to draw an accurate representation of the
-letters on the screen of your computer when you are previewing a
-\TeX\ document.
-
-Printer font files are not used directly by \TeX\ at all -- \TeX\
-just prepares a \dvi file that refers to the fonts by name and the
-characters by number: \TeX\ knows nothing about the shapes
-involved. The DVI driver uses the printer font files when you ask
-it to print the \dvi file. This means that you can produce a \dvi
-file which uses, say, Palatino, even if you do not have the
-Type~1 printer font file for this font on your computer. You will
-need to find a computer that does have Palatino before you can
-print it or preview it, though.
-
-Pdf\TeX\ is different from \TeX\ in this respect; since pdf\TeX\
-integrates most of the functionality of a DVI driver, it may be unable
-to generate working \pdf output if the some Type~1 printer font file
-is not available.
-
-
-\subsubsection{Bitmap screen font files}
-
-These files contain a low-resolution bitmap for drawing a
-representation of the font on the screen of your computer if ATM
-is not installed. In the \TeX\ world, these files are only used
-for screen previews by the DVI driver. They are kept in font
-suitcase files on Macintoshes.
-%\marginnote{And where on other computers?}
-
-
-\subsubsection{Adobe font metric files (\afm files)}
-
-These files are text files which contain information about the
-size of each character in a font, kerning and ligature
-information, and so on. They can't be used by \TeX\ directly, but
-the information they contain is essential if you want to use a
-font with \TeX. \Fontinst can create from an \afm file the
-necessary \tfm and \vf files so you can use a font with \TeX.
-Once you have created all the files you need to use a font with
-\TeX, you can remove the corresponding \afm files from your
-computer unless you have other software that needs them.
-
-The job of turning an \afm file into a set of \tfm and \vf files
-is one of the main uses for \fontinst. Most of this document is
-concerned with this process, so don't worry if it seems a bit
-vague at the moment.
-
-
-\subsubsection{\TeX\ font metric files (\tfm files)}
-
-These are binary data files in a format designed for use by \TeX\
-which contain (more-or-less) the same information as \afm files:
-the size of each character in a font (font metric data), kerning,
-and ligature information.
-
-When you select a font in \TeX, you are telling \TeX\ to typeset
-using a particular \tfm file; from \TeX's point of view, a \tfm
-file (and nothing else) \emph{is} a font. \TeX\ itself doesn't
-see printer font files, screen bitmaps, \pk files, \vf files, or
-anything else to do with fonts: only \tfm files.
-
-\TeX\ uses these \tfm files to decide where to put characters when
-typesetting. From \TeX's point of view, \tfm files are fonts,
-even though they contain no information about the shape of
-letters, and are not used by anything except \TeX\ -- once you
-have produced a \dvi file, you don't need the \tfm files to print
-it out. (This is a slight lie: \dvips can read \tfm files
-corresponding to \PS and \TT fonts so it can modify the metrics
-slightly to improve the letterspacing at your chosen output
-resolution. This is an optional minor tweak and not an essential
-part of the output process.)
-
-
-\subsubsection{Property list files (\pl files)}
-
-\pl files are human-readable text files which contain all the font
-metric, kerning, ligature, and other information needed to create
-a \tfm file. You can convert between the two file formats using
-\tftopl and \pltotf.
-
-
-\subsubsection{Virtual font files (\vf files)}
-
-These are binary data files in a format designed for use by \TeX\
-\dvi drivers. They're main purpose in life is to let you use
-fonts in different encodings to the standard \TeX\ encodings.
-These files are used by \dvi driver software only.
-
-They are used only by \dvi drivers to work out what it should
-\emph{really} print when you ask for a particular character.
-Technically they are like subroutine libraries for \dvi drivers,
-with one subroutine for each character in the virtual font: when
-the \dvi driver sees a \dvi command to set a character from a virtual
-font, it will execute a sequence of \dvi commands (the ``mapcommands
-property'' of this character) that it reads in the \vf file. You need
-not worry about the details of this, as \fontinst deals with them for
-you. Creating and using virtual fonts is what this document is about,
-so don't worry if this doesn't make sense yet. (After all, how much
-do you need to know about the inner workings of \dvi files to typeset
-and print \TeX\ documents?)
-
-Each \vf file has a \tfm file with the same name. To use a
-virtual font, you select the \tfm file as the font to use in your
-document. When the \dvi driver comes across this \tfm file in the
-\dvi file, it looks up the \vf file and uses that to decide what
-to do.
-
-
-\subsubsection{Virtual property list files (\vpl files)}
-
-\vpl files are human-readable text files which contain all the
-font metric, kerning, mapping, and other information needed to
-create a \vf and \tfm pair.
-
-\vptovf will create a \vf/\tfm pair from a \vpl file. \vftovp
-will create a \vpl from a \vf/\tfm pair. \vftovp also needs to be
-able to read all the \tfm files that are referred to by a \vf to
-recreate the \vpl\ -- it looks at the checksums to verify that
-everything's okay.
-
-
-\subsubsection{Font definition files (\fd files)}
-
-These are files containing commands to tell \LaTeX\ which \tfm
-files to associate with a request for a font using \LaTeX's font
-selection commands.
-
-For example, here is a small and edited part of the \fd file
-supplied with \setpackagename{PSNFSS} to allow you to use the
-Adobe Times font in T1 encoding:
-
-\begin{verbatim}
- \ProvidesFile{t1ptm.fd}
- [1997/02/11 Fontinst v1.6 font definitions for T1/ptm.]
-
- \DeclareFontFamily{T1}{ptm}{}
-
- \DeclareFontShape{T1}{ptm}{m}{n} {<<->> ptmr8t}{}
- \DeclareFontShape{T1}{ptm}{m}{it}{<<->> ptmri8t}{}
- ...
- \DeclareFontShape{T1}{ptm}{b}{n} {<<->> ptmb8t}{}
- \DeclareFontShape{T1}{ptm}{b}{it}{<<->> ptmbi8t}{}
- ...
-\end{verbatim}
-What this means is: when you use \LaTeX\ to select the font family
-|ptm| in T1 encoding in the medium series (|m|) and normal shape
-(|n|), \TeX\ uses the font \texttt{ptmr8t.tfm}. Similarly, if you
-select bold italic, \TeX\ uses \texttt{ptmbi8t.tfm}.
-
-\LaTeX\ works out which \fd file to load based on the current
-encoding and font family selected. If you've selected T1 encoded
-|ptm| like this:
-\begin{verbatim}
- \fontencoding{T1}\fontfamily{ptm}\selectfont
-\end{verbatim}
-\LaTeX\ loads the file \url{t1ptm.fd} (if it doesn't exist, you're
-in trouble). As you can see above, this file contains information
-so that \LaTeX\ knows which \tfm file to use. So if you ask for,
-say, |T1/ptm/b/it| (T1 encoded Times-Roman, bold series, italic
-shape), you get the font \texttt{ptmbi8t}.
-
-You can find more about \fd files and \LaTeX's font selection commands
-at CTAN:
-\url{ftp://ftp.tex.ac.uk/tex-archive/macros/latex/base/fntguide.tex}
-and \url{ftp://ftp.tex.ac.uk/tex-archive/info/simple-nfss.tex} are
-both useful.
-
-
-\subsection{What does \fontinst do?}
-
-\fontinst creates \vpl and \pl files from \afm or \pl files to map
-any glyph or combination of glyphs in the original font files to
-any slot in the output font file. There, isn't that better? Off
-you go now\ldots
-
-If you're still confused, I'll explain a few things.
-\begin{description}
-\item[Glyph]
- A glyph is an image, often associated with one or several characters.
- Some examples of glyphs are:
- `A', `\textsf{A}', `$\mathcal{A}$', `B', `F',
- `{\usefont{OT1}{cmr}{m}{n}f}',
- `{\usefont{OT1}{cmr}{m}{n}fi}', `\~{}'.
- Fonts are collections of glyphs. \Fontinst refers to glyphs by name.
-\item[Slot]
- This is jargon for `a numbered position in a font'. (What is
- important is the number, and that this number refers to a position
- in a font, but which font is usually irrelevant.)
-\item[Character]
- The modern definition is that a character is the smallest component
- of written language that has semantic value. Speaking of a
- character, one refers to the abstract meaning and/or shape, rather
- than a specific shape.
-
- Since fonts have often contained a unique glyph for each character
- and each usable glyph has been assigned a particular slot,
- it is not uncommon (in particular in older terminology) to see the
- three mixed up, usually so that one says `character' where one of
- the other two would have been more correct. The \TeX-related font
- file formats is no exception, as you may see examples of elsewhere
- in this document.
-\item[Encoding]
- There are really two different encoding concepts that one encounters
- when using \fontinst. The differences are not great, and an
- encoding of one kind often corresponds to an encoding of the other
- kind, but it is not merely a matter of translation.
-
- A \emph{\LaTeX\ encoding} is a mapping from characters (or more
- formally \LaTeX\ Internal Character Representations) to slots.
- In the \texttt{OT1} encoding, `\o' (or more technically `|\o|') maps
- to slot~28, whereas in the \texttt{T1} encoding it maps to slot~248.
- This kind of encoding affects what \TeX\ is doing; \dvi drivers are
- not involved.
-
- A \emph{font encoding} (or \emph{encoding vector}) is a mapping from
- slots to glyph names. This is the kind of encoding that \fontinst
- primarily deals with, and also the kind of encoding that \dvi
- drivers make use of. \texttt{ot1.etx} associates slot~28 with
- `\texttt{oslash}', whereas \texttt{t1.etx} and \texttt{EC.enc} (one
- of several to \texttt{T1} corresponding encoding vectors that come
- with \dvips) associates slot~28 with `\texttt{fi}'.
-
- \LaTeX\ encodings occur in \fontinst only as names and only in
- relation to \fd files. It is unlikely that you will need to create
- one of your own. The mappings defined by font encodings are on the
- other hand of great importance and \etx files are used to direct
- the generation of virtual fonts. Advanced \fontinst users may well
- find that they need to create new font encodings to achieve their
- goals.
-\end{description}
-
-% You're probably familiar with ASCII
-% encoding, which has the letter `A' in slot~65, `B' in slot~66,
-% and so on. That's it, really. \TeX\ uses several different
-% encodings. The most common ones are OT1 (the original \TeX\
-% 7~bit encoding) and T1 (the newer \TeX\ 8~bit encoding).
-% % -- much more on this later.
-
-The thing is that the average \PS font comes in Adobe standard
-encoding, which, for example, has the glyph dotless~i `\i' in
-slot~245. But \TeX\ \texttt{T1} encoding expects the glyph o~dieresis
-`{\"o}' in that slot, and wants dotless~i in slot~25. So if you
-tried to use a raw \PS font with \TeX, any time you tried to get
-a `{\"o}', you'd get a `\i'; and every time you tried to get a `\i',
-you'd get a blank, because Adobe standard encoding says that
-slot~25 is empty. The process of dealing with this problem is
-called `re-encoding', and is what \fontinst helps with.
-
-This might not make much sense yet; the best thing to do is relax.
-There's a lot of things that need to be dealt with when you're
-setting up \LaTeX\ to use a new font, so you can expect to be a
-bit confused until you've done it a few times.
-
-
-\subsection{What do you do with \fontinst?}
-
-If you're using \fontinst, the usual steps you need to take to use
-an ordinary \PS text font with \LaTeX\ are these:
-
-\begin{enumerate}
-\item Give the \afm files an appropriate name.
-\item Use \fontinst to produce an |8r| encoded \pl files from
- these \afm files.
-\item Use \fontinst to create T1 and OT1 encoded \pl and \vpl
- files from the |8r| encoded \pl files (this procedure will also
- create suitable \fd files).
-\item Use \pltotf to turn each \pl file into a \tfm file.
-\item Use \vptovf to turn each \vpl file into a pair of \vf and
- \tfm files.
-\item Move the \tfm, \vf, and \fd files into the appropriate
- directories so \LaTeX\ can see them.
-\item Tell your DVI driver about the new font (edit \dvips's
- \texttt{psfonts.map} file, or \OzTeX's \texttt{Default}
- configuration file.
-\item Perhaps write a package file to make selecting the new font
- a little easier.
-\item Test it.
-\end{enumerate}
-
-
-\section{Fontmaking commands}
-
-There are three main types of files that you may write to control what
-\fontinst does: \emph{command files} (usually with suffix
-\setdotfilename{tex}), \emph{encoding definition files} (suffix
-\setdotfilename{etx}), and \emph{metric files} (suffix
-\setdotfilename{mtx}). Command files directly tell \fontinst to do
-things, whereas the purpose of an encoding or metric file is more to
-store data, but all three file types are technically sequences of
-\TeX\ commands that \fontinst execute when reading the file. Normal
-\TeX\ syntax rules apply in all three file types, although a few
-commands may behave in unfamiliar ways.
-
-Within the command file category, it is possible to discern certain
-subcategories. Most command files are written for one particular
-task, but some are common pieces that have been factored out from
-larger command files and are merely meant to be |\input| where
-appropriate. (\setfilename{csc2x.tex} in the \fontinst distribution is
-an example of this latter kind.) One may also distinguish between
-command files that are made for use with \setfilename{fontinst.sty}
-command definitions and command files that are made for use with
-\setfilename{finstmsc.sty} command definitions. This section documents
-the commands that are particular to the former category, whereas the
-next section documents commands that are particular to the latter.
-
-
-\subsection{Install commands}
-
-The core fontmaking takes place within a block of ``install
-commands''. (This name is a bit unfortunate since nothing is actually
-installed; rather some files that need to be installed are generated.)
-Such blocks have the structure
-\begin{quote}
- |\installfonts|\\
- \m{install commands}\\
- |\endinstallfonts|
-\end{quote}
-The \m{install commands} describe the fonts, glyphs and encodings used
-to build fonts, whereas the purpose of the delimiting |\installfonts|
-and |\endinstallfonts| are rather to organise the writing of \fd files.
-\begin{decl*}
- |\installfonts|\\
- |\endinstallfonts|
-\end{decl*}
-At |\installfonts|, \fontinst's internal list of \fd files to generate
-are cleared. At |\endinstallfonts|, \fd files are written for those
-combinations of encoding and font family that appeared in the
-\meta{install commands}.
-
-\begin{hackernote}
- |\installfonts|, |\endinstallfonts|, and the individual
- install commands between them also cooperate in a rather complicated
- grouping scheme to cache glyphbases. This may interfere with
- non-\fontinst commands in the \meta{install commands}. If for
- example an assignment to some |\tracing|\dots\ parameter here does
- not seem to have any effect, try making the assignment |\global|.
-\end{hackernote}
-
-The most important \meta{install command} is
-\begin{decl*}
- |\installfont|\arg{font-name}\arg{metrics-list}\arg{etx-list}\\
- \hspace*{1.5em}\arg{encoding}\arg{family}\arg{series}%
- \arg{shape}\arg{size}
-\end{decl*}
-This produces a \TeX\ virtual font called \m{font-name}. The
-\meta{metrics-list} and the \meta{etx-list} determine this font,
-whereas the other arguments specify how the \fd file will declare it
-for \LaTeX. The \m{encoding}, \m{family}, \m{series}, and \m{shape}
-are precisely the NFSS parameters. The \m{size} is either a shorthand
-declared by \verb|\declaresize| (see below), or is an \fd size
-specification.
-
-Like most \fontinst lists, the elements in the \meta{metrics-list} and
-\meta{etx-list} are separated by commas (so-called comma-separated
-lists). In their simplest form, the elements of these lists are file
-names (minus suffixes): \mtx files in the \meta{metrics-list} and
-\etx files in the \meta{etx-list}. First the \mtx files are processed
-to build up a glyphbase, i.e., store definitions of glyphs and their
-metric properties in memory, and then the \etx files are processed
-(several times) to select a set of glyphs and write the corresponding
-information to a \vpl file.
-
-For example, to install the \texttt{T1}-encoded Times Roman font
-(using \texttt{t1.etx} and \texttt{latin.mtx}), you say:
-\begin{verbatim}
- \installfont{ptmr8t}{ptmr8r,latin}{t1}
- {T1}{ptm}{m}{n}{}
-\end{verbatim}
-To install a \texttt{OT1}-encoded Times Roman font, with a scaled
-version of Symbol for the Greek letters, you say:
-\begin{verbatim}
- \installfont{zptmrsy}{ptmr8r,psyr scaled 1100,latin}{ot1}
- {OT1}{ptm}{m}{n}{}
-\end{verbatim}
-
-As the second example indicates, there is more to the list items than
-just file names. In the case of an metrics list item, the syntax
-permits the two forms
-\begin{decl*}
- \meta{filename}\meta{optional modifiers}\\
- |\metrics| \meta{metric commands}
-\end{decl*}
-\NEWfeature{v1.923}
-where an \meta{optional modifier} is one of
-\begin{decl*}
- \verb*| scaled |\meta{rawscale factor}\\
- \verb*| suffix |\meta{glyph name suffix}\\
- \verb*| encoding |\meta{etx}\\
- \verb*| option |\meta{string}
-\end{decl*}
-A list item may contain several such modifiers, but most commonly it
-does not contain any. The
-\meta{metric commands} are explicit metric commands, as described in
-Section~\ref{Sec:Metric}; this latter feature is meant for minor
-adjustments that you don't want to bother creating a separate \mtx
-file for.
-
-The \meta{filename} above primarily refers to a file
-\meta{filename}\texttt{.mtx}, but that need not always exist before
-executing the above command. If there exists a \pl, \afm, or \vpl file
-with the right name then that is first converted to a corresponding
-\mtx file. However, a special case occurs if there is an |encoding|
-modifier: this forces conversion of a \pl or \vpl file even if an
-\mtx file exists, and also forces using the specified \etx file when
-assigning glyph names to the slots of that file. Normally the choice
-of \etx file for such conversions to \mtx is based on
-|\declareencoding| declarations.
-
-The |scaled| modifier sets the \texttt{rawscale} variable for the
-processing of that file. This has the effect of scaling all raw
-glyphs from that file to \meta{rawscale factor} per milles of their
-previous size. The |suffix| modified causes the \meta{glyph name
-suffix} to be implicitly appended to all glyphs defined by this file.
-The |option| modifier adds the \meta{string} to the list of ``options''
-for this file. The |\ifoption| command can be used in the file to test
-whether a particular string has been supplied as an option.
-
-\begin{hackernote}
- In general, \fontinst commands process comma-separated list arguments
- by first splitting at commas and then fully expanding each item, but
- this \meta{metrics-list} argument is an exception. This is first
- fully expanded (|\edef|) and then split into items. The difference
- is that a macro used in this \meta{metrics-list} argument can expand
- to several list items, whereas a macro used in an ordinary
- comma-separated list argument can only expand to (part of) a single
- list item.
-
- The |\metrics| list items do however constitute an exception within
- this exception. These list items are in their entirety protected
- from the initial full expansion, so you don't have to worry about
- peculiar fragility errors there.
-\end{hackernote}
-
-The elements in the \meta{etx-list} have fewer variants, but there is
-still a general syntax
-\begin{decl*}
- \meta{filename}\meta{optional modifiers}
-\end{decl*}
-The \meta{optional modifier}s permitted are:
-\begin{decl*}
- \verb*| mtxasetx|\\
- \verb*| option |\meta{string}
-\end{decl*}
-The \texttt{option} one is as for metric files. \texttt{mtxasetx} is
-probably only relevant for use with |\installrawfont| (see below).
-
-
-\begin{decl}[v1.912]
- |\installfontas|\arg{font-name}\\%
- \hspace*{1.5em}\arg{encoding}\arg{family}\arg{series}%
- \arg{shape}\arg{size}
-\end{decl}
-This install command adds an \fd entry for the \meta{font-name}, but
-it doesn't actually generate that font. Usually that font was
-generated by a previous |\installfont|, and this is used to create
-additional entries for the font.
-
-
-\begin{decl}
- |\installrawfont|\arg{font-name}\arg{metrics-list}\arg{etx-list}\\
- \hspace*{1.5em}\arg{encoding}\arg{family}\arg{series}%
- \arg{shape}\arg{size}
-\end{decl}
-This is similar to |\installfont| except that it produces
-a \TeX\ raw font as \pl file rather than a virtual font. Often a \pl
-font with the specified name will already exist when this command is
-called, and that will then be overwritten. These two \pl files will
-typically be somewhat different.
-The normal reason for using this command is that one wishes to
-``refine'' the metrics of a font that was generated by transformation
-commands.
-
-For example, to install an \texttt{8r}-encoded Times Roman raw font
-(using \texttt{8r.etx} and \texttt{8r.mtx}), you say:
-\begin{verbatim}
- \installrawfont{ptmr8r}{ptmr8r,8r}{8r}
- {8r}{ptm}{m}{n}{}
-\end{verbatim}
-
-The effect of a
-\begin{decl*}[v1.923]
- \meta{filename}\verb*| mtxasetx|
-\end{decl*}
-in the \meta{etx-list} is not that \meta{filename}\texttt{.etx} is
-read, but that \meta{filename}\texttt{.mtx} is read. The
-interpretation of the commands in this file is however not the
-customary, and almost the only thing paid attention to is the
-correspondence between glyph names and slot numbers that is provided
-by the |\setrawglyph| and |\setscaledrawglyph| commands; this
-correspondence is treated as if it was given by |\setslot| \dots\
-|\endsetslot| commands in an \etx file. This is however only
-guaranteed to work with transformable metric files.
-
-The purpose of this feature is to simplify installation of fonts with
-very special encodings, such as ``Dingbat'' or ``Pi'' fonts. Instead
-of creating an \etx file, which would probably only be useful with
-that particular font, one can make use of the fact that the
-interesting information is anyway available in the \mtx file. To
-install Zapf Dingbats in their default encoding, one can thus say
-\begin{verbatim}
- \installrawfont{pzdr}{pzdr}{pzdr mtxasetx}
- {U}{pzd}{m}{n}{}
-\end{verbatim}
-
-Unlike the case with |\installfont|, which actually creates a real
-(although virtual) font, |\installrawfont| can only create the
-metrics for a font. The \dvi driver will require some other kind of
-implementation of this font, usually an entry in some map file (e.g.
-\texttt{psfonts.map}, in the case of \dvips) that links the \TeX\ font
-name to e.g.\ a \PS\ font name and file. (Many \dvi drivers are
-configured in such a way that they, without such a map file entry,
-will call Metafont with the font name and thereby raise a sequence of
-error messages about a \setdotfilename{mf} that doesn't exist. These
-results are often rather confusing.)
-
-
-
-\begin{decl}
- |\installfamily|\arg{encoding}\arg{family}\arg{fd-commands}
-\end{decl}
-This tells \fontinst to write an \fd file for the given combination
-of encoding and family, and clears the internal list of entries to
-put in that file. |\installfamily| commands usually come first in each
-block of \meta{install commands}.
-
-For example, to produces a \LaTeX\ family with the \texttt{T1}-encoded
-Times family, you say:
-\begin{verbatim}
- \installfamily{T1}{ptm}{}
-\end{verbatim}
-The \m{fd-commands} are executed every time a font in that family is
-loaded, for example to stop the Courier font from being hyphenated you
-say:
-\begin{verbatim}
- \installfamily{T1}{pcr}{\hyphenchar\font=-1}
-\end{verbatim}
-In more recent versions of \fontinst, the |\installfamily| command is
-only necessary if you want the \m{fd-commands} argument to be
-nonempty, but it doesn't hurt to make it explicit.
-
-\begin{hackernote}
- The \m{fd-commands} argument is tokenized with the current catcodes
- and written to file without expansion. In particular this means
- that spaces will be inserted after all control sequences whose
- names consists of letters, which can be unexpected if you intend to
- make use of control sequences whose names contain |@| characters.
-\end{hackernote}
-
-
-
-
-\subsection{Transformation commands}
-
-
-\begin{decl}
- |\transformfont|\arg{font-name}\arg{transformed font}
-\end{decl}
-This makes a raw transformed font, for example expanded, slanted,
-condensed or re-encoded. \emph{It is the responsibility of the device
- driver to implement this transform.} Each \verb|\transformfont|
-command writes out an \mtx file and a raw \pl file for \m{font-name}.
-
-The following commands are valid \m{transformed font}s:
-\begin{decl*}
- |\fromafm|\arg{afm}\\
- |\fromany|\arg{whatever}\\
- |\frompl|\arg{pl}\\
- |\fromplgivenetx|\marg{pl}\marg{etx}\\
- |\frommtx|\arg{mtx}
-\end{decl*}
-This reads the metrics of a font which is about to be transformed from
-an external file. |\fromafm|, |\frompl|, and |\fromplgivenetx| write out
-an \mtx file corresponding to the \afm or \pl file. In addition,
-|\formafm| also writes out a raw \pl file, containing just the glyph
-metrics but no kerning information. |\fromplgivenetx| permits
-specifying which encoding file to use when associating glyph names to
-slots, whereas |\frompl| tries to guess this from the
-\texttt{CODINGSCHEME} property of the \pl file. |\fromany| looks for
-a file in any of the formats (in the order \mtx, \pl, \afm) and
-behaves as the first |\from|\dots\ for which it found a file.
-
-A \m{transformed font} may also be one of the following:
-\begin{decl*}
- |\scalefont|\arg{integer expression}\arg{transformed font}\\
- |\xscalefont|\arg{integer expression}\arg{transformed font}\\
- |\yscalefont|\arg{integer expression}\arg{transformed font}\\
- |\slantfont|\arg{integer expression}\arg{transformed font}
-\end{decl*}
-This applies a geometric transformation to the font metrics of
-\m{transformed font}. The scale factor or slant factor are given in
-1000 units to the design size. Typical examples are 167 for slanted
-fonts or 850 for condensed fonts.
-
-The final case of a \m{transformed font} is:
-\begin{decl*}
- |\reencodefont|\arg{etx}\arg{transformed font}
-\end{decl*}
-This rearranges the encoding vector of \m{transformed font} to match
-the encoding given by the \etx file.
-
-
-For example, to create an oblique, |8r|-encoded version of Adobe Times
-called \texttt{ptmro8r} you say:
-\begin{verbatim}
- \transformfont{ptmro8r}{
- \reencodefont{8r}{
- \slantfont{167}{\fromafm{ptmr8a}}
- }
- }
-\end{verbatim}
-This will create \texttt{ptmr8a.mtx}, \texttt{ptmr8a.pl},
-\texttt{ptmro8r.mtx} and \texttt{ptmro8r.pl}, which can then be used
-as raw fonts in \verb|\installfont| commands. The equivalent
-transformation can also be achieved in two steps:
-\begin{verbatim}
- \transformfont{ptmr8r}{\reencodefont{8r}{\fromafm{ptmr8a}}}
- \transformfont{ptmro8r}{\slantfont{167}{\frommtx{ptmr8r}}}
-\end{verbatim}
-This will create \texttt{ptmr8a.mtx}, \texttt{ptmr8a.pl},
-\texttt{ptmr8r.mtx}, \texttt{ptmr8r.pl}, \texttt{ptmro8r.mtx} and
-\texttt{ptmro8r.pl}.
-
-You will have to inform your device driver about the transformed font,
-using the syntax appropriate for that driver. For example, in \dvips
-you add a line to \texttt{psfonts.map}:
-\begin{verbatim}
- ptmro8r Times-Roman ".167 SlantFont TeXBase1Encoding ReEncodeFont" <<8r.enc
-\end{verbatim}
-See Section~\ref{Sec:Mapmaking} and
-Subsection~\ref{Ssec:MapFragments} for details on how to generate
-such lines automatically.
-
-
-\subsection{Reglyphing commands}
-
-``Reglyphing'' is an \mtx file transformation that changes glyph
-names but leaves the slot numbers and metrics as they were;
-optionally it may drop some of the metric commands. See
-Subsection~\ref{Ssec:Des:Reglyph} for an introduction to this.
-
-\begin{decl}
- |\reglyphfonts|\\
- |\endreglyphfonts|
-\end{decl}
-
-\begin{decl}
- |\reglyphfont|\marg{destination font}\marg{source font}
-\end{decl}
-
-\begin{decl}
- |\renameglyph|\marg{to}\marg{from}\\
- |\renameglyphweighted|\marg{to}\marg{from}\marg{weight}\\
- |\killglyph|\marg{glyph}\\
- |\killglyphweighted|\marg{glyph}\marg{weight}
-\end{decl}
-
-\begin{decl}
- |\offmtxcommand|\marg{command}\\
- |\onmtxcommand|\marg{command}
-\end{decl}
-
-
-
-
-\subsection{Miscellaneous settings}
-
-\begin{decl}
- |\substitutesilent|\arg{to}\arg{from}\\
- |\substitutenoisy|\arg{to}\arg{from}
-\end{decl}
-This declares a \LaTeX\ font substitution, that the series or shape
-\m{to} should be substituted if necessary by the series or shape
-\m{from}. \verb|\substitutesilent| means that when the font
-substitution is made, no warning will given.
-
-\verb|\substitutenoisy| is the same as \verb|\substitutesilent|, but
-gives a warning when the substitution is made by \LaTeX.
-
-For example, to say that the series |bx| can be replaced by the
-series |b|, you say:
-\begin{verbatim}
- \substitutesilent{bx}{b}
-\end{verbatim}
-To say that the shape |ui| can be replaced by the shape |i|, you say:
-\begin{verbatim}
- \substitutenoisy{ui}{it}
-\end{verbatim}
-
-The following weight substitutions are standard:
-\begin{verbatim}
- \substitutesilent{bx}{b}
- \substitutesilent{b}{bx}
- \substitutesilent{b}{sb}
- \substitutesilent{b}{db}
- \substitutesilent{m}{mb}
- \substitutesilent{m}{l}
-\end{verbatim}
-The following shape substitutions are standard:
-\begin{verbatim}
- \substitutenoisy{ui}{it}
- \substitutesilent{it}{sl}
- \substitutesilent{sl}{it}
-\end{verbatim}
-
-The |\installfontas| command should be considered as an
-alternative to using font substitution, as it gives much finer
-control over what \fd entries will be made.
-
-
-\begin{decl}
- |\declaresize|\arg{size}\arg{fd-size-range}
-\end{decl}
-This declares a new size, and gives the \fd size specifications for
-it. For example, \url{fontinst.sty} declares the following sizes:
-\begin{verbatim}
- \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>>}
-\end{verbatim}
-
-\begin{decl}
- |\declareencoding|\arg{string}\arg{etx}
-\end{decl}
-This declares which \etx file corresponds to which \texttt{codingscheme}
-string. For example, \url{fontinst.sty} declares the following
-encoding strings:
-\begin{verbatim}
- \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{EXTENDED TEX FONT ENCODING - LATIN}{t1}
- \declareencoding{TEX TEXT COMPANION SYMBOLS 1---TS1}{ts1}
- \declareencoding{TEXBASE1ENCODING}{8r}
- \declareencoding{TEX TYPEWRITER AND WINDOWS ANSI}{8y}
-\end{verbatim}
-
-
-
-
-
-\subsection{Other}
-
-The following commands also belong to this section, but there is
-currently no description of them here.
-
-
-|\afmtomtx|\marg{afmfile}\marg{mtxfile}
-
-|\endrecordtransforms|
-
-|\etxtopl|\marg{encoding list}\marg{plfile}
-
-|\etxtovpl|\marg{encoding list}\marg{vplfile}
-
-|\fakenarrow|\marg{width factor}
-
-|\generalpltomtx|\marg{plfile}\marg{mtxfile}\marg{plsuffix}\marg{opt-enc}
-
-|\latinfamily|\marg{family}\marg{commands}
-
-|\mtxtomtx|\marg{source MTX}\marg{destination MTX}
-
-|\mtxtopl|\marg{mtxfile}\marg{plfile}
-
-|\NOFILES|
-
-|\recordtransforms|\marg{filename}
-
-
-
-
-\section{Mapmaking commands}
-\label{Sec:Mapmaking}
-
-The commands described in this section are for use with command files
-that input \texttt{finstmsc.sty}.
-
-
-\subsection{Mapfile command reference}
-
-For an introduction to making map file entries, see
-Subsection~\ref{Ssec:MapFragments}.
-
-\begin{decl}
- |\adddriver|\marg{driver name}\marg{fragment file name}
-\end{decl}
-This opens the file \meta{fragment file name} for writing mapfile
-entries to. The \meta{driver name} selects the format of these
-entries.
-
-\begin{decl}
- |\makemapentry|\marg{\TeX\ font name}
-\end{decl}
-This causes a mapfile entry for the specified font to be written to
-all files currently open for receiving mapfile entries. These
-commands are usually automatically generated by \fontinst.
-
-\begin{decl}
- |\donedrivers|
-\end{decl}
-This closes all files open for receiving mapfile entries.
-
-
-\subsection{Drivers}
-
-The \meta{driver name}s that may be used with |\adddriver| are:
-
-\begin{decl}
- |dvips|
-\end{decl}
-The \dvips driver. The mapfiles generated are useful also with pdf\TeX.
-
-\begin{decl}
- |dvipdfm|
-\end{decl}
-The \setpackagename{dvipdfm} \dvi-to-\pdf driver. Not much tested,
-but appears to work.
-
-\begin{decl}[v1.915]
- |pltotf|
-\end{decl}
-Not really a \dvi driver. The file that is generated is a shell
-script of \texttt{pltotf} commands for converting precisely those \pl
-files which are needed to \tfm files (\fontinst generally generates
-also a bunch of \pl files that in the end turn out to be
-unnecessary). The \texttt{TFMfileprefix} variable can be used to
-specify a path to the directory where these files should be placed.
-
-\begin{decl}
- |debug|
-\end{decl}
-Not a \dvi driver either, but for each base font a report on the
-information that was available. Useful if you need to write the
-driver file yourself.
-
-
-\subsection{Configuration commands}
-
-The following commands configure the generation of mapfile entries,
-mostly with respect to how various pieces of information are deduced
-from other pieces.
-
-\begin{decl}
- |\AssumeAMSBSYY|\\
- |\AssumeBaKoMa|\\
- |\AssumeLWFN|\\
- |\AssumeMetafont|
-\end{decl}
-
-\begin{decl}
- |\declarepsencoding|\marg{etx}\marg{postscript name}\marg{action}
-\end{decl}
-
-\begin{decl}
- |\specifypsfont|\marg{PS font name}\marg{actions}
-\end{decl}
-
-
-An \meta{action} is one of
-\begin{decl*}[v1.928]
- |\download|\marg{file}\\
- |\fulldownload|\marg{file}
-\end{decl*}
-where \meta{file} is a file to download (`download' typically means
-``include in the generated \PS output or equivalent''). The difference
-between |\download| and |\fulldownload| have to do with how partial
-downloading (subsetting) of fonts should be handled. |\download| means
-use the driver's defaults (often settable via command line options)
-for this. |\fulldownload| means don't subset: always include the full
-font, if \fontinst knows how to express this in a map file entry for
-this particular driver.
-
-Additional actions could be added in the future, if there is a need
-for them.
-
-
-\begin{decl}
- |\storemapdata|\marg{\TeX\ font name}\marg{source}\marg{transforms}
-\end{decl}
-This records information about how the font named \meta{\TeX\ font
-name} was generated. Such commands are usually found in the file of
-recorded transforms. If a font is encountered for which no
-information has been stored, then the corresponding \mtx file will be
-sourced, looking for a |\storemapdata| command there.
-
-A \meta{source} is one of
-\begin{decl*}
- |\fromafm|\marg{AFM name}\marg{PS name}\\
- |\frompl|\marg{PL name}\\
- |\frommtx|\marg{MTX name}\\
- |\fromvpl|
-\end{decl*}
-Note that several of them have a different syntax and meaning than
-they do in fontmaking command files.
-
-A \meta{transform} is one of
-\begin{decl*}
- |\reencodefont|\marg{etx}\\
- |\reglyphfont|\\
- |\transformfont|\marg{x-scale}\marg{slant-scale}
-\end{decl*}
-Note that all of these have a different meaning than they do in
-fontmaking command files.
-
-\begin{decl}
- |\debugvalue|\arg{name}
-\end{decl}
-This adds a value to the list of those that are reported by the
-\texttt{debug} driver. Example:
-\begin{verbatim}
- \debugvalue{PS_font_file}
-\end{verbatim}
-
-
-
-\subsection{Basic conversion commands}
-
-Some of the basic ``convert an $X$ file to a $Y$ file'' commands in
-\fontinst are not useful as part of a fontmaking run, and are
-available only in \texttt{finstmsc.sty} to conserve some memory.
-
-\begin{decl}
- |\enctoetx|\marg{encfile}\marg{etxfile}
-\end{decl}
-This reads the file \meta{encfile}\texttt{.enc} which should be
-simple \PS code defining a \PS encoding vector and generates a
-corresponding rudimentary \fontinst encoding file
-\meta{etxfile}\texttt{.etx}. It's a basic ``import encoding to
-\fontinst'' command.
-
-\begin{decl}[v1.911]
- |\etxtoenc|\marg{etxfiles}\marg{encfile}
-\end{decl}
-This does the opposite of |\enctoetx|; the information in the \etx
-files that is converted is the correspondence between slots and glyph
-names.
-\NEWfeature{v1.927}
-The \meta{etxfiles} argument is a comma-separated list of encoding
-files which are superimposed to generate the \PS encoding. The first
-|\setslot| for a particular slot is the one which decides which glyph
-will be placed there.
-
-\begin{decl}[v1.928]
- |\etxtocmap|\marg{etxfile}\marg{cmapfile}
-\end{decl}
-This reads an \etx file and generates a corresponding ToUnicode CMap
-file; the information that is converted is the map from slot numbers
-to |\Unicode| code points.
-
-
-
-
-\section{General commands}
-
-
-
-This section describes commands and mechanisms that are the same in
-all file types. Commands that are particular for one type of file are
-described in subsequent sections.
-
-
-\subsection{Variables}
-
-Many (but not all) of the activities \fontinst perform can be
-understood as either ``setting variables'' or ``formatting and writing
-to file data stored in some variable''. The accessing of variables is
-an important aspect of how \fontinst works.
-
-Variables come in different types and variables of different types
-live in different namespaces; |\int{foo}|, |\str{foo}|, and
-|\dim{foo}| refer to three different variables which are all named
-|foo|. Variables are either set or not set. Unless the contrary is
-stated explicitly, variables default to not being set. It is an error
-to access the value of a variable that has not been set. \Fontinst
-variable assignments are as a rule local, i.e., will be undone when
-the enclosing \TeX\ group is ended. Most command file commands that
-cause files to be read will begin a group before reading the file(s)
-and end the group at some point after having read them.
-
-Taking string variables as an example, there are three commands for
-changing a string variable:
-\begin{decl*}
- |\setstr|\arg{name}\arg{string expression}\\
- |\resetstr|\arg{name}\arg{string expression}\\
- |\unsetstr|\arg{name}
-\end{decl*}
-The |\resetstr| command unconditionally sets the string variable
-\meta{name} to the full expansion of the \meta{string expression}.
-The |\unsetstr| command unconditionally renders the string variable
-\meta{name} unset. If the the string variable \meta{name} is
-currently unset then the |\setstr| command will set it to the full
-expansion of the \meta{string expression}, but if it already is set
-then |\setstr| does nothing.
-
-This pattern with three commands, one |\set|\dots\ which only sets
-unset variables, one |\reset|\dots\ which sets variables regardless of
-whether they have been set or not, and one |\unset|\dots\ which unsets
-variables is recurring in \fontinst. Variables are most commonly set
-using some |\set|\dots\ command; this has the effect that the first
-command to try to set a variable is the one which actually sets it.
-
-If |\set|\dots\ is the command for setting the value of a variable,
-the command for getting that value has the same name without the
-|set| part, e.g., |\setint|--|\int|, |\setkern|--|\kern|, etc. There
-are typically also conditionals for testing whether variables are
-set, and these take the form |\ifis|\dots\arg{name}|\then|.
-
-
-The following commands for changing the value of a variable can be
-used anywhere:
-
-\begin{decl}
- |\setdim|\arg{dim}\arg{dimension}\\
- |\setint|\arg{int}\arg{integer expression}\\
- |\setstr|\arg{str}\arg{string expression}
-\end{decl}
-If the dimension variable \m{dim} is currently undefined, it is
-defined to be the current value of \m{dimension}.
-
-If the integer variable \m{int} is currently undefined, it is
-defined to be the current value of \m{integer expression}.
-
-If the string variable \m{str} is currently undefined, it is
-defined to be the current value of \m{string expression}.
-
-\begin{decl}
- |\setcommand|\arg{command}\meta{parameter text}\arg{replacement text}
-\end{decl}
-If the command \m{command} is currently undefined, it is defined to
-grab parameters as specified by the \meta{parameter text} and then
-expand to the \m{replacement text}. This uses the same syntax for
-parameters as the \TeX\ \verb|\def| command.
-\begin{center}
- \begin{tabular}{r l}
- No. parameters& \meta{parameter text}\\
- 0& (empty)\\
- 1& |#1|\\
- 2& |#1#2|\\
- 3& |#1#2#3|\\
- \multicolumn{2}{c}{and so on.}
- \end{tabular}
-\end{center}
-Some examples:
-\begin{verbatim}
- \setcommand\lc#1#2{#2}
- \setcommand\lc#1#2{#1small}
-\end{verbatim}
-With the first definition, |\lc{A}{a}| expands to |a|, but with the
-second it expands to |Asmall|.
-
-\begin{decl}
- |\resetdim|\arg{dim}\arg{dimension}\\
- |\resetint|\arg{int}\arg{integer expression}\\
- |\resetstr|\arg{str}\arg{string expression}
-\end{decl}
-The dimension variable \m{dim} is defined to be the current value
-of \m{dimension}.
-
-The integer variable \m{int} is defined to be the current value of
-\m{integer expression}.
-
-The string variable \m{str} is defined to be the current value of
-the \m{string expression}. (|\resetstr| mostly boils down to a \TeX\
-|\edef| command.)
-
-\begin{decl}
- |\resetcommand|\arg{command}\meta{parameter text}\arg{replacement text}
-\end{decl}
-The command \m{command} is defined to grab parameters as specified by
-the \meta{parameter text} and then expand to the \m{replacement text}.
-This is a synonym for the \TeX\ \verb|\def| command.
-
-\begin{decl}
- |\unsetdim|\arg{dim}\\
- |\unsetint|\arg{int}\\
- |\unsetstr|\arg{str}\\
- |\unsetcommand|\arg{command}
-\end{decl}
-Makes \m{dim}, \m{int}, \m{str}, or \m{command} an undefined
-dimension, integer, string or command.
-
-\begin{decl}[v1.900]
- |\offcommand|\marg{command}\\
- |\oncommand|\marg{command}
-\end{decl}
-|\offcommand| turns off a command, i.e., it redefines it to do
-nothing (while still taking the same number of arguments).
-|\oncommand| turns a command back on, i.e., it restores the
-definition the command had before a previous |\offcommand|. Using
-|\offcommand| on a command that is already off or |\oncommand| on a
-command that is not off has no effect.
-
-
-\subsection{Argument types}
-
-There are roughly six types of arguments that \fontinst
-commands can take. These are
-\begin{itemize}
- \item integer expressions,
- \item string expressions,
- \item comma-separated lists of string expressions,
- \item dimensions,
- \item commands (i.e., \TeX\ control sequences), and
- \item other (pretty much ``none of the above'').
-\end{itemize}
-Integer expressions are explained in Subsection~\ref{Sec:integer}
-below.
-
-The most common form of a string expression is simply a sequence of
-character tokens, but any balanced text which expands to such a
-sequence of tokens is legal. Several of the standard \etx files use
-macros in string expressions to make glyph names to some extent
-configurable. Besides such custom macros, the following \fontinst
-commands may be used to access variable values inside a string
-expression
-\begin{decl*}
- |\strint|\arg{int}\\
- |\str|\arg{str}\\
- |\dim|\arg{dim}
-\end{decl*}
-Incidentally, these \m{int}, \m{str}, and \m{dim} are themselves
-string expressions (for the names of integer, string, and dimen
-respectively variables).
-
-Dimensions are simply \TeX\ \meta{dimen}s; their use is rather
-limited. \Fontinst does not provide for any sort of ``dimen
-expressions''. Most actual lengths are expressed as integer
-expressions, in \afm units ($1/1000$ of the font size).
-
-Common to integer expressions, string expressions, and
-dimensions is that these argument types get expanded during
-evaluation (in the case of string expressions, this expansion
-\emph{is} the evaluation), which means one can use macros in
-arguments of these types. Command arguments do not get
-expanded---they are mainly used with commands that modify the
-definitions of other commands.
-
-Comma-separated lists of string expressions are first split at commas
-(without prior expansion) and each element is then treated as a
-string expression (i.e., \emph{gets expanded}). (As remarked elsewhere,
-the \meta{metrics-list} argument of |\installfont| is not properly a
-comma-separated list of string expressions, even though it may look
-like one.)
-As for the ``other'' arguments one cannot give any rules: they
-might get expanded, but it could also happen that they won't.
-
-
-
-\subsection{Integer expressions}
-\label{Sec:integer}
-
-The \emph{integer expressions} provide a user-friendly syntax for
-\TeX\ arithmetic. They are used to manipulate any integers,
-including glyph dimensions, which are given in \afm units, that is
-1000 to the design size. \TeX\ \pl fonts have their dimensions
-converted to \afm units automatically.
-
-The \emph{integer expressions} are:
-
-\begin{decl}
- \m{number}
-\end{decl}
-Returns the value of a \TeX\ \m{number} (as explained in
-\emph{The \TeX book}). Typical examples of this kind of integer
-expression are |0|, |1000|, |538|, |-20|, etc.
-
-\begin{decl}
- |\int|\arg{int}
-\end{decl}
-Returns the value of the integer variable \m{int}.
-
-\begin{decl}
- |\width|\arg{glyph}\\
- |\height|\arg{glyph}\\
- |\depth|\arg{glyph}\\
- |\italic|\arg{glyph}
-\end{decl}
-Returns the width, height, depth, or italic correction of the glyph
-variable \m{glyph}.
-
-\begin{decl}
- |\kerning|\arg{left}\arg{right}
-\end{decl}
-Returns the kerning between the \m{left} and \m{right} glyphs. Unlike
-other types of variable accesses, where it is an error to access
-something that has not been explicitly set, this command returns |0|
-if no kern has been set between the two glyphs.
-
-\begin{decl}
- |\neg|\arg{integer expression}\\
- |\add|\arg{integer expression}\arg{integer expression}\\
- |\sub|\arg{integer expression}\arg{integer expression}\\
- |\max|\arg{integer expression}\arg{integer expression}\\
- |\min|\arg{integer expression}\arg{integer expression}\\
- |\mul|\arg{integer expression}\arg{integer expression}\\
- |\div|\arg{integer expression}\arg{integer expression}\\
- |\scale|\arg{integer expression}\arg{integer expression}\\
- |\half|\arg{integer expression}\\
- |\otherhalf|\arg{integer expression}
-\end{decl}
-|\neg| returns the negation of the \m{integer expression}.
-
-|\ad| returns the sum of the two \m{integer expression}s.
-
-|\sub| returns the first \m{integer expression} minus the second.
-
-|\max| returns the maximum of the two \m{integer expression}s.
-
-|\min| returns the minimum of the two \m{integer expression}s.
-
-|\mul| returns the product of the two \m{integer expression}s.
-
-|\div| returns the first \m{integer expression} divided by the second.
-
-|\scale| returns the first \m{integer expression} times the second,
-divided by 1000. |\scale| does better rounding than the corresponding
-combination of |\mul| and |\div|.
-
-|\half| returns half the \m{integer expression}. It does better
-rounding than |\scale|\arg{integer expression}|{500}| or
-|\div|\arg{integer expression}|{2}|.
-
-|\otherhalf| returns the ``other half'' of the \m{integer
-expression}, i.e., the sum of |\half| something and |\otherhalf| the
-same thing is that thing back.
-
-
-\subsection{Conditionals and loops}
-
-\Fontinst has a rather extensive family of conditionals (|\if|s), and
-as of late also some convenient loop commands. The most common forms
-of a \fontinst conditional are
-\begin{decl*}
- |\if|\dots \meta{argument(s)}|\then| \meta{then branch} |\Fi|\\
- |\if|\dots \meta{argument(s)}|\then| \meta{then branch} |\Else|
- \meta{else branch} |\Fi|
-\end{decl*}
-i.e., \fontinst uses Plain\TeX\ style conditionals rather than \LaTeX\
-style conditionals. Every |\if|\dots\ command can be thought of as
-testing some condition. If the condition is true then the \meta{then
-branch} will be executed, but not the \meta{else branch} (if there is
-one). If the condition is false then the \meta{then branch} will nor be
-executed, but if there is an \meta{else branch} then that will be
-executed. Conditionals may be nested (i.e., occur in the then or else
-branch).
-
-\begin{hackernote}
- The |\then| is not just syntactic sugar, but a functional part of
- those conditionals which take arguments. Its purpose is to look
- like an |\if| to \TeX\ when the conditional occurs in a skipped
- branch of another conditional.
-\end{hackernote}
-
-The most common conditionals are those which test if a variable is set.
-\begin{decl*}
- |\ifisint|\arg{int}|\then|\\
- |\ifisdim|\arg{dim}|\then|\\
- |\ifisstr|\arg{str}|\then|\\
- |\ifiscommand|\arg{command}|\then|
-\end{decl*}
-These cause the following \meta{then branch} to be executed if the
-specified variable is set, and the \meta{else branch} to be executed
-if the variable is not set. The \meta{int}, \meta{dim}, and
-\meta{str} are string expressions for the names of an integer,
-dimension, and string respectively variable. The \meta{command} is
-the actual control sequence (command variable) that should be tested.
-
-\begin{decl}
- |\ifisglyph|\arg{glyph}|\then|
-\end{decl}
-This similarly tests if a glyph (also a variable of a kind) is set in
-the current glyph base. The glyph name \meta{glyph} is a string
-expression.
-
-\begin{decl}[v1.917]
- |\ifareglyphs|\marg{glyph list}|\then|
-\end{decl}
-This command tests whether all the glyphs in the \meta{glyph list}
-(a comma-separated list of string expressions) are set in the current
-glyph base. If one of the glyphs is not set then condition is false.
-
-\begin{decl}[v1.900]
- |\ifnumber|\marg{integer expression}\meta{rel}%
- \marg{integer expression}|\then|
-\end{decl}
-The \meta{rel} is one of \texttt{<}, \texttt{=}, and \texttt{>}.
-This command evaluates the two \meta{integer expression}s and
-then tests whether the specified relation holds between their values.
-
-\begin{decl}[v1.900]
- |\ifiskern|\marg{glyph1}\marg{glyph2}|\then|
-\end{decl}
-This tests whether a kern has been set with \meta{glyph1} on the left
-and \meta{glyph2} on the right (both arguments are string
-expressions). This is almost the negation of
-\begin{verbatim}
- \ifnumber{\kerning{<glyph1>}{<glyph2>}}={0}\then
-\end{verbatim}
-but |\ifiskern| can distinguish the case that an zero kern has been
-set (true) from the case that no such kern has been set (false),
-which |\kerning| can not. It is however unlikely that this
-distinction would ever be of use in a practical situation.
-
-\begin{decl}[v1.924]
- |\ifoption|\marg{string}|\then|
-\end{decl}
-Test whether \meta{string} (a string expression) is among the current
-list of options. This list is by default empty, elements are added
-using |option| modifiers (cf.~the description of |\installfont|), and
-the list is cleared for each new file for which one can specify
-options.
-
-\begin{decl}[v1.909]
- |\Else|
- |\Fi|
-\end{decl}
-For \fontinst, these two control sequences are precisely the same as
-the \TeX\ primitives |\else| and |\fi|, but things are a bit more
-complicated in \fontdoc. The mechanism in \fontdoc\ that allows it to
-present both branches of the conditional in the typeset output
-requires that |\Else| and |\Fi| generate typeset output. See also the
-|\showbranches| \fontdoc command.
-
-\begin{hackernote}
- Before |\Else| and |\Fi| were introduced, the \TeX\ primitives
- |\else| and |\fi| were used instead for \fontinst conditionals.
- Back then, \fontdoc defined all conditionals to expand to |\iftrue|.
-
- It used to be the case that all conditionals would be fully
- expandable (which in particular would have made it possible to use
- them in string expressions), but that is no longer the case.
-\end{hackernote}
-
-
-
-\begin{decl}[v1.901]
- |\for|\parg{name}\marg{start}\marg{stop}\marg{step}
- \meta{body} |\endfor|\parg{name}
-\end{decl}
-will cause the \meta{body} code to be repeated some number of times.
-How many depends on the values of \meta{start}, \meta{stop}, and
-\meta{step}, which are integer expressions.
-
-As a precaution, the \meta{body} is not allowed to contain any
-empty lines (|\par| tokens). If you want to have the visual
-separation (for sakes of legibility or otherwise), put a |%|
-somewhere on the line---that makes it nonempty.
-
-\meta{name} is used as the name of an integer variable. This
-variable gets reset to the value of \meta{start} before the first
-repetition of \meta{body code}. After each repetition but the last,
-it is incremented by \meta{step}. \meta{body} gets repeated if
-the value of \meta{name} has not gotten past that of \meta{stop}. To
-get past means to be bigger if \meta{step} is positive and to be
-smaller if \meta{step} is negative. In the case that \meta{step} is
-zero, the entire construction above will be equivalent to
-\begin{quote}
- |\resetint|\marg{name}\marg{start}\\
- \meta{body}
-\end{quote}
-
-|\for| \textellipsis\ |\endfor| constructions can be nested.
-\meta{name} is used by |\for| to identify its matching |\endfor|, so
-they need to be identical in |\for| and |\endfor|. \textbf{Note} that
-the delimiters around the \meta{name} are parentheses, not braces.
-
-
-\begin{decl}[v1.901]
- |\foreach|\parg{name}\marg{csep-list}
- \meta{body} |\endfor|\parg{name}
-\end{decl}
-will cause the \meta{body} code to be repeated one time for each item
-in the \meta{csep-list}. \meta{csep-list} is a comma-separated list
-of string expressions.
-
-As a precaution, the \meta{body} is not allowed to contain any
-empty lines (|\par| tokens). If you want to have the visual
-separation (for sakes of legibility or otherwise), put a |%|
-somewhere on the line---that makes it nonempty.
-
-\meta{name} is used as the name of a string variable. Before each
-repetition of the \meta{body code}, this variable will get reset to
-the next item in the \meta{csep-list}.
-
-|\foreach|\textellipsis\ |\endfor| constructions can be nested.
-\meta{name} is used by |\foreach| to identify its matching |\endfor|,
-so they need to be identical in |\foreach| and |\endfor|.
-\textbf{Note} that the delimiters around the \meta{name} are
-parentheses, not braces.
-
-
-
-\subsection{Other general commands}
-
-\begin{decl}
- |\needsfontinstversion|\arg{version}
-\end{decl}
-This issues a warning if the current version of the \fontinst
-package is less than \m{version}.
-
-\begin{decl}
- |\needsTeXextension|\marg{extension tests}\marg{who}\\
- |\eTeX|\marg{version number}\\
- |\pdfTeX|\marg{version number}\marg{revision}
-\end{decl}
-
-\begin{decl}[v1.915]
- |\fontinstcc|\\
- |\normalcc|
-\end{decl}
-|\fontinstcc| switches to the catcodes used in e.g.\@
-\texttt{fontinst.sty}: |_| and |@| are letters, space and newline are
-ignored, and |~| is a space. |\normalcc| switches back to normal
-catcodes.
-
-\begin{decl}[v1.900]
- |\begincomment| \meta{text} |\endcomment|
-\end{decl}
-This hides the \meta{text} from \fontinst processing, but allows it
-to show up when the file is typeset with \fontdoc.
-
-\begin{decl}[v1.906]
- |\fontinsterror|\marg{subsystem}\marg{error}\marg{help}\\
- |\fontinstwarning|\marg{subsystem}\marg{warning}\\
- |\fontinstwarningnoline|\marg{subsystem}\marg{warning}\\
- |\fontinstinfo|\marg{subsystem}\marg{info}
-\end{decl}
-
-\begin{decl}[v1.906]
- |\messagebreak|
-\end{decl}
-
-
-Finally, there are two Plain\TeX\ commands which should be mentioned:
-\begin{decl*}
- |\input| \meta{file name}\\
- |\bye|
-\end{decl*}
-
-
-
-
-
-\section{Encoding files}
-
-An \emph{encoding file} (or \texttt{.etx} file) is a \TeX\ document
-with the structure:
-\begin{quote}
- |\relax|\\
- \meta{ignored material}\\
- |\encoding|\\
- \meta{encoding commands}\\
- |\endencoding|\\
- \meta{ignored material}
-\end{quote}
-This describes the encoding of a font, using the \m{encoding commands}.
-
-Since the encoding file ignores any material between \verb|\relax| and
-\verb|\encoding|, an \emph{encoding file} can also be a \LaTeX\
-document. The structure is then
-\begin{quote}
- |\relax|\\
- |\documentclass{article} %| Or some other class\\
- |\usepackage{fontdoc}|\\
- \meta{\LaTeX\ preamble}\\
- |\begin{document}|\\
- \meta{\LaTeX\ text}\\
- |\encoding|\\
- \m{encoding commands}\\
- |\endencoding|\\
- \meta{\LaTeX\ text}\\
- |\end{document}|
-\end{quote}
-
-
-See also the descriptions in \emph{Writing ETX format font encoding
-specifications} (\texttt{encspecs.tex}).
-
-
-\subsection{Encoding commands}
-
-The \m{encoding commands} are:
-
-\begin{decl}
- |\nextslot|\arg{integer expression}
-\end{decl}
-Sets the number of the next slot. If there is no \verb|\nextslot|
-command, the number is the successor of the previous slot.
-
-\begin{decl}[v1.8]
- |\skipslots|\arg{integer expressions}
-\end{decl}
-Advances the number of the next slot.
-
-\begin{decl}
- |\setslot|\arg{glyph} \m{slot commands} |\endsetslot|
-\end{decl}
-Assigns \m{glyph} to the current slot. The \m{slot commands} can be
-used to specify additional behaviour for the slot, and typically also
-contains comments about the glyph.
-
-\begin{decl}[v1.9]
- |\setleftboundary|\marg{glyph} \m{slot commands}
- |\endsetleftboundary|
-\end{decl}
-Makes the beginning of a word (left boundary) behave like the right
-side of \m{glyph} with respect to kerning. |\ligature| commands in
-the \meta{slot commands} create beginning of word ligatures.
-
-\begin{decl}[v1.9]
- |\setrightboundary|\marg{glyph}
-\end{decl}
-Makes the end of a word (right boundary) behave like the left
-side of \m{glyph} with respect to kerning and ligatures. The current
-slot position is left empty.
-
-\begin{decl}
- |\inputetx|\arg{file}
-\end{decl}
-Inputs the \m{encoding commands} of \m{file}\texttt{.etx}.
-
-\begin{decl}[v1.917]
- |\setfontdimen|\marg{fontdimen no.}\marg{integer variable}
-\end{decl}
-Sets up a correspondence between a font dimension and an integer
-variable. When generating a font, the font dimension value is taken
-from the integer variable. When converting a font from \pl or \vpl
-format, the fontdimen value will be recorded as a |\setint| command
-for the variable.
-
-\begin{decl}[v1.924]
- |\ifdirect|
-\end{decl}
-Encoding files set up a correspondence between slot numbers and glyph
-names, which can be used in two different ways. In the \emph{direct}
-mode, encoding files map slot numbers to glyph names. In the
-\emph{inverse} mode, glyph names are mapped to slot numbers. The
-inverse mapping can in general be one-to-many, and when precisely one
-target slot is needed \fontinst chooses that arbitrarily. The |\ifdirect|
-conditional can be used to disambiguate the inverse mapping, by
-conditionalising all undesired |\setslot|s on that the file is being
-interpreted in the direct mode.
-
-Currently the only case in which encoding files are being read in
-the inverse mode is when reencoding fonts.
-
-\begin{decl}[v1.8]
- |\setslotcomment|\marg{text}\\
- |\resetslotcomment|\marg{text}\\
- |\unsetslotcomment|
-\end{decl}
-These commands can be used to specify an automatic |\comment| text
-for all slots. They are ignored by \fontinst, but interpreted by
-\fontdoc.
-
-\begin{decl}[v1.8]
- |\useexamplefont|\marg{font}
-\end{decl}
-This command is ignored by \fontinst. In \fontdoc it sets the font
-that is used by the |\slotexample| command. The \meta{font} argument
-has the same syntax for a font as the \TeX\ primitive |\font|.
-
-
-
-
-\subsection{Slot commands}
-
-The \m{slot commands} are:
-
-\begin{decl}
- |\comment|\arg{text}
-\end{decl}
-A comment, which is ignored by \fontinst, but typeset as a separate
-paragraph by \fontdoc.
-
-\begin{decl}[v1.917]
- |\label|\arg{text}
-\end{decl}
-A reference label, which records the slot number and glyph name.
-Ignored by \fontinst.
-
-\begin{decl}
- |\ligature|\arg{ligtype}\arg{glyph}\arg{glyph}
-\end{decl}
-|\ligature| declares a ligature of type \m{ligtype} from the current
-glyph followed by the first glyph to the second glyph. The \m{ligtype}s
-are as in \vpl files (see the \texttt{vptovf} Web source for more
-details). For example:
-\begin{verbatim}
- \setslot{ff}
- \ligature{LIG}{i}{ffi}
- \ligature{LIG}{l}{ffl}
- \comment{The `ff' ligature.}
- \endsetslot
-\end{verbatim}
-\begin{decl*}[v1.918]
- |\Ligature|\arg{ligtype}\arg{glyph}\arg{glyph}\\
- |\oddligature|\marg{note}\arg{ligtype}\arg{glyph}\arg{glyph}
-\end{decl*}
-The |\Ligature| command is by default a synonym of |\ligature| (but
-\fontdoc may typeset them differently). The |\oddligature| command is
-by default ignored by \fontinst. See \setfilename{encspecs.tex} for
-an explanation of the semantic differences.
-
-\begin{decl}
- |\makerightboundary|\arg{glyph}
-\end{decl}
-This makes the current slot the end of word (right boundary) marker
-with respect to ligatures and kerning, i.e., \TeX\ will kern and
-ligature as if there was an invisible occurrence of this character
-after the last character of every word. All kerns and ligatures with
-\meta{glyph} as the right part will apply for this slot.
-
-It is preferable to use |\setrightboundary| to control end of word
-behaviour if you have an empty slot to spare.
-
-\begin{decl}
- |\Unicode|\marg{code point}\marg{name}\\
- |\charseq|\marg{\cs{Unicode} commands}
-\end{decl}
-These commands declare a Unicode character or character sequence as
-possible interpretations of what is in this slot. They are ignored
-when making fonts, but \fontdoc give them a prominent role in
-encoding specifications and to |\etxtocmap| they are the primary
-properties of the slot.
-
-\begin{decl}[Obsolete?!]
- |\usedas|\arg{type}\arg{control sequence}
-\end{decl}
-This command declares a \TeX\ control sequence for this slot, with
-the \emph{type} taken from:
-\begin{verbatim}
- char accent mathord
- mathbin mathrel mathopen
- mathclose mathpunct mathvariable
- mathaccent mathdelim
-\end{verbatim}
-There is currently no code in \fontinst which makes any use of this
-command.
-
-\begin{decl}
- |\nextlarger|\arg{glyph}
-\end{decl}
-Sets a \textsc{nextlarger} entry from the current slot to the
-\m{glyph}.
-
-\begin{decl}
- |\varchar|
- \m{varchar commands}
- |\endvarchar|
-\end{decl}
-Sets a \textsc{varchar} entry for the current slot, using the
-\m{varchar commands}. The \m{varchar commands} are:
-\begin{decl}
- |\vartop|\arg{glyph}\\
- |\varmid|\arg{glyph}\\
- |\varbot|\arg{glyph}\\
- |\varrep|\arg{glyph}
-\end{decl}
-Sets the top, middle, bottom, or repeated \m{glyph} of the
-\textsc{varchar}.
-
-
-\subsection{Other}
-
-The following commands belong to this section, but there is currently
-no description of them here.
-
-|\ifisinslot|\marg{glyph}\marg{slot}|\then|
-
-
-
-
-\section{Metric files}
-\label{Sec:Metric}
-
-
-A \emph{metric file} (or \mtx file) is a \TeX\ document with the
-structure:
-\begin{quote}
- |\relax|\\
- \emph{ignored material}\\
- |\metrics|\\
- \m{metric commands}\\
- |\endmetrics|\\
- \emph{ignored material}
-\end{quote}
-This describes the glyphs in a font, using the \m{metric commands}.
-Like encoding files, metric files can simultaneously be \LaTeX\
-documents.
-
-Metric files are usually either \emph{hand-crafted} or
-\emph{transformable}. The transformable metric files typically encode
-the metrics of one particular font and are automatically generated.
-Hand-crafted metric files (such as \setfilename{latin.mtx}) typically
-do not contain much explicit metric data, instead the code there makes
-use of metrics previously specified by other files to construct new
-glyphs or adjust metrics to meet special conditions. Whereas
-transformable metric files tend to be mere lists of metric data, the
-hand-crafted metric files are more like programs.
-
-
-\subsection{Metric commands}
-
-The \m{metric commands} are as follows. All glyph name arguments are
-string expressions.
-
-\begin{decl}
- |\setglyph|\arg{name} \m{glyph commands} |\endsetglyph|
-\end{decl}
-If the glyph called \m{name} is undefined, it is built using the
-\m{glyph commands} given below, for example:
-\begin{verbatim}
- \setglyph{IJ}
- \glyph{I}{1000}
- \glyph{J}{1000}
- \endsetglyph
- \setglyph{Asmall}
- \glyph{A}{850}
- \endsetglyph
-\end{verbatim}
-The \meta{glyph commands} are not executed if the glyph has already
-been set.
-
-\begin{decl}
- |\resetglyph|\arg{name}
- \m{glyph commands}
- |\endresetglyph|
-\end{decl}
-Gives the definition of the glyph called \m{name} using the
-\m{glyph commands}.
-
-\begin{decl}
- |\unsetglyph|\arg{name}
-\end{decl}
-Makes the glyph called \m{name} undefined.
-
-\begin{decl}
- |\setrawglyph|\arg{name}\arg{font}\arg{dimen}\arg{slot}\\
- \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic
- correction}\\
- |\setscaledrawglyph|%
- \arg{name}\arg{font}\arg{dimen}\arg{scale}\arg{slot}\\
- \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic
- correction}
-\end{decl}
-This sets a glyph called \m{name} from the \m{font}, which has the
-given design size, slot, width, height, depth and italic correction.
-The \meta{scale} is a scaling factor which has been applied to the
-font to give it the specified metrics. These commands will usually be
-generated automatically from an \afm or \pl file.
-
-If the integer variable \texttt{rawscale} is set, another scaling by
-that amount will be applied to the glyph.
-
-\begin{decl}
- |\setnotglyph|\arg{name}\arg{font}\arg{dimen}\arg{slot}\\
- \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic
- correction}\\
- |\setscalednotglyph|%
- \arg{name}\arg{font}\arg{dimen}\arg{scale}\arg{slot}\\
- \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic
- correction}
-\end{decl}
-These sets a glyph called \m{name}\texttt{-not}, which is present in
-the \m{font}, but is not in the default encoding. They take the same
-arguments as |\setrawglyph| and |\setscaledrawglyph| respectively,
-although the slot will normally be $-1$. This command will usually
-be generated automatically from an \afm file.
-
-Reencoding a font can turn |\setrawglyph| commands into
-|\setnotglyph| commands and vice versa.
-
-\begin{decl}
- |\inputmtx|\arg{file}
-\end{decl}
-Inputs the \m{metric commands} of \m{file}\texttt{.mtx}.
-
-\begin{decl}[v1.9]
- |\usemtxpackage|\marg{package~list}\\
- |\ProvidesMtxPackage|\marg{package~name}
-\end{decl}
-
-
-\subsection{Glyph commands}
-
-The \m{glyph commands} add material to the glyph currently being
-constructed in a |\setglyph| \dots\ |\endsetglyph| or
-|\resetglyph| \dots\ |\endresetglyph|. They are:
-
-\begin{decl}
- |\glyph|\arg{glyph}\arg{integer expression}
-\end{decl}
-Sets the named glyph \m{glyph} at the given scale, with 1000 as the
-natural size. This:
-\begin{itemize}
- \item
- Advances the current glyph width.
- \item
- Sets the current glyph height to be at least the height of the
- named glyph, adjusted for the current vertical offset.
- \item
- Sets the current glyph depth to be at least the depth of the
- named glyph, adjusted for the current vertical offset.
- \item
- Sets the current glyph italic correction to be the same as the
- set glyph.
-\end{itemize}
-The named glyph must have already been defined, otherwise an error
-will occur. For example:
-\begin{verbatim}
- \setglyph{fi}
- \glyph{f}{1000}
- \glyph{i}{1000}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\glyphrule|\arg{integer expression}\arg{integer expression}
-\end{decl}
-Sets a rule of the given width and height, for example:
-\begin{verbatim}
- \setglyph{underline}
- \glyphrule{333}{40}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\glyphspecial|\arg{string expression}
-\end{decl}
-Sets a driver-dependent \verb|\special|, for example:
-\begin{verbatim}
- \setglyph{crest}
- \glyphspecial{Filename: crest.eps}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\glyphwarning|\arg{string expression}
-\end{decl}
-Sets a warning \verb|\special|, and produces a warning message each
-time the glyph is used, for example:
-\begin{verbatim}
- \setglyph{missingglyph}
- \glyphrule{500}{500}
- \glyphwarning{Missing glyph `missingglyph'}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\movert|\arg{integer expression}
-\end{decl}
-Moves right by the given amount, and advances the current glyph width,
-for example:
-\begin{verbatim}
- \setglyph{Asmall}
- \movert{50}
- \glyph{A}{700}
- \movert{50}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\moveup|\arg{integer expression}
-\end{decl}
-Moves up by the given amount, and advances the current vertical
-offset. Each glyph should always end at vertical offset zero, for
-example:
-\begin{verbatim}
- \setglyph{onehalf}
- \moveup{500}
- \glyph{one}{700}
- \moveup{-500}
- \glyph{slash}{1000}
- \moveup{-200}
- \glyph{two}{700}
- \moveup{200}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\push| \m{glyph commands} |\pop|
-\end{decl}
-Performs the \m{glyph commands}, but at the |\pop| the current
-position and glyph width are restored to what they were at the |\push|,
-for example:
-\begin{verbatim}
- \setglyph{aacute}
- \push
- \movert{\half{\sub{\width{a}}{\width{acute}}}}
- \glyph{acute}{1000}
- \pop
- \glyph{a}{1000}
- \endsetglyph
-\end{verbatim}
-
-\begin{decl}
- |\glyphpcc|\arg{glyph}\arg{integer expression}\arg{integer expression}
-\end{decl}
-This is generated from \texttt{PCC} instructions in an \afm file, and
-is syntactic sugar for:
-\begin{quote}
- \small
- |\push|\\
- |\movert|\arg{first integer expression}\\
- |\moveup|\arg{second integer expression}\\
- |\glyph|\arg{glyph}|{1000}|\\
- |\pop|
-\end{quote}
-
-\begin{decl}
- |\resetwidth|\arg{integer expression}\\
- |\resetheight|\arg{integer expression}\\
- |\resetdepth|\arg{integer expression}\\
- |\resetitalic|\arg{integer expression}
-\end{decl}
-Sets the width, height, depth, or italic correction of the current
-glyph.
-
-\begin{decl}
- |\samesize|\arg{glyph}
-\end{decl}
-Sets the dimensions of the current glyph to be the same as \m{glyph}.
-
-Inside the definition of \m{glyph}, you can use expressions such as
-|\width|\arg{glyph}, which will refer to the glyph defined so far.
-For example, a display summation sign can be defined to be a text
-summation $\sum$ scaled 120\% with 0.5\,pt extra height and depth
-using:
-\begin{verbatim}
- \setglyph{summationdisplay}
- \glyph{summationtext}{1200}
- \resetheight{\add{\height{summationdisplay}}{50}}
- \resetdepth{\add{\depth{summationdisplay}}{50}}
- \endsetglyph
-\end{verbatim}
-Within a |\resetglyph|, these expressions will refer to the previous
-definition of the glyph. For example, you can add sidebearings to the
-letter `A' with:
-\begin{verbatim}
- \resetglyph{A}
- \movert{25}
- \glyph{A}{1000}
- \movert{25}
- \endresetglyph
-\end{verbatim}
-
-
-\subsection{Kerning commands}
-
-The kerning commands may be used anywhere in a metrics file.
-
-\begin{decl}
- |\setkern|\arg{glyph}\arg{glyph}\arg{integer expression}
-\end{decl}
-This sets a kern between the two glyphs, scaled by the current
-value of \texttt{rawscale}, unless such a kern already has been set.
-
-\begin{decl}[v1.9]
- |\resetkern|\arg{glyph}\arg{glyph}\arg{integer expression}
-\end{decl}
-|\resetkern| unconditionally sets a kern between the two glyphs,
-scaled by the current value of \texttt{rawscale}.
-
-\begin{decl}
- |\setleftkerning|\arg{glyph}\arg{glyph}\arg{integer expression}\\
- |\setrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression}
-\end{decl}
-Sets the amount by which the first glyph should mimic how the second
-glyph kerns on the left or right, for example:
-\begin{verbatim}
- \setleftkerning{Asmall}{A}{850}
- \setrightkerning{Asmall}{A}{850}
- \setleftkerning{IJ}{I}{1000}
- \setrightkerning{IJ}{J}{1000}
-\end{verbatim}
-The commands work by copying kerning pairs containing the first glyph.
-As the names indicates, these commands do not override kerning pairs
-previously set.
-
-\begin{decl}[v1.8]
- |\setleftrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression}
-\end{decl}
-Sets the amount by which the first glyph should mimic how the second
-glyph kerns on both sides, for example:
-\begin{verbatim}
- \setleftrightkerning{Asmall}{A}{850}
-\end{verbatim}
-This command is equivalent to doing first a |\setleftkerning| and
-then a |\setrightkerning|.
-
-\begin{decl}[v1.906]
- |\noleftkerning|\arg{glyph}\\
- |\norightkerning|\arg{glyph}\\
- |\noleftrightkerning|\arg{glyph}
-\end{decl}
-Removes all kerning on the specified side(s) of the \meta{glyph}.
-
-\begin{decl}[v1.9]
- |\unsetkerns|\marg{left~glyph~list}\marg{right~glyph~list}
-\end{decl}
-Removes all kerns with one glyph in the \meta{left glyph list} on the
-left and one glyph in the \meta{right glyph list} on the right.
-
-
-
-\subsection{Other}
-
-\begin{decl}[v1.915]
- |\aliased|\marg{font's name}\marg{alias name}
-\end{decl}
-This command is meant to be used in glyph name arguments of commands
-one may find in metric files. It was added to support combining
-mapfile entry generation with a custom form of reglyphing that has
-been developed for the \texttt{T2} bundle (Cyrillic font support).
-This does however not necessarily mean that the \texttt{T2} bundle
-has been updated to take advantage of this feature.
-
-The basic problem is that cyrillic fonts display a much greater
-variation in how the glyphs are named than latin fonts do.%
-\footnote{The Adobe guidelines have not been as prevailing here as
-in the latin range, but this isn't entirely surprising when they
-give suggestions such as using the name \texttt{afii10018} for
-\texttt{U+0411} (\textsc{cyrillic capital letter be}), even though
-there is a good reason: AFII is a glyph registry.}
-This complicates writing files similar to \setfilename{latin.mtx}, so
-the author of the \texttt{T2} bundle took the route to regularize the
-glyph names at the \afm to \mtx conversion step. Since \TeX\ does not
-know anything about glyph names, this makes no difference for the
-virtual fonts that are built.
-The glyph names do however make a difference for base fonts that are
-reencoded, since \PS encoding vectors list explicit glyph names that
-have to be the same as in the font. \Fontinst's choice of encoding
-vector for a mapfile entry is based on which \etx file was used in the
-reencoding, and hence the glyph names used when reencoding must match
-those actually used in the font, or problems will follow.
-
-The |\aliased| command can be used to preserve the information
-necessary for such reencodings. If a glyph name is specified as for
-example
-\begin{verbatim}
- \aliased{afii10018}{CYRB}
-\end{verbatim}
-then \fontinst will behave as if the glyph name is \texttt{CYRB}
-(i.e., the \meta{alias name}) for all purposes \emph{except}
-reencoding, where instead \fontinst behaves as if the glyph name is
-the \meta{font's name} \texttt{afii10018}. This makes it possible to
-use \etx files when reencoding which can be correctly translated to
-the right encoding vectors.
-
-
-
-\section{\textsf{fontdoc} commands}
-
-The following commands are defined by \fontdoc but are unknown to
-\fontinst.
-
-
-\subsection{Comment commands}
-
-\begin{decl}
- |\plaindiv|\\
- |\plainint|\\
- |\plainmax|\\
- |\plainmin|\\
- |\plainneg|
-\end{decl}
-These are the \LaTeX\ definitions of |\div|, |\int|, |\max|, |\min|,
-and |\neg| respectively. They are provided under these names because
-\fontinst uses the normal names for integer expression constructions.
-
-\begin{decl}[v1.8]
- |\slotexample|
-\end{decl}
-This typesets the character in the current slot from the example font
-(cf.~|\useexamplefont|).
-
-\begin{decl}[v1.916]
- |\macroparameter|\marg{digit}
-\end{decl}
-This can be used in integer and string expressions. It typesets as
-\textit{\#n}, where `\textit{n}' is the \meta{digit}.
-
-\begin{decl}[v1.918]
- |\textunicode|\marg{code point}\marg{name}
-\end{decl}
-This generates a reference to a particular Unicode character, for use
-within a |\comment| or similar.
-
-
-\subsection{Style control commands}
-
-\begin{decl}[v1.909]
- |\showbranches|
-\end{decl}
-The is the main switch that turns on displaying both branches of
-\fontinst conditionals. If you use this command in an encoding or
-metrics file, you \textbf{must} use |\Else| and |\Fi| to delimit the
-conditionals in that file. If you do not use this command in an
-encoding or metrics file, then the conditionals will not generate any
-typeset material and neither will their \meta{else branch}es.
-
-
-
-
-\section{\fontinst variables}
-
-The following is a list of the \fontinst variables that are
-accessible for the user through the |\set|\textellipsis,
-|\reset|\textellipsis, |\unset|\textellipsis, etc.\ commands. You may
-of course set or use other variables in the MTX and ETX files you
-write yourself, as does for example the standard MTX file
-\texttt{latin.mtx}, but all variables that \fontinst commands
-implicitly use or set are listed below.
-
-\begin{list}{}{%
- \setlength\labelwidth{0pt}%
- \setlength\itemindent{-\leftmargin}%
- \setlength\parsep{0pt}
- \def\makelabel#1{\hspace\labelsep \normalfont\ttfamily #1}%
-}
- \item[acccapheight] (integer denoting length)
- \begin{smalldes}
- \item[Description] The height of accented full capitals.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[address] (string)
- \begin{smalldes}
- \item[Description] Snailmail address put in \BibTeX-style file
- header of automatically generated ENC files. No
- \texttt{address} field is written unless the \texttt{address}
- string is set. Quotes are not automatically inserted around
- the \texttt{address} string.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-ENC converter.
- \end{smalldes}
- \item[afm-name] (string)
- \begin{smalldes}
- \item[Description] Name of source font. Internal variable.
- \item[Set by] |\from|\dots\ commands.
- \item[Used by] The |\transform|\-|font|, |\install|\-|font|,
- |\install|\-|raw|\-|font|, and |\reglyph|\-|font| commands.
- \end{smalldes}
- \item[ascender] (integer denoting length)
- \begin{smalldes}
- \item[Description] The ascender height of the font.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this integer.
- \item[Used by] Some MTX and ETX files.
- \end{smalldes}
- \item[author] (string)
- \begin{smalldes}
- \item[Description] Author name(s) put in \BibTeX-style file
- header of automatically generated ENC files. See the macro
- |\ref_to_sourcefile| for more details.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-ENC converter. When not set, the
- value \texttt{"See file }\meta{etx name}\texttt{"} is used
- instead.
- \end{smalldes}
- \item[\cs{autoinstallfamily}] (command)
- \begin{smalldes}
- \item[Description] Command called by the font installation
- commands, as
- \begin{quote}
- |\autoinstallfamily|\marg{encoding}\marg{family}
- \end{quote}
- when they are asked to install a font with a combination of
- \meta{encoding} and \meta{family} that has not been seen
- before (there was no explicit |\installfamily|).
- \item[Set by] Explicit commands. Defaults to calling
- |\installfamily|.
- \item[Used by] Font installation commands.
- \end{smalldes}
- \item[axisheight] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{22}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[baselineskip] (integer denoting length)
- \begin{smalldes}
- \item[Description]
- The font designer's recommendation for natural length of the
- \TeX\ parameter |\baselineskip|.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[bigopspacing1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{9}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[bigopspacing2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{10}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[bigopspacing3] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{11}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[bigopspacing4] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{12}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[bigopspacing5] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{13}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[capheight] (integer denoting length)
- \begin{smalldes}
- \item[Description] The height of the font's full capitals.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this variable.
- \item[Used by] Some MTX and ETX files.
- \end{smalldes}
- \item[cmapname] (string)
- \begin{smalldes}
- \item[Description] The name given to the CMap generated from
- an ETX file.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-CMap converter. When not set, the
- value |fontinst-|\nolinebreak[1]\meta{cmap file name} is
- used instead.
- \end{smalldes}
- \item[codingscheme] (string)
- \begin{smalldes}
- \item[Description] The codingscheme name.
- \item[Set by] ETX files.
- \item[Used by] The (V)PL writer. When not set, the
- value \texttt{UNKNOWN} is used instead.
- \end{smalldes}
- \item[defaultrulethickness] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\xi\sb{8}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[delim1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{20}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[delim2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{21}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[denom1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{11}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[denom2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{12}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[descender] (integer denoting length)
- \begin{smalldes}
- \item[Description] The depth of lower case letters with descenders.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[descender\_neg] (integer denoting length)
- \begin{smalldes}
- \item[Description] The vertical position of the descender line
- of the font, i.e., the negative of the font's descender depth.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this variable.
- \item[Used by] Some MTX and ETX files.
- \end{smalldes}
- \item[designsize] (dimension)
- \begin{smalldes}
- \item[Description] The design size of the font.
- \item[Set by] MTX files. The (V)PL-to-MTX converter usually writes
- |\setdim| commands for this variable.
- \item[Used by] The (V)PL writer. The design size defaults to
- $10\,\mathrm{pt}$ if this variable is not set.
- \item[Note] The value of this variable has no effect on how
- the font is declared to \LaTeX.
- \end{smalldes}
- \item[designunits] (dimension denoting a real number)
- \begin{smalldes}
- \item[Description] The design size of a font expressed in the
- design unit used in a (V)PL file.
- \item[Set by] MTX files. The (V)PL-to-MTX converter usually writes
- |\setdim| commands for this variable.
- \item[Used by] Nothing. If this variable is set, but to any
- value other than $1\,\mathrm{pt}$, then some metrics are most
- likely wrong.
- \end{smalldes}
- \item[digitwidth] (integer denoting length)
- \begin{smalldes}
- \item[Description] The median width of the digits in the font.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[email] (string)
- \begin{smalldes}
- \item[Description] Email address put in \BibTeX-style file
- header of automatically generated ENC files. See the macro
- |\ref_to_sourcefile| for more details.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-ENC converter. When not set, the
- value \texttt{"See file }\meta{etx name}\texttt{"} is used
- instead.
- \end{smalldes}
- \item[encodingname] (string)
- \begin{smalldes}
- \item[Description] The name by which the encoding in question is
- made known to a Postscript interpreter.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-ENC converter. When not set, the
- value |fontinst-|\nolinebreak[1]|autoenc-|\nolinebreak[1]%
- \meta{etx name} is used instead.
- \end{smalldes}
- \item[etx-name] (string)
- \begin{smalldes}
- \item[Description] Name of ETX file. Internal variable in
- |\transform|\-|font|.
- \item[Set by] The |\reencodefont| command.
- \item[Used by] The |\mtxtomtx| command.
- \end{smalldes}
- \item[extraspace] (integer denoting length)
- \begin{smalldes}
- \item[Description]
- The natural width of extra interword glue at the end of a
- sentence.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[fontdimen($n$)] (integer)
- \begin{smalldes}
- \item[Description] Family of semi-internal variables that store
- the values to use for font dimension $n$. It is preferred
- that the newer |\set|\-|font|\-|dimen| interface is used for
- setting these values.
- \item[Set by] ETX files.
- \item[Used by] The (V)PL writer.
- \end{smalldes}
- \item[\cs{iftokeep}] (macro)
- \begin{smalldes}
- \item[Description] |\iftokeep|\,\#1\,|\then|, where \#1 will
- be a \meta{number}, behaves like a switch and decides whether
- a glyph is kept or not while reglyphing.
- \item[Set by] Explicit commands. Defaults to
- $$
- \mbox{\cs{iftokeep}\,\#1\,\cs{then}} \mapsto
- \mbox{\cs{ifnum}\,\texttt{-1<}\#1}
- $$
- \item[Used by] The |\reglyphfont| command.
- \end{smalldes}
- \item[interword] (integer denoting length)
- \begin{smalldes}
- \item[Description] The natural width of interword glue (spaces).
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[italicslant] (integer denoting factor)
- \begin{smalldes}
- \item[Description] The italic slant of a font.
- \item[Set by] MTX files generated from AFM or (V)PL files. MTX
- files generated by |\transformfont|. Locally in the AFM-to-MTX
- converter for possible use in |\uprightitalcorr| or
- |\slanteditalcorr|.
- \item[Used by] MTX files (\texttt{latin.mtx} and the like). ETX
- files (for determining \texttt{fontdimen(1)}).
- \end{smalldes}
- \item[killweight] (integer)
- \begin{smalldes}
- \item[Description] Weight for glyphs that are killed.
- \item[Set by] Explicit commands. Defaults to $-10$ if not set.
- \item[Used by] The |\kill|\-|glyph| command; indirectly
- the |\reglyphfont| command.
- \end{smalldes}
- \item[letterspacing] (integer denoting length)
- \begin{smalldes}
- \item[Description] Extra width added to all glyphs of a font.
- \item[Set by] ETX or MTX files.
- \item[Used by] The (V)PL writer. Defaults to $0$ if not set.
- \end{smalldes}
- \item[maxdepth] (integer denoting length)
- \begin{smalldes}
- \item[Description] The maximal depth over all slots in the font.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[maxdepth\_neg] (integer denoting length)
- \begin{smalldes}
- \item[Description] The negative of the maximal depth of a glyph in
- the font.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this variable.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[maxheight] (integer denoting length)
- \begin{smalldes}
- \item[Description] The maximal height of a glyph in the font.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this variable.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[minimumkern] (integer denoting length)
- \begin{smalldes}
- \item[Description] Kerns whose size in absolute value is less
- than or equal to this variable are ignored.
- \item[Set by] Command files or MTX files.
- \item[Used by] The AFM-to-MTX converter and the (V)PL file
- generator. When not set, the value $0$ is used instead.
- \end{smalldes}
- \item[monowidth] (flag integer)
- \begin{smalldes}
- \item[Description] Set if this font is monowidth, unset otherwise.
- \item[Set by] MTX files. The AFM-to-MTX converter writes a
- |\setint| command for this variable if the AFM specifies
- \texttt{IsFixedPitch true}.
- \item[Used by] Some MTX files (\texttt{latin.mtx} and the like),
- ETX files.
- \end{smalldes}
- \item[num1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{8}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[num2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{9}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[num3] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{10}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[quad] (integer denoting length)
- \begin{smalldes}
- \item[Description]
- The quad width of the font, normally approximately equal to
- the font size and\slash or the width of an `M'.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[PSfontsuffix] (string)
- \begin{smalldes}
- \item[Description] Suffix added to font names to form name of
- file to download to include font.
- \item[Set by] Explicit commands in mapmaking command
- files. Defaults to `\texttt{.pfa}'.
- \item[Used by] The map file fragments writer.
- \end{smalldes}
- \item[rawscale] (integer denoting factor)
- \begin{smalldes}
- \item[Description] Scaling factor applied to raw glyphs.
- \item[Set by] The |\installfont| command (\texttt{scaled}
- clauses in argument \#2). Unset for metric files listed
- without a \texttt{scaled} clause.
- \item[Used by] The |\set|\-|raw|\-|glyph|,
- |\set|\-|not|\-|glyph|, |\set|\-|scaled|\-|raw|\-|glyph|,
- |\set|\-|scaled|\-|not|\-|glyph|, |\set|\-|kern|, and
- |\reset|\-|kern| commands.
- \end{smalldes}
- \item[renameweight] (integer)
- \begin{smalldes}
- \item[Description] Weight for glyphs that are renamed.
- \item[Set by] Explicit commands. Defaults to $1$ if not set.
- \item[Used by] The |\rename|\-|glyph| command; indirectly
- the |\reglyphfont| command.
- \end{smalldes}
- \item[requireglyphs] (flag integer)
- \begin{smalldes}
- \item[Description] Set if warnings are to be generated for
- glyphs listed in ETX files but not present in the glyph
- base.
- \item[Set by] Explicit commands. By default not set.
- \item[Used by] The (V)PL file generator.
- \end{smalldes}
- \item[rightboundary] (string)
- \begin{smalldes}
- \item[Description] The name of a glyph with the property that
- kerns on the left may be intended as right word boundary kerns.
- \item[Set by] MTX files. The (V)PL-to-MTX converter can write
- |\setstr| commands for this variable.
- \item[Used by] Some MTX files.
- \end{smalldes}
- \item[shrinkword] (integer denoting length)
- \begin{smalldes}
- \item[Description]
- The (finite) shrink component of interword glue.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[slant-scale] (integer denoting factor)
- \begin{smalldes}
- \item[Description] Factor to slant by.
- Internal variable in |\transform|\-|font|.
- \item[Set by] The |\slant|\-|font|, |\xscale|\-|font|, and
- |\scale|\-|font| commands.
- \item[Used by] The |\mtxtomtx| command.
- \end{smalldes}
- \item[\cs{SlantAmount}] (macro expanding to an integer expression)
- \begin{smalldes}
- \item[Description] Slant factor used for faking oblique shape.
- \item[Set by] Explicit commands. Defaults to \texttt{167}.
- \item[Used by] The |\latinfamily| command.
- \end{smalldes}
- \item[\cs{slanteditalcorr}]
- (macro expanding to an integer expression)
- \begin{smalldes}
- \item[Description] The integer expression used to calculate a
- guess for the italic correction of glyphs in a font with
- positive slant. It has the syntax
- \begin{quote}
- \cs{slanteditalcorr}\marg{width}\marg{left}\marg{right}%
- \marg{bottom}\marg{top}
- \end{quote}
- where \meta{width} is the glyph's advance width, and the
- remaining arguments are coordinates of sides of the glyph's
- bounding box. The \texttt{italicslant} integer provides the
- italic slant of the font.
- \item[Set by] Explicit commands in \textsf{fontinst} command
- files. Defaults to
- $$
- \max\{0, \mathit{right}-\mathit{width}\}.
- $$
- \item[Used by] The AFM-to-MTX converter.
- \end{smalldes}
- \item[stretchword] (integer denoting length)
- \begin{smalldes}
- \item[Description]
- The (finite) stretch component of interword glue.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[sub1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{16}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[sub2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{17}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[subdrop] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{19}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[sup1] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{13}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[sup2] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{14}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[sup3] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{15}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[supdrop] (integer denoting length)
- \begin{smalldes}
- \item[Description] Math formula parameter $\sigma\sb{18}$.
- \item[Set by] MTX files.
- \item[Used by] Some ETX and MTX files.
- \end{smalldes}
- \item[TFMfileprefix] (string)
- \begin{smalldes}
- \item[Description] Prefix (typically a path) added to names of
- TFM files.
- \item[Set by] Explicit commands in mapmaking command
- files. By default not set, which is equivalent to being empty.
- \item[Used by] The \textsf{PLtoTF} ``map file fragments writer''.
- \end{smalldes}
- \item[underlinethickness] (integer denoting length)
- \begin{smalldes}
- \item[Description] The recommended thickness of an underlining
- rule.
- \item[Set by] MTX files. The AFM-to-MTX converter usually writes
- |\setint| commands for this variable.
- \item[Used by] Some MTX files (\texttt{latin.mtx} and the like).
- \end{smalldes}
- \item[\cs{uprightitalcorr}]
- (macro expanding to an integer expression)
- \begin{smalldes}
- \item[Description] The integer expression used to calculate a
- guess for the italic correction of glyphs in a font with
- non-positive slant. It has the syntax
- \begin{quote}
- \cs{uprightitalcorr}\marg{width}\marg{left}\marg{right}%
- \marg{bottom}\marg{top}
- \end{quote}
- where \meta{width} is the glyph's advance width, and the
- remaining arguments are coordinates of sides of the glyph's
- bounding box. The \texttt{italicslant} integer provides the
- italic slant of the font.
- \item[Set by] Explicit commands in \textsf{fontinst} command
- files. Defaults to $0$.
- \item[Used by] The AFM-to-MTX converter.
- \end{smalldes}
- \item[version] (string)
- \begin{smalldes}
- \item[Description] Version number put in \BibTeX-style file
- header of automatically generated ENC files. See the macro
- |\ref_to_sourcefile| for more details.
- \item[Set by] ETX files.
- \item[Used by] The ETX-to-ENC converter. When not set, the
- value \texttt{"See file }\meta{etx name}\texttt{"} is used
- instead.
- \end{smalldes}
- \item[verticalstem] (integer denoting length)
- \begin{smalldes}
- \item[Description] The dominant width of vertical stems
- (usually the width of stems of lower case letters).
- \item[Set by] MTX files. The AFM-to-MTX converter writes
- |\setint| commands for this variable if the AFM file specifies
- \texttt{StdVW}.
- \item[Used by] Currently nothing.
- \end{smalldes}
- \item[\texttt{warningspecials}] (switch)
- \begin{smalldes}
- \item[Description] Controls whether |\glyphwarning| commands
- will generate VPL \texttt{SPECIAL}s. Defaults to `true'.
- \item[Set by] Explicit commands (|\warningspecialstrue| and
- |\warningspecialsfalse|).
- \item[Used by] The (V)PL file generator.
- \end{smalldes}
- \item[x-scale] (integer denoting factor)
- \begin{smalldes}
- \item[Description] Horizontal scaling factor.
- Internal variable in |\transform|\-|font|.
- \item[Set by] The |\xscale|\-|font| and |\scale|\-|font| commands.
- \item[Used by] The |\mtxtomtx| command.
- \end{smalldes}
- \item[xheight] (integer denoting length)
- \begin{smalldes}
- \item[Description] The x-height of the font.
- \item[Set by] MTX files. The AFM-to-MTX and (V)PL-to-MTX
- converters usually write |\setint| commands for this variable.
- \item[Used by] MTX files, and ETX files (for determining
- \texttt{fontdimen(5)}).
- \end{smalldes}
- \item[y-scale] (integer denoting factor)
- \begin{smalldes}
- \item[Description] Vertical scaling factor.
- Internal variable in |\transform|\-|font|.
- \item[Set by] The |\yscale|\-|font| and |\scale|\-|font| commands.
- \item[Used by] The |\mtxtomtx| command.
- \end{smalldes}
- \item[\meta{\rmfamily glyph}-spacing] (integer denoting length)
- \begin{smalldes}
- \item[Description] Glyph-specific override for
- \texttt{letterspacing}; extra width added to the glyph
- \meta{glyph} as part of the process of writing a VPL
- file.
- \item[Set by] ETX or MTX files.
- \item[Used by] The (V)PL writer. Defaults to $0$ if not set.
- \end{smalldes}
-\end{list}
-Besides these, the |\latinfamily| command provides a whole range of
-parameters (|\latin_weights|, |\latin_widths|, |\latin_shapes|, etc.)
-that are often used somewhat like variables. That subject
-does however deserve to be treated separately.
-
-
-
-\section{Customisation}
-
-The \fontinst package reads a file \texttt{fontinst.rc} if it
-exists. This can contain your own customisations. The catcodes that
-are in force when this file is read are the same as those selected by
-|\fontinstcc|.
-
-Similarly \texttt{finstmsc.sty} reads \texttt{finstmsc.rc} and the
-\fontdoc package reads \texttt{fontdoc.cfg}.
-
-You can create a \texttt{fontinst} format by running ini\TeX{} on
-\texttt{fontinst.sty} then saying \verb|\dump|.
-
-
-\section{Notes on features new with v\,1.9}
-
-The following notes are copied from \texttt{fisource.tex}; they were
-written to explain new \fontinst features to old \fontinst users.
-
-
-\subsection{Metric packages}
-
-\Fontinst has traditionally come with a collection of MTX
-files that complement the MTX files generated from base font metrics,
-in that they build glyphs that may be missing from the base fonts or
-in some other way needs to be improved. The most well-known of these
-is the \texttt{latin.mtx} file; other examples include
-\texttt{textcomp.mtx}, \texttt{mathit.mtx}, and \texttt{latinsc.mtx}.
-A problem with these is however that they cannot produce optimal
-results for all fonts simply because there are irregular differences
-in how fonts are set up by the foundries. Most glyphs come out all right,
-but there are usually a few for which the parameters used are more or
-less wrong. Therefore most high quality font installations are made
-with modified versions of these files, where the parameters have been
-tuned to the specific font design.
-
-Modifying in particular \texttt{latin.mtx} is however not an entirely
-easy task, because this is a rather large file (with plenty of
-archaic pieces of code in curious places). Doing it once is no big
-problem, but if one has to do it several times (maybe because some
-errors are discovered in the original \texttt{latin.mtx}) then it is
-probably no fun anymore. Furthermore, if one has two or three
-modified copies of this file because one has made high quality
-installations of that many different fonts then even a trivial bugfix
-might start to feel like entirely too much work.
-
-If one has to make modifications then it is usually easier to deal
-with several small files (many of which can be used unchanged) than
-one big file. Thus it would be better if these big files were split up
-into several smaller ones.
-The main problem with splitting up something like \texttt{latin.mtx}
-is that there are some commands which are defined at the top and
-which are then used in almost all sections of the file. One must make
-certain that these commands are always loaded, which makes the metric
-files somewhat harder to use (especially if the one who tries to use
-them is not the one who wrote them).
-
-One strategy is to include all definitions needed for a metric file in
-it. This has the slight disadvantage that the commands will have to be
-defined several times. What is worse however, is that the command
-definitions will appear in several files, so if one finds a bug in one
-of them, one cannot simply correct this bug in one place. As the number
-of files can soon become quite large, correcting such bugs can become
-a boring procedure indeed.
-
-Another strategy is to put all the command definitions in one file
-and then explicitly include it in the \meta{file-list} argument of
-|\installfont|. This eliminates the repeated bug fixing problem, but
-requires the user to do something that the computer can actually do
-just as well.
-
-A third strategy is to put the command definitions in one or several
-files and then in each metric file the user explicitly mentions load
-the command definitions needed for that particular file. Metric
-packages uses an improved version of this strategy, since they also
-make it possible for \fontinst to remember which packages (i.e., sets
-of command definitions) that have already been loaded, so that they
-are not unnecessarily loaded again. The \texttt{newlatin.mtx} file is
-an alternative to \texttt{latin.mtx} that implements this strategy.
-Most of the actual code is located in the following metric packages:
-\begin{center}
-\begin{tabular}{l p{0.7\linewidth}}
- \texttt{ltcmds.mtx}& Defines some common commands used by the other
- files.\\
- \texttt{llbuild.mtx}& Builds the latin lower case alphabet
- (unaccented letters are `unfakable', the rest are constructed if
- not present in the base fonts).\\
- \texttt{lubuild.mtx}& Builds the latin upper case alphabet.\\
- \texttt{lsbuild.mtx}& Builds accented letters in the latin
- smallcaps alphabet, but only if there are unaccented letters to
- build them from in the base fonts.\\
- \texttt{lsfake.mtx}& Fakes a latin smallcaps alphabet by shrinking
- the upper case alphabet, but only if the glyph had not already
- been manufactured.\\
- \texttt{lsmisc.mtx}& Make some miscellaneous smallcaps glyphs
- (mostly ``smallcaps f-ligatures'').\\
- \texttt{ltpunct.mtx}& Makes digits, punctuation marks, and other
- symbols (mostly by marking as ``unfakable'').
-\end{tabular}
-\end{center}
-\noindent All of these are easy to use as components of equivalents
-of a modified \texttt{latin.mtx} files, and all dependencies of one
-package upon another are handled via explicit |\usemtxpackage|
-commands.
-
-% For information on the syntax etcetera of commands related to metric
-% packages, see Section~\ref{Sec:Metric files}.
-
-
-\subsection{Word boundary ligatures and kerns}
-
-One of the new features added in \TeX~3 was that of ligatures and
-kerns with word boundaries. \Fontinst has had an interface
-for making such ligatures and kerns, but it has been completely
-redesigned in v\,1.9 and the old interface (setting the integer
-|boundarychar|) is no longer recognized by \fontinst. Files
-which use the old interface can still be processed with
-\texttt{cfntinst.sty}, though.
-
-Before considering the new commands, it is suitable to make a
-distinction between proper glyphs and pseudoglyphs. A proper glyph has
-been set using one of the commands |\setrawglyph|, |\setglyph|, and
-|\resetglyph|. A pseudoglyph is any name used in the context of a
-glyph name which does not denote a proper glyph. If a pseudoglyph
-|g-not| was set using the |\setnotglyph| command, then
-|\ifisglyph{g-not}\then| will evaluate to true, but something can be
-a pseudoglyph even if an |\ifisglyph| test evaluates to false. The
-interesting point about pseudoglyphs when considering word boundaries
-however, is that a pseudoglyph can have ligatures and kerns.
-
-Kerns and ligatures at the left word boundary (beginning of word) are
-specified using the commands |\setleftboundary| and
-|\endsetleftboundary|, which are syntactically identical to
-|\setslot| and |\endsetslot| respectively. One important difference is
-however that the argument to |\setslot| must be a proper glyph, while
-the argument to |\setleftboundary| may be any glyph, hence any
-pseudoglyph will do just fine.
-
-|\ligature| commands between |\setleftboundary| and
-|\endsetleftboundary| will generate beginning of word ligatures. Kerns
-on the right of the glyph specified in |\setleftboundary| will become
-beginning of word kerns.
-
-Kerns and ligatures at the right word boundary (end of word) are
-trickier, due to the asymmetrical nature of the ligkern table in a PL
-file. What a font can do is to specify that the right word boundary,
-for purposes of kerning and ligatures, should be interpreted as
-character $n$. By including a kern or ligature with character $n$ on
-the right, that kern or ligature will be used at the end of a word,
-but it will also be used each time the next character is character
-$n$. Because of this, one usually wants the slot $n$, which the right
-word boundary is interpreted as being, to be empty whenever the
-encoding allows this.
-
-The command
-\begin{quote}
- |\setrightboundary|\marg{glyph}
-\end{quote}
-will mark the current slot as used to denote the right word boundary,
-and leave the slot empty, increasing the current slot number by one
-just like a |\setslot| \textellipsis\ |\endsetslot| block does. Kerns on
-the left of \meta{glyph} will be end of word kerns and |\ligature|
-commands with \meta{glyph} as the second argument will be for the end
-of a word.
-
-The command
-\begin{quote}
- |\makerightboundary|\marg{glyph}
-\end{quote}
-is similar to |\setrightboundary|, but it is a slot command which may
-only be used between a |\setslot| and the matching |\endsetslot|. Like
-|\setrightboundary|, it marks the current slot as used to denote the
-right word boundary, but the glyph specified in the enclosing |\setslot|
-will be written to that slot. Ligatures for the glyph specified by the
-|\setslot| and ligatures for the glyph specified by the
-|\makerightboundary| will both be for this single slot. Kerns on the
-right of the |\setslot| glyph and the |\makerightboundary| glyph will
-similarly both be for this single slot. The idea is that the |\setslot|
-glyph should be used when making a kern or ligature for that glyph,
-while the |\makerightboundary| glyph should be used when making a kern
-or ligature for the end of a word. \Fontinst will warn you if
-these two uses of the slot directly contradict each other.
-
-
-\subsection{Changing the names of glyphs}
-\label{Ssec:Des:Reglyph}
-
-Sometimes, primarily when making a virtual font from more than one raw
-font and two of the raw fonts contain different glyphs with the same
-name, it becomes necessary to change the names of some glyphs to make
-some sense out of it. The main source of this kind of trouble is the
-``caps and small caps'' (SC) and ``oldstyle figures'' (OsF) fonts
-within many commercial font families. The typical problem is that what
-is typographically different glyphs---such as the lowercase `a'
-(\texttt{a}, for \fontinst) and the smallcaps `\textsc{a}'
-(\texttt{Asmall}, for \fontinst)---are given the same name by
-the foundry.
-
-One way to get round this is to say for example
-\begin{quote}
- |\setglyph{Asmall} \glyph{a}{1000} \endsetglyph|\\
- |\setleftrightkerning{Asmall}{a}{1000}|\\
- |\unsetglyph{a}|\\
- |\noleftrightkerning{a}|
-\end{quote}
-and continuing like that for all the duplicate glyph names. This is
-however a rather prolix method and if the number of glyphs is large
-then it is usually simpler to use the |\reglyphfont| command.
-
-To reglyph one or several fonts, one writes
-\begin{quote}
- |\reglyphfonts|\\
- \vadjust{}\quad \meta{reglyphing commands}\\
- |\endreglyphfonts|
-\end{quote}
-There are two types of reglyphing commands: the |\reglyphfont|
-command, and the commands that modify what |\reglyphfont| will do to
-the fonts it operates on. The syntax of |\reglyphfont| is
-\begin{quote}
- |\reglyphfont|\marg{destination font}\marg{source font}
-\end{quote}
-The \meta{source font} font here is the name (suffix not included, of
-course) of the font metric file one wants to change the glyph names in.
-This font metric file can be in any of the formats MTX, PL, AFM, and
-VPL, and it will be converted to MTX format if it isn't already in
-that format (this happens just as for files listed in the second
-argument of |\installfont|). \meta{destination font} (which must be
-different from \meta{source font}) will be taken as the name for a
-new \texttt{.mtx} file that will be generated. The destination font
-can differ from the source font only in two ways: the names of some
-glyphs in the source font might be changed, and some of the commands
-from the source font might not have been copied to the destination
-font. To what extent the fonts are different is determined by what
-modifying commands have been executed; when no modifying commands
-have been executed, the source and destination font are equal.
-
-The modifying reglyphing commands are
-\begin{quote}
- |\renameglyph|\marg{to}\marg{from}\\
- |\renameglyphweighted|\marg{to}\marg{from}\marg{weight}\\
- |\killglyph|\marg{glyph}\\
- |\killglyphweighted|\marg{glyph}\marg{weight}\\
- |\offmtxcommand|\marg{command}\\
- |\onmtxcommand|\marg{command}
-\end{quote}
-|\renameglyph| simply declares that occurrences of the glyph name
-\meta{from} should be replaced by the glyph name \meta{to}. To each
-glyph name is also assigned a \emph{weight}, which is used by a
-mechanism which conditions copying of commands from the source font to
-the destination font by the set of glyphs that command mentions. The
-details of this mechanism are however somewhat tricky, so those
-interested in the full generality should read the comments in the
-source of \fontinst. Here it needs only be noted that if one applies
-|\killglyph| to a glyph name, then (under most circumstances) commands
-that refer to that glyph name will not be copied to the destination
-font.
-
-|\offmtxcommand| and |\onmtxcommand| also control whether commands are
-copied to the destination font, but they look at the actual command
-rather than the glyphs it refers to. For example, after the command
-\begin{quote}
- |\offmtxcommand{\setkern}|
-\end{quote}
-no |\setkern| commands will be copied. By using |\offmtxcommand|, it
-is possible to achieve effects similar to those of the files
-\texttt{kernoff.mtx} and \texttt{glyphoff.mtx}---the difference is
-that with |\offmtxcommand|, it happens at an earlier stage of the font
-generation. As expected, |\onmtxcommand| undoes the effect of
-|\offmtxcommand|.
-
-A special rule pertains to the |\set|\-|raw|\-|glyph|,
-|\set|\-|not|\-|glyph|, |\set|\-|scaled|\-|raw|\-|glyph|, and
-|\set|\-|scaled|\-|not|\-|glyph| commands, since |\transformfont|
-doesn't care what something was in the source font when it generates
-the transformed font. To turn these commands off while reglyphing,
-you use |\offmtx|\-|command| on |\set|\-|scaled|\-|raw|\-|glyph|.
-
-The effects of modifying reglyphing commands are delimited by
-|\reglyphfonts| and |\endreglyphfonts|, which starts and ends a group
-respectively.
-
-As we expect the most common reglyphing operation will be to go from SC
-glyph names to expert glyph names, there is a file \texttt{csc2x.tex}
-in the \fontinst distribution which contains the modifying
-reglyphing commands needed for setting up that conversion. Thus you
-can write for example
-\begin{quote}
- |\reglyphfonts|\\
- | \input csc2x|\\
- | \reglyphfont{padrcx8r}{padrc8r}|\\
- | \reglyphfont{padscx8r}{padsc8r}|\\
- |\endreglyphfonts|
-\end{quote}
-to alter the glyph names in the SC fonts in the Adobe Garamond
-(\texttt{pad}) family.
-Note that the names of the destination fonts here really are rather
-arbitrary, since they will only exist as \texttt{.mtx} files, and
-thus only need to work within your local file system. In particular,
-all the |\setrawglyph| commands in the destination font files still
-refer to the source font, so it is that font which the drivers need
-to know about.
-
-
-\subsection{Making map file fragments}
-\label{Ssec:MapFragments}
-
-A \emph{map file fragment} is the lines\footnote{Not in general an
-entire map file, hence the word \emph{fragment}.} of a map file that
-the corresponding driver would need for handling some set of fonts.
-When told to, \fontinst can (in a fairly automatic way) create
-the map file fragment which is needed for the set of raw fonts
-\fontinst has (i) installed directly (using |\installrawfont|)
-or (ii) used as a base font for some installed virtual font (generated
-by |\installfont|). \Fontinst does not support the map file
-syntaxes of every existing driver, but the system is designed to be
-extendable and contributions that extend its capabilities are welcome.
-Nor can \fontinst examine your \TeX\ system and
-determine every piece of information needed to make the correct map
-file fragments, but you can tell it roughly how your installation
-looks, it can make guesses which work most of the time, and you can
-specify most things explicitly if the guesses turn out to be wrong.
-Should the available options for configuring the process turn out to
-be inadequate for your needs, then please write to the
-\fontinst mailing list about this---there is probably a way
-to improve the system so that your needs can be met.
-
-Now what does one have to do to use this map file fragment writer,
-then? First you need to tell \fontinst to record the
-information the map file fragment writer needs. You do this by giving
-the command
-\begin{quote}
- |\recordtransforms{whatever.tex}|
-\end{quote}
-at the beginning of the run. Here \texttt{whatever.tex} is the name of
-a file that will be created, so you can use some other name if you
-like. After that you do all the calls to |\transform|\-|font|,
-|\install|\-|font|, |\install|\-|raw|\-|font|, |\latin|\-|family|,
-etc.\ you need to make the fonts you want. When you're done, you give
-the command
-\begin{quote}
- |\endrecordtransforms|
-\end{quote}
-and end the run (say |\bye|). The file \texttt{whatever.tex} will now
-contain the information about which fonts were used and what needs to
-be done with them.
-
-The second step is to actually run the map file fragment writer.
-Observe that it is located in the file \texttt{finstmsc.sty}, not
-\texttt{fontinst.sty}! The commands you need to give it can be so few
-that you can type them in at \TeX's \texttt{*} prompt, but if you are
-writing a command file then it should typically have the following
-structure (comments not necessary, of course):
-\begin{quote}
- \begin{tabular}{ll}
- |\input finstmsc.sty|& |%| Input command definitions\\
- \meta{general settings} & |%| See below\\
- |\adddriver|\marg{driver name}\marg{output file}&
- |%| Open output file\\
- |\input whatever.tex|& |%| Writes to output file(s)\\
- |\donedrivers|& |%| Close output file(s), tidy up\\
- |\bye|& |%| Quit
- \end{tabular}
-\end{quote}
-The |\adddriver| command gives the order ``write map file entries for
-the \meta{driver name} DVI driver to the file \meta{output file}.'' The
-plan is that it should be possible to use the name of just about any
-major driver (\texttt{dvips}, \texttt{xdvi},\footnote{Or
-does that use the same map file as \texttt{dvips}? I heard somewhere
-that it did. /LH} \texttt{pdftex},\footnote{pdf\TeX\ can read
-the map files generated for \texttt{dvips}, but a separate driver is
-desirable because the formats are not completely identical.}
-\texttt{OzTeX}, etc.) here and get suitable map file entries for that
-driver as output, but for the moment only the \texttt{dvips} and
-\texttt{dvipdfm}\footnote{Whose support I made very much to illustrate
-that you \emph{don't} have to be a big and ancient driver like
-\texttt{dvips} to have supporting code put into \fontinst.
-(The fact that I just happened to have printed out the documentation and
-that is was easy to read also helped, of course.) Note, however, that
-there won't be any support for a driver unless someone sits down and
-writes the code for it! Don't assume I will. /LH} drivers are supported.
-
-You may also use \texttt{debug} or \texttt{pltotf} for \meta{driver name}.
-The \texttt{debug} ``DVI driver'' file simply contains all the available
-information about each font (hence it should come handy for debugging
-code writing entries for real drivers) in a format that should be easy
-to interpret for a human. It could be the right choice if you're going
-to write the map file manually, as the combined effects of several
-font transformations are not always easy to compute manually. The
-file generated for the \texttt{pltotf} ``driver'' is actually a shell
-script consisting of a sequence of \pltotf commands. These commands
-perform the \pl to \tfm conversion for precisely those fonts that are
-actually needed (\fontinst usually generates \pl files also for a
-number of fonts at intermediate stages of transformation, and many of
-these need not be converted to \tfm files). The \texttt{TFMfileprefix}
-string can be used to add a directory path to the \tfm file names,
-perhaps saving the step of moving them to their proper location later.
-
-The file \texttt{whatever.tex} in the above example contains the
-commands (|\makemapentry| commands) that actually cause entries to be
-written to the output file. It also contains a number of |\storemapdata|
-commands---these describe how some given font was made. If some
-metric file you have used contains |\setrawglyph| commands that were
-not automatically generated by \fontinst, then there might
-not be a |\storemapdata| for the font they refer to in
-\texttt{whatever.tex}, so you will have to include such a command
-yourself somewhere. This can for example be done in the \meta{general
-settings} part of the above example file.
-
-Another class of things that will typically appear in the
-\meta{general settings} part above is commands that will inform the
-routines actually writing output about your \TeX\ system, about the set
-of fonts you are using on this run, or about something else that might
-be useful. Some such commands are of a general nature and affect what
-assumptions \fontinst will make in certain conditions when no
-specific information is available. For the moment there commands are:
-\begin{description}
- \item[\cs{AssumeMetafont}] Assume all fonts with PL metrics are
- bitmaps generated by Metafont, and therefore make no entries for
- them.
- \item[\cs{AssumeAMSBSYY}] Assume all fonts with PL metrics have their
- \TeX\ names in all upper case as postscript names---just like the
- Computer Modern fonts in the AMS\slash Blue~Sky\slash Y\&Y
- distribution.
- \item[\cs{AssumeBaKoMa}] Assume all fonts with PL metrics have their
- \TeX\ names in all lower case as postscript names---just like the
- Computer Modern fonts in the BaKoMa distribution.
-\end{description}
-Otherwise the default action of the routine for finding out the
-postscript name of a font simply is to observe that it hasn't got a clue
-about what the right value is when the metrics were taken from a PL
-file, and therefore it writes `\texttt{??????}' for the postscript name.
-\begin{description}
- \item[\cs{AssumeLWFN}] Assume postscript fonts for which nothing
- else has been specified are stored in files which are named
- according to the \mbox{MacOS} scheme for
- \texttt{LWFN}s.%\footnote{LaserWriter FoNt}
-\end{description}
-Otherwise the default action is to use the name of the AFM or PL from
-which the metrics were originally taken, and add the file suffix stored
-in the string \texttt{PSfontsuffix}. The default value of this string
-is \texttt{.pfa}, but it can be changed using |\resetstr|.
-
-If neither the default nor the LWFN scheme produce correct results
-then you may use the more specific |\specifypsfont| command, which
-describes exactly which file (or files, if any) a given font is stored
-in. The syntax of this command is
-\begin{quote}
- |\specifypsfont|\marg{PS font name}\marg{actions}
-\end{quote}
-where the \meta{actions} is a sequence of ``action commands''.
-Currently the only such command is
-\begin{quote}
- |\download|\marg{file}
-\end{quote}
-which instructs the map file writer to include in any entry using
-that PS font and ``instruction'' that the specified file should be
-downloaded. Some examples are
-\begin{verbatim}
- \specifypsfont{Times-Roman}{}
- \specifypsfont{Shareware-Cyrillic-Regular}{\download{fcyr.gsf}}
- \specifypsfont{zmnl8ac6}{%
- \download{MinionMM.pfb}\download{zmnl8ac6.pro}%
- }
-\end{verbatim}
-Many \dvi drivers (for example \dvips) have more than one style of
-font downloading (e.g., partial and full downloading). This interface
-could be extended to control also such finer details (for example by
-adding a |\fulldownload| command to force full download of a font),
-but requests for this has so far been scarce.
-
-Finally, there is the |\declarepsencoding| command which is used to
-link ETX files to postscript encodings. If no postscript encoding has
-been linked to a given ETX file then \fontinst will
-automatically create a postscript encoding (\texttt{.enc}) file for
-that encoding, and use this file for all reencoding commands.
-The \texttt{8r} encoding is predeclared, and it doesn't
-matter if an encoding is undeclared if you never use it to reencode
-fonts, but there is potentially a problem with not having declared
-encodings you have installed and use for reencoding, as you may then
-find yourself having two files with identical names that define
-encodings that do not have the same name (as far as postscript is
-concerned).
-
-
-
-\subsection{Tuning accent positions---an application of loops}
-
-The accent placements made by \texttt{latin.mtx} certainly aren't
-perfect for all fonts, and the only way to find out where they should
-be put is through trying in text the accented letters you get for a
-couple of values for the position parameter and deciding which one
-works best. Since to try one parameter value you need to (i) edit it
-into an MTX file, (ii) run \fontinst, (iii) run
-\vptovf, (iv) run \TeX\ on some test text, and (v) print that
-text, trying one parameter value can take annoyingly much time.
-Repeating the same procedure ten times to test ten values is not
-something one does without being bored (unless one scripts it, of
-course), but it is possible to try ten parameter values in a single
-virtual font, and without doing very much typing.
-
-Say you're not too happy with how \texttt{latin.mtx} positions the
-accent in the \texttt{ohungarumlaut} glyph:
-\begin{quote}
- |\setglyph{ohungarumlaut}|\\
- | \topaccent{o}{hungarumlaut}{500}|\\
- |\endsetglyph|
-\end{quote}
-The |500| is the horizontal position (in thousandths of the width of
-the \texttt{o}) that the centre of \texttt{hungarumlaut} in the glyph
-constructed will have, so that is the position parameter value that
-you want to change. Create an MTX file containing the code
-\begin{quote}
- |\for(pos){250}{750}{50}|\\
- | \setglyph{ohungarumlaut\strint{pos}}|\\
- | \topaccent{o}{hungarumlaut}{\int{pos}}|\\
- | \endsetglyph|\\
- | \setleftrightkerning{ohungarumlaut\strint{pos}}|\\
- | {ohungarumlaut}{1000}|\\
- |\endfor(pos)|
-\end{quote}
-This will set eleven glyphs \texttt{ohungarumlaut250},
-\texttt{ohungarumlaut300}, \texttt{ohungarumlaut350}, \textellipsis\,,
-\texttt{ohungarumlaut750}, each being an Hungarianly umlauted `o'
-(i.e., an `\H{o}') but all having that umlaut in slightly different
-positions. In order to put them in a font, you also need to make an
-encoding that contains them. Therefore create an ETX file which
-contains the code
-\begin{quote}
- |\relax\encoding|\\
- |\nextslot{"C0}|\\
- |\for(pos){250}{750}{50}|\\
- | \setslot{ohungarumlaut\strint{pos}}|\\
- | \endsetslot|\\
- |\endfor(pos)|\\
- |\endencoding|
-\end{quote}
-The command for installing this experiment font would be something like
-\begin{quote}
- |\installfont|\marg{some name}|{|\meta{the normal list of metrics}%
- |,|\penalty0\meta{the new MTX}|}|\penalty0
- |{ot1,|\meta{the new ETX}|}|\penalty0|{OT1}|\textellipsis
-\end{quote}
-The reason for including \texttt{ot1} in the third argument above is
-that you'll need letters other than `\H{o}' against which you can
-compare the experimental glyphs. It would not have been possible to
-use \texttt{t1} instead of \texttt{ot1} (even though that has more
-Hungarian letters) since that would set all slots in the font and
-leave none for these experimental \texttt{ohungarumlaut}s.
-
-It is even possible to use a loop for making the test text. The
-\LaTeX\ macros
-\begin{verbatim}
-\newcount\slotcount
-\newcommand\testtext[3]{%
- \slotcount=#1\relax
- \begin{description}%
- \loop\item[\the\slotcount]#3%
- \ifnum #2>>\slotcount \advance \slotcount 1 \repeat
- \end{description}%
-}
-\DeclareTextCompositeCommand{\H}{OT1}{o}{\char\slotcount}
-\end{verbatim}
-will let you write
-\begin{quote}
- |\testtext|\marg{first}\marg{last}\marg{text}
-\end{quote}
-to get the text \meta{text} typeset once for each slot from
-\meta{first} to \meta{last} inclusive, with |\H{o}| ranging through the
-glyphs in this interval. Thus in this case
-|\testtext|\penalty\hyphenpenalty|{"C0}|\penalty\hyphenpenalty|{"CA}|%
-\penalty\hyphenpenalty|{Erd\H{o}s}| would be a trivial test.
-
-
-\subsection{Font installation commands}
-\label{Ssec:FontInstCmds}
-
-The |\installfont|, |\installrawfont|, and |\installfontas| commands
-have the respective syntaxes
-\begin{isyntax}
- |\installfont|\marg{font-name}\marg{metrics}\marg{etx-list}\penalty0
- \marg{encoding}\marg{family}\marg{series}\marg{shape}\marg{size}\\
- |\installrawfont|\marg{font-name}\marg{metrics}\marg{etx-list}%
- \penalty0
- \marg{encoding}\marg{family}\marg{series}\marg{shape}\marg{size}\\
- |\installfontas|\marg{font-name}\penalty0\marg{encoding}%
- \marg{family}\marg{series}\marg{shape}\marg{size}
-\end{isyntax}
-The \meta{font-name} argument and the last five arguments are common
-to all these commands. The first argument is the name of a \TeX\ font
-to install. The last five arguments are the NFSS attributes under which
-that font will be declared to \LaTeX---encoding, family, series, shape,
-and size. It is worth observing that encoding names are usually in
-upper case, whereas the family, series, and shape are usually in lower
-case. The size argument is either a shorthand (declared using
-|\declaresize|) for a particular font
-size (or range of font sizes), or an explicit list of font sizes or
-ranges of sizes, which is copied directly to the font declaration.
-The most common case is to let the size argument be empty, as that is
-declared as a shorthand for ``any size''.
-
-The |\installfontas| command does not itself create the font, it just
-makes a note that the specified font declaration should be written to
-the proper FD file at |\end|\-|install|\-|fonts|. The
-|\install|\-|font| and |\install|\-|raw|\-|font| commands do however
-produce the font, in the sense that they write a VPL and PL
-respectively file for the font. It depends solely on the \meta{metrics}
-and \meta{etx-list} arguments what this font will contain. Many
-features of these arguments are new with \fontinst v\,1.9;
-therefore the complete syntaxes are described below.
-
-Both arguments are comma-separated lists of basically file names (not
-including an extension). The files listed in the \meta{metrics} are
-font metric files which together build up a \emph{glyph base}
-(definitions of glyphs and metrics related to one or several glyphs),
-whereas the files listed in the \meta{etx-list} are encoding definition
-files that select a subset of the glyph base for turning into a
-\TeX\ font. The font metrics can be in either of the four formats
-MTX, PL, AFM, and VPL, which are considered in that order. If the
-metrics are not originally in MTX format then they will be converted
-to this format (a new file will be created) before they are used.
-The encoding definitions must be in ETX format. The files actually
-read will have a suffix \texttt{.mtx}, \texttt{.pl}, \texttt{.afm},
-\texttt{.vpl}, or \texttt{.etx} appended to the name given, depending
-on which format is expected.
-
-Within each element of the comma-separated list, the actual file name
-is followed by zero or more \emph{modifier clause}s. A \meta{modifier
-clause} consists of a \emph{keyword} followed by some number (usually
-one) of \emph{arguments}, separated by spaces. The whole thing looks
-a lot like the \meta{rule specifications} of e.g.\ the |\vrule|
-command, but here the spaces are mandatory. The currently defined
-\meta{modifier clause}s are
-\begin{description}
- \item[\mdseries\textvisiblespace\texttt{option}\textvisiblespace
- \meta{string}]
- Available for metric and encoding files. This adds \meta{string}
- to the list of options for this file, which may affect what code
- the file executes. The file can then test, using the |\ifoption|
- command, whether a specific string is one of the options it was
- given.
- \item[\mdseries\textvisiblespace\texttt{scaled}\textvisiblespace
- \meta{factor}]
- Available for metric files. Causes the \texttt{rawscale} integer
- variable to be set to the \meta{factor} (an integer expression)
- while the file is being read. This scales glyphs and kerns that
- are added to the glyph base by the \meta{factor}.
- \item[\mdseries\textvisiblespace\texttt{suffix}\textvisiblespace
- \meta{suffix}]
- Available for metric files. Causes \meta{suffix} to be appended
- to every glyph name appearing in a glyph or kern that file adds
- to the glyph base. Thus ``\texttt{suffix /2}'' effectively
- changes a
- \begin{quote}
- |\setrawglyph{a}|\dots
- \end{quote}
- to a
- \begin{quote}
- |\setrawglyph{a/2}|\dots
- \end{quote}
- \item[\mdseries\textvisiblespace\texttt{encoding}\textvisiblespace
- \meta{etx-name}]
- Available for metric files, and forces \fontinst to
- only consider the PL and VPL formats for this font.
- As these file formats do not contain glyph names, an ETX file
- is used to assign glyph names to the slots in the font.
- This ETX file is usually selected according to the
- \texttt{CODINGSCHEME} property of the PL or VPL (using the
- correspondences set up via the |\declare|\-|encoding| command),
- but that information is not always as one would want it (there
- are even fonts for which it is quite wrong). An \texttt{encoding}
- clause bypasses this automatic mechanism, so that the file
- \meta{etx-name}\texttt{.etx} is used instead.
-
-% % The following is no longer true as of v1.926:
-% \textbf{Note:} The first time that a file in PL or VPL format is
-% used in a \meta{metrics} argument, a corresponding MTX file is
-% generated. This means that if the same file reference is used
-% another time then the reference will be to the MTX file, not to
-% the original PL or VPL, and thus \texttt{encoding} clauses on
-% subsequent uses will have no effect. Each font only has one
-% encoding, so it usually makes no sense to switch the ETX file
-% used to interpret a font, but since MTX files are not
-% automatically deleted between runs there is a risk that this
-% takes away the intended effect of an \texttt{encoding} clause.
-
- \item[\mdseries\textvisiblespace\texttt{mtxasetx}]
- This is available for files in the \meta{etx-list}. The actual
- function of a
- \begin{quote}
- \meta{file-name} \texttt{mtxasetx}
- \end{quote}
- item in the \meta{etx-list} is that the file
- \meta{file-name}\texttt{.mtx} is inputted (\emph{not}
- \meta{file-name}\texttt{.etx}) and that the correspondence
- between glyph names and slot numbers set up in
- |\set|\-|raw|\-|glyph| or |\set|\-|scaled|\-|raw|\-|glyph|
- commands in this file is treated as if it had been set up by
- |\setslot| commands in an ETX file. Provided the MTX file is
- transformable, the glyph base will be unaffected.
-
- The purpose of this feature is to simplify quick and dirty
- installations of odd fonts for which no suitable ETX file is
- available. This can be useful in early stages of the design of
- a new font, but is inferior to installation using proper ETX
- files since one for example cannot specify any ligatures in
- MTX files.
-\end{description}
-Furthermore there is a special exception for the \meta{metrics}: if
-the first token in one of the list items is the control sequence
-|\metrics|, then the rest of that item is interpreted as explicit
-metric commands to execute.
-
-If the \meta{metrics} of two subsequent |\install|\-|font|
-or |\install|\-|raw|\-|font| commands are identical then the glyph
-bases will be identical as well. This creates an opportunity for
-optimization, which \fontinst makes use of by caching glyph
-bases from one installation command to the next so that the glyph
-base does not have to be rebuilt in these cases. A side-effect of
-this caching is that local assignments made between two font
-installation commands are cleared out with the glyph base, but
-|\setint| and similar \fontinst commands make global
-assignments when used in such positions.
-
-Some examples might be in order. The first is an adaptation of an
-installation command from \texttt{mfnt-0.59} %~\cite{mfnt}
-by Matthias Clasen and Ulrik Vieth: the installation command for the
-8-bit math font \texttt{xma1000} (which can be thought of as being
-to \texttt{cmmi10} sort of as \texttt{ecrm1000} is to \texttt{cmr10}).
-The first three \texttt{encoding} clauses are more fine-tuning---without
-them, a few glyphs would get incorrect names---but the last two are
-quite essential, as the \texttt{msam10} and \texttt{msbm10} fonts
-incorrectly claim to have the coding scheme \texttt{TEX MATH
-SYMBOLS}.
-\begin{verbatim}
- \installfont{xma1000}{%
- yma1000 encoding mcin,%
- cmr10 encoding ot1upright,%
- cmmi10,%
- cmsy10 encoding omscal,%
- msam10 encoding msam,%
- msbm10 encoding msbm,%
- mccmhax,mccmkern,mcmissing,%
- cmsy10-base,cmsy10-extra%
- }{mc}{MC}{cm}{m}{n}{<<10->>}
-\end{verbatim}
-Also note the explicit \LaTeX\ size specification for the range
-``10\,pt and up''.
-
-The second example makes use of a \texttt{suffix} clause to combine
-the letters from one font with the digits from another.
-\begin{verbatim}
- \installfont{msbrj8t}{msbr8r,msbrc8r suffix /2,latin}{digit2,t1}
- {T1}{msbj}{m}{n}{}
-\end{verbatim}
-In this case, the glyph base contains the glyphs of Monotype Sabon
-(SabonMT)---under names such as \texttt{A} for `A', \texttt{a} for
-`a', and \texttt{one} for a lining digit one---as well as the
-glyphs of Monotype Sabon Small Caps and Oldstyle Figures
-(SabonMT-SCOSF)---under names such as \texttt{A/2} for `A',
-\texttt{a/2} for `\textsc{a}', and \texttt{one/2} for a hanging
-digit one. The \texttt{digit2.etx} file simply makes the definition
-\begin{verbatim}
- \setcommand\digit#1{#1/2}
-\end{verbatim}
-which causes \texttt{t1.etx} to put \texttt{zero/2} in slot 48 (digit
-zero), \texttt{one/2} in slot 49 etc., instead of as it normally
-would \texttt{zero} in slot 48, \texttt{one} in slot 49 and so on.
-The net effect is that the digits in the generated \texttt{msbrj8t}
-is from \texttt{msbrc8r} (SabonMT-SCOSF) but everything else is from
-\texttt{msbr8r} (SabonMT).
-
-The third example makes use of an \texttt{mtxasetx} clause to install
-(with its default encoding) a font for which creating an appropriate
-ETX file seems not worth the trouble.
-\begin{verbatim}
- \installrawfont{psyr}{psyr,\metrics
- \setint{xheight}{\height{alpha}}
- }{txtfdmns,psyr mtxasetx}{U}{psy}{m}{n}{}
-\end{verbatim}
-The effect of the second \texttt{psyr} is that \texttt{psyr.mtx} is
-read (in case there was no \texttt{psyr.mtx} then it is created from
-(hopefully) \texttt{psyr.afm}) and the information in it will form
-the glyph base. Because of the |\metrics| control sequence, the rest
-of that item will be interpreted as explicit metric commands
-modifying the glyph base, and thus the |\setint| command can provide
-a value for the \texttt{xheight} variable (there doesn't seem to be
-such a value in the AFM). Once the glyph base is completed, the
-|\install|\-|raw|\-|font| starts writing the file \texttt{psyr.pl}
-(that's for the first \texttt{psyr}). The encoding of that font will,
-because of the \texttt{psyr mtxasetx}, be the same as that used in
-\texttt{psyr.mtx}. Finally, the \texttt{txtfdmns} is for
-\texttt{txtfdmns.etx}, an ETX file which sets fontdimens 1--16 as for
-a \texttt{T1} encoded font but does not set any slots. Since
-\texttt{psyr.mtx} reinterpreted as an ETX file sets slots but no
-fontdimens, these complement each other nicely.
-
-
-
-\subsection{Bounding boxes}
-
-Han The Thanh has created an implementation of bounding box support
-for \fontinst, and it is a modified form of that support
-is distributed with \fontinst as the file \texttt{bbox.sty}. To load
-this, begin your command file with
-\begin{verbatim}
- \input fontinst.sty
- \input bbox.sty
-\end{verbatim}
-The reason for not making it default is that keeping track of bounding
-boxes increases some of \fontinst's memory requirements quite a lot.
-
-One important
-characteristic of this implementation is that the dimensions of the
-bounding box are not bundled into the same data structure (the
-|\g-|\meta{glyph} macros) as the glyph's width, height, depth, and
-italic correction are, but stored in a separate data structure (the
-|\gb-|\meta{glyph} macros). A glyph doesn't need to have its bounding
-box set, it is simply a piece of information that \fontinst
-will store if you tell it to and which you can later retrieve.
-
-The bounding box will be stored as coordinates of the sides in the
-normal AFM coordinate system. The commands for retrieving these
-coordinates are
-\begin{center}
- \begin{tabular}{ll}
- \textbf{Command}& \textbf{Side}\\
- |\bbtop|\marg{glyph}& top ($y$-coordinate)\\
- |\bbbottom|\marg{glyph}& bottom ($y$-coordinate)\\
- |\bbleft|\marg{glyph}& left ($x$-coordinate)\\
- |\bbright|\marg{glyph}& right ($x$-coordinate)
- \end{tabular}
-\end{center}
-In Thanh's implementation the command names were |\ury|, |\lly|,
-|\llx|, and |\urx| respectively instead, but I think the former are
-easier to remember. If no bounding box has been set for a glyph then
-the above commands will instead report the corresponding coordinate of
-the glyph's \TeX\ box (i.e.\ |\height|\marg{glyph},
-|\neg{\depth|\marg{glyph}|}|, |0|, and |\width|\marg{glyph}
-respectively).
-
-The command for setting the bounding box of a glyph is
-\begin{quote}
- |\setglyphbb|\marg{glyph}\marg{left}\marg{bottom}\marg{right}%
- \marg{top}
-\end{quote}
-
-
-
-\section{Miscellaneous notes}
-
-\subsection{On verbatim, typewriter, and monowidth fonts}
-
-The verbatim, typewriter, and monowidth concepts are common sources
-of confusion for those who use \fontinst to install fonts
-with \LaTeX; in particular
-there are many misconceptions about the relation between them. The
-official view (of which not much has actually been brought forward)
-is that these concepts are really about three quite different things.
-
-A font is a \emph{monowidth} (monospaced, fixed-pitch) font if all
-glyphs in it have exactly the same width. Some font formats make
-special provisions for such fonts; the most notable example is the
-AFM format, where a single \texttt{CharWidth} keyword specifies the
-width for all glyphs in the font. \Fontinst responds to this
-by including the command
-\begin{quote}
- |\setint{monowidth}{1}|
-\end{quote}
-in the MTX file generated from an AFM, but that is everything that is
-hard-wired into the program. That a font is monowidth is however
-something that one should take note of when installing it for \TeX,
-as it means many of the glyphs in it have such a strange appearance
-that they are (pretty much) useless. The \texttt{endash} is for
-example usually only half as long as the \texttt{hyphen} and the
-letters in ligature glyphs are only half as wide as normal letters.
-Many of the ETX and MTX files that come with \fontinst
-contain special commands to avoid making use of such degenerate
-glyphs.
-
-That a font is a \emph{typewriter} font really only means that it has
-a typewriterish look about it. The two most familiar typewriter fonts
-are probably Computer Modern Typewriter (\texttt{cmtt}) and Courier.
-Both of these fonts are monowidth, but there is no absolute rule about
-this. One of the standard \TeX\ fonts is for example Computer Modern
-Variable-width Typewriter (\texttt{cmvtt}), which is not a monowidth
-font, as Figure~\ref{Fig:TTvsVTT} shows.
-\begin{figure}
- \begin{tabular}{ll}
- \texttt{cmtt}:& \fontfamily{cmtt}\selectfont
- The quick brown fox jumps over the lazy dog.\\
- \texttt{cmvtt}:& \fontfamily{cmvtt}\selectfont
- The quick brown fox jumps over the lazy dog.
- \end{tabular}
- \caption{Two typewriter fonts}
- \label{Fig:TTvsVTT}
-\end{figure}
-
-The verbatim concept has very little to do with fonts at all; in
-\LaTeX\ it is considered to be a property of the environment
-(\texttt{verbatim}, \texttt{macrocode}, etc.) rather than a property
-of the font. The connection there is with fonts is that the encoding
-of the font must contain visible ASCII (as defined in Appendix~C
-of \emph{The \TeX book}%~\cite{TeXbook}
-) as a subset for the text to
-be rendered correctly. The \texttt{cmtt} family is the only one amongst
-the original Computer Modern fonts which meets this criterion and
-that is the primary grounds for the idea that these three concepts
-should be connected. Today that reason is at best a very weak one, as
-all \texttt{T1}-encoded fonts also meet the criterion of containing
-visible ASCII as a subset.
-
-A circumstance which has probably added to the confusion is that
-\texttt{OT1} is usually claimed to be an encoding. In reality the
-Computer Modern fonts that are declared in \LaTeX\ as being
-\texttt{OT1} display as many as five different encodings, as shown in
-Table~\ref{Tab:OT1-fonts}.
-\begin{table}
- \begin{tabular}{lccc}
- & \texttt{TEX TEXT}&
- \begin{tabular}[b]{c}\texttt{TEX TEXT WITHOUT}\\
- \texttt{F-LIGATURES}\end{tabular}&
- \texttt{TEX TYPEWRITER TEXT}\\
- \noalign{\medskip}
- non-italic&
- \begin{tabular}{l}
- \texttt{cmb10}\\
- \texttt{cmbx5}--\texttt{12}\\
- \texttt{cmbxsl10}\\
- \texttt{cmdunh10}\\
- \texttt{cmff10}\\
- \texttt{cmfib8}\\
- \texttt{cmr6}--\texttt{17}\\
- \texttt{cmsl8}--\texttt{12}\\
- \texttt{cmss8}--\texttt{17}\\
- \texttt{cmssbx10}\\
- \texttt{cmssdc10}\\
- \texttt{cmssi8}--\texttt{17}\\
- \texttt{cmssq8}\\
- \texttt{cmssqi8}\\
- \texttt{cmvtt10}
- \end{tabular}&
- \begin{tabular}{l}
- \texttt{cmcsc8}--\texttt{10}\\
- \texttt{cmr5}
- \end{tabular}&
- \begin{tabular}{l}
- \texttt{cmsltt10}\\
- \texttt{cmtcsc10}\\
- \texttt{cmtt8}--\texttt{12}
- \end{tabular}\\
- \noalign{\medskip}
- italic&
- \begin{tabular}{l}
- \texttt{cmbxti10}\\
- \texttt{cmfi10}\\
- \texttt{cmti7}--\texttt{12}\\
- \texttt{cmu10}
- \end{tabular}&&
- \begin{tabular}{l}
- \texttt{cmitt10}
- \end{tabular}
- \end{tabular}
- \caption{``\texttt{OT1}-encoded'' Computer Modern fonts, collected
- according to the actual font encoding}
- \label{Tab:OT1-fonts}
-\end{table}
-Since most monowidth fonts are only used for setting verbatim text,
-there is some code in \texttt{ot1.etx} which automatically chooses a
-\texttt{TEX TYPEWRITER TEXT} encoding for the font when the
-\texttt{monowidth} integer is set. The only reason for this is the
-guess that this is what the user wanted.
-
-
-
-\section*{Acknowledgements}
-
-I'd like to thank all of the \fontinst $\alpha$-testers, especially
-Karl Berry, Damian Cugley, Steve Grahthwohl, Yannis Haralambous, Alan
-Hoenig, Rob Hutchings, Constantin Kahn, Peter Busk Laursen, Ciar{\'a}n {\'O}
-Duibh{\'\i}n, Hilmar Schlegel, Paul Thompson, Norman Walsh and John Wells,
-who made excellent bug-catchers!
-
-Thanks to Barry Smith, Frank Mittelbach, and especially Sebastian
-Rahtz for many useful email discussions on how virtual fonts should
-interact with \LaTeXe.
-
-Thanks to Karl Berry and Damain Cugley for detailed comments on this
-documentation.
-
-Thanks to David Carlisle for the use of his \texttt{trig} macros for
-calculating trigonometry.
-
-
-% \section*{Warranty and distribution}
-%
-% There is no warranty for the \fontinst package, to the extent
-% permitted by applicable law. Except when otherwise stated in writing,
-% the author provides the program `as is' without warranty of any kind,
-% either expressed or implied, including, but not limited to, the
-% implied warranties of merchantability and fitness for a particular
-% purpose. The entire risk as to the quality and performance of the
-% program is with you. Should the package prove defective, you assume
-% the cost of all necessary servicing, repair or correction.
-%
-% In no event unless required by applicable law or agreed to in writing
-% will the author be liable to you for damages, including any general,
-% special, incidental or consequential damages arising out of the use or
-% inability to use the program (including but not limited to loss of
-% data or data being rendered inaccurate or losses sustained by you or
-% third parties or a failure of the program to operate with any other
-% programs), even if such holder or other party has been advised of the
-% possibility of such damages.
-%
-% Redistribution of unchanged files is allowed provided that all files
-% listed in the \texttt{MANIFEST} file are distributed.
-%
-% If you receive only some of these files from someone, or if you
-% receieve altered files, then complain!
-
-\end{document}
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.dvi b/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.dvi
deleted file mode 100644
index d272df5088e..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.pdf b/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.pdf
deleted file mode 100644
index 3f517608d16..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.tex b/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.tex
deleted file mode 100644
index 0e7c485ab6c..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/intro98.tex
+++ /dev/null
@@ -1,1330 +0,0 @@
-%%% ====================================================================
-%%% @LaTeX-file{
-%%% author = "Alan Jeffrey and Rowland McDonnell and
-%%% Ulrik Vieth and Lars Hellstr{\"o}m",
-%%% version = "1.927",
-%%% date = "28 July 2004",
-%%% time = "23:20:27 CEST",
-%%% filename = "intro98.tex",
-%%% email = "fontinst@tug.org",
-%%% checksum = "",
-%%% codetable = "ISO/ASCII",
-%%% keywords = "fontinst, TeX, PostScript, documentation",
-%%% supported = "yes",
-%%% abstract = "This is documentation for the fontinst
-%%% font installation package.",
-%%% package = "fontinst",
-%%% dependencies = "ltxguide.cls, url.sty, xspace.sty"
-%%% }
-%%% ====================================================================
-
-% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey
-
-% Modified by Rowland McDonnell June 1998
-% Modified and revised by Ulrik Vieth June 1998
-
-\documentclass[a4paper]{ltxguide}
-\usepackage[OT1]{fontenc}
-\usepackage{url,xspace}
-\usepackage{graphicx}
-%\renewcommand\rmdefault{ppl}
-%\renewcommand\rmdefault{padx}
-%\renewcommand\rmdefault{pmnx}
-
-
-% Title page and running heads.
-
-\makeatletter
-\newcommand{\subtitle}[1]{\renewcommand{\@subtitle}{#1}}
-\newcommand{\version}[1]{\renewcommand{\@version}{#1}}
-\newcommand{\illustration}[1]{\renewcommand{\@illustration}{#1}}
-
-\newcommand{\@subtitle}{}
-\newcommand{\@version}{???}
-\newcommand{\@illustration}{cover.eps}
-
-\pagestyle{myheadings}
-\AtBeginDocument{\markright{\small\itshape
- \@author\hfill\@title: \@subtitle\quad}}
-
-
-\renewcommand{\maketitle}{{%
- \thispagestyle{empty}%
- \normalfont\centering
- \null
- {\fontsize{100}{100}\textit{\@title}}%
- \par\bigskip
- {\Large\textbf{\@subtitle}}%
- \vfill
- \includegraphics[width=\textwidth]{\@illustration}%
- \vfill
- {\Large\textbf{%
- \@author\\[\smallskipamount] \@title~v\@version
- \quad\textperiodcentered\quad \@date}}%
- \clearpage
-}}
-\makeatother
-
-
-% Set lists tighter (assuming non-zero \parskip).
-
-\makeatletter
-\renewcommand{\@listI}{%
- \leftmargin\leftmargini
- \parsep\medskipamount
- \itemsep\z@ % + parsep
- \topsep\z@ % + parskip
- \partopsep\z@
-}
-\makeatother
-
-% Set spacing around captions.
-
-\setlength{\abovecaptionskip}{\medskipamount}
-\setlength{\belowcaptionskip}{\medskipamount}
-
-% Markup for logos, file types, programs, etc.
-
-\newcommand*{\cs}[1]{\texttt{\char`\\ #1}\xspace}
-
-\newcommand*{\OzTeX}{O\kern-.03em z\kern-.15em\TeX}
-\newcommand*{\OzMF}{O\kern-.03em zMF}
-\newcommand*{\OzTools}{O\kern-.03em z\kern-.15em Tools}
-
-\newcommand{\PS}{Post\-Script\xspace}
-\newcommand{\TT}{True\-Type\xspace}
-
-\newcommand*{\setfilename}[1]{\texttt{#1}}
-\newcommand*{\setdotfilename}[1]{\setfilename{.#1}}
-\newcommand*{\setpackagename}[1]{\textsc{#1}}
-
-\newcommand{\dvips} {\setpackagename{dvips}\xspace}
-\newcommand{\Dvips} {\setpackagename{Dvips}\xspace}
-\newcommand{\fontinst}{\setpackagename{font\-inst}\xspace}
-\newcommand{\Fontinst}{\setpackagename{Font\-inst}\xspace}
-
-% \show\fontname
-\newcommand{\fontnamekb}{fontname\xspace}
-\newcommand{\Fontnamekb}{Fontname\xspace}
-
-\newcommand{\mf} {\setfilename{mf}\xspace}
-\newcommand{\Mf} {\setfilename{Mf}\xspace}
-\newcommand{\vf} {\setfilename{vf}\xspace}
-\newcommand{\Vf} {\setfilename{Vf}\xspace}
-\newcommand{\pl} {\setfilename{pl}\xspace}
-\newcommand{\Pl} {\setfilename{Pl}\xspace}
-\newcommand{\fd} {\setfilename{fd}\xspace}
-\newcommand{\Fd} {\setfilename{Fd}\xspace}
-\newcommand{\pk} {\setfilename{pk}\xspace}
-\newcommand{\Pk} {\setfilename{Pk}\xspace}
-\newcommand{\afm}{\setfilename{afm}\xspace}
-\newcommand{\Afm}{\setfilename{Afm}\xspace}
-\newcommand{\vpl}{\setfilename{vpl}\xspace}
-\newcommand{\Vpl}{\setfilename{Vpl}\xspace}
-\newcommand{\tfm}{\setfilename{tfm}\xspace}
-\newcommand{\Tfm}{\setfilename{Tfm}\xspace}
-\newcommand{\mtx}{\setfilename{mtx}\xspace}
-\newcommand{\Mtx}{\setfilename{Mtx}\xspace}
-\newcommand{\etx}{\setfilename{etx}\xspace}
-\newcommand{\Etx}{\setfilename{Etx}\xspace}
-\newcommand{\pfa}{\setfilename{pfa}\xspace}
-\newcommand{\Pfa}{\setfilename{Pfa}\xspace}
-\newcommand{\pfb}{\setfilename{pfb}\xspace}
-\newcommand{\Pfb}{\setfilename{Pfb}\xspace}
-\newcommand{\dvi}{\setfilename{dvi}\xspace}
-\newcommand{\Dvi}{\setfilename{Dvi}\xspace}
-\newcommand{\ttf}{\setfilename{ttf}\xspace}
-\newcommand{\Ttf}{\setfilename{Ttf}\xspace}
-
-\newcommand{\vftovp}{\setpackagename{vftovp}\xspace}
-\newcommand{\vptovf}{\setpackagename{vptovf}\xspace}
-\newcommand{\pltotf}{\setpackagename{pltotf}\xspace}
-\newcommand{\tftopl}{\setpackagename{tftopl}\xspace}
-
-
-% Stolen from Dr Knuth
-\makeatletter % borrow the private macros of PLAIN (with care)
-\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
-\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant
-% macros for font tables
-\def\oddline#1{\cr
- \noalign{\nointerlineskip}
- \multispan{19}\hrulefill&
- \setbox0=\hbox{\lower 2.3pt\hbox{\hex{#1x}}}\smash{\box0}\cr
- \noalign{\nointerlineskip}}
-\def\evenline{\cr\noalign{\hrule}}
-\def\chartstrut{\lower4.5pt\vbox to14pt{}}
-\def\beginchart#1{$$\global\count@=0 #1
- \halign to\hsize\bgroup
- \chartstrut##\tabskip0pt plus10pt&
- &\hfil##\hfil&\vrule##\cr
- \lower6.5pt\null
- &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
-\def\endchart{\raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
- &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$}
-\def\*{\global\advance\count@ by1 }
-\def\:{\setbox0=\hbox{\char\count@}%
- \ifdim\ht0>7.5pt\reposition
- \else\ifdim\dp0>2.5pt\reposition\fi\fi
- \box0\global\advance\count@ by1 }
-\def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}
-\def\smallchart{%
-%\global\advance\count@ by16
- &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
- &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
- &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
- &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
- &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
- &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
- &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
- &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
- &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
-
-\def\bigchart{%
-%\global\advance\count@ by16
- &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
- &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
- &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
- &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
- &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
- &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
- &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
- &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
- &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{20x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline8
- &\oct{21x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{22x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline9
- &\oct{23x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{24x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{A}
- &\oct{25x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{26x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{B}
- &\oct{27x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{30x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{C}
- &\oct{31x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{32x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{D}
- &\oct{33x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{34x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{E}
- &\oct{35x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
- &\oct{36x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline{F}
- &\oct{37x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
-
-% \font\xrm = cmr10 at 10pt % change this line to test font
-% \beginchart\xrm \normalchart \endchart
-
-\newcommand{\smallfontchart}[1]{%
- \font\xrm = #1 \beginchart\xrm \smallchart \endchart}
-\newcommand{\bigfontchart}[1]{%
- \font\xrm = #1 \beginchart\xrm \bigchart \endchart}
-
-% \smallfontchart{cmr10 at 10pt}
-% \bigfontchart{ecrm1000 at 10pt}
-\makeatother
-% End stolen from Dr Knuth
-
-
-
-\title{fontinst}
-\subtitle{Font installation software for \TeX}
-\author{Alan Jeffrey and Rowland McDonnell}
-\illustration{roadmap.eps}
-\version{1.8}
-\date{30 June 1998}
-
-\begin{document}
-
-\maketitle
-
-
-\begin{small}
- This is the tutorial part of the 1998 \fontinst manual, chiefly
- written by Rowland McDonnell and conveying his then-view on related
- subjects. Although most of it is still correct,
- the passing of time has rendered it somewhat antiquated, and the
- average current (2004) user new to \fontinst would probably find
- Philipp Lehman's \emph{The Font Installation Guide}
- (\url{http://www.ctan.org/tex-archive/info/Type1fonts/fontinstallationguide/})
- more relevant.
-\end{small}
-
-\tableofcontents
-
-
-\clearpage
-
-\section{Introduction}
-
-The \fontinst package is a set of \TeX\ macros written to create
-virtual fonts for use with \TeX. Its main use is creating the
-files needed so you can use PostScript Type 1 fonts with \LaTeX.
-
-\Fontinst needs information about the fonts it works with. This
-information needs to be supplied in an Adobe Font Metric (\afm) or
-\TeX\ Property List (\pl) file. \pl files can be created from
-\tfm files using \tftopl, a program normally included with a \TeX\
-system.
-
-The job that \fontinst does is complicated, but it can be used for
-many tasks by people who are not \TeX\ font wizards. Having said
-that, you do need to understand at least the basics of \LaTeXe's
-font selection mechanism, which is documented in
-\texttt{fntguide.tex}, part of the standard \LaTeX\ distribution.
-\url{ftp://ftp.tex.ac.uk/tex-archive/macros/latex/base/fntguide.tex}
-will fetch a copy if you don't have one to hand.
-
-To get the most benefit out of \fontinst, it's important to
-understand and use Karl Berry's `\Fontnamekb' naming scheme. The
-definitive version of this is available from your nearest CTAN
-server. The following URL will fetch all the files needed
-compressed into a single ZIP archive:
-\url{ftp://ftp.tex.ac.uk/tex-archive/info/fontname.zip}. I
-suggest that you print out the \Fontnamekb documentation and have
-it handy when you're learning about \fontinst.
-
-The \fontinst package:
-\begin{itemize}
-\item Is written in \TeX, for maximum portability (at the cost of
- speed).
-\item Supports the OT1 (Computer Modern) and T1 (Cork) encodings.
-\item Allows fonts to be generated with arbitrary `fake'
- characters; for example the `ij' character can be faked if
- necessary by putting an `i' next to a `j'.
-\item Allows caps and small caps fonts with letter spacing and
- kerning.
-\item Allows kerning to be shared between characters, for example
- `ij' can be kerned on the left as if it were an `i' and on the
- right as if it were a `j'. This is useful, since many
- PostScript fonts only include kerning information for characters
- without diacriticals.
-\item Allows the generation of math fonts with \verb|nextlarger|,
- \verb|varchar|, and arbitrary font dimensions.
-\item Allows more than one PostScript font to contribute to a
- \TeX\ font, for example the `ffi' ligatures for a font can be
- taken from the Expert encoding, if you have it.
-\item Can automatically generate a \fd file for use with \LaTeXe.
-\item Can be customized by the user to deal with arbitrary font
- encodings.
-\end{itemize}
-Fontinst has been a stable piece of software since mid-1994. All
-further updates will be upwardly compatible with the interface
-described in this document.
-
-\subsection{What does \fontinst do?}
-
-\Fontinst is a tool written in \TeX\ that can create the various
-extra files needed so you can use \PS fonts with \LaTeX\ and \TeX.
-It can read in \afm files, and produces the necessary \vpl, \pl,
-and \fd files to use the fonts (the human-readable \vpl and \pl
-files produced by \fontinst are turned into the machine-readable
-\vf and \tfm forms by \vptovf and \pltotf). It does not help you
-configure your DVI driver.
-
-There also exists a \texttt{perl} front-end to \fontinst, intended
-specifically for use with a Unix \TeX\ system, which takes care of
-routine tasks such as running \vptovf and \pltotf on the generated
-files after \fontinst has finished it's job. It also generates a
-font map file for use with \dvips.
-
-\Fontinst's main job is creating \vf files (virtual fonts). Not
-all \TeX\ systems can use them. As far as I know, all current
-(1998) free and shareware \TeX\ systems can; virtual fonts have
-been in widespread use with \TeX\ since 1990. If you have a TeX
-system that can't use virtual fonts, \fontinst is most likely
-useless to you.
-
-There are some nice things about having a tool written in \TeX\ to
-do this: it's completely portable and you can modify its behaviour
-using \TeX\ commands. The only real problem is that it's
-relatively slow: you can expect a typical \fontinst run to take
-something like 10--20 minutes on, say, a 40~MHz 80486SX PC or a
-25~MHz 68LC040 Macintosh.
-
-\Fontinst can do its work on any font for which you have a
-corresponding \afm or \tfm metric file, so it's not limited to
-working with \PS fonts; I have used it to produce the files I
-needed to use \TT fonts with \LaTeX. Whether or not you can do
-this depends on whether or not you have suitable metric files and
-whether or not your \TeX\ system can use \TT fonts. In
-particular, the pdf\TeX\ program supports \TT fonts and includes a
-utility \texttt{ttf2afm} to generate \afm files from \ttf fonts.
-
-Some people have used \fontinst to produce `special effects' with
-normal \TeX\ fonts. One example is the \setpackagename{eco} set
-of fonts (available from CTAN:
-\url{ftp://ftp.tex.ac.uk/tex-archive/fonts/eco/}). These fonts
-are the same as the standard EC (European Modern) fonts, but with
-normal numerals replaced with old style numerals --
-\oldstylenums{12345} rather than 12345 -- everywhere except in
-maths mode.
-
-\subsection{Installation}
-
-To install \fontinst, put the contents of the \url{inputs/tex},
-\url{inputs/etx}, \url{inputs/mtx} and \url{examples} directories
-into a directory read by \TeX, for example
-\url{TEXMF/tex/generic/fontinst}.
-
-When you use \fontinst, you need to make sure that the \afm and
-\pl files it will work on are in a directory searched by \TeX.
-
-If you are using \texttt{web2c} \TeX\ on a Unix system with the
-\TeX\ directory structure (TDS), you might put all the \afm files
-in subdirectories of \url{TEXMF/fonts/afm/*}. And then say:
-\begin{verbatim}
- setenv TEXINPUTS $TEXMF/fonts/afm//::
-\end{verbatim}%$
-Note that \pl files are not normally kept in \TeX\ installations, so
-if you want to use MF fonts with \fontinst you have to generate the
-corresponding \pl files from \tfm files and put them in your working
-directory before running \fontinst.
-
-You could adopt a similar strategy with other \TeX\ systems:
-create directories for the required files and then change the
-relevant parameter (\url{input_folders} in the default
-configuration file with \OzTeX, for example).
-
-The approach I use is this: I write a file containing commands for
-\fontinst to process, and put the \afm and \pl files needed in the
-same directory as that file. When \fontinst has finished working,
-I delete the \afm and \pl files because they are not needed and
-waste space on my hard disc drive. Some application programs on
-some computers need \afm files, so it's not always a good idea to
-remove them completely.
-
-\subsection{Why do we need \fontinst?}
-
-\TeX\ refers to characters by number when it's typesetting. When
-you use a command like \verb|\i|, \TeX\ puts a number (16 if
-you're using OT1, 25 if you're using T1) into the \dvi file. If
-you're using a font designed for use with \TeX, this number will
-correspond to the character `\i'. Assuming OT1 encoding for the
-moment, when you come to print out your \dvi file, the DVI driver
-will see the number 16 in the \dvi file, and select the character
-that sits in position 16 of the corresponding printer font file (a
-\pk file in the case of normal \TeX\ fonts). Unless something has
-gone wrong, that will result in the character `\i' being placed on
-the page.
-
-It's useful to think of these numbers and the actual characters
-corresponding to each number as sets called `encodings'. A
-particular set of characters are assigned particular numbers. An
-example of an encoding is shown in table~\ref{OT1table}.
-
-\TeX\ began life using 7-bit fonts. This means the original \TeX\
-fonts used the numbers 0--127 to represent characters:
-128~characters per font. \TeX\ can now use 8-bit fonts:
-256~numbers from 0--255, but even so, most typesetting with \TeX\
-still uses the original 7-bit encoding, now called `OT1' (Old
-\TeX~1 encoding). This has a correspondance between numbers and
-characters shown in table~\ref{OT1table}. The numbers used in
-that table are hexadecimal and octal because it makes for a neat
-table and anyway I stole the code to generate it from Donald Knuth
-and that's how he did it.
-
-\begin{table}[!t]
-\smallfontchart{cmr10 at 10pt}
-\caption{The OT1 font encoding}\label{OT1table}
-\end{table}
-
-Returning to the example above, if you've a number 16 in your \dvi
-file (expecting `\i', a dotless~i), but rather than printing
-with an OT1 encoded font, you print using a non re-encoded \PS
-font in Adobe standard encoding, you'll get a blank, because the
-Adobe standard encoding has nothing in that character position.
-
-There are several ways round this problem; I'll consider two cases
-here. If you are using \LaTeX\ you can tell it about a new
-encoding and re-define the commands that produce characters like
-`\i' that live in different positions in different encodings, or
-you can use a tool to re-encode the font so that it has the
-expected characters in the appropriate positions.
-
-Re-encoding is the approach \fontinst uses: it can produce files
-to map the characters in the new font to one of \TeX's existing
-encodings; this works with formats other than \LaTeX.
-
-The first approach is used to define the standard encodings that
-\LaTeX\ uses. See, for example, the file \texttt{ot1enc.def} that
-comes with the current \LaTeX\ distribution, which defines the a
-few commands that refer to characters which aren't in the
-positions \TeX\ would otherwise assume. This works only with
-modern versions of \LaTeX.
-
-The second approach is used to allow you to use fonts in other
-encodings with any dialect of \TeX. It has the some advantages
-over the first method: it works with any \TeX\ format; and it
-improves portability, because you can typeset a document using a
-standard \TeX\ encoding, sure that the same document will print
-correctly on a different kind of computer using a font with a
-different encoding. For example, you might say:
-\begin{verbatim}
- \usepackage{times}
-\end{verbatim}
-in the preamble of your document. On my computer, that means my
-DVI driver will use a Macintosh encoded \TT version of Times. On
-your computer, it might mean the dvi driver will use a Unicode
-encoded \PS version of Times-Roman. The results will be identical
-in either case, without needing to modify the document.
-
-\subsection{How do you use \fontinst?}
-
-\Fontinst works on \afm files named (more-or-less) according to
-Karl Berry's font naming scheme (see
-\url{ftp://ftp.tex.ac.uk/tex-archive/info/fontname} at CTAN).
-Let's say you want to use the Adobe Times fonts. You can get the
-metric files for this font from CTAN:
-\begin{center}
-\begin{small}
-\begin{tabular}{ll}
- \emph{Location of file at CTAN} & \emph{Rename to} \\
- \url{fonts/psfonts/adobeafm/base35/tib_____.afm} &
- \texttt{ptmb8a.afm} \\
- \url{fonts/psfonts/adobeafm/base35/tibi____.afm} &
- \texttt{ptmbi8a.afm} \\
- \url{fonts/psfonts/adobeafm/base35/tii_____.afm} &
- \texttt{ptmri8a.afm} \\
- \url{fonts/psfonts/adobeafm/base35/tir_____.afm} &
- \texttt{ptmr8a.afm}
-\end{tabular}
-\end{small}
-\end{center}
-The new name is the name you should give the \tfm files so that
-\fontinst understands what each file contains. The initial `|p|'
-means `Adobe'; `|tm|' means `Times'; `|b|' bold, `|r|' roman,
-`|i|' italic; and `|8a|' means `Adobe standard encoding'.
-
-The simplest use of \fontinst is to put the four \afm files in the
-same directory as \texttt{fontinst.sty} and run \TeX\ on
-\texttt{fontinst.sty}. At the \verb|*| prompt type:
-\begin{verbatim}
- *\latinfamily{ptm}{} \bye
-\end{verbatim}
-
-Some time later (about 17 minutes on my rather old computer),
-\fontinst will have finished, having created:
-\begin{itemize}
-\item Two \pl files for each \afm file
-\item One \vpl file for each \TeX\ font
-\item One \fd file for each family
-\end{itemize}
-The \pl files come in pairs: for example, \texttt{ptmb8a.pl} and
-\texttt{ptmb8r.pl}. The |8a| version has the same encoding as the
-original font; the |8r| version is re-encoded to |TeXBase1| (|8r|)
-encoding, and is the font that is the base on which the T1 and OT1
-encoded versions are based on. The raw |8a| (Adobe standard)
-encoded font is not normally used.
-
-These can be converted to \TeX\ fonts using \pltotf or \vptovf.
-If you have \OzTeX, launch \OzMF, select \pltotf (or \vptovf) from
-the Tools menu, and say `Do all files'.
-
-If you use the \texttt{bash} shell on a Unix system, you can
-process all files using these one-liners at the \verb|$| prompt:
-\begin{verbatim}
- $ for f in in *.pl; do pltotf $f; done
- $ for f in in *.vpl; do vptovf $f; done
-\end{verbatim}%$
-(This assumes that \pltotf and \vptovf can deduce the file names
-of the corresponding \tfm and \vf files automatically.)
-
-You should then:
-\begin{itemize}
-\item Move the \tfm files to your \TeX\ fonts directory\\
- (e.g.~\url{TEXMFLOCAL/fonts/tfm/*}).
-\item Move the \vf files to your virtual fonts directory\\
- (e.g.~\url{TEXMFLOCAL/fonts/vf/*}).
-\item Move the \fd files to your \TeX\ inputs directory\\
- (e.g.~\url{TEXMFLOCAL/tex/latex/psfonts/*}).
-\end{itemize}
-If your \TeX\ installation is organized using the \TeX\ directory
-structure (TDS), it is customary to subdivide the \tfm and \vf
-files into subdirectories by supplier and typeface name.
-
-The \pl, \vpl, and \mtx files are debris that can now be deleted.
-\mtx files are font metric files \fontinst creates for its own use
-from \afm and \pl files. They're just more convenient for \TeX\
-to read than other forms -- think of them as \fontinst readable
-\afm and \pl files.
-
-By now, you have all the files in place to produce a \dvi file
-using the new fonts. You can make Adobe Times the default roman
-font in your document by putting this in your preamble:
-\begin{verbatim}
- \renewcommand{\rmdefault}{ptm}
-\end{verbatim}
-
-\TeX\ will now happily produce a perfectly good \dvi file
-including the new font, which your DVI driver will choke on
-because you've not yet told it about the new fonts. Exactly how
-you do this depends on the dvi driver, but they all need the same
-information: the name of a \TeX\ font; the printer font name it
-corresponds to; some information to handle an re-encoding needed;
-and (in the case of a \PS driver) perhaps an instruction to
-download the font to the printer. You don't need to download the
-Times font to a \PS printer, because Times is built in to every
-\PS printer.
-
-If you use \dvips, these lines added to your \texttt{psfonts.map}
-file will do the job:
-\begin{verbatim}
- ptmr8r Times-Roman "TeXBase1Encoding ReEncodeFont" <<8r.enc
- ptmri8r Times-Italic "TeXBase1Encoding ReEncodeFont" <<8r.enc
- ptmb8r Times-Bold "TeXBase1Encoding ReEncodeFont" <<8r.enc
- ptmbi8r Times-BoldItalic "TeXBase1Encoding ReEncodeFont" <<8r.enc
- ptmro8r Times-Roman "0.167 SlantFont TeXBase1Encoding ReEncodeFont" <<8r.enc
- ptmbo8r Times-Bold "0.167 SlantFont TeXBase1Encoding ReEncodeFont" <<8r.enc
-\end{verbatim}
-And now you can print a \dvi file containing the new fonts. If
-you really do want to use the `raw' |8a| encoded fonts for some
-reason, you need to add these lines to your \texttt{psfonts.map}
-file:
-\begin{verbatim}
- ptmr8a Times-Roman
- ptmri8a Times-Italic
- ptmb8a Times-Bold
- ptmbi8a Times-BoldItalic
- ptmro8a Times-Roman "0.167 SlantFont"
- ptmbo8a Times-Bold "0.167 SlantFont"
-\end{verbatim}
-
-Assuming that you're using the \fd file that \fontinst has
-produced, and that you've asked for the Adobe Times family (|ptm|)
-in medium series (|m|) and upright shape (|n| for normal) using
-the NFSS font selection commands:
-\begin{verbatim}
- \renewcommand{\rmdefault}{ptm}
- \rmfamily \mdseries \upshape
-\end{verbatim}
-Assuming further that you are using the \fd file \texttt{t1ptm.fd}
-produced by \fontinst, the \TeX\ font (\tfm file) \texttt{ptmr8t.tfm}
-will be selected by the above commands, as you can see from the
-relevant line in \texttt{t1ptm.fd}:
-\begin{verbatim}
- \DeclareFontShape{T1}{ptm}{m}{n}{<<->> ptmr8t}{}
-\end{verbatim}
-
-This is what happens:
-\begin{itemize}
-\item \TeX\ typesets your document using the font metric file
- \texttt{ptmr8t.tfm}; this is the font that is put in the \dvi
- file.
-\item \Dvips looks at the \dvi file, and sees a reference to the
- font \texttt{ptmr8t}.
-\item \Dvips searches for a \vf file corresponding to
- \texttt{ptmr8t}; when it finds \texttt{ptmr8t.vf}, it knows it
- has a virtual font on its hands.
- %\footnote{This is a slight lie--why?}
-\item \Dvips follows the instructions in the \vf file, which map
- characters in \texttt{ptmr8t.tfm} to characters in the font
- \texttt{ptmr8r.tfm}. That is, when it sees a number~25 in the
- \dvi file (dotless~i -- `\i' -- in T1 encoding), it replaces it
- with a number~17, which is a dotless~i in |8r| encoding.
-\item Then \dvips looks up the name of each number according to
- the scheme given in the file \texttt{8r.enc}, and replaces each
- number with the name of the character, in this case, number~17
- is listed as `dotlessi'.
-\item And finally, \dvips tells the printer to print the named
- character.
-\end{itemize}
-
-Not all DVI drivers can manage re-encoding as well as \dvips can.
-For example, \OzTeX's built-in non-\PS \dvi driver can only work
-with numbers, so if I'm using a \PS font, I can't print characters
-(such as Eth) that don't have a number in Macintosh text encoding
-unless I use \dvips and print on a \PS printer. \Dvips works with
-character names, so it's not subject to this restriction. In the
-example above, \OzTeX\ would replace the number~17 for `dotlessi'
-in |8r| encoding with a number~245 for `dotlessi' in Macintosh
-text encoding.
-
-The details of the \LaTeXe{} font selection scheme are described
-in \emph{\LaTeXe{} font selection} (distributed with \LaTeXe\ as
-the file \texttt{fntguide.tex}) and \emph{The \LaTeX\ Companion}
-(Goossens, Mittelbach and Samarin, Addison-Wesley).
-%You might also find useful the file \url{info/simple-nfss.tex}
-%available at your nearest comprehensive \TeX\ archive network
-%(CTAN) FTP server.
-
-The files you need to use Times, Helvetica, Courier, and the rest
-of the `standard' \PS fonts are distributed as part of the
-\setpackagename{PSNFSS} bundle available from CTAN, so there's no
-need to create new files to use these fonts.
-
-A more involved example of \fontinst use can be seen in the file
-\texttt{fontptcm.tex} which creates the files you need to use a
-combination of Times, Symbol, Zapf Chancery and Computer Modern as
-\TeX\ math fonts.
-
-
-\section{Installing your own font family}
-
-The \fontinst package has a command \verb|\latinfamily| meant to
-do most of the work to install a `normal' set (family) of roman
-text fonts from Adobe. Assuming you have a set of \afm files to
-match the fonts you wish to use, the first step is to rename the
-\afm files according to the \Fontnamekb naming scheme.
-
-A `normal' set of text fonts usually includes the basic upright
-roman version, bold, italic, and bold italic. Sometimes there
-will also be small caps versions, perhaps some `expert' fonts, and
-maybe some other weights such as light, medium, semi bold, black
-or ultra bold.
-
-The most important point to note is this: no matter what sort of
-computer you're using and no matter what font encoding it uses
-normally, \afm files for text fonts are almost always in |8a|
-encoding (Adobe standard encoding), so the \afm files when renamed
-normally end in |8a|.
-
-A typical set of four \afm files re-named for use with \fontinst
-is this:
-\begin{verbatim}
- ptmr8r.afm Times-Roman
- ptmri8r.afm Times-Italic
- ptmb8r.afm Times-Bold
- ptmbi8r.afm Times-BoldItalic
-\end{verbatim}
-Not all \afm files use |8a| encoding. If you open an \afm file
-using a text editor, you'll see a line looking like this somewhere
-near the top:
-\begin{verbatim}
- EncodingScheme AdobeStandardEncoding
-\end{verbatim}
-and if you see exactly that, the \afm file should end with |8a|.
-If you see something like this:
-\begin{verbatim}
- EncodingScheme FontSpecific
-\end{verbatim}
-have a look at the name of the font in the \afm file. If you see
-something like this:
-\begin{verbatim}
- FontName AGaramondExp-Regular
- FullName Adobe Garamond Regular Expert
-\end{verbatim}
-you have an `expert' encoded font on your hands, and the \afm file
-should end with |8x| to indicate this to \fontinst. An |8x|
-encoded font contains extra glyphs like old style numerals, small
-capital letters, more ligatures, and so on.
-
-%% UV: taken out -- repeated below
-%%
-%If you have an expert font, you can tell \fontinst to use it when
-%it's processing a \verb|\latinfamily| command by putting an `|x|'
-%on the end of the family name:
-%\begin{verbatim}
-% \latinfamily{padx}{}
-%\end{verbatim}
-%If you want to tell \fontinst to use expert fonts to install fonts
-%with old style numerals, you can do so by putting an `|j|' on the
-%end of the family name:
-%\begin{verbatim}
-% \latinfamily{padj}{}
-%\end{verbatim}
-
-The |\latinfamily| command is used like this:
-\begin{decl}
- |\latinfamily|\arg{family}\arg{commands}
-\end{decl}
-This installs a Latin family of fonts.
-
-For example, to install Adobe Times, you say:
-\begin{verbatim}
- \latinfamily{ptm}{}
-\end{verbatim}
-The \textit{commands} issued by \LaTeX\ each time a font from that
-family is loaded. This is most often used with typewriter fonts,
-to switch off hyphenation. For example, Adobe Courier can be
-installed with:
-\begin{verbatim}
- \latinfamily{pcr}{\hyphenchar\font=-1}
-\end{verbatim}
-Once the installation is over (which may take some time) the fonts
-can be used in \LaTeX\ by selecting an appropriate
-\verb|\fontfamily|, for example Adobe Times can be selected with:
-\begin{verbatim}
- \fontfamily{ptm}\selectfont
-\end{verbatim}
-If the fourth letter of the family name is `|x|' then \fontinst
-will use expert fonts in creating the fonts. If the fourth letter
-is `|j|' (or for backward compatibility `|9|') then \fontinst will
-use expert fonts to create fonts with old style digits.
-
-For example, to install Adobe Garamond using expert fonts, you say:
-\begin{verbatim}
- \latinfamily{padx}{}
-\end{verbatim}
-To install Adobe Garamond using expert fonts with oldstyle digits,
-you say:
-\begin{verbatim}
- \latinfamily{padj}{}
-\end{verbatim}
-
-When you have expert fonts, and you've told \fontinst to use
-them, it will carry on as normal, but the resulting font family
-will have the name `|padx|' or `|padj|', and it will use expert
-glyphs whenever possible, so you'll have a real (rather than
-faked) small caps font, real (rather than faked) `ffl' ligatures,
-and so on.
-
-Before using these commands, you will need to make sure that you
-have the Adobe Font Metric (\afm) files for the fonts, and that
-they have appropriate names. The \fontinst package uses the
-\LaTeX\ convention for naming fonts, and uses a \emph{font family}
-name which consists of:
-\begin{itemize}
-\item a \emph{supplier} (or foundry), such as `|p|' for Adobe.
-\item a \emph{typeface}, such as `|ad|' for Adobe Garamond.
-\item up to two \emph{variants}, such as `|j|' or `|x|' for `old
- style digits' or `expert'.
-\end{itemize}
-So the family name `|padj|' indicates Adobe Garamond with old
-style digits. Note that the variants `|j|' or `|x|' are
-interpreted by \fontinst itself and do not appear in external font
-names, whereas other variants are passed through as part of the
-font names. (This is needed for families which have a sans serif
-or typewriter variant.)
-
-The \emph{supplier} must be one letter, and the \emph{typeface}
-must be two (this is an attempt to fit all filenames into MS-DOS
-format). Each variant is one letter. The full list of foundries,
-typefaces, shapes and variants is given in Karl Berry's
-`\emph{Filenames for fonts}' (available by anonymous FTP from
-\url{ftp://ftp.tex.ac.uk/tex-archive/info/fontname}), but the more
-common ones are given in
-Tables~\ref{Tab:foundry}--\ref{Tab:typeface}.
-
-\begin{table}[!t]
-\begin{minipage}{0.5\textwidth}
- \small
- \begin{tabular}{ll}
- |b| & Bitstream \\
- |f| & `free' (public domain) \\
- |h| & Bigelow \& Holmes \\
- |i| & ITC \\
- |l| & Linotype \\
- |m| & Monotype \\
- |p| & Adobe (|p| for \PS) \\
- |r| & `raw' (obsolete) \\
- |u| & URW \\
- |z| & bizarre
- \end{tabular}
- \caption{A partial list of foundries}
- \label{Tab:foundry}
- \begin{tabular}{ll}
- |a| & alternate \\
- |d| & display, titling \\
- |f| & fraktur, handtooled \\
- |j| & oldstyle digits \\
- |n| & informal, casual \\
- |p| & ornaments \\
- |s| & sans serif \\
- |t| & typewriter \\
- |w| & script, handwriting, swash \\
- |x| & expert \\
- \end{tabular}
- \caption{A partial list of variants}
- \label{Tab:variant}
- \begin{tabular}{ll}
- |c| & small caps \\
- |i| & italic \\
- |o| & oblique (i.e.,~slanted) \\
- |u| & unslanted italic \\
- \end{tabular}
- \caption{A partial list of shapes}
- \label{Tab:shape}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
- \small
- \begin{tabular}{ll}
- |ac| & Adobe Caslon \\
- |ad| & Adobe Garamond \\
- |ag| & Avantgarde \\
- |bb| & Bembo \\
- |bd| & Bodoni \\
- |bk| & Bookman \\
- |bv| & Baskerville \\
- |ca| & Caslon \\
- |ch| & Charter \\
- |cr| & Courier \\
- |fr| & Frutiger \\
- |fu| & Futura \\
- |gl| & Galliard \\
- |gm| & Garamond \\
- |gs| & Gill Sans \\
- |hv| & Helvetica \\
- |mn| & Minion \\
- |lc| & Lucida \\
- |lh| & Lucida Bright \\
- |ls| & Lucida Sans \\
- |nb| & New Baskerville \\
- |nc| & New Century Schoolbook \\
- |op| & Optima \\
- |pl| & Palatino \\
- |sy| & Symbol \\
- |tm| & Times \\
- |ut| & Utopia \\
- |zc| & Zapf Chancery \\
- |zd| & Zapf Dingbats \\
- \end{tabular}
- \caption{A partial list of faces}
- \label{Tab:typeface}
-\end{minipage}
-\end{table}
-
-The \fontinst package uses Karl Berry's naming scheme for \afm
-files. The full naming scheme is rather more flexible than the
-subset used by \fontinst, which uses filenames consisting of:
-\begin{itemize}
-\item a \emph{supplier}, such as `|p|' for Adobe.
-\item a \emph{typeface}, such as `|hv|' for Helvetica.
-\item a \emph{weight}, such as `|r|' for regular.
-\item up to two \emph{shapes} or \emph{variants}, such as `|o|'
- for oblique.
-\item an \emph{encoding}, such as `|7t|' for Knuth's 7-bit \TeX{}
- encoding.
-\item an optional \emph{width}, such as `|n|' for narrow.
-\item a \emph{file extension}, such as `\texttt{.tfm}'
- for \TeX{} Font Metric.
-\end{itemize}
-So the filename name `\texttt{phvro7tn.tfm}' indicates Adobe
-Helvetica regular oblique narrow, in the 7-bit \TeX{} encoding.
-
-The full list of shapes, encodings and weights is given in Karl
-Berry's `\emph{Filenames for fonts}', but the more common ones are
-given in Tables~\ref{Tab:shape}--\ref{Tab:weight}.
-
-\begin{table}
-\begin{minipage}{0.5\textwidth}
- \small
- \begin{tabular}{ll}
- |b| & bold \\
- |c| & black \\
- |d| & demibold \\
- |h| & heavy \\
- |k| & book \\
- |l| & light \\
- |m| & medium \\
- |r| & regular \\
- |s| & semibold \\
- |u| & ultra bold \\
- |x| & extra bold \\
- \end{tabular}
- \caption{A partial list of weights}
- \label{Tab:weight}
- \begin{tabular}{ll}
- |c| & condensed \\
- |n| & narrow \\
- |w| & wide \\
- |x| & extended \\
- \end{tabular}
- \caption{A partial list of widths}
- \label{Tab:width}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
- \small
- \begin{tabular}{ll}
- |8a| & Adobe Standard \\
- |8x| & Adobe Expert \\
- |8r| & \TeX{} 8-bit `raw' (\texttt{TeXBase1}) \\
- |8y| & \TeX{} 8-bit `raw' (\texttt{TeXnANSI}) \\
- |7t| & \TeX{} 7-bit text (\texttt{OT1}) \\
- |7m| & \TeX{} 7-bit math italic (\texttt{OML}) \\
- |7y| & \TeX{} 7-bit math symbol (\texttt{OMS}) \\
- |7v| & \TeX{} 7-bit math extension (\texttt{OMX}) \\
- |8t| & \TeX{} 8-bit text (\texttt{T1}) \\
- |8c| & \TeX{} 8-bit text symbols (\texttt{TS1}) \\
- |9t| & \TeX{} 7-bit text with expert glyphs \\
- |9o| & \TeX{} 7-bit text with expert glyphs \\
- & and old-style digits \\
- |9e| & \TeX{} 8-bit text with expert glyphs \\
- |9d| & \TeX{} 8-bit text with expert glyphs \\
- & and old-style digits \\
- |9c| & \TeX{} 8-bit symbols with expert glyphs \\
- & and old-style digits \\
- \end{tabular}
- \caption{A partial list of encodings}
-\end{minipage}
-\end{table}
-
-For example, to install Adobe Garamond including the expert fonts, you
-would need to rename the \afm files:
-\begin{center}
-\begin{small}
-\begin{tabular}{lll}
- \emph{Adobe name} & \emph{ATM name} & \emph{Fontinst name} \\
- |AGaramond-Bold.afm| & |gdb_____.afm| & |padb8a.afm| \\
- |AGaramond-BoldItalic.afm| & |gdbi____.afm| & |padbi8a.afm| \\
- |AGaramond-Italic.afm| & |gdi_____.afm| & |padri8a.afm| \\
- |AGaramond-Regular.afm| & |gdrg____.afm| & |padr8a.afm| \\
- |AGaramond-Semibold.afm| & |gdsb____.afm| & |pads8a.afm| \\
- |AGaramond-SemiboldItalic.afm| & |gdsbi___.afm| & |padsi8a.afm| \\
- |AGaramondExp-Bold.afm| & |geb_____.afm| & |padb8x.afm| \\
- |AGaramondExp-BoldItalic.afm| & |gebi____.afm| & |padbi8x.afm| \\
- |AGaramondExp-Italic.afm| & |gei_____.afm| & |padri8x.afm| \\
- |AGaramondExp-Regular.afm| & |gerg____.afm| & |padr8x.afm| \\
- |AGaramondExp-Semibold.afm| & |gesb____.afm| & |pads8x.afm| \\
- |AGaramondExp-SemiboldItalic.afm| & |gesbi___.afm| & |padsi8x.afm| \\
- |AGaramond-RegularSC.afm| & |gdsc____.afm| & |padrc8a.afm| \\
- |AGaramond-SemiboldSC.afm| & |gdsbs___.afm| & |padsc8a.afm| \\
-\end{tabular}
-\end{small}
-\end{center}
-You can then run \TeX{} on the following document to install the
-Adobe Garamond family:
-\begin{verbatim}
- \input fontinst.sty
- \latinfamily{padx}{}
- \latinfamily{padj}{}
- \bye
-\end{verbatim}
-Not all font families can be installed using the \verb|\latinfamily|
-command, nor does it always produce optimal results. The main
-interfaces to \fontinst are at a slightly lower level, where all font
-names appear explicitly in command arguments, and at that level it is
-possible to fine tune the font generation. The \verb|\latinfamily|
-command is mainly a clever collection of macros which expand to a
-mostly fixed\footnote{Commands that would refer to files which are
-not present are skipped, and in some cases there is a ``Plan B''
-when ``Plan A'' would have made use of such a nonexistent file, but
-that is about it.} sequence of lower level \fontinst commands.
-
-\begin{bfseries}
- Descriptions of the sub-\verb|\latinfamily| commands can be found
- in the main \fontinst manual.
-\end{bfseries}
-
-
-
-\section{More on the \cs{latinfamily} command}
-
-The \verb|\latinfamily| command is essentially a short-cut to save you
-preparing a huge file with many different \fontinst commands in it.
-
-It takes \afm or \mtx files as the source of font metric data to work
-with. Usually, you have a set of \afm files. They must be named
-according to a subset of the \Fontnamekb naming scheme. To illustrate
-the process, here is an edited part of the console log from a use of
-\verb|\latinfamily|:
-\begin{verbatim}
- \latinfamily{pad}{}
-\end{verbatim}
-This log does not show \fontinst `in action'; it's just to illustrate
-which fonts are looked for when you use the \verb|\latinfamily|
-command.
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,m,n,>> seek padr8r.mtx
- INFO>> to make LaTeX font shape <<pad,m,sc,>> seek padrc8r.mtx
- INFO>> to make LaTeX font shape <<pad,m,sl,>> seek padro8r.mtx
- INFO>> to make LaTeX font shape <<pad,m,it,>> seek padri8r.mtx
- INFO>> to make LaTeX font shape <<pad,m,n,c>> seek padr8rn.mtx
- INFO>> to make LaTeX font shape <<pad,m,sc,c>> seek padrc8rn.mtx
- INFO>> to make LaTeX font shape <<pad,m,sl,c>> seek padro8rn.mtx
- INFO>> to make LaTeX font shape <<pad,m,it,c>> seek padri8rn.mtx
-\end{verbatim}
-
-The important point to notice is that \fontinst needs an |8r| encoded
-\mtx file for each font when you are using the \verb|latinfamily|
-command. If it can't find an |8r| encoded \mtx file, it'll look for
-for an |8a| encoded \afm file. It will automatically turn the file it
-finds into an |8r| encoded \mtx file. So when \fontinst says
-`\verb|seek padr8r.mtx|', it is in fact looking for
-\texttt{padr8r.mtx} and \texttt{padr8a.afm}. Whatever it finds, it
-will end up with \verb|padr8r.mtx| to work on.
-
-The first line of the log shows that \fontinst is trying to create a
-\vpl file for |pad/m/n|. That is, font family |pad| (Adobe Garamond),
-font series |m| (normal `book' or `regular' weight), and font shape
-|n| (normal upright).
-
-If it finds what it's looking for, it will create the files:
-\begin{verbatim}
- padr7t.vpl
- padr8t.vpl
- padr8c.vpl
-\end{verbatim}
-And add these lines to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{m}{n}{<<->> padr7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{m}{n}{<<->> padr8t}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{m}{n}{<<->> padr8c}{}
-\end{verbatim}
-This means you will have three new fonts to use in \LaTeX: the OT1, T1
-and TS1 encoded versions of |pad/m/n|. You'll be able to select (say)
-|T1/pad/m/n| by saying:
-\begin{verbatim}
- \fontencoding{T1}\fontfamily{pad}\fontseries{m}\fontshape{n}\selectfont
-\end{verbatim}
-This is the clumsiest way of selecting that particular font, but I've
-done it to illustrate exactly what's happening.
-
-The next line:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,m,sc,>> seek padrc8r.mtx
-\end{verbatim}
-shows that \fontinst is trying to install a small caps font. If you
-have a real small caps metric file named \texttt{padrc8r.mtx} (don't
-forget it'll look for an |8a| encoded \afm file), \fontinst will go
-ahead and create the \vpl file and \fd file entry as expected.
-
-But you don't normally have a real small caps font, so \fontinst will
-quite happily produce a fake small caps font. To do this, it looks
-for a suitable metric file by dropping the `|c|':
-\begin{quote}
- `Hmm\ldots\ I can't find \texttt{padrc8r}, so I'll look for
- \texttt{padr8r}.'
-\end{quote}
-And you will eventually have:
-\begin{verbatim}
- padrc7t.vpl
- padrc8t.vpl
-\end{verbatim}
-And add these lines to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{m}{sc}{<<->> padrc7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{m}{sc}{<<->> padrc8t}{}
-\end{verbatim}
-(Note that it won't install a TS1-encoded small caps font because
-TS1 is a text symbol font, which would look the same in the upright
-and small caps shape.)
-
-The next log line shows \fontinst trying to create a \vpl for the
-oblique version of Adobe Garamond:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,m,sl,>> seek padro8r.mtx
-\end{verbatim}
-It's quite usual for an oblique version to be unavailable, but
-\fontinst has a way round this: it can fake an oblique font from the
-corresponding `straight' version:
-\begin{quote}
- `Oh dear: I can't find \texttt{padro8r}, so I'll look for
- \texttt{padr8r} and use clever maths to fake a slanted version.'
-\end{quote}
-This is not as straightforward as the small caps case. \Fontinst
-only works out what the metrics ought to be if the entire font is
-slanted to the right. It's up to the DVI driver to actually print a
-slanted font. \Dvips can do this.
-
-You will eventually have:
-\begin{verbatim}
- padro7t.vpl
- padro8t.vpl
- padro8c.vpl
-\end{verbatim}
-And these lines added to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{m}{sl}{<<->> padro7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{m}{sl}{<<->> padro8t}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{m}{sl}{<<->> padro8c}{}
-\end{verbatim}
-
-The next line is straightforward:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,m,it,>> seek padri8r.mtx
-\end{verbatim}
-If \fontinst can't find a suitable metrics file (\texttt{padri8r.mtx}
-or \texttt{padri8a.afm}), it carries on without doing anything. If it
-does find a suitable metrics file, it churns away until you will
-eventually have:
-\begin{verbatim}
- padri7t.vpl
- padri8t.vpl
- padri8c.vpl
-\end{verbatim}
-And these lines added to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{m}{it}{<<->> padri7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{m}{it}{<<->> padri8t}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{m}{it}{<<->> padri8c}{}
-\end{verbatim}
-
-The next line is a bit different. \Fontinst is now trying to create a
-\vpl file for a \emph{condensed} font:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,m,n,c>> seek padr8rn.mtx
-\end{verbatim}
-If it finds a suitable metric file (Adobe Garamond, medium weight,
-normal upright shape, condensed), it will eventually produce:
-\begin{verbatim}
- padr7tn.vpl
- padr8tn.vpl
- padr8cn.vpl
-\end{verbatim}
-And these lines added to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{mc}{n}{<<->> padr7tn}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{mc}{n}{<<->> padr8tn}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{mc}{n}{<<->> padr8cn}{}
-\end{verbatim}
-There is no standard \LaTeX\ command like \verb|\bfseries| to select
-the medium condensed (|mc|) series created here. If you want to use
-this font, you must do something like:
-\begin{verbatim}
- \fontfamily{pad}\fontseries{mc}\selectfont
-\end{verbatim}
-If it doesn't find a suitable metric file for a narrow series,
-\fontinst will just skip over and continue, unless you specifically
-tell it to fake a narrow series.
-
-And so the process continues: \fontinst attempts to create \vpl files
-for condensed versions of all the font shapes met so far, and then
-goes on to:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,b,n,>> seek padb8r.mtx
-\end{verbatim}
-And again, if it finds a suitable metric file (\texttt{padb8r.mtx} or
-\texttt{padb8a.afm}), it'll potter off and create the files:
-\begin{verbatim}
- padb7t.vpl
- padb8t.vpl
- padb8c.vpl
-\end{verbatim}
-And these lines added to the given \fd files:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{b}{n}{<<->> padb7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{b}{n}{<<->> padb8t}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{b}{n}{<<->> padb8c}{}
-\end{verbatim}
-With this step done, fontinst will try to create \vpl files for the
-small caps, slanted, and italic versions of |pad/b|; and then it'll
-try to create condensed versions of all those:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,b,n,>> seek padb8r.mtx
- INFO>> to make LaTeX font shape <<pad,b,sc,>> seek padbc8r.mtx
- INFO>> to make LaTeX font shape <<pad,b,sl,>> seek padbo8r.mtx
- INFO>> to make LaTeX font shape <<pad,b,it,>> seek padbi8r.mtx
- INFO>> to make LaTeX font shape <<pad,b,n,c>> seek padb8rn.mtx
- INFO>> to make LaTeX font shape <<pad,b,sc,c>> seek padbc8rn.mtx
- INFO>> to make LaTeX font shape <<pad,b,sl,c>> seek padbo8rn.mtx
- INFO>> to make LaTeX font shape <<pad,b,it,c>> seek padbi8rn.mtx
-\end{verbatim}
-If it manages to find the files it needs to create the \vpl files to
-use all those fonts with \LaTeX, you'll end up with the following
-lines in the T1 \fd file (I've ignored the OT1 \fd file to save some
-space):
-\begin{verbatim}
- \DeclareFontShape{T1} {pad}{b} {n} {<<->> padb8t}{}
- \DeclareFontShape{T1} {pad}{b} {sc}{<<->> padbc8t}{}
- \DeclareFontShape{T1} {pad}{b} {sl}{<<->> padbo8t}{}
- \DeclareFontShape{T1} {pad}{b} {it}{<<->> padbi8t}{}
- \DeclareFontShape{T1} {pad}{bc}{n} {<<->> padb8tn}{}
- \DeclareFontShape{T1} {pad}{bc}{sc}{<<->> padbc8tn}{}
- \DeclareFontShape{T1} {pad}{bc}{sl}{<<->> padbo8tn}{}
- \DeclareFontShape{T1} {pad}{bc}{it}{<<->> pckbi8tn}{}
-\end{verbatim}
-To translate into English: Adobe Garamond bold in `normal', small
-caps, slanted, and italic versions, as well as condensed versions of
-all four.
-
-Again, because there's no convenient way of selecting the condensed
-versions with existing \LaTeX\ commands, you need to say something
-like:
-\begin{verbatim}
- \fontfamily{pad}\fontseries{bc}\selectfont
-\end{verbatim}
-to use the bold condensed (|bc|) versions of this font; you can of
-course use \verb|\itshape|, \verb|\scshape|, \verb|\slshape|, and
-\verb|upshape| to switch between the italic, small caps, slanted, and
-`normal' versions of Adobe Garamond bold condensed once you've got
-|pad/bc| selected.
-
-So far, you've seen \verb|\latinfamily| look at two different weights
-and two different widths. For each weight, \verb|\latinfamily| will
-try and install eight different fonts as you can see above. It will
-try and install the same eight different fonts for each of the
-following different weights:
-\begin{center}
-\begin{tabular}{lll}
- \emph{\LaTeX} & \emph{Fontname} & \emph{description} \\
- |ul| & |a| & ultra light \\
- |el| & |i| & extra light \\
- |l| & |l| & light \\
- |m| & |k|, |r| & book, regular \\
- |mb| & |m| & medium \\
- |db| & |d| & demi bold \\
- |sb| & |s| & semi bold \\
- |b| & |b| & bold \\
- |eb| & |c|, |h|, |x| & black, heavy, extra bold \\
- |ub| & |u| & ultra bold
-\end{tabular}
-\end{center}
-The \LaTeX\ column contains the label that will be used in the
-\verb|\DeclareFontShape| command to specify the font series. The
-\Fontnamekb column contains the width specifier used to name the font
-metric file that \fontinst will look for in that case.
-
-In other words, at some stage \fontinst will look for:
-\begin{verbatim}
- INFO>> to make LaTeX font shape <<pad,sb,n,>> seek pads8r.mtx
-\end{verbatim}
-and if it finds a suitable metric file (\texttt{pads8r.mtx} or
-\texttt{pads8a.afm}), it will create:
-\begin{verbatim}
- pads7t.vpl
- pads8t.vpl
- pads8c.vpl
-\end{verbatim}
-and \fd file entries like this:
-\begin{verbatim}
- OT1pad.fd: \DeclareFontShape{OT1}{pad}{sb}{n}{<<->> pads7t}{}
- T1pad.fd: \DeclareFontShape{T1} {pad}{sb}{n}{<<->> pads8t}{}
- TS1pad.fd: \DeclareFontShape{TS1}{pad}{sb}{n}{<<->> pads8c}{}
-\end{verbatim}
-and since |sb| is not a normal \LaTeX\ font series, you'll need to use
-something like:
-\begin{verbatim}
- \fontfamily{pad}\fontseries{sb}\selectfont
-\end{verbatim}
-to use this font.
-
-% For example, \verb|\latinfamily{ptm}{}| is
-% syntactic sugar for:
-% \begin{verbatim}
-% \transformfont{ptmr8r}{\reencodefont{8r}{\fromafm{ptmr8a}}}
-% \transformfont{ptmri8r}{\reencodefont{8r}{\fromafm{ptmri8a}}}
-% \transformfont{ptmb8r}{\reencodefont{8r}{\fromafm{ptmb8a}}}
-% \transformfont{ptmbi8r}{\reencodefont{8r}{\fromafm{ptmbi8a}}}
-% \transformfont{ptmro8r}{\slantfont{167}{\frommtx{ptmr8r}}}
-% \transformfont{ptmbo8r}{\slantfont{167}{\frommtx{ptmb8r}}}
-% \installfonts
-% \installfamily{T1}{ptm}{}
-% \installfamily{OT1}{ptm}{}
-% \installfont{ptmr8t}{ptmr8r,latin}{T1}{T1}{ptm}{m}{n}{}
-% \installfont{ptmr7t}{ptmr8r,latin}{OT1}{OT1}{ptm}{m}{n}{}
-% \installfont{ptmrc8t}{ptmr8r,latin}{T1c}{T1}{ptm}{m}{sc}{}
-% \installfont{ptmrc7t}{ptmr8r,latin}{OT1c}{OT1}{ptm}{m}{sc}{}
-% \installfont{ptmri8t}{ptmri8r,latin}{T1}{T1}{ptm}{m}{it}{}
-% \installfont{ptmri7t}{ptmri8r,latin}{OT1i}{OT1}{ptm}{m}{it}{}
-% \installfont{ptmro8t}{ptmro8r,latin}{T1}{T1}{ptm}{m}{sl}{}
-% \installfont{ptmro7t}{ptmro8r,latin}{OT1}{OT1}{ptm}{m}{sl}{}
-% \installfont{ptmb8t}{ptmb8r,latin}{T1}{T1}{ptm}{b}{n}{}
-% \installfont{ptmb7t}{ptmb8r,latin}{OT1}{OT1}{ptm}{b}{n}{}
-% \installfont{ptmbc8t}{ptmb8r,latin}{T1c}{T1}{ptm}{b}{sc}{}
-% \installfont{ptmbc7t}{ptmb8r,latin}{OT1c}{OT1}{ptm}{b}{sc}{}
-% \installfont{ptmbi8t}{ptmbi8r,latin}{T1}{T1}{ptm}{b}{it}{}
-% \installfont{ptmbi7t}{ptmbi8r,latin}{OT1i}{OT1}{ptm}{b}{it}{}
-% \installfont{ptmbo8t}{ptmbo8r,latin}{T1}{T1}{ptm}{b}{sl}{}
-% \installfont{ptmbo7t}{ptmbo8r,latin}{OT1}{OT1}{ptm}{b}{sl}{}
-% \endinstallfonts
-% \end{verbatim}
-
-
-The \texttt{basicex.tex} file in the \texttt{examples} directory of
-the main \fontinst distribution is an annotated command file which
-does roughly the same things as the \verb|\latinfamily| command for
-the \texttt{pad} family of fonts.
-
-
-\end{document}
diff --git a/Master/texmf-dist/doc/fonts/fontinst/base/manual/roadmap.eps b/Master/texmf-dist/doc/fonts/fontinst/base/manual/roadmap.eps
deleted file mode 100644
index 8ca14df79de..00000000000
--- a/Master/texmf-dist/doc/fonts/fontinst/base/manual/roadmap.eps
+++ /dev/null
@@ -1,265 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: roadmap.fig
-%%Creator: fig2dev Version 3.1 Patchlevel 1
-%%CreationDate: Sat Sep 16 18:24:06 1995
-%%For: alanje@rsuna.crn.cogs.susx.ac.uk (Alan Jeffrey, Research Fellow)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 298 312
-%%Pages: 0
-%%BeginSetup
-%%IncludeFeature: *PageSize A4
-%%EndSetup
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {} def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--112.0 334.0 translate
-1 -1 scale
-
-/clp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
- /DrawEllipse {
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def
- /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc 0 0 1 startangle endangle arc
- closepath
- savematrix setmatrix
- } def
-
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-7.500 slw
-% Arc
-n 4813.51 1452.05 m 4800.00 1575.00 l 4754.06 1460.15 l gs col-1 s gr
-n 4284.38 1645.31 520.40 -91.03 -7.77 arc
-gs col-1 s gr
-
-% Arc
-n 3045.94 1460.15 m 3000.00 1575.00 l 2986.49 1452.05 l gs col-1 s gr
-n 3515.62 1645.31 520.40 -88.97 -172.23 arcn
-gs col-1 s gr
-
-% Arc
-n 2771.84 3251.35 m 2775.00 3375.00 l 2714.02 3267.38 l gs col-1 s gr
-n 2279.17 3512.50 514.55 -84.89 -15.50 arc
-gs col-1 s gr
-
-% Arc
-n 3285.98 3267.38 m 3225.00 3375.00 l 3228.16 3251.35 l gs col-1 s gr
-n 3720.83 3512.50 514.55 -95.11 -164.50 arcn
-gs col-1 s gr
-
-% Arc
-n 4247.24 2906.08 m 4125.00 2925.00 l 4223.95 2850.78 l gs col-1 s gr
-n 3525.00 1500.00 1546.16 39.09 67.17 arc
-gs col-1 s gr
-
-% Arc
-n 3403.37 4702.50 m 3525.00 4725.00 l 3407.09 4762.39 l gs col-1 s gr
-n 3493.27 4214.42 511.56 164.63 86.44 arcn
-gs col-1 s gr
-
-% Arc
-n 4394.64 4681.42 m 4275.00 4650.00 l 4395.35 4621.42 l gs col-1 s gr
-n 4291.72 3239.01 1411.09 -3.62 90.68 arc
-gs col-1 s gr
-
-% Arc
-n 4398.18 4811.29 m 4275.00 4800.00 l 4389.00 4752.00 l gs col-1 s gr
-n 3787.50 1650.00 3187.50 28.07 81.20 arc
-gs col-1 s gr
-
-% Arc
-n 4306.30 4511.76 m 4200.00 4575.00 l 4264.03 4469.17 l gs col-1 s gr
-n 2769.64 3133.93 2030.42 0.45 45.21 arc
-gs col-1 s gr
-
-% Ellipse
-n 3900 2962 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 3900 562 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 3900 1762 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 3000 1762 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 4800 1762 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 4800 2962 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 5700 2962 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 6600 2962 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 2100 2962 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 3000 4162 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Ellipse
-n 3900 5362 225 187 0 360 DrawEllipse gs col-1 s gr
-
-% Polyline
-n 3525 975 m 4275 975 l 4275 1275 l 3525 1275 l clp gs col-1 s gr
-% Polyline
-n 3525 2175 m 4275 2175 l 4275 2475 l 3525 2475 l clp gs col-1 s gr
-% Polyline
-n 4425 2175 m 5175 2175 l 5175 2475 l 4425 2475 l clp gs col-1 s gr
-% Polyline
-n 2625 3375 m 3375 3375 l 3375 3675 l 2625 3675 l clp gs col-1 s gr
-% Polyline
-n 3525 4575 m 4275 4575 l 4275 4875 l 3525 4875 l clp gs col-1 s gr
-% Polyline
-n 3900 750 m 3900 975 l gs col-1 s gr
-n 3930.00 855.00 m 3900.00 975.00 l 3870.00 855.00 l gs col-1 s gr
-% Polyline
-n 3900 1275 m 3900 1575 l gs col-1 s gr
-n 3930.00 1455.00 m 3900.00 1575.00 l 3870.00 1455.00 l gs col-1 s gr
-% Polyline
-n 3900 1950 m 3900 2175 l gs col-1 s gr
-n 3930.00 2055.00 m 3900.00 2175.00 l 3870.00 2055.00 l gs col-1 s gr
-% Polyline
-n 3900 2475 m 3900 2775 l gs col-1 s gr
-n 3930.00 2655.00 m 3900.00 2775.00 l 3870.00 2655.00 l gs col-1 s gr
-% Polyline
-n 4800 1950 m 4800 2175 l gs col-1 s gr
-n 4830.00 2055.00 m 4800.00 2175.00 l 4770.00 2055.00 l gs col-1 s gr
-% Polyline
-n 4800 2475 m 4800 2775 l gs col-1 s gr
-n 4830.00 2655.00 m 4800.00 2775.00 l 4770.00 2655.00 l gs col-1 s gr
-% Polyline
-n 3000 1950 m 3000 3375 l gs col-1 s gr
-n 3030.00 3255.00 m 3000.00 3375.00 l 2970.00 3255.00 l gs col-1 s gr
-% Polyline
-n 3000 3675 m 3000 3975 l gs col-1 s gr
-n 3030.00 3855.00 m 3000.00 3975.00 l 2970.00 3855.00 l gs col-1 s gr
-% Polyline
-n 3900 3150 m 3900 4575 l gs col-1 s gr
-n 3930.00 4455.00 m 3900.00 4575.00 l 3870.00 4455.00 l gs col-1 s gr
-% Polyline
-n 3900 4875 m 3900 5175 l gs col-1 s gr
-n 3930.00 5055.00 m 3900.00 5175.00 l 3870.00 5055.00 l gs col-1 s gr
-/Helvetica findfont 180.00 scalefont setfont
-3900 3000 m
-gs 1 -1 sc (tfm) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-3900 600 m
-gs 1 -1 sc (afm) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-3900 1800 m
-gs 1 -1 sc (pl) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-4800 1800 m
-gs 1 -1 sc (vpl) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-3000 1800 m
-gs 1 -1 sc (fd) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-4800 3000 m
-gs 1 -1 sc (vf) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-5700 3000 m
-gs 1 -1 sc (pfa) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-6600 3000 m
-gs 1 -1 sc (pfb) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-2100 3000 m
-gs 1 -1 sc (tex) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-3000 4200 m
-gs 1 -1 sc (dvi) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Helvetica findfont 180.00 scalefont setfont
-3900 5400 m
-gs 1 -1 sc (ps) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Palatino-Italic findfont 180.00 scalefont setfont
-3900 1175 m
-gs 1 -1 sc (fontinst) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Palatino-Italic findfont 180.00 scalefont setfont
-3900 2375 m
-gs 1 -1 sc (pltotf) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Palatino-Italic findfont 180.00 scalefont setfont
-4800 2375 m
-gs 1 -1 sc (vptovf) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Palatino-Italic findfont 180.00 scalefont setfont
-3000 3575 m
-gs 1 -1 sc (latex) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-/Palatino-Italic findfont 180.00 scalefont setfont
-3900 4775 m
-gs 1 -1 sc (dvips) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr
-$F2psEnd
-restore