%%% Stephen Moye%%% Stephen_Moye@brown.edu%%% Brown University%%% Graphic Services%%%%% Registers\newtoks\dspfont\newdimen\dspsize\newdimen\letterboxwd\newcount\scratch\newcount\divisor%%%%% Layout options\parindent0pt\nopagenumbers\vsize10in \voffset-.5in\hsize7.5in \hoffset-.5in%%%%% Macros%%% This is the macro that does all the work.%%% #1 -> TeX's name for the desired font%%% #2 -> The name font name as you want it to print%%% #3 -> The name of the type's designer, or other salient%%%       piece of information that lends itself to display%%% #4 -> The size of the type inside the box%%% #5 -> The overall desired width of the box\def\makefontbox#1#2#3#4#5{%\dspfont={#1}%\def\fontname{#2}%\font\test=\the\dspfont\space at #4 \test \baselineskip1.25em\setbox0=\vbox{\halign to #5{%##\tabskip0pt plus 1fill&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil&\hfil##\hfil\tabskip0pt\cr\noalign{\red\hrule\black\medskip}%%% Substitute any characters you like to suit your purposesA&B&C&D&E\enskip&1&2&\enskip a&b&c&d&e\crF&G&H&I&J\enskip&3&4&\enskip f&g&h&i&j\crK&L&M&N&O\enskip&5&6&\enskip k&l&m&n&o\crP&Q&R&S&T\enskip&7&8&\enskip p&q&r&s&t\crU&V&W&X&Y\enskip&9&0&\enskip u&v&w&x&y\cr(&&Z&&)&\&&\char166&[&&z&&]\cr\noalign{\medskip\red\hrule\black}}}%\letterboxwd=\wd0\vtop{\hsize\letterboxwd\if\empty#2 \else\makefit{#2}\fi%\smallskip\box0%\smallskip\if\empty#3 \else \makefit{#3}\fi}}%%% Fit text to a given size by first setting the text%%% very tiny and then determining a scaling factor.\def\makefit#1{\font\dsp=\the\dspfont\space at .1pt%\setbox1=\hbox{\dsp #1}%\dspsize=\letterboxwd \scratch=\dspsize \multiply\scratch10 \divisor=\wd1\divide\scratch by \divisor\dspsize=\scratch pt \divide\dspsize by 100 \hbox{\font\dsp=\the\dspfont\space at\dspsize \dsp #1}}%%% For Textures users, and anyone else who can use color%%% via the \special mechanism\def\red{%\special{color push}\special{color define red rgb 1.0 0 0}\special{color red}}\def\blue{%\special{color push}\special{color define blue rgb 0 0 1.0}\special{color blue}}\def\green{%\special{color push}\special{color define green rgb 0 1.0 0}\special{color green}}\def\black{\special{color pop}}%%%%% Example -- this is just a suggestion to get you started.%%% Make the `grid'. This is just for fun. For even more fun,%%% color the rules -- red, blue and green are very printerly.%%% The easy way, as here, is to make your pattern in a \vbox%%% set to \vsize, then all you have to do is \kern-\vsize%%% to start setting type over the grid.\vbox to \vsize{\blue\hrule\vss\noindent\llap{\vrule height\vsize\hskip0pt}%\hskip2in\kern2pt\vrule height\vsize\hskip1pt%\hskip3.5in\kern-6pt\vrule height\vsize\hskip1pt%\hfill\rlap{\hskip0pt\vrule height\vsize}\vss\hrule\black}\kern-\vsize%%% Now do the text bits\line{\hskip1pt\makefontbox{ACaslon}{Adobe Caslon Roman}{ }{11pt}{2in}\hfill\makefontbox{ACaslonI}{Adobe Caslon Italic}{ }{11pt}{2in}\hskip1pt}\vfill\red\hrule\black\bigskip%%% Notice that the narrow measure (3.5in) used for the quotation%%% required some \emergencystretch.\begingroup\font\rm=ACaslon at 10pt \rm \baselineskip1.35em \font\it=ACaslonI at 10pt\moveright 2.1in\vbox{\hsize3.3in \emergencystretch.5em%A lot of mathematics and technical knowledge are involved in our work today.I would not call us artists any more.I think `alphabet designer' is more accurate,and our comrade is no longer the punchcutter but the electronics engineer.If the technician learns that he doesn't have to work with a crazy artist,and the designer learns a little about electronics,they will make an ideal team.It is still teamwork as it was in the good old days of metal type.\bigskip\it Hermann Zapf\par}\bigskip\red\hrule\black\endgroup\vfill\vfill\line{\hskip1pt\makefontbox{ACaslonB}{Adobe Caslon Bold}{ }{11pt}{2in}\hfill\makefontbox{ACaslonBI}{Adobe Caslon BoldItalic}{Carol Twombly}{11pt}{2in}\hskip1pt}\line{\hss}\eject