%%% ====================================================================
%%%  @TeX-font-encoding-file{
%%%     author          = "Alan Jeffrey and Ulrik Vieth and 
%%%                        Lars Hellstr{\"o}m",
%%%     version         = "1.921",
%%%     date            = "2002-07-27",
%%%     time            = "18:45:45 +02:00",
%%%     filename        = "omx.etx",
%%%     email           = "fontinst@cogs.susx.ac.uk",
%%%     URL             = "http://www.tug.org/applications/fontinst/index.html",
%%%     checksum        = "",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "encoding, math, TeX, PostScript",
%%%     supported       = "yes",
%%%     abstract        = "This is the old math extension encoding as
%%%                        a TeX font encoding file, for use with the
%%%                        fontinst utility.",
%%%     package         = "fontinst",
%%%     dependencies    = "fontinst.sty, fontdoc.sty",
%%%  }
%%% ====================================================================
\relax

\documentclass[twocolumn]{article}
\usepackage{fontdoc}[2001/03/16]

\title{The \TeX\ math extension encoding vector}
\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
\date{27 July 2002\\Version 1.921}

\begin{document}
\maketitle

\section{Introduction}

This document describes the \TeX\ math extensions (\texttt{OMX}) 
encoding.

\showbranches
\setslotcomment{The glyph `$\vcenter{\hbox{\slotexample}}$'.}
\useexamplefont{cmex10}
\encoding

\needsfontinstversion{1.917}


\begincomment
\section{Default values}
\endcomment

\setstr{codingscheme}{TEX MATH EXTENSION}
\setstr{encodingname}{TeXMathExtensionEncoding}

\setint{italicslant}{0}
\setint{interword}{0}
\setint{stretchword}{0}
\setint{shrinkword}{0}
\ifisglyph{x}\then
   \setint{xheight}{\height{x}}
\Else
   \setint{xheight}{500}
\Fi
\setint{quad}{1000}
\setint{extraspace}{0}

\comment{The following defaults are taken from \texttt{cmex10}.}

\setint{defaultrulethickness}{40}
\setint{bigopspacing1}{111}
\setint{bigopspacing2}{167}
\setint{bigopspacing3}{200}
\setint{bigopspacing4}{600}
\setint{bigopspacing5}{100}


\begincomment
\section{Font dimensions}
\endcomment

\setfontdimen{1}{italicslant}          % italic slant
\setfontdimen{2}{interword}            % interword space
\setfontdimen{3}{stretchword}          % interword stretch
\setfontdimen{4}{shrinkword}           % interword shrink
\setfontdimen{5}{xheight}              % x-height
\setfontdimen{6}{quad}                 % quad
\setfontdimen{7}{extraspace}           % extra space after .

\setfontdimen{8}{defaultrulethickness} % default rule thickness
\setfontdimen{9}{bigopspacing1}        % bigopspacing 1
\setfontdimen{10}{bigopspacing2}       % bigopspacing 2
\setfontdimen{11}{bigopspacing3}       % bigopspacing 3
\setfontdimen{12}{bigopspacing4}       % bigopspacing 4
\setfontdimen{13}{bigopspacing5}       % bigopspacing 5


\begincomment
\section{The encoding}
There are 128 glyphs in this encoding.
\endcomment

\setslot{parenleftbig}
   \nextlarger{parenleftBig}
\endsetslot

\setslot{parenrightbig}
   \nextlarger{parenrightBig}
\endsetslot

\setslot{bracketleftbig}
   \nextlarger{bracketleftBig}
\endsetslot

\setslot{bracketrightbig}
   \nextlarger{bracketrightBig}
\endsetslot

\setslot{floorleftbig}
   \nextlarger{floorleftBig}
\endsetslot

\setslot{floorrightbig}
   \nextlarger{floorrightBig}
\endsetslot

\setslot{ceilingleftbig}
   \nextlarger{ceilingleftBig}
\endsetslot

\setslot{ceilingrightbig}
   \nextlarger{ceilingrightBig}
\endsetslot

\setslot{braceleftbig}
   \nextlarger{braceleftBig}
\endsetslot

\setslot{bracerightbig}
   \nextlarger{bracerightBig}
\endsetslot

\setslot{angleleftbig}
   \nextlarger{angleleftBig}
\endsetslot

\setslot{anglerightbig}
   \nextlarger{anglerightBig}
\endsetslot

\setslot{barex}
   \varchar
      \varrep{barex}
   \endvarchar
\endsetslot

\setslot{bardblex}
   \varchar
      \varrep{bardblex}
   \endvarchar
\endsetslot

\setslot{slashbig}
   \nextlarger{slashBig}
\endsetslot

\setslot{backslashbig}
   \nextlarger{backslashBig}
\endsetslot

\setslot{parenleftBig}
   \nextlarger{parenleftbigg}
\endsetslot

\setslot{parenrightBig}
   \nextlarger{parenrightbigg}
\endsetslot

\setslot{parenleftbigg}
   \nextlarger{parenleftBigg}
\endsetslot

\setslot{parenrightbigg}
   \nextlarger{parenrightBigg}
\endsetslot

\setslot{bracketleftbigg}
   \nextlarger{bracketleftBigg}
\endsetslot

\setslot{bracketrightbigg}
   \nextlarger{bracketrightBigg}
\endsetslot

\setslot{floorleftbigg}
   \nextlarger{floorleftBigg}
\endsetslot

\setslot{floorrightbigg}
   \nextlarger{floorrightBigg}
\endsetslot

\setslot{ceilingleftbigg}
   \nextlarger{ceilingleftBigg}
\endsetslot

\setslot{ceilingrightbigg}
   \nextlarger{ceilingrightBigg}
\endsetslot

\setslot{braceleftbigg}
   \nextlarger{braceleftBigg}
\endsetslot

\setslot{bracerightbigg}
   \nextlarger{bracerightBigg}
\endsetslot

\setslot{angleleftbigg}
   \nextlarger{angleleftBigg}
\endsetslot

\setslot{anglerightbigg}
   \nextlarger{anglerightBigg}
\endsetslot

\setslot{slashbigg}
   \nextlarger{slashBigg}
\endsetslot

\setslot{backslashbigg}
   \nextlarger{backslashBigg}
\endsetslot

\setslot{parenleftBigg}
   \nextlarger{parenlefttp}
\endsetslot

\setslot{parenrightBigg}
   \nextlarger{parenrighttp}
\endsetslot

\setslot{bracketleftBigg}
   \nextlarger{bracketlefttp}
\endsetslot

\setslot{bracketrightBigg}
   \nextlarger{bracketrighttp}
\endsetslot

\setslot{floorleftBigg}
   \nextlarger{bracketleftbt}
\endsetslot

\setslot{floorrightBigg}
   \nextlarger{bracketrightbt}
\endsetslot

\setslot{ceilingleftBigg}
   \nextlarger{bracketleftex}
\endsetslot

\setslot{ceilingrightBigg}
   \nextlarger{bracketrightex}
\endsetslot

\setslot{braceleftBigg}
   \nextlarger{bracelefttp}
\endsetslot

\setslot{bracerightBigg}
   \nextlarger{bracerighttp}
\endsetslot

\setslot{angleleftBigg}
\endsetslot

\setslot{anglerightBigg}
\endsetslot

\setslot{slashBigg}
\endsetslot

\setslot{backslashBigg}
\endsetslot

\setslot{slashBig}
   \nextlarger{slashbigg}
\endsetslot

\setslot{backslashBig}
   \nextlarger{backslashbigg}
\endsetslot

\setslot{parenlefttp}
   \varchar
      \vartop{parenlefttp}
      \varbot{parenleftbt}
      \varrep{parenleftex}
   \endvarchar
\endsetslot

\setslot{parenrighttp}
   \varchar
      \vartop{parenrighttp}
      \varbot{parenrightbt}
      \varrep{parenrightex}
   \endvarchar
\endsetslot

\setslot{bracketlefttp}
   \varchar
      \vartop{bracketlefttp}
      \varbot{bracketleftbt}
      \varrep{bracketleftex}
   \endvarchar
\endsetslot

\setslot{bracketrighttp}
   \varchar
      \vartop{bracketrighttp}
      \varbot{bracketrightbt}
      \varrep{bracketrightex}
   \endvarchar
\endsetslot

\setslot{bracketleftbt}
   \varchar
      \varbot{bracketleftbt}
      \varrep{bracketleftex}
   \endvarchar
\endsetslot

\setslot{bracketrightbt}
   \varchar
      \varbot{bracketrightbt}
      \varrep{bracketrightex}
   \endvarchar
\endsetslot

\setslot{bracketleftex}
   \varchar
      \vartop{bracketlefttp}
      \varrep{bracketleftex}
   \endvarchar
\endsetslot

\setslot{bracketrightex}
   \varchar
      \vartop{bracketrighttp}
      \varrep{bracketrightex}
   \endvarchar
\endsetslot

\setslot{bracelefttp}
   \varchar
      \vartop{bracelefttp}
      \varmid{braceleftmid}
      \varbot{braceleftbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{bracerighttp}
   \varchar
      \vartop{bracerighttp}
      \varmid{bracerightmid}
      \varbot{bracerightbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{braceleftbt}
   \varchar
      \vartop{bracelefttp}
      \varbot{braceleftbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{bracerightbt}
   \varchar
      \vartop{bracerighttp}
      \varbot{bracerightbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{braceleftmid}
   \varchar
      \varrep{arrowvertex}
      \comment{This extensible entry has nothing to do with the 
         \texttt{braceleftmid} glyph; instead this slot is used as a 
         placeholder for the large form of the `\(\arrowvert\)' 
         delimiter.}
   \endvarchar
\endsetslot

\setslot{bracerightmid}
   \varchar
      \varrep{arrowvertexdbl}
      \comment{This extensible entry has nothing to do with the 
         \texttt{bracerightmid} glyph; instead this slot is used as a 
         placeholder for the large form of the `\(\Arrowvert\)' 
         delimiter.}
   \endvarchar
\endsetslot

\setslot{braceex}
   \varchar
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{arrowvertex}
   \varchar
      \vartop{arrowtp}
      \varbot{arrowbt}
      \varrep{arrowvertex}
   \endvarchar
\endsetslot

\setslot{parenleftbt}
   \varchar
      \vartop{bracelefttp}
      \varbot{bracerightbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{parenrightbt}
   \varchar
      \vartop{bracerighttp}
      \varbot{braceleftbt}
      \varrep{braceex}
   \endvarchar
\endsetslot

\setslot{parenleftex}
   \varchar
      \varrep{parenleftex}
   \endvarchar
\endsetslot

\setslot{parenrightex}
   \varchar
      \varrep{parenrightex}
   \endvarchar
\endsetslot

\setslot{angleleftBig}
   \nextlarger{angleleftbigg}
\endsetslot

\setslot{anglerightBig}
   \nextlarger{anglerightbigg}
\endsetslot

\setslot{unionsqtext}
   \nextlarger{unionsqdisplay}
\endsetslot

\setslot{unionsqdisplay}
\endsetslot

\setslot{contintegraltext}
   \nextlarger{contintegraldisplay}
\endsetslot

\setslot{contintegraldisplay}
\endsetslot

\setslot{circledottext}
   \nextlarger{circledotdisplay}
\endsetslot

\setslot{circledotdisplay}
\endsetslot

\setslot{circleplustext}
   \nextlarger{circleplusdisplay}
\endsetslot

\setslot{circleplusdisplay}
\endsetslot

\setslot{circlemultiplytext}
   \nextlarger{circlemultiplydisplay}
\endsetslot

\setslot{circlemultiplydisplay}
\endsetslot

\setslot{summationtext}
   \nextlarger{summationdisplay}
\endsetslot

\setslot{producttext}
   \nextlarger{productdisplay}
\endsetslot

\setslot{integraltext}
   \nextlarger{integraldisplay}
\endsetslot

\setslot{uniontext}
   \nextlarger{uniondisplay}
\endsetslot

\setslot{intersectiontext}
   \nextlarger{intersectiondisplay}
\endsetslot

\setslot{unionmultitext}
   \nextlarger{unionmultidisplay}
\endsetslot

\setslot{logicalandtext}
   \nextlarger{logicalanddisplay}
\endsetslot

\setslot{logicalortext}
   \nextlarger{logicalordisplay}
\endsetslot

\setslot{summationdisplay}
\endsetslot

\setslot{productdisplay}
\endsetslot

\setslot{integraldisplay}
\endsetslot

\setslot{uniondisplay}
\endsetslot

\setslot{intersectiondisplay}
\endsetslot

\setslot{unionmultidisplay}
\endsetslot

\setslot{logicalanddisplay}
\endsetslot

\setslot{logicalordisplay}
\endsetslot

\setslot{coproducttext}
   \nextlarger{coproductdisplay}
\endsetslot

\setslot{coproductdisplay}
\endsetslot

\setslot{hatwide}
   \nextlarger{hatwider}
\endsetslot

\setslot{hatwider}
   \nextlarger{hatwidest}
\endsetslot

\setslot{hatwidest}
\endsetslot

\setslot{tildewide}
   \nextlarger{tildewider}
\endsetslot

\setslot{tildewider}
   \nextlarger{tildewidest}
\endsetslot

\setslot{tildewidest}
\endsetslot

\setslot{bracketleftBig}
   \nextlarger{bracketleftbigg}
\endsetslot

\setslot{bracketrightBig}
   \nextlarger{bracketrightbigg}
\endsetslot

\setslot{floorleftBig}
   \nextlarger{floorleftbigg}
\endsetslot

\setslot{floorrightBig}
   \nextlarger{floorrightbigg}
\endsetslot

\setslot{ceilingleftBig}
   \nextlarger{ceilingleftbigg}
\endsetslot

\setslot{ceilingrightBig}
   \nextlarger{ceilingrightbigg}
\endsetslot

\setslot{braceleftBig}
   \nextlarger{braceleftbigg}
\endsetslot

\setslot{bracerightBig}
   \nextlarger{bracerightbigg}
\endsetslot

\setslot{radicalbig}
   \nextlarger{radicalBig}
\endsetslot

\setslot{radicalBig}
   \nextlarger{radicalbigg}
\endsetslot

\setslot{radicalbigg}
   \nextlarger{radicalBigg}
\endsetslot

\setslot{radicalBigg}
   \nextlarger{radicalbt}
\endsetslot

\setslot{radicalbt}
   \varchar
      \varbot{radicalbt}
      \vartop{radicaltp}
      \varrep{radicalvertex}
   \endvarchar
\endsetslot

\setslot{radicalvertex}
\endsetslot

\setslot{radicaltp}
\endsetslot

\setslot{arrowvertexdbl}
   \varchar
      \vartop{arrowdbltp}
      \varbot{arrowdblbt}
      \varrep{arrowvertexdbl}
   \endvarchar
\endsetslot

\setslot{arrowtp}
   \varchar
      \vartop{arrowtp}
      \varrep{arrowvertex}
   \endvarchar
\endsetslot

\setslot{arrowbt}
   \varchar
      \varbot{arrowbt}
      \varrep{arrowvertex}
   \endvarchar
\endsetslot

\setslot{bracehtipdownleft}
\endsetslot

\setslot{bracehtipdownright}
\endsetslot

\setslot{bracehtipupleft}
\endsetslot

\setslot{bracehtipupright}
\endsetslot

\setslot{arrowdbltp}
   \varchar
      \vartop{arrowdbltp}
      \varrep{arrowvertexdbl}
   \endvarchar
\endsetslot

\setslot{arrowdblbt}
   \varchar
      \varbot{arrowdblbt}
      \varrep{arrowvertexdbl}
   \endvarchar
\endsetslot

\endencoding


\section{Changes}

\parindent=1em

29 Dec 1993, v1.30:  Created file.

03 Jan 1994, v1.301: 
Moved from \texttt{ltugboat} to \texttt{article} class.

04 Jan 1994, v1.302: 
Renamed \texttt{loweredradical} to \texttt{radicallow}.

06 Jan 1994, v1.303: Corrected a fontdimen bug.

09 Jan 1994, v1.305: Changed some names to use the same glyph names
                     as Lucida New Math.

10 Oct 1997, v1.306: 
Ulrik Vieth found a bug in the varchar recipe for the 
\texttt{parenrightbt} slot.

10 October 2000, v\,1.915:
Introduced intermediate variables for fontdimens 8--13. 
Added \texttt{encodingname}. Added glyph examples. 
Markup updates. (LH)

20 November 2000, v\,1.915:
Changed glyph names \texttt{arrowdblvertex}, \texttt{hatwiderr}, and 
\texttt{tildewiderr} to \texttt{arrowvertexdbl}, \texttt{hatwidest}, 
and \texttt{tildewidest} respectively to really use the same names as 
\texttt{texmext.enc} and Lucida New Math. (LH) Reported by Alejandro 
L\'{o}pez-Valencia. 

22 November 2000, v\,1.915:
Added explanations of the \verb|\varchar| entries for 
\texttt{braceleftmid} and \texttt{bracerightmid}. (LH)

27 July 2002, v\,1.921:
Introduced intermediate variables for fontdimens 1--7. 
Using \verb"\setfontdimen". (LH)

\end{document}