=============================
PDFlib 7.0.5p3 (May 02, 2011)
=============================

- 2011-06-06 (bug #3393)
  Avoid compiler bug in gcc-4.2.2 on 32bit Linux.

- 2011-05-02 (bug #3280)
  Implemented a workaround to avoid an Acrobat bug where the text in form
  fields is not displayed correctly for monospaced fonts.

- 2010-10-08 (bug #3013)
  Fixed a crash with with malformed fax-compressed TIFF images.


==============================
PDFlib 7.0.5p2 (June 24, 2010)
==============================

- 2010-06-24 (bug #2787)
  Increased PDI performance again by modifying buffer sizes.

- 2010-06-24 (bug #2781)
  Increased PDI performance when reading very large documents. This change
  is particularly effective when reading PDF data from a database via the
  PDF_open_pdi_callback() interface.

==============================
PDFlib 7.0.5p1 (June 10, 2010)
==============================

- 2010-06-10 (bug #2830)
  Several function name prefixes were missing for libpng, resulting in
  crashes with the PHP binding if GD was installed.


=============================
PDFlib 7.0.5 (April 23, 2010)
=============================

- 2010-04-23 (bug #2766)
  Host font retrieval on Windows was not thread-safe under certain conditions.

- 2010-04-22 (bug #2379)
  Non-ASCII characters in environment variables could incorrectly trigger
  the error message "Invalid UTF-8 sequence..." on Windows.

- 2010-04-22 (bug #2771)
  PDFlib could crash if the PDFLIBLOGFILE environment variable was specified
  and the "logging" parameter was set.

- 2010-04-22 (bug #2424)
  Implemented a workaround for broken Corel Craw TIFF images with invalid
  values for ExtraSamples.

- 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 <leftindent=x> 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 (<w> x <h>)" with
  a negative height value <h> 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 "<font=1 fontsize=9><font=2 fontsize=9>"
  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:
  <leftindent=x>text\n<leftindent=y>\ttext
  If there was no text between <leftindent=y> 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 "<nextline>" 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[...]/<property> and pages[...]/blocks/<name>/<property>

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