Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

114 lines
3.4 KiB

@
@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% Select Japanese fonts if available
@L%-----------------------------------
@L/Fonts [
@L { /Ryumin-Light-RKSJ-H findfont } stopped {
@L /Times-Roman findfont } if
@L { /GothicBBB-Medium-RKSJ-H findfont } stopped {
@L /Helvetica findfont /Helvetica-Bold findfont }{ dup } ifelse
@L] def
@L% Print the printers logo (if any)
@L%---------------------------------
@L/SysPrint where
@L{
@L pop
@L SysPrint
@L}{
@L Fonts 0 get .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%---------------------
@LFonts 1 get .2 inch scalefont setfont
@L% Date --------------------------------------
@Lxmin .25 inch add ymax .2 inch sub moveto
@L(Date: ) show date show
@L% Time
@LPrintWidth ymax .2 inch sub moveto
@L.25 inch
@L(Time: ) stringwidth pop
@Ltime stringwidth pop
@Ladd add neg 0 rmoveto
@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%-----------------
@LFonts 2 get 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