% These macros cribbed from the macros for The TeXbook % % \newcount\charno \font\tentex=cmtex10 \font\amssy=msym10 \font\bigtenex=cmex10 scaled\magstep1 \font\bigfiv=cmr5 scaled\magstep5 \postdisplaypenalty=0 \def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant \def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant % macros for font tables \def\oddline#1{\cr \noalign{\nointerlineskip} \multispan{19}\hrulefill& \setbox0=\hbox{\lower 2.3pt\hbox{\hex{#1x}}}\smash{\box0}\cr \noalign{\nointerlineskip}} \def\evenline{\cr\noalign{\hrule}} \def\chartstrut{\lower4.5pt\vbox to14pt{}} \def\beginchart#1{$$ \global\charno=0 #1 \halign to\hsize\bgroup \chartstrut##\tabskip0pt plus10pt& &\hfil##\hfil&\vrule##\cr \lower6.5pt\null &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} \def\endchart{\raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$} \def\:{\setbox0=\hbox{\char\charno}% \ifdim\ht0>7.5pt\reposition \else\ifdim\dp0>2.5pt\reposition\fi\fi \box0\global\advance\charno by1 } \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}} \def\normalchart{% &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0 &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1 &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2 &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3 &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4 &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5 &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6 &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7 &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline} \medskip\vfill \noindent {\bf Figure 1.\enspace} \rm Here is a chart that shows ASCII codes in such a way that octal and hexadecimal equivalents can easily be read off: \beginchart{\global\charno='41\tentt \def\chartstrut{\lower4.3pt\vbox to13.6pt{}}} &\oct{00x}&&NUL&&SOH&&STX&&ETX&&EOT&&ENQ&&ACK&&BEL&&\oddline0 &\oct{01x}&&BS&&HT&&LF&&VT&&FF&&CR&&SO&&SI&\evenline &\oct{02x}&&DLE&&DC1&&DC2&&DC3&&DC4&&NAK&&SYN&&ETB&&\oddline1 &\oct{03x}&&CAN&&EM&&SUB&&ESC&&FS&&GS&&RS&&US&\evenline &\oct{04x}&&SP&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2 &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3 &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4 &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5 &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6 &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7 &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&DEL&\evenline \endchart \vfill \medskip\vfill \noindent {\bf Figure 2.\enspace} this chart shows how to address ASCII controls using the up-arrow: \beginchart{\def\?{\char`^\char`^\:}\global\charno='100 \tentt} &\oct{00x}&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\oddline0 &\oct{01x}&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\?&\evenline &\oct{02x}&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\oddline1 &\oct{03x}&&\?&&\?&&\?&&\?&&\?&&\?&&\?&&\?&\evenline &\global\charno='40 \oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2 &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3 &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4 &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5 &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6 &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7 &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\char`^\char`^?&\evenline \endchart \vfill \noindent {\bf Figure 3.\enspace}The extended character codes for luxury keyboards: \beginchart\tentex \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 4.\enspace}Text roman font layout, showing |cmr10| \beginchart\tenrm \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 5.\enspace}Text roman font layout, without F-Ligatures showing |cmr5| \beginchart\fiverm \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 6.\enspace}Text roman font layout, without F-Ligatures showing |cmr5| magnified so I can read it \beginchart\bigfiv \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 7.\enspace}Text italic font layout, showing |cmti10| \beginchart\tenit \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 8.\enspace} Math italic font layout, showing |cmmi10| \beginchart\teni \normalchart \endchart \vfill \medskip\vfill \noindent {\bf Figure 9.\enspace}Typewriter text font layout, showing |cmtt10| \beginchart\tentt \normalchart \endchart \vfill \medskip\vfil \noindent {\bf Figure 10.\enspace}Math symbol font layout, showing |cmsy10| \beginchart\tensy \normalchart \endchart \vfill \medskip\vfil \noindent {\bf Figure 10.\enspace}AMS symbol font layout, showing |msym10| \beginchart\amssy \normalchart \endchart \vfill \medskip\vfil \noindent {\bf Figure 11.\enspace} {Math extension font} layout, showing |cmex10| \beginchart\tenex \normalchart \endchart \vfill \medskip\vfil \noindent {\bf Figure 11.\enspace} {Math extension font} layout, showing |cmex10| scaled up \beginchart\bigtenex \normalchart \endchart \vfill \bye