% This is modetest.tex, extracted from the Metafont modes.mf file
%
%
%
% modetest.tex               -- a file to test a METAFONT mode
%
% by Matt Swift <swift@bu.edu>
%
% This file is in the public domain.
%
% \def\fileversion{v1.2}
% \def\filedate{1995/12/31}
%
% This LaTeX 2e file generates a test page useful for finding a good
% METAFONT mode for your printer.  It includes the most sensitive
% letters in three sizes and all standard CMR font shapes.
%
% I've made the macros abstract, and I think this file could easily
% be adapted to test modes for other METAFONT fonts, or simply font
% appearance in general.
%
% If you want to adapt this to a non-LaTeX format, the LaTeX-specific
% commands below that must be altered are \documentclass,
% \begin{document}, \end{document}, \makeatletter, \makeatother,
% \@for, \@setfontsize, \encodingdefault, \pagestyle, \normalfont,
% \rmfamily, \sffamily, \ttfamily, \mdseries, \bfseries, \upshape,
% \itshape, \scshape, and \slshape.
%%
%\def\encodingdefault{T1}  % New "Cork" font encoding (dc fonts).
%\def\encodingdefault{OT1} % Old font encoding (cm fonts).
%%
\documentclass{article}
\begin{document}
%%
% This line can be replaced (by, e.g., sed) to contain a mode name.
%%
%::Mode::
%ibmvga, 110dpi
%%
\def\makesize#1#2#3{
  \expandafter\def\csname ptsize#1\endcsname{#2}
  \expandafter\def\csname blsize#1\endcsname{#3}
}
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  DEFINE HERE THE POINT SIZES with baselineskips you would like to test.  %
%  With the defaults of 5, 10, and 14 point sizes, everything will fit on  %
%  one page very easily.  Twocolumn would allow several more sizes.        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
\makesize {A}{5}{6}
\makesize {B}{10}{12}
\makesize {C}{14}{18}
%%
%\def\sizelist{A,B,C}
\def\sizelist{B}
%%
\def\letters{%
MoOzZffii-a\"egsS [/$\backslash$\par
}
\def\maths{%
\hat f({\bf g})\approx\sqrt{\left\lfloor\int_0^1\frac{\cos\omega}{\varphi^2_i}\,{\rm d}y\right\}
}}
%%
\makeatletter
\let\setfontsize\@setfontsize
\let\for\@for
\parindent\z@
\makeatother
%%
\pagestyle{empty}
%%
\def\showfonts{%
%
% The groups prevent warnings when intermediate fonts are not available.
%
{\rmfamily \mdseries \upshape \letters}  % allow no space before this
  {\rmfamily \mdseries \slshape \letters}
  {\rmfamily \mdseries \itshape \letters}
  {\rmfamily \mdseries \scshape \letters}
%%
  {\rmfamily \bfseries \upshape \letters}
  {\rmfamily \bfseries \slshape \letters}
  {\rmfamily \bfseries \itshape \letters}
%%
  {\sffamily \mdseries \upshape \letters}
  {\sffamily \mdseries \slshape \letters}
%%
  {\sffamily \bfseries \upshape \letters}
%%
  {\ttfamily \mdseries \upshape \letters}
  {\ttfamily \mdseries \slshape \letters}
  {\ttfamily \mdseries \itshape \letters}
  {\ttfamily \mdseries \scshape \letters}
  {$\maths\to \displaystyle \maths$}
}
%%
% The \expandafters expand \sizelist.
%
\expandafter   \for
\expandafter   \sizename
\expandafter   :%
\expandafter   =%
               \sizelist
  \do {\setfontsize {\sizename}
                    {\csname ptsize\sizename\endcsname}
                    {\csname blsize\sizename\endcsname}%
      \vskip 1ex\noindent
      \llap{\normalfont\csname ptsize\sizename \endcsname\,pt\quad}%
      \showfonts}
%%
\end{document}
