patwood@esquire.UUCP (Patrick H. Wood) (11/08/86)
The following is a shell archive of the PostScript Language Journal's PS input source. Due to the number of requests I've had for it, and due to the backlog in mod.sources, I'm submitting it here. Pat Wood Editor, The PostScript Language Journal --------------------------------cut here------------------------------- # To recover, type "sh archive" echo restoring readme cat > readme <<\XxXxXxXxXx-EOF-XxXxXxXxXx The files in this shell archive comprise the Preview Issue of The PostScript Language Journal announced in mod.computers.laser-lovers. They are organized in the following order: cover: cover of the Journal p2: page 2 of the Journal p3: page 3 of the Journal p4-5: pages 4 & 5 of the Journal p6-7: pages 6 & 7 of the Journal back: back cover of the Journal Each file is a PostScript program that prints the appropriate page(s). The Journal was produced with ditroff and hand-crafted PostScript code, and was then run through a ditroff->PostScript filter called devps. TranScript was NOT used to produce the Journal, and the PostScript code is incompatible(!) with some of the TranScript spooler programs, notably the page reveral mechanism, psrev. In order to print out the Journal properly, you must turn page reversal off. In fact, it's probably best to simply cat the Journal pages to /dev/LW, or whatever device your printer is attached to. (You should turn off the spooling system to avoid conflicts.) Note: page 7 will take 10-20 minutes to print due to a rather complex graphic, so don't panic. You may print and distribute the journal to your heart's content; however, you cannot charge for it--the Preview Issue is free to anyone who wants it. If you don't have a PostScript printer and still want to have the Preview Issue, you may request a copy from me. Just send a stamped, self-addressed envelope (10 x 12, 39 cents) to The PostScript Language Journal P.O. Box 5763 Parsippany, NJ 07054 Pat Wood Editor, The PostScript Language Journal XxXxXxXxXx-EOF-XxXxXxXxXx # To recover, type "sh archive" echo restoring cover cat > cover <<\XxXxXxXxXx-EOF-XxXxXxXxXx %! /pica {12 mul} def /fillshow { % args: width string /str exch def /wid exch def wid str stringwidth pop sub str length 1 sub div % adjust per letter 0 str ashow } def /showline { currentpoint /ypos exch def /xpos exch def show ypos exch sub /ypos exch def xpos ypos moveto } def /fstr 256 string def % bitmap string for fountain 0 1 255 {fstr exch dup 1 add 257 div sqrt 255 mul cvi put}for /fountain { % args: llx lly urx ury /ury exch def /urx exch def /lly exch def /llx exch def gsave llx lly translate urx llx sub ury lly sub scale 256 1 8 [256 0 0 -1 0 1]{fstr}image grestore } def /box { % args: llx lly urx ury gsave 1 setlinewidth /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath stroke grestore } def /circle { gsave newpath 0 360 arc stroke grestore } def /spiro { /ncirc exch def 0 1 ncirc { gsave 360 ncirc div mul rotate 55 55 65 circle grestore } for } def gsave 8.5 6 mul % Picas horizontally 36 sub % minus the width of the box 2 div pica % divided in two 55 pica translate /Helvetica findfont 8 scalefont setfont 0 5.5 pica moveto 36 pica (THE POSTSCRIPT INDUSTRY NEWSLETTER)fillshow 0 0 36 pica 5 pica fountain 0 0 36 pica 5 pica box .5 setlinewidth /Helvetica-Bold findfont 30 scalefont setfont 18 pica 2.5 pica moveto gsave (P) false charpath gsave 1 setgray fill grestore stroke grestore (P) stringwidth rmoveto /Helvetica-Bold findfont [30 0 0 27 0 0] makefont setfont gsave (OST) false charpath gsave 1 setgray fill grestore stroke grestore (OST) stringwidth rmoveto /Helvetica-Bold findfont 30 scalefont setfont gsave (S) false charpath gsave 1 setgray fill grestore stroke grestore (S) stringwidth rmoveto /Helvetica-Bold findfont [30 0 0 27 0 0] makefont setfont gsave (CRIPT) false charpath gsave 1 setgray fill grestore stroke grestore /Helvetica-Bold findfont 10 scalefont setfont 18 pica 1 pica moveto .5 pica 0(LANGUAGE)ashow /Helvetica findfont 18 scalefont setfont 18 pica -5 pica moveto (JOURNAL)show grestore gsave 8.5 6 mul % Picas horizontally 36 sub % minus the width of the box 2 div pica % divided in two 0 translate 18 pica 17 pica moveto /Helvetica findfont 12 scalefont setfont 2 pica (THIS ISSUE:)showline /Helvetica findfont 10 scalefont setfont 1.5 pica ( \267 About the Journal)showline 1.5 pica ( \267 Interview with Steve MacDonald of Adobe Systems)showline 1.5 pica ( \267 Cover Art)showline grestore gsave .05 setlinewidth 18 pica 65 add 27.5 add 34 pica translate 90 spiro grestore gsave 38 pica 0 translate 45 rotate -100 0 moveto 40 pica 0 lineto 40 pica 3 pica lineto -100 3 pica lineto gsave .9 setgray fill grestore stroke /Helvetica-Bold findfont 18 scalefont setfont 3 pica 1 pica moveto (Preview Issue!) show grestore showpage XxXxXxXxXx-EOF-XxXxXxXxXx echo restoring p2.ps cat > p2.ps <<\XxXxXxXxXx-EOF-XxXxXxXxXx %!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Wed Oct 15 20:12:57 1986 %%Pages: (atend) %%DocumentFonts: (atend) /r{rmoveto}def /m{moveto}def /l{lineto}def /rl{rlineto}def /st{stroke}def /gs{gsave}def /gr{grestore}def /cp{currentpoint}def /np{newpath}def /ct{curveto}def /m0{0 0 moveto}def /BP{save mark m0}def /EP{ showpage cleartomark restore}def /res 10.000000 def /V{res neg div 792 add currentpoint pop exch m}def /H{res div currentpoint exch pop moveto}def /h{res div 0 r}def /v{res neg div 0 exch r}def /xc{res div}def /yc{res neg div 792 add}def /S{exch H show}def /psize 10 def /height 1 def /slant 0 def /FF{findfont exch dup 12 div setlinewidth /psize exch def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont}def /shade{gs /dy exch def /dx exch def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}def 1 setlinecap %%EndProlog %%MoreProlog /R{/Times-Roman FF}def %%EndMoreProlog 10 R %%Page: 2 1 %%MoreProlog /L{/Helvetica FF}def /HI{/Helvetica-Oblique FF}def /HB{/Helvetica-Bold FF}def /HX{/Helvetica-BoldOblique FF}def %% Troff special characters not on Symbol font /altRTD 20 dict def altRTD begin /s{setcachedevice}def /C{1000 1000 scale}def /m{moveto}def /c{curveto}def /S{stroke}def /l{lineto}def end /F_Troff 17 dict def F_Troff begin systemdict /currentpacking known {/SavePacking currentpacking def true setpacking}if /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /UniqueID 8277003 def /FontMatrix [.001000 0 0 .001000 0 0] def /FontBBox [-12 -105 942 855 ] def /Encoding 256 array def /CD 256 1 add dict def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /FontName (Troff) def 0 1 256 1 sub{Encoding exch /.notdef put}for CD /.notdef{500 0 setcharwidth{}}put Encoding (1) 0 get /br put %% bold vertical rule used by tbl CD /br{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m 0 .9 l {S} }put Encoding (2) 0 get /ul put %% underline used by tbl CD /ul{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m .5 -.1 l {S} }put Encoding (3) 0 get /ru put %% baseline rule CD /ru{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth m0 .5 0 l {S} }put Encoding (4) 0 get /vr put %% vertical rule CD /vr{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth m0 0 1 l {S} }put Encoding (5) 0 get /sq put %% square CD /sq{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {S} }put Encoding (6) 0 get /bx put %% solid box CD /bx{ C .5 0 -.5 -.5 1 1 s np 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {fill} }put Encoding (7) 0 get /rn put %% radical extender CD /rn{ C .5 0 -.5 -.5 1 1 s np .03 setlinewidth -.03 .9 m .5 0 rl {S} }put Encoding 97 /a put CD /a{1000 0 0 66 942 421 s 430 415 m 578 406 678 349 662 319 c 655 306 614 287 583 296 c 570 300 466 340 438 332 c 365 309 335 213 270 209 c 0 310 m 108 310 l 108 114 l 0 114 l 0 310 l 42 161 m 42 134 l 66 134 l 66 161 l 42 161 l 47 155 m 47 140 l 62 140 l 62 155 l 47 155 l 110 133 m 226 113 300 66 410 80 c 497 91 550 69 634 76 c 645 76 663 92 669 107 c 677 125 673 141 668 160 c 725 334 m 758 332 734 253 701 250 c 501 325 m 475 316 476 309 473 302 c 465 282 482 263 499 257 c 552 236 615 253 689 253 c 701 253 713 236 713 218 c 712 194 702 168 678 161 c 671 159 663 160 655 160 c 591 158 516 156 479 168 c 461 173 453 191 453 210 c 453 224 456 235 466 244 c 476 253 490 252 503 255 c 459 84 m 447 96 435 106 435 123 c 435 136 440 145 447 155 c 453 163 462 168 469 173 c 110 293 m 173 318 300 421 435 415 c 609 407 852 416 885 411 c 898 409 924 411 930 380 c 942 316 828 339 742 334 c 731 334 730 335 725 335 c 701 336 685 336 660 336 c{S}}put Encoding 98 /b put CD /b{1000 0 -12 66 930 421 s 500 415 m 352 406 252 349 268 319 c 275 306 316 287 347 296 c 360 300 464 340 492 332 c 565 309 595 213 660 209 c 930 310 m 822 310 l 822 114 l 930 114 l 930 310 l 888 161 m 888 134 l 864 134 l 864 161 l 888 161 l 883 155 m 883 140 l 868 140 l 868 155 l 883 155 l 820 133 m 704 113 630 66 520 80 c 433 91 380 69 296 76 c 285 76 267 92 261 107 c 253 125 257 141 262 160 c 205 334 m 172 332 196 253 229 250 c 429 325 m 455 316 454 309 457 302 c 465 282 448 263 431 257 c 378 236 315 253 241 253 c 229 253 217 236 217 218 c 218 194 228 168 252 161 c 259 159 267 160 275 160 c 339 158 414 156 451 168 c 469 173 477 191 477 210 c 477 224 474 235 464 244 c 454 253 440 252 427 255 c 471 84 m 483 96 495 106 495 123 c 495 136 490 145 483 155 c 477 163 468 168 461 173 c 820 293 m 757 318 630 421 495 415 c 321 407 78 416 45 411 c 32 409 6 411 0 380 c -12 316 102 339 188 334 c 199 334 200 335 205 335 c 229 336 245 336 270 336 c{S}}put Encoding 99 /c put CD /c{1000 0 184 0 827 627 s 185 315 m 186 488 332 627 505 625 c 682 623 827 467 815 290 c 804 124 666 0 500 0 c 327 0 184 142 185 315 c{S}}put Encoding 100 /d put CD /d{590 0 134 158 477 500 s 300 160 m 208 162 134 238 135 330 c 136 423 212 500 305 500 c 397 500 473 427 475 335 c 477 239 396 158 300 160 c{fill}}put /BuildChar{altRTD /BuildChar get exec}def end altRTD begin /BuildChar{altRTD begin /char exch def /fontdict exch def save /charname fontdict /Encoding get char get def fontdict /StrokeWidth get setlinewidth fontdict /CD get dup charname known {charname}{/.notdef}ifelse get newpath exec fontdict /PaintType get 0 eq{exec}{pop S}ifelse restore end}def end systemdict /currentpacking known{F_Troff /SavePacking get setpacking}if /Troff F_Troff definefont pop /Y1{/Troff FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 10 R 1920 V 24 R 2250(Devps)S 1800 V 10 R 2863(tm)S 1920 V 24 R 3041(Ad)S 3406(Here)S 4008 V 6 Y1 360(333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333)S 4760 V 16 HB 1473(Coming)S 2114(in)S 2302(January:)S 3063(The)S 3394(Premier)S 4037(Issue)S 4495(of)S 4960 V 16 HX 1777(The)S 2108(PostScript)S 2956(Language)S 3761(Journal)S 16 HI 5440 V 12 HB 720(PostScript)S 1355(Tutorial:)S 1904(Part)S 2172(1)S 5590 V 10 HI 1080(The)S 1301(first)S 1510(in)S 1635(a)S 1738(series)S 2052(of)S 2183(tutorials)S 2581(on)S 2740(the)S 5710 V 1080(PostScript)S 1565(language.)S 5950 V 12 HB 720(Typeface)S 1275(Protection)S 6100 V 10 HI 1080(Quality)S 1436(typefaces)S 1910(can)S 2115(take)S 2348(over)S 2586(a)S 2685(year)S 6220 V 1080(to)S 1205(create,)S 1552(yet)S 1726(the)S 1906(printed)S 2253(version)S 2616(of)S 2740(the)S 6340 V 1080(face)S 1381(itself)S 1698(cannot)S 2111(be)S 2333(copyrighted.)S 6460 V 1080(Charles)S 1539(Bigelow)S 2004(discusses)S 2557(various)S 6580 V 1080(forms)S 1358(of)S 1470(typeface)S 1878(protection.)S 6820 V 12 HB 720(When)S 1080(300)S 1315(DPI)S 1549(Isn't)S 1831(Enough)S 6970 V 10 HI 1080(A)S 1231(comparison)S 1833(between)S 2296(laser)S 2596(printer)S 7090 V 1080(output)S 1388(and)S 1584(phototypesetter)S 2305(output.)S 5440 V 12 HB 3240(Viewpoint)S 5590 V 10 HI 3600(The)S 3871(complete)S 4376(interview)S 4868(with)S 5143(Steve)S 5710 V 3600(MacDonald)S 4135(of)S 4247(Adobe)S 4566(Systems,)S 5006(Inc.)S 5950 V 12 HB 3240(Tips)S 3521(and)S 3768(Tricks)S 6100 V 10 HI 3600(A)S 3697(collection)S 4145(of)S 4259(useful)S 4557(PostScript)S 5043(routines)S 6220 V 3600(for)S 3745(manipulating)S 4342(the)S 4510(font)S 4706(dictionary.)S 6460 V 12 HB 3240(Cover)S 3614(Art)S 6610 V 10 HI 3600(Spiral)S 3884(text.)S 6850 V 12 HB 3240(Mac)S 3508(Library)S 7000 V 10 HI 3600(Getting)S 3961(there)S 4227(from)S 4464(here:)S 4757(talking)S 5083(directly)S 7120 V 3600(to)S 3712(the)S 3880(LaserWriter.)S 7680 V 8 L 720(2 P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 2503(d )S 8 L 2594(Preview Issue)S 7920 V EP %%Trailer %%DocumentFonts: Times-Roman Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-BoldOblique Troff %%Pages: 1 XxXxXxXxXx-EOF-XxXxXxXxXx echo restoring p3.ps cat > p3.ps <<\XxXxXxXxXx-EOF-XxXxXxXxXx %!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Wed Oct 15 20:17:38 1986 %%Pages: (atend) %%DocumentFonts: (atend) /r{rmoveto}def /m{moveto}def /l{lineto}def /rl{rlineto}def /st{stroke}def /gs{gsave}def /gr{grestore}def /cp{currentpoint}def /np{newpath}def /ct{curveto}def /m0{0 0 moveto}def /BP{save mark m0}def /EP{ showpage cleartomark restore}def /res 10.000000 def /V{res neg div 792 add currentpoint pop exch m}def /H{res div currentpoint exch pop moveto}def /h{res div 0 r}def /v{res neg div 0 exch r}def /xc{res div}def /yc{res neg div 792 add}def /S{exch H show}def /psize 10 def /height 1 def /slant 0 def /FF{findfont exch dup 12 div setlinewidth /psize exch def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont}def /shade{gs /dy exch def /dx exch def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}def 1 setlinecap %%EndProlog %%MoreProlog /R{/Times-Roman FF}def %%EndMoreProlog 10 R %%Page: 3 1 %%MoreProlog /I{/Times-Italic FF}def /BI{/Times-BoldItalic FF}def /L{/Helvetica FF}def /HI{/Helvetica-Oblique FF}def /HB{/Helvetica-Bold FF}def /Y{/Symbol FF}def %% Troff special characters not on Symbol font /altRTD 20 dict def altRTD begin /s{setcachedevice}def /C{1000 1000 scale}def /m{moveto}def /c{curveto}def /S{stroke}def /l{lineto}def end /F_Troff 17 dict def F_Troff begin systemdict /currentpacking known {/SavePacking currentpacking def true setpacking}if /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /UniqueID 8277003 def /FontMatrix [.001000 0 0 .001000 0 0] def /FontBBox [-12 -105 942 855 ] def /Encoding 256 array def /CD 256 1 add dict def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /FontName (Troff) def 0 1 256 1 sub{Encoding exch /.notdef put}for CD /.notdef{500 0 setcharwidth{}}put Encoding (1) 0 get /br put %% bold vertical rule used by tbl CD /br{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m 0 .9 l {S} }put Encoding (2) 0 get /ul put %% underline used by tbl CD /ul{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m .5 -.1 l {S} }put Encoding (3) 0 get /ru put %% baseline rule CD /ru{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth m0 .5 0 l {S} }put Encoding (4) 0 get /vr put %% vertical rule CD /vr{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth m0 0 1 l {S} }put Encoding (5) 0 get /sq put %% square CD /sq{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {S} }put Encoding (6) 0 get /bx put %% solid box CD /bx{ C .5 0 -.5 -.5 1 1 s np 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {fill} }put Encoding (7) 0 get /rn put %% radical extender CD /rn{ C .5 0 -.5 -.5 1 1 s np .03 setlinewidth -.03 .9 m .5 0 rl {S} }put Encoding 97 /a put CD /a{1000 0 0 66 942 421 s 430 415 m 578 406 678 349 662 319 c 655 306 614 287 583 296 c 570 300 466 340 438 332 c 365 309 335 213 270 209 c 0 310 m 108 310 l 108 114 l 0 114 l 0 310 l 42 161 m 42 134 l 66 134 l 66 161 l 42 161 l 47 155 m 47 140 l 62 140 l 62 155 l 47 155 l 110 133 m 226 113 300 66 410 80 c 497 91 550 69 634 76 c 645 76 663 92 669 107 c 677 125 673 141 668 160 c 725 334 m 758 332 734 253 701 250 c 501 325 m 475 316 476 309 473 302 c 465 282 482 263 499 257 c 552 236 615 253 689 253 c 701 253 713 236 713 218 c 712 194 702 168 678 161 c 671 159 663 160 655 160 c 591 158 516 156 479 168 c 461 173 453 191 453 210 c 453 224 456 235 466 244 c 476 253 490 252 503 255 c 459 84 m 447 96 435 106 435 123 c 435 136 440 145 447 155 c 453 163 462 168 469 173 c 110 293 m 173 318 300 421 435 415 c 609 407 852 416 885 411 c 898 409 924 411 930 380 c 942 316 828 339 742 334 c 731 334 730 335 725 335 c 701 336 685 336 660 336 c{S}}put Encoding 98 /b put CD /b{1000 0 -12 66 930 421 s 500 415 m 352 406 252 349 268 319 c 275 306 316 287 347 296 c 360 300 464 340 492 332 c 565 309 595 213 660 209 c 930 310 m 822 310 l 822 114 l 930 114 l 930 310 l 888 161 m 888 134 l 864 134 l 864 161 l 888 161 l 883 155 m 883 140 l 868 140 l 868 155 l 883 155 l 820 133 m 704 113 630 66 520 80 c 433 91 380 69 296 76 c 285 76 267 92 261 107 c 253 125 257 141 262 160 c 205 334 m 172 332 196 253 229 250 c 429 325 m 455 316 454 309 457 302 c 465 282 448 263 431 257 c 378 236 315 253 241 253 c 229 253 217 236 217 218 c 218 194 228 168 252 161 c 259 159 267 160 275 160 c 339 158 414 156 451 168 c 469 173 477 191 477 210 c 477 224 474 235 464 244 c 454 253 440 252 427 255 c 471 84 m 483 96 495 106 495 123 c 495 136 490 145 483 155 c 477 163 468 168 461 173 c 820 293 m 757 318 630 421 495 415 c 321 407 78 416 45 411 c 32 409 6 411 0 380 c -12 316 102 339 188 334 c 199 334 200 335 205 335 c 229 336 245 336 270 336 c{S}}put Encoding 99 /c put CD /c{1000 0 184 0 827 627 s 185 315 m 186 488 332 627 505 625 c 682 623 827 467 815 290 c 804 124 666 0 500 0 c 327 0 184 142 185 315 c{S}}put Encoding 100 /d put CD /d{590 0 134 158 477 500 s 300 160 m 208 162 134 238 135 330 c 136 423 212 500 305 500 c 397 500 473 427 475 335 c 477 239 396 158 300 160 c{fill}}put /BuildChar{altRTD /BuildChar get exec}def end altRTD begin /BuildChar{altRTD begin /char exch def /fontdict exch def save /charname fontdict /Encoding get char get def fontdict /StrokeWidth get setlinewidth fontdict /CD get dup charname known {charname}{/.notdef}ifelse get newpath exec fontdict /PaintType get 0 eq{exec}{pop S}ifelse restore end}def end systemdict /currentpacking known{F_Troff /SavePacking get setpacking}if /Troff F_Troff definefont pop /Y1{/Troff FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 10 R 0 V /pica {12 mul} def /inch {72 mul} def /fillshow { % args: width string /str exch def /wid exch def wid str stringwidth pop sub str length 1 sub div % adjust per letter 0 str ashow } def /showline { currentpoint /ypos exch def /xpos exch def show ypos exch sub /ypos exch def xpos ypos moveto } def /fstr 256 string def % bitmap string for fountain 0 1 255 {fstr exch dup 1 add 257 div sqrt 255 mul cvi put}for /fountain { % args: llx lly urx ury /ury exch def /urx exch def /lly exch def /llx exch def gsave llx lly translate urx llx sub ury lly sub scale 256 1 8 [256 0 0 -1 0 1]{fstr}image grestore } def /box { % args: llx lly urx ury gsave 1 setlinewidth /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath stroke grestore } def gsave .7 .7 scale 8.5 6 mul % Picas horizontally 36 sub % minus the width of the box 2 div pica % divided in two 54 .7 div pica translate /Helvetica findfont 8 scalefont setfont 0 8.5 pica moveto 36 pica (THE POSTSCRIPT LANGUAGE JOURNAL) fillshow 0 0 36 pica 8 pica fountain 0 0 36 pica 8 pica box .5 setlinewidth /Helvetica-Bold findfont [20 0 0 60 0 0] makefont setfont gsave 36 pica(C O N T E N T S)stringwidth pop sub 2 div 2 pica moveto (C O N T E N T S) false charpath gsave 1 setgray fill grestore stroke grestore grestore 1960 V 16 HB 720(Preview)S 1374(Issue)S 2600 V 14 HB 720(3)S 1080(About)S 1521(the)S 1769(Journal)S 2920 V 720(4)S 1080(Viewpoint:)S 3080 V 1080(Interview)S 1726(with)S 2044(Steve)S 2457(MacDonald)S 3240 V 14 HI 1080(Steve)S 1546(MacDonald)S 2361(of)S 2585(Adobe)S 3097(tells)S 3452(us)S 3400 V 1080(about)S 1507(the)S 1778(past,)S 2158(present,)S 2740(and)S 3050(future)S 3483(of)S 3560 V 1080(PostScript.)S 3880 V 14 HB 720(6)S 1080(Cover)S 1516(Art)S 4040 V 14 HI 1080(We)S 1357(discuss)S 1891(how)S 2215(to)S 2398(draw)S 2767(the)S 3028(figure)S 3444(on)S 4200 V 1080(the)S 1314(cover)S 1695(of)S 1851(this)S 2108(issue.)S 4840 V 1212(______________________)S 5290 V 8 I 360(The)S 528(PostScript)S 908(Language)S 1275(Journal)S 8 R 1570(is)S 1670(published)S 5380 V 360(quarterly)S 672(by)S 778(Pipeline)S 1065(Associates,)S 1451(Inc.)S 1622(It)S 1696(is)S 1774(a)S 1834(pub-)S 5470 V 360(lication)S 634(dedicated)S 974(to)S 1071(the)S 1203(needs)S 1419(of)S 1520(the)S 1652(PostScript)S 5560 V 360(community.)S 815(Subscriptions)S 1297(are)S 1441($15.00)S 1709(for)S 1848(four)S 5650 V 360(issues)S 579(and)S 723($25.00)S 972(for)S 1093(eight.)S 1325(Canada)S 1593(and)S 1737(Mexico)S 5740 V 360(add)S 519($2/year.)S 844(Overseas)S 1178(add)S 1336($4/year)S 1617(for)S 1752(surface)S 5830 V 360(mail.)S 669(Address)S 1054(correspondence)S 1676(regarding)S 5920 V 360(advertising,)S 758(editorial,)S 1067(press)S 1255(releases,)S 1550(and)S 1690(new)S 1848(pro-)S 6010 V 360(ducts)S 557(to)S 648(Pipeline)S 938(Associates,)S 1327(Inc.,)S 1497(39)S 1606(E.)S 1703(12th)S 1873(St.,)S 6100 V 360(New)S 549(York)S 751(City)S 927(10003)S 1164(\(212\))S 1373(598-4650.)S 1760(Letters)S 6190 V 360(to)S 8 I 455(The)S 608(PostScript)S 972(Language)S 1324(Journal)S 8 R 1604(become)S 1883(the)S 6280 V 360(property)S 658(of)S 753(the)S 879(Journal)S 1142(and)S 1286(are)S 1411(intended)S 1714(for)S 1834(pub-)S 6370 V 360(lication)S 644(and)S 805(may)S 987(be)S 1107(so)S 1223(used.)S 1458(Letters)S 1723(may)S 1905(be)S 6460 V 360(edited)S 619(for)S 776(the)S 938(purpose)S 1255(of)S 1386(clarity)S 1653(or)S 1784(space.)S 6550 V 360(Correspondence)S 982(regarding)S 1390(subscriptions)S 1914(or)S 6640 V 360(change)S 629(of)S 739(address)S 1021(should)S 1278(be)S 1397(addressed)S 1754(to)S 8 I 1860(The)S 6730 V 360(PostScript)S 741(Language)S 1110(Journal)S 8 R 1358(,)S 1427(P.O.)S 1618(Box)S 1800(5763,)S 6820 V 360(Parsippany,)S 764(NJ)S 883(07054.)S 1157(Entire)S 1381(contents)S 1675(copyright)S 6910 V 8 Y 360(\323)S 8 R 462(1986)S 661(by)S 779(Pipeline)S 1078(Associates,)S 1476(Inc.)S 1659(All)S 1799(rights)S 7000 V 360(reserved.)S 703(Permission)S 1087(is)S 1170(granted)S 1438(by)S 1548(the)S 1675(copyright)S 7090 V 360(owner)S 603(to)S 709(photocopy)S 1090(this)S 1249(issue)S 1451(provided)S 1777(copies)S 7180 V 360(are)S 483(clearly)S 725(marked)S 990(as)S 1083(such)S 1256(and)S 1398(are)S 1521(distributed)S 1888(for)S 7270 V 360(free.)S 5290 V 2400(The)S 2565(body)S 2766(copy)S 2962(of)S 3069(this)S 3225(issue)S 3425(was)S 3590(set)S 3718(in)S 5380 V 2160(Times,)S 2426(Helvetica,)S 2796(and)S 2957(Law)S 3145(Italic)S 3353(by)S 3479(troff)S 3665(and)S 5470 V 8 HB 2160(devps)S 8 R 2423(on)S 2533(an)S 2637(AT&T)S 2884(PC)S 3012(6300)S 3201(running)S 3478(Xenix)S 3702(V.)S 5560 V 2160(The)S 2316(cover,)S 2544(graphics)S 2844(\256gures,)S 3112(and)S 3258(continuous)S 3639(gray)S 5650 V 2160(bars)S 2329(were)S 2520(hand-crafted)S 2957(on)S 3074(the)S 3208(same)S 3408(system)S 3665(and)S 5740 V 2160(merged)S 2429(with)S 2602(the)S 8 HB 2728(devps)S 8 R 2992(output.)S 3270(The)S 3424(back)S 3604(cover)S 5830 V 2160(was)S 2349(produced)S 2710(with)S 2917(MacDraw)S 3300(on)S 3445(an)S 3585(Apple)S 5920 V 2160(Macintosh.)S 2586(The)S 2756(front)S 2956(cover)S 3178(was)S 3348(printed)S 3619(on)S 3745(a)S 6010 V 2160(Linotronic)S 2530(100,)S 2704(and)S 2852(the)S 2982(rest)S 3129(on)S 3242(an)S 3350(Apple)S 3578(Laser-)S 6100 V 2160(Writer.)S 2440(No)S 2568(paste-up)S 2867(was)S 3021(performed)S 3381(on)S 3490(this)S 3634(pub-)S 6190 V 2160(lication.)S 6280 V 2400(Trademarks:)S 2856(PostScript)S 3215(is)S 3298(a)S 3363(trademark)S 3714(of)S 6370 V 2160(Adobe)S 2416(Systems,)S 2745(Inc.)S 2933(Devps)S 3179(is)S 3274(a)S 3351(trademark)S 3714(of)S 6460 V 2160(Pipeline)S 2448(Associates,)S 2835(Inc.)S 3006(Xenix)S 3227(is)S 3306(a)S 3367(trademark)S 3714(of)S 6550 V 2160(Microsoft)S 2522(Corp.)S 2775(Macintosh)S 3160(is)S 3262(a)S 3345(trademark)S 3714(of)S 6640 V 2160(McIntosh)S 2523(Laboratory,)S 2954(inc.,)S 3149(licensed)S 3466(to)S 3585(Apple)S 6730 V 2160(Computer,)S 2553(Inc.)S 2751(Apple,)S 3019(MacDraw,)S 3410(and)S 3578(Laser-)S 6820 V 2160(Writer)S 2407(are)S 2544(trademarks)S 2937(of)S 3044(Apple)S 3280(Computer,)S 3659(Inc.)S 6910 V 2160(Times,)S 2423(Helvetica,)S 2791(and)S 2950(Linotronic)S 3329(are)S 3468(registered)S 7000 V 2160(trademarks)S 2537(of)S 2627(Allied)S 2850(Corp.)S 3078(Lucida)S 3323(is)S 3400(a)S 3459(trademark)S 7090 V 2160(of)S 2250(Bigelow)S 2545(&)S 2631(Holmes.)S 7180 V 8 I 2400(The)S 2561(PostScript)S 2934(Language)S 3295(Journal)S 8 R 3584(is)S 3678(not)S 7270 V 2160(af\256liated)S 2466(with)S 2632(Adobe)S 2869(Systems.)S 840 V 10 BI 4656(About)S 4937(the)S 5095(Journal)S 1080 V 10 I 4320(The)S 4524(PostScript)S 4995(Language)S 5449(Journal)S 1200 V 10 R 4320(is)S 4438(a)S 4533(quarterly)S 4944(publication)S 5444(devoted)S 1320 V 4320(to)S 4440(the)S 4604(PostScript)S 5057(industry.)S 5481(It)S 5583(con-)S 1440 V 4320(tains)S 4560(articles)S 4899(by)S 5050(authors)S 5394(active)S 5682(in)S 1560 V 4320(the)S 4532(PostScript)S 5034(world,)S 5382(including)S 1680 V 4320(developers)S 4792(at)S 4904(Adobe)S 5210(Systems,)S 5608(Inc.)S 1800 V 4320(This)S 4530(issue,)S 4787(the)S 4941(``Preview)S 5366(Issue,'')S 5693(is)S 1920 V 4320(distributed)S 4808(free)S 5022(of)S 5165(charge)S 5490(and)S 5693(is)S 2040 V 4320(meant)S 4599(to)S 4712(give)S 4919(you)S 5104(a)S 5182(\257avor)S 5449(of)S 5566(what)S 2160 V 4320(the)S 4479(Journal)S 4810(is)S 4914(all)S 5051(about;)S 5338(we)S 5491(have)S 5716(a)S 2280 V 4320(``Cover)S 4667(Art'')S 4903(column)S 5240(that)S 5427(explains)S 2400 V 4320(how)S 4525(the)S 4680(cover)S 4934(graphic)S 5266(is)S 5365(done,)S 5616(and)S 2520 V 4320(an)S 4504(interview)S 4971(with)S 5239(Steve)S 5550(Mac-)S 2640 V 4320(Donald,)S 4679(Vice)S 4906(President)S 5317(of)S 5439(Market-)S 2760 V 4320(ing)S 4484(at)S 4592(Adobe.)S 4949(Future)S 5246(issues)S 5520(of)S 5638(the)S 2880 V 4320(Journal)S 4664(will)S 4870(be)S 5013(much)S 5284(longer)S 5588(than)S 3000 V 4320(eight)S 4585(pages,)S 4902(of)S 5050(course;)S 5402(the)S 5588(next)S 3120 V 4320(issue,)S 4620(scheduled)S 5094(for)S 5284(January,)S 5693(is)S 3240 V 4320(expected)S 4714(to)S 4832(be)S 4966(between)S 5338(40)S 5477(and)S 5660(50)S 3360 V 4320(pages.)S 3480 V 4560(Every)S 4864(issue)S 5130(of)S 5279(the)S 5466(Journal)S 3600 V 4320(will)S 4507(bring)S 4748(you)S 4928(a)S 5002(wealth)S 5298(of)S 5411(informa-)S 3720 V 4320(tion)S 4541(about)S 4828(PostScript:)S 5363(the)S 5550(hard-)S 3840 V 4320(ware)S 4618(that)S 4872(understands)S 5453(it,)S 5638(the)S 3960 V 4320(software)S 4705(that)S 4897(produces)S 5298(it,)S 5420(the)S 5583(peo-)S 4080 V 4320(ple)S 4531(involved)S 4970(with)S 5237(it,)S 5406(and)S 5638(the)S 4200 V 4320(language)S 4741(itself.)S 5057(We'll)S 5345(have)S 5594(pro-)S 4320 V 4320(duct)S 4545(reviews,)S 4932(font)S 5145(samples,)S 5544(inter-)S 4440 V 4320(views,)S 4694(an)S 4904(ongoing)S 5348(PostScript)S 4560 V 4320(tutorial,)S 4666(PostScript)S 5110(hints)S 5337(and)S 5513(tricks,)S 4680 V 4320(and)S 4528(a)S 4635(column)S 4998(on)S 5161(the)S 5346(cover)S 5630(art,)S 4800 V 4320(which)S 4625(will)S 4842(be)S 4997(different)S 5401(for)S 5578(each)S 4920 V 4320(issue)S 4550(of)S 4663(the)S 4815(Journal.)S 5040 V 4560(From)S 4809(time)S 5019(to)S 5129(time,)S 5363(we'll)S 5599(also)S 5160 V 4320(bring)S 4610(you)S 4839(articles)S 5206(on)S 5384(advanced)S 5280 V 4320(topics)S 4607(in)S 4732(PostScript)S 5191(programming,)S 5400 V 4320(written)S 4697(by)S 4891(software)S 5328(developers)S 5520 V 4320(involved)S 4700(in)S 4808(supporting)S 5266(PostScript.)S 5640 V 4560(In)S 4683(order)S 4933(to)S 5050(make)S 5305(the)S 5466(Journal)S 5760 V 4320(as)S 4445(useful)S 4731(as)S 4856(possible,)S 5251(we'd)S 5491(like)S 5682(to)S 5880 V 4320(invite)S 4580(our)S 4744(readers)S 5062(to)S 5171(write)S 5407(letters)S 5682(to)S 6000 V 4320(the)S 4476(editor)S 4743(and)S 4921(submit)S 5228(proposals)S 5644(for)S 6120 V 4320(articles.)S 4741(We)S 4957(feel)S 5184(that)S 5412(a)S 5533(broad)S 6240 V 4320(range)S 4618(of)S 4778(experience,)S 5310(ideas,)S 5616(and)S 6360 V 4320(opinions)S 4712(is)S 4826(essential)S 5217(to)S 5342(a)S 5433(publica-)S 6480 V 4320(tion)S 4506(such)S 4719(as)S 4832(this.)S 6600 V 4560(We)S 4786(hope)S 5068(you)S 5306(enjoy)S 5615(this)S 6720 V 4320(complimentary)S 5069(issue)S 5412(of)S 5638(the)S 6840 V 4320(PostScript)S 4762(Journal.)S 7200 V 4320(Patrick)S 4633(Wood)S 7320 V 4320(Editor)S 7680 V 8 L 3386(P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 5036(d )S 8 L 5127(Preview Issue 3)S 7920 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Italic Times-BoldItalic Helvetica Helvetica-Oblique Helvetica-Bold Symbol Troff %%Pages: 1 XxXxXxXxXx-EOF-XxXxXxXxXx
patwood@esquire.UUCP (Patrick H. Wood) (11/08/86)
# To recover, type "sh archive" echo restoring p4-5.ps cat > p4-5.ps <<\XxXxXxXxXx-EOF-XxXxXxXxXx %!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Wed Oct 15 20:14:09 1986 %%Pages: (atend) %%DocumentFonts: (atend) /r{rmoveto}def /m{moveto}def /l{lineto}def /rl{rlineto}def /st{stroke}def /gs{gsave}def /gr{grestore}def /cp{currentpoint}def /np{newpath}def /ct{curveto}def /m0{0 0 moveto}def /BP{save mark m0}def /EP{ showpage cleartomark restore}def /res 10.000000 def /V{res neg div 792 add currentpoint pop exch m}def /H{res div currentpoint exch pop moveto}def /h{res div 0 r}def /v{res neg div 0 exch r}def /xc{res div}def /yc{res neg div 792 add}def /S{exch H show}def /psize 10 def /height 1 def /slant 0 def /FF{findfont exch dup 12 div setlinewidth /psize exch def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont}def /shade{gs /dy exch def /dx exch def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}def 1 setlinecap %%EndProlog %%MoreProlog /R{/Times-Roman FF}def %%EndMoreProlog 10 R %%Page: 4 1 %%MoreProlog /I{/Times-Italic FF}def /L{/Helvetica FF}def /HB{/Helvetica-Bold FF}def /HX{/Helvetica-BoldOblique FF}def %% Troff special characters not on Symbol font /altRTD 20 dict def altRTD begin /s{setcachedevice}def /C{1000 1000 scale}def /m{moveto}def /c{curveto}def /S{stroke}def /l{lineto}def end /F_Troff 17 dict def F_Troff begin systemdict /currentpacking known {/SavePacking currentpacking def true setpacking}if /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /UniqueID 8277003 def /FontMatrix [.001000 0 0 .001000 0 0] def /FontBBox [-12 -105 942 855 ] def /Encoding 256 array def /CD 256 1 add dict def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /FontName (Troff) def 0 1 256 1 sub{Encoding exch /.notdef put}for CD /.notdef{500 0 setcharwidth{}}put Encoding (1) 0 get /br put %% bold vertical rule used by tbl CD /br{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m 0 .9 l {S} }put Encoding (2) 0 get /ul put %% underline used by tbl CD /ul{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m .5 -.1 l {S} }put Encoding (3) 0 get /ru put %% baseline rule CD /ru{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth m0 .5 0 l {S} }put Encoding (4) 0 get /vr put %% vertical rule CD /vr{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth m0 0 1 l {S} }put Encoding (5) 0 get /sq put %% square CD /sq{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {S} }put Encoding (6) 0 get /bx put %% solid box CD /bx{ C .5 0 -.5 -.5 1 1 s np 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {fill} }put Encoding (7) 0 get /rn put %% radical extender CD /rn{ C .5 0 -.5 -.5 1 1 s np .03 setlinewidth -.03 .9 m .5 0 rl {S} }put Encoding 97 /a put CD /a{1000 0 0 66 942 421 s 430 415 m 578 406 678 349 662 319 c 655 306 614 287 583 296 c 570 300 466 340 438 332 c 365 309 335 213 270 209 c 0 310 m 108 310 l 108 114 l 0 114 l 0 310 l 42 161 m 42 134 l 66 134 l 66 161 l 42 161 l 47 155 m 47 140 l 62 140 l 62 155 l 47 155 l 110 133 m 226 113 300 66 410 80 c 497 91 550 69 634 76 c 645 76 663 92 669 107 c 677 125 673 141 668 160 c 725 334 m 758 332 734 253 701 250 c 501 325 m 475 316 476 309 473 302 c 465 282 482 263 499 257 c 552 236 615 253 689 253 c 701 253 713 236 713 218 c 712 194 702 168 678 161 c 671 159 663 160 655 160 c 591 158 516 156 479 168 c 461 173 453 191 453 210 c 453 224 456 235 466 244 c 476 253 490 252 503 255 c 459 84 m 447 96 435 106 435 123 c 435 136 440 145 447 155 c 453 163 462 168 469 173 c 110 293 m 173 318 300 421 435 415 c 609 407 852 416 885 411 c 898 409 924 411 930 380 c 942 316 828 339 742 334 c 731 334 730 335 725 335 c 701 336 685 336 660 336 c{S}}put Encoding 98 /b put CD /b{1000 0 -12 66 930 421 s 500 415 m 352 406 252 349 268 319 c 275 306 316 287 347 296 c 360 300 464 340 492 332 c 565 309 595 213 660 209 c 930 310 m 822 310 l 822 114 l 930 114 l 930 310 l 888 161 m 888 134 l 864 134 l 864 161 l 888 161 l 883 155 m 883 140 l 868 140 l 868 155 l 883 155 l 820 133 m 704 113 630 66 520 80 c 433 91 380 69 296 76 c 285 76 267 92 261 107 c 253 125 257 141 262 160 c 205 334 m 172 332 196 253 229 250 c 429 325 m 455 316 454 309 457 302 c 465 282 448 263 431 257 c 378 236 315 253 241 253 c 229 253 217 236 217 218 c 218 194 228 168 252 161 c 259 159 267 160 275 160 c 339 158 414 156 451 168 c 469 173 477 191 477 210 c 477 224 474 235 464 244 c 454 253 440 252 427 255 c 471 84 m 483 96 495 106 495 123 c 495 136 490 145 483 155 c 477 163 468 168 461 173 c 820 293 m 757 318 630 421 495 415 c 321 407 78 416 45 411 c 32 409 6 411 0 380 c -12 316 102 339 188 334 c 199 334 200 335 205 335 c 229 336 245 336 270 336 c{S}}put Encoding 99 /c put CD /c{1000 0 184 0 827 627 s 185 315 m 186 488 332 627 505 625 c 682 623 827 467 815 290 c 804 124 666 0 500 0 c 327 0 184 142 185 315 c{S}}put Encoding 100 /d put CD /d{590 0 134 158 477 500 s 300 160 m 208 162 134 238 135 330 c 136 423 212 500 305 500 c 397 500 473 427 475 335 c 477 239 396 158 300 160 c{fill}}put /BuildChar{altRTD /BuildChar get exec}def end altRTD begin /BuildChar{altRTD begin /char exch def /fontdict exch def save /charname fontdict /Encoding get char get def fontdict /StrokeWidth get setlinewidth fontdict /CD get dup charname known {charname}{/.notdef}ifelse get newpath exec fontdict /PaintType get 0 eq{exec}{pop S}ifelse restore end}def end systemdict /currentpacking known{F_Troff /SavePacking get setpacking}if /Troff F_Troff definefont pop /Y1{/Troff FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 10 R 0 V /pica {12 mul} def /inch {72 mul} def /fillshow { % args: width string /str exch def /wid exch def wid str stringwidth pop sub str length 1 sub div % adjust per letter 0 str ashow } def /showline { currentpoint /ypos exch def /xpos exch def show ypos exch sub /ypos exch def xpos ypos moveto } def /fstr 256 string def % bitmap string for fountain 0 1 255 {fstr exch dup 1 add 257 div sqrt 255 mul cvi put}for /fountain { % args: llx lly urx ury /ury exch def /urx exch def /lly exch def /llx exch def gsave llx lly translate urx llx sub ury lly sub scale 256 1 8 [256 0 0 -1 0 1]{fstr}image grestore } def /box { % args: llx lly urx ury gsave 1 setlinewidth /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath stroke grestore } def gsave 8.5 6 mul % Picas horizontally 36 sub % minus the width of the box 2 div pica % divided in two 53 pica translate 0 0 36 pica 8 pica fountain 0 0 36 pica 8 pica box .5 setlinewidth /Helvetica-Bold findfont [20 0 0 60 0 0] makefont setfont gsave 36 pica(V I E W P O I N T)stringwidth pop sub 2 div 2 pica moveto (V I E W P O I N T) false charpath gsave 1 setgray fill grestore stroke grestore grestore 2040 V 12 I 697(In)S 833(this)S 1044(issue's)S 1408(Viewpoint,)S 1962(we)S 2131(interview)S 2615(Steve)S 2904(MacDonald,)S 3543(Vice)S 3792(President)S 4289(of)S 4419(Marketing)S 4956(at)S 5086(Adobe.)S 2280 V 1260(____________________________________________________________)S 2640 V 10 I 600([Editor's)S 1042(note:)S 1352(This)S 1600(is)S 1741(an)S 1915(excerpt)S 2282(of)S 2434(the)S 2630(actual)S 2760 V 360(interview.)S 845(Since)S 1119(our)S 1316(talk)S 1523(with)S 1753(Steve)S 2020(ran)S 2216(longer)S 2534(than)S 2769(we)S 2880 V 360(originally)S 814(expected,)S 1246(and)S 1455(due)S 1658(to)S 1795(the)S 1976(limited)S 2313(space)S 2599(in)S 2735(this)S 3000 V 360(preview)S 725(issue,)S 999(we'll)S 1248(be)S 1390(printing)S 1761(the)S 1931(entire)S 2212(interview)S 2632(in)S 2758(the)S 3120 V 360(premier)S 706(issue)S 936(of)S 1044(the)S 1196(PostScript)S 1643(Journal.])S 3300 V 10 HX 360(PostScript)S 899(Journal:)S 10 I 1364(To)S 1510(start)S 1734(out,)S 1926(why)S 2126(don't)S 2376(you)S 2559(give)S 2764(me)S 3420 V 360(the)S 515(standard)S 904(corporate)S 1331(``glossy'')S 1746(description)S 2228(of)S 2338(the)S 2492(history)S 2802(of)S 3540 V 360(PostScript)S 807(and)S 987(the)S 1139(origins)S 1453(of)S 1561(Adobe.)S 3720 V 10 HB 360(Steve)S 669(MacDonald:)S 10 R 1309(Well,)S 1571(let)S 1714(me)S 1879(start)S 2093(with)S 2313(the)S 2477(origins)S 2797(of)S 3840 V 360(Adobe.)S 749(The)S 972(two)S 1190(key)S 1402(founders)S 1819(of)S 1970(Adobe)S 2304(are)S 2493(Dr.)S 2691(John)S 3960 V 360(Warnock)S 775(and)S 969(Dr.)S 1149(Chuck)S 1460(Geschke.)S 1907(Adobe)S 2222(was)S 2426(founded)S 2802(in)S 4080 V 360(December)S 801(of)S 916(1982.)S 1203(Warnock)S 1600(and)S 1776(Geschke)S 2151(were,)S 2401(just)S 2577(prior)S 2802(to)S 4200 V 360(that,)S 568(at)S 673(Xerox)S 955(PARC)S 1250(where)S 1526(they)S 1731(had)S 1908(done)S 2134(extensive)S 2543(work)S 2780(on)S 4320 V 360(a)S 434(similar)S 742(language)S 1132(for)S 1278(printing)S 1625(there.)S 4500 V 10 HX 360(PSJ:)S 10 I 643(That)S 857(would)S 1132(be)S 1256(Interpress...)S 4680 V 10 HB 360(SM:)S 10 R 636(That)S 882(would)S 1195(be)S 1351(Interpress,)S 1831(actually)S 2209(a)S 2315(forerunner)S 2797(of)S 4800 V 360(Interpress)S 784(I)S 848(believe)S 1167(was)S 1353(called)S 1622(``JaM'')S 1957(which)S 2232(later)S 2439(turned)S 2724(into)S 4920 V 360(Interpress.)S 886(The)S 1119(real)S 1346(roots)S 1623(of)S 1783(PostScript)S 2272(come)S 2565(from)S 2836(a)S 5040 V 360(company)S 759(called)S 1030(Evans)S 1307(&)S 1418(Sutherland,)S 1909(where)S 2184(Warnock)S 2581(worked)S 5160 V 360(some)S 609(years)S 857(ago;)S 1067(he)S 1199(did)S 1364(some)S 1612(work)S 1854(there)S 2090(in)S 2205(the)S 2364(development)S 5280 V 360(of)S 485(a)S 571(language)S 973(for)S 1131(managing)S 1567(large)S 1807(graphical)S 2219(databases.)S 2697(That)S 5400 V 360(was)S 555(really)S 822(the)S 984(roots)S 1224(of)S 1346(PostScript.)S 1852(John)S 2080(took)S 2297(some)S 2547(of)S 2669(those)S 5520 V 360(concepts)S 740(to)S 849(Xerox)S 1129(PARC)S 1422(where)S 1695(he)S 1819(and)S 1993(Geschke)S 2366(and)S 2540(a)S 2614(couple)S 5640 V 360(of)S 473(others)S 747(did)S 905(development)S 1451(there.)S 5820 V 10 HX 360(PSJ:)S 10 I 673(How)S 922(long)S 1160(did)S 1348(it)S 1464(take)S 1690(to)S 1828(produce)S 2215(PostScript)S 2692(once)S 5940 V 360(Adobe)S 645(was)S 831(founded?)S 1263(How)S 1482(much)S 1728(time)S 1930(and)S 2110(effort)S 2357(did)S 2515(it)S 2601(take?)S 6120 V 10 HB 360(SM:)S 10 R 618(If)S 729(you)S 924(look)S 1146(at)S 1262(when)S 1522(we)S 1682(were)S 1919(founded,)S 2315(which)S 2603(was)S 2802(in)S 6240 V 360(December)S 828(of)S 970('82,)S 1187(we)S 1362(really)S 1648(didn't)S 1946(get)S 2126(started)S 2450(doing)S 2736(any)S 6360 V 360(development)S 916(work)S 1161(until)S 1385(January)S 1735(or)S 1857(February)S 2256(of)S 2378('83,)S 2575(and)S 2758(the)S 6480 V 360(\256rst)S 576(product)S 941(to)S 1079(come)S 1355(on)S 1514(the)S 1695(marketplace)S 2241(was)S 2455(the)S 2636(Apple)S 6600 V 360(LaserWriter)S 884(in)S 1005(January)S 1358(of)S 1484('85.)S 1715(So)S 1863(there's)S 2176(about)S 2440(a)S 2526(two-year)S 6720 V 360(period)S 647(in)S 757(there)S 988(before)S 1274(an)S 1399(actual)S 1668(product)S 2004(came)S 2245(out.)S 2459(Of)S 2595(course,)S 6840 V 360(we)S 537(had)S 742(prototype)S 1186(software)S 1590(running)S 1962(long)S 2201(before)S 2516(that,)S 2752(but)S 6960 V 360(building)S 724(a)S 798(\256nished)S 1145(product)S 1480(was)S 1665(about)S 1917(two)S 2097(years.)S 7080 V 600(I)S 669(don't)S 916(think)S 1158(that)S 1344(indicates)S 1735(you)S 1921(could)S 2179(go)S 2315(off)S 2467(and)S 2647(spend)S 7200 V 360(a)S 454(couple)S 770(of)S 903(man-years)S 1368(with)S 1596(a)S 1690(small)S 1957(team)S 2201(of)S 2334(three)S 2582(or)S 2714(four)S 2640 V 3240(people)S 3553(and)S 3744(perhaps)S 4101(expect)S 4408(to)S 4533(produce)S 4901(the)S 5069(same)S 5320(thing.)S 5627(It's)S 2760 V 3240(probably)S 3630(a)S 3709(combination)S 4243(of)S 4360(the)S 4516(team)S 4744(that)S 4928(you've)S 5239(gathered)S 5616(and)S 2880 V 3240(the)S 3403(amount)S 3744(of)S 3868(experience)S 4340(that)S 4530(they've)S 4869(had)S 5053(over)S 5270(the)S 5432(years)S 5682(in)S 3000 V 3240(this)S 3428(technology.)S 3970(If)S 4079(you)S 4272(think)S 4521(back)S 4752(on)S 4895(Evans)S 5182(&)S 5302(Sutherland,)S 3120 V 3240(there's)S 3541(ten)S 3693(or)S 3806(more)S 4041(years)S 4281(in)S 4389(the)S 4541(growing)S 4904(up)S 5034(of)S 5147(PostScript.)S 3300 V 10 HX 3240(PSJ:)S 10 I 3523(How)S 3742(big)S 3900(is)S 3997(the)S 4149(PostScript)S 4596(interpreter?)S 3480 V 10 HB 3240(SM:)S 10 R 3483(The)S 3668(object)S 3942(code)S 4160(of)S 4273(PostScript)S 4715(is)S 4812(roughly)S 5153(200K)S 5405(bytes,)S 5671(so)S 3600 V 3240(it)S 3326(is)S 3423(a)S 3497(rather)S 3759(large)S 3988(complex)S 4362(program.)S 3780 V 10 HX 3240(PSJ:)S 10 I 3530(Right)S 3783(now,)S 4011(how)S 4214(many)S 4466(companies)S 4929(are)S 5098(supporting)S 5568(it)S 5660(on)S 3900 V 3240(their)S 3459(printers?)S 4080 V 10 HB 3240(SM:)S 10 R 3500(Nine)S 3740(companies)S 4213(have)S 4447(currently)S 4853(announced)S 5331(support)S 5677(of)S 4200 V 3240(PostScript)S 3691(on)S 3830(their)S 4052(printers.)S 4450(Nine)S 4682(that)S 4870(are)S 5029(either)S 5294(shipping)S 5677(or)S 4320 V 3240(we)S 3386(are)S 3537(actively)S 3883(building)S 4247(a)S 4321(product)S 4656(for)S 4802(them.)S 4500 V 10 HX 3240(PSJ:)S 10 I 3523(So)S 3653(you)S 3827(build)S 4063(hardware)S 4482(for)S 4629(printer)S 4937(manufacturers?)S 4680 V 10 HB 3240(SM:)S 10 R 3492(Adobe)S 3797(does)S 4019(not)S 4186(manufacture)S 4723(any)S 4906(hardware,)S 5340(but)S 5506(we)S 5660(do)S 4800 V 3240(design)S 3597(hardware)S 4063(controllers)S 4586(on)S 4782(which)S 5121(we)S 5332(implement)S 4920 V 3240(PostScript)S 3709(software)S 4109(and)S 4309(then)S 4537(license)S 4870(those)S 5137(designs)S 5493(to)S 5627(our)S 5040 V 3240(OEM)S 3523(customers)S 3989(for)S 4166(their)S 4409(manufacturing)S 5051(and)S 5255(inclusion)S 5682(in)S 5160 V 3240(PostScript)S 3682(printers.)S 5340 V 10 HX 3240(PSJ:)S 10 I 3566(One)S 3805(of)S 3956(the)S 4151(things)S 4468(I've)S 4694(noticed)S 5060(as)S 5221(a)S 5343(PostScript)S 5460 V 3240(programmer)S 3780(is)S 3882(that)S 4073(the)S 4230(fonts)S 4459(produced)S 4870(by)S 4998(the)S 5154(outline)S 5466(method)S 5580 V 3240(don't)S 3489(always)S 3805(look)S 4015(as)S 4142(nice)S 4346(as)S 4473(some)S 4716(of)S 4831(the)S 4990(hand-tuned)S 5482(bitmap)S 5700 V 3240(fonts)S 3471(for)S 3623(other)S 3869(laser)S 4104(printers.)S 4511(Now)S 4730(I)S 4798(realize)S 5105(that)S 5296(at)S 5409(300)S 5594(DPI)S 5820 V 3240(there)S 3497(are)S 3682(bound)S 3984(to)S 4114(be)S 4260(little)S 4496(rounding)S 4915(problems)S 5338(associated)S 5940 V 3240(with)S 3450(scaling)S 3776(the)S 3934(curves,)S 4255(arcs,)S 4488(and)S 4674(other)S 4921(things)S 5202(that)S 5394(comprise)S 6060 V 3240(a)S 3335(character,)S 3793(and)S 3988(that)S 4189(sometimes)S 4650(a)S 4745(single)S 5029(pixel)S 5268(can)S 5456(make)S 5710(a)S 6180 V 3240(big)S 3404(difference)S 3839(in)S 3953(how)S 4156(a)S 4242(character)S 4666(is)S 4769(perceived;)S 5225(an)S 5360(automatic)S 6300 V 3240(conversion)S 3722(program,)S 4141(of)S 4262(course,)S 4596(can't)S 4844(make)S 5097(the)S 5262(right)S 5500(choice)S 6420 V 3240(every)S 3498(time.)S 3768(I)S 3844(was)S 4043(wondering)S 4514(if)S 4613(there)S 4861(are)S 5036(efforts)S 5334(going)S 5604(into)S 6540 V 3240(PostScript)S 3698(to)S 3817(try)S 3969(to)S 4087(improve)S 4454(the)S 4616(algorithms)S 5090(that)S 5286(are)S 5459(used)S 5682(to)S 6660 V 3240(scan-convert)S 3785(the)S 3937(outlines?)S 6840 V 10 HB 3240(SM:)S 10 R 3520(We'll)S 3814(always)S 4158(be)S 4319(in)S 4463(the)S 4651(font)S 4878(business)S 5283(working)S 5682(to)S 6960 V 3240(improve)S 3603(the)S 3755(quality)S 4063(of)S 4176(the)S 4328(typefaces)S 4734(at)S 4836(the)S 4988(lower)S 5245(resolutions.)S 7080 V 3480(Actually,)S 3901(I'm)S 4097(a)S 4193(little)S 4429(surprised)S 4847(to)S 4977(hear)S 5200(you)S 5401(say)S 5585(that.)S 7200 V 3240(When)S 3547(we)S 3732(showed)S 4106(the)S 4297(output)S 4622(to)S 4768(Mergenthaler,)S 5398(the)S 5588(type)S 7680 V 8 L 360(4 P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 2143(d )S 8 L 2234(Preview Issue)S 7920 V EP %%Page: 5 2 %%MoreProlog /HI{/Helvetica-Oblique FF}def /Y{/Symbol FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 8 L 480 V 10 HI 2087(Viewpoint: Interview with Steve MacDonald)S 840 V 10 R 360(division)S 731(of)S 862(Allied)S 1160(Linotype)S 1569(where)S 1860(we)S 2024(license)S 2348(many)S 2617(of)S 2747(our)S 960 V 360(typefaces)S 800(from,)S 1083(two)S 1297(or)S 1444(three)S 1707(years)S 1980(ago,)S 2212(they)S 2447(were)S 2703(very)S 1080 V 360(concerned)S 812(about)S 1077(the)S 1242(quality)S 1563(\320)S 1706(that's)S 1971(what)S 2207(their)S 2432(business)S 2813(is)S 1200 V 360(based)S 623(on.)S 814(I)S 883(feel)S 1068(it)S 1160(was)S 1351(a)S 1431(stamp)S 1705(of)S 1823(approval)S 2207(that)S 2392(we)S 2543(received)S 1320 V 360(from)S 602(one)S 794(of,)S 950(if)S 1059(not)S 10 I 1235(the)S 10 R 1405(leading)S 1746(type)S 1965(foundry)S 2328(in)S 2453(the)S 2622(world,)S 1440 V 360(when)S 624(they)S 844(agreed)S 1157(to)S 1283(license)S 1608(us)S 1744(to)S 1869(produce)S 2237(type)S 2456(from)S 2697(their)S 1560 V 360(outline)S 685(representations;)S 1364(at)S 1483(low)S 1679(resolutions)S 2164(this)S 2355(was)S 2556(the)S 2724(\256rst)S 1680 V 360(time)S 568(they)S 770(had)S 944(ever)S 1145(done)S 1369(that.)S 1800 V 600(It)S 711(is)S 828(true)S 1033(that)S 1233(some)S 1494(typefaces)S 1919(are)S 2089(more)S 2343(complex)S 2736(and)S 1920 V 360(therefore)S 805(more)S 1096(dif\256cult)S 1499(to)S 1663(render,)S 2028(particularly)S 2573(at)S 2730(low)S 2040 V 360(resolutions.)S 2220 V 10 HX 360(PSJ:)S 10 I 655(It)S 758(just)S 945(seems)S 1225(to)S 1345(me)S 1503(that)S 1701(after)S 1932(looking)S 2274(at)S 2393(some)S 2639(of)S 2758(the)S 2340 V 360(bitmapped)S 819(fonts)S 1051(produced)S 1465(for)S 1619(laser)S 1856(printers,)S 2235(for)S 2389(example)S 2758(the)S 2460 V 360(fonts)S 613(on)S 771(the)S 951(HP)S 1142(LaserJet)S 1543(font)S 1756(cartridges,)S 2249(the)S 2428(characters,)S 2580 V 360(particularly)S 900(at)S 1040(smaller)S 1402(point)S 1670(sizes,)S 1946(appear)S 2291(to)S 2431(be)S 2586(imaged)S 2700 V 360(better)S 647(because)S 1022(someone)S 1424(went)S 1666(in)S 1797(there)S 2055(and)S 2258(for)S 2428(each)S 2669(letter)S 2820 V 360(spent)S 612(a)S 703(lot)S 850(of)S 969(time)S 1182(twiddling)S 1602(the)S 1764(bits)S 1949(to)S 2067(get)S 2229(it)S 2325(to)S 2443(look)S 2655(good.)S 2940 V 360(Now)S 596(you)S 792(obviously)S 1227(have)S 1467(a)S 1569(tradeoff:)S 2000(for)S 2168(the)S 2341(LaserJet)S 2736(you)S 3060 V 360(only)S 568(have)S 792(a)S 878(few)S 1053(fonts)S 1284(available)S 1691(at)S 1804(one)S 1983(time,)S 2215(and)S 2400(you)S 2579(have)S 2802(to)S 3180 V 360(change)S 689(cartridges)S 1141(to)S 1260(get)S 1423(different)S 1802(ones.)S 2080(On)S 2242(the)S 2404(other)S 2655(hand,)S 3300 V 360(the)S 552(PostScript)S 1039(typefaces)S 1479(are)S 1681(either)S 1983(in)S 2130(ROM)S 2415(or)S 2573(can)S 2786(be)S 3420 V 360(downloaded,)S 904(and)S 1084(they)S 1280(can)S 1454(be)S 1578(scaled)S 1863(to)S 1971(any)S 2145(size.)S 3540 V 600(I)S 675(guess)S 939(the)S 1103(question)S 1484(is)S 1593(whether,)S 1981(at)S 2100(the)S 2263(low)S 2449(resolution,)S 3660 V 360(bitmapped)S 821(fonts)S 1055(will)S 1245(always)S 1562(have)S 1789(an)S 1928(edge)S 2155(on)S 2294(outlined)S 2660(fonts,)S 3780 V 360(whether)S 716(this)S 895(will)S 1080(improve,)S 1465(or)S 1587(whether)S 1942(the)S 2097(low)S 2275(resolution)S 2714(may)S 3900 V 360(go)S 529(away)S 809(entirely)S 1183(and)S 1402(be)S 1565(replaced)S 1983(by)S 2145(higher)S 2474(resolution)S 4020 V 360(devices)S 683(where)S 957(this)S 1132(won't)S 1390(be)S 1514(as)S 1633(big)S 1791(an)S 1921(issue.)S 4200 V 10 HB 360(SM:)S 10 R 619(Well,)S 884(I)S 963(won't)S 1242(debate)S 1548(the)S 1716(issue)S 1961(too)S 2134(much)S 2401(with)S 2624(you;)S 2847(I)S 4320 V 360(think)S 605(typographers)S 1165(could)S 1426(sit)S 1560(and)S 1742(debate)S 2040(that)S 2228(issue)S 2466(for)S 2620(a)S 2702(long)S 4440 V 360(time.)S 630(You)S 839(could)S 1098(put)S 1263(them)S 1500(in)S 1615(a)S 1696(room)S 1944(and)S 2124(they'd)S 2415(never)S 2672(be)S 2802(in)S 4560 V 360(agreement)S 845(on)S 1015(this.)S 1285(Our)S 1510(approach)S 1945(to)S 2092(this)S 2306(is)S 2442(to)S 2589(let)S 2758(the)S 4680 V 360(marketplace)S 909(decide.)S 1285(We)S 1484(have)S 1733(certainly)S 2143(seen)S 2381(some)S 2653(hand-)S 4800 V 360(tuned)S 662(typefaces)S 1117(that)S 1346(don't)S 1636(look)S 1893(as)S 2055(good)S 2334(as)S 2496(the)S 2697(ones)S 4920 V 360(automatically)S 934(generated.)S 5040 V 600(Will)S 811(things)S 1089(get)S 1244(better?)S 1578(Yes,)S 1791(I)S 1857(believe)S 2178(that)S 2361(is)S 2460(true.)S 2702(Five)S 5160 V 360(years)S 630(ago)S 834(it)S 950(would)S 1260(have)S 1508(been)S 1756(said)S 1977(it)S 2093(was)S 2308(impossible)S 2802(to)S 5280 V 360(produce)S 714(type)S 919(automatically)S 1495(that)S 1677(looked)S 1981(and)S 2157(had)S 2333(the)S 2487(quality)S 2797(of)S 5400 V 360(the)S 526(Adobe)S 836(typefaces)S 1256(that)S 1450(are)S 1614(produced)S 2028(automatically)S 2615(at)S 2730(300)S 5520 V 360(DPI.)S 609(It)S 703(also)S 897(is)S 997(a)S 1074(function)S 1440(of)S 1556(the)S 1711(marking)S 2077(engine)S 2376(that)S 2559(is)S 2658(being)S 5640 V 360(used)S 577(to)S 689(print.)S 967(Different)S 1366(technologies)S 1905(\320)S 2038(whether)S 2392(the)S 2547(marking)S 5760 V 360(engine)S 662(is)S 765(a)S 845(write-white)S 1341(or)S 1459(a)S 1538(write-black)S 2027(technology)S 2506(\320)S 2641(you'll)S 5880 V 360(see)S 577(differences)S 1108(there.)S 1451(You'll)S 1801(see)S 2017(differences)S 2548(between)S 6000 V 360(manufacturers)S 960(even)S 1178(if)S 1269(they're)S 1581(using)S 1828(similar)S 2136(technologies.)S 6120 V 600(On)S 758(your)S 977(other)S 1218(comment)S 1626(about)S 1884(resolution:)S 2377(you)S 2562(will)S 2753(see)S 6240 V 360(in)S 509(the)S 702(future)S 1011(higher)S 1337(resolution)S 1808(machines.)S 2310(Although)S 2758(the)S 6360 V 360(standard)S 735(today)S 994(is)S 1098(300)S 1285(DPI,)S 1508(it's)S 1673(not)S 1838(certain)S 2145(whether)S 2502(it)S 2594(will)S 2786(be)S 6480 V 360(that)S 555(in)S 678(two)S 873(or)S 1001(three)S 1245(years.)S 1555(As)S 1711(the)S 1878(price)S 2121(of)S 2248(memory)S 2625(comes)S 6600 V 360(down)S 635(and)S 832(the)S 1007(controllers)S 1487(become)S 1850(faster)S 2124(it)S 2232(will)S 2440(then)S 2664(make)S 6720 V 360(sense)S 606(to)S 714(move)S 966(in)S 1074(that)S 1254(direction,)S 1664(I)S 1727(believe.)S 6840 V 600(There)S 939(are)S 1167(certainly)S 1623(markets)S 2046(that)S 2302(will)S 2564(demand)S 6960 V 360(resolutions)S 838(higher)S 1131(than)S 1341(300)S 1529(DPI,)S 1753(whether)S 2112(the)S 2272(general)S 2603(market)S 7080 V 360(will)S 548(or)S 663(not)S 823(is)S 922(hard)S 1131(to)S 1241(say.)S 1461(For)S 1632(many)S 1886(applications)S 2401(that's)S 2655(as)S 2770(far)S 7200 V 360(as)S 473(you)S 653(need)S 871(to)S 979(go.)S 840 V 10 HX 3240(PSJ:)S 10 I 3537(Let)S 3708(me)S 3867(switch)S 4166(a)S 4259(bit)S 4408(and)S 4601(ask)S 4777(you)S 4964(about)S 5235(the)S 5400(future)S 5682(of)S 960 V 3240(PostScript.)S 3753(Do)S 3916(think)S 4157(that)S 4353(there)S 4598(will)S 4789(be)S 4923(any)S 5107(additions)S 5520(to)S 5638(the)S 1080 V 3240(language?)S 3725(I)S 3791(noticed)S 4118(that)S 4307(there)S 4545(were)S 4772(a)S 4855(few)S 5027(additions)S 5433(made)S 5682(to)S 1200 V 3240(the)S 3410(2.0)S 3583(release,)S 3944(particularly)S 4470(the)S 4640(internals,)S 5069(such)S 5299(as)S 5435(the)S 5604(font)S 1320 V 3240(caching.)S 3666(I)S 3754(was)S 3965(wondering)S 4448(if)S 4559(you)S 4758(envision)S 5146(3D)S 5322(support)S 5682(in)S 1440 V 3240(PostScript.)S 1620 V 10 HB 3240(SM:)S 10 R 3488(Yes,)S 3703(I)S 3771(envision)S 4145(that;)S 4358(that's)S 4615(probably)S 5005(a)S 5084(little)S 5302(further)S 5607(out.)S 1740 V 3240(We're)S 3518(doing)S 3776(color)S 4011(development)S 4557(right)S 4776(now.)S 1860 V 3480(There)S 3775(indeed)S 4104(could)S 4389(be)S 4546(extensions)S 5030(to)S 5170(PostScript)S 5644(for)S 1980 V 3240(display)S 3559(implementations)S 4256(in)S 4364(the)S 4516(future.)S 2160 V 10 HX 3240(PSJ:)S 10 I 3523(As)S 3653(in)S 3761(bitmapped)S 4213(displays...)S 2340 V 10 HB 3240(SM:)S 10 R 3502(As)S 3661(in)S 3787(bitmapped)S 4257(displays,)S 4658(yes.)S 4894(Or)S 5047(grayscale)S 5471(display)S 2460 V 3240(devices.)S 3647(With)S 3900(the)S 4075(advent)S 4394(of)S 4529(the)S 4703(faster)S 4976(microprocessors)S 5682(in)S 2580 V 3240(workstations)S 3838(and)S 4069(grayscale)S 4531(displays,)S 4970(it)S 5112(makes)S 5453(a)S 5583(very)S 2700 V 3240(attractive)S 3641(opportunity)S 4138(for)S 4284(PostScript.)S 2880 V 10 HX 3240(PSJ:)S 10 I 3547(You)S 3757(mentioned)S 4227(color.)S 4547(You're)S 4873(working)S 5255(on)S 5408(color.)S 5727(I)S 3000 V 3240(noticed)S 3585(that)S 3792(there)S 4048(are)S 4232(a)S 4332(couple)S 4648(of)S 4776(operators)S 5215(in)S 5343(PostScript)S 3120 V 3240(that)S 3429(support)S 3768(colors,)S 4076(but)S 4237(I)S 4303(don't)S 4546(think)S 4778(at)S 4888(the)S 5042(moment)S 5390(there)S 5627(are)S 3240 V 3240(any)S 3414(color)S 3655(PostScript)S 4102(printers)S 4449(on)S 4579(the)S 4731(market.)S 3420 V 10 HB 3240(SM:)S 10 R 3491(That)S 3712(is)S 3817(correct.)S 4186(PostScript)S 4636(supports)S 5013(two)S 5201(color)S 5443(models:)S 3540 V 3240(hue-saturation-brightness)S 4290(and)S 4469(red-green-blue.)S 5144(There)S 5410(have)S 5632(not)S 3660 V 3240(been)S 3473(any)S 3662(commercial)S 4178(implementations)S 4890(of)S 5017(the)S 5183(color)S 5432(imaging)S 3780 V 3240(model)S 3550(available)S 3970(yet.)S 4206(We)S 4403(have)S 4650(shown)S 4970(some)S 5240(color)S 5504(output)S 3900 V 3240(generated)S 3673(by)S 3819(PostScript)S 4277(on)S 4423(a)S 4513(Linotype)S 4920(by)S 5065(printing)S 5427(the)S 5594(four)S 4020 V 3240(color)S 3480(separations)S 3964(and)S 4143(then)S 4350(producing)S 4790(a)S 4868(color)S 5107(proof)S 5357(from)S 5585(that.)S 4140 V 3240(That)S 3469(is)S 3581(there)S 3825(today.)S 4147(This)S 4370(is)S 4482(another)S 4826(market)S 5148(opportunity)S 5660(\320)S 4260 V 3240(color)S 3487(proo\256ng)S 3868(systems)S 4227(are)S 4389(very)S 4607(expensive,)S 5072(a)S 5157(million)S 5488(dollars)S 4380 V 3240(and)S 3417(up.)S 3605(By)S 3755(going)S 4016(to)S 4127(a)S 4204(high)S 4415(resolution)S 4847(typesetter)S 5267(and)S 5443(printing)S 4500 V 3240(the)S 3418(four)S 3640(separations,)S 4170(you)S 4376(can)S 4570(build)S 4832(the)S 5009(system)S 5342(for)S 5513(much,)S 4620 V 3240(much)S 3492(less)S 3672(than)S 3874(that.)S 4109(You'll)S 4400(be)S 4524(able)S 4720(to)S 4828(do)S 4958(that)S 5138(in)S 5246(the)S 5398(future.)S 4800 V 10 HX 3240(PSJ:)S 10 I 3553(Well,)S 3820(I)S 3912(would)S 4216(love)S 4441(to)S 4578(see)S 4764(a)S 4873(four-color)S 5343(PostScript)S 4920 V 3240(printer)S 3550(in)S 3660(the)S 3814(future;)S 4117(that)S 4304(would)S 4580(be)S 4705(a)S 4786(nice)S 4983(addition)S 5348(to)S 5457(the)S 5610(line)S 5040 V 3240(of)S 3348(printers)S 3695(that)S 3881(are)S 4044(available.)S 5220 V 10 HB 3240(SM:)S 10 R 3507(I)S 3594(think)S 3854(that)S 4058(will)S 4268(be)S 4416(one)S 4614(of)S 4751(the)S 4926(opportunities)S 5507(in)S 5638(the)S 5340 V 3240(future,)S 3542(as)S 3664(people)S 3969(begin)S 4230(to)S 4347(get)S 4508(control)S 4830(of)S 4952(the)S 5112(black-and-white)S 5460 V 3240(technology)S 3717(as)S 3833(it)S 3922(relates)S 4215(to)S 4326(laser)S 4547(printers,)S 4910(controllers,)S 5395(and)S 5572(page)S 5580 V 3240(description)S 3741(languages,)S 4222(they)S 4451(will)S 4664(then)S 4893(want)S 5143(to)S 5277(begin)S 5555(more)S 5700 V 3240(serious)S 3569(work)S 3820(in)S 3944(color.)S 4250(At)S 4395(the)S 4562(same)S 4812(time,)S 5060(higher)S 5360(resolution)S 5820 V 3240(color)S 3491(machines)S 3913(are)S 4079(coming)S 4424(along)S 4691(in)S 4814(the)S 4981(200,)S 5201(300,)S 5421(and)S 5610(400)S 5940 V 3240(DPI)S 3449(range)S 3717(that)S 3914(will)S 4117(be)S 4258(able)S 4471(to)S 4596(produce)S 4964(some)S 5222(exceptionally)S 6060 V 3240(good)S 3470(color)S 3705(output.)S 6240 V 10 HX 3240(PSJ:)S 10 I 3524(Do)S 3677(you)S 3852(see)S 4010(PostScript)S 4457(still)S 4638(in)S 4746(an)S 4876(evolving)S 5244(stage)S 5485(\320)S 5604(that)S 6360 V 3240(it's)S 3403(not)S 3565(really)S 3832(``cast)S 4093(in)S 4205(stone'')S 4516(yet,)S 4691(that)S 4881(there's)S 5192(the)S 5348(possibility)S 6480 V 3240(of)S 3348(additions)S 3751(to)S 3859(the)S 4011(language?)S 6660 V 10 HB 3240(SM:)S 10 R 3504(The)S 3709(language)S 4119(has)S 4302(been)S 4540(published)S 4979(as)S 5112(a)S 5206(standard.)S 5649(As)S 6780 V 3240(logical)S 3563(extensions)S 4036(come)S 4303(along,)S 4601(we)S 4767(will)S 4973(evaluate)S 5355(those)S 5616(and)S 6900 V 3240(make)S 3515(some)S 3785(\(hopefully\))S 4292(correct)S 4626(judgements)S 5145(on)S 5303(whether)S 5682(to)S 7020 V 3240(include)S 3573(those)S 3823(in)S 3940(the)S 4101(language)S 4500(or)S 4622(not.)S 4843(I)S 4914(would)S 5202(say)S 5373(that)S 5561(there)S 7140 V 3240(will)S 3452(probably)S 3862(be)S 4011(certain)S 4337(extensions)S 4814(to)S 4947(the)S 5124(language.)S 5594(One)S 7260 V 3240(condition,)S 3673(of)S 3786(course,)S 4101(is)S 4198(that)S 4378(they)S 4580(be)S 4704(upward)S 5033(compatible.)S 10 Y 5622(\340)S 7680 V 8 L 3386(P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 5036(d )S 8 L 5127(Preview Issue 5)S 7920 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Italic Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-BoldOblique Symbol Troff %%Pages: 2 XxXxXxXxXx-EOF-XxXxXxXxXx
patwood@esquire.UUCP (Patrick H. Wood) (11/08/86)
# To recover, type "sh archive" echo restoring p6-7.ps cat > p6-7.ps <<\XxXxXxXxXx-EOF-XxXxXxXxXx %!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Wed Oct 15 20:41:26 1986 %%Pages: (atend) %%DocumentFonts: (atend) /r{rmoveto}def /m{moveto}def /l{lineto}def /rl{rlineto}def /st{stroke}def /gs{gsave}def /gr{grestore}def /cp{currentpoint}def /np{newpath}def /ct{curveto}def /m0{0 0 moveto}def /BP{save mark m0}def /EP{ showpage cleartomark restore}def /res 10.000000 def /V{res neg div 792 add currentpoint pop exch m}def /H{res div currentpoint exch pop moveto}def /h{res div 0 r}def /v{res neg div 0 exch r}def /xc{res div}def /yc{res neg div 792 add}def /S{exch H show}def /psize 10 def /height 1 def /slant 0 def /FF{findfont exch dup 12 div setlinewidth /psize exch def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont}def /shade{gs /dy exch def /dx exch def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}def 1 setlinecap %%EndProlog %%MoreProlog /R{/Times-Roman FF}def %%EndMoreProlog 10 R %%Page: 6 1 %%MoreProlog /I{/Times-Italic FF}def /L{/Helvetica FF}def /C{/Courier FF}def %% Troff special characters not on Symbol font /altRTD 20 dict def altRTD begin /s{setcachedevice}def /C{1000 1000 scale}def /m{moveto}def /c{curveto}def /S{stroke}def /l{lineto}def end /F_Troff 17 dict def F_Troff begin systemdict /currentpacking known {/SavePacking currentpacking def true setpacking}if /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /UniqueID 8277003 def /FontMatrix [.001000 0 0 .001000 0 0] def /FontBBox [-12 -105 942 855 ] def /Encoding 256 array def /CD 256 1 add dict def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /FontName (Troff) def 0 1 256 1 sub{Encoding exch /.notdef put}for CD /.notdef{500 0 setcharwidth{}}put Encoding (1) 0 get /br put %% bold vertical rule used by tbl CD /br{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m 0 .9 l {S} }put Encoding (2) 0 get /ul put %% underline used by tbl CD /ul{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m .5 -.1 l {S} }put Encoding (3) 0 get /ru put %% baseline rule CD /ru{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth m0 .5 0 l {S} }put Encoding (4) 0 get /vr put %% vertical rule CD /vr{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth m0 0 1 l {S} }put Encoding (5) 0 get /sq put %% square CD /sq{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {S} }put Encoding (6) 0 get /bx put %% solid box CD /bx{ C .5 0 -.5 -.5 1 1 s np 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {fill} }put Encoding (7) 0 get /rn put %% radical extender CD /rn{ C .5 0 -.5 -.5 1 1 s np .03 setlinewidth -.03 .9 m .5 0 rl {S} }put Encoding 97 /a put CD /a{1000 0 0 66 942 421 s 430 415 m 578 406 678 349 662 319 c 655 306 614 287 583 296 c 570 300 466 340 438 332 c 365 309 335 213 270 209 c 0 310 m 108 310 l 108 114 l 0 114 l 0 310 l 42 161 m 42 134 l 66 134 l 66 161 l 42 161 l 47 155 m 47 140 l 62 140 l 62 155 l 47 155 l 110 133 m 226 113 300 66 410 80 c 497 91 550 69 634 76 c 645 76 663 92 669 107 c 677 125 673 141 668 160 c 725 334 m 758 332 734 253 701 250 c 501 325 m 475 316 476 309 473 302 c 465 282 482 263 499 257 c 552 236 615 253 689 253 c 701 253 713 236 713 218 c 712 194 702 168 678 161 c 671 159 663 160 655 160 c 591 158 516 156 479 168 c 461 173 453 191 453 210 c 453 224 456 235 466 244 c 476 253 490 252 503 255 c 459 84 m 447 96 435 106 435 123 c 435 136 440 145 447 155 c 453 163 462 168 469 173 c 110 293 m 173 318 300 421 435 415 c 609 407 852 416 885 411 c 898 409 924 411 930 380 c 942 316 828 339 742 334 c 731 334 730 335 725 335 c 701 336 685 336 660 336 c{S}}put Encoding 98 /b put CD /b{1000 0 -12 66 930 421 s 500 415 m 352 406 252 349 268 319 c 275 306 316 287 347 296 c 360 300 464 340 492 332 c 565 309 595 213 660 209 c 930 310 m 822 310 l 822 114 l 930 114 l 930 310 l 888 161 m 888 134 l 864 134 l 864 161 l 888 161 l 883 155 m 883 140 l 868 140 l 868 155 l 883 155 l 820 133 m 704 113 630 66 520 80 c 433 91 380 69 296 76 c 285 76 267 92 261 107 c 253 125 257 141 262 160 c 205 334 m 172 332 196 253 229 250 c 429 325 m 455 316 454 309 457 302 c 465 282 448 263 431 257 c 378 236 315 253 241 253 c 229 253 217 236 217 218 c 218 194 228 168 252 161 c 259 159 267 160 275 160 c 339 158 414 156 451 168 c 469 173 477 191 477 210 c 477 224 474 235 464 244 c 454 253 440 252 427 255 c 471 84 m 483 96 495 106 495 123 c 495 136 490 145 483 155 c 477 163 468 168 461 173 c 820 293 m 757 318 630 421 495 415 c 321 407 78 416 45 411 c 32 409 6 411 0 380 c -12 316 102 339 188 334 c 199 334 200 335 205 335 c 229 336 245 336 270 336 c{S}}put Encoding 99 /c put CD /c{1000 0 184 0 827 627 s 185 315 m 186 488 332 627 505 625 c 682 623 827 467 815 290 c 804 124 666 0 500 0 c 327 0 184 142 185 315 c{S}}put Encoding 100 /d put CD /d{590 0 134 158 477 500 s 300 160 m 208 162 134 238 135 330 c 136 423 212 500 305 500 c 397 500 473 427 475 335 c 477 239 396 158 300 160 c{fill}}put /BuildChar{altRTD /BuildChar get exec}def end altRTD begin /BuildChar{altRTD begin /char exch def /fontdict exch def save /charname fontdict /Encoding get char get def fontdict /StrokeWidth get setlinewidth fontdict /CD get dup charname known {charname}{/.notdef}ifelse get newpath exec fontdict /PaintType get 0 eq{exec}{pop S}ifelse restore end}def end systemdict /currentpacking known{F_Troff /SavePacking get setpacking}if /Troff F_Troff definefont pop /Y1{/Troff FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 10 R 0 V /pica {12 mul} def /inch {72 mul} def /fillshow { % args: width string /str exch def /wid exch def wid str stringwidth pop sub str length 1 sub div % adjust per letter 0 str ashow } def /showline { currentpoint /ypos exch def /xpos exch def show ypos exch sub /ypos exch def xpos ypos moveto } def /fstr 256 string def % bitmap string for fountain 0 1 255 {fstr exch dup 1 add 257 div sqrt 255 mul cvi put}for /fountain { % args: llx lly urx ury /ury exch def /urx exch def /lly exch def /llx exch def gsave llx lly translate urx llx sub ury lly sub scale 256 1 8 [256 0 0 -1 0 1]{fstr}image grestore } def /box { % args: llx lly urx ury gsave 1 setlinewidth /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath stroke grestore } def gsave 8.5 6 mul % Picas horizontally 36 sub % minus the width of the box 2 div pica % divided in two 53 pica translate 0 0 36 pica 8 pica fountain 0 0 36 pica 8 pica box .5 setlinewidth /Helvetica-Bold findfont [20 0 0 60 0 0] makefont setfont gsave 36 pica(C O V E R A R T)stringwidth pop sub 2 div 2 pica moveto (C O V E R A R T) false charpath gsave 1 setgray fill grestore stroke grestore grestore 2040 V 12 I 2786(Spirograph)S 2280 V 1260(____________________________________________________________)S 2640 V 10 R 360(This)S 596(issue's)S 926(cover)S 1205(graphic)S 1562(illustrates)S 2009(how)S 2239(simple)S 2564(it)S 2678(is)S 2802(to)S 2760 V 360(create)S 632(complex)S 1011(graphics)S 1384(with)S 1597(just)S 1777(a)S 1855(few)S 2038(PostScript)S 2484(operators.)S 2880 V 360(If)S 460(you)S 644(look)S 856(at)S 962(it)S 1052(carefully,)S 1465(you)S 1649(may)S 1854(notice)S 2131(that)S 2314(it's)S 2475(composed)S 3000 V 360(of)S 488(many)S 755(circles)S 1060(\(actually)S 1454(90\),)S 1656(each)S 1882(one)S 2070(offset)S 2341(slightly)S 2686(from)S 3120 V 360(the)S 568(other.)S 914(The)S 1155(PostScript)S 1653(program)S 2077(that)S 2313(does)S 2582(this)S 2813(is)S 3240 V 360(surprisingly)S 868(simple:)S 3480 V 9 C 600(/circle)S 1032({)S 3600 V 780(newpath)S 1212(0)S 1320(360)S 1536(arc)S 1752(stroke)S 3720 V 600(})S 708(def)S 3960 V 600(/spiro)S 978({)S 4080 V 780(/ncircles)S 1320(exch)S 1590(def)S 4200 V 780(ncircles)S 1266({)S 4320 V 960(80)S 1122(0)S 1230(65)S 1392(circle)S 4440 V 960(360)S 1176(ncircles)S 1662(div)S 1878(rotate)S 4560 V 780(})S 888(repeat)S 4680 V 600(})S 708(def)S 4920 V 10 R 600(First,)S 872(the)S 1057(procedure)S 10 C 1548(circle)S 10 R 1971(is)S 2101(de\256ned;)S 2485(it)S 2603(merely)S 5040 V 360(draws)S 656(a)S 758(circle)S 1037(with)S 1273(the)S 10 C 1483(arc)S 10 R 1721(operator)S 2111(and)S 10 C 2343(stroke)S 10 R 2703(s)S 2799(it.)S 5160 V 10 C 360(circle)S 10 R 755(takes)S 994(three)S 1227(arguments)S 1677(on)S 1811(the)S 1967(stack:)S 2264(the)S 2420(coordinates)S 5280 V 360(of)S 478(the)S 635(center)S 913(of)S 1031(the)S 1188(circle)S 1444(and)S 1623(the)S 1780(radius)S 2059(of)S 2176(the)S 2332(circle.)S 2642(These)S 5400 V 360(are)S 541(passed)S 867(directly)S 1232(to)S 1370(the)S 10 C 1582(arc)S 10 R 1822(operator,)S 2239(along)S 2521(with)S 2758(the)S 5520 V 360(starting)S 692(and)S 868(ending)S 1172(degrees)S 1507(for)S 1654(a)S 1729(circle)S 1981(\320)S 2112(zero)S 2314(and)S 2489(360.)S 2725(The)S 5640 V 10 C 360(newpath)S 10 R 819(operator)S 1190(is)S 1296(needed)S 1617(to)S 1734(prevent)S 10 C 2102(arc)S 10 R 2321(from)S 2553(drawing)S 5760 V 360(a)S 445(straight)S 786(line)S 977(from)S 1212(the)S 1375(current)S 1697(point)S 1943(\(if)S 2077(there)S 2316(is)S 2423(one\))S 2640(to)S 2758(the)S 5880 V 360(start)S 562(of)S 675(the)S 827(circle.)S 6000 V 10 C 600(spiro)S 10 R 944(takes)S 1193(one)S 1381(argument:)S 1860(the)S 2025(number)S 2373(of)S 2499(circles)S 2802(to)S 6120 V 360(produce.)S 797(This)S 1036(is)S 1164(put)S 1353(in)S 10 C 1522(ncircles)S 10 R 2063(for)S 2240(later)S 2477(use.)S 2725(The)S 6240 V 10 C 360(repeat)S 10 R 756(operator)S 1124(draws)S 1398(the)S 1555(circles,)S 1875(rotating)S 2221(each)S 2438(one)S 2617(a)S 2696(little)S 6360 V 360(more)S 628(than)S 863(the)S 1048(previous)S 1455(one.)S 1716(The)S 1933(amount)S 2295(of)S 2440(rotation)S 2813(is)S 6480 V 360(determined)S 844(by)S 978(dividing)S 1346(the)S 1502(number)S 1841(of)S 1958(degrees)S 2296(in)S 2408(a)S 2486(full)S 2659(circle)S 6600 V 360(\(360\))S 608(by)S 740(the)S 894(number)S 1231(of)S 1346(circles)S 1638(to)S 1748(be)S 1874(created;)S 2220(this)S 2396(gives)S 2638(us)S 2758(the)S 6720 V 360(angle)S 606(between)S 968(each)S 1180(circle.)S 6840 V 600(Let's)S 838(try)S 10 C 1012(spiro)S 10 R 1345(a)S 1422(couple)S 1721(of)S 1837(times)S 2086(\(we've)S 2394(scaled)S 2675(these)S 6960 V 360(\256gures)S 662(down)S 914(by)S 1044(50%)S 1257(to)S 1365(conserve)S 1749(space\):)S 7200 V 9 C 600(4)S 708(spiro)S 2640 V 10 R 3240(produces)S gsave .5 .5 scale 180 -170 rmoveto currentpoint translate 2640 V /circle { newpath 0 360 arc stroke } def /spiro { /ncircles exch def ncircles { 80 0 65 circle 360 ncircles div rotate } repeat } def 2 setlinewidth 4 spiro grestore 4440 V 3240(and)S 4680 V 9 C 3480(8)S 3588(spiro)S 4920 V 10 R 3240(produces)S gsave .5 .5 scale 180 -170 rmoveto currentpoint translate 4920 V /circle { newpath 0 360 arc stroke } def /spiro { /ncircles exch def ncircles { 80 0 65 circle 360 ncircles div rotate } repeat } def 2 setlinewidth 8 spiro grestore 6720 V 3480(The)S 3678(cover)S 3942(was)S 4140(produced)S 4554(by)S 4697(simply)S 5012(telling)S 10 C 5340(spiro)S 10 R 5682(to)S 6840 V 3240(produce)S 3606(90)S 3751(circles.)S 4110(The)S 4309(linewidth)S 4731(was)S 4930(set)S 5085(to)S 5207(zero)S 5422(to)S 5544(make)S 6960 V 3240(the)S 3402(circles)S 3702(as)S 3825(thin)S 4021(as)S 4144(possible)S 4512(\(there)S 4784(will)S 4980(be)S 5114(90)S 5254(circles,)S 5578(after)S 7080 V 3240(all!\):)S 7680 V 8 L 360(6 P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 2143(d )S 8 L 2234(Preview Issue)S 7920 V EP %%Page: 7 2 %%MoreProlog /BI{/Times-BoldItalic FF}def /HI{/Helvetica-Oblique FF}def %%Lawslope font systemdict /currentpacking known{/SavPak currentpacking def true setpacking}if userdict /AltRTD known{}{/AltRTD 22 dict def AltRTD begin /NestL 0 def /Cache{NestL 0 eq{setcachedevice}{pop pop pop pop pop pop}ifelse 0 0 moveto}def /SetWid{NestL 0 eq{setcharwidth setgray}{pop pop setgray}ifelse 0 0 moveto}def /ShowInt{/NestL NestL 1 add def fd exch AltRTD /BuildChar get exec grestore /NestL NestL 1 sub def}def /charStr(.)def /ShowExt{fd /EFN get exch get findfont dup setfont matrix currentmatrix 3 1 roll /FontMatrix get matrix invertmatrix concat 0 0 moveto charStr 0 3 -1 roll put charStr false charpath setmatrix fd /PaintType get 0 eq{fill}{stroke}ifelse grestore}def /BuildChar{AltRTD begin /char exch def /fd exch def save /chnm fd /Encoding get char get def fd /StrokeWidth get setlinewidth fd /CharacterDefs get dup chnm known{chnm}{/.notdef}ifelse get newpath exec fd /PaintType get 0 eq{exec}{pop stroke}ifelse restore end}def end}ifelse /$Lawslope 18 dict def $Lawslope begin /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /FontMatrix[.000951 0 0 .000951 0 0]def %/UniqueID 5026296 def /FontBBox[-263 -293 1260 855 ]def /Encoding 256 array def /CharacterDefs 256 1 add dict def /FontName (Lawslope) def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /BuildChar{AltRTD /BuildChar get exec}def 0 1 256 1 sub{Encoding exch /.notdef put}for CharacterDefs /.notdef{500 0 setcharwidth{}}put Encoding 32 /space put CharacterDefs /space {<A0DB6491D99691D996EE91D996E9F5>{UCS}forall }put Encoding 44 /comma put CharacterDefs /comma {<96DA647801A5D986D9EE8297E95A897AB7A1B6EB8F63A34E A820EB6A29252DD75FD726D7EB5962756C9395EB70757F947798EB656721440A93EBF5 >{UCS}forall } put Encoding 46 /period put CharacterDefs /period {<73DB64B06377DA7DD9EEB8A4E96D8688A1ACA0EB8F63A345 9D26EB5B3C40251628EB4566298331A2EBF5>{UCS}forall } put Encoding 71 /G put CharacterDefs /G {<76E064825068E080E0EE9ADF6BE0E9105BD5EA501A6083D931C0 D9EB22B81BB723D7BCEB50D76A35D651D60FD602D5EB4636D71534D570D923D5EB7BDA4F B8DA90DB8EDA90DBEB47D764EA58644463446FEB647075718171EBB5DB64EA7164845C80 50EB61594F614361EB43D763EA5ED724D5EA4D7FD9EA6468333AD740D649D7EB1DD7713D D680DA0CD7C5DBEBAA84DA8ADABEDB8EDB69DCEBB2D97F7FDA5CD789DA5BD7EB7861C78C D9C277D9EBF5>{UCS}forall } put Encoding 76 /L put CharacterDefs /L {<BBDF64226478DF66E0EE9CD964E0E97EDC64EA70647F66825AEB 67564F554155EB3BD764EA57644D62435AEB5A5C564E5341EB16D736D2EA605461426437 EB685671557B55EB8CD964EAA164C57A95D998EB64D99EB4D988DAB9D988DAEB7364EA58 D758D5EA36D264EA5964486E4870EB646772717C71EB76D964EA74647E6F887BEB6E7068 5F748BEBB0D985DEEA67716D7D6789EB5D724E763E76EB57D764EA56644260416EEB6372 79738773EBF5>{UCS}forall } put Encoding 97 /a put CharacterDefs /a {<88DF644A4699DEABDDEE71AFDAE993A9D99DD9C4DAA5DBB7DAEB 6DD95D84D91A84D91CEB7AA3EAB365EA46D718D4EA605264377634EBB95286D98CD98AD9 93D9EB686A7468745FEB645B3D25D729D717D7EB56D7571A86D91885D9EB62691B54D741 D641D7EB20D7515BD694D91ED7BADAEBBD69E93E45D74A29D674D92ED6EB65D96868DA81 D970DA9FD9EB98BCD9EA78AD63A6D95AD7A4D9EB29D76246D652D71ED62BD6EBF5 >{UCS}forall } put Encoding 98 /b put CharacterDefs /b {<77DF642E5364DE65E0EE84A7DAE98FD96BDDEA64662ED76423D7 65EB5B65587C657CEB67648FDA668FDA64EB5CD702D5EA635FB781D991DA94D9EBA8D977 6DDA30D7AAD90AD6EB351FD724D718D603D51AD6EB52D66544D7B4DA44D7B6DAEBA6D92B D6E991D95587DA6CD9AEDA90DAEB8A83D97EB1DA54D7ACDAEB63D76056D628D757D61ED7 EB5D5F2FD74BD59B36D5EBF5>{UCS}forall } put Encoding 100 /d put CharacterDefs /d {<B5DF644A40B5DE64E0EE71AFDAE993A9D99FD9C2DAA7DBB3DAEB C45D80D91680D918EBBDC4DAEA646527D76423D764EB5D635B7E657EEB6D6494DA6494DA 63EB1AD74BD2EA552E323FD76234D7EBBB4F9BD990D99DD993D9EB696B71687160EB6461 271ED713D716D7EB42D75B1680D9147FD9EB61691F58D745D643D7EB20D74F5BD698D91E D7BEDAEBBD69E93E45D74A2ED674D92ED6EB6BD96468DA81D970DA9FD9EB98BCD9EA78AD 4FA5D952D79ED9EB3BD75A4DD654D726D631D6EBF5>{UCS}forall } put Encoding 101 /e put CharacterDefs /e {<93DE644B4F97DDBADDEEC19FDAE9605F9ADA6677DB65D9EBAA6B D981C5D92D64DAEB0DD76A22D663D524D663D5EB1374E9939AD9B0D96FDB9BDBC3DAEB97 D956B8D9049DD91DD7EB2316D73BD42ED73DD428D7EB60632E04D76BD951D6EB67D95699 DA73D987DA82D9EB5D69745D7D5FEB6D664ED722D70FD628D7EB17D76B08D7A7D92DD7BE DAEBF5>{UCS}forall } put Encoding 102 /f put CharacterDefs /f {<BDDC645F2ED6A7DD7EE0EE5F2ED6E976DAB2DFEA64644BD7643B D765EB5B645B7D647DEB96D964EA8578D9EA76A79975D97FD982D9EBA46F92D95DA3D93C EB7A3A5F1B3F18EB4E623D6D317FEB557B7EA564ADEB44D78E46D71C3DD75CD7EB434AD7 EA646284D9658FD963EB6E636F4E594BEB61643FD7653FD764EB5FD61AD1EA1460EAF5 >{UCS}forall } put Encoding 103 /g put CharacterDefs /g {<AFDE640C61D670DEA8DEEE88DC70DBE98E73DA0A77DA0A76DAEB 616C541F5B5DD7EB6C346A216533EB64555A68539EEB5BA76E6AD96A65D9EB646940D76F 15D761D6EB4F5BD76A10D7B60DD7EB67D960B9D9A36ADAA9D9EB14D621D7E9696750D784 08B9D9EB9297DAA8DA7ADAA9DA7ADAEB64647974D9A5D970D9EBA66272D9476ED91BEB62 4D513A3A37EB4A612D782D8DEB649097974F9FEB59D7703BD7073BD706EB60627CDA61B1 D93BD6EB510461D719D72CD60CD7EB59640E6F0C6FEB5E642B560D45EB3DD7126DDB45A2 DB59D7EB7E3D7D24325DD7EB2FD70C06D45805D461EB646566706A6FEB686365DA3578DB 41EB84D97177DAA3A2D9C6EB099B2ED56663D4C1EB45A19FD9BE9DD9C4EBF5 >{UCS}forall } put Encoding 104 /h put CharacterDefs /h {<70E064693D66DF64E0EEB1DC4BE9046F51B2D974B3DAEB9997D9 A7ACDA19A7DAEB63D76046D625D744D61BD7EB60D734D5EA1764EA96A7D9EAA7D96CDEEA 646432D76226D764EB55675A7D657DEB9CDA64EA55D764D4EA635FB276D98CDA95D9EBA7 D9836DDA0D8CD90FD6EB2B22D71439D65641D6EBA76D76D97AD979D983D9EB676F716B6F 61EB5F510304D74DD612D7EBF5>{UCS}forall } put Encoding 105 /i put CharacterDefs /i {<8ADC64643F7EDB7DDFEEBBD9A7DAE9424DD71136D65B39D6EBAE 676CD97ED970D98DD9EB697475667362EB59503064D659D617D7EB07726278DA70AFDAEB ABA4DAEA17D764EA6B7DEA9FDA63EA1512D6EA68C5DBE96D8688A1ACA0EB8F63A3459D26 EB5B3C40251628EB4566298331A2EBF5>{UCS}forall } put Encoding 108 /l put CharacterDefs /l {<73DC643722B9DA64E0EE7BD9A7DAE9414DD7132ED65D37D6EBB6 6D97D983D999D992D9EB67777461725CEB595064D74AD62FD61AD7EB197D6179DA70AFDA EB8FD971DDEA64641FD76513D765EB5A645A7D637DEBACDA64EA30D743D3EAF5 >{UCS}forall } put Encoding 110 /n put CharacterDefs /n {<B8DF644E3CA6DEB7DDEE94DC4FE9106E58ADD976AFDAEB8F92D9 B59EDA13A2DAEB5BD76761D630D75FD626D7EB5FD72ED5EA1164EA9AD97CDDEA64642FD7 6429D765EB5B655E7D677DEB95DA64EA383BD7EA635F9E74D978DA91D9EBA7D98168DA08 8CD90AD6EB2F21D70627D65F34D6EB9F6D64D971D96AD97DD9EB686D6E646D61EB5F5721 16D753D629D7EBF5>{UCS}forall } put Encoding 111 /o put CharacterDefs /o {<9FDE645053AFDDBADDEE6FAFDAE98EAED9B0D96FDB9BDBC3DAEB 97D9566DDA55D7A0D905D6EB3823D73DD708D63ED513D6EB18D76E5CD69BD917D7B5DAEB B464E93F4AD75026D6C524D6EB8FD96274DA76D9A2DA9FDAEB989DD961B9DA03B7DAEB44 D7604FD640D726D616D6EBF5>{UCS}forall } put Encoding 114 /r put CharacterDefs /r {<68DE645F63A6DDA1DDEEC1DC79DCE9446C2C8438AAEB6B7C8188 8487EB6664598360D76EEB4ED74920D71CD71ED712D7EB5ED72ED5EA1363EA98D97DDDEA 646420D7651FD765EB5C65677D717DEB95DA64EA3F4FD7EA635F9E79D9C2D97ED9EB90D9 6A90D9338DD911EB613A3D291E31EBF5>{UCS}forall } put Encoding 115 /s put CharacterDefs /s {<BCDD644D309DDCABDDEEA9DAA9DDE9A6667DD93E8ED92EEB8D3D 920B6E5BD7EB445209670B8CEB689C909582ABEB5F6C398A59D789EB4F641E550A1DEB3C 57D7AADA05D786DA2CD5EB5521234ED73ED743D7EB2CD74B33D6A12ED6C6EB5E8C5BA171 B8EB7A7B9E83BA73EB8F4C9950D74649D7EB055CA2D954D792DA5BEB6CD98AD91FD69CDA 41D66DDCEB76B5A864D9BAD969D9EBF5>{UCS}forall } put Encoding 116 /t put CharacterDefs /t {<9ADC646216BBDB64E0EEA2D9A7DAE9414DD7133ED65D3CD6EBA5 626ED977D975D985D9EB6B73746D6D61EB59500241D658D61DD7EB1D8C6278DA70AFDAEB AAA4DAEA56D764EA697DEA74D964EAA47DDAEA64644AD7633CD763EB58645D7E677EEB83 DA64EA1E32D6EA8DD964EA5C4BEA3AD764EA192AD6EAF5>{UCS}forall } put Encoding 117 /u put CharacterDefs /u {<B5E0645F28ABDF96DDEEBBD9A7DAE9414DD71828D67F32D6EB76 DA7AA5DBB8DBA8DBC6DBEB8A87D9EAB563EA5DD711D5EA552D472DD78E37D7EBB06F75D9 87D977D991D9EB677074687364EB5F581C5AD643D61DD7EB017B7476DB7475DBEB646652 D75CD605D725D6EB213521D75BD728D639EB249159C7D96899DAEBAFA6DAEA646428D763 1BD764EB5B645B7D647DEBA4DA64EA1311D6EAF5>{UCS}forall } put Encoding 119 /w put CharacterDefs /w {<BEE264553194E166DEEE86DB87E95558130E51D642EB217D3F69 DA4C9EDAEBA7A5DAEA646433D7652BD765EB54635F7D687DEB87DA64EA1B11D6EA454ED7 3B32D69837D6EBC5D970B3DA6DDCB6DA7BDCEB8169D9EAAD63EA090FD5EA5628562FD7B3 3DD7EB65DA83C7DAB8DA6BDB67DCEB6A67D9326007C0EB5A7B6EB197B3EB6F64B467B80B EB6C63D64CD764D43AD619D4EB545A45D71358D632EB5BD78D5B78DB5871DBEB64682163 D63CD725D6EBF5>{UCS}forall } put Encoding 209 /emdash put CharacterDefs /emdash {<6EDF646964DC73DF91DCEE6991DCE96EDF64EA6437EA5AD1 64EA6491EAF5>{UCS}forall } put AltRTD /UCS known {} {AltRTD begin /UVec[{rmoveto}{rlineto}{rcurveto} {ShowExt}{]concat}{Cache}{setlinewidth}{ShowInt}{setlinecap}{setlinejoin} {gsave}{[}{{fill}}{{eofill}}{{stroke}}{SetWid}{100 mul add}{100 mul} {100 div}]def /UCS{dup 200 lt{100 sub}{dup 233 lt{216 sub 100 mul add} {233 sub UVec exch get exec}ifelse}ifelse}def end}ifelse /EFN[]def end systemdict /currentpacking known{SavPak setpacking}if /Lawslope $Lawslope definefont pop %/TestFont $Lawslope definefont pop /LI{/Lawslope FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 8 L 480 V 10 HI 2561(Cover Art: Spirograph)S 840 V 9 C 600(0)S 708(setlinewidth)S 960 V 600(90)S 762(spiro)S 1200 V 360( )S gsave .5 .5 scale 250 -130 rmoveto currentpoint translate 1200 V /circle { newpath 0 360 arc stroke } def /spiro { /ncircles exch def ncircles { 80 0 65 circle 360 ncircles div rotate } repeat } def 0 setlinewidth 90 spiro grestore 2760 V 10 R 600(The)S 790(nice)S 991(thing)S 1232(about)S 1489(the)S 10 C 1676(spiro)S 10 R 2011(procedure)S 2444(is)S 2546(that)S 2730(you)S 2880 V 360(can)S 540(simply)S 855(rede\256ne)S 1218(it)S 1316(to)S 1436(draw)S 1677(something)S 2136(other)S 2382(than)S 2595(circles,)S 3000 V 360(and)S 534(the)S 686(corresponding)S 1287(graphic)S 1616(will)S 1802(be)S 1926(repeatedly)S 2371(drawn:)S 3240 V 9 C 600(/Times-Roman)S 1302(findfont)S 1788(60)S 1950(scalefont)S 2490(setfont)S 3360 V 600(/spiro)S 978({)S 3480 V 780(/ncircles)S 1320(exch)S 1590(def)S 3600 V 780(ncircles)S 1266({)S 3720 V 960(80)S 1122(0)S 1230(moveto)S 1608(\(PSJ\))S 1932(show)S 3840 V 960(360)S 1176(ncircles)S 1662(div)S 1878(rotate)S 3960 V 780(})S 888(repeat)S 4080 V 600(})S 708(def)S gsave .5 .5 scale 150 -200 rmoveto currentpoint translate /Times-Roman findfont 60 scalefont setfont /spiro { /ncircles exch def ncircles { 80 0 moveto (PSJ) show 360 ncircles div rotate } repeat } def 10 spiro grestore 6120 V 10 C 600(spiro)S 10 R 933(puts)S 1133(the)S 1288(\256gure's)S 1626(center)S 1902(at)S 2007(\(0,)S 2148(0\),)S 2289(so)S 2411(if)S 2504(you)S 2686(want)S 6240 V 360(it)S 455(to)S 572(appear)S 876(elsewhere)S 1313(on)S 1452(the)S 1613(page)S 1840(\(like)S 2062(we)S 2216(did\))S 2415(you'll)S 2692(have)S 6360 V 360(to)S 10 C 527(translate)S 10 R 1126(to)S 1263(that)S 1472(location.)S 1908(When)S 2205(you)S 2414(start)S 2644(to)S 2780(do)S 6480 V 360(things)S 636(like)S 817(changing)S 1214(the)S 1367(origin,)S 1662(it's)S 1820(usually)S 2139(a)S 2213(good)S 2443(idea)S 2639(to)S 2747(use)S 6600 V 10 C 360(gsave)S 10 R 690(and)S 10 C 894(grestore)S 10 R 1404(to)S 1512(preserve)S 1879(the)S 2031(graphics)S 2399(state:)S 6840 V 9 C 600(gsave)S 6960 V 780(144)S 996(600)S 1212(translate)S 7080 V 780(90)S 942(spiro)S 7200 V 600(grestore)S 840 V 10 R 3240(When)S 3524(the)S 10 C 3722(grestore)S 10 R 4248(is)S 4361(performed,)S 10 C 4877(translate)S 10 R 5417('s)S 5534(effect)S 960 V 3240(on)S 3370(the)S 3522(origin)S 3791(is)S 3888(lost,)S 4088(and)S 4262(nobody)S 4592(is)S 4689(the)S 4841(wiser.)S 1080 V 3480(Since)S 3735(this)S 3913(preview)S 4267(of)S 10 I 4383(The)S 4566(PostScript)S 5016(Language)S 5449(Journal)S 1200 V 10 R 3240(is)S 3349(only)S 3569(eight)S 3811(pages)S 4079(long,)S 4323(we)S 4480(chose)S 4748(a)S 4833(simple)S 5141(graphic)S 5481(for)S 5638(the)S 1320 V 3240(cover)S 3502(that)S 3693(we)S 3849(could)S 4111(describe)S 4483(in)S 4601(less)S 4791(than)S 5003(two)S 5193(pages.)S 5515(In)S 5638(the)S 1440 V 3240(Premier)S 3602(Issue)S 3853(we'll)S 4104(have)S 4337(something)S 4799(a)S 4888(little)S 5117(more)S 5367(elaborate;)S 1560 V 3240(we'll)S 3475(also)S 3666(discuss)S 3985(how)S 4187(the)S 4339(shaded)S 4646(rectangles)S 5080(are)S 5231(produced.)S 1680 V 3480(Here's)S 3775(something)S 4222(to)S 4330(tide)S 4510(you)S 4690(over)S 4897(until)S 5111(then:)S 1920 V 3240( )S gsave 125 -35 rmoveto .6 .6 scale currentpoint translate 1920 V /circ 16 dict def circ begin /pi 3.1415923 def /halfang { stringwidth pop 2 div xrad2pi360 mul } def /angshow { /char exch def /half char halfang neg def half rotate gsave rad 0 translate -100 rotate char stringwidth pop 2 div neg 0 moveto char show grestore half rotate } def end /circletext { circ begin /rad exch def /centerang exch def /ptsize exch def /str exch def /xrad2pi360 rad ptsize 4 div add 2 mul pi mul 360 exch div def gsave 180 rotate str { /charcode exch def ( ) dup 0 charcode put angshow .985 .985 scale } forall grestore end } def /spiro { gsave /ncircles exch def ncircles { 80 0 65 spiral 360 ncircles div rotate } repeat grestore } def /Times-Roman findfont 40 scalefont setfont 1 .3 scale /spiral { (The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal The PostScript Language Journal ) 30 0 190 circletext } def 2 spiro grestore 3000 V 3960 H 5 R 5040 xc 3000 yc l st 5040 xc 3000 yc m 3240 V 10 BI 3240(Upcoming)S 3769(PostScript)S 4292(Classes:)S 10 I 4761(Adobe)S 5116(Systems)S 5532(offers)S 3360 V 3240(introductory)S 3874(and)S 4157(advanced)S 4672(courses)S 5110(on)S 5343(PostScript)S 3480 V 3240(programming:)S 3720 V 10 BI 3240(Introduction)S 3794(to)S 3902(PostScript)S 10 I 4355(\($300\))S 3840 V 3600(November)S 4040(17-18)S 4303(and)S 4483(December)S 4922(15-16.)S 4080 V 10 BI 3240(PostScript)S 3693(Drivers)S 10 I 4028(\($400\))S 4200 V 3600(November)S 4040(19-21)S 4303(and)S 4483(December)S 4922(17-19.)S 4440 V 3240(For)S 3489(more)S 3792(information)S 4363(concerning)S 4910(enrollment,)S 5466(contact)S 4560 V 3240(Cynthia)S 3587(Johnston)S 3978(at)S 4086(Adobe)S 4371(Systems)S 4717(\(415\))S 4963(852-0271.)S 4800 V 3960 H 5 BI 5040 xc 4800 yc l st 5040 xc 4800 yc m 5040 V 10 BI 3240(Last)S 3462(minute)S 3796(news:)S 10 I 4108(Adobe)S 4406(Systems)S 4765(has)S 4947(licensed)S 5317(the)S 5482(Lucida)S 5160 V 3240(typeface)S 3613(family)S 3904(from)S 4134(Bigelow)S 4503(and)S 4693(Holmes.)S 5093(Lucida,)S 5436(the)S 5598(first)S 5280 V 3240(typeface)S 3607(family)S 3892(designed)S 4282(specifically)S 4772(for)S 4924(laser)S 5159(printers,)S 5536(is)S 5638(the)S 5400 V 3240(creation)S 3626(of)S 3757(Charles)S 4127(Bigelow)S 4508(and)S 4710(Kris)S 4935(Holmes,)S 5317(and)S 5519(is)S 5638(the)S 5520 V 3240(result)S 3500(of)S 3610(years)S 3858(of)S 3967(development)S 4502(in)S 4611(the)S 4764(area)S 4978(of)S 5087(low)S 5263(and)S 5444(medium)S 5640 V 3240(resolution)S 3676(imaging)S 4034(technology.)S 5880 V 3960 H 5 I 5040 xc 5880 yc l st 5040 xc 5880 yc m 6120 V 9 LI 3240(Great)S 3556(is)S 3682(the)S 3884(art)S 4074(of)S 4210(beginning,)S 4782(but)S 4995(greater)S 5406(the)S 5607(art)S 6240 V 3240(is)S 3359(of)S 3489(ending.)S 6360 V 9 R 5083(\320)S 5173 H 9 LI 5188(Longfellow)S 7680 V 8 L 3386(P o s t S c r i p t L a n g u a g e J o u r n a l )S 8 Y1 5036(d )S 8 L 5127(Preview Issue 7)S 7920 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Italic Times-BoldItalic Helvetica Helvetica-Oblique Courier Lawslope Troff %%Pages: 2 XxXxXxXxXx-EOF-XxXxXxXxXx echo restoring back.ps cat > back.ps <<\XxXxXxXxXx-EOF-XxXxXxXxXx %!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Wed Oct 15 20:21:56 1986 %%Pages: (atend) %%DocumentFonts: (atend) /r{rmoveto}def /m{moveto}def /l{lineto}def /rl{rlineto}def /st{stroke}def /gs{gsave}def /gr{grestore}def /cp{currentpoint}def /np{newpath}def /ct{curveto}def /m0{0 0 moveto}def /BP{save mark m0}def /EP{ showpage cleartomark restore}def /res 10.000000 def /V{res neg div 792 add currentpoint pop exch m}def /H{res div currentpoint exch pop moveto}def /h{res div 0 r}def /v{res neg div 0 exch r}def /xc{res div}def /yc{res neg div 792 add}def /S{exch H show}def /psize 10 def /height 1 def /slant 0 def /FF{findfont exch dup 12 div setlinewidth /psize exch def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont}def /shade{gs /dy exch def /dx exch def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}def 1 setlinecap %%EndProlog %%MoreProlog /R{/Times-Roman FF}def %%EndMoreProlog 10 R %%Page: 1 1 %%MoreProlog /L{/Helvetica FF}def /HI{/Helvetica-Oblique FF}def /HB{/Helvetica-Bold FF}def /HX{/Helvetica-BoldOblique FF}def %% Troff special characters not on Symbol font /altRTD 20 dict def altRTD begin /s{setcachedevice}def /C{1000 1000 scale}def /m{moveto}def /c{curveto}def /S{stroke}def /l{lineto}def end /F_Troff 17 dict def F_Troff begin systemdict /currentpacking known {/SavePacking currentpacking def true setpacking}if /PaintType 0 def /FontType 3 def /StrokeWidth 0 def /UniqueID 8277003 def /FontMatrix [.001000 0 0 .001000 0 0] def /FontBBox [-12 -105 942 855 ] def /Encoding 256 array def /CD 256 1 add dict def /FontInfo 3 dict def FontInfo begin /UnderlinePosition -133 def /UnderlineThickness 20 def end /FontName (Troff) def 0 1 256 1 sub{Encoding exch /.notdef put}for CD /.notdef{500 0 setcharwidth{}}put Encoding (1) 0 get /br put %% bold vertical rule used by tbl CD /br{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m 0 .9 l {S} }put Encoding (2) 0 get /ul put %% underline used by tbl CD /ul{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 -.1 m .5 -.1 l {S} }put Encoding (3) 0 get /ru put %% baseline rule CD /ru{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth m0 .5 0 l {S} }put Encoding (4) 0 get /vr put %% vertical rule CD /vr{ C 0 0 -.5 -.5 1 1 s np .05 setlinewidth m0 0 1 l {S} }put Encoding (5) 0 get /sq put %% square CD /sq{ C .5 0 -.5 -.5 1 1 s np .05 setlinewidth 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {S} }put Encoding (6) 0 get /bx put %% solid box CD /bx{ C .5 0 -.5 -.5 1 1 s np 0 .25 m 0 .5 rl .5 0 rl 0 -.5 rl -.5 0 rl closepath {fill} }put Encoding (7) 0 get /rn put %% radical extender CD /rn{ C .5 0 -.5 -.5 1 1 s np .03 setlinewidth -.03 .9 m .5 0 rl {S} }put Encoding 97 /a put CD /a{1000 0 0 66 942 421 s 430 415 m 578 406 678 349 662 319 c 655 306 614 287 583 296 c 570 300 466 340 438 332 c 365 309 335 213 270 209 c 0 310 m 108 310 l 108 114 l 0 114 l 0 310 l 42 161 m 42 134 l 66 134 l 66 161 l 42 161 l 47 155 m 47 140 l 62 140 l 62 155 l 47 155 l 110 133 m 226 113 300 66 410 80 c 497 91 550 69 634 76 c 645 76 663 92 669 107 c 677 125 673 141 668 160 c 725 334 m 758 332 734 253 701 250 c 501 325 m 475 316 476 309 473 302 c 465 282 482 263 499 257 c 552 236 615 253 689 253 c 701 253 713 236 713 218 c 712 194 702 168 678 161 c 671 159 663 160 655 160 c 591 158 516 156 479 168 c 461 173 453 191 453 210 c 453 224 456 235 466 244 c 476 253 490 252 503 255 c 459 84 m 447 96 435 106 435 123 c 435 136 440 145 447 155 c 453 163 462 168 469 173 c 110 293 m 173 318 300 421 435 415 c 609 407 852 416 885 411 c 898 409 924 411 930 380 c 942 316 828 339 742 334 c 731 334 730 335 725 335 c 701 336 685 336 660 336 c{S}}put Encoding 98 /b put CD /b{1000 0 -12 66 930 421 s 500 415 m 352 406 252 349 268 319 c 275 306 316 287 347 296 c 360 300 464 340 492 332 c 565 309 595 213 660 209 c 930 310 m 822 310 l 822 114 l 930 114 l 930 310 l 888 161 m 888 134 l 864 134 l 864 161 l 888 161 l 883 155 m 883 140 l 868 140 l 868 155 l 883 155 l 820 133 m 704 113 630 66 520 80 c 433 91 380 69 296 76 c 285 76 267 92 261 107 c 253 125 257 141 262 160 c 205 334 m 172 332 196 253 229 250 c 429 325 m 455 316 454 309 457 302 c 465 282 448 263 431 257 c 378 236 315 253 241 253 c 229 253 217 236 217 218 c 218 194 228 168 252 161 c 259 159 267 160 275 160 c 339 158 414 156 451 168 c 469 173 477 191 477 210 c 477 224 474 235 464 244 c 454 253 440 252 427 255 c 471 84 m 483 96 495 106 495 123 c 495 136 490 145 483 155 c 477 163 468 168 461 173 c 820 293 m 757 318 630 421 495 415 c 321 407 78 416 45 411 c 32 409 6 411 0 380 c -12 316 102 339 188 334 c 199 334 200 335 205 335 c 229 336 245 336 270 336 c{S}}put Encoding 99 /c put CD /c{1000 0 184 0 827 627 s 185 315 m 186 488 332 627 505 625 c 682 623 827 467 815 290 c 804 124 666 0 500 0 c 327 0 184 142 185 315 c{S}}put Encoding 100 /d put CD /d{590 0 134 158 477 500 s 300 160 m 208 162 134 238 135 330 c 136 423 212 500 305 500 c 397 500 473 427 475 335 c 477 239 396 158 300 160 c{fill}}put /BuildChar{altRTD /BuildChar get exec}def end altRTD begin /BuildChar{altRTD begin /char exch def /fontdict exch def save /charname fontdict /Encoding get char get def fontdict /StrokeWidth get setlinewidth fontdict /CD get dup charname known {charname}{/.notdef}ifelse get newpath exec fontdict /PaintType get 0 eq{exec}{pop S}ifelse restore end}def end systemdict /currentpacking known{F_Troff /SavePacking get setpacking}if /Troff F_Troff definefont pop /Y1{/Troff FF}def %%EndMoreProlog BP /slant 0 def /height 1.000000 def 10 R 840 V 18 HB 844(Subscribe)S 1768(now)S 2178(to)S 18 HX 2397(The)S 2768(PostScript)S 3720(Language)S 4623(Journal)S 1120 V 12 L 3023(Canada)S 3478(and)S 1190 V 2443(U.)S 2597(S.)S 1260 V 3161(Mexico)S 1190 V 3867(Overseas)S 1540 V 1080(One)S 1342(year)S 1610(\(4)S 1751(issues\))S 1580 V 19 Y1 2311(5)S 1540 V 12 L 2474($15.00)S 1580 V 19 Y1 3023(5)S 1540 V 12 L 3186($17.00)S 1580 V 19 Y1 3859(5)S 1540 V 12 L 4022($19.00)S 1680 V 1080(Two)S 1340(year)S 1608(\(8)S 1749(issues\))S 1720 V 19 Y1 2311(5)S 1680 V 12 L 2474($25.00)S 1720 V 19 Y1 3023(5)S 1680 V 12 L 3186($27.00)S 1720 V 19 Y1 3859(5)S 1680 V 12 L 4022($29.00)S 2140 V 19 Y1 1080(5)S 2100 V 12 L 1243(Payment)S 1752(enclosed)S 2267(\(make)S 2635(check)S 2983(payable)S 3438(in)S 3565(U.S.)S 3833(dollars\))S 2280 V 19 Y1 1080(5)S 2240 V 12 L 1243(Bill)S 1435(me)S 1636(\(overseas)S 2198(subscriptions)S 2933(must)S 3228(be)S 3396(prepaid)S 3831(in)S 3958(U.S.)S 4226(dollars\))S 2568 V 9 HI 4560(Fold at dotted lines and staple)S 2688 V 10 HB 384(................................................................................................................................................................................................)S 3048 V 10 L 5481(Affix )S 3168 V 5391(Postage)S 3288 V 5459(Here )S gsave 160 320 translate 3960 V /pica {12 mul} def /square { gsave 0 setlinewidth dup scale newpath 0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto stroke grestore } def /fillsquare { gsave 0 setlinewidth dup scale newpath 0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto fill grestore } def % note: no gsave/grestore pair here! /clipsquare { 0 setlinewidth dup scale newpath 0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto clip } def % box: size {proc} box /box { /stringproc exch def /size exch def % draw shadow first gsave -.05 size mul -.15 size mul translate [1 0 2 1 0 0]concat 1 .25 scale .0 setgray size fillsquare grestore gsave .8 setgray size fillsquare 0 setgray size square size clipsquare stringproc grestore gsave size 0 translate [1 .5 0 1 0 0]concat .5 1 scale .99 setgray size fillsquare 0 setgray size square size clipsquare -1 0 translate stringproc grestore gsave 0 size translate [1 0 2 1 0 0]concat 1 .25 scale size square size clipsquare 0 -1 translate stringproc grestore } def % here beginneth all user stuff... % 0 pica 18 pica translate gsave /Helvetica findfont 12 scalefont setfont 11 pica 6 pica moveto (P.O. Box 5763) show 11 pica 4.8 pica moveto (Parsippany, NJ 07054) show grestore gsave .3 .3 scale /Times-Roman findfont .35 scalefont setfont 9 pica 6 pica translate 17 pica { .2 .7 moveto (PostScript) show .2 .4 moveto (Language) show .2 .1 moveto (Journal) show} box /Times-Roman findfont .85 scalefont setfont 6 pica 19 pica translate 6 pica {.25 .2 moveto (The) show} box grestore grestore 5448 V 10 HB 384(................................................................................................................................................................................................)S 6108 V 10 L 1444(...................................................................................................................................)S 6228 V 1440(Name)S 1735(\(please)S 2092(print\))S 6468 V 1444(...................................................................................................................................)S 6588 V 1440(Company/Title)S 6828 V 1444(...................................................................................................................................)S 6948 V 1440(Address)S 7188 V 1444(...................................................................................................................................)S 7308 V 1440(City)S 3600(State)S 4680(Zip)S 4847(Code)S 7920 V EP %%Trailer %%DocumentFonts: Times-Roman Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-BoldOblique Troff %%Pages: 1 XxXxXxXxXx-EOF-XxXxXxXxXx