[squeak-dev] Re: Bezier filled shape rendering artifacts
Klaus D. Witzel
klaus.witzel at cobss.com
Tue Mar 25 07:28:18 UTC 2008
On Tue, 25 Mar 2008 03:48:01 +0100, Igor Stasenko wrote:
> On 25/03/2008, Klaus D. Witzel wrote:
>> > I don't know why this particular glyph not rendered correctly, i can
>> > only suppose that it
>> > was defined with sequence of data, which wrongly parsed by SVGMorph.
>> > Why i think it's not engine? Because engine can't twist point
>> > coordinates of shape, it can only fail to fill shape correctly. And
>> > this glyph i see twisting coordinates, look like somewhere SVG morph
>> > starts feeding engine with wrong coordinates.
>> Huh? I've spent hours checking Gary's parsing code (before posting
>> anything here in squeak-dev) and until now saw [said the possibly blind
>> man] no wrongdoing (even compared to a Javanese implementation which
>> no rendering bug). Some typos in SVGMorph's parsing method, quadratic*
>> v.s. qubic*, but these lines wheren't used especially for A1.svg,A4.svg
>> (which I tested most).
>> So you found something suspicious; please tell what and where (did you
>> mean in Y4.svg?). I could use a point where to start debugging from. In
>> which segment did you see twisted coordinates? TIA.
> Yes, if i find something suspicious, i'll let you know.
> In attachment is a comparable rendering results from Opera (gray) and
> SVGMorph (black).
Great (except that the colors render here as redish and grayish), thanks
> Looks like i was wrong about twisting - the glyph is so small that its
> hard to say what is there, unless you zoom it in.
Yeah that's what makes the 'S' in SVG indispensable :)
> I think you can try to remove drawing parts/segments step by step from
> original svg to see where it breaking. And then you can trace why.
Don't ask me how often I have already done that (in the segment assembly
method) but, it didn't turn up anything buggy ...
Nevertheless let me thank you for standing by me; often it's just the "you
are not alone" strategy which kills the insect :)
Will now focus on the areas you colored in the .jpg, thanks again.
P.S. the more I think about this problem the more it smells like the
path/line/beziers do not flush the engine appropriately (similiar to what
you corrected and to what Gary commented last night).
More information about the Squeak-dev