home *** CD-ROM | disk | FTP | other *** search
- %!PS-Adobe-1.0
- %%Title: GEM Permanent Prologue
- %%Creator: GEM
- %%EndComments
-
- userdict /gemdict known{stop}if
-
- %%BeginExitServer: 000000
- 000000 serverdict begin exitserver
- %%EndExitServer
-
- /gemdict 250 dict def
-
- % Copyright (C) Digital Research, Inc. 1986-1988. All rights reserved.
- systemdict /setpacking known
- {/svp currentpacking def true setpacking}if
- gemdict begin
-
- /bd{bind def}bind def
- /ed{exch def}bind def
-
- % User defined Start of Page procedure: this operator will be
- % executed at the beginning of each page output through GEM
- % and is provided to allow user-defined page initialization.
- /UserSoP{}bd
-
- % Halftone screen spot function procedure array: this array is indexed
- % into as follows: 0 = dot screen, 1 = line screen, 2 = ellipse screen,
- % 3 = custom (user-definable) screen.
- /ScreenProc[
- { % Dot screen
- abs exch abs 2 copy add 1 gt{
- 1 sub dup mul exch 1 sub dup mul add 1 sub}{
- dup mul exch dup mul add 1 exch sub}ifelse}bind
- { % Line screen
- pop}bind
- { % Ellipse screen
- dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}bind
- { % Custom screen
- dup mul exch dup mul add sqrt 1 exch sub}bind
- ]def
-
- /GEMINISUB{pop pop pop pop pop}bd
- /GEMINIDOC{3 -1 roll settray
- dup userdict exch known{cvx exec}{pop}ifelse
- /#copies ed
- statusdict /setpageparams known
- {statusdict begin 0 1 setpageparams end}{pop pop}ifelse}bd
- /geminit{np 1 setlinejoin /mpf true def
- /cmat matrix def /smat matrix def /rmat matrix def
- /encstr 80 string def /patname null def /patbits null def gs}bd
- /GEMMATSUB{pop pop pop pop gr 72 300 div exch div dup scale gs}bd
- /GEMMATINI{/landscape ed /p3 ed /p2 ed /p1 ed
- gr 72 300 div exch div dup scale clippath pathbbox
- exch /prx ed exch dup /ply ed sub 1 add p3 sub 2 div ply
- add /ty ed dup prx exch sub 1 add p2 sub 2 div add
- landscape{p1 add}if ty translate landscape{90 rotate}if gs}bd
- /gr /grestore load def
- /np /newpath load def
- /cp /currentpoint load def
- /gi /getinterval load def
- /lto /lineto load def
- /mto /moveto load def
- /cto /curveto load def
- /clw /currentlinewidth load def
- /gs /gsave load def
- /greset{gr gs}bd
- /settray{dup 0 lt mf dup 0 ge{tray}{pop}ifelse}bd
- /mf{statusdict /manualfeed known
- {statusdict begin /manualfeed ed end}{pop}ifelse}bd
- /tray{statusdict begin true
- product(Dataproducts LZR 1260)eq{not exch dup 2 gt{pop 0}if
- dup 0 eq{pop defaultpapertray}if setpapertray}if
- product(QMS-PS 1200)eq product(Silentwriter)eq or{not exch dup 1 gt
- {pop 0}if defaultpapertray exch 0 ne{3 exch sub}if
- setpapertray}if
- product(IBM Personal Page Printer II)eq{
- statusdict /defaultpapertray known
- statusdict /setpapertray known and
- {not exch dup 2 gt{pop 0}if
- dup 0 eq{pop defaultpapertray}
- {dup defaultpapertray ge{1 add}if}ifelse
- setpapertray}if}if
- product dup(PrintServer 40)eq exch(QMS-PS 2400)eq or{
- not exch dup 2 gt{pop 0}if
- dup 0 eq{pop defaultpapertray}
- {dup defaultpapertray ge{1 add}if}ifelse setpapertray}if
- {statusdict /defaultpapertray known statusdict /setpapertray known and
- {defaultpapertray exch 0 ne{1 exch sub}if setpapertray}
- {pop}ifelse}if end}bd
- /R{findfont begin currentdict dup maxlength dict begin
- {1 index /FID ne{def}{pop pop}ifelse}forall
- /FontName ed dup length 0 ne{
- /Encoding Encoding 256 array copy def 0 exch
- {dup type /nametype eq{
- Encoding 2 index 2 index put pop 1 add}
- {exch pop}ifelse}forall}if pop
- currentdict dup end end /FontName get exch definefont pop}bd
- /gemenvec[8#200 /Ccedilla 8#201 /udieresis 8#202 /eacute 8#203 /acircumflex
- 8#204 /adieresis 8#205 /agrave 8#206 /aring 8#207 /ccedilla
- 8#210 /ecircumflex 8#211 /edieresis 8#212 /egrave 8#213 /idieresis
- 8#214 /icircumflex 8#215 /igrave 8#216 /Adieresis 8#217 /Aring
- 8#220 /Eacute 8#221 /ae 8#222 /AE 8#223 /ocircumflex 8#224 /odieresis
- 8#225 /ograve 8#226 /ucircumflex 8#227 /ugrave 8#230 /ydieresis
- 8#231 /Odieresis 8#232 /Udieresis 8#233 /cent 8#234 /sterling
- 8#235 /yen 8#236 /currency 8#237 /florin 8#240 /aacute 8#241 /iacute
- 8#242 /oacute 8#243 /uacute 8#244 /ntilde 8#245 /Ntilde
- 8#246 /ordfeminine 8#247 /ordmasculine 8#250 /questiondown
- 8#251 /quotedblleft 8#252 /quotedblright 8#253 /guilsinglleft
- 8#254 /guilsinglright 8#255 /exclamdown 8#256 /guillemotleft
- 8#257 /guillemotright 8#260 /atilde 8#261 /otilde 8#262 /Oslash
- 8#263 /oslash 8#264 /oe 8#265 /OE 8#266 /Agrave 8#267 /Atilde
- 8#270 /Otilde 8#271 /section 8#272 /daggerdbl 8#273 /dagger
- 8#274 /paragraph
- 8#300 /quotedblbase 8#301 /ellipsis 8#302 /perthousand 8#303 /bullet
- 8#304 /endash 8#305 /emdash 8#306 /ring 8#307 /Aacute
- 8#310 /Acircumflex 8#311 /Egrave 8#312 /Ecircumflex 8#313 /Edieresis
- 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis
- 8#320 /Ograve 8#321 /Oacute 8#322 /Ocircumflex 8#323 /Scaron
- 8#324 /scaron 8#325 /Ugrave 8#326 /Uacute 8#327 /Ucircumflex
- 8#330 /Ydieresis 8#331 /germandbls 8#332 /Zcaron 8#333 /zcaron
- 8#334 /fraction 8#335 /space 8#336 /space 8#337 /space 8#340 /grave
- 8#341 /acute 8#342 /circumflex 8#343 /tilde 8#344 /dieresis
- 8#345 /ring 8#346 /cedilla 8#347 /caron
- version(23.0)eq{8#275 /space 8#276 /space 8#277 /space}
- {8#275 /copyright 8#276 /registered 8#277 /trademark}ifelse]def
- /addfont{fonts exch fpt exch put /fpt fpt 1 add def}bd
- /encfont{gemenvec exch fonts exch get dup encstr cvs length 1 sub encstr
- exch 1 exch getinterval cvn R}bd
- /dpath{mto{lto}repeat}bd
- /path{np dpath}bd
- /addpath{lto{lto}repeat}bd
- /rxy{.25 sub round .25 add}bd
- /rpt{transform rxy exch rxy exch itransform}bd
- /fa{np rpt mto 3{rpt lto}repeat}bd
- /circle{np 0 0 1 0 360 arc}bd
- /deflin{0 0 0 setrgbcolor []0 setdash 1 setlinewidth}bd
- /dot{gs np 2 copy mto lto 1 setlinecap stroke gr}bd
- /rend{gs 1 setlinecap np mto cp 0.1 add lto stroke gr}bd
- /rl{gs 1 setlinecap stroke gr}bd
- /vl{dup /st ed dup apath exch get tx sub dup mul
- exch 1 add apath exch get ty sub dup mul add sqrt}bd
- /doarrow{/rot ed /ty ed /tx ed 6 array currentmatrix
- tx ty translate clw 4 lt{4}{clw}ifelse dup scale rot rotate np
- 0 0 mto -3 1.5 lto -3 -1.5 lto fill setmatrix}bd
- /arpath{np apath 0 get apath 1 get mto 2 2 points 1 sub
- {dup apath exch get exch 1 add apath exch get lto}for}bd
- /arrowline{/apath ed /lend ed /lbeg ed /len clw 3 mul def
- /points apath length def lbeg
- {apath 0 get dup /tx ed /x1 ed apath 1 get dup
- /ty ed /y1 ed true 2 2 points 1 sub
- {vl len ge{pop false exit}if}for
- {/lbeg false def /lend false def}
- {apath 2 apath st points st sub gi putinterval /r1 y1
- apath 3 get sub x1 apath 2 get sub atan def apath 0
- x1 r1 cos len mul sub put apath 1 y1 r1 sin len mul
- sub put /points points st 2 sub sub def}ifelse}if
- lend{apath points 2 sub get dup /tx ed /x2 ed
- apath points 1 sub get dup /ty ed /y2 ed
- true points 4 sub -2 0
- {vl len ge{pop false exit}if}for
- {/lbeg false def /lend false def}
- {/r2 y2 apath st 1 add get sub x2 apath st get sub
- atan def /st st 2 add def apath st x2 r2 cos len mul
- sub put apath st 1 add y2 r2 sin len mul sub put
- /points st 2 add def}ifelse}if
- lbeg{x1 y1 r1 doarrow}if lend{x2 y2 r2 doarrow}if arpath}bd
- /ac{6 array currentmatrix xt yt translate xs ys scale}bd
- /shorten{dup mul exch dup mul add sqrt clw 150 mul exch div}bd
- /xang{dup 360 ge{360}{0}ifelse exch dup sin xs mul exch cos ys mul atan
- dup 360 lt{add}{exch pop}ifelse}bd
- /arrowarc{/eang ed /bang ed /ys ed /xs ed /yt ed
- /xt ed /lend ed /lbeg ed ac np 0 0 1 bang xang
- eang xang arc setmatrix cp /y2 ed /x2 ed ac np 0 0 1 bang
- xang dup arc setmatrix cp /y1 ed /x1 ed lbeg
- {/bang bang xs ys shorten add def}if
- lend{/eang eang xs ys shorten sub def}if ac np 0 0 1 bang xang eang
- xang arc setmatrix gs stroke gr
- lend{x2 y2 cp y2 exch sub exch x2 exch sub atan doarrow}if
- lbeg{ac np 0 0 1 bang xang dup arc setmatrix x1 y1 cp y1 exch sub
- exch x1 exch sub atan doarrow}if}bd
- /rbox{/ury ed /urx ed /lly ed /llx ed urx llx sub
- 4 div dup 50 gt{pop 50}if /radius ed ury lly sub 4 div dup
- radius gt{pop radius}if /radius ed np urx radius sub ury mto llx
- ury llx lly radius arcto 4{pop}repeat llx lly urx lly radius arcto
- 4{pop}repeat urx lly urx ury radius arcto 4{pop}repeat urx ury llx ury
- radius arcto 4{pop}repeat}bd
- /marker{1 sub mdef exch get /mproc ed 32 div /msize ed
- {gs np translate msize dup scale mproc stroke gr}repeat}bd
- /mdef[{0 0 0.5 0 360 arc}bind
- {-16 0 mto 16 0 lto 0 -16 mto 0 16 lto}bind
- {0 -16 mto 0 16 lto 13.9 8 mto -13.9 -8 lto 13.9 -8 mto
- -13.9 8 lto}bind
- {16 16 mto -16 16 lto -16 -16 lto 16 -16 lto closepath}bind
- {16 16 mto -16 -16 lto -16 16 mto 16 -16 lto}bind
- {16 0 mto 0 16 lto -16 0 lto 0 -16 lto closepath}bind
- {0 0 16 0 360 arc}bind
- {0 13.86 mto -16 -13.86 lto 16 -13.86 lto closepath}bind]def
- /bon{2 mul exch dup 3 1 roll 8 idiv add pstr exch get
- exch 8 mod 7 exch sub 1 exch bitshift and 0 ne}bd
- /bpsf{1 add 8 mul cvi exch 1 add 8 mul cvi exch bon
- {/onb onb 1 add def 1}{/ofb ofb 1 add def 0}ifelse}bd
- /frs{72 0 rmat defaultmatrix dtransform dup mul exch dup mul add sqrt}bd
- /sus{/m cmat currentmatrix def /sm 32 dup smat scale def sm m m concatmatrix
- pop 1 0 m dtransform dup abs 0.1 gt{exch 90}{0}ifelse exch pop exch
- dup 0 lt{exch 180 add exch neg}if frs exch div exch /bpsf load
- setscreen}bd
- /setpat{/onb 0 def /ofb 0 def sus{}settransfer ofb ofb onb add div setgray}bd
- /ellpie{/pie ed /eang ed /bang ed /ys ed /xs ed
- /yt ed /xt ed 6 array currentmatrix xt yt translate xs ys
- scale np pie{0 0 mto}if 0 0 1 bang xang eang xang arc setmatrix}bd
- /roundarc{gs 1 setlinecap cp np mto cp lto stroke gr}bd
- /ss{currentscreen /scp ed /sca ed /scf ed
- dup 0 lt{pop}{ScreenProc exch get /scp ed}ifelse
- dup 0 lt{pop}{/sca ed}ifelse
- dup 0 le{pop}{/scf ed}ifelse
- scf sca /scp load setscreen}bd
- /grayimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{
- {currentfile token pop 0 eq
- {currentfile scan readhexstring pop pop exit}
- {/vrep currentfile token pop def}ifelse
- }loop}ifelse scan}image}bd
- /fstimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{
- {currentfile token pop 0 eq
- {currentfile scan readhexstring pop pop exit}
- {/vrep currentfile token pop def}ifelse
- }loop}ifelse scan}imagemask}bd
- /decode{/patstring patlen string def /bonestr 1 string def
- {vrep 0.1 gt{/vrep vrep 1 sub def scan}
- {/spos 0 def
- {currentfile token pop currentfile token pop
- exch imop exch get exec spos smax ge
- {scan exit}if}loop}ifelse}imagemask}bd
- /imop[{<ff> psc}bind
- {<00> psc}bind
- {currentfile patstring readhexstring pop psc}bind
- {1 exch 1 exch
- {pop currentfile bonestr readhexstring pop scan exch
- spos exch 0 get put /spos spos 1 add def}for}bind
- {1 sub /vrep ed}bind]def
- /psc{dup length /plen ed exch -1 1
- {pop dup scan exch spos exch putinterval /spos spos plen add def}for
- pop}bd
- /nf{/svf currentflat def 10 setflat}bd
- /rf{svf setflat}bd
- /gtext{gs /msg ed /ty ed /tx ed tx ty translate trotate
- rotate nf horz halign get exec
- vert valign get exec np tx ty mto rf msg show tunder
- {cp cp extents pop pop 5 div dup neg setlinewidth [] 0 setdash 1.5 mul
- ty add /ty ed pop np pop ty mto tx ty lto stroke np mto}if
- gr}bd
- /etext{gs translate trotate rotate /tx 0 def /ty 0 def
- {tx add dup /tx ed np ty mto show}repeat gr}bd
- /jtext{/msg ed /sps ed /dx ed /ty ed /tx ed
- gs tx ty translate trotate rotate nf
- jhorz halign get exec vert valign get exec
- msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse
- /xsp ed rf msg jo gr}bd
- /fet{gs translate /tx 0 def /ty 0 def
- {tx add dup /tx ed np ty mto show}repeat gr}bd
- /fjt{/msg ed /sps ed /dx ed /ty ed
- gs ty translate nf /tx 0 def /ty 0 def
- msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse
- /xsp ed rf msg jo gr}bd
- /tsel{tszabs{dup /FontBBox get aload pop exch pop dup 3 1 roll exch sub
- exch dup 0 eq{pop pop 1.25}{div}ifelse exch pop}{1}ifelse}bd
- /sf{fonts tface get findfont tsel dup txscale mul exch tyscale mul
- matrix scale makefont setfont}bd
- /jo{xsp exch 0 exch 32 exch np tx ty mto widthshow tunder
- {cp cp extents pop pop 5 div dup neg setlinewidth 1.5 mul ty add
- /ty ed []0 setdash pop np pop ty mto tx ty lto stroke np mto}if}bd
- /horz[{/tx 0 def}bind
- {msg stringwidth pop -2 div /tx ed}bind
- {msg stringwidth pop neg /tx ed}bind]def
- /extents{(_)bbox pop pop msg stringwidth pop (])bbox 3{exch pop}repeat}bd
- /bbox{np 0 0 mto false charpath flattenpath pathbbox np}bd
- /vert[{/ty 0 def}bind
- {extents -2 div /ty ed pop pop pop}bind
- {extents neg /ty ed pop pop pop}bind
- {extents pop pop neg /ty ed pop}bind]def
- /jhorz[{/tx 0 def}bind
- {/tx dx -2 div def}bind
- {/tx dx neg def}bind]def
- /symindex 12 def
- /CR{/ah 0 def}bd
- /LF{0 -50 translate}bd
- /atext{gs np ah av mto
- show tunder{cp cp (_)bbox pop pop exch pop 5 div dup neg
- setlinewidth 1.5 mul add dup ah exch [] 0 setdash np mto lto
- stroke np mto}if cp pop /ah ed gr}bd
- /colmap[
- [1 1 1]
- [0 0 0]
- [1 0 0]
- [0 1 0]
- [0 0 1]
- [0 1 1]
- [1 1 0]
- [1 0 1]
- [.5 .5 .5]
- [0 0 0]
- [.5 0 0]
- [0 .5 0]
- [0 0 .5]
- [0 .5 .5]
- [.5 .5 0]
- [.5 0 .5]
- ]def
- /sci{colmap exch get aload pop setrgbcolor}bd
- /stint{/tint ed currentrgbcolor
- 3{dup 0 eq{pop tint}if 3 1 roll}repeat setrgbcolor}bd
-
- end
- /vpdict 1 dict def
- systemdict /setpacking known{svp setpacking}if
- %%EndProlog
-
- save
- /Times-Roman findfont 12 scalefont setfont newpath 72 700 moveto
- (GEM PostScript preamble loaded.)show
- newpath 72 680 moveto vmstatus exch sub 10 string cvs show
- ( bytes of VM available.)show showpage pop
- restore
-
- %%EOF