2 13f7391e 2004-05-15 devnull % Shading support - primarily for ASCII file translators.
5 13f7391e 2004-05-15 devnull /grays [0.98 0.9 0.75 0.6] def
7 13f7391e 2004-05-15 devnull /setshade {
8 13f7391e 2004-05-15 devnull /level exch def
9 13f7391e 2004-05-15 devnull level 0 le {
10 13f7391e 2004-05-15 devnull /textgray 0 def
11 13f7391e 2004-05-15 devnull /backgray 1 def
13 13f7391e 2004-05-15 devnull /backgray level grays length gt
14 13f7391e 2004-05-15 devnull {/textgray 1 def 0}
15 13f7391e 2004-05-15 devnull {/textgray 0 def grays level 1 sub get}
16 13f7391e 2004-05-15 devnull ifelse def
18 13f7391e 2004-05-15 devnull textgray setgray
19 13f7391e 2004-05-15 devnull /dY1 0 def
20 13f7391e 2004-05-15 devnull /dY2 0 def
21 13f7391e 2004-05-15 devnull } bind def
23 13f7391e 2004-05-15 devnull /drawrvbox {
24 13f7391e 2004-05-15 devnull /x2 exch charwidth mul def
25 13f7391e 2004-05-15 devnull /x1 exch charwidth mul def
27 13f7391e 2004-05-15 devnull x1 x2 lt {
28 13f7391e 2004-05-15 devnull dup % expects y on top
29 13f7391e 2004-05-15 devnull /y1 exch linespace mul def
30 13f7391e 2004-05-15 devnull /y2 y1 def
32 13f7391e 2004-05-15 devnull dY1 0 eq dY2 0 eq and {
33 13f7391e 2004-05-15 devnull currentfont /FontBBox get aload pop
35 13f7391e 2004-05-15 devnull currentfont /FontMatrix get dtransform /dY2 exch def pop
37 13f7391e 2004-05-15 devnull currentfont /FontMatrix get dtransform /dY1 exch def pop
40 13f7391e 2004-05-15 devnull /y1 y1 dY1 add def
41 13f7391e 2004-05-15 devnull /y2 y2 dY2 add def
43 13f7391e 2004-05-15 devnull backgray setgray
45 13f7391e 2004-05-15 devnull x1 y1 moveto
46 13f7391e 2004-05-15 devnull x2 y1 lineto
47 13f7391e 2004-05-15 devnull x2 y2 lineto
48 13f7391e 2004-05-15 devnull x1 y2 lineto
49 13f7391e 2004-05-15 devnull closepath fill
51 13f7391e 2004-05-15 devnull textgray setgray
52 13f7391e 2004-05-15 devnull } bind def