%! % Get the starting execution time /starttime usertime def % define an inch /inch {72 mul} def % ---------------------------------------------------------------- % Paint a Big black area with one horizontal lines and one vertical line. % This checks for solid blacks. Also display some product name, printer % and other information. % % write a 3 inch black area across the entire top 11 inches of page gsave 0 setgray 0 8 inch moveto 8.5 inch 8 inch lineto 8.5 inch 11 inch lineto 0 11 inch lineto closepath fill grestore % write vertical white lines thru black area with increasing width % and one horizontal line with minimal width gsave 1 setgray /pos 4.25 inch def 0 0.1 2.1 { setlinewidth pos 8 inch moveto pos 11 inch lineto stroke /pos pos 0.125 inch add def } for % 0 setlinewidth 0 9 inch moveto 8.5 inch 9 inch lineto stroke grestore gsave statusdict begin /Times-Bold findfont 14 scalefont setfont 1 setgray 1 inch 9.6 inch moveto (Product: ) show product show 1 inch 9.35 inch moveto (PostScript version ) show version show (, rev. ) show revision 10 string cvs show 1 inch 9.10 inch moveto (Printer Name: ) show 100 string printername show 1 inch 8.85 inch moveto (Pages printed: ) show pagecount 10 string cvs show 1 inch 8.60 inch moveto (Queue Name: ) show (PRINTER) show 1 inch 8.35 inch moveto (Queue Time: ) show (TIME) show grestore % ---------------------------------------------------------------- % Draw an increasing thickening set of horizontal lines and the same % width vertical lines to detect and problems % % Horizontal lines gsave 0 setgray /pos 8 inch 3 sub def 0 0.1 2.1 { setlinewidth 0 pos moveto 8.5 inch pos lineto stroke /pos pos 3 sub def } for grestore % Vertical lines gsave 0 setlinewidth 2 inch 2 6.5 inch { 8 inch moveto 0 -1 inch rlineto stroke } for grestore % ---------------------------------------------------------------- % Print grayscale grade from black to white % gsave 1 setlinewidth /fstr 256 string def 0 1 255 { fstr exch dup put } for .2 inch 6.4 inch translate 0 0 moveto 450 0 lineto 450 40 lineto 0 40 lineto closepath stroke 450 40 scale 256 100 8 [256 0 0 -100 0 100] {fstr} image grestore % ---------------------------------------------------------------- % Print color strips % gsave /xsize 2.2 def /paint { 0 11 rlineto xsize 0 rlineto 0 -11 rlineto h s b sethsbcolor fill } bind def /whiteband { 0 1 200 { /s s .005 add def x y moveto paint /x x xsize add def pop } for } bind def /blackband { 0 1 200 { /b b .005 sub def x y moveto paint /x x xsize add def pop } for } bind def % draw color horizontal color strips in 1/6th increments of hue % or saturation .2 inch 300 translate /y 0 def 0 1 5 { /num exch def /h num 6 div def /x 0 def /s 1 def /b 1 def blackband /y y 13 add def /x 0 def /s 0 def /b 1 def whiteband /y y 13 add def } for grestore % ----------------------------------------------------------------- % Concentric circles (with rays coming out of it) gsave 0 setgray 0 setlinewidth 3.5 inch 2.4 inch translate 0 1 1.7 inch { /rad exch def 0 0 rad 0 360 arc stroke } for grestore % Rays from circle gsave 0 setgray 0 setlinewidth 4.45 inch -10 1.05 inch { /r exch def gsave 3.5 inch 2.4 inch moveto 6.5 inch r lineto stroke grestore } for grestore % ---------------------------------------------------------------- % Simple Grid % gsave 0.25 setlinewidth .2 inch .7 inch translate 0 5 100 { 0 moveto 0 200 rlineto stroke } for 0 5 200 { 0 exch moveto 100 0 rlineto stroke } for grestore % ---------------------------------------------------------------- % Font Directory (right hand side column display) % gsave /Courier findfont 6 scalefont setfont 6.6 inch 7 inch translate FontDirectory { pop gsave 0 0 moveto 80 string cvs show grestore 0 -7 translate } forall grestore % ---------------------------------------------------------------- % Display elapsed time (including transmission) % ALWAYS LAST gsave /Times-Italic findfont 8 scalefont setfont .2 inch 3.8 inch moveto (Elapsed time: ) show usertime starttime sub cvr 1000.0 div 20 string cvs show ( seconds) show grestore showpage