% \iffalse ********************************************* METACOMMENT
%
%                   TeX this file with LaTeX2e !
%
%       The following files will be written out:
%
%       ==> ttfonts.dvi               [ READ THIS FIRST !! ]
%
%       --> ttfonts.drv               ( Documentation )
%       --> ttfonts.sty               ( LaTeX2e package )
%       --> ot1bmtt.fd, ot1bvtt.fd,
%           omlbmtt.fd, omlbvtt.fd,
%           omsbmtt.fd, omsbvtt.fd    ( LaTeX2e font desription files )
%       --> bmtt10.mf, bvtt10.mf      ( METAFONT driver files )
%       --> bmitt10.mf, bvitt10.mf    ( METAFONT driver files )
%       --> bmsltt10.mf, bvsltt10.mf  ( METAFONT driver files )
%       --> bmtcsc10.mf, bvtcsc10.mf  ( METAFONT driver files )
%       --> bmbxtt10.mf, bvbxtt10.mf  ( METAFONT driver files )
%       --> bmxtt10.mf, bvxtt10.mf    ( METAFONT driver files )
%       --> bmxitt10.mf, bvxitt10.mf  ( METAFONT driver files )
%
%
%% Copyright :  Kai-Uwe Bux
%% ---------    Norderneystraße 26
%%              D-26419 Schortens/Heidmühle (Germany)
%%
%% *****************************************************************
% >>>>>>>>>  !! Proliferation of UNCHANGED versions of !!  <<<<<<<<<
%            !! this file is permitted                 !!
%
% >>>>>>>>>  !! Don't change this file without changing !! <<<<<<<<<
%            !! it's name                               !!
% ******************************************************************
%
%    \begin{macrocode}
%<*driver|package|ot1bmtt|ot1bvtt|omlbmtt|omlbvtt|omsbmtt|omsbvtt>
\def\FileVersion{0.8 $\beta$-test}
\def\FileDate{1999/08/25}
\def\FileDescription{typewriter type fonts for texts, package contains METAFONT sources!}
%</driver|package|ot1bmtt|ot1bvtt|omlbmtt|omlbvtt|omsbmtt|omsbvtt>
%    \end{macrocode}
%
% ********************************************** END METACOMMENT \fi
%
% \CheckSum{199}
% \StopEventually{}
%
% \iffalse ********************************************* METACOMMENT
%    \begin{macrocode}
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\let\ThisVersion\FileVersion
\let\ThisDate\FileDate
%</driver>
%    \end{macrocode}
% ********************************************** END METACOMMENT \fi
%
% \iffalse ******************************************** METATCOMMENT
%
%    \begin{macrocode}
%<*installation>
\ifx\undefined\batchfile\begingroup\newtoks\a\newtoks\b\newtoks\c\newtoks\d\fi
  \def\batchfile{ttfonts.dtx}
  \makeatletter
  \let\@@end=\relax
\a={}
\def\File#1#2{\a=\expandafter{\the\a\file{#1}{\from{ttfonts.dtx}{#2}}}}
  \File{ttfonts.sty}{package}
  \File{ttfonts.drv}{driver}
  \File{omlbmtt.fd}{omlbmtt}
  \File{omlbvtt.fd}{omlbvtt}
  \File{omsbmtt.fd}{omsbmtt}
  \File{omsbvtt.fd}{omsbvtt}
  \File{ot1bmtt.fd}{ot1bmtt}
  \File{ot1bvtt.fd}{ot1bvtt}
\b={}
\def\File#1#2{\b=\expandafter{\the\b\file{#1}{\from{ttfonts.dtx}{#2}}}}
  \File{bmtt10.mf}{mtt}
  \File{bmitt10.mf}{mitt}
  \File{bmsltt10.mf}{msltt}
  \File{bmtcsc10.mf}{mtcsc}
  \File{bmbxtt10.mf}{mbxtt}
  \File{bmxtt10.mf}{mxtt}
  \File{bmxitt10.mf}{mxitt}
\c={}
\def\File#1#2{\c=\expandafter{\the\c\file{#1}{\from{ttfonts.dtx}{#2}}}}
  \File{bvtt10.mf}{vtt}
  \File{bvitt10.mf}{vitt}
  \File{bvsltt10.mf}{vsltt}
  \File{bvtcsc10.mf}{vtcsc}
  \File{bvbxtt10.mf}{vbxtt}
  \File{bvxtt10.mf}{vxtt}
  \File{bvxitt10.mf}{vxitt}
\def\A{\expandafter\expandafter\expandafter\generate\expandafter{\the\a}}
\def\B{\expandafter\expandafter\expandafter\generate\expandafter{\the\b}}
\def\C{\expandafter\expandafter\expandafter\generate\expandafter{\the\c}}
  \def\GenerateAll{\A\B\C\let\GenerateAll\relax}
  \def\StopInput{\endinput\let\StopInput\relax}
  \input docstrip.tex
  \GenerateAll
  \StopInput
\endgroup
%    \end{macrocode}
%    \begin{macrocode}
\documentclass[12pt]{article}
  
  \newcommand{\MF}{\textsf{METAFONT}}
  \newcommand{\pkg}[1]{\textsf{#1}}
  \newcommand{\cls}[1]{\textsf{#1}}
  \newcommand{\file}[1]{\texttt{#1}}
  \newcommand{\env}[1]{\texttt{#1}}
  \newcommand{\opt}[1]{\textsf{#1}}
  \newcommand{\Enc}[1]{\textsf{#1}}
  \newcommand{\Fam}[1]{\textsf{#1}}
  \newcommand{\sect}[1]{{#1}}
  \newcommand{\sty}[1]{\emph{#1}}
  \newcommand{\ARG}[1]{\emph{#1}}
  \newcommand{\GobbleOne}[1]{}
  \newcommand{\Section}{\newpage\section}
  \newcommand{\finalnopagebreak}{\nopagebreak}
  \newcommand{\finalpagebreak}{\pagebreak}
  
  \title{The \pkg{ttfonts} package\\
         --- installation guide ---}
  \author{Kai-Uwe Bux}
  \date{\begin{tabular}{ll}
           Datum:   & \ThisDate\\
           Version: & \ThisVersion
        \end{tabular}}
\begin{document}
  \maketitle\thispagestyle{empty}

  Having processed the file \file{ttfonts.dtx} with \LaTeX\ you will
  find the following files additionally:
  \begin{enumerate}
    \item \file{ttfonts.drv}     
    \item \file{ttfonts.sty}
    \item \file{ot1bmtt.fd}, \file{omlbmtt.fd}, \file{omsbmtt.fd}
    \item \file{ot1bvtt.fd}, \file{omlbvtt.fd}, \file{omsbvtt.fd}
    \item \file{bmtt10.mf}, \file{bmitt10.mf}, \file{bmsltt10.mf},
          \file{bmtcsc10.mf}, \file{bmbxtt10.mf}, \file{bmxtt10.mf}
          \file{bmxitt10.mf}
    \item \file{bvtt10.mf}, \file{bvitt10.mf}, \file{bvsltt10.mf},
          \file{bvtcsc10.mf}, \file{bvbxtt10.mf}, \file{bvxtt10.mf}
          \file{bvxitt10.mf}
  \end{enumerate}
  The package \file{ttfonts.sty} and the font description files
  (\file{fd}-files) are to be put into the
  \file{texinputs} path where \LaTeX\ can find them.
  
  The \file{mf}-files belong in the \file{mfinputs} path and have to
  be processed before the documentation \file{ttfonts.drv} can be 
  processed. The reason is that \TeX\ will need the \file{tfm}-files
  to use these fonts.
\end{document}
%</installation>
%    \end{macrocode}
%
% ********************************************** END METACOMMENT \fi
% 
% \iffalse ********************************************* METACOMMENT
%
%    \begin{macrocode}
%<*driver>
\documentclass[12pt]{ltxdoc}
  \usepackage{ttfonts}

  \newcommand{\MF}{\textsf{METAFONT}}
  \newcommand{\pkg}[1]{\textsf{#1}}
  \newcommand{\cls}[1]{\textsf{#1}}
  \newcommand{\file}[1]{\texttt{#1}}
  \newcommand{\env}[1]{\texttt{#1}}
  \newcommand{\opt}[1]{\textsf{#1}}
  \newcommand{\Enc}[1]{\textsf{#1}}
  \newcommand{\Fam}[1]{\textsf{#1}}
  \newcommand{\sect}[1]{{#1}}
  \newcommand{\sty}[1]{\emph{#1}}
  \newcommand{\ARG}[1]{\emph{#1}}
  \newcommand{\GobbleOne}[1]{}
  \newcommand{\Section}{\newpage\section}
  \newcommand{\finalnopagebreak}{\nopagebreak}
  \newcommand{\finalpagebreak}{\pagebreak}

  \title{The \pkg{ttfonts} package\\
        --- typewriter type fonts ---}
  \author{Kai-Uwe Bux}
  \date{\begin{tabular}{ll}
           Datum:   & \ThisDate\\
           Version: & \ThisVersion
        \end{tabular}}

\begin{document}
  \begin{varttfonts}%
    \maketitle
    \DocInput{ttfonts.dtx}
  \end{varttfonts}
\end{document}
%</driver>
%    \end{macrocode}
%
% ********************************************** END METACOMMENT \fi
%
% \begin{abstract}\noindent
%   The use of typewriter fonts is poorly supported by standard \TeX\
%   and \LaTeX. First of all these font families lack the variety of
%   font shapes needed for pleasing documents. Hence we define some
%   relatives to the \Fam{cmtt} and \Fam{cmvtt} font families by
%   means of new driver files for \MF.
%   The use of the new fonts then is supported by the package
%   \pkg{ttfonts}.
% \end{abstract}
%
% \section*{The \pkg{ttfonts} package interface}
%   The \Fam{cmtt} font family is not intended for extensive use.
%   It was meant as a device for verbatim text such as file listings.
%
%   Nevertheless in some cases one might want to have a nice
%   typewriter font instead of the perfect \TeX\ or \LaTeX\ layout.
%   For private letters an informal style of printing seems more
%   appropriate. For first drafts that are liable to change a printing
%   is required that supports proof reading and correction of typos.
%   In this case the layout shouldn't look perfect.
%
%   The package we describe here is meant to fill this gap. It provides
%   two font families \Fam{bmtt} and \Fam{bvtt}. But first of all you
%   must load the package. Just put the line
%   \begin{quote}
%     |\usepackage{ttfonts}|
%   \end{quote}
%   into the preamble of your document. Then the typewriter type
%   fonts can be switched on
%   by |{\mttfamily...}| or |\textmtt{...}| for the monospace font and
%   by |{\vttfamily...}| or |\textvtt{...}| for the variable typewriter
%   type. 
%
%   Within these font families the notion of \textex{extended} font series
%   has a meaning and denotes spaced printing which is accessible by
%   |{\exseries...}| or |\textex{...}|.
%
%   By passing one of the following options to the package you can
%   make it influence the whole layout of your document. In this case
%   you have to say e.g.
%   \begin{quote}
%     |\usepackage[monottfonts,exemph]{ttfonts}|
%   \end{quote}
%   within the preamble of your document.
%   For each option there is a corrsponding environment of the same
%   name that allows you to switch on the settings locally.
%   \begin{itemize}
%     \item[\opt{monottfonts}] redifines |\familydefault| to be \Fam{bmtt}
%       such that a monospaced typwriter type is used as the basic font
%       family of the document. Text is typeset ragged right. 
%     \item[\opt{varttfonts}] redifines |\familydefault| to be \Fam{bvtt}
%       such that a variable typwriter type is used as the basic font
%       family of the document.
%     \item[\opt{exemph}] redfines |\em| and |\emph| to print its argument
%       spaced not italicized when the typewriter type fonts are used.
%     \item[\opt{proofreading}] is a combination of \opt{monottfonts} and
%       \opt{exemph} that additionally increases the baselineskip and the
%       indentation of paragraphs. It is meant to facilicate proof reading
%       of draft versions.
%   \end{itemize}
%   For instance
%   \begin{quote}
%     |\begin{monottfonts}|\\
%     \ldots\\
%     |\end{monottfonts}|
%   \end{quote}
%   will typeset the enclosed part of your document using the monospaced
%   typewriter type.
%
%   \begin{proofreading}
%     The rest of this section is printed in \opt{proofreading} style.
%     As you can see there is no reason not to put \emph{corrections}
%     at the margin. We may quote Leslie Lamport from the \LaTeX\ manual
%     of version 2.09.
%     \begin{quote}
%       To most readers, the printed page conveys a greater sense of
%       authority than the typewritten manuscript. It must be important
%       to be worth printing. With \LaTeX, typesetting is almost as easy
%       as typing. There is no publisher or journal editor standing
%       between the author and the reader. \LaTeX\ will not reject
%       ill-formed ideas or correct bad grammar. With the power to print
%       your own document comes the responsibility to make it worth
%       printing.
%     \end{quote}
%   \end{proofreading}
%
% \section*{Implementation}
%   \subsection*{The package}
%     First we identify the package.
%    \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\typeout{Package: `ttfonts'. Version: \FileVersion\space of \FileDate.}
\ProvidesPackage{ttfonts}[\FileDate\space Version: \FileVersion\space
  typewriter type package]
%    \end{macrocode}
%     Then we anounce the two families.
%    \begin{macrocode}
\newcommand{\mttdefault}{bmtt}
\newcommand{\vttdefault}{bvtt}
%    \end{macrocode}
%     Now we define the macros for turning on the settings.
%     \begin{macro}{\mttfamily}
%    \begin{macrocode}
\newcommand{\mttfamily}{%
  \fontfamily{\mttdefault}\selectfont
}
\DeclareTextFontCommand{\textmtt}{\mttfamily}
%    \end{macrocode}
%     \end{macro}
%     \begin{macro}{\vttfamily}
%    \begin{macrocode}
\newcommand{\vttfamily}{%
  \fontfamily{\vttdefault}\selectfont
}
\DeclareTextFontCommand{\textvtt}{\vttfamily}
%    \end{macrocode}
%     \end{macro}
%     \begin{macro}{\exseries}
%    \begin{macrocode}
\newcommand{\exseries}{%
  \fontseries{x}\selectfont
}
%    \end{macrocode}
%    \begin{macrocode}
\DeclareTextFontCommand{\textex}{\exseries}
%    \end{macrocode}
%     \end{macro}
%     We now turn to the environments
%     \begin{environment}{monottfonts}
%    \begin{macrocode}
\newenvironment{monottfonts}{%
  \def\familydefault{\mttdefault}\normalfont
  \raggedright
}{}
%    \end{macrocode}
%     \end{environment}
%     \begin{environment}{varttfonts}
%    \begin{macrocode}
\newenvironment{varttfonts}{%
  \def\familydefault{\vttdefault}\normalfont
}{}
%    \end{macrocode}
%     \end{environment}
%     \begin{environment}{exemph}
%       The local |\em| command will test if the current font is typewriter
%       type. First of all we get the old definition into the
%       local one thus preserving the behaviour of |\em| on other font
%       families where spaced printing is not supported.
%    \begin{macrocode}
\newenvironment{exemph}{%
  \expandafter\def\expandafter\em\expandafter{%
%    \end{macrocode}
%       Within the local |\em| we use |\@tempa|,\ldots\ to keep changes local.
%       Hence we open a group.
%    \begin{macrocode}
    \expandafter{%
%    \end{macrocode}
%       The old definition of |\em| is stored in |\@tempc|.
%    \begin{macrocode}
      \expandafter\def\expandafter\@tempc\expandafter{%
        \em
      }%
%    \end{macrocode}
%       We use |\@tempa| and |\@tempb| to compare the current font family
%       with |\mttdefault| and |\vttdefault|. The
%       |\csname| \ldots\ |\endcsname| construction is necessary because
%       of the strange catcoding of \LaTeX's font selection mechanism.
%       If the current font is typewriterstyle we overwrite the definition
%       of |\@tempc|.
%    \begin{macrocode}
      \edef\@tempa{\csname\f@family\endcsname}%
      \edef\@tempb{\csname\mttdefault\endcsname}%
      \ifx\@tempa\@tempb
        \def\@tempc{\exseries}%
      \fi
      \edef\@tempb{\csname\vttdefault\endcsname}%
      \ifx\@tempa\@tempb
          \def\@tempc{\exseries}%
      \fi
%    \end{macrocode}
%       We want to keep the definitions of |\tempa|,\ldots\ local. But we have
%       to make a font selection outside the group we are in. This can
%       be done by first expanding |\@tempc| and then closing the current
%       group \emph{in front of it}.
%    \begin{macrocode}
    \expandafter}\@tempc
  }%
}{}
%    \end{macrocode}
%      Note that nested use of this environment will lead to more and
%      more evolved definitions of |\em|.
%
%      We don't have to care about |\emph| because this is implemented
%      by means of |\em|.
%     \end{environment}
%     \begin{environment}{proofreading}
%       First we have the global settings. Please note that macros
%       like |\exemph| are defined by means of the corresponding
%       environments.
%    \begin{macrocode}
\newenvironment{proofreading}{%
  \exemph
  \monottfonts
%    \end{macrocode}
%       Some people might say |\textrm{...}| in math mode to include
%       text that should appear in the basic font. To make this behave well
%       we delete all traces of roman fonts.
%    \begin{macrocode}  
  \let\rmdefault\mttdefault
%    \end{macrocode}
%       At last we fix the layout.
%    \begin{macrocode}
  \def\baselinestretch{1.3}%
  \reset@font
  \parindent=5em%
}{}
%    \end{macrocode}
%     \end{environment}
%     Finally we have to deal with the options.
%     This is simply done by execution the appropriate macros.
%    \begin{macrocode}
\DeclareOption{monottfonts}{\monottfonts}
\DeclareOption{varttfonts}{\varttfonts}
\DeclareOption{exemph}{\exemph}
\DeclareOption{proofreading}{\proofreading}
\ProcessOptions
%</package>
%    \end{macrocode}
%
%   \subsection*{The font description files}
%     These six files contain the declaration of all font shapes
%     for the families \Fam{bmtt} and \Fam{bvtt}.
%
%     First we identify the file
%    \begin{macrocode}
%<*ot1bmtt>
\ProvidesFile{ot1bmtt.fd}[\FileDate\space\FileVersion]
%    \end{macrocode}
%      Now we declare the font family.
%    \begin{macrocode}
\DeclareFontFamily{OT1}{bmtt}{}
%    \end{macrocode}
%     Here is the list of all available font shapes.
%    \begin{macrocode}
\DeclareFontShape{OT1}{bmtt}{m}{n}{ <-> bmtt10 }{}
\DeclareFontShape{OT1}{bmtt}{m}{it}{ <-> bmitt10 }{}
\DeclareFontShape{OT1}{bmtt}{m}{sl}{ <-> bmsltt10 }{}
\DeclareFontShape{OT1}{bmtt}{m}{sc}{ <-> bmtcsc10 }{}
\DeclareFontShape{OT1}{bmtt}{x}{n}{ <-> bmxtt10 }{}
\DeclareFontShape{OT1}{bmtt}{x}{it}{ <-> bmxitt10 }{}
\DeclareFontShape{OT1}{bmtt}{x}{sl}{ <-> sub * bmtt/x/n }{}
\DeclareFontShape{OT1}{bmtt}{x}{sc}{ <-> sub * bmtt/x/n }{}
\DeclareFontShape{OT1}{bmtt}{bx}{n}{ <-> bmbxtt10 }{}
%</ot1bmtt>
%    \end{macrocode}
%     The font encodings \Enc{OML} and \Enc{OMS} are treated as
%     for \Fam{cmr}.
%    \begin{macrocode}
%<*omlbmtt>
\ProvidesFile{omlbmtt.fd}[\FileDate\space\FileVersion]
\DeclareFontFamily{OML}{bmtt}{\skewchar\font127 }
\DeclareFontShape{OML}{bmtt}{m}{n}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bmtt}{m}{it}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bmtt}{m}{sl}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bmtt}{m}{sc}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bmtt}{bx}{n}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bmtt}{bx}{it}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bmtt}{bx}{sl}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bmtt}{bx}{sc}
   {<-> ssub * cmm/b/it}{}
%</omlbmtt>
%<*omsbmtt>
\ProvidesFile{omsbmtt.fd}[\FileDate\space\FileVersion]
\DeclareFontFamily{OMS}{bmtt}{\skewchar\font48 }
\DeclareFontShape{OMS}{bmtt}{m}{n}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bmtt}{m}{it}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bmtt}{m}{sl}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bmtt}{m}{sc}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bmtt}{bx}{n}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bmtt}{bx}{it}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bmtt}{bx}{sl}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bmtt}{bx}{sc}
   {<-> ssub * cmsy/b/n}{}
%</omsbmtt>
%    \end{macrocode}
%     The family \Fam{bvtt} is treated the same.
%    \begin{macrocode}
%<*ot1bvtt>
\ProvidesFile{OT1bvtt.fd}[\FileDate\space\FileVersion]
\DeclareFontFamily{OT1}{bvtt}{}
\DeclareFontShape{OT1}{bvtt}{m}{n}{ <-> bvtt10 }{}
\DeclareFontShape{OT1}{bvtt}{m}{it}{ <-> bvitt10 }{}
\DeclareFontShape{OT1}{bvtt}{m}{sl}{ <-> bvsltt10 }{}
\DeclareFontShape{OT1}{bvtt}{m}{sc}{ <-> bvtcsc10 }{}
\DeclareFontShape{OT1}{bvtt}{x}{n}{ <-> bvxtt10 }{}
\DeclareFontShape{OT1}{bvtt}{x}{it}{ <-> bvxitt10 }{}
\DeclareFontShape{OT1}{bvtt}{x}{sl}{ <-> sub * bvtt/x/n }{}
\DeclareFontShape{OT1}{bvtt}{x}{sc}{ <-> sub * bvtt/x/n }{}
\DeclareFontShape{OT1}{bvtt}{bx}{n}{ <-> bvbxtt10 }{}
\DeclareFontFamily{OML}{bvtt}{\skewchar\font127 }
%</ot1bvtt>
%<*omlbvtt>
\ProvidesFile{omlbvtt.fd}[\FileDate\space\FileVersion]
\DeclareFontShape{OML}{bvtt}{m}{n}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bvtt}{m}{it}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bvtt}{m}{sl}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bvtt}{m}{sc}
   {<-> ssub * cmm/m/it}{}
\DeclareFontShape{OML}{bvtt}{bx}{n}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bvtt}{bx}{it}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bvtt}{bx}{sl}
   {<-> ssub * cmm/b/it}{}
\DeclareFontShape{OML}{bvtt}{bx}{sc}
   {<-> ssub * cmm/b/it}{}
%</omlbvtt>
%<*omsbvtt>
\ProvidesFile{omsbvtt.fd}[\FileDate\space\FileVersion]
\DeclareFontFamily{OMS}{bvtt}{\skewchar\font48 }
\DeclareFontShape{OMS}{bvtt}{m}{n}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bvtt}{m}{it}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bvtt}{m}{sl}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bvtt}{m}{sc}
   {<-> ssub * cmsy/m/n}{}
\DeclareFontShape{OMS}{bvtt}{bx}{n}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bvtt}{bx}{it}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bvtt}{bx}{sl}
   {<-> ssub * cmsy/b/n}{}
\DeclareFontShape{OMS}{bvtt}{bx}{sc}
   {<-> ssub * cmsy/b/n}{}
%</omsbvtt>
%    \end{macrocode}
%
% \iffalse ******************************************** METATCOMMENT
%
%   \subsection*{Die Font-Dateien}
%     The \MF\ code is rather boring. Since it is well documented
%     what the parameters mean we dont print them here.
%
%    \begin{macrocode}
%<*mtt>
if unknown cmbase: input cmbase fi

font_identifier:="BMTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</mtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmitt10.mf}}
%    \begin{macrocode}
%<*mitt>
if unknown cmbase: input cmbase fi

font_identifier:="BMITT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=15/36pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=40/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=.25;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=true;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate textit      % switch to the driver file
%</mitt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmsltt10.mf}}
%    \begin{macrocode}
%<*msltt>
if unknown cmbase: input cmbase fi

font_identifier:="BMSLTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=1/6;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</msltt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmtcsc10.mf}}
%    \begin{macrocode}
%<*mtcsc>
if unknown cmbase: input cmbase fi

font_identifier:="BMTCSC"; font_size 10pt#;

% first come parameters used to set the uppercase letters
% (including some for lowercase that aren't actually used)
u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

% now come replacements used to set the lowercase caps

lower.u#:=21/36pt#;    % unit width
lower.width_adj#:=0pt#;    % width adjustment for certain characters
lower.cap_serif_fit#:=0pt#;  % extra sidebar near uppercase serifs
lower.letter_fit#:=3/36pt#;  % extra space added to all sidebars

lower.body_height#:=190/36pt#;  % height of tallest characters
lower.cap_height#:=170/36pt#;  % height of caps
lower.x_height#:=120/36pt#;  % height of lowercase without ascenders
lower.bar_height#:=62/36pt#;  % height of crossbar in lowercase e
lower.comma_depth#:=38/36pt#;  % depth of comma below baseline

lower.flare#:=30/36pt#;    % diameter of bulbs or breadth of terminals
lower.cap_hair#:=25/36pt#;  % uppercase hairline breadth
lower.stem#:=25/36pt#;    % lowercase stem breadth
lower.cap_stem#:=25/36pt#;  % uppercase stem breadth
lower.cap_curve#:=25/36pt#;  % uppercase curve breadth
lower.cap_ess#:=25/36pt#;  % breadth in middle of uppercase s

lower.cap_jut#:=26/36pt#;  % protrusion of uppercase serifs
lower.beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
lower.beak#:=26/36pt#;    % vertical protrusion of beak serifs
lower.slab#:=22/36pt#;    % serif and arm thickness
lower.cap_bar#:=22/36pt#;  % uppercase bar thickness
lower.cap_band#:=22/36pt#;  % uppercase thickness above/below lobes
lower.cap_notch_cut#:=24/36pt#;  % max breadth above/below uppercase notches

lower.o#:=3/36pt#;    % amount of overshoot for curves
lower.apex_o#:=2/36pt#;    % amount of overshoot for diagonal junctions

lower.fudge:=0.85;    % factor applied to weights of heavy characters

generate csc      % switch to the driver file
%</mtcsc>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmbxtt10.mf}}
%    \begin{macrocode}
%<*mbxtt>
if unknown cmbase: input cmbase fi

font_identifier:="BMBXTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=160/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=77/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=35/36pt#;    % diameter of rounded corners
fine#:=32/36pt#;    % diameter of sharply rounded corners
thin_join#:=34/36pt#;    % width of extrafine details
hair#:=34/36pt#;    % lowercase hairline breadth
stem#:=41/36pt#;    % lowercase stem breadth
curve#:=39/36pt#;    % lowercase curve breadth
ess#:=32/36pt#;      % breadth in middle of lowercase s
flare#:=44/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=53/36pt#;    % diameter of dots
cap_hair#:=42/36pt#;    % uppercase hairline breadth
cap_stem#:=42/36pt#;    % uppercase stem breadth
cap_curve#:=42/36pt#;    % uppercase curve breadth
cap_ess#:=42/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=42/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=31/36pt#;      % protrusion of lowercase serifs
cap_jut#:=31/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=35/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=34/36pt#;      % lowercase bar thickness
slab#:=34/36pt#;    % serif and arm thickness
cap_bar#:=34/36pt#;    % uppercase bar thickness
cap_band#:=34/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=2/36pt#;      % amount of overshoot for curves
apex_o#:=1/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=8/11;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</mbxtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmxtt10.mf}}
%    \begin{macrocode}
%<*mxtt>
if unknown cmbase: input cmbase fi

font_identifier:="BMXTT"; font_size 10pt#;

u#:=3/4pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=u#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</mxtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bmxitt10.mf}}
%    \begin{macrocode}
%<*mxitt>
if unknown cmbase: input cmbase fi

font_identifier:="BMXITT"; font_size 10pt#;

u#:=3/4pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=u#+15/36pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=40/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=.25;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=1;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=true;    % should all characters have the same width?
variant_g:=true;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate textit      % switch to the driver file
%</mxitt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvtt10.mf}}
%    \begin{macrocode}
%<*vtt>
if unknown cmbase: input cmbase fi

font_identifier:="BVTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</vtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvitt10.mf}}
%    \begin{macrocode}
%<*vitt>
if unknown cmbase: input cmbase fi

font_identifier:="BVITT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=15/36pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=40/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=.25;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=true;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate textit      % switch to the driver file
%</vitt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvsltt10.mf}}
%    \begin{macrocode}
%<*vsltt>
if unknown cmbase: input cmbase fi

font_identifier:="BVSLTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=1/6;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</vsltt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvtcsc10.mf}}
%    \begin{macrocode}
%<*vtcsc>
if unknown cmbase: input cmbase fi

font_identifier:="BVTCSC"; font_size 10pt#;

% first come parameters used to set the uppercase letters
% (including some for lowercase that aren't actually used)
u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

% now come replacements used to set the lowercase caps

lower.u#:=21/36pt#;    % unit width
lower.width_adj#:=0pt#;    % width adjustment for certain characters
lower.cap_serif_fit#:=0pt#;  % extra sidebar near uppercase serifs
lower.letter_fit#:=3/36pt#;  % extra space added to all sidebars

lower.body_height#:=190/36pt#;  % height of tallest characters
lower.cap_height#:=170/36pt#;  % height of caps
lower.x_height#:=120/36pt#;  % height of lowercase without ascenders
lower.bar_height#:=62/36pt#;  % height of crossbar in lowercase e
lower.comma_depth#:=38/36pt#;  % depth of comma below baseline

lower.flare#:=30/36pt#;    % diameter of bulbs or breadth of terminals
lower.cap_hair#:=25/36pt#;  % uppercase hairline breadth
lower.stem#:=25/36pt#;    % lowercase stem breadth
lower.cap_stem#:=25/36pt#;  % uppercase stem breadth
lower.cap_curve#:=25/36pt#;  % uppercase curve breadth
lower.cap_ess#:=25/36pt#;  % breadth in middle of uppercase s

lower.cap_jut#:=26/36pt#;  % protrusion of uppercase serifs
lower.beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
lower.beak#:=26/36pt#;    % vertical protrusion of beak serifs
lower.slab#:=22/36pt#;    % serif and arm thickness
lower.cap_bar#:=22/36pt#;  % uppercase bar thickness
lower.cap_band#:=22/36pt#;  % uppercase thickness above/below lobes
lower.cap_notch_cut#:=24/36pt#;  % max breadth above/below uppercase notches

lower.o#:=3/36pt#;    % amount of overshoot for curves
lower.apex_o#:=2/36pt#;    % amount of overshoot for diagonal junctions

lower.fudge:=0.85;    % factor applied to weights of heavy characters

generate csc      % switch to the driver file
%</vtcsc>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvbxtt10.mf}}
%    \begin{macrocode}
%<*vbxtt>
if unknown cmbase: input cmbase fi

font_identifier:="BVBXTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=0pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=160/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=77/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=35/36pt#;    % diameter of rounded corners
fine#:=32/36pt#;    % diameter of sharply rounded corners
thin_join#:=34/36pt#;    % width of extrafine details
hair#:=34/36pt#;    % lowercase hairline breadth
stem#:=41/36pt#;    % lowercase stem breadth
curve#:=39/36pt#;    % lowercase curve breadth
ess#:=32/36pt#;      % breadth in middle of lowercase s
flare#:=44/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=53/36pt#;    % diameter of dots
cap_hair#:=42/36pt#;    % uppercase hairline breadth
cap_stem#:=42/36pt#;    % uppercase stem breadth
cap_curve#:=42/36pt#;    % uppercase curve breadth
cap_ess#:=42/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=42/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=31/36pt#;      % protrusion of lowercase serifs
cap_jut#:=31/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=35/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=34/36pt#;      % lowercase bar thickness
slab#:=34/36pt#;    % serif and arm thickness
cap_bar#:=34/36pt#;    % uppercase bar thickness
cap_band#:=34/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=2/36pt#;      % amount of overshoot for curves
apex_o#:=1/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=8/11;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</vbxtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvxtt10.mf}}
%    \begin{macrocode}
%<*vxtt>
if unknown cmbase: input cmbase fi

font_identifier:="BVXTT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=u#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=34/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=0;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=false;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate roman      % switch to the driver file
%</vxtt>
%    \end{macrocode}
%
%   \subsection{Die Datei \file{bvxitt10.mf}}
%    \begin{macrocode}
%<*vxitt>
if unknown cmbase: input cmbase fi

font_identifier:="BVXITT"; font_size 10pt#;

u#:=21/36pt#;      % unit width
width_adj#:=0pt#;    % width adjustment for certain characters
serif_fit#:=0pt#;    % extra sidebar near lowercase serifs
cap_serif_fit#:=0pt#;    % extra sidebar near uppercase serifs
letter_fit#:=u#+15/36pt#;    % extra space added to all sidebars

body_height#:=250/36pt#;  % height of tallest characters
asc_height#:=220/36pt#;    % height of lowercase ascenders
cap_height#:=220/36pt#;    % height of caps
fig_height#:=220/36pt#;    % height of numerals
x_height#:=155/36pt#;    % height of lowercase without ascenders
math_axis#:=110/36pt#;    % axis of symmetry for math symbols
bar_height#:=79/36pt#;    % height of crossbar in lowercase e
comma_depth#:=50/36pt#;    % depth of comma below baseline
desc_depth#:=80/36pt#;    % depth of lowercase descenders

crisp#:=22/36pt#;    % diameter of serif corners
tiny#:=22/36pt#;    % diameter of rounded corners
fine#:=21/36pt#;    % diameter of sharply rounded corners
thin_join#:=21/36pt#;    % width of extrafine details
hair#:=25/36pt#;    % lowercase hairline breadth
stem#:=25/36pt#;    % lowercase stem breadth
curve#:=25/36pt#;    % lowercase curve breadth
ess#:=22/36pt#;      % breadth in middle of lowercase s
flare#:=32/36pt#;    % diameter of bulbs or breadth of terminals
dot_size#:=36/36pt#;    % diameter of dots
cap_hair#:=25/36pt#;    % uppercase hairline breadth
cap_stem#:=25/36pt#;    % uppercase stem breadth
cap_curve#:=25/36pt#;    % uppercase curve breadth
cap_ess#:=25/36pt#;    % breadth in middle of uppercase s
rule_thickness#:=25/36pt#;  % thickness of lines in math symbols

dish#:=0pt#;      % amount erased at top or bottom of serifs
bracket#:=0pt#;      % vertical distance from serif base to tangent
jut#:=40/36pt#;      % protrusion of lowercase serifs
cap_jut#:=34/36pt#;    % protrusion of uppercase serifs
beak_jut#:=0pt#;    % horizontal protrusion of beak serifs
beak#:=34/36pt#;    % vertical protrusion of beak serifs
vair#:=22/36pt#;    % vertical diameter of hairlines
notch_cut#:=25/36pt#;    % maximum breadth above or below notches
bar#:=22/36pt#;      % lowercase bar thickness
slab#:=22/36pt#;    % serif and arm thickness
cap_bar#:=22/36pt#;    % uppercase bar thickness
cap_band#:=22/36pt#;    % uppercase thickness above/below lobes
cap_notch_cut#:=25/36pt#;  % max breadth above/below uppercase notches
serif_drop#:=0pt#;    % vertical drop of sloped serifs
stem_corr#:=0pt#;    % for small refinements of stem breadth
vair_corr#:=0pt#;    % for small refinements of hairline height
apex_corr#:=10/36pt#;    % extra width at diagonal junctions

o#:=4/36pt#;      % amount of overshoot for curves
apex_o#:=3/36pt#;    % amount of overshoot for diagonal junctions

slant:=.25;      % tilt ratio $(\Delta x/\Delta y)$
fudge:=0.81;      % factor applied to weights of heavy characters
math_spread:=-1;    % extra openness of math symbols
superness:=1/sqrt2;    % parameter for superellipses
superpull:=0;      % extra openness inside bowls
beak_darkness:=0;    % fraction of triangle inside beak serifs
ligs:=2;      % level of ligatures to be included

square_dots:=false;    % should dots be square?
hefty:=true;      % should we try hard not to be overweight?
serifs:=true;      % should serifs and bulbs be attached?
monospace:=false;    % should all characters have the same width?
variant_g:=true;    % should an italic-style g be used?
low_asterisk:=true;    % should the asterisk be centered at the axis?
math_fitting:=false;    % should math-mode spacing be used?

generate textit      % switch to the driver file
%</vxitt>
%    \end{macrocode}
%
% ********************************************** END METACOMMENT \fi
%
% \iffalse ********************************************* METACOMMENT
% ------------------------------------------------------------------
% \section{Character Table}
%    \begin{macrocode}
%<*installation>
\endinput
%</installation>
%    \end{macrocode}
% ------------------------------------------------------------------
% ********************************************** END METACOMMENT \fi
%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
% \Finale
