1*3e12c5d1SDavid du Colombier% 2*3e12c5d1SDavid du Colombier% This stuff has gotten terribly complicated - sorry. 3*3e12c5d1SDavid du Colombier% 4*3e12c5d1SDavid du Colombier 5*3e12c5d1SDavid du Colombiercurrentdict /bvbbox known not {/bvbbox [0 0 0 0 0 0 0] def} if 6*3e12c5d1SDavid du Colombier 7*3e12c5d1SDavid du Colombier/build_lc { 8*3e12c5d1SDavid du Colombier pop 9*3e12c5d1SDavid du Colombier gsave 10*3e12c5d1SDavid du Colombier currentpoint translate newpath 11*3e12c5d1SDavid du Colombier bvbbox 6 get size ne { 12*3e12c5d1SDavid du Colombier gsave 13*3e12c5d1SDavid du Colombier initgraphics 14*3e12c5d1SDavid du Colombier scaling scaling scale 15*3e12c5d1SDavid du Colombier 0 0 moveto 16*3e12c5d1SDavid du Colombier (\357) false charpath flattenpath pathbbox 0 0 size bvbbox astore pop 17*3e12c5d1SDavid du Colombier 0 1 idtransform dup mul exch dup mul add sqrt dup 18*3e12c5d1SDavid du Colombier bvbbox 1 get add bvbbox 1 3 -1 roll put 19*3e12c5d1SDavid du Colombier bvbbox 3 get exch sub bvbbox 3 3 -1 roll put 20*3e12c5d1SDavid du Colombier bvbbox 2 get bvbbox 0 get sub bvbbox 4 3 -1 roll put 21*3e12c5d1SDavid du Colombier bvbbox 2 get bvbbox 0 get add 2 div bvbbox 5 3 -1 roll put 22*3e12c5d1SDavid du Colombier grestore 23*3e12c5d1SDavid du Colombier } if 24*3e12c5d1SDavid du Colombier bvbbox 0 get bvbbox 1 get moveto 25*3e12c5d1SDavid du Colombier bvbbox 0 get bvbbox 3 get lineto 26*3e12c5d1SDavid du Colombier bvbbox 5 get bvbbox 4 get 8 mul add dup bvbbox 3 get lineto 27*3e12c5d1SDavid du Colombier bvbbox 1 get lineto closepath clip newpath 28*3e12c5d1SDavid du Colombier 0 0 moveto (\357) show 29*3e12c5d1SDavid du Colombier bvbbox 5 get bvbbox 3 get moveto 30*3e12c5d1SDavid du Colombier bvbbox 4 get dup dup 31*3e12c5d1SDavid du Colombier 8 mul 0 rlineto 32*3e12c5d1SDavid du Colombier 0 exch neg rlineto 33*3e12c5d1SDavid du Colombier 8 mul neg 0 rlineto 34*3e12c5d1SDavid du Colombier closepath clip eofill 35*3e12c5d1SDavid du Colombier grestore 36*3e12c5d1SDavid du Colombier} def 37