home *** CD-ROM | disk | FTP | other *** search
- /gr{64. div setgray}def
- /SCdict 30 dict def
- SCdict begin
- /killbu {//md /bu get //md /bu {} put} def
- /restorebu {//md exch /bu exch put} def
- /killbn {//md /bn get //md /bn {} put} def
- /restorebn {//md exch /bn exch put} def
- /killfc {//md /fc get //md /fc {} put} def
- /restorefc {//md exch /fc exch put} def
- /killnc {//md /nc get //md /nc {} put} def
- /restorenc {//md exch /nc exch put} def
- SCdict /sc_mtrx matrix put
- /sc_oval
- { /sc_end exch def
- /sc_start exch def
- /sc_yrad exch def
- /sc_xrad exch def
- /sc_y exch def
- /sc_x exch def
- /savematrix sc_mtrx currentmatrix def
- sc_x sc_y translate
- sc_xrad sc_yrad scale
- 0 0 1 sc_start sc_end arc
- savematrix setmatrix
- } def
- /sc_arc
- { /sc_end exch def
- /sc_start exch def
- /sc_yrad exch def
- /sc_xrad exch def
- /sc_y exch def
- /sc_x exch def
- /savematrix sc_mtrx currentmatrix def
- sc_x sc_y translate
- sc_xrad sc_yrad scale
- 0 0 moveto
- 0 0 1 sc_start sc_end arc
- 0 0 lineto
- savematrix setmatrix
- } def
- end
- userdict begin
- /SCsep 4 def
- /UCRB .5 def
- /UCRM .31 def
- /UCRY .48 def
- /setgray {
- SCsep 0 eq SCsep 4 eq or{
- systemdict begin setgray end
- }
- {
- pop systemdict begin 1 setgray end
- } ifelse
- } def
- /sethsbcolor {
- systemdict begin
- sethsbcolor
- currentrgbcolor
- end
- userdict begin setrgbcolor end
- } def
- /setrgbcolor {
- SCsep 4 eq {
- systemdict begin
- setrgbcolor
- end
- }
- {
- SCsep 0 eq {
- do_ucrblack
- systemdict begin
- setgray
- end
- pop pop pop
- }
- {
- do_ucrblack pop
- do_correct
- SCsep 1 sub index
- systemdict begin
- setgray
- end
- pop pop pop
- } ifelse
- } ifelse
- } def
- /do_correct {
- cvtrgbcym
- 1 index UCRY mul sub 3 1 roll
- 1 index UCRM mul sub 3 1 roll
- 3 1 roll
- cvtrgbcym
- } def
- /do_ucrblack {
- cvtrgbcym
- get_min 3 index get_min
- /mincolor exch def
- pop pop
- /ucramt mincolor UCRB sub
- dup 0 lt { pop 0 } if def
- ucramt sub 3 1 roll
- ucramt sub 3 1 roll
- ucramt sub 3 1 roll
- cvtrgbcym
- ucramt 1.25 mul
- 1 exch sub
- } def
- /cvtrgbcym {
- 1 exch sub 3 1 roll
- 1 exch sub 3 1 roll
- 1 exch sub 3 1 roll
- } def
- /get_min {
- 2 copy lt {1} {0} ifelse index
- } def
- end