summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fontinst/base/encspecs
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fontinst/base/encspecs')
-rw-r--r--Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex85
-rw-r--r--Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx42
-rw-r--r--Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx41
3 files changed, 131 insertions, 37 deletions
diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex b/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex
index 3d1027d9415..88911506970 100644
--- a/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex
+++ b/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex
@@ -44,7 +44,21 @@
}
\makeatother
\DeclareRobustCommand\ETX{\textsmaller{ETX}}
-
+\DeclareRobustCommand\PDF{\textsmaller{PDF}}
+
+% From tugboat.cls
+\def\thinskip{\hskip 0.16667em\relax}
+\def\endash{--}
+\def\emdash{\endash-}
+\makeatletter
+\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
+\def\dash{\d@sh\nobreak\endash}
+\def\Dash{\d@sh\nobreak\emdash}
+\def\ldash{\d@sh\empty{\hbox{\endash}\nobreak}}
+\def\rdash{\d@sh\nobreak\endash}
+\def\Ldash{\d@sh\empty{\hbox{\emdash}\nobreak}}
+\def\Rdash{\d@sh\nobreak\emdash}
+\makeatother
\usepackage{shortvrb}
\MakeShortVerb{\|}
@@ -79,6 +93,9 @@
\section{Introduction}
+This is a kind of FAQ on some initial questions, and my personal
+answers to those.
+
\paragraph*{Why should one specify font encodings?}
Because without a specification, font
designers\footnote{Maybe not a good term, since it is really about
@@ -143,7 +160,11 @@ carries some meaning, even if you usually have to combine several
characters to make up even one word---whereas a \emph{glyph} simply
is a piece of graphics. In printed text, glyphs are used to represent
characters and the first step of reading is to determine which
-character(s) a given glyph is representing.
+character(s) a given glyph is representing.\footnote{Some \PDF\ viewers
+also try to accomplish this, but in general they need extra
+information to do it right. The generic solution provided is to embed
+a \emph{ToUnicode CMap}\Ldash which is precisely a map from slots to
+characters\Rdash in the \PDF\ font object.}
In the output, \TeX\ neither deals with characters nor glyphs, really
(although many of its messages speak of characters), but with
@@ -302,8 +323,8 @@ of |\lccode| values.
In \eTeX\ each set of hyphenation patterns has its own set of
|\lccode| values for hyphenation, so the problem isn't as severe
there. The hyphenation mechanism of \TeXOmega\ should become
-completely independent of the font encoding, but in the current
-implementation it is still operating on material encoded according to
+completely independent of the font encoding, although the last time I
+checked it was still operating on material encoded according to
a font encoding.
@@ -416,10 +437,31 @@ this is to use the |\Unicode| command, which has the syntax
\end{quote}
The \meta{code point} is the number of the character (in hexadecimal
notation, usually a four-digit number) and the \meta{name} is the name.
-Case is insignificant in these arguments. If a character does not
-have a Unicode code point then the specification should simply be a
-description in text which identifies the character. Such descriptions
-are written using the |\comment| command
+Case is insignificant in these arguments. If a slot corresponds to a
+string of characters rather than to a single character, then one uses
+the |\charseq| command, which has the syntax
+\begin{quote}
+ |\charseq|\marg{\cs{Unicode} commands}
+\end{quote}
+e.g.
+\begin{quote}\begin{verbatim}
+\nextslot{30}
+\setslot{ffi}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+ }
+\endsetslot
+\end{verbatim}\end{quote}
+Several |\Unicode| commands not in the argument of a |\charseq|
+instead mean that each of the listed characters is a valid
+interpretation of the slot.
+
+If a character cannot be specified in terms of Unicode code points then
+the specification should simply be a description in text which
+identifies the character. Such descriptions are written using the
+|\comment| command
\begin{quote}
|\comment|\marg{text}
\end{quote}
@@ -444,8 +486,8 @@ ordinary and odd ligatures need not be. No clear distinction can be
made between ordinary and odd ligatures, but a non-mandatory ligature
should be categorized as ordinary if it makes sense for the majority
of users, and as odd otherwise. Hence the `fi' ligature is
-categorized as ordinary in the \texttt{T1} encoding, whereas the `ij'
-ligature is odd.
+categorized as ordinary in the \texttt{T1} encoding (although it
+makes no sense in Turkish), whereas the `ij' ligature is odd.
In the \ETX\ format, a ligature is specified using one of the slot
commands
@@ -885,15 +927,9 @@ so that they do match.
\subsection{Encoding specification body syntax}
The \meta{body} part of an encoding specification must comply to a
-much stricter syntax than the rest of the file.
-The full syntax of the \ETX\ format can\footnote{Well, it should be,
-only the manual hasn't been updated for a while now, so some things
-are missing from it. They're all documented in the \package{fontinst}
-sources~\cite{fontinst-pre}, though.} be found in the \package{fontinst}
-manual~\cite{fontinst-man}, but font encoding specifications only need
-a subset of that. The \meta{body} is a sequence of
-\meta{encoding command}s, each of which should be one of the
-following:
+much stricter syntax than the rest of the file. The \meta{body} is
+a sequence of \meta{encoding command}s, each of which should be one
+of the following:
\begin{quote}
|\setslot|\marg{glyph name} \meta{slots commands} |\endsetslot|\\
|\nextslot|\marg{number}\\
@@ -905,12 +941,13 @@ following:
The |\needsfontinstversion| command is usually placed immediately
after the |\encoding| command. The \meta{version number} must be at
least |1.918| for many of the features described in this file to be
-available.
+available, and at least |1.928| if the |\charseq| command is used.
The \meta{slot commands} are likewise a sequence of \meta{slot
command}s, each of which should be one of the following:
\begin{quote}
|\Unicode|\marg{code point}\marg{name}\\
+ |\charseq|\marg{\cs{Unicode} commands}\\
|\comment|\marg{text}\\
|\Ligature|\marg{ligtype}\marg{right}\marg{new}\\
|\ligature|\marg{ligtype}\marg{right}\marg{new}\\
@@ -941,6 +978,10 @@ the normal \LaTeX\ |\label| command; when it is used in a \meta{slot
commands} it references that particular slot (by number and glyph
name).
+The full syntax of the \ETX\ format can be found in the
+\package{fontinst} manual~\cite{fontinst-man}, but font encoding
+specifications only need a subset of that.
+
\subsection{Additional \package{fontdoc} features}
@@ -1257,7 +1298,7 @@ the above conditions reformulated.
Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth, and Lars Hellstr\"om:
\textit{The \package{fontinst} utility}, documented source code,
v\,1.9xx,
- \ctanref{fonts/utilities/fontinst-prerelease/source}{%
+ \ctanref{fonts/utilities/fontinst/source}{%
\textsc{ctan}:\discretionary{}{}{\thinspace}%
\texttt{fonts}\slash \texttt{utilities}\slash
\texttt{fontinst}\slash \texttt{source}/}.
@@ -1266,7 +1307,7 @@ the above conditions reformulated.
Ad\-di\-son--Wes\-ley, 1991;
volume A of \textit{Computers and typesetting}.
\bibitem{LaTeXCompanion}
- Frank Mittelbac and Michel Goossens, with Johannes Braams,
+ Frank Mittelbach and Michel Goossens, with Johannes Braams,
David Carlisle, and Chris Rowley:
\textit{The \LaTeX\ Companion} (second edition),
Ad\-di\-son--Wes\-ley, 2004; ISBN~0-201-36299-6.
diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx b/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx
index 8fbdb57c29c..6f07bbd6f4a 100644
--- a/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx
+++ b/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx
@@ -1,6 +1,6 @@
\relax
\documentclass[twocolumn]{article}
-\usepackage[specification]{fontdoc}[2001/06/01]
+\usepackage[specification]{fontdoc}[2004/11/28]
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
@@ -10,7 +10,7 @@
\title{\texttt{OT1} encoding draft specification}
\author{Lars Hellstr\"om}
-\date{2001/09/09}
+\date{2004/12/16}
\maketitle
\begin{abstract}
@@ -34,7 +34,7 @@
\end{abstract}
\encoding
-\needsfontinstversion{1.918}
+\needsfontinstversion{1.928}
@@ -664,7 +664,10 @@ slot~\ref{underscore} is ordinary, not mandatory.
\nextslot{11}
\setslot{ff}
- \Unicode{FB00}{LATIN SMALL LIGATURE FF}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\ligature{LIG}{i}{ffi}
@@ -672,25 +675,39 @@ slot~\ref{underscore} is ordinary, not mandatory.
\endsetslot
\setslot{fi}
- \Unicode{FB01}{LATIN SMALL LIGATURE FI}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\endsetslot
\setslot{fl}
- \Unicode{FB02}{LATIN SMALL LIGATURE FL}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\endsetslot
\setslot{ffi}
- \Unicode{FB03}{LATIN SMALL LIGATURE FFI}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+ }
\comment{This glyph should be three characters wide in a monowidth
font.}
\endsetslot
\setslot{ffl}
- \Unicode{FB04}{LATIN SMALL LIGATURE FFL}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+ }
\comment{This glyph should be three characters wide in a monowidth
font.}
\endsetslot
@@ -967,6 +984,15 @@ only worked for fonts which have \(\mathit{ligaturing} = 2\), but
that can be fixed; see~\cite{latex/3368}.
+\section{Changes}
+
+The changes made to this specification since the original 2001/09/09
+version are as follows.
+
+2004/12/16: Changed the f-ligatures to character sequences, which
+makes more sense for \texttt{CMap}s. Incremented needed versions
+accordingly. /LH
+
\begin{thebibliography}{9}
\bibitem{ltoutenc}
diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx b/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx
index d160fab4e02..d82c9e53ed0 100644
--- a/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx
+++ b/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx
@@ -1,6 +1,6 @@
\relax
\documentclass[twocolumn]{article}
-\usepackage[specification]{fontdoc}[2001/06/18]
+\usepackage[specification]{fontdoc}[2004/11/28]
\usepackage{shortvrb}
\MakeShortVerb{\|}
@@ -23,7 +23,7 @@
\encoding
-\needsfontinstversion{1.918}
+\needsfontinstversion{1.928}
\begincomment
\section{Mandatory characters}
@@ -688,6 +688,11 @@ is less of a disadvantage.
which could have made better use of this slot; the only function
of this slot which could not have been handled using macros is
that |\SS| and |SS| can have different hyphenation.}
+ \label{SS}
+ \charseq{
+ \Unicode{0053}{LATIN CAPITAL LETTER S}
+ \Unicode{0053}{LATIN CAPITAL LETTER S}
+ }
\endsetslot
\setslot{agrave}
@@ -1229,9 +1234,13 @@ therefore be replaced by others or completely left out if the
ligature programs are modified accordingly.
\endcomment
+
\nextslot{27}
\setslot{ff}
- \Unicode{FB00}{LATIN SMALL LIGATURE FF}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\ligature{LIG}{i}{ffi}
@@ -1239,25 +1248,39 @@ ligature programs are modified accordingly.
\endsetslot
\setslot{fi}
- \Unicode{FB01}{LATIN SMALL LIGATURE FI}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\endsetslot
\setslot{fl}
- \Unicode{FB02}{LATIN SMALL LIGATURE FL}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+ }
\comment{This glyph should be two characters wide in a monowidth
font.}
\endsetslot
\setslot{ffi}
- \Unicode{FB03}{LATIN SMALL LIGATURE FFI}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+ }
\comment{This glyph should be three characters wide in a monowidth
font.}
\endsetslot
\setslot{ffl}
- \Unicode{FB04}{LATIN SMALL LIGATURE FFL}
+ \charseq{
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+ }
\comment{This glyph should be three characters wide in a monowidth
font.}
\endsetslot
@@ -1414,6 +1437,10 @@ it's not to be used for ranges. /LH
to the discussion section. Also added remark on \texttt{grave} versus
\texttt{gravecomb}. /LH
+2004/11/28: Changed the f-ligatures to character sequences, which
+makes more sense for \texttt{CMap}s. Added equivalent for
+slot~\ref{SS}. /LH
+
\begin{thebibliography}{9}
\bibitem{AGL}