\setlength{\unitlength}{0.012500in}%
%
\ifx \SetFigFont\undefined
  \begingroup\makeatletter
  % extract first six characters in \fmtname
  \def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
  \expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
  \ifx\x\y   % LaTeX or SliTeX?
  \gdef\SetFigFont#1#2#3{%
    \ifnum #1<17\tiny\else \ifnum #1<20\small\else
    \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
    \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
       \huge\fi\fi\fi\fi\fi\fi
    \csname #3\endcsname}%
  \else
  \gdef\SetFigFont#1#2#3{\begingroup
    \count@#1\relax \ifnum 25<\count@\count@25\fi
    \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
    \expandafter\x
      \csname \romannumeral\the\count@ pt\expandafter\endcsname
      \csname @\romannumeral\the\count@ pt\endcsname
    \csname #3\endcsname}%
  \fi
  \endgroup
\fi
\begin{picture}(321,168)(9,666)
\put( 93,738){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{it}and format commands}}}
\thinlines
\put(204,798){\vector(-1, 0){ 39}}
\put(168,699){\vector( 1, 0){ 36}}
\multiput(  9,741)(8.57143,0.00000){4}{\line( 1, 0){  4.286}}
\multiput(147,741)(8.13333,0.00000){23}{\line( 1, 0){  4.067}}
\put( 93,774){\line( 0,-1){ 18}}
\put( 93,735){\vector( 0,-1){ 21}}
\put( 24,681){\framebox(138,33){}}
\put( 93,747){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{it}stream of strings}}}
\put( 24,777){\framebox(138,33){}}
\put( 93,693){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{rm}formatting algorithm}}}
\multiput( 15,666)(6.00000,0.00000){27}{\makebox(0.1111,0.7778){\SetFigFont{5}{6}{rm}.}}
\multiput( 15,822)(6.00000,0.00000){27}{\makebox(0.1111,0.7778){\SetFigFont{5}{6}{rm}.}}
\multiput( 15,666)(0.00000,6.00000){27}{\makebox(0.1111,0.7778){\SetFigFont{5}{6}{rm}.}}
\multiput(171,666)(0.00000,6.00000){27}{\makebox(0.1111,0.7778){\SetFigFont{5}{6}{rm}.}}
\put(210,696){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{rm}typeset document}}}
\put(210,795){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{rm}unformatted source code}}}
\put( 24,825){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{rm}prettyprinter}}}
\put(330,747){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{rm}language dependent front end}}}
\put(330,729){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{rm}language independent back end}}}
\put( 93,798){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{rm}parser using}}}
\put( 93,786){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{rm}prettyprinting grammar}}}
\end{picture}
