Task #34
Testing tag handlers
| 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!!!!!!!!!