66 lines
1.3 KiB
PostScript
66 lines
1.3 KiB
PostScript
![]() |
%
|
||
|
% Color and reverse video support for dpost. A call made to setcolor with two
|
||
|
% arguments implies reverse video printing.
|
||
|
%
|
||
|
|
||
|
/rgb {setrgbcolor} bind def
|
||
|
/hsb {sethsbcolor} bind def
|
||
|
|
||
|
/colordict 50 dict dup begin
|
||
|
/red { 1 0 0 } def
|
||
|
/green { 0 1 0 } def
|
||
|
/blue { 0 0 1 } def
|
||
|
/cyan { 0 1 1 } def
|
||
|
/magenta { 1 0 1 } def
|
||
|
/yellow { 1 1 0 } def
|
||
|
/white { 1 1 1 } def
|
||
|
/black { 0 0 0 } def
|
||
|
end def
|
||
|
|
||
|
/setcolor {
|
||
|
counttomark 1 eq {
|
||
|
dup colordict exch known not {pop /black} if
|
||
|
colordict exch get exec setrgbcolor
|
||
|
} if
|
||
|
counttomark 2 eq {
|
||
|
/backcolor exch def
|
||
|
/textcolor exch def
|
||
|
colordict backcolor known not colordict textcolor known not or {
|
||
|
/backcolor colordict /black get def
|
||
|
/textcolor colordict /white get def
|
||
|
} if
|
||
|
/backcolor colordict backcolor get def
|
||
|
/textcolor colordict textcolor get def
|
||
|
/dY1 0 def
|
||
|
/dY2 0 def
|
||
|
textcolor exec setrgbcolor
|
||
|
} if
|
||
|
} bind def
|
||
|
|
||
|
/drawrvbox {
|
||
|
/x2 exch def
|
||
|
/x1 exch def
|
||
|
|
||
|
currentpoint dup
|
||
|
/y1 exch def
|
||
|
/y2 exch def pop
|
||
|
|
||
|
dY1 0 eq dY2 0 eq and {
|
||
|
currentfont /FontBBox get aload pop
|
||
|
currentfont /FontMatrix get dtransform /dY2 exch def pop
|
||
|
currentfont /FontMatrix get dtransform /dY1 exch def pop
|
||
|
} if
|
||
|
|
||
|
/y1 y1 dY1 add def
|
||
|
/y2 y2 dY2 add def
|
||
|
|
||
|
backcolor exec setrgbcolor
|
||
|
newpath
|
||
|
x1 y1 moveto
|
||
|
x2 y1 lineto
|
||
|
x2 y2 lineto
|
||
|
x1 y2 lineto
|
||
|
closepath fill
|
||
|
textcolor exec setrgbcolor
|
||
|
} bind def
|