% AMR10Fonts.TeX ---- Stolfi, April 3, 1984 5:54:12 pm PST
% Font definitions using Almost Modern Roman for text and math
% (normal size=10pt, small size=8pt).
% To be loaded after KernelMacros, AMRMathMacros, AMRTextMacros.
% Provides the following styles: \rm, \sy, \mit, \bf (valid in
% ordinary text and any math), \tt, \it, (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 % math extension

\textfont\exfam=\tenex
\scriptfont\exfam=\tenex
\scriptscriptfont\exfam=\tenex
% \bug box
\setbox\bugb@x\hbox
{\hskip 1pt\vrule width 10pt height 8pt depth 2pt \hskip 1pt}
% Large parenthesis width
\setbox0=\hbox{\tenex B} \p@renwd=\wd0
% Math parameters
\delimitershortfall=5pt
\nulldelimiterspace=1.2pt
\scriptspace=0.5pt
% Boldface
\newfam\bffam % Boldface roman
\def\bf{\fam\bffam \bffont}

% NORMAL SIZE (10 POINT)
\message{10pt fonts ...}
% Fonts
% Text-size math and ordinary text
\font\tenrm=amr10 % roman (math text)
\let\tentr=\tenrm % roman (ordinary text)
\font\teni=ammi10 \skewchar\teni='177 % math italic
\font\tensy=amsy10 \skewchar\tensy='60 % math symbols
\font\tenbf=ambx10 % boldface extended

\font\tentt=amtt10 % typewriter
\font\tenit=amti10 % text italic
% Script-size math
\font\sevenrm=amr7
\font\seveni=ammi7 \skewchar\seveni='177
\font\sevensy=amsy7 \skewchar\sevensy='60
\font\sevenbf=ambx7
% Scriptscript-size math
\font\fiverm=amr5
\font\fivei=ammi5 \skewchar\fivei='177
\font\fivesy=amsy5 \skewchar\fivesy='60
\font\fivebf=ambx5 \relax % why do we need the \relax?
% big-size math
\font\twelverm=amr10 scaled\magstep1
\font\twelvei=ammi10 scaled\magstep1 \skewchar\twelvei='177
\font\twelvesy=amsy10 scaled\magstep1 \skewchar\twelvesy='60
\font\twelvebf=ambx10 scaled\magstep1\relax
% Strut box for ten point:
\newbox\normalstrutbox
\setbox\normalstrutbox\hbox{
\vrule height0.85\p@ depth0.35\p@ 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
\textfont\bffam\twelvebf}
% 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
% boldface roman.
\let\bffont=\tenbf
\textfont\bffam=\tenbf
\scriptfont\bffam=\sevenbf
\scriptscriptfont\bffam=\fivebf
% 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
% Intentional style macros
% 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\eightrm=amr8 % roman (math text)
\let\eighttr=\eightrm % roman (ordinary text)
\font\eighti=ammi8 \skewchar\eighti='177 % math italic
\font\eightsy=amsy8 \skewchar\eightsy='60 % math symbols
\font\eightbf=ambx8 % boldface extended
\font\eighttt=amtt8 % typewriter
\font\eightit=amti8 % text italic
% Script-size math
\font\sixrm=amr6
\font\sixi=ammi6 \skewchar\sixi='177
\font\sixsy=amsy6
\font\sixbf=ambx6 \relax
% Scriptscript-size math uses same fonts as \normal sizes (5pt)
% big-size math
\font\ninerm=amr9
\font\ninei=ammi9 \skewchar\twelvei='177
\font\ninesy=amsy9 \skewchar\twelvesy='60
\font\ninebf=ambx9\relax
% Macro that beefs up the size of math textstyle and diasplaystyle fonts
\def\eightbigm@th{
\textfont\rmfam\ninerm
\textfont\ifam\ninei
\textfont\syfam\ninesy
\textfont\bffam\ninebf}
% Strut box for eight point:
\newbox\smallstrutbox
\setbox\smallstrutbox\hbox{
\vrule height0.67\p@ depth0.28\p@ 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
% boldface roman.
\let\bffont=\eightbf
\textfont\bffam=\eightbf
\scriptfont\bffam=\sixbf
\scriptscriptfont\bffam=\fivebf
% The following families cannot be used in script/scripscript sizes:
\let\itfont=\eightit
\textfont\itfam=\eightit % text italic, also italic greek capitals
\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}