summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fontinst/base/fisource.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/fontinst/base/fisource.tex')
-rw-r--r--Master/texmf-dist/source/fontinst/base/fisource.tex82
1 files changed, 54 insertions, 28 deletions
diff --git a/Master/texmf-dist/source/fontinst/base/fisource.tex b/Master/texmf-dist/source/fontinst/base/fisource.tex
index 8c684883f99..39f29a7f17b 100644
--- a/Master/texmf-dist/source/fontinst/base/fisource.tex
+++ b/Master/texmf-dist/source/fontinst/base/fisource.tex
@@ -87,7 +87,8 @@
\fi
\title{The \package{fontinst} utility}
-\author{Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth, Lars Hellstr\"om}
+\author{Alan Jeffrey\and David Carlisle\and Sebastian Rahtz\and
+ Ulrik Vieth\and Lars Hellstr\"om}
\begin{document}
\maketitle
@@ -106,10 +107,14 @@ This document implements and describes version~1.9 of
\subsection{Source files}
-The source for \package{fontinst} is currently split on the six
-source files \texttt{fibasics.dtx}, \texttt{ficommon.dtx},
-\texttt{fimain.dtx}, \texttt{ficonv.dtx}, \texttt{filtfam.dtx}, and
-\texttt{fimapgen.dtx}.
+The source for \package{fontinst} is currently split on the seven
+source files \texttt{fibasics.dtx} (basic \TeX\ initialisation and
+hackery), \texttt{ficommon.dtx} (commands for variables, integer
+expressions, and the like), \texttt{fimain.dtx} (actually making
+fonts), \texttt{fitrig.dtx} (trigonometry), \texttt{ficonv.dtx}
+(conversions between file formats, font transformations),
+\texttt{filtfam.dtx} (the \cs{latinfamily} command), and
+\texttt{fimapgen.dtx} (mapfile generation).
\subsection{Generated files}
@@ -155,10 +160,6 @@ By running the \package{docstrip} installation script
\texttt{csc2x.tex}, which only changes the names of digits.
\end{description}
-\texttt{fontinst.ins} also generates the file \texttt{trig.sty}, which
-contains \index{Carlisle, David} David Carlisle's
-\SortIndex{trig package}{\package{trig} package} \package{trig}
-package, and puts it in the same place as \texttt{fontinst.sty}.
\changes{1.914}{2000/05/14}{Generating \texttt{trig.sty} from
source. (LH)}
@@ -176,8 +177,8 @@ The source is split up on the following \package{docstrip} modules:
\item[\Module{debug}, \texttt{filtfam}]
Guards code in the |\latinfamily| section that writes \texttt{INFO>}
messages.
- \item[\Module{doc}, \texttt{fibasics}, \texttt{ficommon}, and
- \texttt{fimain}]
+ \item[\Module{doc}, \texttt{fibasics}, \texttt{ficommon},
+ \texttt{fimain}, and \texttt{fimapgen}]
Guards code that is to go into \texttt{fontdoc.sty}.
\item[\Module{driver}, all files]
Guards the driver code---the short piece of \LaTeX\ code in the
@@ -235,7 +236,7 @@ The source is split up on the following \package{docstrip} modules:
\item[\Module{textcomp}, \texttt{filtfam}]
Guards code in the |\latinfamily| section that generates text symbol
(\texttt{TS1}\slash ``text companion'') fonts.
- \item[\Module{underconstruction}, \texttt{main}]
+ \item[\Module{underconstruction}, \texttt{fimain}]
Guards some code that is ``under construction''.
\end{description}
@@ -353,9 +354,12 @@ enhancements can be based.
\section{About this \package{fontinst} release}
-Several improvements, some of which fixes old bugs and some of which
-introduces new features, have been made to in particular the generation
-of fonts. The most important are:
+Versions 1.9xx of \package{fontinst} represent a more-or-less
+continuous evolution from 1999 to the present. Several improvements,
+the extents of which are perhaps not clearly represented in the version
+number increments, have been made in this series---sometimes as fixes
+to old bugs, but more often to introduce new features. The most
+important are:
\begin{itemize}
\item The old multiple |\setkern| bug, which resulted in pointless
|KRN| instructions being written to (V)PL files have been fixed.
@@ -393,8 +397,8 @@ of fonts. The most important are:
\item Several \package{fontinst} commands that were previously
missing have been added to the \package{fontdoc} package. The
most significant are probably |\inputmtx| and |\inputetx|.
- \item There is now a simple way of changing the names of glyphs in
- metric files generated from AFM files.
+ \item There is now a way of automatically changing the names of
+ glyphs in metric files generated from AFM files.
% See Subsection~\ref{Ssec:Reglyph} for further details.
\item The implementation of font metrics transformations, as done by
|\transformfont|, has been rewritten and \package{fontinst} now
@@ -417,7 +421,7 @@ of fonts. The most important are:
|\setscaled|\-|notglyph| which generalize the |\setraw|\-|glyph|
and |\setnot|\-|glyph| commands. These commands are described in
Subsection~\ref{Ssec:Glyph-info}.
- \item The routines for converting metrics to (V)PL format has
+ \item The routines for converting metrics to (V)PL format have
changed. As a result of this the metrics of fonts are likely to
change (slightly), but the conversion is now more accurate than it
used to be. A side-effect is that VPL files generated by
@@ -514,6 +518,20 @@ of fonts. The most important are:
| \Unicode{0069}{LATIN SMALL LETTER I}|\\
|}|
\end{quote}
+ \item
+ There are now three `actions' for files needed for a font:
+ |\download|, |\fulldownload|, and |\encodingdownload|;
+ corresponding to the prefixes |<|, |<<|, and |<[| respectively
+ in a \package{dvips} map file.
+ \item
+ There is a documented way of turning off default substitutions:
+ Make a |\substitutesilent| or |\substitutenoisy| with the
+ \meta{from} argument also as \meta{to}.
+ \item
+ When ETX files are generated using |\enctoetx| then the original
+ encoding names (as PS object and as file) are recorded and this
+ information is made available to the map file writer when
+ necessary.
\end{itemize}
@@ -607,17 +625,22 @@ 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. \package{fontinst} has had an interface
+kerns with word boundaries.\footnote{For purposes of ligatures and
+kerning, a `word' is a consecutive string of characters from a
+single font. These words thus typically include punctuation marks,
+unlike the `words' considered in hyphenation.}
+\package{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 \package{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
+Before considering the new commands, it is suitable to define the
+concepts of proper glyph and pseudoglyph. A \emph{proper glyph} has
+been set using one of the commands |\setrawglyph|,
+|\set|\-|scaled|\-|raw|\-|glyph|, |\setglyph|, and
+|\reset|\-|glyph|. 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
@@ -630,7 +653,7 @@ 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
+the argument to |\setleftboundary| may be any glyph, hence a
pseudoglyph will do just fine.
|\ligature| commands between |\setleftboundary| and
@@ -860,9 +883,8 @@ structure (comments not necessary, of course):
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
+major driver (\texttt{dvips}, \texttt{xdvi},
+\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
@@ -2007,7 +2029,10 @@ implicitly use or set are listed below.
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}\}$.
+ files. Defaults to
+ $$
+ \max\{0, \mathit{right}-\mathit{width}\}.
+ $$
\item[Used by] The AFM-to-MTX converter.
\end{smalldes}
\item[stretchword] (integer denoting length)
@@ -2223,6 +2248,7 @@ a user-defined macro; see \texttt{ltcmds.mtx} for examples.
\DocInclude{fibasics}
\DocInclude{ficommon}
\DocInclude{fimain}
+\DocInclude{fitrig}
\DocInclude{ficonv}
\DocInclude{filtfam}
\DocInclude{fimapgen}