It's not all done yet, but I don't expect it to grow much bigger. I wasn't even trying to optimise it although it turned out much smaller than I expected.
Name:
Cudder !cXCudderUE2017-10-14 5:05
A surprising message I received, from someone who shall remain Anonymous, prompted me to revive and post it:
----
Here is interesting thing. I can discuss now because it is no longer proprietary trade-secret. SWF's "FillStyle0" and "FillStyle1". Official spec mentions they are related to path's direction and "left" and "right" fill styles. You read it, and think yourself: "Is this so really complicated? What if path direction the other way? How can left-right apply, what do official player happens if break this silly rules?"
So I test it, try to discover the truth.
What do you think? Hard and complex? No! It is so simple! The spec is all full bullshit!! Algorithm is just like this:
Look each fillstyle, in order. 1-n (ignore 0, no fill) Find all path segments use that fill, FS0 or FS1 (FS0==FS1 ignore). Scan left-right, fill odd-even: turn on fill when cross first path segment, turn off when cross again, on, off repeat until cross all the segments. If path open ended, fill spills out right edge, continuous.
After all fill, then it write all stroke. Nothing surprise there.
So many people on Internet, no one THINK or TRY IT, everyone just repeat same bullshit? Because Adobe say it is true! But it is not, we figure out and make our product perfect conversion from SWF, everyone else could not.
----
I discovered the same things... and also kept quiet about it. Now that the market for SWF processing has shifted almost completely to conversion and preservation, stuff like this can be publicised more.