home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jason Aller Floppy Collection
/
272.img
/
VP30-06.ZIP
/
PS2.PRE
< prev
next >
Wrap
Text File
|
1989-09-29
|
13KB
|
305 lines
% Copyright (C) Digital Research, Inc. 1986-1988. All rights reserved.
systemdict /setpacking known
{/svp currentpacking def true setpacking}if
/gemdict 250 dict def
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