From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- info/ltx3pub/mfgaston.tex | 273 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 info/ltx3pub/mfgaston.tex (limited to 'info/ltx3pub/mfgaston.tex') 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} -- cgit v1.2.3