% Begin UserPrep file.
%
% File : Slides.prp
% FreeHand 7 UserPrep file.
%
% UserPrep file for improved radial and graduated fill output
% primarily targeted at film recorders with the VBS Professional
% output manager with FreeHand 7.
%
% The behavior corrected is radial and graduated fills in some 
% cases "breaking up" and allowing some of the background color
% to show through the radial or graduated fill. This file 
% corrects this behavior by overlapping the filled areas that 
% create the fill, filling the leaks. We do not do this normally
% as it is not necessary with most printers, and does slow down
% printing slightly.
% To enable this file, select it in the Print Setup dialog UserPrep popup,  
% or set the preference in the Expert Input/Output options for
% UserPrep to Slides.prp.
% To verify that this is enabled, print to file, and look for 
% Slides.prp in the print file. If you find this text, 
% it is enabled.
%
% This UserPrep file will cause graduated and radial fills to 
% print more slowly (approximately 10% slower, data dependent).
%
% Version 1.0 Nov. 25, 1994
% John Ahlquist
% Copyright (C) Macromedia Inc. 1995, 1996  All rights reserved.

/_lfp4 {
 /iosv inkoverprint def
 /cosv currentoverprint def
 /yt xdf       
 /xt xdf       
 /ang xdf      
 storerect
 /taperfcn xdf
 /k2 xdf /y2 xdf /m2 xdf /c2 xdf
 /k1 xdf /y1 xdf /m1 xdf /c1 xdf
 c1 c2 sub abs
 m1 m2 sub abs
 y1 y2 sub abs
 k1 k2 sub abs
 maxcolor      
 calcgraysteps mul abs round  
 height abs adjnumsteps   
 dup 2 lt {pop 1} if    
 1 sub /numsteps1 xdf
 currentflat mark    
 currentflat clipflatness  
 /delta top bottom sub numsteps1 1 add div def 
 /right right left sub def  
 /botsv top delta sub def  
 {
{
W
xt yt translate 
ang rotate
xt neg yt neg translate 
dup setflat 
/bottom botsv def
0 1 numsteps1 
{
numsteps1 dup 0 eq {pop 0.5 } { div } ifelse 
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat 
{ 
mark {newpath left bottom right delta delta 4 div add rectfill}stopped % add 1/4 delta overlap JBA 11/25/94
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
 }loop
 cleartomark setflat
 iosv setinkoverprint
 cosv setoverprint
}bdf
/bcs [0 0] def 
/_lfs4 {
 /iosv inkoverprint def
 /cosv currentoverprint def
 /yt xdf       
 /xt xdf       
 /ang xdf      
 storerect
 /taperfcn xdf
 /tint2 xdf      
 /tint1 xdf      
 bcs exch 1 exch put    
 tint1 tint2 sub abs    
 bcs 1 get maxspot    
 calcgraysteps mul abs round  
 height abs adjnumsteps   
 dup 2 lt {pop 2} if    
 1 sub /numsteps1 xdf
 currentflat mark    
 currentflat clipflatness  
 /delta top bottom sub numsteps1 1 add div def 
 /right right left sub def  
 /botsv top delta sub def  
 {
{
W
xt yt translate 
ang rotate
xt neg yt neg translate 
dup setflat 
/bottom botsv def
0 1 numsteps1 
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat 
{ 
mark {newpath left bottom right delta delta 4 div add rectfill}stopped % add 1/4 delta overlap JBA 11/25/94
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
 }loop
 cleartomark setflat
 iosv setinkoverprint
 cosv setoverprint
}bdf
/_rfs4 {
 /iosv inkoverprint def
 /cosv currentoverprint def
 /tint2 xdf      
 /tint1 xdf      
 bcs exch 1 exch put    
 /radius xdf      
 /yt xdf       
 /xt xdf       
 tint1 tint2 sub abs    
 bcs 1 get maxspot    
 calcgraysteps mul abs round  
 radius abs adjnumsteps   
 dup 2 lt {pop 2} if    
 1 sub /numsteps1 xdf
 radius numsteps1 div 2 div /halfstep xdf 
 currentflat mark    
 currentflat clipflatness  
 {
{
dup setflat 
W 
0 1 numsteps1 
{
dup /radindex xdf
numsteps1 div /frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat 
{ 
newpath mark xt yt radius 1 frac sub mul halfstep add 0 360
{ arc
radindex numsteps1 ne 
{
xt yt 
radindex 1 add numsteps1 
div 1 exch sub 
radius mul halfstep add halfstep 2 div sub % add 1/4 step overlap JBA 11/25/94
dup xt add yt moveto 
360 0 arcn 
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
 }loop
 cleartomark setflat
 iosv setinkoverprint
 cosv setoverprint
}bdf


/_rfp4 {
 /iosv inkoverprint def
 /cosv currentoverprint def
 /k2 xdf /y2 xdf /m2 xdf /c2 xdf
 /k1 xdf /y1 xdf /m1 xdf /c1 xdf
 /radius xdf      
 /yt xdf       
 /xt xdf       
 c1 c2 sub abs
 m1 m2 sub abs
 y1 y2 sub abs
 k1 k2 sub abs
 maxcolor      
 calcgraysteps mul abs round  
 radius abs adjnumsteps   
 dup 2 lt {pop 1} if    
 1 sub /numsteps1 xdf
 radius numsteps1 dup 0 eq {pop} {div} ifelse 
 2 div /halfstep xdf 
 currentflat mark    
 currentflat clipflatness  
 {
{
dup setflat 
W 
0 1 numsteps1 
{
dup /radindex xdf
numsteps1 dup 0 eq {pop 0.5 } { div } ifelse 
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat 
{ 
newpath mark xt yt radius 1 frac sub mul halfstep add 0 360
{ arc
radindex numsteps1 ne 
{
xt yt 
radindex 1 add 
numsteps1 dup 0 eq {pop} {div} ifelse 
1 exch sub 
radius mul halfstep add halfstep 2 div sub % add 1/4 step overlap JBA 11/25/94
dup xt add yt moveto 
360 0 arcn 
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
 }loop
 cleartomark setflat
 iosv setinkoverprint
 cosv setoverprint
}bdf

% End UserPrep
