%%%========================================================================
%%% @TeX-font-metrics-file{
%%%    author              = "Alan Jeffrey",
%%%    version             = "1.307",
%%%    date                = "15 January 1993",
%%%    time                = "17:36:29 BST",
%%%    filename            = "mathsym.mtx",
%%%    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            = "encoding, math, TeX, PostScript",
%%%    supported           = "yes",
%%%    abstract            = "These are the extra glyphs needed for TeX 
%%%                           math fonts, used by the fontinst package.",
%%%    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             = "fontinst",
%%%    dependencies        = "fontinst.sty, ltugboat.sty",
%%% }
%%%========================================================================
%
% 29 Dec 1993, v1.30: Created file.
%
% 3 Jan 1994, v1.301: Renamed some of the glyphs, added fakes for 
%    arrowverttp and friends.
%
% 8 Jan 1994, v1.304: Renamed similareq to similarequal.
%
% 9 Jan 1994, v1.305: Renamed some glyphs to use the same names as Lucida 
%    New Math.

\relax

\documentstyle[fontinst]{ltugboat}

\title{The {\tt fontinst} math symbol glyphs}
\author{Alan Jeffrey}
\address{School of Cognitive and Computing Sciences \\
   University of Sussex \\
   Falmer \\
   Brighton \\
   BN1 9QH \\
   UK}
\netaddress{alanje@cogs.susx.ac.uk}

\begin{document}

\maketitle

\section{Introduction}

This document describes the glyphs used by the {\tt fontinst} 
package when generating math symbol fonts.

\raggedright

\metrics

% Uses the fontinst package.

\needsfontinstversion{1.307}

% \unfakable is a glyph which can't be faked.

\setcommand\unfakable#1{
   \setglyph{#1}
      \glyphrule{500}{500}
      \glyphwarning{missing glyph `#1'}
   \endsetglyph
}

% \extensible and \vextensible define a number of extensible glyphs.

\setcommand\extensible#1{
   \unfakable{#1}
   \unfakable{#1tp}
   \unfakable{#1mid}
   \unfakable{#1bt}
   \unfakable{#1ex}
   \setglyph{#1big} \glyph{#1}{1000} \endsetglyph
   \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph
   \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph
   \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph
}

\setcommand\vextensible#1{
   \unfakable{#1}
   \unfakable{#1tp}
   \unfakable{#1mid}
   \unfakable{#1bt}
   \unfakable{#1vertex}
   \setglyph{#1big} \glyph{#1}{1000} \endsetglyph
   \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph
   \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph
   \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph
}

% \wideaccent defines a wide accent.

\setcommand\wideaccent#1{
   \unfakable{#1}
   \setglyph{#1wide} \glyph{#1}{1000} \endsetglyph
   \setglyph{#1wider} \glyph{#1wide}{1000} \endsetglyph
   \setglyph{#1widerr} \glyph{#1wider}{1000} \endsetglyph
}

% displayoperatorscale is the difference in scale between a big and a display 
% operator, exept for integrals, which have their own scale.

\setint{displayoperatorscale}{1200}
\setint{integralscale}{1728}

% bigoperatorsize is the size of a big operator.

\setint{textoperatorsize}{
   \add{\height{product}}{\depth{product}}
}

% \integral, \bigoperator and \biggoperator define operators.

\setcommand\integral#1{
   \unfakable{#1}
   \setglyph{#1text} \glyph{#1}{1000} \endsetglyph
   \setglyph{#1display} \glyph{#1text}{\int{integralscale}} \endsetglyph
}

\setcommand\bigoperator#1{
   \unfakable{#1}
   \setglyph{#1text} \glyph{#1}{1000} \endsetglyph
   \setglyph{#1display} \glyph{#1text}{\int{displayoperatorscale}} \endsetglyph
}

\setcommand\biggoperator#1{
   \unfakable{#1}
   \setglyph{#1text} 
      \glyph{#1}{
         \div{\mul{1000}{\int{textoperatorsize}}}
             {\add{\height{#1}}{\depth{#1}}}
      }
   \endsetglyph
   \setglyph{#1display} 
      \glyph{#1text}{\int{displayoperatorscale}} 
   \endsetglyph
}

\comment{\section{Math extension glyphs}}

\unfakable{bracketleftbt}
\unfakable{bracketrightbt}
\unfakable{bracketlefttp}
\unfakable{bracketrighttp}

\setglyph{floorleft}
   \glyph{bracketleftbt}{1000}
\endsetglyph

\setglyph{floorright}
   \glyph{bracketrightbt}{1000}
\endsetglyph

\setglyph{ceilingleft}
   \glyph{bracketlefttp}{1000}
\endsetglyph

\setglyph{ceilingright}
   \glyph{bracketrighttp}{1000}
\endsetglyph

\setglyph{bardbl}
   \glyph{bar}{1000}
   \glyph{bar}{1000}
\endsetglyph
   
\setglyph{barex}
   \glyph{bar}{1000}
\endsetglyph

\setglyph{bardblex}
   \glyph{bardbl}{1000}
\endsetglyph

\setglyph{arrowtp}
   \glyph{arrowup}{1000}
\endsetglyph

\setglyph{arrowbt}
   \glyph{arrowdown}{1000}
\endsetglyph

\setglyph{arrowdbltp}
   \glyph{arrowdblup}{1000}
\endsetglyph

\setglyph{arrowdblbt}
   \glyph{arrowdbldown}{1000}
\endsetglyph

\unfakable{tilde}

\setglyph{hat}
   \glyph{circumflex}{1000}
\endsetglyph

\unfakable{plus}
\unfakable{union}

\setglyph{unionmulti}
   \push
      \movert{\div{\sub{\width{union}}{\scale{\width{plus}}{700}}}{2}}
      \moveup{\div{\width{plus}}{4}}
      \glyph{plus}{700}
   \pop
   \glyph{union}{1000}
\endsetglyph

\extensible{parenleft}
\extensible{parenright}
\extensible{bracketleft}
\extensible{bracketright}
\extensible{braceleft}
\extensible{braceright}
\extensible{floorleft}
\extensible{floorright}
\extensible{ceilingleft}
\extensible{ceilingright}
\extensible{slash}
\extensible{backslash}
\extensible{angleleft}
\extensible{angleright}

\wideaccent{hat}
\wideaccent{tilde}

\vextensible{radical}
\vextensible{arrow}
\vextensible{arrowdbl}

\biggoperator{unionsq}
\biggoperator{circledot}
\biggoperator{circleplus}
\biggoperator{circlemultiply}
\biggoperator{unionmulti}
\biggoperator{intersection}
\biggoperator{union}
\biggoperator{logicaland}
\biggoperator{logicalor}

\bigoperator{product}
\bigoperator{summation}
\bigoperator{coproduct}

\integral{integral}
\integral{contintegral}

\unfakable{bracehtipdownleft}
\unfakable{bracehtipdownright}
\unfakable{bracehtipupleft}
\unfakable{bracehtipupright}

\endmetrics

\end{document}

\endmetrics

\end{document}

