home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 4
/
DATAFILE_PDCD4.iso
/
utilities
/
utilsp
/
printers
/
!Printers
/
ps
/
PSFiles
/
Level1
/
PSprolog2
Wrap
Text File
|
1995-10-04
|
8KB
|
110 lines
%% Main prologue (Level 1) for the PostScript printer driver module.
%% Version 4.02 first used with version 4.36 of the module
/PDdict 200 dict def PDdict begin/BD{bind def}bind def/LD{load
def}BD/LW/setlinewidth LD/St/stroke LD/T/translate LD/S/save LD/R/restore
LD/GS/gsave LD/GR/grestore LD/CP/clippath LD/Cl/closepath LD/M/moveto
LD/RM/rmoveto LD/L/lineto LD/B/curveto LD/I/index LD/SW/stringwidth
LD/GCF/currentfont LD/GCM/currentmatrix LD/SCM/setmatrix LD/CCM/concatmatrix
LD/ED{exch def}BD/Copies{/#copies ED showpage}BD/MP{400. div}BD/Fb{65536.
div}BD/WM1 matrix def/WM2 matrix def/IM1 matrix def/UM{Fb 4 1 roll Fb 4 1
roll Fb 4 1 roll Fb 4 1 roll 0. 0. WM1 astore concat}BD/Bx{4 copy 5 1 roll 4
2 roll 5 -1 roll M L L L Cl}BD/Cp{Bx clip newpath}BD/PS{72. 180. div dup
scale newpath Cp[]0. setdash}BD/MC{0. 0. Cp}BD/G{255. div setgray}BD/C{255.
div 3 1 roll 255. div 3 1 roll 255. div 3 1 roll setrgbcolor}BD/Eps 0.1 MP
def/VSt{2 setlinecap 0 setlinejoin 2.000001 setmiterlimit 2. LW 0. Eps
rlineto St}BD/VFl{Cl GS fill GR VSt}BD/Li{M L VSt}BD/Pt{M VSt}BD/Tr{M L L
VFl}BD/Rc{Bx VFl}BD/Pr{6 copy M L L 5 -1 roll 4 -1 roll sub add 4 1 roll
exch sub add exch L VFl}BD/Ln{dup mul exch dup mul add sqrt}BD/Cir{0. 360.
arc}BD/VC{Ln Cir}BD/CS{VC VSt}BD/CF{VC VFl}BD/VA{2 copy Ln 5 1 roll exch
atan 3 1 roll exch atan arc}BD/Ac{VA VSt}BD/Cd{VA VFl}BD/Sc{5 I 5 I M VA
VFl}BD/VE{0. 5 1 roll WM1 astore WM2 GCM exch concat 0. 0. 1. Cir
SCM}BD/ES{VE VSt}BD/EF{VE VFl}BD/Max{2 copy lt{exch}if pop}BD/DM{256. div 6
1 roll 256. div 6 1 roll Fb 256. div 6 1 roll Fb 256. div 6 1 roll Fb 256.
div 6 1 roll Fb 256. div 6 1 roll WM1 astore concat}BD/SDM{256. div 6 1 roll
256. div 6 1 roll Fb 6 1 roll Fb 6 1 roll Fb 6 1 roll Fb 6 1 roll 6 copy WM1
astore concat pop pop 0 0 IM1 astore pop}BD/IT{IM1 itransform}BD/CJ{2 I 0
eq{Fb setmiterlimit}{pop}ifelse setlinecap setlinejoin}BD/WS 4096 string
def/SMat matrix def/SS{div 3 1 roll div exch scale}BD/SM{1. exch div 0. 0.
1. 0. 0. SMat astore pop}BD/RC{WS 0 3 I put dup 1 gt{WS 1 3 I put dup 2
gt{WS 2 3 I put WS 3 3 I put dup 4 gt{WS 4 WS 0 4 getinterval putinterval
dup 8 gt{WS 8 WS 0 8 getinterval putinterval dup 16 gt{WS 16 WS 0 16
getinterval putinterval dup 32 gt{WS 32 WS 0 32 getinterval putinterval dup
64 gt{WS 64 WS 0 64 getinterval putinterval dup 128 gt{WS 128 WS 0 128
getinterval putinterval dup 256 gt{WS 256 WS 0 256 getinterval putinterval
dup 512 gt{WS 512 WS 0 512 getinterval putinterval dup 1024 gt{WS 1024 WS 0
1024 getinterval putinterval dup 2048 gt{WS 2048 WS 0 2048 getinterval
putinterval}if}if}if}if}if}if}if}if}if}if}if}if pop pop}BD/SR{currentfile
token pop dup 0 gt{WS 0 3 -1 roll getinterval currentfile exch readhexstring
pop}{neg currentfile token pop 1 I RC WS 0 3 -1 roll
getinterval}ifelse}BD/S1{true SMat/SR load imagemask}BD 255 2048 RC/FFs WS 0
2048 getinterval 2048 string copy def/SF{/WS2 FFs 0 4 I 7 add 8 idiv 4 I mul
getinterval def true SMat{WS2}imagemask}BD/SN{8 SMat/SR load image}BD/Rem 0
def/D32{currentfile Rem WS length lt{WS 0 Rem getinterval}{WS}ifelse
readhexstring pop/Rem Rem WS length sub def}BD/S32{2 copy mul 3 mul/Rem
exch def 8 SMat/D32 load false 3 colorimage}BD/JM{pop 1 SM}BD/J8{2 copy
mul/Rem exch def 8 SMat/D32 load image}BD/J32{S32}BD/TS{1. exch div exch 1.
exch div exch scale}BD/Fn{0.016 div exch 0.016 div exch dup/fheight ED 0. 0.
3 -1 roll 0. 0. WM1 astore exch findfont exch makefont setfont}BD/Ul{GS 2
copy Ln ulpos ulthick 2. div sub 256. div fheight mul exch div dup 2 I neg
mul exch 3 I mul RM 2 copy rlineto ulthick 256. div fheight mul LW 0
setlinecap St GR}BD/AC{3 -1 roll exch sub 3 I length div 4 1 roll sub 1 I
length div 3 1 roll}BD/Tx{M 2 I SW AC ashow}BD/JTx{M 7 I dup 4 1 roll SW AC
pop exch 4 -1 roll add 3 1 roll add 6 -1 roll awidthshow}BD/UTx{/ulthick
ED/ulpos ED M Ul 2 I SW AC ashow}BD/UJTx{M/ulthick ED/ulpos ED Ul pop pop 7
I dup 4 1 roll SW AC pop exch 4 -1 roll add 3 1 roll add 6 -1 roll
awidthshow}BD/kload{{ceiling}stopped{aload pop}{0}ifelse}BD/kproc{5 I 5 I RM
2 I{exch 256 mul add 2 I exch 2 copy known{WM2 SCM get kload RM WM1
SCM}{pop pop}ifelse}{pop pop}ifelse}BD/KTx{WM1 GCM GCF/FontMatrix get exch
WM2 CCM pop M 2 I SW AC GCF/KernData known{GCF/KernData get true}{null
false}ifelse{kproc}4 -1 roll kshow pop pop pop pop}BD/UKTx{6 2
roll/ulthick ED/ulpos ED 2 copy M 4 2 roll Ul pop pop KTx}BD/jkproc{5 I 5
I RM 1 I 7 I eq{8 I 8 I RM}if 2 I{exch 256 mul add 2 I exch 2 copy
known{WM2 SCM get kload RM WM1 SCM}{pop pop}ifelse}{pop
pop}ifelse}BD/JKTx{WM1 GCM GCF/FontMatrix get exch WM2 CCM pop M 8 -1 roll
dup 4 1 roll SW AC 5 1 roll exch 4 -1 roll add 3 1 roll add GCF/KernData
known{GCF/KernData get true}{null false}ifelse{jkproc}6 -1 roll kshow
7{pop}repeat}BD/UJKTx{2 copy M 6 2 roll/ulthick ED/ulpos ED Ul pop pop
JKTx}BD/cdefs 224 8 mul string def cdefs 127 32 sub 8 mul FFs 0 8
getinterval putinterval/DC{32 sub 8 mul cdefs exch 8 getinterval currentfile
exch readhexstring pop pop}BD/ArcFont dup 6 dict dup begin/FontMatrix[1. 0.
0. 1. 0. -1.]def/FontType 3 def/FontBBox[0. 0. 1. 1.]def/Encoding 256 array
def 0 1 255{Encoding exch/.notdef put}for/BuildChar{xgap ygap setcharwidth 8
8 true 8. 0. 0. 8. 0. 0. WM2 astore 5 -1 roll 32 sub 8 mul cdefs exch 8
getinterval imagemask pop}BD end definefont def/V{GS 2 I div/ygap ED 2 I
div/xgap ED 0. 0. 3 -1 roll 0. 0. WM1 astore ArcFont exch makefont setfont M
show GR}BD/PAR{6 -2 roll pop pop 10 dict begin dup 0 lt/hflip ED abs/h ED
dup 0 lt/wflip ED abs/w ED 256. div/uly ED 256. div/ulx ED 256. div/lry ED
256. div/lrx ED 256. div/lly ED 256. div/llx ED[lrx llx sub w div lry lly
sub w div ulx llx sub h div uly lly sub h div llx lly]concat hflip{0 h T 1
-1 scale}if wflip{w 0 T -1 1 scale}if end}BD/VALACC 14 dict dup begin/acute
1 def/grave 1 def/circumflex 1 def/dieresis 1 def/ring 1 def/tilde 1
def/breve 1 def/caron 1 def/cedilla 1 def/dotaccent 1 def/hungarumlaut 1
def/slash 1 def/macron 1 def/ogonek 1 def end def/CKN{2 copy known{get
type/arraytype ne}{pop pop false}ifelse}def/OKA{2 copy known{pop pop
false}{dup length dup 1 gt{string cvs dup 0 1 getinterval cvn exch 1 1 I
length 1 sub getinterval cvn 3 -1 roll dup 2 I CKN exch 3 I CKN and VALACC 2
I known and{true}{pop pop false}ifelse}{pop pop pop
false}ifelse}ifelse}def/RF{findfont false 3 1 roll _RFE}def/_RFE{dup length
dict begin{1 I/FID ne{def}{pop pop}ifelse}forall dup type/arraytype
eq{/FontMatrix FontMatrix 3 -1 roll 6 array CCM def}{pop}ifelse dup
type/arraytype eq currentdict/Encoding known and{/Encoding exch
def}{pop}ifelse currentdict end definefont pop}def/RFE{findfont
dup/CharStrings known{RFET1}{_RFE}ifelse}def/RFET1{dup length 4 add dict
begin/CBOX{newpath 0 0 M GS ifm SCM false charpath matrix SCM pathbbox
currentpoint GR}BD/CHEI{CBOX pop pop 4 1 roll pop pop pop}BD/SRCH{-1
exch/Encoding load 0 1 2 I length 1 sub{2 copy get 3 I eq{4 -1 roll pop 3
1 roll exit}{pop}ifelse}for pop pop dup -1 ne{1 string dup 0 4 -1 roll put
true}{pop false false}ifelse}BD/MKACC{SRCH 3 -1 roll SRCH 3 -1 roll and{3
dict begin/letter exch def/accent exch def/ifm/FontMatrix load matrix
invertmatrix def GS matrix SCM letter CBOX 6 2 roll accent CBOX pop pop 6 -1
roll 7 I sub 3 -1 roll 4 I sub sub 2 div 7 -1 roll 5 -1 roll sub add 7 1
roll 0 gt{(X)CHEI(x)CHEI 2 copy add 2 div 5 -1 roll le{sub}{pop pop 0}ifelse
5 1 roll pop pop}{pop pop pop 0 3 1 roll}ifelse GR setcharwidth 0 0 M GS ifm
concat letter show GR M GS ifm concat accent show GR end}{pop pop}ifelse
pop}BD dup/CharStrings get 0 4 I{2 I exch OKA{pop pop 1 add}if}forall 3 -1
roll{1 I/FID ne 2 I/CharStrings ne and{def}{pop pop}ifelse}forall 1 I length
add dict exch{2 I 3 1 roll put}forall 2 I{2 copy OKA{[3 1 roll/MKACC cvx]cvx
2 I 3 1 roll put}{pop}ifelse}forall/CharStrings exch def dup type/arraytype
eq{/FontMatrix FontMatrix 3 -1 roll 6 array CCM def}{pop}ifelse/Encoding
exch def currentdict end definefont pop}BD end