NOTE THAT THERE HAVE BEEN SOME MAJOR CHANGES IN THE NAMING CONVENTION OF THE FUNCTION CALLS WITHIN THIS RELEASE. THIS WILL AFFECT ALL PROGRAMS CURRENTLY USING PANDA... READ ON FOR DETAILS... Release 0.3 -> Release 0.4 * Imagebox file not found error messages for TIFFs improved (filename that was bad is now included) * Discovered a wierd bug in acroread (I think). See huh.pdf... This seems to be acrobat related. It doesn't happen in gv. * PDF doesn't support / as a character in the name of an object such as an image. Therefore when we add an image into a document we now have to go through the name string and change all of the /'s to -'s. Then again, this might not be a problem with PDF itself, but is certainly a problem with the lexers in xpdf, gv and acroread and therefore is an issue. * Moved all the headers into panda/, which means the demo app can now use the same path for the includes as the real applications that users would be writing. This means that the demo application had to be renamed to pandademo (from panda). * extern "C"'ed all of the headers so that they are accessible from C++ * Defined #defines so that headers are only included once at compilation time * Fixed the Makefile.am so that the man pages are installed as well... * Discovered that the Makefile.am needs to be changed for that the headers will install from their new location in panda/, so I had a look into that as well... ========================== 0.3.1 Released ===================================== * Implemented xmalloc in memory.c so that I could simplify the malloc calls in the rest of the code in the library... Also changed all of the malloc calls in the library to use it... * Resolved the namespace problems by renaming all function calls to use the naming scheme "panda_<<>>". There are #defines to the old names in panda/legacy.h * Note that the namespace changes were partially made by a script, so if there are any typos, could you please let me know... Things still compile, so at least the typos are consistent. * Implemented template pages for PDF documents. These are created via the panda_newpage() call with a page size of gPageSizeTemplateA4. They can then be asserted on a page using panda_asserttemplate(). * Fixed the namespace on variable names as well... This included moving some stuff out of the gcc reserved namespace (__*) in objects.h. * The namespace changes were lots of fun (not). I suggest that no-one ever do them again... * Added legacymain.c to check that the legacy function mappings and stuff actually work * BACKPORTED FROM PANDA 0.3.2: Fixed some small problems with the configure script, added the Makefile.am to the distribution and made some small changes requested by the users... * Started rearranging the demo document so that it shows the features of Panda in a less confusing manner. * If you failed to setup font details before writing a string, Panda would crash. It now works on reasonable defaults. * Made dmalloc stop complaining about freeing NULL pointers, I assume this makes the code more portable. * The saga of the vertical line in JPEG images (reported by dave@valinux.com) - a vertical line appears down the LHS of JPEG images embedded by Panda - visible in: acroread (linux) - not visible in: acroread (win32) gv (linux) xpdf (linux) As a sanity check, I created a PDF using acrobat on a win32 box of just the JPEG image in question... I then compared the streams. They are definitely different, but it would appear that acrobat is converting the image into a TIFF stream before insertion, possibly because of this sort of problem. * Uncompressed TIFF images may now be inserted into PDF documents. * Grayscale TIFF images now can be embedded as well...