<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% codelist.sty
% Copyright 2002 FUKUI Rei
%
% This program may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.2
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.2 or later is part of all distributions of LaTeX 
% version 1999/12/01 or later.
%
% This program consists of all files listed in Manifest.txt.
%
% examples:
%  \usepackage{codelist} % necessary in all cases in the preamble
%
%  \fonttable{cmr10}
%
%  \fonttablescaled{cmr10}{\magstep1}
%
%  \fonttable{\empty} % draw an empty code table for a font designer who
%                     % wants to create a new font from scratch
%                     % (see also \def\dummyfont below)

%\topmargin -2cm
%\textheight 24cm

%\newcommand\dummyfont{cmr10} % for 128 empty boxes
\newcommand\dummyfont{dcr1000} % for 256 empty boxes

\tracinglostchars=0
\newcount\@@m \newcount\@@n \newcount\@@p \newdimen\dim
\newif\ifemptybox \emptyboxfalse

\newcommand\fonttable[1]{%
  \ifx\empty#1\font\testfont=\dummyfont % dummy
    \emptyboxtrue\def\fontnamestring{empty font}%
  \else\font\testfont=#1\def\fontnamestring{#1}\fi
%  \leftline{{\small Test of {\itshape{\fontnamestring}}\unskip\ on \today}}
%  \smallskip
  \testfont \setbaselineskip
  \ifdim\fontdimen6\testfont&lt;10pt \rightskip=0pt plus 20pt
  \else\rightskip=0pt plus 2em \fi
  \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
  \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont
  \f@nttable}

\newcommand\fonttablescaled[2]{%
  \ifx\empty#1\font\testfont=\dummyfont % dummy
    \emptyboxtrue\def\fontnamestring{empty font}%
  \else\font\testfont=#1 scaled #2\def\fontnamestring{#1}\fi
%  \leftline{{\small Test of {\itshape{\fontnamestring}}\unskip\ on \today}}
%  \smallskip
  \testfont \setbaselineskip
  \ifdim\fontdimen6\testfont&lt;10pt \rightskip=0pt plus 20pt
  \else\rightskip=0pt plus 2em \fi
  \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
  \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont
  \f@nttable}

\newcommand\setbaselineskip{\setbox0=\hbox{\@@n=0
    \loop\char\@@n \ifnum \@@n&lt;255 \advance\@@n 1 \repeat}
  \baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 }

\newcommand\oct[1]{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
\newcommand\hex[1]{\hbox{\rm\H{}\tt#1}} % hexadecimal constant

\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
  \@@m=\@@n \divide\@@m by 64 \xdef\0{\the\@@m}%
  \multiply\@@m by-64 \advance\@@m by\@@n \divide\@@m by 8 \xdef\1{\the\@@m}}

\newcommand\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
  \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
  \global\@@p=\lastpenalty}} % \@@p=1 if none of the characters exist

\newcommand\oddline{\cr
  \noalign{\nointerlineskip}
  \multispan{19}\hrulefill&amp;
  \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
  \noalign{\nointerlineskip}}

\newif\ifskipping

\newcommand\evenline{\loop\skippingfalse
  \ifnum\@@n&lt;256 \@@m=\@@n \divide\@@m 16 \chardef\next=\@@m
  \expandafter\setdigs\meaning\next \testrow
  \ifnum\@@p=1 \skippingtrue \fi\fi
  \ifskipping \global\advance\@@n 16 \repeat
  \ifnum\@@n=256 \let\next=\@endchart\else\let\next=\morechart\fi
  \next}

\newcommand\morechart{\cr\noalign{\hrule\penalty5000}
  \chartline \oddline \@@m=\1 \advance\@@m 1 \xdef\1{\the\@@m}
  \chartline \evenline}

\newcommand\chartline{&amp;\oct{\0\1x}&amp;&amp;\CHAR&amp;&amp;\CHAR&amp;&amp;\CHAR&amp;&amp;\CHAR&amp;&amp;\CHAR&amp;&amp;
  \CHAR&amp;&amp;\CHAR&amp;&amp;\CHAR&amp;&amp;}

%\newcommand\chartstrut{\lower6pt\vbox to18pt{}}
\newcommand\chartstrut{\lower5.5pt\vbox to15pt{}}

\newcommand\f@nttable{$$\global\@@n=0
  \halign to\hsize\bgroup
    \chartstrut##\tabskip0pt plus10pt&amp;
    &amp;\hfil##\hfil&amp;\vrule##\cr
    \lower6.5pt\null
    &amp;&amp;&amp;\oct0&amp;&amp;\oct1&amp;&amp;\oct2&amp;&amp;\oct3&amp;&amp;\oct4&amp;&amp;\oct5&amp;&amp;\oct6&amp;&amp;\oct7&amp;\evenline}

\newcommand\@endchart{\cr\noalign{\hrule}
  \raise11.5pt\null&amp;&amp;&amp;\hex 8&amp;&amp;\hex 9&amp;&amp;\hex A&amp;&amp;\hex B&amp;
  &amp;\hex C&amp;&amp;\hex D&amp;&amp;\hex E&amp;&amp;\hex F&amp;\cr\egroup$$\par}

\newcommand\CHAR{\setbox0=\hbox{\char\@@n}%
  \ifdim\ht0&gt;7.5pt\reposition
  \else\ifdim\dp0&gt;2.5pt\reposition\fi\fi
  \ifemptybox\hbox{}\else \box0\fi
  \global\advance\@@n 1 }

\newcommand\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
  \advance\dim 2pt \dp0=\dim}

\newcommand\centerlargechars{
  \newcommand\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}

\endinput
</pre></body></html>