103 lines
3.0 KiB
Plaintext
103 lines
3.0 KiB
Plaintext
|
@
|
||
|
@Lerrordict begin /handleerror { $error begin newerror { /newerror false
|
||
|
@Ldef showpage 72 72 scale /x .25 def /y 10 def /Helvetica findfont .2
|
||
|
@Lscalefont setfont x y moveto (PostScript Error Handler)
|
||
|
@Lshow /y y .2 sub .2 sub def x y moveto
|
||
|
@L(Offending Command = ) show /command load { dup type /stringtype ne { (
|
||
|
@Lmax err string ) cvs } if show } exec /y y .2 sub def x y moveto (Error
|
||
|
@L= ) show errorname { dup type dup ( max err string ) cvs show ( : ) show
|
||
|
@L/stringtype ne { ( max err string ) cvs } if show } exec /y y .2 sub def
|
||
|
@Lx y moveto (Stack =) show ostack { /y y .2 sub def x 1 add y moveto dup
|
||
|
@Ltype /stringtype ne { ( max err string ) cvs } if show } forall showpage
|
||
|
@L} if end } def end
|
||
|
@L% Pull off the job specific values:
|
||
|
@L%----------------------------------
|
||
|
@L/name (@N@L) def
|
||
|
@L/jobid(@I@L) def
|
||
|
@L/date (@D@L) def
|
||
|
@L/time (@T@L) def
|
||
|
@L% Get the page limits
|
||
|
@L%--------------------
|
||
|
@Lnewpath clippath closepath pathbbox
|
||
|
@L/ymax exch def
|
||
|
@L/xmax exch def
|
||
|
@L/ymin exch def
|
||
|
@L/xmin exch def
|
||
|
@L/PrintWidth xmax xmin sub def
|
||
|
@L/PrintHeight ymax ymin sub def
|
||
|
@L% Define some handy procedures and values
|
||
|
@L%----------------------------------------
|
||
|
@L/inch {72 mul} def
|
||
|
@L/White 1 def
|
||
|
@L/Black 0 def
|
||
|
@L/Gray .9 def
|
||
|
@L/CenterString {
|
||
|
@L /str exch def /width exch def
|
||
|
@L width str stringwidth pop sub 2 div 0 rmoveto
|
||
|
@L str
|
||
|
@L} def
|
||
|
@L% Print the printers logo (if any)
|
||
|
@L%---------------------------------
|
||
|
@L/SysPrint where
|
||
|
@L{
|
||
|
@L pop
|
||
|
@L SysPrint
|
||
|
@L}{
|
||
|
@L /Times-Roman findfont .5 72 mul scalefont setfont
|
||
|
@L PrintWidth 2 div 6 72 mul moveto
|
||
|
@L (\\\\server\\name) dup stringwidth pop 2 div neg 0 rmoveto show
|
||
|
@L PrintWidth 2 div 5 72 mul moveto
|
||
|
@L (PSCRIPT Page Separator) dup stringwidth pop 2 div neg 0 rmoveto show
|
||
|
@L}ifelse
|
||
|
@L% Set some standard parameters
|
||
|
@L%-----------------------------
|
||
|
@L100 0 {dup mul exch dup mul add 1 exch sub} setscreen
|
||
|
@L2 setlinewidth 2 setmiterlimit
|
||
|
@L% Clear and outline the title area
|
||
|
@L%---------------------------------
|
||
|
@Lnewpath
|
||
|
@Lxmin ymax moveto
|
||
|
@Lxmax ymax lineto
|
||
|
@Lxmax ymax 1.5 inch sub lineto
|
||
|
@Lxmin ymax 1.5 inch sub lineto
|
||
|
@Lclosepath
|
||
|
@Lgsave
|
||
|
@Lcurrentgray 1 setgray fill setgray
|
||
|
@Lgrestore
|
||
|
@Lcurrentlinewidth 1 setlinewidth stroke setlinewidth
|
||
|
@L% Add the label header
|
||
|
@L%---------------------
|
||
|
@L/Helvetica findfont .2 inch scalefont setfont
|
||
|
@L% Date --------------------------------------
|
||
|
@Lxmin .25 inch add ymax .2 inch sub moveto
|
||
|
@L(Date: ) show date show
|
||
|
@L% Time
|
||
|
@LPrintWidth 1.5 inch sub ymax .2 inch sub moveto
|
||
|
@L(Time: ) show time show
|
||
|
@L% Job Number
|
||
|
@LPrintWidth 2 div ymax .2 inch sub moveto
|
||
|
@Ljobid stringwidth pop
|
||
|
@L( : ) stringwidth pop
|
||
|
@Lname stringwidth pop
|
||
|
@Ladd add 2 div
|
||
|
@Lneg 0 rmoveto
|
||
|
@Ljobid show ( : ) show name show
|
||
|
@L% Underline label header
|
||
|
@Lnewpath
|
||
|
@Lxmin ymax .3 inch sub moveto xmax ymax .3 inch sub lineto
|
||
|
@Lclosepath
|
||
|
@Lstroke
|
||
|
@L% Add the username
|
||
|
@L%-----------------
|
||
|
@L/Helvetica-Bold findfont 1 inch scalefont setfont
|
||
|
@Lnewpath
|
||
|
@Lxmin ymax 1.25 inch sub moveto
|
||
|
@LPrintWidth name CenterString true charpath
|
||
|
@Lclosepath
|
||
|
@Lgsave
|
||
|
@LGray setgray fill
|
||
|
@Lgrestore
|
||
|
@Lstroke
|
||
|
@Lshowpage
|
||
|
@E
|