% Font definitions using Xerox Classic for text and Almost Modern Roman
% (scaled \magstephalf) for math (normal size=10pt, small size=8pt).
% To be loaded after KernelMacros, AMRMathMacros, XClTextMacros.
% Provides the following styles: \rm, \sy, \mit (valid in
% ordinary text and any math), \tt, \it, \bf (not valid in
% script/scriptscript/bigmath styles).
% STUFF THAT IS COMMON TO BOTH 10 AND 8 PT BASIC SIZES
\message{extension fonts ...}
% Math extension fonts (same for \normalsize and \smallsize)
\font\tenex=amex10 scaled \magstephalf% math extension
\textfont\exfam=\tenex
\scriptfont\exfam=\tenex
\scriptscriptfont\exfam=\tenex
% \bug box
\setbox\bugb@x\hbox
{\hskip 1pt\vrule width 11pt height 8.8pt depth 2.2pt \hskip 1pt}
% Large parenthesis width
\setbox0=\hbox{\tenex B} \p@renwd=\wd0
% Math parameters
\delimitershortfall=5.5pt
\nulldelimiterspace=1.3pt
\scriptspace=0.55pt
% Bold italic
\newfam\bffam % Boldface roman
\def\bf{\fam\bffam \bffont}
% NORMAL SIZE (10 POINT)
\message{10pt fonts ...}
% Fonts
% Text-size math and ordinary text
\font\tentr=Classic at 10 truebp % roman text
\font\tenrm=amr10 scaled\magstephalf % roman math
\font\teni=ammi10 scaled\magstephalf % math italic
\skewchar\teni='177
\font\tensy=amsy10 scaled\magstephalf % math symbols
\skewchar\tensy='60
\font\tentt=amtt10 scaled\magstephalf % typewriter
\font\tenbf=ClassicB at 10 truebp % boldface text
\font\tenit=ClassicI at 10truebp % text italic
% Script-size math
\font\sevenrm=amr7 scaled\magstephalf
\font\seveni=ammi7 scaled\magstephalf \skewchar\seveni='177
\font\sevensy=amsy7 scaled\magstephalf \skewchar\sevensy='60
% Scriptscript-size math
\font\fiverm=amr5 scaled\magstephalf
\font\fivei=ammi5 scaled\magstephalf \skewchar\fivei='177
\font\fivesy=amsy5 scaled\magstephalf \skewchar\fivesy='60
% big-size math
\font\twelverm=amr10 scaled\magstep2
\font\twelvei=ammi10 scaled\magstep2 \skewchar\twelvei='177
\font\twelvesy=amsy10 scaled\magstep2 \skewchar\twelvesy='60
% Strut box for ten point:
\newbox\normalstrutbox
\setbox\normalstrutbox\hbox{
\vrule height0.85truebp depth0.35truebp width\z@}
% Interline glue parameters (defined outside):
\newglue\normalbaselinesep
\newglue\normallinesep % also normal \lineseplimit
\newglue\normalparsep
\def\setnormallinesep{
\baselinesep\normalbaselinesep
\linesep\normallinesep
\parsep\normalparsep
\lineseplimit0.5\normallinesep}
% Macro that beefs up the size of math textstyle and displaystyle fonts
% (does not affect horizontal mode, script and scriptscript size fonts)
\def\tenbigm@th{
\textfont\rmfam\twelverm
\textfont\ifam\twelvei
\textfont\syfam\twelvesy}
% Macro that switches to normal (10 point) size:
\def\normalsize{
% Math font families: roman,
\let\rmfont=\tentr
\textfont\rmfam=\tenrm
\scriptfont\rmfam=\sevenrm
\scriptscriptfont\rmfam=\fiverm
% italic (+ normal greek and a few symbols),
\let\ifont=\teni
\textfont\ifam=\teni
\scriptfont\ifam=\seveni
\scriptscriptfont\ifam=\fivei
% symbols,
\let\syfont=\tensy
\textfont\syfam=\tensy
\scriptfont\syfam=\sevensy
\scriptscriptfont\syfam=\fivesy
% The following families cannot be used in script/scripscript/big styles:
\let\itfont=\tenit
\textfont\itfam=\tenit % text italic, also italic greek capitals
\let\ttfont=\tentt
\textfont\ttfam=\tentt % typewriter font
\let\bffont=\tenbf
\textfont\bffam=\tenbf % boldface roman
% Some glue and dimension parameters:
\setbox\strutbox=\copy\normalstrutbox
\let\biggermathfonts=\tenbigm@th
\let\resetlinesep=\setnormallinesep
\resetlinesep}
% SMALL SIZE (8 POINT)
\message{8pt fonts ...}
% Fonts
% Text-size math and ordinary text
\font\eighttr=Classic at 8truebp % roman (ordinary text)
\font\eightrm=amr8 scaled\magstephalf % roman (math text)
\font\eighti=ammi8 scaled\magstephalf % math italic
\skewchar\eighti='177
\font\eightsy=amsy8 scaled\magstephalf % math symbols
\skewchar\eightsy='60
\font\eighttt=amtt8 scaled\magstephalf % typewriter
\font\eightbf=ClassicB at 8truebp % boldface
\font\eightit=ClassicI at 8truebp % text italic
% Script-size math
\font\sixrm=amr6 scaled\magstephalf
\font\sixi=ammi6 scaled\magstephalf \skewchar\sixi='177
\font\sixsy=amsy6 scaled\magstephalf
% Scriptscript-size math uses same fonts as \normal sizes (5pt)
% big-size math
\font\ninerm=amr9 scaled\magstephalf
\font\ninei=ammi9 scaled\magstephalf \skewchar\twelvei='177
\font\ninesy=amsy9 scaled\magstephalf \skewchar\twelvesy='60
% Macro that beefs up the size of math textstyle and diasplaystyle fonts
\def\eightbigm@th{
\textfont\rmfam\ninerm
\textfont\ifam\ninei
\textfont\syfam\ninesy}
% Strut box for eight point:
\newbox\smallstrutbox
\setbox\smallstrutbox\hbox{
\vrule height0.67truebp depth0.28truebp width\z@}
% Interline glue parameters (defined outside):
\newglue\smallbaselinesep
\newglue\smalllinesep
\newglue\smallparsep
\def\setsmalllinesep{
\baselinesep\smallbaselinesep
\linesep\smalllinesep
\parsep\smallparsep
\lineseplimit0.5\smalllinesep}
% Macro that switches to small size:
\def\smallsize{
% Math font families: roman,
\let\rmfont=\eighttr
\textfont\rmfam=\eightrm
\scriptfont\rmfam=\sixrm
\scriptscriptfont\rmfam=\fiverm
% italic (+ normal greek and a few symbols),
\let\ifont=\eighti
\textfont\ifam=\eighti
\scriptfont\ifam=\sixi
\scriptscriptfont\ifam=\fivei
% symbols,
\let\syfont=\eightsy
\textfont\syfam=\eightsy
\scriptfont\syfam=\sixsy
\scriptscriptfont\syfam=\fivesy
% The following families cannot be used in script/scripscript/bigmath sizes:
\let\itfont=\eightit
\textfont\itfam=\eightit % text italic, also italic greek capitals
\let\bffont=\eightbf % boldface roman.
\textfont\bffam=\eightbf
\let\ttfont=\eighttt
\textfont\ttfam=\eighttt % typewriter font
% Some glue and dimension parameters:
\setbox\strutbox=\copy\smallstrutbox
\let\biggermathfonts=\eightbigm@th
\let\resetlinesep=\setsmalllinesep
\resetlinesep}