summaryrefslogtreecommitdiff
path: root/info/ltx3pub/mfgaston.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/ltx3pub/mfgaston.tex
Initial commit
Diffstat (limited to 'info/ltx3pub/mfgaston.tex')
-rw-r--r--info/ltx3pub/mfgaston.tex273
1 files changed, 273 insertions, 0 deletions
diff --git a/info/ltx3pub/mfgaston.tex b/info/ltx3pub/mfgaston.tex
new file mode 100644
index 0000000000..6fb699be0e
--- /dev/null
+++ b/info/ltx3pub/mfgaston.tex
@@ -0,0 +1,273 @@
+%%% ====================================================================
+%%% @LaTeX-file{
+%%% author = "Alan Jeffrey",
+%%% version = "0.01",
+%%% date = "03 August 1993",
+%%% time = "22:26:08 BST",
+%%% filename = "mfgaston.tex",
+%%% address = "School of Cognitive and Computing Sciences
+%%% University of Sussex
+%%% Brighton BN1 9QH
+%%% UK",
+%%% telephone = "+44 273 606755 x 3238",
+%%% FAX = "+44 273 678188",
+%%% checksum = "18638 273 1528 10597",
+%%% email = "alanje@cogs.sussex.ac.uk",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "TeX fonts mathematics",
+%%% supported = "yes",
+%%% abstract = "This is a summary of the MFG Aston workshop.",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% package = "stands alone",
+%%% dependencies = "none",
+%%% }
+%%% ====================================================================
+
+\documentstyle{ltugboat}
+
+\title{Summary of MFG Aston workshop}
+
+\author{Alan~Jeffrey}
+\address{University of Sussex}
+\netaddress{alanje@cogs.susx.ac.uk}
+
+\def\rtitlex{MFG discussion document}
+\def\midrtitle{{\sl Summary of Aston workshop\/}}
+\setcounter{page}{1}
+
+\def\T#1{${\fam0 T}_{#1}$}
+\def\X#1{${\fam0 X}_{#1}$}
+\def\MX{$\fam0 MX$}
+\def\MS#1{${\fam0 MS}_{#1}$}
+\def\MC{$\fam0 MC$}
+\def\psname#1{{\normalshape $\langle$#1$\rangle$}}
+\def\psnon#1{{\it $\langle$#1\/$\rangle$}}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+At the 1993 \TUG\ meeting at Aston University, the math font group held a
+workshop at which we discussed the need for new math font encodings, and
+our work so far at meeting these needs.
+
+This document contains a short summary of the material presented at the
+workshop, for the benefit of those unable to intend, or people like me
+with faulty memory!
+
+The panel consisted of barbara beeton, Alan Jeffrey, Frank Mittelbach,
+Chris Rowley and Justin Ziegler. There were many useful questions and
+suggestions from the audience.
+
+\section{Motivation}
+
+The current situation (as discussed by Berthold Horn in his
+stimulating talk {\em Where are the math fonts?\/}) is that there are
+over 14,000 text fonts available for use in \TeX, but only five math
+fonts:
+\begin{itemize}
+\item Computer Modern
+\item Computer Concrete and Euler
+\item Lucida Math
+\item Lucida New Math
+\item MathTime
+\end{itemize}
+Each of these fonts use different encodings, and each comes with its own
+selection of \TeX\ macros. Although the Cork encoding is rapidly being
+established as the standard encoding for European Latin text, there is no
+similar encoding for mathematics. The result is:
+\begin{itemize}
+\item complex {\em ad hoc\/} macro packages for using each math font.
+\item it is difficult to set mathematics with Cork text, since the Cork
+ encoding does not include the upper case Greek.
+\item installing PostScript math fonts such as Mathematical Pi is very
+ difficult.
+\end{itemize}
+This is a bottleneck for uptake of the Cork fonts, and use of \TeX\ for
+mathematical setting with anything other than the Computer Modern fonts.
+
+The math font group (MFG, or Joint \LaTeX3 project \TUG\ Technical
+Working Group on Extended Math Font Encodings to give it its full
+title!)~was formed in order to develop new encodings for setting
+mathematics.
+
+These encodings should be fully upwardly compatible with \plain~\TeX,
+\LaTeX, \AmSTeX\ and \AmS-\LaTeX. The only effect most users should
+notice is that more symbols, and more math fonts will be available for
+use in \TeX.
+
+\section{Overview}
+
+The MFG has developed an outline for a proposed math encoding, although
+the details of each encoding have yet to be worked out. There is still
+plenty of room for change!
+
+The current math encoding proposal uses:
+\begin{itemize}
+
+\item \T1 `Cork' text encoding
+\item \MC\ math core encoding
+\item \MX\ math extension encoding
+\item \MS1 math symbol 1 encoding
+\item \MS2 math symbol 2 encoding
+\item \MS3 math symbol 3 encoding
+
+\end{itemize}
+In addition, we are proposing an \X1 `companion text' encoding, to hold
+the text glyphs such as `\dag' that are currently in math fonts.
+
+Glyphs are being allocated to math encodings on the grounds of:
+\begin{description}
+
+\item[Glyph shape.] All glyphs of a similar design should be in the same
+ encoding. For example, all the Greek glyphs should live together.
+
+\item[Kerning.] Any glyphs which may need to have a kern pair should be
+ in the same encoding. For example, one common request is for kerning
+ between `$f$' and `$($', and so these glyphs should live together.
+ (The situation is somewhat more complex than this, since \TeX\ will
+ only kern or ligature when the first glyph is a math atom consisting
+ only of a single-character mathord. See Rule~14 of Appendix G of \TB\
+ for more details.)
+
+\item[Ligaturing.] Any glyphs which may need to ligature should be in
+ the same encoding. For example, some fonts do not have a separate
+ \psnon{mapstochar} glyph, and will instead use a ligature between
+ \psnon{mapstochar} and \psnon{rightarrow} to produce \psnon{mapsto}.
+
+\item[Orthogonality.] Each encoding should use as few different glyph
+ styles as possible, to minimize the number of virtual fonts needed.
+ For example, the Computer Modern Symbol encoding includes roman
+ glyphs, geometric symbols, calligraphic letters, and dingbats, and so
+ a different VF is required for each combination of roman, geometric,
+ calligraphic and dingbat font. A site with 100~text romans, four
+ geometric symbol fonts, three calligraphic fonts, and three dingbat
+ fonts would need $100 \times 4 \times 3 \times 3 = 3600$ VFs.
+
+\item[Slots.] Some glyphs have preferred slots, for example it would be
+ useful if the letter `A' was always in slot~65.
+
+\end{description}
+None of the encodings will specify bold or sans glyphs, since these are
+expected to be kept in separate bold or sans math fonts, with the same
+encoding. The most commonly used bold glyphs will be placed in the \T1
+and \MC\ encoding, so if many bold glyphs are used in a document, only
+two extra families need to be used. If few bold glyphs are
+requested, these can be set using macros similar to \verb|\boldsymbol|.
+
+\section{\T1 encoding}
+
+The \T1 (or Cork) encoding will be used for multi-letter identifiers such
+as `log', `sin' and `lim'. Using the \T1 encoding allows arbitrary text
+fonts to be used for multi-letter identifiers. In many texts this will
+the same as the text roman, but this will not always be the case (for
+example Barandregt's {\em The Lambda Calculus\/}, North-Holland, 1984,
+has some multi-letter identifiers set in bold sans!).
+
+This font will not normally be used for anything other than upper and
+lower case Latin letters. The symbol glyphs such as `+', `=' and `/'
+will be taken from the \MS{i} encodings.
+
+Although the multi-letter identifier font will be \T1 encoded, it does not
+necessarily have to be a text font. In particular it may have the glyph
+width and italic correction adjusted to produce good subscript and
+superscript positioning, as long as this is not to the detriment of setting
+multi-letter identifiers.
+
+Family~0 will contain a \T1 encoded font.
+
+\section{\MC\ encoding}
+
+The \MC\ encoding will contain:
+\begin{itemize}
+
+\item The default Latin letters (for example `$f$').
+\item The default numerals (for example `$1$').
+\item The default punctuation (for example `$($').
+\item The slanted and upright Greek (for example `$\alpha$' and
+ `$\Gamma$').
+
+\end{itemize}
+Other glyphs (such as the math accents and Hebrew) will be included if
+there is space!
+
+The font will also contain enough font dimensions to be used as
+\verb|\fam2|, since the positioning of subscripts and superscripts
+depends much more on the math core font than the symbol fonts. It may
+also contain font dimensions for:
+\begin{itemize}
+
+\item Design size
+\item Suggested script and scriptscript design size
+\item Suggested values for \verb|\mathsurround|, \\
+ \verb|\thickmuskip|, \verb|\medmuskip| and
+ \verb|\thinmuskip|.
+
+\end{itemize}
+Family~2 will contain a \MC\ encoded font.
+
+\section{\MX\ encoding}
+
+The \MX\ encoding will contain the extension glyphs from \verb|cmex| and
+\verb|ms*m|, plus frequently requested glyphs such as longer math
+accents, double brackets, and \verb|\bigsqcap|.
+
+Family~3 will contain an \MX\ encoded font.
+
+\section{\MS{i} encodings}
+
+The \MS1, \MS2 and \MS3 encodings will contain the geometric glyphs from
+\verb|cm*| and \verb|ms*m|, plus frequently requested glyphs such as
+\verb|\mapsfrom|. In addition:
+\begin{itemize}
+\item \MS1 will contain calligraphic upper and lower case
+\item \MS2 will contain open (or `inline' or `outline' or `blackboard
+ bold') upper and lower case
+\item \MS3 will contain black letter (or `fraktur') upper and lower case
+\end{itemize}
+There was quite a lively discussion about what to do with script upper
+and lower case! One possibility is to allow font implementors to replace
+the calligraphic letters by script letters in an \MS1 font. Another is
+to ask that script letters be provided in \T1 encoded fonts. This point
+is still up for discussion.
+
+Families 1, 4 and 5 will contain \MS1, \MS2 and \MS3 encoded fonts.
+
+\section{\X1 encoding}
+
+There are a number of text glyphs that currently live in math fonts, such
+as `\dag' or `\copyright'. These glyphs will be put into a `text
+companion' encoding, along with the Adobe standard
+and expert glyphs missing from the Cork encoding, such as `$f$' (florin)
+and `${}^1\!/\!{}_2$'.
+
+The \X1 encoding is not designed to be used in math mode.
+
+\section{Work to do}
+
+There is still quite a lot of work to be done!
+\begin{itemize}
+
+\item Propose and document the math encodings.
+
+\item Implement the math encodings with \MF\ or virtual fonts.
+
+\item Provide user interfaces for \plain~\TeX\ and \LaTeX.
+
+\end{itemize}
+We have set up a mailing list where we will discuss the encodings and ask
+for your help in developing and implementing them:
+\begin{verbatim}
+ math-font-discuss@cogs.susx.ac.uk
+\end{verbatim}
+
+\makesignature
+
+\end{document}