[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

**To**:*math-font-discuss@cogs.susx.ac.uk***Subject**:**mfgaston.tex****From**:*alanje@cogs.susx.ac.uk (Alan Jeffrey)***Date**: Mon, 16 Aug 93 18:30 BST

This is a slightly updated version of the summary of the Aston workshop, which I'm going to send off to Mimi on Wednesday for inclusion in the Aston proceedings. If you have any comments, you'd better shout quickly! Alan. %%% ==================================================================== %%% @LaTeX-file{ %%% author = "Alan Jeffrey", %%% version = "0.04", %%% date = "16 August 1993", %%% time = "10:15:12 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 = "???", %%% 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{ltugproc} \title{Math Font Encodings: a workshop summary} \preprint \def\MtgYear{1993} \def\TUBissue{14 (\MtgYear), No.\ 3} \def\PrelimDeadline{May 15, 1993} \def\PreprintDeadline{June 15, 1993} \def\MeetingDate{July 26--30, 1993} \def\CameraDeadline{August 23, 1993} \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} %%% Moved the introduction into the abstract. ASAJ \begin{abstract} The math font group is a joint venture of \TUG\ and the \LaTeX3 project. Its aims are to investigate the requirements for mathematical typesetting using \TeX, and to propose and implement new math font encodings which will satisfy these requirements. At the 1993 Aston \TUG\ meeting, we held a workshop at which we discussed the needs for new math font encodings, and the work so far at meeting those needs. This paper is a summary of that workshop, for the benefit of those unable to attend. 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. \end{abstract} \maketitle \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 six math fonts: \begin{itemize} \item Computer Modern \item Computer Concrete and Euler \item Lucida Math \item Lucida New Math \item MathTime \item Symbol %%% ASAJ Added Symbol, which is quite important since it's the only %%% PostScript math font that most PostScript interpreters have heard %%% of! \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 \MS{P} math symbol primary encoding \item \MS1 math symbol additional 1 encoding \item \MS2 math symbol additional 2 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 %%% ASAJ %%% %%% 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|. %%% %%% replaced by: %%% encoding. The most commonly used bold glyphs will be placed in the %%% \MC\ encoding, so if many bold glyphs are used in a document, only %%% one extra family needs to be used. If few bold glyphs are %%% requested, these can be set using macros similar to \verb|\boldsymbol| %%% from \AmSTeX. %%% %%% replaced again by: encoding. The glyphs which are most commonly requested in bold will be placed in the \MC\ encoding, so if many bold glyphs are used in a document, only one extra \MC-encoded family containing bold glyphs needs to be used. If few bold glyphs are requested, these can be set using macros similar to \verb|\boldsymbol| from \AmSTeX. \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{P} encoding. 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} %%% Should we keep this sentence? ASAJ 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} %%% Replaced \MS1 with \MS{P} throughout. The \MS{P}, \MS1 and \MS2 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 \MS{P} will contain calligraphic upper and lower case \item \MS1 will contain open (or `inline' or `outline' or `blackboard bold') upper and lower case \item \MS2 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 \MS{P} font. Another is to ask that script letters be provided in \T1 encoded fonts. This point is still up for discussion. All of the geometric glyphs used in \plain\ \TeX\ and \LaTeX\ will be kept in the \MS{P} encoding, so compatibility with \plain\ \TeX\ or \LaTeX\ can be achieved by loading four families, encoded as \T1, \MS{P}, \MC\ and \MX. Compatibility with \AmSTeX\ or \AmS-\LaTeX\ can be achieved by loading six families, encoded as \T1, \MS{P}, \MC, \MX, \MS1 and \MS2. \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 %%% ASAJ %%% %%% for your help in developing and implementing them: %%% \begin{verbatim} %%% math-font-discuss@cogs.susx.ac.uk %%% \end{verbatim} %%% %%% replaced with the request address: for your help in developing and implementing them. Please send subscription requests to: \begin{verbatim} math-font-request@cogs.susx.ac.uk \end{verbatim} We look forward to hearing from you! %%% Put the names and addresses here, since they look so dreadful if %%% they're put at the heading. I also added our email addresses. %%% ASAJ \author{Barbara~Beeton} \address{American Mathematical Society} \netaddress{bnb@math.ams.org} \author{Alan~Jeffrey} \address{University of Sussex} \netaddress{alanje@cogs.susx.ac.uk} \author{Frank~Mittelbach} \address{\LaTeX3 project} \netaddress{Frank.Mittelbach@uni-mainz.de} \author{Chris~Rowley} \address{Open University} \netaddress{c.a.rowley@open.ac.uk} \author{Justin~Ziegler} \address{Ecole des Mines de Saint Etienne} \netaddress{ziegler@educ.emse.fr} \makesignature \end{document}

- Prev by Date:
**cmex sizes, and BBF vs. Fractur.** - Next by Date:
**urgent question about MF heights** - Prev by thread:
**cmex sizes, and BBF vs. Fractur.** - Next by thread:
**urgent question about MF heights** - Index(es):