GIF89a;
EcchiShell v1.0
/
/
proc/
self/
root/
usr/
share/
ghostscript/
,
/appletalktype (LaserWriter) def
%%%%%% The following items are defined in the PostScript Language
%%%%%% Reference Manual, First Edition, and subsequent 'compatibility'
%%%%%% documentation from Adobe.
/checkpassword {statusdict begin .password eq end} bind def
/defaulttimeouts {statusdict begin .timeouts aload pop end} bind def
/diskonline {
//false (%disk*%) { pop not exit } 8192 string /IODevice resourceforall
} bind def
/diskstatus {10240 2097152 } bind odef % - diskstatus (in 1024 byte pages)
%/dostartpage
/eescratch {pop 0} bind def
/idlefonts {statusdict begin mark .idlefonts aload pop end} bind def
/jobname () def
%/jobtimeout
/manualfeed //false def
/manualfeedtimeout 60 def
/margins {statusdict begin .topmargin .leftmargin end} bind def
/pagecount {4711} bind def
/pagestackorder {//false} bind def
/pagetype 0 def
/prefeed //false def
/printererror {pop pop} bind def
/printername {statusdict /.printername get exch copy} bind def
/processcolors /processcolors load def % defined in systemdict
/product product def % product is defined in systemdict
/revision revision def % revision is defined in systemdict
/sccbatch {pop 9600 0} bind def
/sccinteractive {pop 9600 0} bind def
/setdefaulttimeouts {statusdict begin .timeouts astore pop end} bind def
/setdostartpage {statusdict exch /dostartpage exch put} bind def
/setduplexmode {mark /Duplex 3 -1 roll currentdevice putdeviceprops} bind def
/seteescratch {pop pop} bind def
/setidlefonts {] statusdict exch /.idlefonts exch put} bind def
/setjobtimeout {statusdict exch /jobtimeout exch put} bind def
/setmargins
{ statusdict begin
/.leftmargin exch def /.topmargin exch def
end
} bind def
% The following compatibility operators are only documented by Adobe in a
% supplement to the Red Book.
%
% - pagemargin
% - pageparams
% setpage -
% setpagemargin -
% setpageparams -
%
% width and height are in default units (and if orientation is odd, are
% exchanged!). offset is the x margin, also in default units.
% Unfortunately, because orientation is relative to the device paper feed,
% it does not have a consistent meaning in terms of image orientation.
% We follow the convention that ORIENT1 determines the orientation value
% that means portait: false means 0, true means 1.
/pagemargin { 0 } bind def
/pageparams
{ currentdevice 1 dict dup /.MediaSize dup put .getdeviceparams
exch pop exch pop aload pop 0 ORIENT1 { 1 } { 0 } ifelse
} bind def
/setpage
{ ORIENT1 { 1 } { 0 } ifelse ne {exch} if
statusdict /.setpagesize get exec
} bind def
/setpagemargin {pop} bind def % can't do better without setpagedevice
/setpageparams
{ exch pop ORIENT1 { 1 } { 0 } ifelse ne {exch} if
statusdict /.setpagesize get exec
} bind def
/setpagetype
{ statusdict begin
% The Adobe documentation only defines setpagetype
% (a Level 1 operator) as accepting the values 0 and 1,
% so we do too.
dup type /integertype ne {
/setpage /typecheck signalerror
} {
dup 0 ne 1 index 1 ne or {
/setpage /rangecheck signalerror
} {
{/letter /note} 1 index get
//systemdict /userdict get exch get cvx exec
} ifelse
/pagetype exch def
} ifelse
end
} bind def
/setpassword
{exch checkpassword
{statusdict exch /.password exch put //true}
{pop //false}
ifelse} bind def
/setprintername
{dup length string copy statusdict exch /.printername exch put} bind def
% setresolution is not documented by Adobe, but some applications
% use it anyway, without testing whether or not it is present.
%
% setresolution -
%
% sets the resolution of the device.
/setresolution
{ mark /HWResolution [ 4 -1 roll dup ] currentdevice putdeviceprops pop
initmatrix erasepage
} bind def
/setsccbatch {pop pop pop} bind def
/setsccinteractive {pop pop pop} bind def
/settumble {pop} bind def
/waittimeout 300 def
%%%%%% End of documented items.
/.setpagesize
{ mark /HWSize [
4 index 4 index matrix defaultmatrix dtransform
abs ceiling cvi exch abs ceiling cvi exch
] currentdevice putdeviceprops pop pop pop
initmatrix initclip erasepage
} bind def
/.password 0 def
/.timeouts [0 60 30] def
//true setdostartpage
mark setidlefonts
0 setjobtimeout
0 0 setmargins
product setprintername
end % statusdict
%%%%%% The following documented compatibility "operators" are in systemdict,
%%%%%% not in statusdict.
systemdict begin
.currentglobal //true .setglobal
/devformat //true def
/devforall { % devforall -
exch {
1 index currentdevparams
/Type .knownget { /FileSystem eq } { //false } ifelse
{ exec } { pop pop } ifelse
} /exec load 3 packedarray cvx exch
(*) 3 1 roll /IODevice resourceforall
} odef
/devstatus { % <(%disk*%)> devstatus
%
% //true
% devstatus //false
dup length 5 ge {
dup 0 5 getinterval (%disk) eq {
dup /IODevice resourcestatus {
pop pop dup currentdevparams
dup /Searchable get
exch dup /Writeable get
exch dup /HasNames get
exch dup /Mounted get
exch dup /Removable get
exch dup /SearchOrder get
exch dup /Free get
exch /LogicalSize get
9 -1 roll pop //true
} {
pop //false
} ifelse
} {
pop //false
} ifelse
} {
pop //false
} ifelse
} odef
.setglobal end % systemdict
% The following contents of serverdict are a complete guess,
% based on some observed LaserWriter boilerplate.
serverdict begin
/execjob { } bind def
% The Red Book implies that something like the following is
% an appropriate definition of exitserver.
/exitserver { clear stop } bind def
% However, this interacts badly with our standard error handler,
% so we override it with the following less appropriate definition.
/exitserver { 0 ne { clear cleardictstack } if } bind def
/setrealdevice { } bind def
end % serverdict