From: Hans-Bernhard B. <br...@ph...> - 2004-07-16 11:34:38
|
On Thu, 15 Jul 2004, Ethan Merritt wrote: > My conclusion from trying many combinations of PostScript maco > options on pm3d.dem is that the following change is the minimal one > sufficient to work around this ghostscript/gv bug: > > /h {rlineto rlineto rlineto fill} bind def > > Minimal revised version > ----------------------------- > > /h {rlineto rlineto rlineto gsave fill grestore} bind def Hmmm.... let me try my understanding of PostScript on this. What this change does is to cause a copy of the patch constructed by the 'N' (--> newpath moveto) and the three rlinetos alive to still be sitting on the stack after the 'fill'. And the 'g' operator of the *next* quadrangle will then stroke this path. Yes, that figures. IIRC, the PostScript drawing model explicitly says that the fill operator *only* fills the interior of the path, leaving its outline alone. This will indeed cause hairline fractures between adjacent rectangles: each fill will leave the shared edge itself alone, so it stays white. The change pastes over the cracks using the stroke operator. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |