% This macro source file is from the four volume series
% "TeX in Practice" by Stephan von Bechtolsheim, published
% 1993 by Springer-Verlag, New York.
% Copyright 1993 Stephan von Bechtolsheim.
% No warranty or liability is assumed.
% This macro may be copied freely if no fees other than
% media cost or shipping charges are charged and as long
% as this copyright and the following source code itself
% is not changed. Please see the series for further information.
%
% Version: 1.0
% Date: May 1, 1993
%
%
% This source code is documented in 16.8.1, p. II-298.
% Original source in file "fonts2.TEX", starting line 1840.
\wlog{L: "fotable.tip" ["fonts2.TEX," l. 1840, p. II-298]}%
% This file DOES belong to format "texip."
\catcode`\@ = 11
\def\@OctPrintFontTable#1{% 
    \hbox{% 
        \rm\'{}% 
        \kern-.2em
        \it #1\/% 
        \kern.05em
    }% 
}
\def\@HexPrintFontTable#1{% 
    \hbox{\rm\H{}\tt#1}% 
}
\def\@OddLineFontTable#1{% 
    \cr
    \noalign{\nointerlineskip}
    \multispan{19}\hrulefill&
    \setbox0 = \hbox{% 
        \lower 2.3pt\hbox{% 
            \@HexPrintFontTable{#1x}% 
        }% 
    }% 
    \smash{\box0}% 
    \cr
    \noalign{\nointerlineskip}
}
\def\@EvenLineFontTable{\cr\noalign{\hrule}}
\def\@FontTableStrut{\lower4.5pt\vbox to 14pt{}}
\def\BeginFontTable #1{% 
    $$
    \postdisplaypenalty = 0
    \global\count@=0
    #1
    \halign to\hsize\bgroup
        \@FontTableStrut##\relax    \tabskip = 0pt plus 10pt&
        &\hfil##\hfil&\vrule##% 
    \cr
    \lower6.5pt\null
    &&&
    \@OctPrintFontTable0&&
    \@OctPrintFontTable1&&
    \@OctPrintFontTable2&&
    \@OctPrintFontTable3&&
    \@OctPrintFontTable4&&
    \@OctPrintFontTable5&&
    \@OctPrintFontTable6&&
    \@OctPrintFontTable7&
    \@EvenLineFontTable
}
\def\EndFontTable{% 
    \raise 11.5pt\null
    &&&
    \@HexPrintFontTable 8&&
    \@HexPrintFontTable 9&&
    \@HexPrintFontTable A&&
    \@HexPrintFontTable B&&
    \@HexPrintFontTable C&&
    \@HexPrintFontTable D&&
    \@HexPrintFontTable E&&
    \@HexPrintFontTable F&
    \cr
    \egroup
    $$% 
}
\def\:{% 
    \setbox0 = \hbox{% 
        \char\count@
    }%
    \ifdim\ht0 > 7.5pt
        \@RepositionFontTable
    \else
        \ifdim\dp0 > 2.5pt
            \@RepositionFontTable
        \fi
    \fi
    \box0
    \global\advance\count@ by 1
}
\def\@RepositionFontTable{% 
    \setbox0 = \hbox{% 
        $
            \vcenter{% 
                \kern 2pt
                \box0
                \kern 2pt
            }
        $%
    }% 
}
\def\NormalFontTable{%
    &\@OctPrintFontTable{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable0
    &\@OctPrintFontTable{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable1
    &\@OctPrintFontTable{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable2
    &\@OctPrintFontTable{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable3
    &\@OctPrintFontTable{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable4
    &\@OctPrintFontTable{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable5
    &\@OctPrintFontTable{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable6
    &\@OctPrintFontTable{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable7
    &\@OctPrintFontTable{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
}
\def\MoreFontTable{%
    &\@OctPrintFontTable{20x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable8
    &\@OctPrintFontTable{21x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{22x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable9
    &\@OctPrintFontTable{23x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{24x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable A
    &\@OctPrintFontTable{25x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{26x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable B
    &\@OctPrintFontTable{27x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{30x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable C
    &\@OctPrintFontTable{31x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{32x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable D
    &\@OctPrintFontTable{33x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{34x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable E
    &\@OctPrintFontTable{35x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
    &\@OctPrintFontTable{36x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&&\@OddLineFontTable F
    &\@OctPrintFontTable{37x}&&\:&&\:&&\:&&\:&&\:&&\:&&
        \:&&\:&\@EvenLineFontTable
}
\catcode`\@ = 12
