============================= 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.