[Updated 4/7/06 - New 'images.zip' for v2.0.3]
OpenOffice (OO) contains many thousands of .png images used for icons and similar graphics. I've optimised these files using a brute force approach (at points with 5 computers running!). Each image has been compressed with 3x different PNG compression engines and many different methods. I have also optimised maybe a few hundred images by hand- ensuring that greyscale / monotone images do not contain a coloured transparency (i.e. magenta). Throughout the process I've been vigilant to ensure no faults crept in... but nothing in life is 100%
So the result of this effort? The 7,779 files were compressed from 3.88MB to 2.23MB (57%). To stress the point, this is lossless. However, due to the large number of image files, OO stores them as a single zip archive to overcome inefficiencies in filing systems (On NTFS the individual files require ~31MB of real disk space). So the final compression for the images.zip is from 4.20MB to 3.09MB (74%). Although this has only saved ~1MB, the zip archive is actually now set to ‘store’, i.e. is purely a wrapper and has minimal overhead when decompressing. The decompression overhead is now only incurred when each actual image is rendered from a .png to the on-screen display. This may improve start-up time and reduce running memory very, very slightly- but hasn’t been tested yet.
I am keen to have the good folks at OO.org integrate this mod, since 1MB x 50,000 downloads does add up. However, such a large scale change requires quality assurance beyond just some bloke (me) saying it’s ok! Therefore, I warmly invite you to Beta test this image set and let me know if you encounter any problems. But please note, that this is in no way endorsed by John Haller or PortableApps.com.
To install, download the archive [updated: 04/07/06 ~1.9MB] which will need to be placed in the following directory: …\openoffice\share\config. You should first rename your current ‘images.zip’ to something like ‘imagesOLD.zip’ to backup, then rename the downloaded archive to 'images.zip'. You will then need to refresh the OOo image cache, as described in the post below.
I look forward to your feedback,
PS- In case people want to build their own, you can download the source files here.