%!PS-Adobe-2.0
%%Title: POSTSCRIPT.PS
%%Creator: PostScript ImageStream Driver by Matt Heffron of Beckman Instruments
%%CreationDate:  9-Feb-88 14:19:16
%%For: Matt Heffron
%%EndComments
/s /show load def
/mto /moveto load def
/ellipsedict 9 dict def
ellipsedict /mtrx matrix put
/ellipse
 { ellipsedict begin
  /endangle exch def
  /startangle exch def
  /orientation exch def
  /minorrad exch def
  /majorrad exch def
  /y exch def
  /x exch def
  /savematrix mtrx currentmatrix def
  x y translate
  orientation rotate
  majorrad minorrad scale
  0 0 1 startangle endangle arc
  savematrix setmatrix
 end } bind def
/concatprocs
 {/proc2 exch cvlit def
  /proc1 exch cvlit def
  /newproc proc1 length proc2 length add array def
  newproc 0 proc1 putinterval
  newproc proc1 length proc2 putinterval
  newproc cvx
 } bind def
/resmatrix matrix def
/findresolution
 {72 0 resmatrix defaultmatrix dtransform
  /yres exch def /xres exch def
  xres dup mul yres dup mul add sqrt
 } bind def
/thebitimage
 {/maskp exch def
  /bihgt exch def
  /biwid exch def
  /strbuf biwid 8 div ceiling cvi string def
  {1 exch sub} currenttransfer concatprocs settransfer
  biwid bihgt
  maskp { false } { 1 } ifelse
  [biwid 0 0 bihgt 0 0]
  { currentfile strbuf readhexstring pop }
  maskp { imagemask } { image } ifelse
 } bind def
/setuserscreendict 22 dict def
setuserscreendict begin
 /tempctm matrix def
 /temprot matrix def
 /tempscale matrix def
end
/setuserscreen
 {setuserscreendict begin
   /spotfunction exch def
   /screenangle exch def
   /cellsize exch def
   /m tempctm currentmatrix def
   /rm screenangle temprot rotate def
   /sm cellsize dup tempscale scale def
   sm rm m m concatmatrix m concatmatrix pop
   1 0 m dtransform /y1 exch def /x1 exch def
   /veclength x1 dup mul y1 dup mul add sqrt def
   /frequency findresolution veclength div def
   /newscreenangle y1 x1 atan def
   m 2 get m 1 get mul m 0 get m 3 get mul sub
   0 gt { { neg } /spotfunction load concatprocs
          /spotfunction exch def } if
   frequency newscreenangle /spotfunction load setscreen
  end
 } bind def
/setpatterndict 18 dict def
setpatterndict begin
 /bitison
  {/ybit exch def /xbit exch def
   /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
   /mask 1 7 xbit 8 mod sub bitshift def
   bytevalue mask and 0 ne
  } bind def
end
/bitpatternspotfunction
 {setpatterndict begin
   /y exch def /x exch def
   /xindex x 1 add 2 div bpside mul cvi def
   /yindex y 1 add 2 div bpside mul cvi def
   xindex yindex bitison
    {/onbits onbits 1 add def 1}
    {/offbits offbits 1 add def 0} ifelse
  end
 } bind def
/setpattern
 {setpatterndict begin
   /cellsz exch def
   /angle exch def
   /bwidth exch def
   /bpside exch def
   /bstring exch def
   /onbits 0 def /offbits 0 def
   cellsz angle /bitpatternspotfunction load setuserscreen
   {} settransfer
   offbits offbits onbits add div setgray
  end
 } bind def
%%EndProlog
%%BeginSetup
clippath pathbbox
/ymax exch def /xmax exch def /ymin exch def /xmin exch def
/imagesizefactor 1.0 def
%%EndSetup

/Courier findfont 800 scalefont setfont

%%BeginPageSetup
xmin -5 add ymin 0 add translate
0.01 imagesizefactor mul 0.01 imagesizefactor mul scale
%%EndPageSetup
/savepage save def
newpath 0.0 0.0 mto 57100.0 0 rlineto 0 78624.0 rlineto -57100 0 rlineto closepath
 clip newpath

/Courier findfont 800 scalefont setfont
 0 77940 mto
 initclip newpath 0 0 moveto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath 7200 73200 mto

/Helvetica findfont 2400 scalefont setfont
 (XEROX) show  15603 73200 mto

/Helvetica findfont 600 scalefont setfont
 46410 73200 mto
 46410 73200 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT) show  52800 73200 mto
 7200 72470 mto

gsave newpath 200 setlinewidth 0 setlinecap 7200 72570 mto 52800 72570 lineto stroke
grestore 52800 72570 mto  52800 72470 mto
 52800 72470 mto
 21000 71599 mto

gsave newpath 400 setlinewidth 0 setlinecap 21000 71799 mto 38400 71799 lineto stroke
grestore 38400 71799 mto  38400 71599 mto
 38400 71599 mto
 21000 71099 mto

gsave newpath 100 setlinewidth 0 setlinecap 21000 71149 mto 38400 71149 lineto stroke
grestore 38400 71149 mto  38400 71099 mto
 38400 71099 mto
 25867 68971 mto

/Helvetica-Bold findfont 1200 scalefont setfont
 (POSTSCRIPT) show  33533 68971 mto
 21000 67606 mto

gsave newpath 100 setlinewidth 0 setlinecap 21000 67656 mto 38400 67656 lineto stroke
grestore 38400 67656 mto  38400 67606 mto
 38400 67606 mto
 21000 66806 mto

gsave newpath 400 setlinewidth 0 setlinecap 21000 67006 mto 38400 67006 lineto stroke
grestore 38400 67006 mto  38400 66806 mto
 38400 66806 mto
 17990 63766 mto

/Helvetica findfont 1000 scalefont setfont
 (By:  Matt Heffron \(BEC.HEFFRON@ECLA.USC.EDU\)) show  42009 63766 mto
 7200 61105 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (INTRODUCTION) show  14866 61105 mto

/Helvetica findfont 1000 scalefont setfont
 14866 61105 mto
 7200 58444 mto
 (The PostScript package defines a set of imageops for printers which understand the PostScript page) 81.00001 0 32 4 -1 roll widthshow  52800 58444 mto
 7200 56883 mto
 (description language by Adobe.  At Beckman we have successfully used TEdit, Sketch, and) 390.76923 0 32 4 -1 roll widthshow  52799 56883 mto
 7200 55322 mto
 (HARDCOPYW to an Apple LaserWriter and an AST TurboLaser PS.  \(Actually, the PostScript) 322.7692 0 32 4 -1 roll widthshow  52799 55322 mto
 7200 53761 mto
 (imagestream output was directed to a file, which was then moved to a PC which actually) 438.93338 0 32 4 -1 roll widthshow  52799 53761 mto
 7200 52200 mto
 (communicated with the laser printer.\)   The PostScript imagestream driver installs itself when it is) 191.0 0 32 4 -1 roll widthshow  52800 52200 mto
 7200 50639 mto
 (loaded.  All symbols in the PostScript driver are located in the INTERLISP: package.) show  44438 50639 mto
 7200 47978 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (VARIABLES) show  12978 47978 mto
 7200 45317 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT.FONT.ALIST) show  19647 45317 mto

/Helvetica findfont 1000 scalefont setfont
 47242 45317 mto
 47242 45317 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 45317 mto
 7200 42656 mto
 (POSTSCRIPT.FONT.ALIST is an ALIST mapping Xerox Lisp font names intothe root names of) 307.8333 0 32 4 -1 roll widthshow  52799 42656 mto
 7200 41095 mto
 (PostScript font files.  It is also used for font family coercions.  The default value should be acceptable) 56.833324 0 32 4 -1 roll widthshow  52799 41095 mto
 7200 39534 mto
 (for any of the fonts which are built into the Apple Laserwriter.) show  34046 39534 mto
 7200 36873 mto
 (POSTSCRIPTFONTDIRECTORIES) show  23146 36873 mto

/Helvetica findfont 1000 scalefont setfont
 47242 36873 mto
 47242 36873 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 36873 mto
 7200 34212 mto
 (POSTSCRIPTFONTDIRECTORIES is the list of directories where the PostScript .PSCFONT font files) 58.54545 0 32 4 -1 roll widthshow  52799 34212 mto
 7200 32651 mto
 (can be found.  The default value is:  \("{DSK}<LISPFILES>FONTS>PSC>"\).) show  40427 32651 mto
 7200 29990 mto
 (\\POSTSCRIPT.SHORTEDGE.SHIFT) show  23647 29990 mto

/Helvetica findfont 1000 scalefont setfont
 47242 29990 mto
 47242 29990 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 29990 mto
 7200 27329 mto
 (\\POSTSCRIPT.SHORTEDGE.SHIFT is the distance \(in points\) to shift the image perpendicular to the) 67.166664 0 32 4 -1 roll widthshow  52799 27329 mto
 7200 25768 mto
 (short edge of the paper.  A positive value gives a shift upward in portrait mode, and to the right in) 140.0 0 32 4 -1 roll widthshow  52800 25768 mto
 7200 24207 mto
 (landscape mode.  The default value is: 0.) show  25432 24207 mto
 7200 21546 mto
 (\\POSTSCRIPT.LONGEDGE.SHIFT) show  22981 21546 mto

/Helvetica findfont 1000 scalefont setfont
 47242 21546 mto
 47242 21546 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 21546 mto
 7200 18885 mto
 (\\POSTSCRIPT.LONGEDGE.SHIFT is the corresponding variable for shifts perpendicular to the long) 141.7 0 32 4 -1 roll widthshow  52799 18885 mto
 7200 17324 mto
 (edge of the paper.  A positive value here gives a shift to the right in portrait mode and downward in) 101.09999 0 32 4 -1 roll widthshow  52799 17324 mto
 7200 15763 mto
 (landscape mode.  The default value is: 0.) show  25432 15763 mto
 7200 13102 mto
 (\\POSTSCRIPT.SHORTEDGE.PTS) show  22703 13102 mto

/Helvetica findfont 1000 scalefont setfont
 47242 13102 mto
 47242 13102 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 13102 mto

 savepage restore
showpage
%%BeginPageSetup
xmin -5 add ymin 0 add translate
0.01 imagesizefactor mul 0.01 imagesizefactor mul scale
%%EndPageSetup
/savepage save def
newpath 0 0 mto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath

/Helvetica findfont 1000 scalefont setfont
 0 77684 mto
 initclip newpath 0 0 moveto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath 30322 5021 mto
 (2) show  30878 5021 mto
 7200 73200 mto

/Helvetica findfont 2400 scalefont setfont
 (XEROX) show  15603 73200 mto

/Helvetica findfont 600 scalefont setfont
 46410 73200 mto
 46410 73200 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT) show  52800 73200 mto
 7200 72470 mto

gsave newpath 200 setlinewidth 0 setlinecap 7200 72570 mto 52800 72570 lineto stroke
grestore 52800 72570 mto  52800 72470 mto
 52800 72470 mto
 7200 71059 mto
 (\\POSTSCRIPT.SHORTEDGE.PTS indicates the printable region of the page \(in points\) along the short) 16.000013 0 32 4 -1 roll widthshow  52800 71059 mto
 7200 69498 mto
 (edge of the paper.  It should be adjusted to allow for any shifts of the image \(see above\).  The default) 43.238094 0 32 4 -1 roll widthshow  52799 69498 mto
 7200 67937 mto
 (value is: 576 \(= 8 inches\).) show  18622 67937 mto
 7200 65276 mto
 (\\POSTSCRIPT.LONGEDGE.PTS) show  22037 65276 mto

/Helvetica findfont 1000 scalefont setfont
 47242 65276 mto
 47242 65276 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 65276 mto
 7200 62615 mto
 (\\POSTSCRIPT.LONGEDGE.PTS indicates the printable region of the page \(in points\) along the long) 99.25001 0 32 4 -1 roll widthshow  52800 62615 mto
 7200 61054 mto
 (edge of the paper.  It should be adjusted to allow for any shifts of the image \(see above\).  The default) 43.238094 0 32 4 -1 roll widthshow  52799 61054 mto
 7200 59493 mto
 (value is: 786.24 \(= 10.92 inches\).) show  21958 59493 mto
 7200 56832 mto
 (\\POSTSCRIPT.MAX.WILD.FONTSIZE) show  24314 56832 mto

/Helvetica findfont 1000 scalefont setfont
 47242 56832 mto
 47242 56832 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 56832 mto
 7200 54171 mto
 (\\POSTSCRIPT.MAX.WILD.FONTSIZE indicates the maximum point size that should be returned from) 64.100006 0 32 4 -1 roll widthshow  52799 54171 mto
 7200 52610 mto
 (FONTSAVAILABLE when the SIZE argument is wild \(i.e. *\).  All integer pointsizes from 1 to) 353.80002 0 32 4 -1 roll widthshow  52799 52610 mto
 7200 51049 mto
 (\\POSTSCRIPT.MAX.WILD.FONTSIZE will be indicated as available.  The default value is: 72.) show  48659 51049 mto
 7200 48388 mto
 (POSTSCRIPT.PREFER.LANDSCAPE) show  24259 48388 mto

/Helvetica findfont 1000 scalefont setfont
 47242 48388 mto
 47242 48388 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 48388 mto
 7200 45727 mto
 (POSTSCRIPT.PREFER.LANDSCAPE indicates if the OPENIMAGESTREAM method should default) 178.85713 0 32 4 -1 roll widthshow  52799 45727 mto
 7200 44166 mto
 (the orientation of output files to LANDSCAPE.  The default value is: NIL.) show  39105 44166 mto
 7200 41505 mto
 (POSTSCRIPT.TEXTFILE.LANDSCAPE) show  24871 41505 mto

/Helvetica findfont 1000 scalefont setfont
 47242 41505 mto
 47242 41505 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 41505 mto
 7200 38844 mto
 (POSTSCRIPT.TEXTFILE.LANDSCAPE indicates if the printing of TEXT files \(e.g. LISTFILES, ...\)) 252.9 0 32 4 -1 roll widthshow  52799 38844 mto
 7200 37283 mto
 (should force the orientation of output files to LANDSCAPE.  The default value is: T.) show  43885 37283 mto
 7200 34622 mto
 (POSTSCRIPT.BITMAP.SCALE) show  21148 34622 mto

/Helvetica findfont 1000 scalefont setfont
 47242 34622 mto
 47242 34622 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 34622 mto
 7200 31961 mto
 (POSTSCRIPT.BITMAP.SCALE specifies an independent scale factor for display of bitmap images) 219.40001 0 32 4 -1 roll widthshow  52799 31961 mto
 7200 30400 mto
 (\(e.g. window hardcopies\).  Values less than 1 will reduce the image size. \(I.e. a value of 0.5 will give a) 29.049988 0 32 4 -1 roll widthshow  52799 30400 mto
 7200 28839 mto
 (half size bitmap image.\)  The position of the scaled bitmap will still have the SAME lower-left corner) 102.999985 0 32 4 -1 roll widthshow  52800 28839 mto
 7200 27278 mto
 (\(i.e. the scaled bitmap is not centered in the region of the full size bitmap image\).  The default value is:) 20.600004 0 32 4 -1 roll widthshow  52799 27278 mto
 7200 25717 mto
 (1.) show  8034 25717 mto
 28833 23656 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (HINT) show  31166 23656 mto

/Helvetica findfont 1000 scalefont setfont
 31166 23656 mto
 10800 21595 mto
 (Setting POSTSCRIPT.BITMAP.SCALE to 0.96, instead of 1, will give cleaner BITMAP) 38.50001 0 32 4 -1 roll widthshow  49200 21595 mto
 10800 20034 mto
 (images on a 300 dpi printer.  \(This corrects for the 72 ppi imagestream ) 58.529408 0 32 4 -1 roll widthshow  43076 20034 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (vs) 58.529408 0 32 4 -1 roll widthshow  44076 20034 mto

/Helvetica findfont 1000 scalefont setfont
 (. the 75 dpi) 58.529408 0 32 4 -1 roll widthshow  49199 20034 mto
 10800 18473 mto
 (printer, using 4x4 device dots per bitmap pixel.\)  Also, values of 0.24, 0.48 and 0.72,) 80.93333 0 32 4 -1 roll widthshow  49199 18473 mto
 10800 16912 mto
 (instead of 0.25, 0.5 and 0.75, will also give cleaner images for reduced size output.  In) 23.750011 0 32 4 -1 roll widthshow  49200 16912 mto
 10800 15351 mto
 (general, use integer multiples of 0.24 for a 300 dpi printer.) show  36424 15351 mto
 7200 12690 mto
 (POSTSCRIPT.TEXTURE.SCALE) show  22092 12690 mto

/Helvetica findfont 1000 scalefont setfont
 47242 12690 mto
 47242 12690 mto

/Helvetica findfont 1000 scalefont setfont
 ([InitVariable]) show  52800 12690 mto
 7200 10029 mto
 (POSTSCRIPT.TEXTURE.SCALE specifies an independent scale for the display of bitmap textures.) 174.9 0 32 4 -1 roll widthshow  52799 10029 mto
 7200 8468 mto
 (The value represents the number of device space units per texture unit \(bitmap bit\). The default value) 50.06249 0 32 4 -1 roll widthshow  52800 8468 mto

 savepage restore
showpage
%%BeginPageSetup
xmin -5 add ymin 0 add translate
0.01 imagesizefactor mul 0.01 imagesizefactor mul scale
%%EndPageSetup
/savepage save def
newpath 0 0 mto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath

/Helvetica findfont 1000 scalefont setfont
 0 77684 mto
 initclip newpath 0 0 moveto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath 30322 5021 mto
 (3) show  30878 5021 mto
 7200 73200 mto

/Helvetica findfont 2400 scalefont setfont
 (XEROX) show  15603 73200 mto

/Helvetica findfont 600 scalefont setfont
 46410 73200 mto
 46410 73200 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT) show  52800 73200 mto
 7200 72470 mto

gsave newpath 200 setlinewidth 0 setlinecap 7200 72570 mto 52800 72570 lineto stroke
grestore 52800 72570 mto  52800 72470 mto
 52800 72470 mto
 7200 71059 mto
 (is 4, which represents each bit of the texture as a 4x4 block, so that textures are approximately the) 115.5 0 32 4 -1 roll widthshow  52800 71059 mto
 7200 69498 mto
 (same resolution as on the screen \(for 300 dpi output devices, such as the Apple Laserwriter\).  ) show  48886 69498 mto
 7200 66837 mto
 (The PostScript package extends the allowed representations of a texture, beyond 16-bit FIXP and) 181.15385 0 32 4 -1 roll widthshow  52799 66837 mto
 7200 65276 mto
 (16x16 bitmap, to ANY square bitmap.  \(If the bitmap is not square, its longer edge is truncated from the) 4.1052732 0 32 4 -1 roll widthshow  52799 65276 mto
 7200 63715 mto
 (top or right to make it square.\)  Use this feature with caution, as large bitmap textures, or sizes other) 71.52632 0 32 4 -1 roll widthshow  52799 63715 mto
 7200 62154 mto
 (than multiples of 16 bits square, require large amounts of storage in the PostScript interpreter \(in the) 81.37499 0 32 4 -1 roll widthshow  52800 62154 mto
 7200 60593 mto
 (printer controller\), and can cause limitcheck errors when actually printing.) show  39544 60593 mto
 7200 57932 mto
 (Anywhere that a texture or color can be used on an imagestream or in the specification of a BRUSH,) 66.166664 0 32 4 -1 roll widthshow  52799 57932 mto
 7200 56371 mto
 (you can instead give a FLOATP between 0.0 and 1.0 \(inclusive\) to represent a PostScript halftone gray) 1.3749862 0 32 4 -1 roll widthshow  52800 56371 mto
 7200 54810 mto
 (shade.  \(0.0 is black and 1.0 is white.  Specifically, the value sets the brightness of the shade.\)  The) 84.45 0 32 4 -1 roll widthshow  52799 54810 mto
 7200 53249 mto
 (value you specify will not be range checked, and will be passed directly through to the PostScript) 178.62498 0 32 4 -1 roll widthshow  52800 53249 mto
 7200 51688 mto
 (setgray operator.  \(E.g. you can pass 0.33 as the color to DRAWLINE to get a dark gray line with) 153.36842 0 32 4 -1 roll widthshow  52799 51688 mto
 7200 50127 mto
 (approximately 67% of the pixels in the line black.\)) show  29098 50127 mto
 7200 47466 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (MISCELLANEOUS) show  15867 47466 mto
 7200 44805 mto

/Helvetica findfont 1000 scalefont setfont
 (The SCALE of a PostScript imagestream is 100.  This is to allow enough resolution in the width) 210.70587 0 32 4 -1 roll widthshow  52799 44805 mto
 7200 43244 mto
 (information for fonts to enable TEdit to correctly fill and justify text.) show  36379 43244 mto
 7200 40583 mto
 (The first time any PostScript imagestream is created \(even if only to hardcopy a bitmap or window\) the) 21.235302 0 32 4 -1 roll widthshow  52799 40583 mto
 7200 39022 mto
 (DEFAULTFONT is instantiated \(unless a FONTS option was given to the OPENIMAGESTREAM, in) 132.16666 0 32 4 -1 roll widthshow  52799 39022 mto
 7200 37461 mto
 (which case the initial font for the imagestream will be set to that font, or to the CAR if a list\).) show  47495 37461 mto
 7200 34800 mto
 (The PostScript imagestream method for FILLPOLYGON uses the global variable FILL.WRULE as the) 62.41665 0 32 4 -1 roll widthshow  52799 34800 mto
 7200 33239 mto
 (default value for the WINDINGNUMBER argument.  \(This is the same variable which is used by the) 109.5 0 32 4 -1 roll widthshow  52800 33239 mto
 7200 31678 mto
 (DISPLAY imagestream method for FILLPOLYGON.\)) show  30375 31678 mto
 7200 29017 mto
 (The PostScript imagestream methods for OPENIMAGESTREAM and SEND.FILE.TO.PRINTER) 457.0 0 32 4 -1 roll widthshow  52800 29017 mto
 7200 27456 mto
 (\(OPENPOSTSCRIPTSTREAM and POSTSCRIPT.SEND, respectively\), support an) 1751.4 0 32 4 -1 roll widthshow  52799 27456 mto
 7200 25895 mto
 (IMAGESIZEFACTOR option to change the overall size of the printed image.  The) 812.5834 0 32 4 -1 roll widthshow  52799 25895 mto
 7200 24334 mto
 (IMAGESIZEFACTOR re-sizing affects the entire printed output \(specifically, it superimposes its effects) 37.999992 0 32 4 -1 roll widthshow  52800 24334 mto
 7200 22773 mto
 (upon those of POSTSCRIPT.BITMAP.SCALE and POSTSCRIPT.TEXTURE.SCALE\).  Values greater) 66.0 0 32 4 -1 roll widthshow  52800 22773 mto
 7200 21212 mto
 (than 1 enlarge the printed image, and values less than 1 reduce it.  \(Specifying an) 627.60004 0 32 4 -1 roll widthshow  52799 21212 mto
 7200 19651 mto
 (IMAGESIZEFACTOR of 0 will cause a divide by zero error!\)  ) show  34152 19651 mto
 7200 16990 mto
 (The PostScript package is contained in the files: POSTSCRIPT.LCOM & PS-SEND.LCOM, with the) 136.66667 0 32 4 -1 roll widthshow  52799 16990 mto
 7200 15429 mto
 (source in the files:  POSTSCRIPT & PS-SEND.  The module PS-SEND.LCOM is required and will be) 60.937504 0 32 4 -1 roll widthshow  52800 15429 mto
 7200 13868 mto
 (loaded automatically when POSTSCRIPT.LCOM is loaded.  It contains the function which is called by) 57.428555 0 32 4 -1 roll widthshow  52799 13868 mto
 7200 12307 mto
 (SEND.FILE.TO.PRINTER to actually transmit the file to the printer.  It is, by its nature, quite site) 213.5625 0 32 4 -1 roll widthshow  52800 12307 mto
 7200 10746 mto
 (specific, so it is in a separate file to make modifying it for any site relatively simple.  System record) 118.52633 0 32 4 -1 roll widthshow  52799 10746 mto
 7200 9185 mto
 (declarations required to compile POSTSCRIPT can be found in EXPORTS.ALL. ) show  42826 9185 mto

 savepage restore
showpage
%%BeginPageSetup
xmin -5 add ymin 0 add translate
0.01 imagesizefactor mul 0.01 imagesizefactor mul scale
%%EndPageSetup
/savepage save def
newpath 0 0 mto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath

/Helvetica findfont 1000 scalefont setfont
 0 77684 mto
 initclip newpath 0 0 moveto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath 30322 5021 mto
 (4) show  30878 5021 mto
 7200 73200 mto

/Helvetica findfont 2400 scalefont setfont
 (XEROX) show  15603 73200 mto

/Helvetica findfont 600 scalefont setfont
 46410 73200 mto
 46410 73200 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT) show  52800 73200 mto
 7200 72470 mto

gsave newpath 200 setlinewidth 0 setlinecap 7200 72570 mto 52800 72570 lineto stroke
grestore 52800 72570 mto  52800 72470 mto
 52800 72470 mto
 7200 71059 mto
 (I'm pretty sure that  the output generated by the PostScript imageops fully conforms to the Adobe) 168.06252 0 32 4 -1 roll widthshow  52800 71059 mto
 7200 69498 mto
 (Systems Document Structuring Conventions, Version 2.0, January 31, 1987.) show  40993 69498 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 40993 69498 mto
 7200 66837 mto
 (Including Other PostScript Operations) show  25426 66837 mto
 7200 64176 mto

/Helvetica findfont 1000 scalefont setfont
 (If you wish to insert your own specific PostScript operations into a PostScript imagestream, you can do) 15.499995 0 32 4 -1 roll widthshow  52800 64176 mto
 7200 62615 mto
 (so with either POSTSCRIPT.OUTSTR or POSTSCRIPT.PUTCOMMAND.) show  39816 62615 mto
 7200 59954 mto
 (\(POSTSCRIPT.OUTSTR  ) show  18868 59954 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM STRING) show  27091 59954 mto

/Helvetica findfont 1000 scalefont setfont
 (\)) show  27424 59954 mto

/Helvetica findfont 1000 scalefont setfont
 48409 59954 mto
 48409 59954 mto

/Helvetica findfont 1000 scalefont setfont
 ([Function]) show  52800 59954 mto
 7200 57293 mto
 (POSTSCRIPT.OUTSTR outputs a string or value to the imagestream.  ) 164.7143 0 32 4 -1 roll widthshow  40247 57293 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM) 164.7143 0 32 4 -1 roll widthshow  44414 57293 mto

/Helvetica findfont 1000 scalefont setfont
 ( must be an open) 164.7143 0 32 4 -1 roll widthshow  52799 57293 mto
 7200 55732 mto
 (PostScript imagestream.  ) 77.42856 0 32 4 -1 roll widthshow  18880 55732 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STRING) 77.42856 0 32 4 -1 roll widthshow  22658 55732 mto

/Helvetica findfont 1000 scalefont setfont
 ( is the value to output \(STRINGP and LITATOM are most efficient,) 77.42856 0 32 4 -1 roll widthshow  52799 55732 mto
 7200 54171 mto
 (but any value can be output \(its PRIN1 pname is used\)\).) show  32045 54171 mto
 7200 51510 mto
 (\(POSTSCRIPT.PUTCOMMAND  ) show  22034 51510 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM STRING) show  30257 51510 mto
 30257 51310 mto
 (1) show  30813 51510 mto
 ( ... STRING) show  35981 51510 mto
 35981 51310 mto
 (n) show  36537 51510 mto

/Helvetica findfont 1000 scalefont setfont
 (\)) show  36870 51510 mto

/Helvetica findfont 1000 scalefont setfont
 43629 51510 mto
 43629 51510 mto

/Helvetica findfont 1000 scalefont setfont
 ([NoSpread Function]) show  52800 51510 mto
 7200 48649 mto
 (POSTSCRIPT.PUTCOMMAND is more general for sequences of commands and values.  It calls) 238.75 0 32 4 -1 roll widthshow  52800 48649 mto
 7200 47088 mto
 (POSTSCRIPT.OUTSTR repeatedly to output each of the ) show  32600 47088 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STRING) show  36378 47088 mto
 36378 46888 mto
 (i) show  36600 47088 mto

/Helvetica findfont 1000 scalefont setfont
 ( arguments to ) show  42992 47088 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM) show  47159 47088 mto

/Helvetica findfont 1000 scalefont setfont
 (.) show  47437 47088 mto
 7200 44227 mto
 (\(\\POSTSCRIPT.OUTCHARFN  ) show  21312 44227 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM CHAR) show  28590 44227 mto

/Helvetica findfont 1000 scalefont setfont
 (\)) show  28923 44227 mto

/Helvetica findfont 1000 scalefont setfont
 48409 44227 mto
 48409 44227 mto

/Helvetica findfont 1000 scalefont setfont
 ([Function]) show  52800 44227 mto
 7200 41566 mto
 (\\POSTSCRIPT.OUTCHARFN is used to output the characters forming the text of a PostScript string) 113.30768 0 32 4 -1 roll widthshow  52799 41566 mto
 7200 40005 mto
 (\(e.g. the argument to a show or charpath operator\).  ) 64.06249 0 32 4 -1 roll widthshow  31075 40005 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (STREAM) 64.06249 0 32 4 -1 roll widthshow  35242 40005 mto

/Helvetica findfont 1000 scalefont setfont
 ( is the open PostScript imagestream to) 64.06249 0 32 4 -1 roll widthshow  52800 40005 mto
 7200 38444 mto
 (output to, and ) 18.894743 0 32 4 -1 roll widthshow  13650 38444 mto

/Helvetica-Oblique findfont 1000 scalefont setfont
 (CHAR) 18.894743 0 32 4 -1 roll widthshow  16483 38444 mto

/Helvetica findfont 1000 scalefont setfont
 ( is the CHARCODE of the character to output.  The ) 18.894743 0 32 4 -1 roll widthshow  39590 38444 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (/) 18.894743 0 32 4 -1 roll widthshow  39868 38444 mto

/Helvetica findfont 1000 scalefont setfont
 ( \(slash\), ) 18.894743 0 32 4 -1 roll widthshow  43740 38444 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (\() 18.894743 0 32 4 -1 roll widthshow  44073 38444 mto

/Helvetica findfont 1000 scalefont setfont
 ( and ) 18.894743 0 32 4 -1 roll widthshow  46335 38444 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (\)) 18.894743 0 32 4 -1 roll widthshow  46668 38444 mto

/Helvetica findfont 1000 scalefont setfont
 ( \(parenthesis\)) 18.894743 0 32 4 -1 roll widthshow  52799 38444 mto
 7200 36883 mto
 (characters will be quoted with) 30.882341 0 32 4 -1 roll widthshow  20439 36883 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 ( /) 30.882341 0 32 4 -1 roll widthshow  21026 36883 mto

/Helvetica findfont 1000 scalefont setfont
 (, and characters with ASCII values less than 32 \(space\) or greater than) 30.882341 0 32 4 -1 roll widthshow  52799 36883 mto
 7200 35322 mto
 (126 \(tilde\) will be output as ) 36.687508 0 32 4 -1 roll widthshow  19593 35322 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (/nnn) 36.687508 0 32 4 -1 roll widthshow  21704 35322 mto

/Helvetica findfont 1000 scalefont setfont
 ( \(in octal\).  \\POSTSCRIPT.OUTCHARFN will output the ) 36.687508 0 32 4 -1 roll widthshow  46836 35322 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (\() 36.687508 0 32 4 -1 roll widthshow  47169 35322 mto

/Helvetica findfont 1000 scalefont setfont
 ( character to) 36.687508 0 32 4 -1 roll widthshow  52800 35322 mto
 7200 33761 mto
 (open the string if necessary. It is important to use POSTSCRIPT.CLOSESTRING to output the ) 232.07143 0 32 4 -1 roll widthshow  52466 33761 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (\)) 232.07143 0 32 4 -1 roll widthshow  52799 33761 mto

/Helvetica findfont 1000 scalefont setfont
 52799 33761 mto
 7200 32200 mto
 (character to close the string, because it also clears the stream state flag that indicates that a string is in) 4.1579 0 32 4 -1 roll widthshow  52799 32200 mto
 7200 30639 mto
 (progress \(otherwise, the next  POSTSCRIPT.PUTCOMMAND would output the commands to close the) 2.4166815 0 32 4 -1 roll widthshow  52799 30639 mto
 7200 29078 mto
 (string and show it\).) show  15592 29078 mto
 7200 26417 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (Warning) show  11200 26417 mto
 7200 23756 mto

/Helvetica findfont 1000 scalefont setfont
 (Do not attempt to create a PostScript font larger than about 600 points, as much of Interlisp's font) 154.88237 0 32 4 -1 roll widthshow  52799 23756 mto
 7200 22195 mto
 (information is stored in SMALLP integers, and too large a font would overflow the font's height, or the) 56.88234 0 32 4 -1 roll widthshow  52799 22195 mto
 7200 20634 mto
 (width for any of the wider characters.  \(I know that 600 points is a rediculously large limit \(about 8.3) 100.78947 0 32 4 -1 roll widthshow  52799 20634 mto
 7200 19073 mto
 (inches\), but I thought I'd better mention it, or someone might try it!\)) show  36658 19073 mto
 7200 16412 mto

/Helvetica-Bold findfont 1000 scalefont setfont
 (Known Problems/Limitations) show  20980 16412 mto
 7200 13751 mto

/Helvetica findfont 1000 scalefont setfont
 (The output generated for a PostScript imagestream is rather brute force.  It isn't particularly careful to) 60.624992 0 32 4 -1 roll widthshow  52800 13751 mto
 7200 12190 mto
 (generate the smallest output file for a given sequence of operations.  Specifically, it often generates) 112.533325 0 32 4 -1 roll widthshow  52799 12190 mto
 7200 10629 mto
 (extra end-of-lines between PostScript operator sequences \(this has no effect on the printed output,) 151.23079 0 32 4 -1 roll widthshow  52799 10629 mto
 7200 9068 mto
 (only on the file size\).) show  16315 9068 mto

 savepage restore
showpage
%%BeginPageSetup
xmin -5 add ymin 0 add translate
0.01 imagesizefactor mul 0.01 imagesizefactor mul scale
%%EndPageSetup
/savepage save def
newpath 0 0 mto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath

/Helvetica findfont 1000 scalefont setfont
 0 77684 mto
 initclip newpath 0 0 moveto 57100 0 rlineto 0 78624 rlineto -57100 0 rlineto closepath
 clip newpath 30322 5021 mto
 (5) show  30878 5021 mto
 7200 73200 mto

/Helvetica findfont 2400 scalefont setfont
 (XEROX) show  15603 73200 mto

/Helvetica findfont 600 scalefont setfont
 46410 73200 mto
 46410 73200 mto

/Helvetica findfont 1000 scalefont setfont
 (POSTSCRIPT) show  52800 73200 mto
 7200 72470 mto

gsave newpath 200 setlinewidth 0 setlinecap 7200 72570 mto 52800 72570 lineto stroke
grestore 52800 72570 mto  52800 72470 mto
 52800 72470 mto
 7200 71059 mto
 (Using BITMAPs or Functions as BRUSH arguments to the curve drawing functions is not supported,) 101.142845 0 32 4 -1 roll widthshow  52799 71059 mto
 7200 69498 mto
 (nor is using a non-ROUND BRUSH with DRAWCIRCLE or DRAWELLIPSE.) show  40762 69498 mto
 7200 66837 mto
 (There is no support for NS character sets other than 0, and there is no translation of the character) 134.00002 0 32 4 -1 roll widthshow  52800 66837 mto
 7200 65276 mto
 (code values from NS encoding to PostScript encoding.) show  31378 65276 mto
 7200 62615 mto
 (There is no support for color.) show  19983 62615 mto
 7200 59954 mto
 (\\POSTSCRIPT.OUTCHARFN is pretty wimpy in its handling of TAB characters.  It just outputs 8) 228.42859 0 32 4 -1 roll widthshow  52799 59954 mto
 7200 58393 mto
 (SPACEs for the TAB.) show  16704 58393 mto
 7200 55732 mto
 (I haven't yet documented how to build the .PSCFONT files for any new fonts that become available, I'll) 21.000006 0 32 4 -1 roll widthshow  52800 55732 mto
 7200 54171 mto
 (do that eventually.) show  15316 54171 mto

 savepage restore
showpage
%%Trailer