------------------------------------------------------------ Release Notes for Transform SWF for Java, Version 2.1.4. ------------------------------------------------------------ The release will improve the test coverage by adding more TestNG suites and unit test classes. Bug fixes are also included. Bug Fixes 7936. Error in setting encoding table for FSDefineJPEGImage2 and FSDefineJPEGImage3. 8748. FSDefineFont[2] fails to handle buggy fonts 8749. FSVideoFrame does not set identifier. 8750. FSText does not encode records without style information. 8751. FSTextConstructor.defineTextBlock() bounding box is incorrect. 8866. FSImageConstructor: encoding argument is not checked. Class Changes None Testing Changes Restructured test data. Package Changes None ------------- Bug Fixes ------------- 7936. Error in setting encoding table for FSDefineJPEGImage2 and FSDefineJPEGImage3. When a null reference is passed to the setEncodingTable method on the classes FSDefineJPEGImage2 and FSDefineJPEGImage3 an empty encoding table is created and assigned to the instance variable. However a programming error meant that the table was create but not assigned correctly. This is now fixed. 8748. FSDefineFont[2] fails to handle buggy fonts. In the FSDefineFont and FSDefineFont2 classes the index table whose entries point to the start of each glyph is now used rather than starting decoding a glyph from where the last one finished. The makes the process more robust in the face of errors. 8749. FSVideoFrame does not set identifier. The identifier attribute was not using the value passed as an argument in the constructor: public FSVideoFrame(int anIdentifier, int frameNumber, byte[] data) Instead the attribute was being assigned to itself. This is now fixed. 8750. FSText does not encode records without style information. If an FSText object did not contain any style information (font, color or x and y offset) then the object was not encoded correctly. This is now fixed. 8751. FSTextConstructor.defineTextBlock() bounding box is incorrect. The bounding box for a block of text was not taking into account the descent of the last line of the block. The result was that the bounding did not completely enclose the text preventing it from being redrawn completely if the text was animated or placed close to or in front of another obect. This is now fixed. 8776. Indexed PNG images lose alpha. When the FSImageConstructor is used to define a flash object for an indexed PNG image any colours which are completely transparent are now set to black to prevent the the alpha channel information from being ignored and an opaque colour displayed instead. 8866. FSImageConstructor: encoding argument is not checked. The setIndexedImage() and setColorImage() methods each have an argument, encoding which specified the format of the encoded data also passed as an argument. The encoding argument will be assigned to the format attribute. The methods now correctly check that the encoding argument is checked, previously they were incorrectly checking the format (which was already set to a valid value). The logic of the test was flawed and an IllegalArgumentException was being thrown. ----------------- Class Changes ----------------- None ------------------- Testing Changes ------------------- 1. Restructured test data The test/data directory was restructured to reduce the number of files shipped with each release. Now specific test suites for each of different files types handled by the the constructor classes in the com.flagstone.transform.util are included. Sample flash files are also included. Each file contains a single type of data structure and provide some examples extracted from real-world flash files. The formal testing of the classes in the com.flagstone.transform package will be carried out using classes located in com.flagstone.transform.test. The other classes will require on the test data sets. ------------------- Package Changes ------------------- None