11.eps

11.eps [ retoursource ]

Conversion au format PDF de 11.eps
%!PS-Adobe-2.0 
%%Title: Blue Book Program 11, on page 171 
%%Creator: Adobe Systems Incorporated 
%%CreationDate: Thu Dec 28 17:41:49 PST 1989 
%%EndComments 
 
/pathtextdict 26 dict def 
 
/pathtext 
 { pathtextdict begin 
 /offset exch def 
 /str exch def 
 
 /pathdist 0 def 
 /setdist offset def 
 /charcount 0 def 
 gsave 
 flattenpath 
 {movetoproc} {linetoproc} 
 {curvetoproc} {closepathproc } 
 pathforall 
 grestore 
 newpath 
 end 
 } def 
 
pathtextdict begin 
/movetoproc 
 { /newy exch def /newx exch def 
 /firstx newx def /firsty newy def 
 /ovr 0 def 
 newx newy transform 
 /cpy exch def /cpx exch def 
 } def 
 
/linetoproc 
 { /oldx newx def /oldy newy def 
 /newy exch def /newx exch def 
 /dx newx oldx sub def 
 /dy newy oldy sub def 
 /dist dx dup mul dy dup mul add sqrt def 
 dist 0 ne 
 { /dsx dx dist div ovr mul def 
 /dsy dy dist div ovr mul def 
 
 oldx dsx add oldy dsy add transform 
 /cpy exch def /cpx exch def 
 /pathdist pathdist dist add def 
 { setdist pathdist le 
 { charcount str length lt 
 {setchar} {exit} ifelse } 
 { /ovr setdist pathdist sub def 
 exit } 
 ifelse 
 } loop 
 } if 
 } def 
 
/curvetoproc 
 { (ERROR: No curveto's after flattenpath!) print 
 } def 
 
/closepathproc 
 { firstx firsty linetoproc 
 firstx firsty movetoproc 
 } def 
 
/setchar 
 { /char str charcount 1 getinterval def 
 
 /charcount charcount 1 add def 
 /charwidth char stringwidth pop def 
 gsave 
 cpx cpy itransform translate 
 dy dx atan rotate 
 0 0 moveto char show 
 currentpoint transform 
 /cpy exch def /cpx exch def 
 grestore 
 /setdist setdist charwidth add def 
 } def 
end 
 
 
/Helvetica findfont 16 scalefont setfont 
 
newpath 
 200 500 70 0 270 arc 
 200 110 add 500 70 270 180 arc 
 
(If my film makes one more person feel\ 
 miserable I'll feel I've done my job.\ 
 -- WOODY ALLEN) 55 pathtext 
 
newpath 
 150 310 moveto 360 310 lineto 
 360 400 lineto 150 400 lineto 
 closepath 
 360 347 moveto 410 330 lineto 
 410 380 lineto 360 363 lineto 
2 setlinewidth stroke 
 
% A PROBLEM FOR THE READER: This algorithm places characters 
% along the path according to the origin of each character. 
% Rewrite the algorithm so that the characters are placed 
% according to the center of their width. This will yield 
% better results around sharp curves and when larger point 
% sizes are used. 
 
showpage