home *** CD-ROM | disk | FTP | other *** search
- %==================================================================%
- % Professional Draw PostScript Prologue file: V3.01, July 15, 1992 %
- %==================================================================%
-
- /uniqueid 0 def
- /amigavec [
- 8#055 /hyphen
- 8#230 /dotlessi
- 8#231 /grave
- 8#232 /acute
- 8#233 /circumflex
- 8#234 /tilde
- 8#235 /dieresis
- 8#236 /ring
- 8#237 /cedilla
- 8#240 /space
- 8#241 /exclamdown
- 8#242 /cent
- 8#243 /sterling
- 8#244 /currency
- 8#245 /yen
- 8#246 /bar
- 8#247 /section
- 8#250 /dieresis
- 8#251 /copyright
- 8#252 /ordfeminine
- 8#253 /guillemotleft
- 8#254 /logicalnot
- 8#255 /.notdef
- 8#256 /registered
- 8#257 /macron
- 8#260 /ring
- 8#261 /.notdef
- 8#262 /.notdef
- 8#263 /dagger
- 8#264 /.notdef
- 8#265 /.notdef
- 8#266 /paragraph
- 8#267 /bullet
- 8#270 /quotesinglbase
- 8#271 /.notdef
- 8#272 /ordmasculine
- 8#273 /guillemotright
- 8#274 /.notdef
- 8#275 /.notdef
- 8#276 /.notdef
- 8#277 /questiondown
- 8#300 /Agrave
- 8#301 /Aacute
- 8#302 /Acircumflex
- 8#303 /Atilde
- 8#304 /Adieresis
- 8#305 /Aring
- 8#306 /AE
- 8#307 /Ccedilla
- 8#310 /Egrave
- 8#311 /Eacute
- 8#312 /Ecircumflex
- 8#313 /Edieresis
- 8#314 /Igrave
- 8#315 /Iacute
- 8#316 /Icircumflex
- 8#317 /Idieresis
- 8#320 /.notdef
- 8#321 /Ntilde
- 8#322 /Ograve
- 8#323 /Oacute
- 8#324 /Ocircumflex
- 8#325 /Otilde
- 8#326 /Odieresis
- 8#327 /.notdef
- 8#330 /Oslash
- 8#331 /Ugrave
- 8#332 /Uacute
- 8#333 /Ucircumflex
- 8#334 /Udieresis
- 8#335 /.notdef
- 8#336 /.notdef
- 8#337 /germandbls
- 8#340 /agrave
- 8#341 /aacute
- 8#342 /acircumflex
- 8#343 /atilde
- 8#344 /adieresis
- 8#345 /aring
- 8#346 /ae
- 8#347 /ccedilla
- 8#350 /egrave
- 8#351 /eacute
- 8#352 /ecircumflex
- 8#353 /edieresis
- 8#354 /igrave
- 8#355 /iacute
- 8#356 /icircumflex
- 8#357 /idieresis
- 8#360 /.notdef
- 8#361 /ntilde
- 8#362 /ograve
- 8#363 /oacute
- 8#364 /ocircumflex
- 8#365 /otilde
- 8#366 /odieresis
- 8#367 /.notdef
- 8#370 /oslash
- 8#371 /ugrave
- 8#372 /uacute
- 8#373 /ucircumflex
- 8#374 /udieresis
- 8#375 /.notdef
- 8#376 /.notdef
- 8#377 /ydieresis
- ] def
-
- /bdef {bind def} bind def
- /ldef {load def} bdef
- /n /newpath ldef
- /m2 /moveto ldef
- /l2 /lineto ldef
- /c2 /curveto ldef
- /rm /rmoveto ldef
- /rl /rlineto ldef
- /gs /gsave ldef
- /gr /grestore ldef
- /g /setgray ldef
- /s /stroke ldef
-
- %
- % Font handling routines
- %
-
- /dontCopyID false def
- /copyfont {
- { exch dup /FID ne
- {
- dup /UniqueID eq dontCopyID and
- {pop pop}
- {
- dup /Encoding eq
- { exch dup length array copy outfontdict 3 1 roll put}
- { exch outfontdict 3 1 roll put}
- ifelse
- }
- ifelse
- }
- { pop pop}
- ifelse
- } forall
- } bdef
-
- /recode {
- copyfont dup dup
- outfontdict /FontName 3 -1 roll put
- amigavec aload pop
- amigavec length 2 idiv
- {outfontdict /Encoding get 3 1 roll put} repeat
- } bdef
-
- /defamigafont {
- /fntsclmtx [0 0 0 0 0 0] def
- exch
- dup fntsclmtx exch 0 exch put
- neg fntsclmtx exch 3 exch put
- findfont fntsclmtx makefont setfont
- } bdef
-
- /deffont {
- 3 -1 roll
- {
- dup dup length dup 5 add string /newnamestr exch def
- exch newnamestr copy pop newnamestr exch (Amiga) putinterval
- newnamestr cvn dup FontDirectory exch known
- {exch pop}
- {
- exch cvn findfont
- dup maxlength 2 add dict /outfontdict exch def
- /dontCopyID false def recode
- outfontdict definefont pop
- }
- ifelse
- }
- { cvn }
- ifelse
- defamigafont
- } bdef
-
- /rect 4 array def % used in dobox
- /dorect {
- n
- rect aload pop 4 copy m2 3 1 roll exch l2
- 4 2 roll l2 l2
- closepath
- } bdef
-
- /dobox { %clip trnsp x1 y1 x2 y2 dobox
- rect astore pop
- {} {dorect 1 g fill} ifelse
- {dorect clip} if
- } bdef
-
- /dogreyimage { % width height xscl yscl x0 y0 dogreyimage
- 5 index 1 add 2 idiv string
- /picstr exch def
- translate scale
- 4 [1 0 0 1 0 0]
- {currentfile picstr readhexstring pop }
- image
- } bdef
-
- /do8greyimage { % width height xscl yscl x0 y0 do8greyimage
- % same as above, but 8 bits per sample
- 5 index string
- /picstr exch def
- translate scale
- 8 [1 0 0 1 0 0]
- {currentfile picstr readhexstring pop }
- image
- } bdef
-
- /do8bingreyimage { % width height xscl yscl x0 y0 do8greyimage
- % same as above, but 8 bits per sample
- 5 index string
- /picstr exch def
- translate scale
- 8 [1 0 0 1 0 0]
- {currentfile picstr readstring pop }
- image
- } bdef
-
-
- /docolorimage { % width height xscl yscl x0 y0 docolorimage
- 4 dict begin
- 5 index 1 add 2 idiv
- dup /cstr exch string def
- dup /ystr exch string def
- dup /mstr exch string def
- /kstr exch string def
- translate scale
- 4 [1 0 0 1 0 0]
- { currentfile cstr readhexstring pop }
- { currentfile mstr readhexstring pop }
- { currentfile ystr readhexstring pop }
- { currentfile kstr readhexstring pop }
- true 4 colorimage
- end
- } bdef
-
- /do8colorimage { % width height xscl yscl x0 y0 docolorimage
- 4 dict begin
- 5 index
- dup /cstr exch string def
- dup /ystr exch string def
- dup /mstr exch string def
- /kstr exch string def
- translate scale
- 8 [1 0 0 1 0 0]
- { currentfile cstr readhexstring pop }
- { currentfile mstr readhexstring pop }
- { currentfile ystr readhexstring pop }
- { currentfile kstr readhexstring pop }
- true 4 colorimage
- end
- } bdef
-
- /bwline { % linewidth linejoin linecap grey dash 0 bwline
- setdash g setlinecap setlinejoin setlinewidth
- } bdef
-
- /colorline { %linewidth linejoin linecap c m y k dash 0 colorline
- setdash setcmykcolor setlinecap setlinejoin setlinewidth
- } bdef
-
- /ellipsedict 2 dict def
- ellipsedict /mtrx matrix put
-
- /ellipse { % xr yr angle cx cy ellipse
- ellipsedict begin
- /savematrix mtrx currentmatrix def
- translate
- rotate
- scale
- 0 0 1 0 360 arc
- savematrix setmatrix
- end
- } bdef
-
- /initpage {
- gs
- mir {pagexsize 0 translate -1 1 scale} if
- 0 pageysize translate
- 0.96 -0.96 scale
- } bdef
-
- /endpage {
- gr
- } bdef
-
- /getpagetype { % width ht orient getpagetype width ht orient pagetype
- dup 0 eq {0}
- {
- 3 copy pop
- 2 copy 709 le exch 499 le and
- {pop pop 4} {
- 2 copy 842 le exch 596 le and
- {pop pop 3} {
- 2 copy 792 le exch 612 le and
- {pop pop 1} {
- 1008 le exch 612 le and
- {2} {0} ifelse
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- } bdef
-
- /initcolorpage { % pitch1 angle1 ... pitch4 angle4 ysize width ht orient neg mirror manual #copies epsf----
- commoninit
- 12 dict begin
- /ka exch def /kf exch def
- /ba exch def /bf exch def
- /ga exch def /gf exch def
- /ra exch def /rf exch def
- currentcolorscreen
- /kp exch def pop pop
- /bp exch def pop pop
- /gp exch def pop pop
- /rp exch def pop pop
- rf ra /rp load gf ga /gp load bf ba /bp load kf ka /kp load setcolorscreen
- end
- } bdef
-
- /initbwpage { % pitch angle ysize width ht orient neg mirror manual #copies epsf ----
- commoninit
- currentscreen 3 1 roll pop pop setscreen
- } bdef
-
- /donegprint
- {
- 0 g
- 0 0 m2 pagexsize 0 l2 pagexsize pageysize l2
- 0 pageysize l2 closepath fill
- [{1 exch sub} /exec load currenttransfer /exec load] cvx settransfer
- } bdef
-
- /commoninit { % ysize width ht orient neg mirror manual #copies epsf ----
- { pop pop pop pop pop pop pop
- /pageysize exch def
- }
- {
- /#copies exch def
- /man exch def
- /mir exch def
- /negat exch def
- 3 -1 roll dup /pagexsize exch def 3 1 roll
- 4 -1 roll dup /pageysize exch def 4 1 roll
- statusdict begin
-
- statusdict /manualfeed known
- {/manualfeed man def} if
- statusdict /mirrorprint known
- {/mirrorprint mir def userdict begin /mir false def end} if
- statusdict /negativeprint known
- {/negativeprint negat def} {negat {donegprint} if} ifelse
-
- getpagetype
- dup 0 ne {
- dup 1 eq {
- userdict /letter known
- {letter} {pop 0} ifelse
- } if
- dup 2 eq {
- userdict /legal known
- {legal} {pop 0} ifelse
- } if
- dup 3 eq {
- userdict /a4 known
- {a4} {pop 0} ifelse
- } if
- dup 4 eq {
- userdict /b5 known
- {b5} {pop 0} ifelse
- } if
- } if
- 0 eq statusdict /setpage known and
- {setpage} {pop pop pop} ifelse
- end
- pop % pop pageysize as it was already used
- }
- ifelse
-
- } bdef
-
- /crop { % x0 y0 x1 y1 l s crop
- 2 dict begin
- /spc exch def /len exch def
- gs initclip n
- 0.25 setlinewidth 0 setgray
- 2 copy m2 0 spc rm 0 len rl 2 copy m2 spc 0 rm len 0 rl
- 4 2 roll 2 copy m2 0 spc neg rm 0 len neg rl 2 copy m2 spc neg 0 rm len neg 0 rl
- 4 1 roll exch
- 2 copy m2 0 spc rm 0 len rl m2 spc neg 0 rm len neg 0 rl
- exch 2 copy m2 spc 0 rm len 0 rl m2 0 spc neg rm 0 len neg rl
- s gr
- end
- } bdef
-
- /cross { % xc yc len cross
- 1 dict begin
- /len exch def
- m2 0 len -2 div rm 0 len rl
- len -2 div dup rm len 0 rl
- s
- end
- } bdef
-
- /oneregister { % xc yc len oneregister
- 0 setgray 0.25 setlinewidth
- 3 copy 3 copy cross 4 div 0 360 arc fill
- 1 setgray 2 div cross
- } bdef
-
- /drwcalibbar { % x0 y0 wid len drwcalibbar
- fourcol not component 1 eq or {
- 5 dict begin
- n
- /len exch def /width exch def /y0 exch def /x0 exch def
- /increment width 10 div def
- increment len gt {
- /increment len def
- } if
- x0 y0 m2
- 0.0 0.1 1.0 {
- setgray
- len neg 0 rl 0 increment rl len 0 rl currentpoint fill m2
- } for
- end
- }
- {
- pop pop pop pop
- } ifelse
- } bdef
-
- /drwpatch { % k y m c len incr drwpatch
- 3 dict begin
- /incr exch def /len exch def
- component 1 eq {pop pop pop /grayval exch def}{
- component 2 eq {pop pop /grayval exch def pop}{
- component 3 eq {pop /grayval exch def pop pop}{
- component 4 eq {/grayval exch def pop pop pop}{
- /grayval -1 def pop pop pop pop
- }ifelse
- }ifelse
- }ifelse
- } ifelse
- grayval -1 ne {
- grayval setgray
- len neg 0 rl 0 incr neg rl len 0 rl currentpoint fill m2
- } if
- end
- } bdef
-
- /drwcolcalib { % gr1 gr2 x0 y0 wid len drwcolcalib
- 7 dict begin
- n
- /len exch def /width exch def /y0 exch def /x0 exch def
- /gr2 exch def /gr1 exch def
- /increment width 10 div def
- increment len gt {
- /increment len def
- } if
- x0 y0 m2
- gr1 1.0 1.0 1.0 len increment drwpatch % K
- 1.0 gr1 gr1 gr1 len increment drwpatch % CMY
- 1.0 gr2 1.0 gr2 len increment drwpatch % CY
- 1.0 1.0 1.0 gr2 len increment drwpatch % C
- 1.0 1.0 gr2 gr2 len increment drwpatch % CM
- 1.0 1.0 gr2 1.0 len increment drwpatch % M
- 1.0 gr2 gr2 1.0 len increment drwpatch % MY
- 1.0 gr2 1.0 1.0 len increment drwpatch % Y
- end
- } bdef
-
- /register { % x0 y0 x1 y1 l s register
- 6 dict begin
- gs initclip n
- /spc exch def /len exch def
- /y1 exch def /x1 exch def /y0 exch def /x0 exch def
- x1 x0 add 2 div y0 spc sub len 2 div sub len oneregister
- x1 x0 add 2 div y1 spc len 2 div add add len oneregister
- x0 spc sub len 2 div sub y1 y0 add 2 div len oneregister
- x1 spc len 2 div add add y1 y0 add 2 div len oneregister
- gr
- end
- } bdef
-
- %%%% Gradient Fill operators: %%%%%%
-
- /defhexstr { % length /strvar defhexstr -> length
- currentfile 2 index string readhexstring pop def
- } bind def
-
- /getgraystr { % length getgraystr -> length + /gray
- /gray defhexstr
- } bind def
-
- /getcmykstr { % length getcmykstr -> length + /cstr+/mstr+/ystr+/kstr
- /cstr defhexstr
- /mstr defhexstr
- /ystr defhexstr
- /kstr defhexstr
- } bind def
-
- /setgraygrad { % index setgraygrad
- gray exch get 255.0 div setgray
- } bind def
-
- /setcmykgrad { % index setcmykgrad -> index
- dup cstr exch get 255.0 div % -> index cval
- 1 index mstr exch get 255.0 div % -> index cval mval
- 2 index ystr exch get 255.0 div % -> index cval mval yval
- kstr 5 -1 roll get 255.0 div % -> cval mval yval kval
- setcmykcolor
- } bind def
-
- /radgrad { % cx cy radius /setcol steps /getstr radgrad
- 6 dict begin
- gsave eoclip
- cvx exec % read necessary strings with color information
- /steps exch def
- /setcol exch def
- dup steps div /rstep exch def % -> cx cy radius
- 0 1 steps 1 sub {
- setcol
- newpath 3 copy 0 360 arc eofill
- rstep sub
- } for
- pop pop pop
- grestore
- end
- } bind def
-
- /linXgrad { % x1 y1 x2 y2 wd /setcol steps /getstr linXgrad
- 7 dict begin
- gsave eoclip
- cvx exec % read necessary strings with color information
- /steps exch def
- /setcol exch def
- steps div /dx exch def % -> x1 y1 x2 y2
- 0 1 steps 1 sub {
- setcol
- newpath
- 3 index dx add 3 index m2 % -> x1 y1 x2 y2 {x1+dx y1}
- 1 index dx add 1 index l2 % -> x1 y1 x2 y2 {x2+dx y2}
- 4 copy l2 l2 % -> x1 y1 x2 y2 {x1 y1} {x2 y2}
- closepath eofill
- dx 0 translate
- } for
- pop pop pop pop
- grestore
- end
- } bind def
-
- /linYgrad { % x1 y1 x2 y2 ht /setcol steps /getstr linYgrad
- 7 dict begin
- gsave eoclip
- cvx exec % read necessary strings with color information
- /steps exch def
- /setcol exch def
- steps div neg /dy exch def % -> x1 y1 x2 y2
- 0 1 steps 1 sub {
- setcol
- newpath
- 3 index 3 index dy add m2 % -> x1 y1 x2 y2 {x1 y1+dy}
- 2 copy dy add l2 % -> x1 y1 x2 y2 {x2 y2+dy}
- 4 copy l2 l2 % -> x1 y1 x2 y2 {x1 y1} {x2 y2}
- closepath eofill
- 0 dy translate
- } for
- pop pop pop pop
- grestore
- end
- } bind def
-
- %================================================================%
-
- %%EndProlog
-