[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  
>> in
>>  > 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  
>> has
>>  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  
much !

> 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.

/Klaus

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 mailing list