============================= PDFlib 7.0.5 (April 22, 2010) ============================= - 2010-04-16 (bug #2759) PDF_create_annotation() in PDF/A mode restricted the "rotate" and "zoom" options for all annotation types although PDF/A restricts these only for annotations with type=Text. - 2010-03-31 (bug #2684) Building the PDFlib Lite binding for Perl on Windows with the old-style Makefile instead of Makefile.PL didn't produce any usable binary. - 2010-03-18 (bug #2686) Textflow could wrongly place text with verticalalignment=justify and lastlinedist=descender if multiple fonts were used on a line and certain rare geometric conditions were met. - 2010-03-17 (bug #2668) Invalid PDF output was generated when PDF_begin_template_ext() was called in page scope and one or more of the following options were used: "metadata", "opi-1.3", "opi-2.0". - 2010-02-12 (bug #2516) PHP binding: added a binary for use with Zend Community Server 5.3 which requires Visual Studio 8 (as opposed to the common PHP build which uses VS9). - 2010-02-11 (bug #2521) The pcos_get_string() method in .NET didn't convert non-ASCII return strings to UTF-16 correctly. - 2010-02-01 (bug #2611) Implements a parser for legacy Type 1 PFA fonts with a binary data section. - 2010-01-19 (bug #2596) Added support for addressing a "temporary work path" via the option "clippingpathname" and the pseudo path name "Work Path". - 2010-01-15 (bug #2520) The "transparencygroup" option is no longer allowed in PDF/A mode to match the forthcoming Technical Corrigendum 2 for ISO 19005-1. - 2010-01-15 (bug #2594) Textflow ignored space characters in front of mandatory line breaks (nextline, nextparagraph, nextpage) if alignment=center or =right. - 2010-01-14 (bug #2435) Invalid RGB TIFF images with four components, but extrasamples=0 were wrongly processed in passthrough mode which resulted in invalid image data in the PDF output. - 2009-12-22 (bug #2567) Fixed a memory violation with malformed XMP where the namespace prefix was missing from element names. - 2009-12-03 (bug #2517) The message "Floating point parameter 'x' has bad value (not a number)" could occur spuriously under the following conditions: Linux x86, PHP, certain PHP functions called before using PDFlib API functions. The problem was caused by a bug in the gcc optimizer and solved by disabling the optimizer for a particular source code module. - 2009-11-24 (bug #2514) Fixed a potential memory problem in the XMP code. - 2009-11-18 (bug #2484) The PHP wrapper now honors the "open_basedir" setting in the php.ini file, see also www.securityfocus.com/bid/36951/info. - 2009-11-18 (bug #2497) The starter_type3font samples did not set the bounding box for the glyphs correctly. As a result some undesired clipping could occur when viewing the generated PDF with Acrobat 9.2 (but not older versions). This problem affected only the sample code, not the PDFlib implementation. - 2009-11-13 (bug #2500) textformat=utf16 (i.e. without specifying the byte ordering) didn't work correctly in Textflow if the text began with a BOM which indicated non-native byte ordering. - 2009-11-13 (bug #2444) Large File Support was accidentally disabled in the AIX 64-bit builds. - 2009-11-10 (bug #2480) Added a workaround which allows PDI to import pages where a Flate-compressed content stream contains an invalid CRC checksum. =================================== PDFlib 7.0.4p11 (November 03, 2009) =================================== - 2009-11-03 (bug #2457) Added support for Ruby 1.9. - 2009-11-02 (bug #2425) Added a check to PDI which detects certain malformed constructs related to compressed object streams (not yet observed in the real world, though). - 2009-10-28 (bug #2456) U3D views no longer work because a wrong view entry /C 0 was written due to a missing initialization (bug introduced after PDFlib 7.0.3). - 2009-10-09 (bug #2413) The "filename" suboption of the "attachments" option of PDF_begin/end_ document() no longer honored the searchpath (bug introduced in 7.0.4p9). Additional bug: if a file name started with a BOM it was not found by the searchpath mechanism. ================================== PDFlib 7.0.4p10 (October 06, 2009) ================================== - 2009-10-06 (bug #2343) iSeries: URI actions for Link annotations didn't work correctly due to an EBCDIC conversion problem. =================================== PDFlib 7.0.4p9 (September 30, 2009) =================================== - 2009-09-29 (bug #2363) Textflow could wrap text around a wrapbox with an additional unwanted empty line if fitmethod=meet and the distance between the right edge of the wrapbox and the width of the last line segment was very small (1/10 of the fontsize), i.e. a tiny small space close to the fitbox border. - 2009-09-29 (bug #2385) PPS: the following Block properties were not processed correctly if they were specified as percentages: charspacing, wordspacing, textrise (they were always treated as 0). - 2009-09-28 (bug #2378) Using PVF to supply image data to PDF_load_image() could result in a crash when the client (correctly) freed the supplied memory data if the image was a JPEG which required transcoding. The COM, .NET, and Java bindings were not affected from this issue. - 2009-09-23 (bug #2376) Parsing the value of the LANG environment variable (as required for the "honorlang" option for file name handling) didn't correctly recognize the flavors "ISO-8859..", "iso8859-.." and "iso88591". - 2009-09-23 (bug #2359) PDF/A-1a output could violate the standard if a symbol font was used and a non-existing glyph had to be replaced by the glyphcheck mechanism. In PDF/A mode PDFlib no longer uses the .notdef glyph as final replacement glyph. - 2009-09-23 (bug #2371) The default value of the "strokewidth" text option (which is "auto") was ignored for textrendering=1,2,5,6, and the current linewidth was used instead. This could result in ugly output for outline text with mixed font sizes. - 2009-09-22 (bug #2370) Work around buggy JPEG files with a total segment count of 0 for embedded ICC profiles. - 2009-09-22 (bug #2354) PDF_fit_textflow() could crash if an invalid Textflow handle was supplied and PDF_create_textflow() has never been called before (bug introduced in PDFlib 7.0.4p2). - 2009-09-15 (bug #2364) Client-side errors related to wrong nesting of structure elements for Tagged PDF could result in an internal error message "Unknown vsprintf() format 'i' (0x69)" instead of the appropriate error message. ================================ PDFlib 7.0.4p8 (August 26, 2009) ================================ - 2009-08-26 (bug #2344) The "filename" suboption of the "attachments" option of PDF_begin/end_document() didn't correctly deal with non-ASCII characters. For example, using umlauts on Windows triggered the message "Couldn't open attachment file". ================================ PDFlib 7.0.4p7 (August 10, 2009) ================================ - 2009-08-10 (bug #2329) Added a workaround to PDI which enables processing of nonconforming encrypted documents where the /U entry does not contain the required 32 bytes. - 2009-08-07 (bug #1742) Not all frames could be processed for certain OJPEG-compressed TIFF images because an offset was incorrectly stored as 32-bit quantity. Only frames starting within the first 64KB of the TIFF file were converted. - 2009-08-07 (bug #2281) Fixed a potential security vulnerability related to malformed TIFF images with bogus LZW compressed image data. - 2009-08-04 (bug #2327) Textflow: if alignment=justify was set and text of the form text_a text_b (with x < width of text_a) didn't fit into the fitbox, but text_a did fit, text_a wasn't justified. - 2009-08-04 (bug #2324) Fixed wrong handling of alpha channels and transparency chunks in PNG images. An auxiliary bug was that the "ignoremask" option was not implemented for PNG images. - 2009-08-04 (bug #2326) Added another workaround for broken OJPEG-compressed TIFF images with too many quantization tables. - 2009-07-31 (bug #2321) PDF_fit_textflow(): if a cell contained a Textflow and the cell height was smaller than the required space, the cell was incorrectly expanded horizontally unless lastlinedist=0. - 2009-07-31 (bug #2322) The demo stamp in unlicensed versions did not pass Acrobat 9 Preflight validation for PDF/A-1a (but not PDF/A-1b). While the Preflight messages were not correct, the demo font now works around the validation problems. - 2009-07-24 (bug #2318) If a Textflow didn't completely fit into a table cell, the complete text (instead of only the remaining text) could appear in the continuation of the table cell in the next table instance. - 2009-07-24 (bug #2308) PDF_fit_table() could fail with an exception "Size of inner cell at column 1 and row 5 too small ( x )" with a negative height value when a table row had to be split. - 2009-07-24 (bug #2307) PDF_end_page_ext() could throw an exception "Unmatched save level" if an earlier call to PDF_fit_textflow() encountered a problem and errorpolicy= return. - 2009-07-20 (bug #2317) Glyphs of a Type 3 font could be clipped in Acrobat 9 (but not older versions) if the client provided the corners of the glyph bounding box (parameters llx/lly/urx/ury in PDF_begin_glyph()) in the wrong order, i.e. llx/lly did not refer to the lower left corner. In order to avoid this problem PDFlib now normalizes the glyph box coordinates. ============================== PDFlib 7.0.4p6 (July 20, 2009) ============================== - 2009-11-13 (bug #2498) (Updated the published binary package) Cross-compiling REALbasic applications across Mac and Windows no longer worked due to a problem in the build process for the REALbasic binding of PDFlib. - 2009-07-20 (bug #2296) The value of "strokewidth" was not actually used if the text was underlined, overlined, etc. (insted, the value of "underlinewidth" was used). Also, the default of "strokewidth" no longer depends on "underlinewidth", but a built-in default value is now used. - 2009-07-16 (bug #2302) The following functions were missing from the object-oriented version of the PHP wrapper (bug introduced in PDFlib 7.0.4p5): show_boxed, utf16_to_utf8, utf32_to_utf16, utf8_to_utf16 - 2009-07-15 (bug #2303) In non-Unicode language bindings (e.g. C++) UTF-8 option values did not work in inline option lists for PDF_create_textflow() (although they worked in the optlist parameter of PDF_add_textflow()). - 2009-07-10 (bug #2297) An inappropriate exception "Textflow X is used more than once" could be thrown when a Textflow was used in a table cell and an earlier call to PDF_fit_table() returned "_error". If PDF_fit_table() was called again the error was thrown. - 2009-07-07 (bug #2292) Allow Type 1 fonts with PFM files where the CharSet is set to 255. This is required to support certain OCR fonts. ============================== PDFlib 7.0.4p5 (July 06, 2009) ============================== - 2009-07-06 (bug #1694) Updated the PHP wrapper for use with PHP 5.3. - 2009-07-01 (bug #2285) Certain malformed PNG images could trigger an error message on stderr. - 2009-06-26 (bug #2112/REOPENED) Further reduced memory requirements for huge tables with lots of small Textflows. - 2009-06-08 (bug #2276) Fixed memory problems in the PNG reader which could occur for a certain kind of malformed PNG image. ============================== PDFlib 7.0.4p4 (June 08, 2009) ============================== - 2009-06-08 (bug #1036/REOPENED) Activated the original fix for bug #1036 since problems may arise in certain cases if the widths array for unembedded core fonts is not embedded. Skipping the widths array can be achieved with an unsupported new option. - 2009-06-05 (bug #2274) Removed the simple PNG reader to allow stricter checking of damaged compressed PNG data. This allows us to detect corrupt PNG images with the "invalid distance too far back" compression bug instead of creating invalid PDF output. - 2009-06-03 (bug #2265) Updated to libpng 1.2.36 to preventively fix a number of security issues in libpng. - 2009-05-29 (bug #2272) Fixed a potential crash when an exception was thrown while processing certain options in PDF_begin_page_ext(). - 2009-05-29 (bug #2270) Added another workaround for broken OJPEG-compressed TIFF images which previously caused a crash, but now are correctly converted to PDF. - 2009-05-28 (bug #2269) Textflow output could be slightly wrong in very rare situations with fonts that include kerning pairs with space as the second character. - 2009-05-28 (bug #2112/REOPENED) Further improved the performance and memory requirements of huge tables with Textflows. - 2009-05-25 (bug #2259) Added a workaround for TIFF images compressed with old-style JPEG which couldn't be processed with libtiff's OJPEG module. - 2009-05-25 (bug #2264) Check PNG image size for overflow to guard against attacks with malformed PNG images (Secunia Advisory SA35180). - 2009-05-14 (bug #2257) Include a template for adding the license key in the Windows registry (pdflib.reg) in all Windows 32-bit packages. - 2009-05-11 (bug #2117) PDFlib license file format 2.0 (bug #2107) was not activated on zLinux. ============================ PDFlib 7.0.4p3 (May 5, 2009) ============================ - 2009-05-05 (bug #2253) The "fat" PHP binaries for Mac OS X contained only a valid library for the ppc7400 architecture, but not for the ppc64, i386, and x86_64 architectures. - 2009-04-30 (bug #2250) The "compatibility" option of PDF_begin_document() was ignored even if the "pdfx" option was supplied with the value "none". =============================== PDFlib 7.0.4p2 (April 21, 2009) =============================== - 2009-04-21 (bug #2247) Added binaries for Python 2.5 and 2.6 on Windows since Python's versioning mechanism no longer is based on the API version number, but checks the specific Python version number. - 2009-04-21 (bug #2240) The PHP 5.1/5.2 binding for Windows had a dependency on MSVCR80.dll due to the use of a wrong compiler in the build process (bug introduced with PDFlib 7.0.4p1). - 2009-04-21 (bug #2237) Implemented the "transparencygroup" option for PDF_begin_template_ext(). This function accidentally got lost when fixing bug #1325. - 2009-04-21 (bug #2224) Improved the version declaration in the Tcl binding since some Tcl installations require the following: "package ifneeded pdflib 7.0.4" (including the minor number). - 2009-04-21 (bug #2096/REOPENED) Due to a problem in the build process the Perl 5.10 bindings were mixed up in the Linux x86_64 package. - 2009-04-17 (bug #1805/REOPENED) PDF_set_info() still didn't accept empty strings for the "value" argument in all situations since the 2008-07-11 fix did not cover all situations. - 2009-04-09 (bug #2238) PDF_fill_textblock() could incorrectly reject long strings with the following exception: "String length has a bad value XXX (minimum 0, maximum 32763)" when textflow=true. - 2009-04-07 (bug #2235) Modified the size of I/O buffers in PDI to work around performance problems when reading PDFs in repair mode from SMB servers with bad configuration. - 2009-04-06 (bug #2236) When PPS filled a Textflow block based on the "defaulttext" and the text was encoded in UTF-16BE, non-Unicode language bindings could issue a wrong exception "Option 'textlen' missing (required for current textformat 'utf16be')". =============================== PDFlib 7.0.4p1 (April 02, 2009) =============================== - 2009-04-01 (bug #2233) Textflow could throw an exception in situations where a non-existing font file was configured for the Helvetica font, but wasn't actually used in the Textflow. - 2009-04-01 (bug #2232) The equivalent of the following call in non-Unicode language bindings: PDF_set_parameter(p, "escapesequence", "true") could result in an exception with number 0 and withou any message. Workaround: supply "escapesequence" as option instead of as parameter. - 2009-04-01 (bug #2231) The new default search paths introduced with PDFlib 7.0.4 could result in the following exception on Unix/Linux/Mac if the HOME directory was not accessible (e.g. a Web server process without sufficient privileges to read the / directory): "Couldn't open '/root/PDFlib/Helvetica.pfa' for reading (permission denied)" Unaccessible directories will now be skipped when adding entries to the searchpath list. - 2009-03-30 (bug #2229) Reduced memory requirements by deleting page-level XMP metadata as early as possible. - 2009-03-26 (bug #1940) Improved page parsing for pCOS when skipping inline images. - 2009-03-26 (bug #2216) Introduced structured exception handling for RPG via monitor/on-error. - 2009-03-26 (bug #2228) Added a workaround for an Acrobat display problem with subsetted TrueType fonts which contain characters beyond the BMP. Without this workaround Acrobat displays only .notdef glyphs. - 2009-03-25 (bug #2226) Since version 7.0.4 PDFlib throws an exception when the same textflow handle is used in multiple tables (this is prohibited by the API). However, the reported textflow handle was wrong in PHP (off by 1). ============================= PDFlib 7.0.4 (March 16, 2009) ============================= - 2009-03-16 (bug #2221) The following options did not honor the LANG setting on Unix/Linux systems: PDF_begin/end_document(): metadata/filename, search/filename, tempdirname PDF_set_parameter(): logging/filename PDF_load_image(): OPI-1.3/ALDImageFilename, OPI-2.0/ImageFilename PDF_create_action(): filename PDF_create_annotation(): filename - 2009-03-13 (feature #710) Implemented default search paths for license file, UPR file, and resources. These default paths will be used on Linux, Unix, and Mac OS X systems (see PDFlib Tutorial, chapter 0 for details). - 2009-03-10 (bug #2183) Honor JAVAC and JAVACFLAGS settings to avoid problems with Gentoo regression tests where the generated bytecode used too high a version number. - 2009-03-10 (bug #1957) Some Linux systems have problems with the non-thread safety of finite() when compiler optimization is on. Optimization must therefore be disabled on these systems. Currently the only system known to be affected from this problem is Debian Etch Version 2.3.6.ds1-13etch8. Since only a single system is affected the default builds are still done with optimization, though. - 2009-03-09 (bug #2212) Added a Perl binding for HP-UX on IA-64 for use with Perl 5.8 and 5.10 (with ithread support). Note that these are 32-bit binaries (LP32) since Perl on IA-64 is also 32-bit binary. ================================ PDFlib 7.0.3p12 (March 05, 2009) ================================ - 2009-03-04 (bug #2207) The "honorlang" keyword of PDF_set_parameter() did not correctly work for some settings of the "LANG" environment variable. - 2009-03-04 (bug #2201) The scope test for glyph scope did not ignore wrong API calls within a glyph definition with "widthsonly=true". Client applications can easily work around this restriction, but PDFlib raised an exception for the redundant calls contrary to the manual. - 2009-03-04 (bug #2203) Textflow: if leader dots were present in a fitbox and blind=true, PDF_info_textflow() could return wrong geometry information. - 2009-03-04 (bug #2204) Author and Keyword entries supplied to PDF_set_info() have been merged with any existing properties in XMP supplied to the "metadata" option, but not in the generated document info entries. Now the user-supplied info entries will be used without merging them to the XMP entries (i.e. PDF_set_info() overrides "metadata"). - 2009-03-02 (bug #2177) Modified the Python binding to support Python 3. Exception handling in all Python samples has been slightly modified. The chartab example requires separate handling for Python 2 and 3 because of an incompatible change in the Python function unichr(). - 2009-03-01 (bug #2197) Garbage output could be created for XMP where a container element contained date values and the whitespace between the elements included tab characters. - 2009-02-27 (bug #2194) The following functions could be called in "object" scope although they make only sense in lower scopes (inappropriate error messages could happen instead of the corresponding scope error): PDF_create_fieldgroup(), PDF_info_font(), PDF_add_table_cell(), PDF_delete_table(), PDF_info_table(), PDF_add_textflow(), PDF_create_textflow(), PDF_delete_textflow(), PDF_info_textflow() - 2009-02-27 (bug #2193) Updated the supplement numbers and corresponding CID counts for the GBK2K-H/V, UniGB-UTF16-H/V, and HKscs-B5-H/V CMaps. - 2009-02-27 (bug #2112) Fixed a problem with non-linear increase in runtime with very large numbers of calls to PDF_add/create_textflow() and PDF_add_table_cell(). - 2009-02-22 (bug #2175) The COM, .NET, and REALBasic wrappers could stop if a non-Unicode parameter in an exception (e.g. a Shift-JIS font name) could not be converted to UTF-16. - 2009-02-20 (bug #2181) PDF_info_textflow() could report the value 1e+18 for "minlinelength" if the fitbox was empty. Now the initial values will be mapped to 0. - 2009-02-11 (bug #2114) Added support for TrueType fonts for traditional Chinese which include only a Big5 cmap, but no Unicode cmap (platformID 3, encodingID 4). DynaLab fonts are an example for this construct. - 2009-02-10 (bug #2127) Filenames supplied for GoToR actions in PDF_create_action() didn't work correctly in Acrobat if they contained characters outside of WinAnsi. They will now be rejected if compatibility < 1.7. Proper Unicode filename keys (/UF) will be created for compatibility >= 1.7 as this works fine in Acrobat. - 2009-02-09 (bug #2158) Changed various sample files to Windows-style lineends to make them a bit easier to use on Windows. - 2009-02-06 (bug #2146) The Textflow engine could loop infinitely in situations involving "minfontsize". - 2009-02-06 (bug #2045) The conversion of 16-bit palette entries in TIFF images to 8-bit entries in the PDF colormap was slightly inaccurate in certain cases. - 2009-02-06 (bug #2043) Fixed a crash when 1-bit TIFF images with palette (!) were processed with "nopassthrough". - 2009-02-06 (bug #1036/REOPENED) Partially undid the fix for bug #1036 so that the Widths array is no longer emitted for core fonts in order to save space. - 2009-02-06 (bug #2044) When a CCITT-compressed TIFF image with a color palette is processed in pass-through mode the image data must be inverted. - 2009-02-05 (bug #2105) The contents of combobox form fields disappeared when clicking on it in Acrobat when the first item contained ASCII text, but other items required UTF-16 representation. =================================== PDFlib 7.0.3p11 (February 05, 2009) =================================== - 2009-02-05 (bug #2154) Rewrote the XMP date conversion code. Among other effects this fixes a problem with incorrect XMP date output which could happen with the TZ=GMT timezone setting. - 2009-01-28 (bug #1714) Implemented a workaround for parsing malformed PDFs which use the '#' character in names incorrectly. - 2009-01-22 (bug #2115) The environment variable PDFLIBLICENSEFILE had no effect on zSeries with USS. - 2009-01-22 (bug #2107) Implemented PDFlib license file format 2.0 with an extension for multiple system-specific license keys on iSeries and zSeries. This facilitates resource sharing without modifying the application. - 2009-01-16 (bug #2096) Introduced Perl 5.10 bindings for Perl builds with "ithreads" support (USE_ITHREADS). Since we now have Perl bindings with and without ithreads support, special binaries for ActiveState Perl are no longer required. ================================= PDFlib 7.0.3p10 (January 12, 2009) ================================= - 2009-01-12 (bug #1228) Introduced Perl 5.8 and 5.10 bindings for AIX. - 2009-01-12 (bug #2103) The "compress" suboption of the "metadata" option for various function did not emit the required /Filter entry in the XMP stream dictionary, resulting in an invalid XMP object. - 2009-01-08 (bug #1856) The table formatting result for cells containing only a single space character could be different than the formatting result for an empty Textflow. - 2009-01-08 (bug #2018) Textflow: if charspacing with a value != 0 was used at the end of a line, the x coordinates returned by PDF_info_textflow() were wrong. - 2009-01-08 (bug #1878) Fixed a bug in Textflow where text could be placed outside the fitbox. The fix involved a slightly incompatible modification to the "avoidbreak" option. - 2009-01-08 (bug #2094) Clarified the text of the exception which is thrown when empty data is used to create a PVF file. - 2008-12-19 (bug #2042) PDF/A validation in Acrobat 9 could fail for PDFlib output if a font was used which was already a subset font upon input. - 2008-12-19 (bug #2053) An empty AFM file could result in a memory problem. Now it will properly be rejected with the message "Syntax error in line 0". ================================== PDFlib 7.0.3p9 (December 08, 2008) ================================== - 2008-12-08 (bug #2034) Fixed a problem with the configure script and C++ compilers on USS. - 2008-12-08 (bug #1683) Fixed a problem with the .NET binding where "System.Exception" had to be changed to "Exception" in client applications because of a namespace conflict. - 2008-12-04 (bug #1999, bug #179) Rewrote the .NET wrapper to achieve the following goals: - allow builds with Visual C++ 2005 or newer - build 64-bit versions of the .NET binding - conform to the new destructor/finalizer/dispose semantics introduced with Visual C++ 2005. - 2008-12-02 (bug #2023) Added a workaround for properly decrypting PDF documents without the required /ID entry. - 2008-11-25 (bug #2011) Support numerical Windows font style values as an alternative to font style names in the "fontname" parameter of PDF_load_font(). - 2008-11-24 (bug #2012) Fixed a function name conflict between PDFlib and Ghostscript by renaming the function pdf_add_resource(). - 2008-11-24 (bug #1940) When parsing imported damaged pages for fonts, pCOS could emit a malformed error message "fatal exception: Internal error: unknown error number 6400" instead of the actual message, e.g. "Illegal token 'C' (obj 13, offset 12345)" - 2008-11-20 (bug #2010) Certain empty image clipping paths could trigger the error message "State stack underflow in function 'pdf_end_path'" instead of being silently ignored. - 2008-11-19 (bug #2000) The following two cases were not properly distinguished in the PDFlib font cache: font1 = PDF_load_font(p, "Helvetica", 0, "winansi", "fontstyle=bold"); font2 = PDF_load_font(p, "Helvetica", 0, "winansi", ""); The second font wrongly was also bold. - 2008-11-19 (bug #2007) Throw a proper exception if the output data cannot be written. ================================== PDFlib 7.0.3p8 (November 19, 2008) ================================== - 2008-11-18 (bug #2005) Eliminated the inappropriate message "Corrupt TrueType font" with encoding=unicode and without subsetting when creating PDF/A output. - 2008-11-18 (bug #2004) Eliminated a potential crash when trying to import non-PDF documents with PDI which had certain characteristics. - 2008-11-17 (bug #2003) Changed the default for the suboption "inputformat" of the option "metadata" (which is supported by various API functions) from "ebcdicutf8" to "utf" on z/OS (incompatible change). - 2008-11-17 (bug #368, bug #1975, feature #735) OpenType SID fonts with encoding=unicode and autocidfont=false will no longer be converted to a CID font, but an 8-bit encoding will be generated based on the first unique 256 characters which are used from the font. This way the font can be embedded as a simple font, similar to Type 1 fonts with encoding=unicode. Not more than 256 characters can be used with a single font/encoding combination. This fixes a long-standing problem related to the use of the seac operator in Type 2 subroutines, as well as a problem with wrong glyph widths in Acrobat 9 for OpenType SID fonts with 2000 units per em. - 2008-11-14 (bug #1997) ToUnicode CMaps created for Type 1 and Type 3 fonts used with encoding=unicode could contain random Unicode values for codes which are not used in the document. Now they are set to U+FFFD. - 2008-11-14 (bug #1982) Emit a better error message in case the contents of the license file are correct, but the path to the file is wrong. - 2008-10-03 (bug #1920) Attach XMP metadata only to the first strip of multi-strip TIFF images. =================================== PDFlib 7.0.3p7 (September 24, 2008) =================================== - 2008-09-22 (bug #1898) The TrueType font parser did not implement a special rule for the "loca" table which affects very few fonts. As a result, valid EUDC fonts could be rejected by the subsetting code although they should actually be processed. - 2008-09-17 (bug #1895) PDFlib could generate invalid PDF output if AES encryption was used in combination with one of the following situations: - importing a PDF page which doesn't have any content stream (very rare) - creating 3D annotations. - 2008-09-16 (bug #1881) The PDF_utf32_to_utf16() function was missing in the Perl, PHP, and Ruby bindings. - 2008-09-16 (bug #1880) Accept (illegal) input PDF with direct info dictionaries. The PDF Reference requires the Info dict to be an indirect object, but some PDF Producer emit a direct dictionary nevertheless. - 2008-09-08 (bug #1887) PDF_info_textflow() could cause an exception "Invalid value in floating-point instruction" on iSeries when a table contains a Textflow consisting of an empty string. - 2008-09-08 (bug #1883) PDF_utf32_to_utf16() did not honor a BOM in the incoming string. - 2008-09-03 (bug #1885) Improved the selection of host fonts on Windows for situations where multiple similar fonts from a font family were installed, and a font was selected with the ",Bold,Italic" qualifier in the font name. Previously, a font with the Bold property (but not Italic) could be preferred over a similar font with the Semibold and Italic properties, which does not match user expectations. - 2008-08-27 (bug #1879) The deprecated function PDF_show_boxed() did not work properly in the Perl, PHP, Python, and Ruby bindings. - 2008-08-21 (bug #1873) Added code to detect unknown filters in the XRef streams of imported PDF documents (this can happen only with damaged files). - 2008-08-19 (bug #1870) Fixed an unresolved symbol problem when compiling the source code packages on Mac OS X. - 2008-08-13 (bug #1866) Invalid PDF output (Acrobat error message: "Wrong operand type") could occur in situations where the CTM contained very small values which were truncated to 0 by the output machinery, resulting in a zero matrix determinant. The bug fix eliminates the problem for matrix entries in the range 1e-4..1.5e-5; smaller numbers are still truncated to 0, but this is now detected and triggers an exception. - 2008-08-11 (bug #1857) The error number was not properly reset after unsuccessfully searching for font files. As a result incomplete error messages could be issued for certain combinations of font options and font contents. - 2008-08-08 (bug #1854) The XMP parser no longer strips leading and trailing space from elements containing namespace URIs (mainly for PDF/A extension schemas). ================================ PDFlib 7.0.3p6 (August 06, 2008) ================================ - 2008-08-05 (bug #1851) Empty elements in user-supplied XMP metadata were expanded to a number of space characters, instead of writing an empty element. - 2008-08-05 (bug #1850) Some elements in user-supplied XMP metadata could end up truncated in the PDF output. - 2008-08-05 (bug #1843) On some platforms, e.g. some older Linux 64-bit versions, damaged PDF output could silently be generated because of a pointer arithmetic bug in PDFlib's output buffer mechanism. - 2008-08-01 (bug #1846) PDF_setcolor() with colorspace "pattern" was wrongly rejected in PDF/X mode. - 2008-08-01 (bug #1845) Logging of Unicode strings with the "%T" format specifier could result in read access to uninitialized memory. - 2008-08-01 (bug #1830) Reject the following keys in PDF_set_info() and PDF_set_info2() to thwart attempts at creating pseudo ISO standard output by inserting the respective identification entries for PDF/X and PDF/E: GTS_PDFXVersion, GTS_PDFXConformance, ISO_PDFEVersion - 2008-07-27 (bug #1836) The XMP code did not correctly convert "short" PDF dates to XMP dates, i.e. PDF dates which did not have all entries. - 2008-07-24 (bug #1807) Added a workaround to pCOS such that name tree roots without any /Names or /Kids entries (such roots are not allowed by the PDF Reference) are accepted, and treated as empty. ============================== PDFlib 7.0.3p5 (July 16, 2008) ============================== - 2008-07-16 (bug #1806) pCOS rejected documents if a page did not contain any /Resources entry, e.g. when querying "length:fonts". Such PDFs violate the PDF Reference, but can now also be processed with pCOS. Importing such pages worked anyway. - 2008-07-16 (bug #1828) PDF_begin_template_ext() did not work in page scope. - 2008-07-15 (bug #1825) PDF_fit_table() could throw an inappropriate exception "Size of inner cell at column x and row y too small (541 x 0)" because the tolerance for the cell size was applied with the wrong sign. This bug affected only a very small range of cell height values. - 2008-07-15 (bug #1784) Improved the error message when opening documents encrypted with Acrobat 9 (which are currently unsupported). - 2008-07-14 Eliminated the following error messages when validating PDF/A output with Acrobat 9 Preflight: - (bug #1814) "CIDset in subset font is incomplete". The /CIDSet entry contained the bits in the wrong order within a byte (CIDType2 fonts). - (bug #1815) "Syntax problem: Indirect object "endobj" keyword not preceded by an EOL marker". The EOL was missing in output intents which have been imported from an existing PDF/A document (PDF_process_pdi() with action=copyoutputintent), and in three situations related to Tagged PDF information (PDF/A-1a). - (bug #1816) "MarkInfo dictionary contains other entries than Marked". This affected only PDF/A-1a. - (bug #1819) "CharSet missing or incomplete for Type 1 font". The CharSet entry was missing for CFF OpenType fonts loaded with an 8-bit encoding. - (bug #1818) "Keyword mismatch between Document Info and XMP Metadata". The control characters 0x0D and 0x0A were not correctly mirrored in XMP when supplied as values to PDF_set_info(). - (bug #1826) "Mismatch between ID in linearization info and ID in main cross reference table". Linearized PDF/A-1 output contained only a single /ID entry, while PDF/A requires two identical ones. - 2008-07-14 (bug #1801) Switch the Java build on x86_64 Linux from JDK 1.6 to JDK 1.4 for compatibility with older systems. - 2008-07-11 (bug #1799) Modified the bit output for /Ff since the "toggle" option of PDF_create_field() no longer worked with Acrobat 7 and above. - 2008-07-11 (bug #1796) When importing document XMP with the "metadata" option of PDF_begin_document() for non-PDF/A output, PDFlib did not remove PDF/A identification entries in the user-supplied XMP. - 2008-07-11 (bug #1805) PDF_set_info() no longer accepted empty strings for the "value" argument as a result of overaggressive fixing of bug #1548 in PDFlib 7.0.2p4. - 2008-07-11 (bug #1797) Significantly improved performance of TrueType font loading by optimizing the loop for determining GIDs for Unicode values. These massively affects performance on Unix systems. - 2008-07-01 (bug #1776) PDFlib with PHP on Mac OS X 10.5 could still crash after triggering the system error "Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION _FUNCTIONALITY___YOU_MUST_EXEC__()". This was caused by a single call to a CF function even when host font support was disabled. This call is now disabled if host font support is disabled. As a consequence, LWFN files can no longer be processed in this situation. - 2008-06-30 (bug #1671/reopened) CID fonts where the glyph IDs differ from CIDs could result in wrong CIDSet output for encoding=glyphid or encoding=unicode. This is very rare, and so far has been observed only for prerotated glyphs in a single font. - 2008-06-30 (bug #1779) If a vertical CMap references the corresponding horizontal CMap, the latter is now referenced in a /UseCMap entry. In PDF/A mode the horizontal CMap will also be embedded. - 2008-06-30 (bug #1773) An unnecessary entry "/CIDToGIDMap/Identity" was created even for CIDFontType0 fonts in PDF/A mode (instead of only for CIDFontType2). Although this doesn't do any harm, it is redundant. - 2008-06-24 (bug #1690) Removed all "throw(PDFlib::Exception)" declarations from the C++ wrapper since they are not required, but cause warnings in Microsoft Visual C++ 2005 and 2008 since these compilers do not support standard C++ throw semantics, and therefore issue warnings. - 2008-06-20 (bug #1771) When copying the output intent of an imported document check for consistency between the intent's /N value and the color space of the embedded ICC profile to work around problems with inconsistent PDF/A documents created with Ghostscript. ============================== PDFlib 7.0.3p4 (June 15, 2008) ============================== - 2008-06-15 (bug #1752) PDI did not process a certain flavor of compressed object streams properly, but incorrectly rejected it with "Missing entry /Root in trailer dict". - 2008-06-12 (bug #1762) The Windows command-line build did not link progs/pdflib/pdfimage against setargv.obj so that wildcards for file name arguments did not work. - 2008-06-11 (bug #1761) Implemented code signing for Windows DLLs and MSI installer packages. - 2008-06-06 (bug #1758) The "minfontsize" option in PDF_fit_textflow() and PDF_fill_textblock() was incorrectly always interpreted as percentage. - 2008-05-27 (bug #1749) Textflow: using "resetfont" before any fontsize has been set resulted in an exception "Floating point parameter 'y' has bad value -1.32e+18 (minimum -1e+18)". Using "resetfont" here does not make sense and is not recommended, but the exception is now suppressed anyway. - 2008-05-21 (bug #1748) Due to a string handling bug clipping paths in TIFF or JPEG files were not found in certain cases ("Couldn't find clipping path ... in TIFF image"). - 2008-05-19 (bug #1744) Textflow: when the font, but not the fontsize was specified in the first option list and the list contained "nextline", "nextparagraph" or "resetfont", the misleading exception "Font not specified for text" was thrown instead of "Font size not specified for text". - 2008-05-09 (bug #1738) Updated the starter_block samples for all language bindings to use the convenient pCOS pseudo object "pages[]/blocks" instead of the clumsy direct paths. - 2008-05-09 (feature #651) Implemented the "compress" suboption for the "metadata" option of various functions. - 2008-05-09 (feature #644) Implemented the following new options for PDF_create_3dview(): lighting, rendermode, U3Dpath. ============================= PDFlib 7.0.3p3 (May 05, 2008) ============================= - 2008-05-05 (bug #1730) PDF_fit_textflow() now returns "_boxempty" in pathologic cases where the wrapbox is larger than the fitbox (previously "_boxfull" was returned). - 2008-05-05 (bug #1731) Textflow could die in an infinite loop if a Textflow was placed in a second fitbox which was overlapped by a wrapbox. - 2008-05-01 (bug #1736) Added a workaround to fix broken input XMP where the outermost rdf:RDF element is missing. - 2008-04-24 (bug #1702) Emit /Rows for CCITT-compressed image data since this fixes problems with certain PDF printers and incomplete rows. - 2008-04-24 (bug #1727) Fixed a problem in the buffer organization for internally used strings, especially for parameters in exception messages. The problem could lead to string mismatches under very rare circumstances when exception messages have been prepared internally, but no exception was thrown. =============================== PDFlib 7.0.3p2 (April 23, 2008) =============================== - 2008-04-23 (bug #1723) Fixed a wrong dependency which thwarted compilation of source code packages without PDI on zSeries. - 2008-04-22 (bug #1721) If the default value for a text field was specified in EBCDIC and the corresponding font was specified in some parent group field, the text was not properly converted to winansi. - 2008-04-22 (bug #1707) Fixed potential access problems with the assembler code of the flate library by slightly increasing the window buffer size. The assembler code is only used by the x86 builds for Linux and Windows. - 2008-04-22 (bug #1722) PDF_info_textline() could crash with text of length 0 (bug introduced with fix for bug #1451 in PDFlib 7.0.2p2). - 2008-04-21 (bug #1718) Setting the "usehypertextencoding" parameter in evaluation mode could result in an inappropriate exception. - 2008-04-16 (bug #1715) Added a check in the XMP parser to warn against missing rdf:RDF elements. - 2008-04-14 (bug #1712) Fixed a crash in the XMP parser which affected XMP entries without any schema prefix. - 2008-04-13 (bug #1709) The option list parser didn't correctly reject invalid keywords for Boolean options under certain very strict conditions. =============================== PDFlib 7.0.3p1 (April 09, 2008) =============================== - 2008-04-09 Preparations and minor changes for EBCDIC builds. - 2008-04-04 (bug #1698) The matchbox options "offsetbottom" and "offsettop" were interpreted incorrectly in topdown coordinate systems (the values must be treated as components of relative vectors, not scalars). - 2008-04-04 (bug #1695) Implemented an unsupported option for fully validating self-contained XMP chunks supplied to PDF_begin_document() (instead of waiting until PDF_end_document() for validation). - 2008-04-01 (bug #1696) The percentage flags for the Block properties "linespreadlimit", "firstlinedist", and "lastlinedist" have not been set correctly, which could lead to wrong Textflow results. - 2008-03-27 (bug #1681) PDF_open_pdi_document() would throw an exception in case of an error even with the option combination "errorpolicy=return infomode=true". ============================= PDFlib 7.0.3 (March 20, 2008) ============================= - 2008-03-19 (bug #1684) TrueType fonts which contain only a (1, 0) cmap table were not supported. These don't occur in the wild, but can be created as a result of subsetting. - 2008-03-19 (bug #1680) Enhanced the XMP validation code to detect and properly describe more cases of invalid XMP. - 2008-03-19 (bug #1682) Due to a typo in the Java wrapper crashes could happen in PDF_define_layer() on some platforms. - 2008-03-19 (bug #1631) No longer throw an exception for malformed XMP when querying the "pdfa" pCOS pseudo object in order to avoid processing interruptions with bad XMP in non-PDF/A input. - 2008-03-13 (bug #1677) The Python binding no longer worked on Mac OS X with Intel CPUs. - 2008-03-13 (bug #1481) Added more starter samples for all language bindings. - 2008-03-11 (bug #1674) The repair mode in PDI did not properly deal with ASCIIHex-encoded streams where the /Length entry was wrong, and the data was actually shorter than the specified length. Now this kind of streams is properly read even without forcing repair mode. - 2008-03-11 (bug #1626) Updated the package.xml description of the PECL package to the new format. - 2008-03-08 (bug #1268/reopened) Force subsetting for symbolic TrueType fonts with (1,0) and (3,0) cmaps to work around display problems with fonts containing characters outside the range U+F000 - U+F0FF. - 2008-03-08 (bug #1668) Added several include statements in the C++ samples for conformance with GCC 4.3.0. - 2008-03-04 (bug #1671) CID fonts where the glyph IDs differ from CIDs could result in wrong output for encoding=glyphid or encoding=unicode. This is very rare, and so far has been observed only for prerotated glyphs in a single font. - 2008-03-03 (bug #1657) PDF/A validation of XMP extension schemas now allows Containers of custom types and arbitrary combinations of "Choice" with known types as well-known types (i.e. valid without extra type description). - 2008-03-02 (bug #1645) Added support for CYMK TIFF images with PlanarConfig=2, i.e. separate image planes (not available in PDFlib Lite). - 2008-02-28 (bug #1664) Malformed or unresolvable character references will silently be kept in name strings and hypertext strings (but a warning will be logged). This helps users deal with font names containing "&" characters without having to disable the character reference mechanism (or duplicating the & character). - 2008-02-28 (bug #1632) Rearranged include files for compatibility with Visual Studio 2008. - 2008-02-28 (bug #1620) Added a delete() method to the Ruby binding and all Ruby examples. This can be used to force cleanup in cases where the Garbage collector jumps in too late (similar to Java). ================================== PDFlib 7.0.2p8 (February 28, 2008) ================================== - 2008-02-27 (bug #1660) PDFlib Lite did not issue the correct error message when the "layers" option was supplied to PDF_begin_document(). - 2008-02-27 (bug #1659) PDFlib Lite did not properly prevent the use of Lab and ICC-based colors which are unsupported in PDFlib Lite. - 2008-02-25 (bug #1641) Fixed a problem with winsetup.bat and Makefile includes for PDFlib Lite on Windows. - 2008-02-25 (bug #1607) Updated the PDFlib builds for PHP 4 to PHP 4.3.9 to avoid problems when builds based on PHP 4.3.0 were used with PHP 4.3.9. - 2008-02-25 (bug #1394) Fixed problems in the build system with PDFlib Lite and Cygwin. - 2008-02-23 (bug #1654) Fixed a crash in the XMP cleanup code (in PDF_delete()) when an exception was caused by invalid XMP input. - 2008-02-23 (bug #1653) The XMP validator now allows empty Seq and Bag containers since these are allowed per RDF specification. - 2008-02-21 (bug #1651) The matchbox rectangle for images was wrong for fitmethod=clip and fitmethod=slice. The matchbox was determined by the element box instead of the intersection of the element box and the fit box. ================================== PDFlib 7.0.2p7 (February 20, 2008) ================================== - 2008-02-20 (bug #1579) The Mac OS X Frameworks for PDFlib are not found if they are not installed in /Library/Frameworks. Due to a bug in the Xcode project another non-existing paths was searched in this situation. - 2008-02-20 (bug #1647) XMP validation was not EBCDIC-safe, which could lead to a crash or inappropriate error messages. - 2008-02-20 (bug #1646) Error messages created in the XMP validation code were not EBCDIC-safe. - 2008-02-18 (bug #1557, bug #1558, bug#1560, bug#1570) Added support for i5/OS V6.R1, and fixed a crash on V5R4M0. - 2008-02-18 (feature #579) Added support for ActiveState Perl 5.10 for Windows 32/64 bit and Linux 32/64 bit. - 2008-02-18 (bug #1588, feature #127, feature #525) Various changes for compatibility with Mac OS X 10.5 (Leopard), mostly around host font handling. As a result, PDFlib supports 32- and 64-bit PPC and Intel machines with Leopard. Universal binaries are available for Intel and PPC architectures. Earlier PDFlib versions could trigger the following message when used with Apache and PHP: "The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec(). Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION _FUNCTIONALITY___YOU_MUST_EXEC__()" - 2008-02-18 (feature #598) Implemented the option "removeunused" for PDF_define_layer() which can be used to improve the layers listed in Acrobat's layer tab. - 2008-02-15 (bug #1635) Memory could be leaked in the XMP code when malformed XMP was supplied. - 2008-02-13 (bug #1640) Non-standard container properties in predefined XMP schemas (e.g. xmpMM:Manifest) were wrongly rejected by the XMP validator. ================================== PDFlib 7.0.2p6 (February 13, 2008) ================================== - 2008-02-13 (feature #525, bug #1554) Rewrote Mac OS X host font handling for compatibility with 64-bit builds for OS X 10.5 (Leopard). - 2008-02-13 (feature #580) Added support for XMP extension schemas for PDF/A, including full PDF/A-1 validation of user-supplied XMP metadata. - 2008-02-13 (bug #1637) Fixed an abend in the Cobol wrapper on CICS when PDERRMSG/PDF_get_errmsg() was called after an exception. - 2008-02-13 (bug #1278) The combination of the options "attachmentpassword" and "linearize" or "optimize" in PDF_begin_document() is not supported. - 2008-02-12 (bug #1452) Implemented the "filemode" option for MVS. - 2008-02-11 (bug #1630) Modified the starter_layer example so that it defines all layers before the first page. This avoids a potential misunderstanding where users created layers repeatedly on every page, which is usually not intended. - 2008-02-11 (bug #1633) Fixed a crash when XMP was supplied only in PDF_end_document(), but not in PDF_begin_document(). - 2008-02-08 (bug #1628) The "@" font name prefix for vertical fonts did not work for TTC fonts or font names starting with a BOM. - 2008-02-07 (bug #1602) CMYK TIFF images with PlanarConfig=2 could lead to a crash. This rare flavor is unsupported, and will now properly be rejected. - 2008-02-07 (bug #1488) Modifies the C++ wrapper so that it can be used to make the plain C DLL usable from within a managed .NET application. The C++ wrapper will be compiled as unmanaged code to match the core library which is not fully managed. - 2008-02-06 (bug #1543) Added temp file names to the logging output. - 2008-02-01 (feature #501) Implemented the "fillrule" suboption for the "wrap" option of PDF_fit_textflow(). - 2008-01-31 (bug #1610) PDF_info_textflow() return wrong values for the "textheight" keyword when the text started with one or more empty lines. - 2008-01-31 (bug #1613) PDF_set_value() no longer accepted the (deprecated) parameters "subsetlimit" and "subsetminsize". - 2008-01-25 (bug #1506) Textflow: the fixedleading option will be forced to true if wrap shapes are specified. This is necessary to avoid wrong formatting results in situations which can only be solved iteratively. - 2008-01-25 (bug #1608) Table decoration: lines defined by the keywords "horfirst", "horlast", "frame" can't be used for overwriting. More precisely: In the "stroke" suboption list of PDF_fit_table() the keywords "horfirst", "horlast", and "frame" didn't work overwriting if an invisible line was specified (linewidth=0.0) for these lines and a linewidth > 0.0 was specified for the lines of "other", "horother" or "vertother", respectively. - 2008-01-24 (bug #1325) The "transparencygroup" option (implemented in PDFlib 7.0.1p6) was not restricted to PDF 1.4 and above. - 2008-01-24 (bug #1605) The "alignchar" option in PDF_fit_textline() didn't work for non-Unicode CMaps. - 2008-01-23 (bug #1459) PDF_create_annotation() no longer allows the "action" option for annotations other than type=Link in PDF 1.7. - 2008-01-22 (bug #1597) Fixed a small memory leak in PDF_fill_textblock() on EBCDIC platforms. ================================= PDFlib 7.0.2p5 (January 18, 2008) ================================= - 2008-01-18 (bug #1595) The XMP metadata created by PDFlib always contained the "xmpMM:InstanceID" property which is generated internally. However, this property is not allowed in PDF/A mode. - 2008-01-17 (bug #1570) Fixed iSeries compatibility problems with V5R4M0, V5R1, and V6.R1 caused by incompatible system libraries. - 2008-01-15 (bug #1592) Retrieving the current scope with PDF_get_parameter() returned an empty string when a glyph for Type 3 font subset was defined and the glyph was not used in the document. Logging in PDF_load_image() with the "inline" option could internally raise an exception "Handle parameter or option of type 'image' has bad value..." - 2008-01-15 (bug #1591) The exception mechanism in the Python binding did not work on 64-bit Linux. When PDFlib scripts raised an exception, the Python interpreter would issue a message "Fatal Python error: PyEval_RestoreThread: NULL tstate". - 2008-01-15 (feature #582) Tested with Windows Server 2008; this system is supported from now on. - 2008-01-14 (bug #1172/reopened) The correct bugfix in PDFlib 7.0.1p6 was broken due to a change after PDFlib 7.0.2. - 2008-01-11 (bug #1577) The "lang" option in PDF_begin/end_document() is no longer required for Tagged PDF. - 2008-01-10 (bug #1589) Textflow: if the option "ruler" was specified, but not "tabalignment" the tab alignment was random. - 2008-01-09 (bug #1587) The /W widths array for subsetted CID fonts with glyph width != 1000 contained redundant entries. - 2008-01-09 (bug #1586) The option "errorpolicy=return" in PDF_load_image() did not prevent an exception when the image file wasn't found (similar for "imagewarning"). - 2008-01-09 (bug #1585) Binary data in virtual files created with PDF_create_pvf() was not treated correctly in the Tcl wrapper. - 2008-01-09 (bug #1581) The internal tables for glyphcheck=replace mapped U+2205 EMPTY SET to the unsuitable replacement character U+00C5, instead of the more appropriate U+00D8 LATIN CAPITAL LETTER O WITH STROKE. - 2008-01-08 (bug #1573) Fixed several buffer overflow vulnerabilities in deprecated functions. - 2008-01-07 (bug #1580) Relaxed the check for the data segment types in PFB font files to fix problems with some old PostScript fonts. - 2008-01-07 (bug #1568) Fixed two cleanup problems which could lead to a crash when PDF_delete() was (inappropriately) called twice after an exception. - 2007-12-23 (bug #1559) Normalize user-supplied and internally generated XMP to avoid deprecated unqualified "about" attributes. - 2007-12-21 (feature #472) Implemented the options "unmappedchars", "replacedchars", and "unknownchars" for PDF_info_textline(), and declared "unmappedglyphs" as deprecated. - 2007-12-19 (feature #227) Documented the "honorlang" parameter which can be used to enable the interpretation of the "LANG" environment variable to allow UTF-8 or UTF-16 encoded filenames. - 2007-12-18 (feature #538) Implemented the "returnatmark" option of PDF_fit_textflow(). - 2007-12-17 (feature #543) Implemented the "linecap" and "linejoin" suboptions of the "stroke" option of PDF_fit_table(). - 2007-12-17 (feature #474) Added support for Movie annotations. This involved the new annotation type "Movie" in PDF_create_annotation(), new options "filename", "movieposter", "playmode", "showcontrols", "soundvolume", "windowscale", "windowposition" in PDF_create_annotation(), and the new action type "Movie" in PDF_create_action(). - 2007-12-17 (feature #402) Fonts from the "base 14" set (aka core fonts) will now be automatically be pulled as host fonts from the (Mac or Windows) system when embedding is requested, even if they haven't explicitly been configured via the "HostFont" resource. ================================== PDFlib 7.0.2p4 (December 17, 2007) ================================== - 2007-12-17 (bug #1522) Improved the performance of block filling functions on zSeries by 20-25% by reducing the total number of function calls, and improved PPS buffering. - 2007-12-14 (bug #1564) Textflows without any text contents (e.g. empty strings or empty segments between option lists, such as "" were treated wrongly when calculating the table cell heights. As a result the table row heights could be wrong. Now such Textflows will be ignored when calculating the row heights. - 2007-12-13 (bug #1561) PDF_new() could crash in a very specific out-of-memory situation. - 2007-12-13 (bug #1474) When creating a numbered list with Textflow the second entry could have wrong indentation in the following situation: text\n\ttext If there was no text between and the tab, leftindent=y was ignored, and the leftindentx was still used for the new line and for the tab at the start of the line. - 2007-12-06 (bug #1548/add-on) Check incoming filename parameters and searchpath entries for a maximum length of 1023 bytes. This fixes vulnerability CVE-2007-6561. - 2007-12-05 (bug #712) Rewrote the code for retrieving host fonts on Mac OS X to replace old resource-based functions with new ATS functions. This was required to make the code compatible with 64-bit builds on Mac OS X 10.5. - 2007-12-03 (bug #1523) In PDF/A mode component-level XMP was wrongly checked for predefined XMP schemas. - 2007-11-30 (bug #1548) Introduced a plausibility check for the length parameter of strings passed to API functions. - 2007-11-30 (bug #1544) The Textflow option "fontstyle=normal" didn't have any effect if the font was embedded (which means that "fontstyle=italic" was faked via the text matrix. - 2007-11-30 (bug #1526) Fixed file name normalization for the "filename" option of destinations: \ to / normalization was active only on Windows, and UNC file names were not treated correctly. ================================== PDFlib 7.0.2p3 (November 28, 2007) ================================== - 2007-11-28 (bug #1542) Fixed a compilation problem with Visual Studio 6 (bug introduced in PDFlib 7.0.2p2). - 2007-11-27 (bug #1541) If glyphcheck=replace the documented replacement method for named variant glyphs with the same Unicode semantics (e.g. "A" if "A.swash" is not available in the font) didn't work. - 2007-11-23 (bug #1538/side problem) The error message for rejected ICC profiles was not as specific as it should have been if errorpolicy was set to "return" (details provided by the ICC parser were missing). - 2007-11-22 (bug #1538) Relax the checks for ICC profiles (especially those embedded in imported images) so that invalid DateTime entries in the ICC header will be ignored. This check thwarted the import of images with certain ICC profiles. - 2007-11-19 (bug #1535) Minor code changes for compatibility of PDFlib Lite with Mac OS X 10.5 (Leopard). - 2007-11-15 (bug #1531) An inappropriate exception "Handle parameter of type 'image' has bad value" could be thrown in PDF_delete_table() if the same image handle was used in multiple cells of the same table. - 2007-11-15 (feature #280) Implemented the keyword "wellformed" for PDF_info_textline(). This function no longer throws an exception if errorpolicy=return. - 2007-11-15 (feature #469) Log all deprecated or unsupported functions and options. - 2007-11-15 (bug #1533) The following Textflow options and the "script" option for actions were restricted to a maximum length of 65535: maxlines, minlinecount, textlen. This limit has now been relaxed to allow lengths up to 2147483647. - 2007-11-15 (bug #1534) Text strings with more than 4095 bytes triggered an error message "Text too long" which was not appropriate. Various limits for PDF items are now documented. - 2007-11-15 (bug #1473) PDFs with layers could trigger an error message in Acrobat 8.1 Preflight due to inappropriately listing the OCMD dictionaries in /Root/OCProperties/ OCGs, which was not correct. Displaying such documents in Acrobat worked without any problem, though. - 2007-11-15 (bug #1495) PDF_suspend_page() didn't correctly deal with layers; active layers could trigger an Acrobat 8 error message "Incorrect PDEObject type.ExceptionAcquirePageCollection" due to a missing EMC operator. The API reference now clarifies that PDF_suspend_page() will also save the current layer state. Contrary to the documentation, PDF_end_layer() could not be omitted at the end of the page. Missing calls to PDF_end_layer() triggered an exception "unmatched marked content" which was not justified. - 2007-11-15 (bug #1469) The "printsubtype" option of PDF_define_layer() didn't work as documented, but complained "Option has too many values" when an option list was supplied. - 2007-11-13 (bug #1519) Automatically create a suitable "transparencygroup" option if a page or template contains transparency. - 2007-11-13 (bug #1529) PDF_fit_textflow() could throw an inappropriate exception "Bad floating point number for PDF" with the options "lastalignment=justify avoidbreak" if the last text line could not be justified via suitable wordspacing (very rare case). - 2007-11-11 (bug #1438) REALbasic 2007 R4 no longer accepted the PDFlib plugin. This could be fixed with a change in the RB declaration of the PDFlib functions. - 2007-11-09 (bug #1524) Rearranged code in the image modules to allow disabling image support at compile time. Although this is not supported, some PDFlib Lite users want to reduce the memory footprint this way. - 2007-11-01 (bug #1517) Percentage options like "polygons" in the "wrap" suboption list of PDF_fit_textflow() were restricted to a maximum of 32 percentage values. This limit has been increased to 256 percentage values. - 2007-11-01 (bug #1516) PDFlib did not always correctly recognize percentage values for the suboption list "wrap" in the "polygons" option of PDF_fit_textflow(). - 2007-10-26 (bug #1493) Strip off the directory component of file attachments since it is not usable in Acrobat, and Acrobat also strips it off when embedding files. - 2007-10-25 (bug #1486) Modifies the behavior in non-Unicode-aware language bindings for the treatment of name strings in situation "hypertextencoding=unicode" and "usehypertextencoding=true": depending on the BOM, PDFlib now expects UTF-16BE or UTF-16LE (terminated with double null). Previously name strings were treated as host-encoded strings, and UTF-16 strings would trigger an error message. - 2007-10-25 (bug #1501) The get_apiname() method in the PHP exception object didn't work. ================================= PDFlib 7.0.2p2 (October 16, 2007) ================================= - 2007-10-16 (bug #1487) If len=0 was provided for a string parameter in the RPG binding, the wrapper sent uninitialized memory to the PDFlib kernel although len=0 means null-terminated string. - 2007-10-16 (bug #1491) PDF_info_textline() was missing from the RPG wrapper. - 2007-10-10 (bug #1480) Implement a balanced tree structure for name trees in order to work around a problem with Acrobat 8 which emits an error message "Bad Parameter" when adding new named destination to a large number of existing destinations after editing one of the names. - 2007-10-09 (feature #489) Use $DESTDIR for the "make install" target (mainly relevant for PDFlib Lite). - 2007-10-09 (bug #1477) PDF_fit_table() did not correctly take into account the keywords horfirst, horlast, and hor# in the "stroke" option list on follow-up pages (only on the first page). - 2007-10-08 (bug #1475) The "autospace" parameter for Tagged PDF didn't work if is was set prior to calling PDF_begin_document(). - 2007-10-08 (bug #1479) The 'vert' feature in the GSUB table of TT/OT fonts was not used for standard CMaps with vertical writing mode. - 2007-09-28 (bug #1455) Non-ASCII characters didn't work in the name of Textflow macros in inline option lists when Unicode-aware language bindings were used. Now inline option lists (similar for the "fontname" option) are converted to UTF-8 to match the conversion of option lists in general. - 2007-09-28 (bug #1460) Attaching two actions to a bookmark was incorrectly rejected with an exception "Option 'activate' has too many values (> 1)". - 2007-09-28 (bug #1462) Wrong output was created when more than two actions were attached to the same trigger (e.g. for a form field), and multiple such triggers were used (the actions were chained together, mixing individually triggered actions). - 2007-09-28 (bug #1463) Characters with PUA assignments had the Unicode character class ID (ideographic character) which resulted in unpleasant line breaking properties. Now they have character class letter to improve line breaking. - 2007-09-28 (bug #1461) Added PHP 5 versions of the starter samples. - 2007-09-28 (bug #1401) Added Windows workspaces/project files for the starter samples for the .NET, C, C++ bindings. - 2007-09-24 (bug #1404) Fixed a problem with data type handling in the PHP wrapper which could show up on certain 64-bit platform, and cause sporadic error messages related to exceptions complaining about bad parameter values. - 2007-09-21 (bug #1451) PDF_fit_textline() did not produce any output if the text contained only glyphs with width=0 (e.g. accent). - 2007-09-21 (bug #1450) The distributed Makefiles for the Java, Perl, Python, Ruby, and Tcl bindings did not implement the "clean" label, or did not delete all generated files propertly. - 2007-09-20 (bug #1446) File names in option lists (e.g. "filename") in PDF_create_action(), PDF_create_annotation(), PDF_begin/end_document() incorrectly created UTF-8 strings in the PDF when non-ASCII characters where supplied in a Unicode-aware language bindings. If the string cannot be mapped to PDFDocEncoding an exception will be thrown for PDF < 1.7, and the new PDF 1.7 feature for Unicode file names will be used otherwise. - 2007-09-20 (bug #1449) Implemented the "skipposttable" option of PDF_load_font(). - 2007-09-20 (bug #1435) The "leader" option in PDF_fit_textflow() didn't create any leaders when the "boxsize" option was specified with height=0. Now leaders will be created even if the height of the box is 0. - 2007-09-19 (bug #1442) PDF_create_field() now applies a workaround for an Acrobat problem when fitting an icon into a form field in order to better fit the icon into the field rectangle. - 2007-09-19 (bug #1444) PDF_create_field() now only requires a font handle for a pushbutton if it actually needs it, i.e. if one or more of the "caption", "captionrollover", or "captiondown" options had been supplied (but not for icon-only fields). - 2007-09-18 (bug #1439) The "taborder" option of PDF_create_field() and PDF_create_fieldgroup() did not work correctly when the first field did not have the smallest taborder of all fields. =================================== PDFlib 7.0.2p1 (September 11, 2007) =================================== - 2007-09-11/24 (bug #1458) The directory /pdflib/7.0.xp?/fonts did not have the x permission bit set in the PDFlib package for iSeries. - 2007-09-11/24 (bug #1456) Fixed a problem in the Cobol binding for MVS related to PDBOOT and PDSHUT entries in gen.h. Updated documentation to mention that PDFlib is now built as RENT on MVS, which requires user linkedit output to reside in a PDSE (rather than a traditional PDS). - 2007-09-11 (feature #324) Facilitates the use of the PDFlib Java and RPG bindings on iSeries: - Users can now change the (*LIBL) setting for the PDFlib Java service program to a fixed path for the classic JVM. - The RPG service program is now self-contained; an extra PDFlib service program is no longer required because it is included in the RPG SRVPGM. - 2007-09-11 (bug #1434) Fixed a potential crash when calling PDF_get_value() with the "iccprofile" keyword for images without any internal colorspace. - 2007-09-11 (bug #975) On iSeries systems ASCII text files with a single 0x0D as line end were treated wrongly. This also affected PFA fonts, which could result in invalid embedded font data. - 2007-09-07 (bug #1320) Added calls to quiet() in order to suppress library diagnostics for PDFlib logging functions when working with SAS/C on MVS. - 2007-09-07 (bug #1432) Encoding "ebcdic" and other encodings which contain a subset of the characters in "winansi" were incorrectly mapped to "winansi" if PFM metrics files were used. - 2007-09-06 (bug #1396) On CICS logging output will always be written to stderr. - 2007-09-05 Improved the build options for the MVS version, which resulted in significant performance gains. - 2007-09-05 (bug #1388) Cobol: fixed wrong treatment of API functions which return a string (e.g. PDF_get_parameter). Also, several functions were missing from the Cobol wrapper (e.g. PDF_add_table_cell(), PDF_info_font(), and others). - 2007-09-05 (bug #1408, bug #1429) Reusing a Textflow handle in combination with the option "firstlinedist" in PDF_fit_textflow() could lead to different output for each instance of the Textflow. - 2007-09-05 (bug #1427) PDFlib could crash when warning 1217 "Bad resource category..." was issued in certain situations. This exception was introduced in PDFlib 7.0.2 and happens when deprecated UPR features are used. - 2007-09-03 (bug #1424) Fixed a memory problem related to glyph name handling which showed up when OpenType fonts with certain properties were processed repeatedly. - 2007-08-30 (bug #1423) Introduced a new message "Matchbox not found" in situations where the table formatter adjusts a table cell to a Textflow, but an image matchbox doesn't exist. - 2007-08-30 (bug #1422) Removed the unsupported "PDF/X-1:2001" keyword from the list for the "pdfx" option in PDF_begin_document() since it only confused users, and this old standard isn't in use anyway (and not recommended). - 2007-08-30 (feature #383) Changed the return value of pcos_get_string() in the C++ binding from "const string" to "string" since the former doesn't make any sense, and the change is fully compatible. - 2007-08-30 (bug #1407) Improved code and documentation to better deal with the restrictions (and throw exceptions, if appropriate) for patterns with painttype=2. - 2007-08-30 (bug #1413) pdflib.java incorrectly declared process_pdi() as returning double instead of int. - 2007-08-27 (bug #1410) Textflow: text starting with "" could cause PDF_info_textflow() to return wrong values for y3, y4 (it didn't take into account the start position of the textflow, but rather the start of the visible output). - 2007-08-22 (bug #1304) PDF_end_document() could throw an exception "Couldn't write output" under the following conditions: - output document is created on a network drive on Windows and - options "linearize" and "inmemory" were supplied to PDF_begin_document() and - the document was large (e.g. 80MB). In order to avoid resource shortage in the Windows system functions, the generated document is now written to the output file in smaller chunks instead of one big chunk of data. - 2007-08-22 The COBOL wrapper was not built as RENT (reentrant) on MVS, which caused problems with CICS. ============================== PDFlib 7.0.2 (August 08, 2007) ============================== - 2007-08-08 (bug #1379) The "optimize" option in PDF_begin_document() incorrectly created compressed XMP metadata output, resulting in non-conforming PDF/A. - 2007-08-08 (bug #1192) Changes the behavior of repeated calls to PDF_load_font() with the same font/encoding in a slightly incompatible way: when a font is loaded with the embedding option, but already has been loaded earlier without this option, the call will fail (instead of silently ignoring the conflict in the second call). This is important for filling blocks with embedding=true if the same font has already been loaded earlier without embedding. This situation usually points to a problem in the application. - 2007-08-08 (bug #1395) PDF_open_pdi_document() with requiredmode=minimum failed for documents with unknown encryption; now it succeeds so that minimum information (e.g. encryption status) can be queried with pCOS. - 2007-08-08 Replaced bind/pdflib/data/reference.pdf with a newer document. - 2007-08-07 (bug #1339) Table formatting: the border of cell matchbox rectangles no longer can be overlapped by the fillcolor of an adjacent cell rectangle. - 2007-08-07 (bug #957) Add zlib assembler modules for the Windows build with nmake. This speeds up PDF generation in typical situations by ca. 5% (not supported in PDFlib Lite). - 2007-08-07 (bug #1343) Fixed a crash which could happen in PDF_delete() after incorrect calls to PDF_open_pdi_page() with an invalid document handle. - 2007-08-07 (bug #1380) The "pattern" color space was wrongly rejected by PDF_setcolor() in PDF/A mode. - 2007-08-06 (bug #1381) Textflow: if a wrap contour ran outside the fitbox or leftindent > 0 Textflow produced undesired output since these cases were not taken into account for calculating the intersection between the maximum region for text filling and the fitbox. - 2007-08-03 (bug #1385) Type 3 fonts with encoding=unicode: if the .notdef glyph was not defined as the first glyph in the font, Unicode addressing didn't work for the character in slot 0. - 2007-08-03 (bug #1217) For vertical text output the 'vert' feature in the GSUB table of TT/OT fonts is used (if present) to replace standard glyph forms with the corresponding vertical forms. This improves the appearance of vertical CJK text for many common CJK fonts. - 2007-08-02 Fixed a build problem with the Cygwin environment. - 2007-08-01 (bug #1384) User-supplied logging output was not actually logged for logging class api=0. - 2007-07-31 Added the -t option to the pdfimage client which forces treatment as a specific image type instead of "auto". This is sometimes useful to force JPEG handling for JPEG-compressed TIFF images. - 2007-07-26 (bug #1377) Emit a warning in the log file for invalid (including deprecated) resource category names in the UPR file. - 2007-07-26 (bug #1353) Textflow: text could run through a matchbox if the box was close to the upper edge of the fitbox. - 2007-07-26 (bug #1378, bug #1203/continued) The return value of PDF_fill_textblock() could be wrong in PHP if textflowhandle was >0. - 2007-07-25 (bug #1374) Textflow: the combination of tabs and the "leftindent" option depended on the ordering of both; Wrong output could be produced when "leftindent" was specified after a tab at the beginning of a line. Now it works for arbitrary ordering. - 2007-07-24 (bug #1289) Table cells containing a Textflow could remain empty under the following conditions: - Table: the row height is too small for the Textflow in a cell. - Textflow: multiple fonts with different metrics are used, the font with larger metrics values was used after the smaller font, and lastlinedist != 0 - 2007-07-24 (bug #1354) Improved the table algorithm to increase the column width for Textflow cells with orientation west or east. - 2007-07-24 (bug #1291) Textflow: the last line in a fitbox could be missing if the fontsize is decreased exactly at the beginning of the second fitbox. - 2007-07-22 Enable logging of libjpeg error messages when libjpeg is called from libtiff. - 2007-07-22 Catch some rare TIFF compression schemes and color spaces (photometric) which are definitely not supported (neither in pass-through mode nor libtiff) in order to provide a better error message than "Error reading data". - 2007-07-18 (bug #1363) A problem in the font cache could result in excessive memory usage in the following situation: the same core font (e.g. Helvetica) was used with two different fontstyles which produced the same end result, e.g. "fontname=Helvetica fontstyle=Bold" and "fontname=Helvetica-Bold, fontstyle=Normal". - 2007-07-17 (bug #1369) Textflow: if adjustmethod=auto or split and the fitbox was so narrow that the first letter didn't fit after splitting the first word, a long iteration of 64K steps happened. This situation is now detected, and PDF_fit_textflow() will break with return code "_boxempty". - 2007-07-17 (bug #1366) Shortened the names of several modules in libs/expat to facilitate cross- compiling for MVS. ============================== PDFlib 7.0.1p7 (July 17, 2007) ============================== - 2007-07-16 (bug #1362) If textformat=ebcdicutf8 was in PDF_create_textflow() and inline options were used, the option "textlen" was required. This restriction has been removed. - 2007-07-16 (bug #1325) The code from 2007-07-09 for the implementation of the "transparencygroup" option didn't fully work due to a typo. ============================== PDFlib 7.0.1p6 (July 13, 2007) ============================== - 2007-07-13 (bug #1318) pCOS path components can now be encoded in UTF-8 to support non-ASCII characters in PDF names. UTF-8 encoding will automatically be done in Unicode-aware language wrappers so that plain Unicode strings can be used a pCOS paths. This is especially helpful for retrieving properties of blocks with non-ASCII characters in their name. - 2007-07-12 (bug #1303) Textflow with adjustmethod other than auto or split and text lines with zero length (e.g. with "addfitbox" to create arbitrary shapes): text at the beginning could get lost. - 2007-07-12 Enhanced the option parser to correctly with boolean options which start with "no...". Applying the "no" prefix to such option can result in "nono..." situations. Currently there is only a single affected option ("normalizefilename" suboption of the "OPI-1.3" and "OPI-2.0" options of PDF_load_image()). - 2007-07-11 (bug #1328) Textflow: a situation with alignment!=justify and text line with two words was not treated correctly. Textflow treated the two words as one single word without any breaking opportunity and applied the specified adjustmethod (e.g. shrink, split, nofit). The bug fix leads to two situations with different behavior: - Lines with two Latin words will be broken now more often than before, and won't be shrunken or split. - Japanese text, which contains lots of break opportunities (after almost each character). With alignment!=justify PDFlib tried to fulfill justify although this was not necessary. The lines appear ragged now as they should. - 2007-07-11 (bug #1346) The pCOS pseudo object "pdfa" did not work correctly on EBCDIC platforms. - 2007-07-10 (bug #1172) Whitespace at the end of a Textflow didn't induce a line breaking opportunity. As a result the last word in a fitbox could be moved to the next fitbox if the word had a trailing space. Now a break opportunity will always be set at the end of a Textflow generally to make sure that the last word fits into the last line (if enough space is available). - 2007-07-10 (bug #1163) The Textflow bounding box as returned by PDF_info_textflow() with the keywords x1-x4 and y1-y4 could be larger than it should if wrap boxes were present. - 2007-07-10 (bug #1345) When importing pages from AES-encrypted documents (pCOS encryption algorithm 4), encrypted strings in the input could have trailing garbage characters in the generated output. A similar problem could arise for unencrypted input with AES-encrypted file attachments. - 2007-07-10 (bug #1287) The "charmapping" option didn't work correctly with ebcdic encoding. - 2007-07-10 (bug #1330) Textflow: with verticalalign=center/bottom/justify the placement of text will now be determined iteratively if wrap boxes are present. Before this fix wrong text placement could result because wrap boxes influenced the formatting of text which had to be pushed downwards. - 2007-07-10 (bug #1347) Multi-part annotations created by Textflow (e.g. automatic links which were created for a hyphenated word) did not result in multiple structure elements for Tagged PDF. Only the last part was included in the structure tree so that Acrobat's accessibility checker complained about an "Inaccessible link". - 2007-07-09 (bug #1325) Implemented the "transparencygroup" option for PDF_begin/end_page_ext() and PDF_begin_template_ext(). - 2007-07-09 (bug #1319) The block filling functions will try to interpret the block name as UTF-8 if the original path cannot be found. This works around problems where users retrieve non-ASCII block names with pCOS and use the returned paths for filling blocks without prepending the required UTF-8 BOM (relevant for non-Unicode language bindings only). - 2007-07-09 (bug #1296) After some discussion with industry experts the version number check for ICC profiles has been relaxed to take only the ICC major version into account, but no longer the minor version. This makes life easier for users who can no longer produce old ICC version with current software, and complies with the spirit of the ICC, PDF/X, and PDF/A standards. - 2007-07-09 (bug #1340) Fonts couldn't be loaded if the "FamilyName" entry was missing in the AFM file. - 2007-07-05 (bug #1322) When the leading was changed between two calls to PDF_setfont() which both set the same font size, text output could appear on the wrong position on the page after the second call to PDF_setfont(). - 2007-07-04 (bug #1335) Subsetting didn't reduce the size of embedded fonts if only the "space" glyph was used in a font. ============================== PDFlib 7.0.1p5 (June 22, 2007) ============================== - 2007-06-22 (bug #1315) Loading external XMP with the "metadata" option could result in a crash or missing elements in certain situations involving multiple namespaces. - 2007-06-22 (bug #1312) Trailing blanks after character entities could get lost when importing XMP with the "metadata" option. - 2007-06-20 (bug #1307) The PDF_RETHROW() macro didn't work as documented. - 2007-06-20 (bug #1314) The searchpath setting was not used when searching for the license file. - 2007-06-14 (bug #1297) When non-ASCII passwords were used in Unicode-capable language bindings (e.g. Java) the resulting PDF couldn't be opened in Acrobat with the same password since a required encoding conversion was missing. - 2007-06-14 (bug #1301) PDF_shading() didn't check for required options when the option list was completely empty or missing. - 2007-06-12 (bug #939) PDF_fit_textline() didn't correctly set the text state if the only API call between PDF_begin_page_ext() and PDF_fit_textline() was PDF_fit_image(), without any additional text-related function calls. - 2007-06-12 (bug #1293) Fixed an infinite loop in the OpenType subsetting code when encoding=unicode was used with certain BQ fonts. - 2007-06-12 (bug #1290) When a CJK font was loaded with keepnative=false and a Unicode CMap it wouldn't be found in the font cache when the same font was loaded again. As a result multiple subsets of the same font could be produced instead of a single font subset. This especially affected PPS since each call to PDF_fill_textblock() loads the font again. - 2007-05-30 (bug #1272) The treatment of the backslash character \ in text strings was wrong on EBCDIC platforms if the current encoding was different from "ebcdic" (i.e. did not contain the backslash on position 0xE0). - 2007-05-29 (bug #1240/reopened) The fix for bug #1240 was incomplete, and did not work in topdown systems. ============================= PDFlib 7.0.1p4 (May 24, 2007) ============================= - 2007-05-24 (bug #1268) Embedded symbolic TrueType font subsets included a (3,0) cmap. Although this works in Acrobat it violates the PDF reference which recommends to include the (1,0) cmap. For PDF/A compatibility PDFlib now emits only the (1,0) cmap. - 2007-05-24 (bug #1230) Replaced the ctype implementation of the C runtime library with our private version for performance and reasons and to make the code independent of the locale. Due to the usage pattern functional problems were not possible due to the locale, but it could negatively affect performance on some systems. - 2007-05-24 (bug #1266) Fixed a potential problem in the EBCDIC conversion functions. - 2007-05-23 (bug #1216) The table formatter could incorrectly emit the message "Calculated table height X is too large" when the table could actually be placed. This could happen when the formatter tried to fit a row or whole row join group into the fit box, the rows didn't fit, and the last row couldn't be split. - 2007-05-23 (bug #1090/reopened) Write only a single output intent for PDF/A documents to work around problems with some validators. - 2007-05-23 Updated the PDFlib binding for REALbasic 2006. - 2007-05-23 (bug #1243) Importing a PDF/A file with invalid XMP could raise an exception, instead of silently returning -1 and hooking up the error message for later retrieval with PDF_get_errmsg(). - 2007-05-22 (bug #1259) Table formatting: if the sum of the specified row heights was greater than the height of the fitbox, an inappropriate exception "Size of inner cell at column 1 and row 1 too small (1.234567 x 0.000000)" could occur (analogously for columns). - 2007-05-22 (bug #1258) Table formatting: if the size of columns and/or row hasn't been specified and the cell size had to be adjusted to the size of text lines, scaling values set outside of the table could wrongly affect table formatting. - 2007-05-22 (bug #1218) Removed all instances of the deprecated Windows function IsBadWritePtr(). - 2007-05-22 (bug #1236) Text strings are no longer limited to 32K for compatibility with PDF 1.6 and above. - 2007-05-22 (bug #1256) Matchboxes which partially overlap the fitbox could lead to wrong Textflow formatting. - 2007-05-22 (bug #1240) When a Textflow was created with multiple calls to PDF_add_textflow() and the calls contained empty text fragments, the calculation for decoration matchboxes could be wrong. - 2007-05-22 (bug #1245) Space characters in custom document info keys are no longer accepted when XMP output is created (via the autoxmp or metadata options). - 2007-05-21 (bug #1255) The ToUnicode CMap for TrueType fonts with non-standard Latin encodings (except ebcdic) was wrong (contained GID->code mappings instead of GID->Unicode). As a result, text extraction didn't work correctly for text in these fonts. - 2007-05-21 (bug #1241) The implementation of the search for character classes like "charclass {close U+XXXX}" was wrong; as a result, Textflow could incorrectly split words. Any character higher than XXXX was treated of type close, instead of only U+XXXX. - 2007-05-21 (bug #1213) PDFlib didn't detect an error condition if the textlen option in Textflow pointed beyond the end of the actual text, and could produce garbage output. - 2007-05-21 (bug #1250) Wrong output would be created for the combination of "topdown" and "height" options in PDF_begin_page_ext() (i.e. specifying the page height via an option as opposed to a function parameter). - 2007-05-20 Rewrote the XMP handling code to allow for more flexibility with future XMP merging and other processing, including powerful tree merging. This also eliminated a few platform-specific differences in the generated XMP output. - 2007-05-18 (bug #1242) Page box rectangles (e.g. MediaBox) were not treated correctly if they contained the upper left and lower right box corner coordinates instead of the common ordering lower left + upper right. As a result the page size was calculated incorrectly, and an exception could be thrown when importing such a page. - 2007-05-18 (bug #1248) The namespace URI for the "pdfx" XMP schema was wrong. If a pdfx element was found in user-supplied metadata, the XMP was incorrectly rejected as not wellformed. When synchronizing document info entries to XMP with autoxmp=true wrong XMP output was created. - 2007-05-15 (bug #1224) The Visual Basic project files (*.vbp) contained references to a wrong PDFlib version number (but this didn't really hurt). - 2007-05-11 (bug #1237) Using the pCOS pseudo object "pdfa" to check the PDF/A status of a PDF could incorrect raise an exception "PDF/A extension schema ... for XMP metadata not supported" for certain non-standard XMP elements. This was wrong, since the XMP should not have been checked according to PDF/A criteria. ============================= PDFlib 7.0.1p3 (May 10, 2007) ============================= - 2007-05-10 (bug #1232) Changed the license mechanism on zSeries so that a server key covers all LPARs on that machine. - 2007-05-10 (bug #1233) Changed the build process to use Python's distutils for creating the PDFlib extension for Python. As an immediate advantage this allows us to build the Python binding on AIX, which was not supported earlier. - 2007-05-02 (bug #1227) Illegal TIFF images with photometric=min-is-white and a color map led to a crash because PDFlib incorrectly tried to take the color map into account. - 2007-05-02 (bug #1226) One of the namespace URIs for XMP extension schemas was wrong. Since these are currently only used for validation this bug could not result in invalid output. =============================== PDFlib 7.0.1p2 (April 16, 2007) =============================== - 2007-04-16 (bug #1209) Textflow: wrap boxes created from matchboxes with the "createwrapbox" option were not propertly taken into account in blind mode. The results of the calculation were different from the actual output (without the "blind" option). - 2007-04-13 (bug #1195) Textflow: drop caps created with matchboxes and "createwrapbox" could wrongly be shifted horizontally when textrise was different from 0 and the value of fontsize for the drop cap was greater than the distance to the next wrap box above. - 2007-04-13 (bug #1193) Matchboxes in Textflow could appear too small in the output when all of the following conditions were true: A matchbox with the "boxwidth" option appeared at the beginning of a line, leftindent was > 0 (or an absolute tab was used), and there was no underlying text. - 2007-04-13 (bug #1196) The "offsetleft/right" suboptions in the "matchbox" option of Textflow functions were wrongly taken into account for intermediate matchbox rectangles (instead of only for the first and last matchbox rectangle). As a result, text was hidden behind the box. - 2007-04-12 (bug #1207) Textflow: with "verticalalign=justify" the first distance between the top border of the fitbox and the first baseline could be scaled. This is wrong since this distance should be the same as the distance between the last baseline and the bottom border of the fitbox. - 2007-04-12 (bug #1204) The table formatter could fail with an inappropriate exception "Calculated table height 40108.7 is too large..." due to an initialization problem. - 2007-04-12 (bug #1203) PDF_fill_textblock() with the option "textflowhandle" didn't work correctly if the Textflow specified in the handle had been created outside of any block. - 2007-04-12 (bug #1198) PDF_info_textflow() with the keyword "firstlinedist" could correctly return 0 values. - 2007-04-11 (bug #1199) Fixed a Makefile problem with the C++ binding on Solaris. - 2007-04-06 (bug #656) Reworked the wrapper source code and build process for REALbasic to support Universal Binaries on the Mac. PDFlib for RB needs at least REALbasic 2006r4. - 2007-04-03 (bug #1197) Fixed a problem with the license keys on zLinux. - 2007-03-28 (bug #1189) The "charmapping" option for Textflow didn't work for Type 1 PostScript fonts, "unicode" encoding, and target characters which were unused in the original text. =============================== PDFlib 7.0.1p1 (March 23, 2007) =============================== - 2007-03-23 (bug #1180) Added a few missing function prefixes which are required to avoid conflicts with other libraries (only for Linux/x86 builds). - 2007-03-22 (bug #1181) The behavior of the font cache slightly differed between PDFlib 7.0.0 and 7.0.1. Now the values of embedding, subsetting, and kerning are ignored to restore the previous behavior. - 2007-03-22 (bug #1178) Emit an error message when one of the options familyname, stretch, or weight was specified in PDF_begin_font() with compatibility < PDF 1.5. - 2007-03-22 (bug #1176) Emit a more useful message for fontsize=0 in Textflow options. - 2007-03-20 Final changes for the iSeries and zSeries builds. - 2007-03-19 (feature #263) Implemented the "duplex", "picktraybypdfsize", "printpagerange", and "numcopies" keywords for the "viewerpreferences" option of PDF_begin/end_page(). - 2007-03-19 (bug #1173) Type 1 symbol fonts with encoding=auto were rejected with an exception "Font doesn't support encoding", instead of automatically switching to encoding=builtin. - 2007-03-15 (bug #1170) The /CIDSet entry for TrueType fonts was missing in PDF/A mode. ============================= PDFlib 7.0.1 (March 10, 2007) ============================= - 2007-03-10 (bug #957) Improved Linux performance by ca. 10% by switching to assembler code in zlib. - 2007-03-08 (bug #1161) Font descriptors for Type 3 fonts did not include some required entries. The font descriptor itself is not required for all PDF versions, but PDFlib always emits it to improve usability. - 2007-03-07 (bug #1139) If the XMP stream supplied to the "metadata" option contained XML entities these would not be properly output, e.g. XML special characters such as ">" were not written as character entities, but plain characters instead. - 2007-03-04 (bug #1137) Changed XMP metadata handling for PDF/A: - Custom document info entries will no longer be mirrored in the XMP output. - Only predefined XMP schemas are supported for the "metadata" option, plus the four schemas required defining extension schemas. - 2007-03-03 (bug #1157) The "optimize" option in PDF_begin_document() with Java on Windows could result in the VM terminating with stack overflow because of excessive memory consumption in a recursive function. - 2007-03-01 (bug #1147) Modified the behavior of the "noforms" keyword for the "permission" option of PDF_begin_document() such that it automatically implies "nomodify". - 2007-03-01 (bug #906) Improved the C++ builds with the native compilers on Mac, FreeBSD, HP-UX, and Solaris. =============================== PDFlib 7.0.0p7 (March 01, 2007) =============================== - 2007-03-01 (bug #1155) Implemented the new suboptions "modeltree" and "toolbar" for the "3dactivate" option of PDF_create_annotation(). - 2007-03-01 (bug #1153) Fixed a problem with U3D annotations that couldn't activated by adding dictionary entries which are supposed to be optional, but apparently aren't implemented as such in Acrobat 7 and 8. - 2007-02-28 (bug #1138) Improved the solution files for building PDFlib from source with Visual Studio. - 2007-02-27 (bug #1151) Implements strict version checking for ICC profiles according to the selected PDF output compatibility. - 2007-02-27 (bug #1150) The "Hide" action is no longer allowed in PDF/A mode. Although this is not explicitly forbidden in the PDF/A standard, apparently it should have been. - 2007-02-27 (bug #1135) The PHP binding could crash after an exception in get_buffer() and other functions. - 2007-02-26 (bug #1148) Updated the CMap package. - 2007-02-21 (bug #1134) Inline images used as image masks (mostly bitmap glyphs for Type 3 fonts) were rejected by Acrobat 7 and 8 due to a bug in Acrobat's image parsing code. As a workaround PDFlib now emits the /BPC entry which is actually optional in this case. - 2007-02-19 (bug #1133) The CMap parser ignored CIDs which map to surrogate pairs. - 2007-02-19 (bug #1129) The sequence "& " would cause an exception "Illegal HTML character entity" even if glyphcheck was different from "error". - 2007-02-17 (bug #1110) Added the starter samples for VB.NET, ASP.NET, VB6, and WSH. - 2007-02-17 (bug #1124) In the Ruby binding the following functions returned integer values instead of float values: PDF_pcos_get_number(), PDF_get_pdi_value(), PDF_get_value(), PDF_info_matchbox(), PDF_info_textflow(), PDF_info_textline(), PDF_info_font(), and PDF_stringwidth(). - 2007-02-15 (bug #1114) Improved handling of prerotated CJK characters in vertical writing mode by implementing special handling for glyphs with vertical variants. - 2007-02-15 (bug #1112) Fixed problems related to linespacing in the wrapping algorithm of Textflow. - 2007-02-13 (bug #1116) By default, fonts which formely were force embedded will still be embedded, but embedding can be prevented by setting embedding=false. - 2007-02-12 (bug #1104) Since TIFF image data is retrieved in RGBA mode in certain cases, PDFlib could run out of memory for images with more than ca. 100 megapixels (especially on Windows with COM). As a workaround which helps in many situations, passthrough mode is no longer disabled for very large images. - 2007-02-08 (bug #695) PDFlib could crash when an exception occurred and a page with annotations had been suspended while no page was open. - 2007-02-07 (bug #1090) Loading an ICC profile as output intent (option usage=outputintent in PDF_load_iccprofile()) is now also supported if the output document is neither PDF/A nor PDF/X. A hybrid output intent (for both PDF/X and PDF/A) will be written in this case. - 2007-02-02 (bug #1103) Added the deprecated show_boxed() method to the object-oriented PHP 5 wrapper. - 2007-02-01 (bug #1093) When merging XMP streams provided to the "metadata" option the "begin" and "end" package lines could be duplicated. While Acrobat ignores the duplicated lines they were not correct. ================================= PDFlib 7.0.0p6 (January 31, 2007) ================================= - 2007-01-29 (bug #1092) Improved the contents of error messages on Windows when files were not found and the searchpath was involved. - 2007-01-24 (bug #1011) In some cases when corrupt image data was fed to PDF_load_image() the function always threw an exception instead of returning -1, even with errorpolicy=return. - 2007-01-23 (bug #1067) The text position after PDF_fit_textflow() (i.e. textx/y, textendx/y) no longer takes into account empty lines forced by wrapping around shapes. Instead, the end position of the last placed character is now reported. - 2007-01-23 (bug #1084) PDFlib could crash when subsetting a TrueType or OpenType font where the cmap subtables were not sorted in ascending order. - 2007-01-22 (bug #779) Fixed problems with unresolved externals with PHP 4 on Mac OS X. - 2007-01-12 (bug #1059) Changed all Ruby samples to use "/usr/bin/env ruby" in the shebang statement in the first line to make the start of Ruby more portable. - 2007-01-12 (bug #1039) PDF documents with encrypted file attachments have been rejected although the pages can be imported. ================================= PDFlib 7.0.0p5 (January 10, 2007) ================================= - 2007-01-10 Preparations and minor changes for zSeries builds. - 2007-01-10 (bug #1054) PDF_fit_textflow() created wrong output for the option "leader={yposition=descender}" - 2007-01-10 (bug #1053) Extended the "boxheight" option for matchboxes such that float values are allowed in addition to the keywords. - 2007-01-10 (bug #1049) The wrap feature of PDF_fit_textflow() did not correctly deal when wrapping around a matchbox and fitmethod=auto. - 2007-01-09 (bug #1049) Switched the example for Ruby on Rails to the new PDI functions instead of the old (deprecated) ones. - 2007-01-09 (bug #1050) PDF_open_pdi() in the Ruby binding didn't correctly treat file names, resulting in a wrong error message "Unicode file names are not supported on this platform". - 2007-01-08 (bug #1051) PDFlib now keeps the cmap of TrueType CID font subsets if the ToUnicode CMap was disabled by the user. - 2007-01-08 (bug #1046) PDF_add_textflow() and PDF_fit_textline(): specifying a font size indirectly via the capheight etc. suboptions could lead to an inappropriate error message "Handle parameter or option of type 'font' has bad value". - 2007-01-05 (bug #1036) PDFlib now emits a /FontDescriptor entry for the PDF core fonts as mandated by the PDF 1.7 reference (even for older PDF versions). - 2007-01-05 (bug #1040) pCOS reported wrong results for the "objectid" prefix when the object was contained in a compressed object stream. - 2007-01-05 (bug #1044) Due to a typo the "fakebold" feature placed one of the emboldening text instances far outside of the page. Due to lower floating point accuracy in Acrobat 5 this could also lead to wrongly positioned subsequent text (but the text was placed correctly, and was displayed at the correct position in other viewers than Acrobat 5). - 2007-01-04 (bug #1045) PDFlib created wrong Unicode mappings for TrueType symbol fonts with encoding "unicode". - 2007-01-04 (bug #1042) TrueType fonts with the platform=3, encoding=10 (UCS-4) cmaps would result in wrong embedded fonts if PDF/A mode was active or subsetting was enabled (characters outside the BMP got lost). - 2007-01-04 (bug #1037) Old-style Apple TrueType fonts without Unicode cmap (i.e. where the platform=1, encoding=0 cmap was used) couldn't be used with "unicode" encoding (glyphs appeared mixed up). - 2007-01-02 (bug #1035) Reject the value 0 for the "xstep" and "ystep" options of PDF_begin_pattern(). - 2007-01-02 (bug #1033) Reject recursive use of a pattern handle within the definition of the pattern. - 2007-01-02 (bug #1029) The "script" option of PDF_load_3ddata() was limited to 64K in length although PDF allows arbitrarily long JavaScript. - 2006-12-19 (bug #1023) PDFlib didn't detect bad input, and would create invalid PDF output (object id -1 for font resources) under the following conditions: PDF_add/create_textflow() was used with an option list that didn't contain any font specification, and the "font" option with an invalid font handle was used in an option list of another function call (e.g. PDF_add_table_cell() or PDF_fit_textline()). - 2006-12-19 (bug #1022) The "boxlinecount" keyword of PDF_info_textflow() could return wrong values depending on the height of the fitbox. - 2006-12-18 (feature #55) Redesigned and improved the implementation of wrapping shapes ("wrap" option of PDF_fit_textflow()): Implemented the "addfitbox", "offset", and "polygons". Instead of using the distance between adjacent baselines for determining intersections with wrap boxes, now the ascender and descender of the text are used to create more precise output. - 2006-12-15 (bug #867) The wrap boxes in PDF_fit_textflow() didn't work for orientate=east and west, and for topdown coordinates. - 2006-12-13 (bug #1016) A crash could happen if both "boxes" and "usematchboxes" were specified for the "wrap" option of PDF_fit_textflow(). - 2006-12-13 (bug #1014) A crash could happen when retrieving resources with pCOS (e.g. "fonts[]") for documents without any /Contents entry (which is legal). - 2006-12-13 (bug #1013) PDF_open_pdi_document() with "repair=force" could lead to an exception "During Xref rebuild: Illegal array index 2 in function pdc__vtr_at" due to an uninitialized variable. The problem did not occur with automatic repair mode. - 2006-12-11 (bug #1002) PDF_fit_textflow() didn't force the text to fit into the box if maxlines was supplied in combination with fitmethod=auto. Instead of force-fitting the text the function stopped after placing the number of text lines specified in the maxlines option. - 2006-12-11 (bug #995) Wrapping Textflow contents around a box didn't work if the wrap boxes were very small relative to the font size (e.g. smaller than the distance between adjacent baselines). - 2006-12-08 (bug #999) In very rare cases glyphs from Type 1 fonts could get lost with encoding= unicode if the glyph name was contained in PDFlib's internal list of "misnamed" glyphs. The /Differences array in the font's encoding no longer contained the actual glyph name from the font, but another one with the same Unicode value. - 2006-12-08 (bug #989) Subsetted OpenType CFF fonts would trigger the message "/rangecheck in --string--" in Ghostscript since GS doesn't correctly implement all aspects of CFF parsing. As a workaround, the INDEX and DICT data in the CFF subset are now arranged differently. - 2006-12-08 (bug #996) The default of the "infomode" option in PDF_open_pdi_document() was false even if requiredmode was different from full. This prevented encrypted documents for which the document was not available from being opened for pCOS queries. - 2006-12-06 (bug #994) Glyph name references for TrueType fonts in some cases didn't address the correct character. - 2006-12-05 (bug #991) The illegal value U+FFFF was written to the ToUnicode CMap if PDFlib couldn't map a glyph ID to Unicode. - 2006-12-05 (bug #990) The /Widths array could be incomplete when TrueType fonts with less than 256 glyphs were used with an 8-bit encoding or "builtin" encoding. - 2006-12-01 (bug #986) For OpenType CID fonts loaded with "noembedding subsetting" the Widths array and ToUnicode CMap are now reduced to the glyphs which are actually used in the document. ================================== PDFlib 7.0.0p4 (November 29, 2006) ================================== - 2006-11-29 (bug #984) The pdflib.upr file was not found if it was located in a SearchPath directory and the SearchPath was set via the Windows registry. - 2006-11-29 (bug #958) Implemented the following new pCOS pseudo objects which work similar to the corresponding PDI parameters: pages[...]/blocks[...]/ and pages[...]/blocks// - 2006-11-27 (bug #980) Invalid PDF output ("Font has not been set") could be created by PDF_fit_textline(). The problem affected the first font which had been set via the "fontname" and "encoding" options. - 2006-11-27 (bug #979) The "fillcolor" suboption of the "leader" option was ignored in PDF_fit_textline() and PDF_fit_textflow() when the "fillcolor" option was also specified in the main option list. - 2006-11-27 (bug #974) Use proper XML entity or hex representation in the XMP output for document info keys which contain characters that are reserved for the XML syntax. - 2006-11-27 (bug #940) PDFlib could crash in PDF_delete() if one of the following functions returned -1 because of an out-of-memory situation: PDF_open_pdi(), PDF_open_pdi_document(), PDF_open_pdi_callback(), PDF_open_pdi_page(), PDF_process_pdi(), PDF_fill_textblock(), PDF_fill_imageblock(), PDF_fill_pdfblock(). - 2006-11-27 (bug #978) The "ignoreorientation" option of PDF_load_image() did not have any effect. - 2006-11-24 (bug #974) In PDF/A mode all document info keys were synchronized to XMP, while only the 8 keys specified in the PDF/A standard must actually be synchronized. - 2006-11-24 (bug #969) Textflows with fitmethod=auto were not treated correctly in tables with minrowheight; the minimum row height was not honored, but instead the cell height was increased when adjusting the Textflow. Now the font size will be reduced in order to stay within the limits of minrowheight. - 2006-11-24 (bug #972) Encodings where the space character was not on position 0x20 led to wrong output in Textflow. - 2006-11-24 (bug #973) Non-ASCII document info entries were not converted correctly when creating XMP output with the "autoxmp" option (e.g. in PDF/A mode). - 2006-11-23 (bug #967) PDF_fit_table() lost the second part of a split row (and issued an error message (Calculated table height is too high") under the following conditions: "rowminheight" was specified, a Textflow cell had to be split, and another Textflow cell which didn't require splitting was created after the split cell. - 2006-11-22 (bug #781/reopened and bug #930) Changed the memory allocation strategy for creating PDF output in memory in order to reduce the memory requirements for large documents. - 2006-11-21 (bug #964) A sequence of two backslash characters in a SearchPath entry was wrongly reduced to a single backslash, which spoiled the use of network drives on Windows. - 2006-11-21 (bug #929) The deprecated functions PDF_setgray_stroke() and PDF_setgray_fill() were listed in the PDFlib API structure (for dynamic loading) in wrong order. The deprecated function PDF_setrgbcolor_stroke() no longer worked. - 2006-11-20 (bug #963) The configure script no longer set the #define for WORDS_BIGENDIAN (bug introduced in 7.0.0p3). As a result, Unix builds on big endian platforms (except Mac OS X on PowerPC, which is treated differently), had problems with endianness (TIFF and Unicode handling). - 2006-11-20 (bug #961) Due to a bug in PHP 4.3.x, PDF_open_pdi_page() didn't work on AMD64 Linux ("Handle parameter or option of type 'document' has bad value 0"). - 2006-11-18 (bug #960) The Windows hostfont engine did not release device context handles for TrueType host fonts. As a result, no more than 5000 such fonts could be acquired. - 2006-11-15 (bug #957) Improved general performance for applications with a large number of PDFlib function calls by ca. 10%. - 2006-11-15 (bug #937) U3D annotations didn't work due to a typo in the code, and missing appearance entries. - 2006-11-14 (bug #949) XMP streams passed to the "metadata" option of various functions was not validated so that invalid XMP could spoil the PDF output. XMP streams were only validated in PDF_begin/end_document(). - 2006-11-14 (bug #953) The "topdown" option of PDF_begin_template_ext() didn't work correctly. - 2006-11-10 (bug #951) The CurVer entry in the resource file of the PDFlib COM binding still contained a version 6 entry (instead of 7). Under specific circumstances this could lead to problems if both PDFlib 6 and 7 were installed on a machine. - 2006-11-10 (bug #952) Use compiler/linker options for thread-safe C runtime environment on AIX. - 2006-11-09 (bug #946) Invalid XMP supplied to the "metadata" option of PDF_begin_document(), PDF_begin_template_ext(), PDF_load_font(), PDF_load_image(), PDF_load_iccprofile(), and PDF_open_pdi_page() always triggered an exception (even for errorpolicy=return). These functions now return the error value -1 if an error is found during XMP parsing. PDF_end_document() and PDF_begin_page_ext() still throw an exception for invalid XMP since they do not return any value. - 2006-11-06 (bug #938) The "textflowhandle" of PDF_fill_textblock() for chaining PDFlib blocks didn't work in the PHP binding. - 2006-11-02 (bug #939) The "stamp" option of PDF_fit_textline() didn't work correctly unless "fontsize" option was specified (with an arbitrary value), although the "fontsize" is not actually required. Now it works without specifying any font size. - 2006-10-31 (bug #936) The utf16_to_utf8() and utf8_to_utf16() methods were missing from the object-oriented PHP 5 binding. The fix will be included in PECL package 2.1.1. - 2006-10-27 (feature #215) Implements an optimization for the "checkwordsplitting" option of PDF_add_table_cell(): Textflows with "adjustmethod=nofit" will be processed much faster in the "checkwordsplitting=true" case. ================================= PDFlib 7.0.0p3 (October 27, 2006) ================================= - 2006-10-27 (bug #925) Fixed a crash when PDFlib ran out of memory while trying to allocate more pages. - 2006-10-27 (bug #932) Flate-compressed TIFF images with MINISWHITE=1 appeared inverted in passthrough mode. - 2006-10-26 (bug #931) The error messages "Percentage of width/height of column/row ... not specified" are no longer thrown. Instead, the width/height will be treated (i.e. calculated automatically) as if they were specified as zero. - 2006-10-24 (bug #927) PDFlib would throw an exception or crash if the UPR resource file was specified with PDF_set_parameter(). - 2006-10-19 (bug #917) The glyph names defined in the post table of a TrueType font were not available in PDF_info_font() and for character references (&.glyphname;). This means that glyph name references didn't work for TrueType symbol fonts. - 2006-10-19 (bug #916) PDF_add_table_cell() could crash or produce wrong output (image and PDI page swapped in the table) with the "pdipage" option. - 2006-10-19 (bug #914) PDFlib crashed when parsing TrueType fonts which contained reserved index values in the range 32768-65535 in the post table. - 2006-10-18 (bug #911) Fixed a platform-specific problem in the JPEG2000 parser which showed up on Solaris. - 2006-10-17 (bug #907) Removed a type cast which caused wrong data type handling with the Borland compiler when a large number of images with Indexed or ICCBased color space was loaded (exception "Unknown color space"). - 2006-10-16 (bug #907) Improved the contents of an internal error message for image color spaces. - 2006-10-13 (bug #908) PDI didn't accept input PDFs with an indirect /Count entry in the /Pages dictionary (these are rare, but legal). - 2006-10-02 (bug #894) If the value of the "menuitem" option of PDF_create_action() contained whitespace the generated PDF would suffer from a syntax error. ================================= PDFlib 7.0.0p2 (October 17, 2006) ================================= - 2006-10-16 (bug #909) The [hyper]textformat option or parameter will now always be taken into account for Unicode CMaps (instead of requiring UTF-16BE). - 2006-10-16 (bug #910) The "margin" option of PDF_fit_textline() didn't work correctly. - 2006-10-13 (bug #905) Fixed a bug with wrong string handling on 64-bit systems. - 2006-10-12 (bug #902) PDF_add_table_cell() could slow down significantly for large numbers of table rows (>10000). ================================= PDFlib 7.0.0p1 (October 11, 2006) ================================= - 2006-10-10 Preparations and minor changes for iSeries builds. - 2006-10-10 (bug #900) Contrary to the documentation, the "SearchPath" resource category was not implemented with case-insensitive handling of the category name. - 2006-10-09 (bug #899) PDFlib Lite could crash or create invalid PDF output due to a problem in preparing the source code packages. - 2006-10-09 (bug #891) Fixed a problem with varargs handling which showed up in some 64-bit builds. =============================== PDFlib 7.0.0 (October 04, 2006) =============================== Various bug fixes and new features. =================================== PDFlib 7.0.0beta1 (August 15, 2006) =================================== First public beta of PDFlib 7 with a variety of new features and improvements in existing features. Please review the documentation for more details.