home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 November / Pcwk1197.iso / Corel / PROGRAMS / DATA / FFILL70.PS < prev    next >
Text File  |  1996-07-15  |  6KB  |  73 lines

  1. /$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def/$fmp 50 def/@dlt_hsb{$fco nff ge
  2. {/$fco nff 1 sub def}if sub neg 2 div dup $fco div/kdb xd nff $fco sub div
  3. /kdb2 xd sub neg 2 div dup $fco div/kds xd nff $fco sub div/kds2 xd sub neg dup
  4. 0 eq{pop $frb 2 eq{.99}{-.99}ifelse}if dup $frb 2 eq exch 0 lt and{1 add}if dup
  5. $frb 1 eq exch 0 gt and{1 sub}if 2 div dup $fco div/kdh xd nff $fco sub div
  6. /kdh2 xd}bd/@dlt_cmyk{$fmp 50 eq{sub neg nff dup 1 gt{1 sub}if div/$dk xd sub
  7. neg nff dup 1 gt{1 sub}if div/$dy xd sub neg nff dup 1 gt{1 sub}if div/$dm xd
  8. sub neg nff dup 1 gt{1 sub}if div/$dc xd sub neg nff dup 1 gt{1 sub}if div/$dt
  9. xd}{$fco nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/$dk xd nff
  10. $fco sub div/$dk2 xd sub neg 2 div dup $fco div/$dy xd nff $fco sub div/$dy2 xd
  11. sub neg 2 div dup $fco div/$dm xd nff $fco sub div/$dm2 xd sub neg 2 div dup
  12. $fco div/$dc xd nff $fco sub div/$dc2 xd sub neg 2 div dup $fco div/$dt xd nff
  13. $fco sub div/$dt2 xd}ifelse}bd/@dlt{$fse $fss sub dup/nff xd $fmp mul $fmp add
  14. 100 div round cvi dup 0 le{pop 1}if/$fco xd/$fi 0 def $frb dup 1 eq exch 2 eq
  15. or{$frt dup $frc $frm $fry $frk @tc_5 4 copy cmyk2rgb rgb2hsb 3 copy/myb xd
  16. /mys xd/myh xd $tot $toc $tom $toy $tok @tc_5 cmyk2rgb rgb2hsb 3 1 roll 4 1
  17. roll 5 1 roll @dlt_hsb}{$frt dup $frc $frm $fry $frk @tc_5 5 copy $tot dup $toc
  18. $tom $toy $tok @tc_5 5 1 roll 6 1 roll 7 1 roll 8 1 roll 9 1 roll @dlt_cmyk}
  19. ifelse}bd/@ffnxt{/$fi $fi 1 add def $frb dup 1 eq exch 2 eq or{pop pop pop pop
  20. myh mys myb $fi $fco lt{kdb add 3 1 roll kds add 3 1 roll kdh add 3 1 roll}{
  21. kdb2 add 3 1 roll kds2 add 3 1 roll kdh2 add 3 1 roll}ifelse 3 copy/myb xd/mys
  22. xd/myh xd hsb2rgb rgb2cmyk}{$fi $fco lt $fmp 50 eq or{$dk add 5 1 roll $dy add
  23. 5 1 roll $dm add 5 1 roll $dc add 5 1 roll $dt add 5 1 roll}{$dk2 add 5 1 roll
  24. $dy2 add 5 1 roll $dm2 add 5 1 roll $dc2 add 5 1 roll $dt2 add 5 1 roll}ifelse
  25. }ifelse}bd/ffcol{5 copy $fsit 0 eq{setcmykcolor pop}{SepMode_5 0 ne{$frn
  26. findcmykcustomcolor exch setcustomcolor}{pop pop pop pop $frc $frm $fry $frk
  27. $frn findcmykcustomcolor exch setcustomcolor}ifelse}ifelse}bd/@ftl{1 index 4
  28. index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub/$hei
  29. xd pop Tl @dlt $fss 0 eq{ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l @cp $ffpnt
  30. {fill}{@np}ifelse}if $fss $wid mul $pdw add 0 Tl nff{ffcol n 0 0 m 0 $hei l
  31. $wid $hei l $wid 0 l @cp $ffpnt{fill}{@np}ifelse $wid 0 Tl @ffnxt}repeat 5 rp
  32. $tot dup $toc $tom $toy $tok @tc_5 ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l
  33. @cp $ffpnt{fill}{@np}ifelse 5 rp}bd/@ftrs{1 index 4 index sub dup $rox mul
  34. /$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
  35. exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
  36. div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl $fan rotate
  37. pop pop pop pop @dlt $fss 0 eq{ffcol $fty 3 eq{$hei dup neg dup m 2 mul @sqr}{
  38. 0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse}if 1.0 $pad 2 mul sub
  39. dup scale $hei $fss $wid mul sub/$hei xd nff{ffcol $fty 3 eq{n $hei dup neg dup
  40. m 2 mul @sqr}{n 0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse/$hei
  41. $hei $wid sub def @ffnxt}repeat 5 rp}bd/@ftc{1 index 4 index sub dup $rox mul
  42. /$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
  43. exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
  44. div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl pop pop pop
  45. pop @dlt $fss 0 eq{ffcol $ffpnt{fill}{@np}ifelse}{n}ifelse/$dang 180 $fst 1 sub
  46. div def/$sang $dang -2 div 180 add def/$eang $dang 2 div 180 add def/$sang
  47. $sang $dang $fss mul add def/$eang $eang $dang $fss mul add def/$sang $eang
  48. $dang sub def nff{ffcol n 0 0 m 0 0 $hei $sang $fan add $eang $fan add arc
  49. $ffpnt{fill}{@np}ifelse 0 0 m 0 0 $hei $eang neg $fan add $sang neg $fan add
  50. arc $ffpnt{fill}{@np}ifelse/$sang $eang def/$eang $eang $dang add def @ffnxt}
  51. repeat 5 rp}bd/@fstAdjust{72 0 matrix defaultmatrix dtransform exch dup mul
  52. exch dup mul add sqrt currentscreen pop pop div dup mul 1 add cvi 2 256 InRange
  53. $fsc 1 sub dup 0 le{pop 1}if mul/opt$fst xd AutoSteps dup 1 eq exch 3 eq or{
  54. opt$fst dup dup $fst dup 3 1 roll div exch 3 -1 roll gt{/$adj xd/$fst xd}{pop
  55. pop}ifelse}if AutoSteps dup 2 eq exch 3 eq or{opt$fst dup dup $fst dup 3 1 roll
  56. div exch 3 -1 roll lt{/$adj xd/$fst xd}{pop pop}ifelse}if}bd/@ff{/old$fst $fst
  57. def/$adj 1 def/$fss 0 def $o 1 eq setoverprint AutoSteps 0 gt{@fstAdjust}if 1 1
  58. $fsc 1 sub{dup 1 sub $fsit 0 eq{$fsa exch 5 mul 5 getinterval aload pop pop
  59. /$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def $fsa exch 5 mul 5
  60. getinterval aload pop $adj mul cvi $fss add/$fse xd/$tok xd/$toy xd/$tom xd
  61. /$toc xd/$ton _ def/$tot 1 def}{$fsa exch 7 mul 7 getinterval aload pop pop
  62. /$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd $fsa exch 7 mul 7 getinterval
  63. aload pop $adj mul cvi $fss add/$fse xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd
  64. /$toc xd}ifelse $fsit 0 eq SepMode_5 0 eq or dup not CurrentInkName_5 $frn eq
  65. and or{@sv $ctm setmatrix wclip Bbllx Bblly Bburx Bbury $fty 2 eq{@ftc}{1 index
  66. 3 index m 2 copy l 3 index 1 index l 3 index 3 index l @cp $fty dup 1 eq exch 3
  67. eq or{@ftrs}{pop pop pop pop $fan rotate pathbbox @ftl}ifelse}ifelse @rs/$fss
  68. $fse def}{1 0 0 0 0 _ $o @scc_5{fill}if}ifelse}for @np/$fst old$fst def}bd/@k{
  69. /$fil 2 def/$fmp xd/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd $fty 1 eq{/$fan 0
  70. def}if/$frb xd/$fst xd/$fsc xd/$fsa xd/$fsit 0 def}bd/@x{/$fil 2 def/$fmp xd
  71. /$roy xd/$rox xd/$pad xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst
  72. xd/$fsc xd/$fsa xd/$fsit 1 def}bd
  73.