/thefile (hn/SUN/DI.ps) def {thefile (r) file} stopped { console (Cannot open: %\n) [thefile] fprintf quit } if executive /DI thefile run def currentdict DI end begin begin .9 setgray 0 0 800 400 rectpath fill /Helvetica findfont 12 scalefont setfont 0 setgray /di { % DI -- gsave .8 setgray -100 0 rlineto stroke grestore gsave -10 4 rmoveto (%,%) [2 index DISize round cvi exch round cvi exch] sprintf rshow grestore dup DIPaint dup gsave currentpoint 200 0 xyadd 90 20 DIPaintLeft grestore dup gsave currentpoint 320 0 xyadd 90 20 DIPaintCentered grestore dup gsave currentpoint 440 0 xyadd 90 20 DIPaintRight grestore 0 -20 rmoveto } def 60 200 moveto (Just an ordinary string) di [(A red string) 1 0 0 rgbcolor] di [(A Times-Roman string) /Times-Roman findfont 12 scalefont] di [(A Times-Roman blue string) 0 0 1 rgbcolor /Times-Roman findfont 14 scalefont] di [(A string with offset) 10 0] di /proc { % name -- /size eq {15 15} { currentpoint 15 15 ovalpath fill } ifelse } def /proc load di [/proc load 1 .8 .8 rgbcolor ]di [ gsave 64 16 8 [] null buildimage dup setcanvas ($OPENWINHOME/demo/images/founders.im8) readcanvas imagecanvas grestore ] di [(arthur) [15] /rotate] di /t ClassObject [] classbegin /paint { (Arthur van Hoff) dup stringwidth pop 0 currentpoint xyadd translate -1 1 scale 0 0 moveto (Arthur van Hoff) show } def /size { 80 currentfont fontheight } def classend def [/new t send] di stack