Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!rutgers!pyrnj!esquire!patwood From: patwood@esquire.UUCP (Patrick H. Wood) Newsgroups: net.sources Subject: PostScript Journal (part 1 of 3) Message-ID: <13@esquire.UUCP> Date: Fri, 7-Nov-86 18:19:49 EST Article-I.D.: esquire.13 Posted: Fri Nov 7 18:19:49 1986 Date-Received: Sat, 8-Nov-86 18:40:15 EST Organization: DP&W, New York, NY Lines: 1728 Keywords: postscript journal 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