[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: [Gnash-dev] shape_character_def fill/line styles

From: Udo Giacomozzi
Subject: Re[2]: [Gnash-dev] shape_character_def fill/line styles
Date: Mon, 21 May 2007 16:08:48 +0200

Hello strk,

Monday, May 21, 2007, 1:01:36 PM, you wrote:
s> Well, the is_solid() call was accessing an out-of-bound memory.
s> Could be the problem was somewhere else, anyway I just added 
s> an assertion there:


Ahaa! I already saw that assertion when I wrote my last reply and was
surprised that I (so I thought) had added it. Maybe also add a check
for >= 0.

>> I think a /well/ formed SWF will /not/ define any fill style for
>> fonts, so this check is wrong (for glyphs, at least).

s> I was working on making gnash more robust. Intentionally feeding the parser
s> with arbitrarily scrambled input.

The check is fine for shapes, but not for glyphs.

>> Sounds good.
s> Please remind me (maybe add a task in the tracker for this?).

Just do that yourself :)

>> A glyph is just a vector information without styles.
s> But can reference the style (0 || 1) so we need a document,

Correct. But you should think it like 0=no fill; 1=filled.

s> ensure, handle that (not just in AGG, but in the core and in
s> any renderer).

Triangulating render handler implementation does it the same way..

s> Btw, i'm not sure gnash succeeds in hitTests
s> with glyphs.. I wonder if the root cause is the same...
s> (remember point_test_local in shape_character_def ?)

Can't tell, but I fear glyphs are even more special because they
apparently use different filling rules (non-zero vs. even-odd). That
is documented nowhere (except our source code) but without this
distinction some fonts are not displayed correctly. The filling rule
defines how crossing edges should be handled and thus influences which
pixels are filled.

>> <ot>
>>   However it would be great to have multi-layered glyphs with
>>   complex fills (like normal shapes) in Flash. ;)
>> </ot>

s> This is free software, nothing prevents you from doing it! :)

I thought we want to be compatible ;)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]