Language: PostScript Author: Tony Lownds (tony@metanet.com) {== (dup exec) =} dup exec Author: Nick harvey (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%) (% Self-printing PostScript file by Nick Harvey %) (% mailto:njaharve@uwaterloo.ca %) (% http://www.undergrad.math.uwaterloo.ca/~njaharve/ %) (%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%) (/str 20 string def /Courier findfont 9 scalefont setfont 10 copy) (0 1 9 { 12 mul 600 exch add 72 exch moveto ( () show show ( )) show } for) (0 1 9 { 12 mul 480 add 72 exch moveto show } for) (/foo (a) stringwidth pop def 44 516 59 516 45 480 46 480) (0 1 3 { pop exch foo mul 72 add exch moveto ( ) show } for showpage) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Self-printing PostScript file by Nick Harvey % % mailto:njaharve@uwaterloo.ca % % http://www.undergrad.math.uwaterloo.ca/~njaharve/ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /str 20 string def /Courier findfont 9 scalefont setfont 10 copy 0 1 9 { 12 mul 600 exch add 72 exch moveto (\() show show (\)) show } for 0 1 9 { 12 mul 480 add 72 exch moveto show } for /foo (a) stringwidth pop def 44 516 59 516 45 480 46 480 0 1 3 { pop exch foo mul 72 add exch moveto (\\) show } for showpage Author: Andrew Chadwick Notes: Level 2 Postscript; tests OK with ghostview and gv under Linux (/Courier 10 selectfont newpath 0 316 moveto %Tweak to change the display top-left <28> show <0a> search pop dup show stringwidth pop <28> stringwidth pop add neg -12 rmoveto pop {<0a> search {dup show stringwidth pop neg -12 rmoveto pop} {show ( dup cvx exec) <29> show show exit} ifelse} loop) dup cvx exec Author: Andrew Chadwick Notes: Level 2 Postscript; tests OK with ghostview and gv under Linux (/Courier 10 selectfont newpath 0 48 moveto /w {stringwidth pop} def /s {( ) search} def <28> show s %%Andrew Chadwick pop dup show w <28> w add neg -12 rmoveto pop{s{dup show w neg -12 rmoveto pop} {show ( dup cvx exec) <29> show show exit} ifelse} loop) dup cvx exec