Task #34

Testing tag handlers

Added by Robert 786 days ago. Updated 780 days ago.

Status:Closed Start:03/25/2010
Priority:Normal Due date:03/31/2010
Assigned to:Robert % Done:

100%

Category:-
Target version:BHEU Estimated time:24.00 hours

Description

Intensive tests for tag handlers.

History

Updated by Robert 785 days ago

  • % Done changed from 0 to 20

Fixed some bugs in DefineMorphShape2 which prevented the SWF file from beeing parsed (r105). Now it parses and writes, the output file has the same file size and contains data but does not play in Flash Player.

Updated by Robert 780 days ago

  • % Done changed from 20 to 100

Fixed the last bug in DefineFont3. The SWF File Format Specification messef my life up once more.

DefineFont3 is specified this way:

Header              RECORDHEADER              Tag type = 75.
FontID              UI16                      ID for this font character.
FontFlagsHasLayout  UB[1]                     Has font metrics/layout
.
.
.
.
FontAscent          If FontFlagsHasLayout,   Font ascender height.
                    SI16 
FontDescent         If FontFlagsHasLayout,   Font descender height.
                    SI16 
FontLeading         If FontFlagsHasLayout,   Font leading height (see
                    SI16 Font leading height following).
.
.
.
.

Guess what? FontFlagsHasLayout was parsed as false but there have been over 5000 inexplicable bytes of code at the end of the tag. Setting the FontFlagsHasLayout to true and ignoring if it was parsed as true or false will lead to the expected result. Now how can anybody know that it is true by default?
Also a nice statement is: "The DefineFont3 tag is introduced along with the DefineFontAlignZones tag in SWF 8.","The minimum file format version is SWF 8." and then in the table of DefineFont3 is written: "SWF 5 or earlier: always 0, SWF 6 or later: language code" WTF!!!!!!!!!

Updated by Robert 780 days ago

  • Status changed from Assigned to Closed

Also available in: Atom PDF