summaryrefslogtreecommitdiff
path: root/dviware/psprint/vms/ps40_header.ps
blob: 524d07137b8e5f79ecc17417b7b1cab1dd0cf52d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
% For the PrintServer 40 we don't need to produce a banner page.
% We still redefine the error handler though:

/@errpage 64 dict def
@errpage begin
/prnt
 {dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 10 def
  currentpoint/toy exch def/tox exch def 1 setgray newpath
  tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto
  closepath fill tox toy moveto 0 setgray show}bind def
/nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def
/=={/cp 0 def typeprint nl}def
/typeprint{dup type dup currentdict exch known
  {exec}{unknowntype}ifelse}readonly def
/lmargin 72 def/rmargin 72 def
/tprint{dup length cp add rmargin gt{nl/cp 0 def}if
  dup length cp add/cp exch def prnt}readonly def
/cvsprint{=string cvs tprint( )tprint}readonly def
/unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def
/integertype{cvsprint}readonly def
/realtype{cvsprint}readonly def
/booleantype{cvsprint}readonly def
/operatortype{(//)tprint cvsprint}readonly def
/marktype{pop(-mark- )tprint}readonly def
/dicttype{pop(-dictionary- )tprint}readonly def
/nulltype{pop(-null- )tprint}readonly def
/filetype{pop(-filestream- )tprint}readonly def
/savetype{pop(-savelevel- )tprint}readonly def
/fonttype{pop(-fontid- )tprint}readonly def
/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def
/stringtype
 {dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse
 }readonly def
/arraytype
 {dup rcheck{dup xcheck
  {({)tprint{typeprint}forall(})tprint}
  {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-array- )tprint}ifelse
 }readonly def
/packedarraytype
 {dup rcheck{dup xcheck
  {({)tprint{typeprint}forall(})tprint}
  {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse
 }readonly def
/courier /Courier findfont 10 scalefont def
/@oldhandleerror errordict /handleerror get def
end

errordict /handleerror
{ systemdict begin $error begin @errpage begin
  newerror
  { /newerror false store
    vmstatus pop pop 0 ne { grestoreall } if
    initgraphics courier setfont
    lmargin 792 moveto
    (POSTSCRIPT ERROR: ) prnt errorname prnt nl
    (OFFENDING COMMAND: ) prnt /command load prnt nl
    $error /ostack known
    { (OPERAND STACK:) prnt nl
      $error /ostack get aload length {==} repeat
    } if
    /#copies 1 store
    systemdict /showpage get exec
    /newerror true store
    /@oldhandleerror load end end end exec }
  { end end end }
  ifelse
} dup 0 systemdict put dup 4 @errpage put bind readonly put