Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > media > contrib-release > by-pkgid > 29e0da3ddcddab73ae8621fc62033227 > files > 261

itext-manual-1.4.5-1mdv2007.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>iText, a Free Java-PDF Library: the history of iText</title><meta name="Description" content="Release dates and changelogs of iText."><meta name="Keywords" content="PDF, JAVA, iText, history, release, changelog, log, changes, Lowagie, Bruno"><link type="text/css" href="style.css" rel="stylesheet"></head><body><div id="content">
	<div xmlns="http://www.w3.org/1999/xhtml" xmlns:site="http://www.lowagie.com/iText/site">
<div class="header">History</div>

<div class="title">Releases</div><br/><a href="#V140" class="small">iText 1.4</a> unknown<br/><a href="#V130" class="small">iText 1.3</a> april 6th, 2005<br/><a href="#V120" class="small">iText 1.2</a> january 7th, 2005<br/><a href="#V110" class="small">iText 1.1</a> november 16th, 2004<br/><a href="#V102" class="small">iText 1.02 (b)</a> february 2004<br/><a href="#V101" class="small">iText 1.01</a> september 2003<br/><a href="#V100" class="small">iText 1.00</a> june 2003<br/><a href="#V099" class="small">iText 0.99</a> may 2003<br/><a href="#V098" class="small">iText 0.98</a> march 2003<br/><a href="#V097" class="small">iText 0.97</a> march 2003<br/><a href="#V096" class="small">iText 0.96</a> october 2002<br/><a href="#V095" class="small">iText 0.95</a> september 2002<br/><a href="#V094" class="small">iText 0.94</a> august 2002<br/><a href="#V093" class="small">iText 0.93 (b)</a> july 2002<br/><a href="#V092" class="small">iText 0.92</a> april 2002<br/><a href="#V091" class="small">iText 0.91</a> april 2002<br/><a href="#V090" class="small">iText 0.90</a> march 2002<br/><a href="#V089" class="small">iText 0.89</a> march 2002<br/><a href="#V088" class="small">iText 0.88</a> march 2002<br/><a href="#V087" class="small">iText 0.87</a> march 2002<br/><a href="#V086" class="small">iText 0.86</a> march 2002<br/><a href="#V085" class="small">iText 0.85</a> february 2002<br/><a href="#V084" class="small">iText 0.84</a> february 2002<br/><a href="#V083" class="small">iText 0.83</a> february 2002<br/><a href="#V082" class="small">iText 0.82</a> february 2002<br/><a href="#V081" class="small">iText 0.81</a> january 2002<br/><a href="#V080" class="small">iText 0.80</a> january 2002<br/><a href="#V073" class="small">iText 0.73</a> december 2001<br/><a href="#V072" class="small">iText 0.72</a> december 2001<br/><a href="#V071" class="small">iText 0.71</a> december 2001<br/><a href="#V051" class="small">iText 0.51 - iText 0.70</a> september - october 2001<br/><a href="#V050" class="small">iText 0.50</a> August, 13th, 2001<br/><a href="#V041" class="small">iText 0.41</a> summer 2001<br/><a href="#V040" class="small">iText 0.40</a> spring 2001<br/><a href="#V039" class="small">iText 0.39</a> december 2000<br/><a href="#V038" class="small">iText 0.38</a> november 2000<br/><a href="#V037" class="small">iText 0.37</a> October 5th; 2000<br/><a href="#V036" class="small">iText 0.36</a> September 11th, 2000<br/><a href="#V035" class="small">iText 0.35</a> August 8th, 2000<br/><a href="#V030" class="small">iText 0.30</a> February 14th, 2000<br/><a href="#V025" class="small">rugPDF 0.25</a> December 8th, 1999<br/><a href="#V020" class="small">rugPDF 0.20</a> December 1st, 1999<br/><a href="#V011" class="small">rugPDF 0.11 - rugPDF 0.19</a> November 3th - December 1st, 1999<br/><a href="#V010" class="small">rugPDF 0.10</a> April 6th, 1999<br/><a href="#V001" class="small">rugPDF 0.01 - rugPDF 0.09</a> March 11th 1999 - April 5th 1999<br/><br/><hr width="80%" align="Center"/><br/><div class="title">Changelogs</div><br/><a name="V140">iText 1.4</a> (Not yet released)<div class="small">
<ul>
<li>2005-12-12: iText 1.3.6
<ul>
<li>Changes made by Paulo
<ul>
<li>Uploaded the code clean up by Xavier Le Vourch</li>
<li>Some simplifications in PdfReader</li>
<li>Support to reuse images from existing docs</li>
<li>Added footer support for PdfPTable</li>
<li>Special fit to page in PdfPTable</li>
<li>A PdfOutline constructor couldn't close the outlines</li>
<li>A call to dispose() was missing in MetaDoPS</li>
<li>Fix to WMF files</li>
<li>SimpleTable didn't copy the horizontal alignment</li>
<li>Integer parsing simplification in class PRTokeniser</li>
<li>TIFF images with filenames with spaces didn't work</li>
<li>New constructor for ImgPostScript</li>
<li>corrected the name setcmykcolor (PS)</li>
<li>improvements to HTMLWorker</li>
<li>AcroFields: new lists in list and combo fields can be set</li>
<li>AcroFields: changed setFields() to iterate from the source (not a bug just better logic)</li>
<li>Better CJK Field support in DocumentFont</li>
<li>PdfContentByte.showTextAligned() supports char spacing, word spacing and horizontal scaling (Federico Scala)</li>
<li>PdfGraphics2D: added support for setting the color in text attributes</li>
<li>Added a constant for XFA to PdfName</li>
<li>added PdfReader.getStreamBytesRaw() to get the bytes without any filtering</li>
<li>added a Chunk copy constructor</li>
<li>changed Rectangle gray fill processing to just depend on the background color: Rectangle, Table, ColumnText,...</li>
<li>changed the way variable borders are rendered to have a better viewer display at low zoom</li>
<li>fixed double background writes in PdfPTable</li>
<li>in nested PdfPTables the inner cell background overlayed the outer cell borders</li>
<li>Zero width nested tables threw an exception</li>
<li>PdfReader.killIndirect() was made public</li>
</ul>
</li>
<li>Changes made by Bruno
<ul>
<li>Major Table bugfix by Karsten Klein + extra fix by me. This solves the CellsFitPage functionality
and produces a better layout if the cells are split.</li>
<li>Added toString methods for the internal PDF objects</li>
<li>added well known places on each OS X system for registerDirectories of the FontFactory</li>
<li>bugfix: if you passed an alias with capitals, you could never call it with getFont</li>
<li>Fix in the GreekList</li>
<li>Bordercolors weren't correct if useVariableBorders was set manually in class Rectangle.</li>
<li>You can now add multiple events to the same PdfWriter, PdfPTable and PdfPCell</li>
<li>Choosing a BaseFont for SAXiTextHandler (suggestions made by Ralf Hauser)</li>
<li>Replace HashMap by Map in XmpWriter</li>
<li>ColumnText: added a convenience method to check the status and a start value for the column status</li>
<li>ColumnText allows SimpleTable</li>
<li>New plug-in to view the internal structure of a PDF (by Anonymous)</li>
<li>When opening the toolbox, the frame is centered on the screen (by Anonymous)</li>
<li>Extra info about iText version, Java version and OS in the Toolbox (by Anonymous)</li>
<li>Toolbox System.out and System.err redirected to another window</li>
<li>LPRClient submitted by Anonymous</li>
<li>New tool to extract attachments by Anonymous</li>
<li>The PdfFilter didn 't accept .Pdf or .PDF files, only .pdf</li>
<li>PdfCopy bugfix by John Englar</li>
</ul>
</li>
<li>Changes made by Mark
<ul>
<li>Fixed a bug where an additional paragraph was added on new pages.</li>
<li>For BMP images the scaled height/width is always written. Otherwise the image is displayed with the wrong size.</li>
</ul>
</li>
</ul></li>
<li>2005-10-20: iText 1.3.5 (based on version paulo-155)
<ul>
<li>Changes made by Paulo:
<ul>
<li>FontFactory: case insensitive font search and a much better font family pairing</li>
<li>TrueTypeFontUnicode: Identity-H fonts with subset==false will include all the font</li>
<li>PdfReader: files with /Content null could be problematic; wrong assumption that trailer was followed by \n</li>
<li>Image: method skip didn 't check EOF; Image.toUrl() didn 't escape the filename chars</li>
<li>AcroFields: lists couldn 't be set by the export value</li>
<li>ColumnText: fixed the image alignment in method addElement</li>
<li>Made it possible to create an empty PdfAnnotation</li>
<li>Basic support for Tagged PDFs;  the high level objects don't
generate tags yet, but it's possible to create a fully legal tagged PDF using
PdfContentByte.</li>
<li>SimpleBookmark: method made public</li>
</ul>
</li>
<li>Changes made by Mark:
<ul><li>Fixed a bug where style and colour were not being set if the fontname was unknown;
two RtfFonts equality now ignores style and colour attributes.</li>
</ul>
</li>
<li>Changes made by Bruno:
<ul>
<li>Changes in ChapterAutoNumber and Section. Deleted SectionAutoNumber as it seems to be redundant</li>
<li>Chunk: added the toString method as asked by G.Ralph Kuntz</li>
<li>List: added some extra constant values that can be used as parameter when creating a List</li>
<li>Added a FieldPositioningEvents class; this is a PdfPageEvents/PdfPCellEvent implementation
that allows you to add PdfFormFields with onGenericChunk or cellLayout.</li>
<li>Added an EventForwarder and moved 2 relatively new event classes to a separate package.</li>
<li>Bugfix Christopher MacKenzie: when used in Append mode PdfStamper didn 't add the XMP metadata properly</li>
<li>iText toolbox: added a LabelAccessory that tells you more about the selected PDF file in the FileChooser (by Anonymous);
also updated comments for several plug-ins.</li>
<li>iText toolbox: new plug-in that searches for Launch actions in a PDF and replaces them with a Javascript Alert.</li>
<li>iText toolbox: added a ReversePages tool (by Anonymous)</li>
</ul>
</li>
</ul>
</li>
<li>2005-09-22: iText 1.3.4
<ul>
<li>Changes made by Paulo:
<ul>
<li>added adjustable margins to text fields to better mimic Acrobat 's layout</li>
<li>added PdfWriter.releaseTemplate() to free resources before close()</li>
<li>added support for macro PDF417 (contribution by Matthias Germann)</li>
<li>PdfCopy: beads are removed from pages to avoid dragging unnecessary objects</li>
<li>PdfGraphics2D: the underline was in the wrong place (mirrored)</li>
<li>Added support for flattening free text annotations</li>
<li>Flattening all fields didn 't clear the acroform field array</li>
<li>PdfStamper: extra null check</li>
<li>RandomAccessFileOrArray: a file stream was not being closed</li>
<li>OTF fonts didn 't have the subset prefix</li>
</ul>
</li>
<li>Changes made by Mark:
<ul>
<li>Observe the value of closeStream in the DocWriter.</li>
<li>Dereference the RtfDocument structure when closing the document (speed up release of memory)</li>
<li>Added ability to get last element added (needed in RtfChapter)</li>
<li>Only write a new page if the RtfChapter is not the first element added and the last element added was also not a RtfChapter.</li>
<li>Fonts are now supported in rtf fields.</li>
<li>Fixed a bug where headers /footers were not being displayed on all required pages in certain situations.</li>
<li>Fixed a bug where footers were being set as headers</li>
<li>The alignment is now correctly set if the RtfHeaderFooter is constructed with a Paragraph/Table/Image.</li>
</ul>
</li>
<li>Changes made by Bruno:
<ul>
<li>RandomAccessFileOrArray: allow full read of file when constructing a RandomAccessFileOrArray</li>
<li>Adding Images to a SimpleCell is now allowed</li>
<li>Special PageEvents implementation that allows you to build an index (contribution by Michael Niedermair)</li>
<li>Code for chapters /sections that are automatically numbered (contribution by Michael Niedermair)</li>
<li>It is now possible to add a PdfPTable to a Phrase (contribution by mr. Karen Vardanyan)</li>
<li>Adding Images to a SimpleCell is now allowed</li>
<li>Added a method to set the default alignment of the MultiColumnText</li>
<li>Automatic XMP generation after setting the Metadata</li>
<li>Added XMP support to PdfStamper</li>
<li>Fix posted to itextsharp site concerning automatic splitting of large tables</li>
<li>Verbose representation of Permissions was wrong for Degraded Printing</li>
<li>Selecting odd and even in SelectPages is now allowed without adding a page range</li>
<li>list with the (versions of the) plugins in the Toolbox (+ other contributions by Carsten Hammer)</li>
<li>Removed PRAcroForm from concatenation tool in the Toolbox</li>
<li>Bugfix in the Burst plugin regarding the numbering of the bursted files</li>
<li>Bugfix in the Encrypt tool; Added a decrypt plugin</li>
<li>When generating an index.html with bookmarks of a PDF file, you can now enter a link to a CSS file</li>
<li>Added an N-up tool (to copy N pages of an existing document on 1 page; with N = 2, 4, 8, 16...)</li>
</ul>
</li>
</ul>
</li>
<li>2005-08-24: iText 1.3.3
<ul>
<li>Changes made by Paulo:
<ul>
<li>com.lowagie.text.Image: scaledToFit() didn 't take rotation into account</li>
<li>MultiColumnText didn't respect mirrored margins</li>
<li>Waiting image in the last page was not being placed</li>
<li>PdfStamper supports encryption in append mode</li>
<li>PdfGraphics2D: some attempts to fix the 'very small font' scaling problem</li>
<li>PdfReader.selectPages() is working again.</li>
<li>RandomAccessFileOrArray.InputStreamToArray() was made public.</li>
</ul>
</li>
<li>Changes made by Mark:
<ul>
<li>Table width bugfix</li>
<li>Set the topLevelElement for RtfImages added directly to the document</li>
<li>Fixed a bug with undefined styles in RTF</li>
<li>Added empty line between images in RTF</li>
<li>RtfImage: Corrected the scaling to mimick the pdf more precisely. If added directly to the document includes a finishing new-line</li>
<li>Added a switch to enable/disable unicode generation (RTF)</li>
<li>When filtering characters the alwaysUseUnicode switch in the RtfDocumentSettings is now observed.</li>
<li>Added methods to update the indentations in RtfParagraph</li>
<li>Correctly handle the indentation properties of Chapters and Sections. Improved match between pdf and rtf output.</li>
</ul>
</li>
<li>Changes made by Bruno:
<ul>
<li>bugfix: initialrotation wasn 't copied in the copy constructor of com.lowagie.text.Image</li>
<li>Made the toString() of class com.lowagie.text.Rectangle more verbose</li>
<li>Added a class com.lowagie.text.markup.WebColors</li>
<li>Added some methods to MultiColumnText for arabic and RTL text.</li>
<li>When using a MultiColumnText with only 1 column, the currentY of the PdfDocument is no longer the total available width (triggering a new page every time a ColumnText is added), but it is changed according to the space used by the MultiColumnText.
In other words: you can now use MultiColumnText as if it was a Paragraph object (which is handy if you need R2L or BiDi).</li>
<li>Added a static method to PdfEncryptor, to get a verbose explanation of the permissions</li>
<li>Bugfix: PageModeUseOC and PrintScalingNone had the same value.</li>
<li>The PDF version is set to 1.6 automatically when the userunit is changed</li>
<li>Changes in the Toolbox:
It now contains an About MenuItem that points to a page explaining the tools.
The tools are now in different categories.</li>
<li>As suggested by Carsten Hammer: 'Help 'is moved to the right;
new internal windows are shown with an offset and have setSelected(true).</li>
<li>Burst-tool: SinglePages was renamed to Burst; the new PDF-filenames now get leading zeros in the sequence number,
so that they are in the right order when sorted alphabetically.</li>
<li>New HtmlBookmarks tool that allows you to generate an HTML with links to the bookmarked pages of a PDF</li>
<li>New InspectPdf tool: tool that gives you some info about a PDF.</li>
<li>New tool to make a PhotoAlbum PDF with all the images of a given directory</li>
<li>New tool to copy selected pages of an existing PDF file into a new one</li>
<li>Added a CvsLogParser to help me make the history.html file for every new release</li>
</ul>
</li>
</ul>
</li>
<li>2005-07-29: iText 1.3.2
<ul>
<li>Changes made by Paulo:
<ul>
<li>Annotations in Image now work everywhere</li>
<li>PdfContentByte.addImage() didn't respect layers</li>
<li>PdfContentByte.addImage() draws the borders</li>
<li>Dpi fix in BmpImage</li>
<li>Support for inline images (all colorspaces)</li>
<li>Better CCITTG4Encoder</li>
<li>Support for TIFF images rotated</li>
<li>Support for some jpeg tiff images. Very incomplete.</li>
<li>Fix in List: float parsing instead of int parsing</li>
<li>Fix in checkboxes with the same name but different appearances</li>
<li>Codabar fix, B and C were switched</li>
<li>Make Arabic Diactrics (tashkeel) have zero advance</li>
<li>Added support for Type3 fonts</li>
<li>Signature fields can't be exported</li>
<li>Signing empty fields didn't keep the flags</li>
<li>Self sign doesn't need to extend size</li>
<li>Fix for DSA signatures</li>
<li>MultiColumnText page position didn't update after page 1</li>
<li>PdfCopyFields: fix for PDFs with null elements in the /CO array</li>
<li>PdfFormField.setFieldName() is only set if not null</li>
<li>Password field and choice field fix</li>
<li>PdfDictionary: CRLF correction</li>
<li>Embedded files: set the length information</li>
<li>Fix in constructor PdfReader(PdfReader)</li>
<li>Workaround for pdfs with broken bookmark dictionary</li>
<li>Daylight Savings Time is taken into account when creating a date</li>
<li>Waiting Image in the last page was not placed</li>
</ul>
</li>
<li>Changes made by Mark:
<ul>
<li>Bugfixes in the RtfList to correctly handle indentations, nesting &gt; 2.</li>
<li>Bugfixes in the RtfFont so that it can be used like a true Font and also so 
that UNDEFINED properties are handled more cleanly.</li>
<li>Bugfixes in the RtfAnchor to use the Anchor.reference instead of the url 
Method.</li>
<li>Bugfixes in the RtfTable to match the PDF output more precisely.</li>
<li>New Class RtfTotalPageNumber.</li>
<li>The user can set whether soft or hard linebreaks should be generated for  "\n".</li>
</ul>
</li>
<li>Changes made by Bruno:
<ul>
<li>Made the method getVersion final so that it can't be changed by subclassing</li>
<li>Applied suggestions made in bugreport #1227749 concerning JDK 1.3 compatibility</li>
<li>Avoiding NullPointerExceptions in Phrase (not sure if this is a good thing)</li>
<li>Changed spacing in SimpleTable/SimpleCell classes</li>
<li>Added the UserUnit entry to the PdfPage dictionary. A user unit is 1/72 inch by default, but you can now change it from 1 to 75,000</li>
<li>Added Watermarker plugin (Carsten Hammer)</li>
<li>Txt2Pdf: implemented suggestion by Carsten Hammer</li>
</ul>
</li>
</ul>
</li>
<li>2005-05-11: iText 1.3.1
<ul>
<li>fixed a pagenumber problem in PdfStamper</li>
<li>applied a bugfix by Paulo regarding backgrounds covering strikethroughs in Chunks</li>
<li>Some new tools for the Toolbox</li>
<li>Experimenting with Table: convert com.lowagie.text.Table to com.lowagie.text.pdf.PdfPTable or use new classes SimpleTable and SimpleCell?</li>
<li>Fixed a border bug when TableCells span multiple pages.</li>
<li>Started writing a new parser that is able to read CSS markup (not yet finished!!!).</li>
<li>Mark Horsfield suggested a change to the PageSize object:
he needed a map with all the pagesizes and their description.
I didn't use the code contribution, but made a PageSizeArgument
that can be used to obtain such a map.</li>
<li>fixed bug #786427: endless loop adding table with cell longer than 1 page</li>
<li>bugfix in class Table by Peter Hodgkinson (dangerous float comparison)</li>
</ul>
</li>
<li>Early Access release by Paulo Soares (itext-paulo-154)
<ul>
<li>CCITTG4Encoder.java has a bug somewhere that for some patterns causes
an out of memory exception. The bug is not corrected but an exception
is thrown early on and the JVM is not brought down.</li>
<li>revised hyphenation. The XML FOP hyphenation patterns are now used
directly. I've included all the patterns in itext-hyph-xml.jar but
some of them may be GPL or not usable for commercial purposes so,
read the licenses and decide what to keep.</li>
<li>added a new constructor PdfReader(RandomAccessFileOrArray raf, byte ownerPassword[]).
Contrary to the other constructors only the xref is read into memory.
The reader is said to be working in "partial" mode as only parts of the pdf
are read as needed. The memory needs can be tiny.</li>
<li>fixed a bug in ColumnText with columns with zero width.</li>
<li>added simple background image support in signatures.
There was a contribution by Cesar jz for this but the implemented
solution is more generic and puts the image in the n2 layer instead
of the n0 layer as recommended for Acrobat 6 and later.</li>
<li>added print scaling, a new viewer preference, in PdfWriter.</li>
<li>added a workaround for symbolic true type fonts that have incorrect cmaps.</li>
</ul>
</li>
<li>updates to the RTF package by Mark Hall<ul>
<li>Bugfix in the RTF row handling code</li>
<li>Support for the background colour in the Chunk</li>
<li>Support for additional font styles in RtfFont. This includes support for 
text hiding.</li></ul></li>
</ul>
</div><br/><a name="V130">iText 1.3</a> (Stable release based on iText1.2.4)<div class="small">
<ul>
<li>iText 1.3
<ul>
<li>Rearranged the tutorial and completed the first four parts (except for some less important chapters)</li>
<li>Added a Toolbox Java WebStart application with tools to encrypt PDF, make DVD Covers, convert txt to pdf,...</li>
<li>Support for margins in XML Handler by Reza Nasiri</li>
<li>New class com.lowagie.tools.Executable by Roger Mistelli and Bruno Lowagie</li>
<li>MultiColumnText: endless loop fix by Steve Appling; Right to Left Columns by Bruno Lowagie</li>
<li>Added some LINE_JOIN constants to PdfContentByte</li>
</ul>
</li>
<li>2005-03-21: iText 1.2.4
<ul><li>suggestion by Marc Campforts to remove a carriage return when adding images.</li>
<li>support for pagesize and orientation in the XML package (update by Samuel Gabriel)</li></ul>
</li>
<li>2005-03-14: paulo 153<ul>
<li>added the class PushbuttonField to create pushbutton fields.</li>
<li>added the class RadioCheckField to create radio and check fields.</li>
<li>added support for eps images. Support is very basic but it should be useful for simple logos. Contribution by Carsten Hammer.</li>
<li>the package com.lowagie.text.pdf.wmf was moved to com.lowagie.text.pdf.codec.wmf</li>
<li>fixed BaseFont.getAscent().</li>
<li>FdfReader supports all the encoding</li>
<li>a few more submit constants added to PdfAction.</li>
<li>added PdfAnnotation.setHighlighting().</li>
<li>modified PdfAnnotation.setMKIconFit().</li>
<li>added support for PostScript XObject. See PdfContentByte.addPSXObject() and the class PdfPSXObject.</li>
<li>fixed a bug in PdfPTableEvent for tables with headers.</li>
<li>added support for open actions in PdfStamper.getWriter().</li>
<li>added support for replies in comments in PdfStamper.addComments().</li>
<li>TextField refactoring.</li>
<li>XfdfReader supports nested fields.</li>
<li>fixed a problem in List for list numbering. Contribution by Jurij Bilas</li>
</ul></li>
<li>Updates by Mark Hall:<ul>
<li>bug fixed when adding Tables that have cell and rowspanning Cells in the same Row.</li>
<li>support for Leading in Phrase and Paragraph</li>
<li>support for SpaceBefore and SpaceAfter in Paragraph</li>
<li>Remark: In a few cases code will have to be updated due to these new capabilities:
<ul><li>If you use the default Phrase constructor then the default leading of 16pt 
will now be respected. Solution: Either specify the desired leading or use a 
Paragraph.</li>
<li>If you are using Table.addCell("Test") then these cells will also have a 
leading of 16pt since the addCell(String) method uses the default Phrase 
constructor. Solution: Either use a Phrase with the desired leading or a 
Paragraph.</li></ul></li></ul></li>
<li>2005-02-17: iText 1.2.3<ul>
<li>Added a header to some source files that were missing the MPL information</li>
<li>Bug discovered by Mark-Jan Nederhof, fixed by Paulo: getAscent in BaseFont</li>
<li>Fixes and updates to RtfWriter2 by Mark Hall<ul>
<li>Fixed the fitspage problem with thanks to Jon Strabala.
The RtfWriter2 now fully supports both Table.tableFitsPage() and Table.cellsFitPage().
As a side effect support for the keeptogether property of Paragraph has also been added.</li>
<li>Fix for incorrect table widths.</li>
<li>Fix for RtfPageNumber and other field not showing in tables.</li>
<li>Super/Subscript should now always work.</li>
<li>Support for writing the temporary data that is generated during document 
generation to a file, instead of keeping it in memory. This should reduce the 
memory footprint when generating large documents (there is a speed decrease). 
Currently the default is to keep the document in memory and you have to 
specify if you want to use a temporary file.</li>
<li>Added documentation in the tutorial explaining the disk caching</li>
</ul></li>
<li>2005-02-11: paulo 152<ul>
<li>added AcroFields.getFieldType().</li>
<li>PdfReader gets the number of pages from the pages and not from the top level page count. It also attempts to fix the doc if both values disagree.</li>
<li>Fixed AcroFields.getAppearanceStates() that threw a class cast exception.</li>
<li>PdfWriter.DOCUMENT_CLOSE was changed from /DC to /WC. It's not documented but it's what works in Acrobat.</li>
<li>PdfStamper.getWriter().setAdditionalAction() is now supported.</li>
</ul></li></ul>
</li>
<li>2005-01-31: iText 1.2.2
<ul><li>Avoiding a NullPointerException in Phrase (bugfix by August Detlefsen)</li>
<li>Binary transparency worked for GIFs, not for all PNGs (bugfix by Chris Nokleberg)</li>
<li>CreationDate doesn't throw an exception in RTF anymore (bugfix by Thomas 'taqua')</li>
</ul>
</li>
<li>2005-01-29: paulo 151
<ul><li>MultiColumnText supports column continuation and column skipping.</li>
<li>PdfGraphics2D supports the start position in TexturePaint. Contibution by Chris Nokleberg.</li>
<li>PdfReader reads correctly files with hybrid xrefs.</li>
<li>PdfStamper deals correctly with files with hybrid xrefs in append mode.</li></ul>
</li>
<li>2005-01-24: paulo 150<ul>
<li>fixed the reading of some field names</li>
<li>added the option "textfont" in AcroFields.setFieldProperty() to set a new font in a field.</li>
<li>added support for Type 1 fonts described by *.pfm.</li>
<li>fixed a bug in PdfGraphics2D with rotated fonts.</li>
<li>added PdfStamper.insertPage() to insert a blank page in an existing document.</li>
<li>fixed an exception in PdfStamper in append mode and full compression.</li>
<li>performance improvement in Type 1 fonts.</li>
<li>fixed Anchor to also work in ColumnText and PdfPTable.</li>
</ul>
</li>
<li>2005-01-11: paulo 149 - iText 1.2.1<ul>
<li>fixed a bug that broke PDF 1.5 compression. The bug was introduced in itext-paulo-144.</li>
<li>fixed PdfCopy to not throw an exception with acroform that is not indirect.</li>
<li>fixed PdfGraphics2D to match the pdf text width with the awt text width.</li></ul></li>
<li>Rtf bugfixes by Mark Hall<ul>
<li>solved a problem with the way fonts are propagated form RtfPhrase to RtfChunk</li>
<li>fixed a bug in the way fonts were handled that derive from a BaseFont. The BaseFont is now no longer ignored.</li>
<li>solved problems with setTextRise() and anchors</li></ul></li>
</ul>
</div><br/><a name="V120">iText 1.2</a> (based on paulo's releases 143 - 148)<div class="small">
<ul>
<li>2005-01-06: paulo 148<ul><li>new OCG layer interface with parent/child relationship, zoom, radio groups, etc.</li>
<li>fix in XfdfReader to close the file.</li>
<li>added some extra javadoc comment and corrected a typo here and there (image copy constructor, PdfAnnotation.createSquareCircle,...)</li>
</ul></li>
<li>2004-12-29: paulo 147<ul><li>added full support for Optional Content Groups (OCG) also known as
layers. This covers not only the content streams but also annotations and
XObjects.</li>
<li>added PdfAction.setOCGstate()</li>
<li>fixed ColumnText.showTextAligned() to put the activation rectangle
in the right place if the rotation is 0.</li>
<li>fixed in AcroFields setting combo fields with /Opt values.</li></ul></li>
<li>2004-12-26: paulo 146 - 2004-12-27: iText1.1.4<ul>
<li>removed PdfArray.add(PdfArray) that broke iText in many places. Bug
introduced in itext-paulo-144/iText1.1.3.</li>
<li>signatures with hash algorithms described as signature algorithms will
be correctly verified.</li>
</ul></li>
<li>2004-12-24: paulo 145 - 2004-12-25: iText1.1.3<ul>
<li>Added the ability to generate soft linebreaks. This is currently only used 
when list items contain linebreaks.</li>
<li>Fixed a bug with list indentations. Multi-line list items should now be 
correctly indented.</li>
<li>implementation of the methods pause() and resume() in RtfWriter and RtfWriter2</li>
<li>Chunk.BACKGROUND takes value Chunk.SUBSUPSCRIPT into account</li>
<li>Some extra functionality in class Chunk:
static final Chunk.NEXTPAGE,
simple setUnderline method,
getWidthPoint to retrieve the width of a Chunk in points</li>
<li>added AcroFields.getBlankSignatureNames().</li>
<li>optimization fix in BarcodePDF417.</li>
<li>fixed the keep together in paragraphs and list in ColumnText.</li>
<li>PdfCopyFields keeps the calculation order.</li>
<li>added support to signature verifying with authenticated attributes.</li>
<li>added PdfSignatureAppearance.setSignatureEvent() to support signature dictionary modification.</li>
<li>added support to add comments from FDF in PdfStamper.</li>
<li>PRStream will close the stream if it was not initially open.</li></ul>
</li>
<li>2004-12-14: paulo 144 - 2004-12-16: iText1.1.2<ul>
<li>Some more Table changes by Steve Appling on top of itext-paulo-144</li>
<li>Lots of changes in the comment sections: all warnings given by javadoc
and some of the warnings given by Eclipse.</li>
<li>added support for multiple signatures, revision information and extraction.</li>
<li>AcroFields can set fields without a /DR key in the original PDF.</li>
<li>AcroFields can cache the appearance parsing for a 10 fold speed increase in filling the same PDF multiple times with different values. Contribution by Robert Mueller.</li>
<li>added AsianFontMapper to aid with CJK in Graphics2D. Contribution by Takenori.</li>
<li>fix in BarcodeEAN.createAwtImage() for EAN8.</li>
<li>fix in the list indentation in ColumnText.</li>
<li>More fixes to Table and associated classes by Steve Appling.</li>
<li>fixed a bug with splitting rows in PdfPTable.</li>
<li>new defaults in PdfPTable for splitRows and splitLate. It was splitRows=false
and splitLate=false. It's now splitRows=true and splitLate=true. It doesn't
have any impact if using the defaults. This is done to avoid row dropping.</li>
<li>PdfSignatureAppearance supports other fonts and RTL. It's also
possible to have just 2 layers as in Acrobat 6.0 and later.</li>
<li>fix in PdfStream.writeLength() to put the length as a not compressed object.</li>
</ul></li>
</ul>
<ul>
<li>Bruno removed some 'import' statements (based on Eclipse warnings)</li>
<li>2004-11-29: paulo 143 - iText 1.1.1<ul>
<li>when form filling, eliminated an extra vertical space that prevented the text to fit in the field.</li>
<li>added in BaseFont: getDescent(), getAscent() and getCharBBox().</li>
<li>added PdfContentByte.createPrinterGraphics(). Contribution by Alexandru Carstoiu.</li>
<li>fixed PdfLine.getAscender() for images. Contribution by Steve Appling.</li>
<li>PdfPKCS7 can sign authenticatedAttributes. See <a href="http://itextpdf.sourceforge.net/howtosign.html#signextdicattrib">HOW-TO SIGN</a>.</li>
<li>fixes in duplicating PdfPTable. Contribution by Steve Appling.</li>
<li>fix in PdfReader to read /Pages with empty /Kids.</li>
<li>added PdfSignatureAppearance.setContact().</li>
<li>PdfSpotColor was changed to allow external separations.</li>
<li>added support for transitions and page actions to PdfStamper.</li>
</ul></li>
</ul>
</div><br/><a name="V110">iText 1.1</a> (based on Paulo's version 129-142)<div class="small">
<ul><li>paulo 142 (2004-11-15)<ul>
<li>all the cvs changes except BuildSite.java.</li>
<li>the methods related to the MK dictionary were moved from PdfFormField to PdfAnnotation.</li>
<li>new constructor PdfStream(InputStream,PdfWriter) to create streams without temporary arrays. PdfFileSpecification.fileEmbedded() can now create arbitrarily big attachments.</li>
<li>changed the interface to the creation of external signatures mainly to support the ncypher dse200.</li>
</ul></li>
<li>paulo 141 (2004-11-10)<ul>
<li>all the current CVS changes</li>
<li>fixed a bug in PdfStamper with form flattening and fields added</li>
<li>PdfStamper will keep the acroform even if flattening. The acroform can also be used by other annotations to keep the resources</li>
<li>added support to read from an InputStream in RandomAccessFileOrArray, PdfReader and FdfReader.</li>
<li>fixed a bug in PdfDocument that caused in certain cases an empty page to be output when an image didn't fit the page.</li>
<li>fixed PdfAnnotation.createScreen() to suppport embedded multimedia files</li>
<li>SimpleBookmark can read some broken outlines. Contribution by ujihara.</li>
<li>the SplitCharacter interface was changed. This was done to open the way to more sophisticated splitting algorithms that require character look ahead.</li>
</ul></li>
<li>paulo 140 (2004-11-06)<ul>
<li>AcroFields.setFieldProperty() has the new properties bgcolor and bordercolor.</li>
<li>AcroFields.signatureCoversWholeDocument() will work for any range</li>
<li>BarcodeEAN128 class was removed. All the existing functionality and much more was moved to Barcode128. Barcode128 now also supports the AI alphanumerics and can be set as simply as "(01)00000090311314(10)ABC123(15)060916", the FNC1 will be placed at the right places.</li>
<li>added subset capability to CFF fonts. Contibution by Oren Manor and Ygal Blum from Tel Aviv University.</li>
<li>PdfAnnotation.setAppearance() accepts a PdfTemplate.</li>
<li>added PdfAnnotation.setRotate().</li>
<li>several fixes to the cellspacing problems in Table. Contribution by Steve Appling.</li>
<li>changed PdfDate(GregorianCalendar) to PdfDate(Calendar)</li>
<li>MultiColumnText is written to PdfWriter.getDirectContent().</li>
<li>fixed a bug in PdfFormField.mergeResources().</li>
<li>PdfFormField.getMKColor() was made public.</li>
<li>fixed a bug with image transparency in PdfGraphics2D.</li>
<li>PdfPKCS7 support an external signature.</li>
<li>added PdfSignatureAppearance to support visible signatures and external signatures.</li>
<li>PdfStamper.createInvisibleSignature() was replaced with PdfStamper.createSignature() with different parameters.</li>
<li>PdfStamper supports adding form fields.</li>
<li>PdfString.setWritingMode() was replaced with PdfString.setHexWriting().</li>
<li>fix in PdfPKCS7 for buggy SunPKCS11 providers. Contribution by Robert Esterer.</li>
<li>fixed a bug in PdfStamperImp for partial form flattening and fields without appearances.</li>
</ul></li>
<li>paulo 139 (2004-10-06)<ul>
<li>added the current RTF changes in the CVS including RtfWriter2. Vector was changed to ArrayList to make it easier to work in jdk 1.1.</li>
<li>ICC profiles in TIFF files are checked for the correct colorspace.</li>
<li>added support for text fields of type COMB.</li>
<li>the length of the text field is not checked in the appearance, only in the value.</li>
<li>added the choice of provider in signatures. Contribution by Hes Siemelink.</li>
<li>added the possibility of having a temp file in signatures instead of doing everything in memory.</li>
<li>added awt image output for barcode postnet.</li>
<li>added setUseAscender() in ColumnText and PdfPCell. Contribution by Steve Appling.</li>
<li>fixed a bug in ColumnText.addText() that ignored the first Phrase.</li>
<li>several bug fixes in Table. Contribution by Steve Appling.</li>
<li>PdfGraphics2D has the option of converting all the images to JPEG. Contribution by Bill Ensley.</li>
<li>spacing before/after works with ListItem. Contribution by Christian Lauer.</li>
<li>fitsPage() works correctly for PdfPTable. Contribution by Christian Lauer.</li>
<li>added support for multi-column text with Document.add(). Contribution by Steve Appling.</li>
<li>added a getter for the current vertical page position in PdfWriter. Contribution by Christian Lauer.</li>
<li>added html style borders to Table and PdfPTable. Contribution by Steve Appling with Barry Richards and Prabhakar Chaganti.</li>
<li>fixed some rounding problems in PdfPRow.</li>
<li>fixed the copy of skipFirstHeader when cloning PdfPTable.</li>
<li>added PdfPTable.deleteBodyRows().</li>
<li>fixed a bug in PRTokeniser when rebuilding the xref. Contribution by Sid Steward.</li>
<li>added the possibility in Chapter/Section of having a bookmark title different from the content title.</li>
</ul></li>
<li>paulo 138 (2004-09-17)<ul>
<li>added the current rtf changes in the cvs</li>
<li>fixed AcroFields.setFieldProperty() for some field constructions.</li>
<li>optimized the speed and memory use of PdfPTable for cells with a simple Phrase.</li>
<li>added a new constructor PdfPCell().</li>
<li>fixed in ColumnText the indent spacing of List.</li>
<li>fixed in ColumnText the handling of PdfPTable.spacingBefore().</li>
<li>fixed a bug in PdfDocument that prevented the spacingBefore for the first Paragraph in the page.</li>
<li>fixed in PdfPRow a height rounding bug.</li>
<li>fixed a null pointer bug in PdfTable. Contribution by Steve Appling.</li>
</ul></li>
<li>paulo 137 (2004-09-08)<ul>
<li>added a generic line dash function in PdfContentByte.</li>
<li>fixed a bug that caused the text to be overlapped with a PdfPTable.</li>
<li>fixed a concurrency problem in TrueTypeFontUnicode. Contribution by Adrian Pronk.</li>
</ul></li>
<li>paulo 136 (2004-08-30)<ul>
<li>fixed a bug in PdfCopyFieldsImp in the copy of the resources to the /DR key.</li>
<li>fixed a bug in PdfPCell when the only element is a Graphic.</li>
<li>added PdfDate.decode() to decode a String into a Calendar.</li>
<li>added support for invisible pdf signatures. Documents can be signed and verified. The supported modes are self signed, verisign and Windows certificate signature. See the javadoc for PdfStamper.createInvisibleSignature() and AcroFields.verifySignature(). For jdk 1.4.x you already have all that is needed but for jdk 1.2.x and 1.3.x you'll need a JCE from http://java.sun.com/products/jce. Signatures are not supported with jdk 1.1.x.</li>
</ul></li>
<li>paulo 135 (2004-08-19)<ul>
<li>PdfPTable.skipFirstHeader() is working again.</li>
<li>Chunk.setHorizontalScaling() works with any text alignment.</li>
</ul></li>
<li>paulo 134 (2004-08-11)<ul>
<li>added support to merge XFDF forms. Contribution by Leonard Rosenthol.</li>
<li>ColumnText and PdfPCell also supports Graphic. Mainly useful to put an horizontal line.</li>
<li>new mode of splitting long rows in PdfPTable. The old method left too much blank spaces in the page, now the row is always split. Added PdfPTable.splitLate() to keep the old behavior.</li>
<li>fixed in SimpleXMLParser: attributes where converted to lower case in xml and end tags may have whitespace before the '&gt;'.</li>
<li>Graphic may have the horizontal line aligned.</li>
<li>added Chunk.setHorizontalScaling(). It doesn't work yet with justified text.</li>
<li>fixed a problem in PdfReader with indirect references to inexisting objects.</li>
</ul></li>
<li>paulo 133 (2004-08-04)<ul>
<li>added support for PDF 1.5 compression with object streams and xref streams</li>
<li>AcroFields will use the opts array when reading fields</li>
<li>ColumnText and PdfPCell supports text only Paragraph, text only List, Image and PdfPTable.</li>
<li>PdfPTable can split long rows, be it text or nested tables. The contribution from Daniel Smith was removed as it is covered here.</li>
<li>PdfCopyFields will keep the tab order.</li>
<li>fixed a problem in PdfReaderInstance with pages with null contents.</li>
<li>SimpleXMLParser will parse HTML.</li>
<li>TrueType fonts converted from the MAC can be read (not all).</li>
<li>the symbol indent from List was changed to float. Shouldn't have much impact and will be caught at compile time in any case.</li>
</ul></li>
<li>paulo 132 (2004-06-21)<ul>
<li>added fdf export capabilities in AcroFields</li>
<li>DefaultFontMapper also maps the postscript font name</li>
<li>added encryption in PdfCopyFields</li>
<li>added page selection in PdfReader and PdfCopyFields</li>
<li>fixed a timezone bug in PdfDate.</li>
<li>added support for mirroring margins. Note that it won't work with Table.</li>
<li>fixed a problem with floating annotations placed with Document.add().</li>
<li>added support for setting the viewer preferences in PdfReader and PdfStamper. It's also possible to read the viewer preferences in PdfReader.</li>
<li>added BaseFont.setKerning().</li>
<li>refactored some nested classes to be static.</li>
</ul></li>
<li>paulo 131 (2004-05-12)<ul>
<li>removed the icc profiles from bw tiff images.</li>
<li>the properties files for cjk fonts are only searched once.</li>
<li>PdfContentByte.roundRectangle() fixed to allow negative values.</li>
<li>fixed a problem with indirect references in PdfCopyfieldsImp.</li>
<li>added an optimization to break Table. Contribution by David Carmona Perez.</li>
<li>added PdfPTable row break capability with nested tables. Contibution by Daniel Smith.</li>
<li>fixed a problem in PdfLine that could create null Chunk.</li>
<li>added a nested Table enhancement. Contibution by Jason McGrath.</li>
<li>PdfReader will try even harder to read a damaged PDF.</li>
<li>fixed positive descenders in TT fonts.</li>
<li>added DisplayDocTitle to the viewer preferences</li>
<li>all the CVS changes to date.</li>
</ul></li>
<li>paulo 130 (2004-03-31)<ul>
<li>added tab order information to AcroFields</li>
<li>added BaseFont.setPostscriptFontName() to change the font name</li>
<li>added PdfContentByte.setDefaultColorspace().</li>
<li>added global javascript support to PdfCopy, PdfCopyFields and PdfStamper.</li>
<li>added bookmark support to PdfCopyFields.</li>
<li>removed the checked exception from PdfStream.flateCompress().</li>
<li>added to PdfReader: getBoxSize(int,String), getPageContent(int), getStreamBytes(PRStream), getJavaScript(RandomAccessFileOrArray), getJavaScript().</li>
<li>added PDF/X-1a:2001 and PDF/X-3:2002 support with PdfWriter.setPDFXConformance(). Some compliance checks are made when adding an object.</li>
<li>added PdfWriter.setOutputIntents(). The output intents can also be imported from an existing PDF.</li>
<li>added PdfWriter.setBoxSize() and PdfWriter.setDefaultColorspace().</li>
<li>PdfWriter.setExtraCatalog() was removed. Use PdfWriter.getExtraCatalog().</li>
<li>PdfReader and BaseFont support reading from files described as an URL. Reading a font like "http://server.com/myfonts/arial.ttf" will work.</li>
<li>added Font.setStyle(int).</li>
<li>added Paragraph spacing before and after. Contribution by Maarten.</li>
</ul></li>
<li>paulo 129 (2004-03-10)<ul>
<li>fixed some compatibility issues with jdk 1.5 and J++.</li>
<li>fixed the dpiy with tiff images.</li>
<li>correct processing with fields with the /Opt key.</li>
<li>added AcroFields.setFieldProperty() to set properties like flags and text color.</li>
<li>fixed AcroFields.removeFieldsFromPage().</li>
<li>added support to use existing document fonts in PdfStamper. Will not work every time.</li>
<li>fixed a colorspace bug with images with smasks.</li>
<li>added PdfPTable.setLockedWidth() to lock the width when adding with Document.add().</li>
<li>fixed a bug in PdfReader when reading content. (already fixed in 1.02b)</li>
<li>another hack to read broken PDFs.</li>
<li>optimized PdfStamper. The streams are not decoded/encoded but added to an array.</li>
<li>SimpleBookmark is more lenient with broken bookmarks.</li>
</ul></li></ul>
</div><br/><a name="V102">iText 1.02 (b)</a> (based on paulo's version 127-128)<div class="small">

<ul>
<li>Extra update 1.02b: bugfix in PdfReader by Paulo Soares</li>

<li>paulo 128<ul>
<li>changed FontFactory to register the fonts faster. TTC fonts register all the names.</li>
<li>added the methods in AcroFields: renameField, getFieldPositions, removeField, removeFieldsFromPage.</li>
<li>added support for arabic number conversion, forced or contextual.</li>
<li>improved font resource loader. If you have a security manager running even with "AllPermissions" remember to also grant RuntimePermission("ClassLoader").</li>
<li>added methods to PdfAction: createLaunch, gotoLocalPage, gotoRemotePage.</li>
<li>fixed a bug with PdfGraphics2D.drawRenderedImage().</li>
<li>PdfIndirectReference was made public.</li>
<li>several changes to PdfReader: PRAcroForm is only calculated if needed, only the reachable objects are read, added the methods removeFields and removeAnnotations.</li>
<li>fix to PdfReader to support pages without contents.</li>
<li>added partial form flattening to PdfStamper.</li>
<li>in SimpleBookmark the names with codes below 32 are escaped.</li>
<li>TextField.getAppearance() was made public.</li>
<li>added support for OTF fonts with CFF glyphs and Identity-H encoding. Contribution by Sivan Toledo (stoledo@tau.ac.il).</li>
</ul></li>

<li>paulo 127<ul>
<li>PangoArabicShapping was renamed to ArabicLigaturizer.</li>
<li>added more support for arabic Urdu ligatures and fixed a bug with lam-alef ligatures.</li>
<li>added support for screen renditions. Contribution by Galo Gimenez.</li>
<li>added support for custom encoding with ExtraEncoding and PdfEncodings.addExtraEncoding().</li>
<li>new encodings available: "Symbol", "ZapfDingbats" and "Wingdings". This encodings map the Unicode characters to this fonts, where possible.</li>
<li>added Chunk.setUnderline() to set underline lines at arbitrary positions.</li>
<li>added Font.getCalculatedBaseFont() and Font.getCalculatedStyle().</li>
<li>added the class FontSelector to select fonts based on their Unicode coverage.</li>
<li>FontFactory catches exceptions when reading directories.</li>
<li>added AcroFields.getAppearanceStates() to get the names allowed with radio and checkbox fields.</li>
<li>added PdfReader.getAcroFields() to get the field info without using PdfStamper.</li>
<li>added BaseFont.charExists() and BaseFont.setCharAdvance().</li>
<li>changed DefaultFontMapper to be case insensitive with system font names. Other system font name aliases were added.</li>
<li>fixed a problem with resource name colisions when importing PDFs with shared page resources.</li>
<li>fixed a problem with adding only fields without appearances.</li>
<li>added specifific support for patterns in PdfGraphics2D.</li>
<li>removed the /Colorspace key if the image is a mask.</li>
<li>another hack to read broken PDFs without a media box.</li>
<li>fixed a bug with setting the PDF version in PdfStamper.</li>
<li>symbolic fonts with Identity-H are also mapped in \uf0xx.</li>
<li>added Table.setDefaultLayout().</li>
<li>fixed a limit situation in PdfCell.getLines(). fixed auto font size for single line text fields in TextField.</li>
<li>added extended support for barcodes 128 with BarcodeEAN128. Contribution by Emmanuel Hugonnet.</li>
<li>added direct support for TexturePaint in PdfGraphics2D</li>
<li>corrected GradientPaint direction and general paint scaling in PdfGraphics2D. Contribution by Emmanuel Deviller.</li>
<li>added support for bookmark manipulation in SimpleBookmark. It also has support for import/export to XML and page shifting and deleting.</li>
<li>concat_pdf now keeps the bookmarks.</li>
</ul></li>

</ul>

</div><br/><a name="V101">iText 1.01</a> (based on paulo's version 123-124-125-126)<div class="small">

<UL>
<li>paulo 126<ul>
<li>set the max number of lines in Cell.</li>
<li>added ALIGN_JUSTIFIED_ALL to justify the text including the last paragraph line. Use the attribute JustifyAll in XML.</li>
<li>added an explicit /DW for CJK fonts</li>
<li>fixed the reading of TIFF images without the ROWSPERSTRIP tag.</li>
<li>fixed a bug in PdfDocument for right aligned images.</li>
<li>changed PdfReader to provide information on the encryption flags.</li>
<li>changed PdfReader to provide information on the xref and trailer to facilitate the creation of updated documents.</li>
<li>fixed in PdfReader the reading of some 128 bit key encrypted documents.</li>
<li>fixed the flattening of documents that had pages without contents.</li>
<li>fixed the flattening of hidden fields.</li>
<li>fixed an exception with TrueType fonts without a kerning table.</li>
<li>better compliance for symbolic TrueType fonts.</li>
<li>fixed the rotation of text in WMF images when the extents were negative.</li>
<li>fixed the reading of images from byte array in RTF.</li>
<li>fixed a bug with nested Table.</li>
</ul></li>
<li>paulo 125<ul>
<li>added support for BMP in RTF.</li>
<li>removed the dependency on TextLayout for the bidi order levels. The awt toolkit is no longer needed for Arabic or Hebrew.</li>
<li>changed DocumentException to better track the stack trace.</li>
<li>some incorrect page sizes fixed in PageSize.</li>
<li>another hack to PdfReader. Reads files with pages without the /Page tag.</li>
<li>added PdfReader.createFakeFontSubsets(). Some producers, like Crystal Reports, create documents with subset fonts but without the correct prefix.</li>
<li>added bitmap support to WMF.</li>
<li>added ink spreading control to barcodes.</li>
</ul></li>
<li>paulo 124<ul>
<li>several changes made to ease the port to jdk 1.1</li>
<li>FontFactory registered directories using lower case names for files. This could fail in Unix.</li>
<li>fixed a bug in ColumnText that caused an infinite loop.</li>
<li>ColumnText can be duplicated. Useful to do simulations and write without having to load a new ColumnText.</li>
<li>added the constant FF_MULTISELECT in PdfFormField.</li>
<li>added opacity support in PdfGraphics2D. Colors with an alpha value will be translucid.</li>
<li>added a copy constructor to PdfReader.</li>
<li>added PdfReader.consolidateNamedDestinations to replaces all the local named links with the actual destinations.</li>
<li>added PdfReader.removeUnusedObjects to remove all the unreachable objects.</li>
<li>PdfStamper supports the addition of annotations. Adding new form fields is not yet supported.</li>
<li>the keys F and Ft are stored in the merged dictionary in PRAcroForm.</li>
<li>added createAwtImage() to the barcodes. The image is not used by iText but it's of use for other programs such as JasperReports.</li>
</ul></li>
<li>paulo 123<ul>
<li>Chunks with a background color can set the size of the background rectangle.</li>
<li>added ColumnText.getWidth() and ColumnText.showTextAligned() to facilitate the placing of complex text in PdfContentByte.</li>
<li>added PdfPCell.setUseDescender(). The height of the PdfPCell can optionaly be automatically extended to avoid the truncation of the last line descenders.</li>
<li>fixed TrueTypeFont to accept fonts with broken cmaps.</li>
<li>another hack to PdfReader. It now checks the length of streams and attemps to fix incorrect sizes.</li>
<li>added PdfReader.shuffleSubsetNames(). It finds all the font subset prefixes in the file and replaces them with new, random values.</li>
</ul></li>
<li>Mark Hall<UL>
<li>Fixed a NullPointerException.</li><li>Fixed a problem where Fonts and Colors only in header/footers weren't added to the document.</li>
</UL></li>
</UL>

</div><br/><a name="V100">iText 1.00</a> (based on paulo's version 119-120-121-122)<div class="small">

<UL>
<li>paulo 122<ul>
<li>the subset prefix is generated randomly. Acrobat has problems in inserting pages with fonts with the same prefix.</li>
</ul></li>
<li>paulo 121<ul>
<li>fixed a bug with indexed transparent PNG.</li>
<li>restored support for PNG and JPEG in RTF. Added support in RTF for WMF.</li>
<li>created several new list types (see the examples). Contribution by Michael Niedermair.</li>
<li>fixed a seek overflow for broken TIFF tags. Contribution by Anderson Bryan.</li>
</ul></li>
<li>paulo 120<ul>
<li>FontFactory register all the TTF names for the different locales.</li>
<li>added FontFactory.registerDirectory and FontFactory.registerDirectories.</li>
<li>the image types GIF and PNG were eliminated together with the classes gif and png. This images are now identified by IMGRAW. HtmlWriter was changed to support it. The RTF part will probably also have to be changed. The good news is that all the gif and png will open without the awt Toolkit.</li>
<li>fixed AcroFields to set the /V key only in the dictionary with the /T key.</li>
<li>symbolic TrueType fonts with Identity-H have a linear mapping.</li>
<li>TIFFFaxDEcoder fixed (again) to work with some damaged images. Contribution by Danox.</li>
<li>added support to read encrypted PDFs. Contribution by Kazuya Ujihara, the maker of the iText port to .NET.</li>
<li>fixed in PdfGraphics2D a problem with incorrect line widths with rotated transforms.</li>
<li>PdfGraphics2D.setTransform() now creates a copy.</li>
<li>PdfGraphics2D.drawImage() waits for the loading of the image to be drawn.</li>
<li>fixed PdfPTable.setWidthPercentage(float columnWidth[], Rectangle pageSize).</li>
<li>PdfStamper can set the output pdf version. If not set, the version of the original is kept.</li>
<li>fixed the LZW stream decoder to be more lenient with errors.</li>
<li>fixed the ASCII85 stream decoder to correct the output of the last bytes.</li>
<li>fixed in PdfReader the stream sharing problem that files created with Distiller 3.01 may have.</li>
<li>new constructor in Chunk for a single char.</li>
</ul></li>
<li>paulo 119<ul>
<li>all the changes in the official version 0.99</li>
<li>added FULL support for BMP images in com.lowagie.text.pdf.codec.BmpImage. Well, maybe not full but if anyone has any BMP with an alpha channel, CMYK or some other that this class cannot open but works with other viewer, I would like to see it.</li>
<li>The binary characters that follow the header were changed to match those generated by Acrobat.</li>
<li>PdfReader can read PDF files with garbage in the first 1024 bytes.</li>
<li>added fractional metrics support to Type1 fonts.</li>
<li>added support for AffineTransform in PdfContentByte. This will simplify the rotations and translations.</li>
<li>some more fixes in PdfGraphics2D regarding clipping paths.</li>
<li>added the 'Times-Roman' family to FontFactory. Only 'Times' was recognized.</li>
<li>TrueType fonts with the extension OTF can be used with Identity-H.</li>
</ul></li>
</UL>

</div><br/><a name="V099">iText 0.99</a> (based on paulo's version 114-115-116-117-118 + several contributions integrated by Mark Hall and Bruno Lowagie)<div class="small">

<UL>
<li>paulo 118<ul>
<li>images created from java.awt.Image and transparency always created an smask even in the most simple cases.</li>
<li>damaged JPG will not hang the program.</li>
<li>fixed incorrect constants in Barcode.java that affected code 128.</li>
<li>added FULL support for GIF images in com.lowagie.text.pdf.codec.GifImage.</li>
<li>All the frames are read and no X server is needed.</li>
<li>fixed the reading of TIFF files that have the fill bits option incorrectly set in the G3 encoding.</li>
</ul></li>
<li>paulo 117<ul>
<li>added dimensionless pixel aspect ratio in Image.</li>
<li>added opacity in Image for java.awt.Image.</li>
<li>added FULL support for PNG images with com.lowagie.text.pdf.codec.PngImage.</li>
<li>fixed a bug in PdfContentByte.remoteGoto().</li>
<li>fixes in PdfGraphics2D for null fonts and negative stroke widths.</li>
<li>class PdfLiteral was made public.</li>
</ul>
</li>
<li>paulo 116<ul>
<li>added transparency/opacity support</li>
<li>Image suports explicit smask.</li>
<li>ColumnText suports several options on how the arabic shaping is done.</li>
<li>DefaultFontMapper didn't read all the fonts in a TTC.</li>
<li>more refactoring in resource handling.</li>
<li>added PdfGState and PdfTransparencyGroup.</li>
<li>fixes in PdfGraphics2D in fonts, strokes and pies.</li>
<li>PdfCopy hanged on closing.</li>
<li>added PdfWriter.setLinearPageMode() to allow page reordering.</li>
</ul></li>
<li>paulo 115<ul>
<li>raw images can be palette based and already deflated.</li>
<li>AcroFields has the option of not generating the appearances. This is not recommended but may be useful for faster generation in controlled environments.</li>
<li>cached a font to speed up form filling.</li>
<li>PdfReader can read from an URL.</li>
<li>lifted the limit of 8192 pages. I tried with 200000 pages and worked well. Note that PdfCopy still has that limitation.</li>
<li>fixed the xref error in PdfStamper.</li>
<li>fixed the use of BW PNG for masks.</li>
<li>added support for TIFF images.</li>
</ul></li>
<li>paulo 114<ul>
<li>all of the content of the official 0.98</li>
<li>last version broke PdfCopy and PdfStamperImp</li>
</ul></li>
<li>Mark Hall<ul>
<li>method to get the alignment of a HeaderFooter object</li>
<li>RTF support for right indentation (contribution by Eric Mattes)</li>
<li>RTF alignment in HeaderFooter objects</li>
<li>RTF lists: bugfix</li>
<li>RTF code cleanup + some alignment constants were made public</li>
</ul></li>
<li>Bruno Lowagie<ul>
<li>Applied a patch sent by Xavier Le Vourch (optimalisation of the code and removal of dozens of Eclipse warnings)</li>
<li>Added some code contributed by Pelikan Stephan</li>
</ul></li>
</UL>

</div><br/><a name="V098">iText 0.98</a> (based on paulo's version 113)<div class="small">

<UL>
<li>added a new arabic shaper with farsi support.</li>
<li>FdfWriter will also output the fields from a PdfReader and AcroFields.</li>
<li>fixed PdfAcroForm for a problem when creating text fields. The /DA key was being generated incorrectly.</li>
<li>added a file attachment annotation.</li>
<li>the subtype for the ink annotation was wrong.</li>
<li>modified toPdf() method to write directly to the stream. OutputStreamCounter was created to aid.</li>
<li>added ModDate to the info dictionary.</li>
<li>added methods in PdfPTable to set absolute column widths.</li>
<li>added PdfReader.getMetadata() to get the XML metadata.</li>
<li>speed improvement in PdfReader.</li>
<li>fixed a bug in PdfStamperImp when stamping or flattening and the original page content didn't end in an whitespace.</li>
<li>added the ability to manipulate directly the catalog and the info dictionary in PdfWriter. Other methods where made public for ease of access to low level features.</li>
<li>Changes to RtfPageNumber by Mark Hall</li>
<li>some fixes by Finn Bock, for instance: solving the problem of JDK1.4 compilation and 1.3 use.</li>
</UL>

</div><br/><a name="V097">iText 0.97</a> (based on paulo's version 107 - 108 - 109 - 110 - 111 - 112)<div class="small">
<UL>
<li>paulo 112<UL>
<li>fixed a race condition in TrueTypeFont.java. The same file was used by all the threads instead of a new instance. Thanks to William Pennoyer for reporting the bug.</li>
</UL></li>
<li>paulo 111<UL>
<li>fixed a bug in AcroFields that prevented form flattening to work with fields with no appearances.</li>
<li>added FdfWriter to create FDF forms.</li>
<li>fixed PdfName to work with any characters.</li>
<li>changed Color.WHITE to Color.white to compile in jdk 1.3.</li>
<li>added rectangular print to PdfPTable. Useful to manage wide tables.</li>
<li>the fdfmerge and field_merge examples were changed to support writing to the console.</li>
<li>the constant Font.TIMES_NEW_ROMAN was eliminated and replaced by Font.TIMES_ROMAN to match the actual font used. The result is a compile error easily correctable. Compiled libraries depending on iText wont't change the behavior because the number is the same.</li>
<li>the alignment constants in PdfContentByte were changed to match the constants in Element. This breaks compiled libraries as the number has changed. A recompile is needed.</li>
</UL></li>
<li>paulo 110<UL>
<li>Added support for form filling, form flattening and FDF merging.</li>
<li>fixed FontFactory to recognize fonts where the family is not a substring of the full name.</li>
<li>added ColumnText.getLinesWritten().</li>
</UL></li>
<li>paulo 109<UL>
<li>fixed FontFactory to avoid simulating styles if a real font with the style was found.</li>
<li>fixed PdfAppearance to have the same font names as Acrobat for text fields.</li>
<li>fixed a bug introduced in the last version where the top and bottom cell borders were swapped.</li>
<li>fixed PdfCopy to avoid leaving files opened.</li>
<li>fixed PdfCopy to interpret correctly some objects when copying.</li>
<li>when adding annotations the page content for the current page will be generated. For other pages PdfWriter.setPageEmpty() was added to force a page output.</li>
<li>much better support for reading GIFs without AWT, including transparency. Contribution by Tim Bruylants.</li>
<li>fixed a bug in PdfWriter that prevented the fields to be added with PdfCopy, only the widget annotations were being added.</li>
<li>embedding font restrictions for TrueType are honored.</li>
<li>added TextField to create text, list and combo fields with all the options that the Acrobat GUI provides. All the borders, appearances, etc, are correctly generated including the standard and external fonts.</li>
</UL></li>
<li>paulo 108<UL>
<li>added class PdfStamper to add content to an existing pdf while preserving all the interactive attributes.</li>
<li>added simplified signature fields. Contribution by Finn Bock.</li>
<li>fixed negative page rotation in PdfReader.</li>
<li>the encoding in PdfString is automatically selected between Unicode and PdfDocEncoding.</li>
<li>added PdfPCellEvent to simplify cell customization.</li>
<li>fixed copying with WMF based images.</li>
<li>structure reorganization in PdfDocument and PdfWriter.</li>
<li>added new cmaps for extended CJK encodings like HK CSC. You'll need iTextAsianCmaps.jar. See ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/ for more details.</li>
<li>removed extra moveTo in PdfAcroForm.</li>
<li>fixed a missing break in PdfAction.</li>
<li>inverted the rectangle coordinates in several places to avoid negative dimensions.</li>
<li>fixed a problem with thick lines in Table.</li>
<li>Element.HEADER was changed to cast to Meta in PdfDocument.</li>
<li>fixed a wrong indentation in header/footer. Contribution by Edgar Perilla.</li>
<li>added support for AttributedCharacterIterator in PdfGraphics2D. Contribution by Jurij Bilas.</li>
</UL></li>
<li>paulo 107<UL>
<li>PdfGraphics2D now implements strokes as strokes instead as converted fills. File size is a lot smaller and it looks better on screen.</li>
<li>BaseFont and PdfReader read fonts and PDFs from resources if not found in the file system.</li>
<li>Images can auto-size in PdfPTable.</li>
<li>added new options in Chunk to simulate bold, italic and other effects. Styles BOLD and ITALIC will work correctly in Font with BaseFont producing simulated effects.</li>
<li>CID and hyphenation are restored in ColumnText.</li>
<li>minor fix in the GIF table size. In the next version I intend to get some JAI codecs integrated with iText to support natively all GIF and PNG (and maybe BMP).</li>
<li>fix in FontFactory for the embedded property and for TTC indexing.</li>
<li>fixed bug with single cell nested Table.</li>
<li>Unicode support for field names.</li>
<li>added the capability to change the info dictionary in PdfEncryptor. The command line program encrypt_pdf.java was also changed.</li>
<li>outlines are not generated in Chapter and Section if the title is empty.</li>
<li>added PdfWriter.setStrictImageSequence() to force images and text to appear in the order they were added to the document.</li>
<li>added BarcodePDF417 for the generation of the 2D barcode PDF417.</li>
<li>fixed PdfReader to work with /Encrypted key equal to 'null'. The document was being recognized as encrypted when it was not.</li>
</UL></li>
<li>Several updates to the RTF part of the library by <B>Mark Hall</B>.</li>
</UL>


</div><br/><a name="V096">iText 0.96</a> (based on paulo's version 104 - 105 - 106)<div class="small">

<UL>
<li>paulo 106<UL>
<li>added row grouping in Table. Contribution by <B>Gerald Fehringer</B>.</li>
<li>added support for the barcode CODABAR.</li>
<li>fixed a bug in ColumnText where the chunk backgroung color was on top of the text.</li>
<li>fixed a bug and added some changes in PdfContentByte.escapeString().</li>
<li>Document.addHeader() inserts arbitrary keys in the info dictionary.</li>
<li>fixed a bug in PdfPTable where a nested table didn't align vertically.</li>
<li>added support to concatenate and split pdf documents including fields and annotations. Contribution by <B>Leonard Rosenthol</B>.</li>
<li>added DocWriter.setCloseStream() to have the option of not closing the output stream on document close.</li>
</UL></li>
<li>paulo 105<UL>
<li>added xref rebuild capabilities to PdfReader. Slightly damaged PDFs will now read successfully. The rebuild strategy is the same as xpdf. A new method PdfReader.isRebuilt() was introduced to check if the document had to be fixed.</li>
</UL></li>
<li>paulo 104<UL>
<li>added kerning support in PdfContentByte.</li>
<li>fixed a bug in ColumnText when a Chunk had an empty string.</li>
<li>added additional actions in page objects.</li>
<li>fixed a bug in PdfGraphics2D when using create() and templates.</li>
<li>added support for colors and styles in outlines.</li>
<li>fixed a bug in imported pages when matrix was different than identity.</li>
<li>added support to free the memory used by PdfReader in PdfWriter.</li>
</UL></li>
<li>Several updates to the RTF part of the library by <B>Mark Hall</B>.</li>
</UL>

</div><br/><a name="V095">iText 0.95</a> (based on paulo's version 103)<div class="small">

<UL>
<li>added bidirectional support in ColumnText and PdfPTable for arabic and hebrew. Even with plain text the line splitting is improved. Hyphenation and CID addressed CJK fonts support were temporarily removed. (Paulo)</li>
<li>added support for ICC color profiles in images. Contribution by Phillip Pan.</li>
<li>added javascript support for html. Contribution by Joachim Eyrich.</li>
<li>fixed a bug in Graphic.drawBorder(). (Paulo)</li>
<li>imported pdf documents are closed even if an exception is thrown. (Paulo)</li>
<li>fixed a bug in CCITTG4Encoder. Some bit sequences threw an exception. (Paulo)</li>
<li>cjkfonts.properties and cjkencodings.properties are now together with the afm. (Paulo)</li>
<li>added transition support for pdf. Contribution by Josselin PUJO.</li>
<li>fixed the missing bookmarks in jdk 1.2. (Paulo)</li>
<li>improved suport for WMF (Paulo)</li>
<li>Borders of Table are drawn last so that Cell-backgrounds don't cover them anymore (Gerald Fehringer)</li>
<li>Some RTF improvements by Mark Hall</li>
<li>Added an encryption tool (Paulo)</li>
</UL>

</div><br/><a name="V094">iText 0.94</a> (based on paulo's version 102)<div class="small">

<UL>
<li>fixed a problem with multiple repeated images in Table</li>
<li>fixed the kerning in TrueTypeFont.java</li>
<li>PdfContentByte.showText(PdfTextArray text) was made public</li>
<li>added PdfContentByte.createGraphicsShapes(). Instead of using pdf fonts, only the shapes are used. The advantage is that the alignment is more precise and all Graphics2D text is allowed including arabic and hebrew. The disavantage is that the text is not searchable and the fonts look like type3 fonts (remember old tex-&gt;dvips-&gt;gs?)</li>
<li>more consistent setPageSize() in pdf.</li>
<li>added PdfWriter.setSpaceCharRatio(). Sets the ratio between the extra word spacing and the extra character spacing when the text is fully justified. This is also extended to ColumnText and PdfPCell for finer control</li>
<li>Some RTF bugfixes by Scott Dietrich</li>
<li>Small update by Marcelo Vanzin in the package com.lowagie.servlets</li>
<li>Some small changes to the XML package</li>
<li>Asian fonts are in a separate jar now. The AFM fonts are in the src as well as in the jar.</li>
</UL>

</div><br/><a name="V093">iText 0.93 (b)</a> (based on paulo's versions 97, 98, 99, 100 and 101)<div class="small">

<UL>
<li>Remark: iText0.93b fixes some problems with fonts: some of the fontfiles in 0.93 were corrupt.</li>

<li>Paulo 101:<UL>
<li>fixed a bug in PdfReader.getCropBox(). It was returning the media box instead of the crop box</li>
<li>added page and outline reordering. Mainly of interest to generate TOC in a single pass</li>
<li>deprecated PdfContentByte.addOutline(PdfOutline outline). The outlines are extracted from the root outline. It's no longer needed to call this method</li>
<li>changed the behavior for the margins in PDF. Margins now work as the page size: are only active in the next page. Will break some code but it didn't work as it was, anyway</li>
</UL></li>

<li>Paulo 100:<UL>
<li>Added PdfEncryptor to encrypt any PDf document. All the content, links, outlines, etc, are also encrypted and output</li>
<li>added support for OTF fonts with the CFF table</li>
</UL></li>
			
<li>Paulo 99:<UL>
<li>fixed a bug with \r\n in chunks</li>
<li>added PIE, ARC and CHORD to WMF</li>
<li>font reorganization</li>
<li>CJK fonts can be accessed by CID</li>
<li>PdfPCell supports rightIndent and followingIndent for independent alignment within the cell</li>
<li>added class VerticalText for enhanced support for vertical text. Annotation support is not there yet. I would appreciate some feedback from CJK users for ways to improve the vertical layouting</li>
<li>DefaultFontMapper reads a font directory 7 times faster</li>
</UL></li>
			
<li>Paulo 98:<UL>
<li>added PdfWriter.setAdditionalAction() to support additional-actions in the catalogue. This is a PDF1.4 only feature.</li>
<li>added PdfReader.getInfo() to get the metadata information from a PDF document.</li>
<li>no-wrap in PdfPCell now works correctly for all the horizontal alignments.</li>
<li>minor fix in HyphenationAuto.getHyphenatedWordPre() to optimize the available word space.</li>
<li>new supplements in CJKFont to support the new characters in PDF1.4. It's still compatible with PDF1.3.</li>
</UL></li>

<li>Paulo 97:<UL>
<li>several changes in the internal pdf structure to allow more low level access.</li>
<li>supported full PDFDocEncoding in strings (the Euro will show up).</li>
<li>several changes in the form fields to allow strings in Unicode and PDFDocEncoding</li>
<li>added shading patterns. Supported type 1, 2, and 3. Types 2 and 3 have duplicated simpler contructors for the case of linear gradients.</li>
<li>added support for java.awt.GradientPaint in PdfGraphics2D</li>
<li>documents with no text do not generate anymore the empty sequence BT-ET. Some postscript printers had problems with it.</li>
<li>added the method Document.getVersion() to get the current iText version string.</li>
</UL></li>

<li>Others:<UL>
<li>Some updates to the RTF part by Mark Hall</li>
<li>XML: MOVED FROM SAX TO SAX2 and from XERCES TO JAXP: THIS BREAKS EXISTING XML FUNCTIONALITY</li>
<li>Added several small code contributions</li>
</UL></li>

</UL>

</div><br/><a name="V092">iText 0.92</a><div class="small">

<UL>
<li>Added lots of AcroForm methods (Bruno)</li>
<li>J2EE Filter contributed by Marcelo Vanzin (only in the srcXML, not in the jar: com.lowagie.servlets)</li>
<li>Added support for Radio Buttons on different pages (Paulo)</li>
<li>Fixed some PdfGraphics2D bugs (Paulo)</li>
<li>Fixed a PdfReader problem in PRTokeniser (Paulo)</li>
<li>Fixed several Font(Factory) problems (Bruno)</li>
<li>Fixed a bug concerning X/HTML parsing and styles (Bruno)</li>
<li>Fixed the Image in Table problem (Bruno)</li>
<li>Fixed a Table bug reported by Jennifer Prohaska (Bruno)</li>
</UL>

</div><br/><a name="V091">iText 0.91</a> (based on paulo's versions 95 and 96 + updates by Mark Hall, David Teran, Jim Moore, Jeremy Bowman, Kevin Galligan and Bruno Lowagie)<div class="small">

<UL>
<li>added PdfGraphics2D, a Graphics2D canvas to write to PDF. Main contribution by Jim Moore with several bits from Jeremy Bowman and Kevin Galligan</li>
<li>Added automatic hyphenation to Chunk. It uses the FOP engine and the TEX patterns. I provide a jar with some compiled patterns. Other patterns can be compiled and included in a jar or read directly from a directory. To compile the patterns you'll need xerces but not to use them.</li>
<li>the pdf version can be changed with PdfWriter.setPdfVersion(). This only alters the number, it doesn't check if the objects inside are valid for the version.</li>
<li>added ColumnText.setFollowingIndent() and ColumnText.setRightIndent().</li>
<li>true-type fonts with encoding Identity-H now align-justify correctly.</li>
<li>changed some encoding names to work with Microsoft's jview.</li>
<li>added PdfPTable.setSkipFirstHeader(). Optimizes the printing of large tables by breaking them into several smaller ones. Contribution by Christian Lauer.</li>
<li>some RTF updates by Mark Hall</li>
<li>Some performance optimizations in ByteBuffer.formatDouble() by David Teran</li>
<li>optimizations in BaseFont for the encoding Cp1252</li>
<li>PdfReader is made less strict (fixed some FlateDecode problems)</li>
<li>background color in Chunks and generic annotations</li>
<li>several other optimizations</li>
</UL>

</div><br/><a name="V090">iText 0.90</a> (based on paulo's versions 93 and 94 + updates by Mark Hall, Philip Pan and Bruno Lowagie)<div class="small">

<ul>
<li>Added form fields (still undocumented)</li>
<li>Added new Action types</li>
<li>Added new annotation types. Annotations can be placed at precise positions in the page.</li>
<li>Outlines can be inserted in any order</li>
<li>Images in Chunk support for RTF</li>
<li>Fixed JPEG CMYK images problem</li>
<li>Added BaseFont.getFamilyFontName() and Font.getFamilyname()</li>
<li>corrected a bug in Barcode39 where the 'A' was the same as the '9'</li>
<li>Fixed the extra blank page when onStartPage is used partly</li>
</ul>

</div><br/><a name="V089">iText 0.89</a><div class="small">
Let's forget about release 0.88.
Some 'ameliorations' turned out to be bugs, the zip-files and tar.gz-files
at SourceForge were corrupt, etc, etc... Let's hope 0.89 is a better number.
</div><br/><a name="V088">iText 0.88</a> (changes by Bruno Lowagie)<div class="small">

<UL>
		<LI>Some bugfixes:
			<UL>
			<LI>table layout (borders and backgroundcolor) is put in directContentUnder</LI>
			<LI>Watermark is put in directContentUnder</LI>
			</UL></LI>
		<LI>some small changes in FontFactory</LI>
		<LI>improved HTML generation (size of the generated HTML is reduced)</LI>
		<LI>improved HTML parsing (the style attribute is being parsed)</LI>
		</UL>

</div><br/><a name="V087">iText 0.87</a> (changes by Bruno Lowagie, Mark Hall and Steffen Stundzig)<div class="small">

<UL>
		<LI>class FontFactory:
			<UL>
			<LI>size of a font changed from int to float</LI>
			<LI>new getFont method taking attributes (Properties-object)</LI>
			<LI>added names of the built in fonts</LI>
			<LI>added a way to register an alias for a fontname</LI>
			<LI>added public static variables for encoding and embedding</LI>
			</UL></LI>
		<LI>XML: nested tables, images in tables, remotegoto in Chunks,... are now supported</LI>
		<LI>class Table:
			<UL>
			<LI>possibility to force a Table (or it's cells) to be kept on one page</LI>
			<LI>possibility to set an offset</LI>
			<LI>cellborders and background disappeared if a table had a backgroundcolor</LI>
			<LI>empty elements are no longer being added to a Cell</LI>
			<LI>empty cells are not automatically filled anymore</LI>
			<LI>extended support for nested tables</LI>
			<LI>throwing an UnsupportedOperationException when one tries to get dimensions
			    of the Table or Cell.</LI>
			<LI>it is now possible to add an Image to a Cell</LI>
			</UL></LI>

		<LI>class Image:
			<UL>
			<LI>fixed some bugs in the constructor that takes a Properties list</LI>
			<LI>possibility to add an annotation =&gt; clickable image</LI>
			</UL></LI>
		<LI>RTF package:
			<UL>
			<LI>Padding table cells works correctly now</LI>
			<LI>Borders for rows are now possible</LI>
			<LI>Cellspacing now works correctly</LI>
			<LI>\n are now automatically parsed into new lines</LI>
			<LI>support for HeaderFooters</LI>
			<LI>TOC generation</LI>
			<LI>page breaks are only inserted before top-level chapters</LI>
			</UL></LI>

		</UL>

</div><br/><a name="V086">iText 0.86</a> (changes by Paulo Soares in paulo-91 and paulo-92 + changes by Bruno Lowagie)<div class="small">

<UL>
		<LI>added a Font Factory that allows you to register fonts and use them afterwards
		    by specifying their postscript fontname instead of the path to their ttf- or ttc-file</LI>
		<LI>added colspan to PdfPTable</LI>
		<LI>the interface PdfPTableEvent changed because of colspan.
		    True, interfaces shouldn't change but this interface is used
			only by a few and the change takes no time to fix.</LI>
		<LI>added BARCODE128 and the special encoding UCC/EAN-128.
		    Other encodings using this symbology are possible</LI>
		<LI>added PdfWriter.setCropBoxSize()</LI>
		<LI>fixed the problem while trying to add 2 images, a big and a small,
            near the bottom of a page. The first image was too large to fit, so it should
            have gone to the next page. However, the resulting pdf contained the second
            (smaller) image at the bottom of the page, while the larger image did
            not appear in the file.</LI>
		<LI>simplified PdfReader.getPageSizeWithRotation()</LI>
		<LI>fixed a bug in Rectangle that prevented page rotations bigger than 90
            degrees.</LI>
		<LI>fixed a bug that prevented annotations to be in the right place with
            rotated pages.</LI>
    	<LI>eliminated Rectangle.setRotation(). This can create inconsistencies.</LI>
		<LI>fixed a bug that prevented deep nesting in Tables</LI>
		<LI>fixed a bug in RtfWriter (escaping of the backslash)</LI>
		<LI>moved all the code from com.lowagie.text.markup.* to com.lowagie.text.*
			The code Matt Benson added (see <A HREF="#VERSION085">iText0.85</A>)
			allows you to generate HTMLs with a CSS file.</LI>
		<LI>changed all the constructors that created elements taking a Properties-object
		    as parameter (For future use in the XML functionality).</LI>
		<LI>fixed broken functionality: background color of a page</LI>
		</UL>

</div><br/><a name="V085">iText 0.85</a><div class="small">

<UL>
		<LI>update of the tutorial</LI>
		<LI>corrected the rotation of the pages in the tools Concat, Split, Encrypt and Handout</LI>
		<LI>contribution by Matt Benson: package com.lowagie.text.markup allows you to create
		    iText objects with extra attributes</LI>
		<LI>iText0.84 came with a jar-file that could only be used with J2SDK1.4</LI>
		</UL>

</div><br/><a name="V084">iText 0.84</a> (changes by Paulo Soares in paulo-90)<div class="small">

<UL>
		<LI>added support for barcodes without using external fonts. Barcodes supported are:
			<UL>
			<LI>EAN13</LI>
			<LI>EAN8</LI>
			<LI>UPCA</LI>
			<LI>UPCE</LI>
			<LI>Supplemental 2 and 5</LI>
			<LI>CODE39</LI>
			<LI>CODE39 EXTENDED</LI>
			<LI>INTERLEAVED 2 OF 5</LI>
			<LI>POSTNET</LI>
			<LI>PLANET</LI>
			</UL></LI>

		<LI>added JavaScript actions.</LI>
		<LI>added document level JavaScript.</LI>
		<LI>added local goto action by page.</LI>
		<LI>added chained actions.</LI>
		<LI>font widths can be changed.</LI>
    	</UL>

</div><br/><a name="V083">iText 0.83</a><div class="small">

<UL>
		<LI>RTF:
			<UL>bugfixes
			<LI>Rowspan and Colspan now work correctly (contributed by Steffen Stundzig)</LI>
			<LI>setWidths(...) works correctly now (contributed by Steffen Stundzig)</LI>
			<LI>Paragraphs in Cells are displayed correctly</LI>
			<LI>Anchors in Paragraphs and Phrases work correctly now</LI>
			</UL>

			<UL>New Features:
			<LI>Header rows which are repeated at the top of each page are now supported (contributed by Steffen Stundzig)</LI>
			<LI>Non alphanumeric characters are saved as their Unicode value (contributed by Steffen Stundzig)</LI>
			</UL></LI>
		<LI>Extended Annotation functionality: it is now possible to define clickable areas to jump
		    to other documents, urls, applications,... (Bruno)</LI>
		<LI>PDFs with LZW compression can be read. The decompressor is from Sun JAI
            codecs and from the license in the file we are shielded from Unisys. (Paulo)</LI>
    	<LI>Bugfix: some PDFs made with Ghostscript failed. (Paulo)</LI>
		<LI>small changes to class Table (Bruno)</LI>
		</UL>

</div><br/><a name="V082">iText 0.82</a> (changes by Paulo Soares in paulo-89)<div class="small">

<UL>
		<LI>added colored and uncolored tiled patterns (code provided by Phillip Pan).</LI>
		<LI>added named actions and launch actions.</LI>
		<LI>java.awt.Images and raw images in BW are compressed with CCITT G4.</LI>
		<LI>corrected bug in using templates as images used in PdfContentByte.addImage().
   			This also fixs the bug with WMF in the same situation.</LI>
		<LI>fixed bug in reading pdf with multiple uncompressed page contents.</LI>
		<LI>the pdf reader is now less strict in reading streams. Some documents don't
			follow the specs and failed although Acrobat Reader could open them.</LI>
		<LI>finalize() eliminated from iText.</LI>
		<LI>better error handling, mainly in close().</LI>
		<LI>added page breaks in HtmlWriter (code provided by Antoine Blanc)</LI>
		<LI>bugfix cell alignment in RTF (code provided by Mark Hall)</LI>
		<LI>bugfix anchors in tables (Bruno Lowagie)</LI>
		<LI>removed references to my email-address in the hope this will reduce mail sent to me personally (Bruno Lowagie)</LI>
		</UL>

</div><br/><a name="V081">iText 0.81</a> (bugfixes by Bruno Lowagie + changes by Paulo Soares in paulo-88 + contributions by others)<div class="small">

<UL>
		<LI>added support for spot colors (code provided by Phillip Pan).</LI>
		<LI>added support for Gray, CMYK and spot colors in Paragraph and other high level constructs.</LI>
		<LI>added support to retrieve the full name of the font in BaseFont.</LI>
		<LI>Rectangle.rotate() when applied to a page rotates the page rather
  			that only changing the dimensions. Ghostscript has troubles with
   			printing without this change.</LI>
		<LI>minor changes to header detection in PRTokeniser.</LI>
		<LI>minor memory improvement in reading fonts from arrays.</LI>
		<LI>Bugfix when images are added with the XML to PDF functionality.</LI>
		<LI>Support for some STYLE="" attributes in the HTML to PDF functionality.</LI>
		<LI>removal of the classes Assert and AssertionError.</LI>
		<LI>iText is now published under a multiple license: MPL / LGPL</LI>
		</UL>

</div><br/><a name="V080">iText 0.80</a> (bugfixes by Bruno Lowagie + changes by Paulo Soares in paulo-87 + contributions by others)<div class="small">

<UL>
		<LI>HTML and CSS by Steve Ogryzek</LI>
		<LI>Images as a listsymbol</LI>
		<LI>fixed the paragraph indent bug</LI>
		<LI>tutorial Chapter on RTF by Mark Hall</LI>
		<LI>fonts can also be loaded from byte arrays, not only from files</LI>
		<LI>fonts can be loaded without being cached</LI>
		<LI>added BaseFont.getPostscriptFontName(), BaseFont.getCodePagesSupported() (this gets the code pages
            supported by the font. This has only meaning with True Type fonts.) and BaseFont.enumerateTTCNames()
    		(to list all the names inside a TTC font)</LI>
		<LI>added support to import pages from other PDF documents</LI>
		<LI>added explicit masking and stencil masking to images</LI>
		</UL>

</div><br/><a name="V073">iText 0.73</a> (Changes by Paulo Soares in paulo-86)<div class="small">

<UL>
		<LI>added suport for True Type Collections. Quite useful for using CJK
	      	fonts in Windows, such as msgothic.ttc, where the fonts are in this
   			format.</LI>
		<LI>added support for page labels. Page labels are used to identify each
            page visually on the screen or in print.</LI>
		<LI>some changes to different comments (while writing the tutorial)</LI>
		</UL>

</div><br/><a name="V072">iText 0.72</a> (Changes by Paulo Soares in paulo-85 + bugfixes by Bruno Lowagie)<div class="small">

<UL>
		<LI>Further ameliorations in the Table-class (all Table bugs should be fixed now)</LI>
		<LI>corrected bug with jpg images input as a byte array.</LI>
		<LI>added open actions. When the document is opened an action can be called
            to position the document in a certain page or to call an URL, for example.</LI>
		<LI>support for unicode meta tags in pdf such as author.</LI>
		<LI>true type fonts can be used in unicode addressing mode. This is the only way
            to use this fonts with some encodings, such as Thai. CJK fonts can also be
            used this way, in fact, all the encodings can be used this way at the expense
            of 2 bytes per character instead of one.</LI>
		<LI>support for true type font subsets. Only the glyphs actually used in the
            document are stored. The reduction of document size with fonts embedded
            is dramatic.</LI>
		<LI>support for having different line break characters.</LI>
		<LI>changed greek character handling in Phrase. Only the fonts (class Font) not
            constructed with BaseFont are elected to be automatically replaced with
            Symbol when greek characters are present. It was impossible to use a font
            with greek characters without them being replaced automatically.</LI>
		<LI>some bugfixes by Mark Hall to the rtf package</LI>
		<LI>some methods were changed from private to protected in the html package</LI>
		</UL>

</div><br/><a name="V071">iText 0.71</a> (Changes by Paulo Soares in paulo-84 + bugfixes from several other people)<div class="small">

<UL>
		<LI>Ameliorations in the Table-class</LI>
		<LI>correction in PdfEncryption. The mask permission bits were incorrect and
   			allowed the security parameters to be changed in Acrobat.</LI>
		<LI>corrected PdfPTable. Some cases of tables were not crossing correctly the
   			pages.</LI>
		<LI>chapters and sections have the option of presenting themselves as opened or
   			colapsed.</LI>
		<LI>improved line breaking for CJK fonts.</LI>
		<LI>support for windows metafiles.</LI>
		<LI>support for getting the dots-per-inch in an image. Usefull to get the image
   			dimensions. This information is always available in WMF and sometimes in
   			PNG and JPEG.</LI>
		<LI>the last row in a nested PdfPTable is stretched to occupy the entire cell.
   			Fix provided by Jin-Hsia Yang.</LI>
		<LI>corrected the parameters bounds in PdfContentByte.setLineCap and
   			PdfContentByte.setLineJoin.</LI>
		<LI>added PdfContentByte.setLiteral. Allows the insertion of arbitrary content
   			in the stream.</LI>
		<LI>several new font descriptors are available in BaseFont.getFontDescriptor.
   			These are all related to the font box dimensions.</LI>
    	</UL>

</div><br/><a name="V051">iText 0.51 - iText 0.70</a> (Changes by Paulo Soares in paulo-80, paulo-81, paulo-82 and paulo-83)<div class="small">

<UL>
		<LI>several font descriptors are available in BaseFont.getFontDescriptor. These
   			are ascent, descent, cap height and italic angle.</LI>
		<LI>added class PdfPTableEvent. This event is called when the table is rendered.
   			Can be used to customize backgrounds with images, different borders, etc.</LI>
		<LI>added Document.addCreator.</LI>
		<LI>support for PdfAction in defined regions in PdfContentByte.</LI>
		<LI>support for PdfAction in outlines.</LI>
		<LI>added pdf encryption. Supports 40 bit and 128 bit key length and all
     			the permissions/restrictions.</LI>
		<LI>corrected error in Image when the rotation was in the 3rd or 4th
   			quadrant.</LI>
    	<LI>PdfPCell(PdfPTable) was made public.</LI>
		<LI>a newline as added to the final %%EOF line. A version of ghostscript
   			choked without it.</LI>
		<LI>some correction made when adding templates as images.</LI>
		<LI>several speed and memory optimizations. Arrays are only copied when
   			necessary and PdfDocument just caches the Id of the image, not the
   			full image.</LI>
    	<LI>corrected a bug when adding very big images. The images would be added
   			forever.</LI>
		<LI>minimumHeight was added to PdfPCell. This does what fixedHeight used to
   			do.</LI>
		<LI>change of behavior for fixedHeight in PdfPCell. fixedHeight sets the fixed
   			cell's height and truncates any text out boundaries.</LI>
		<LI>added CCITT support.</LI>
		<LI>anchors are inserted into the pdf document unchanged, not using the URL class.</LI>
		<LI>changes to Image. A template can be used as an Image. Useful
   			to include rotated text in tables or to create new characters.</LI>
    	<LI>changes to Image. A java.awt.Image can be forced to render in black
   			and white.</LI>
		<LI>jdk 1.4 support. The font encoding had problems in jdk 1.4.</LI>
    	</UL>

</div><br/><a name="V050">iText 0.50</a><div class="small">

<UL>
		<LI>Xml support: you can generate XML that follows an iText.dtd.
			You can convert these file to PDF, or you can convert XML file that obey to
			your own custom DTD to PDF. Very tidy HTML can be converted to PDF as well.</LI>
		<LI>added nested tables to Table. This code was all provided by
      		Geert Poels.</LI>
		<LI>added the ptable. This is a new kind of pdf table where each
      		cell is a ColumnText. The usable classes are PdfPTable and PdfPCell.<br/>
			Main features are:
			<UL>Simple XY table without rowspan or colspan. Uses nested ptables instead.
			<LI>Each cell is a ColumnText with all the capabilities.</LI>
			<LI>Aligns correctly in the horizontal and vertical directions.</LI>
			<LI>Can be added to the document or placed at precise positions.</LI>
			<LI>When added to the document always break at full rows. If the
            row does not fit in the full page it is dropped.</LI>
			<LI>Precise table dimensioning. The resulting ptables dimensions
            are always available.</LI>
			<LI>If using fitsPage only the new rows since the last call are
            calculated.</LI>
			<LI>Supports minimum cell height and no wrap.</LI>
			</UL></LI>

		<LI>changes to PdfChunk. Corrected the encoding. Corrected the placement
      		of images when they were the last element of the line. Corrected the
      		split position that was off by 2. CJK characters are also used as split
      		characters.</LI>
		<LI>changes to PdfContentByte. Added clipping paths.</LI>
		<LI>added PdfWriter.setViewerPreferences. Added the ability to change the
      		way the documents open in Acrobat.</LI>
		<LI>prevented the double close in PdfWriter.</LI>
		<LI>added PdfWriter.getPageNumber.</LI>
		<LI>added extra encoding checks in type1 and truetype fonts.</LI>
		<LI>correction in PdfAction. Remote gotos by page now work correctly.</LI>
		<LI>changed ColumnText. The PdfContentByte can be null if only the
      		simulation is needed.</LI>
		<LI>changed HtmlWriter. In HTML, anchors now work inside tables.</LI>
		<LI>correction in Table.deleteRow. Multiple rows can be deleted and added.</LI>
		</UL>

</div><br/><a name="V041">iText 0.41</a><div class="small">

<UL>
		<LI>added EBCDIC support. It works in OS/390 and probably in AS/400.
		It should work in other platforms with other character encodings.</LI>
		<LI>added auto-leading to ColumnText. Leading is now defined as
		fixed+variable*x where x is the size of the largest font in
		the line.</LI>
		<LI>removed the *.afm resources. Some web servers had trouble finding
		the resource files. This resources are now inside classes.
		This takes care of the message "document with no pages".</LI>
		<LI>added inline images with text. Images can now be used inside tables.</LI>
		<LI>added Document.compress. If set to false all the documents generated
		come out without compression. For debugging.</LI>
		<LI>added support to read java.awt.Image. It reads all gifs too!</LI>
		<LI>added transparency support to images.</LI>
		<LI>added Evelyne De Cordier changes to Table and HtmlWriter.</LI>
		<LI>added named destinations. Also works with outlines.</LI>
		<LI>added remote gotos. The remote destination can be a name or a page number</LI>
		<LI>added PdfContentByte.roundRectangle.</LI>
		<LI>added PdfWriter.getDirectContentUnder. A direct content that will
		be placed under all the other contents. For watermarks.</LI>
		<LI>corrected a bug in PdfDocument. If an image was the last element
		added to the document and that caused a new page, the image would not show.</LI>
		</UL>

</div><br/><a name="V040">iText 0.40</a><div class="small">

<UL>
		<LI>added class PdfPageEventHelper. Makes the use of page events easier.</LI>
		<LI>added Chunk.setGenericTag. Attachs text to a Chunk that can be
		retrieved in a page event. Very usefull to implement bookmarks with fine control.</LI>
		<LI>added local links. Links can be placed to jump to other parts of the document.</LI>
		<LI>correction to Image. Absolute positioning was not being detected.
		This had the effect that images were being placed in the lower
		left corner of the page.</LI>
		<LI>added clear() to Cell.</LI>
		<LI>added getPageSize to Document.</LI>
		<LI>added class ColumnText. It formates and displays text columnwise.
      	The columns can be irregular and are described by an arbritary
		number of lines. With this feature it is easy to place text that
		flows around images.</LI>
		<LI>added attributes to Chunks. The new attributes supported are
		anchors and sub/superscript.</LI>
		<LI>correction of leading rounding</LI>
		<LI>code changes to ease the port to jdk1.1.x</LI>
		<LI>PdfpageEvent was changed to an interface</LI>
		<LI>Added support for memory images. This will allow you to create an image
		in a byte array in the form of a gif, png or jpeg. As an added bonus
		images can also be created in raw mode but you'll have to read chapter
		4.8 of the pdfref manual to know what you are doing.</LI>
		<LI>TrueType font embedding</LI>
		<LI>Type1 font embedding (AFM with PFB)</LI>
		<LI>CJK Adobe font pack support with full metrics</LI>
		<LI>All the java encodings allowed as long as your jvm has the encodings (Cp1251, etc)</LI>
		<LI>support for all kind of fonts in Table, Paragraph, etc.</LI>
		<LI>fonts are cached. There's only a performance hit the first time the font is accessed</LI>
		<LI>outlines are output in Unicode. Now it's possible to have the outlines in
		kanji or cyrillic if you platform supports it</LI>
		<LI>images can be added directly to PdfContentByte</LI>
		<LI>TrueType and CJK fonts can have a modifier (Bold, Italic and
		BoldItalic). Note that it only works with fonts not embedded</LI>
		<LI>Added circles, ellipses, arcs to PdfContentByte</LI>
		<LI>Added outlines (bookmarks) to PdfContentByte</LI>
		<LI>Added simple text alignment and rotation</LI>
		<LI>Added templates (form XObjects). This solves the dreaded problem of "Page 1 of 15"</LI>
		<LI>Optimized PdfIndirectObject. toPdf was beeing called twice.</LI>
		<LI>Added a PdfPageEvent that is called with certain events, like new page.</LI>
		<LI>All the dimensions were changed from int or double to float. It is possible that
		some of your code breaks but it should be trivial to fix.</LI>
		<LI>Improved text justification with word spacing, character spacing and
		hanging punctuation.</LI>
		<LI>Text justification works with CJK fonts.</LI>
		<LI>Underline, strikeout and anchors work everywhere (main text and tables)</LI>
		</UL>

</div><br/><a name="V039">iText 0.39</a><div class="small">

<UL>
<LI>Omission of the PdfListener-interface</LI>
<LI>Omission of the PdfRoot-object</LI>
<LI>Changes in the way pages and page are managed</LI>
<LI>Outlines</LI>
<LI>All Chapters and Sections are put in an outline tree</LI>
</UL>

</div><br/><a name="V038">iText 0.38</a><div class="small">

<UL>
<LI>Possibility to underline/strike chunks</LI>
<LI>Nested lists</LI>
<LI>Better management of Page Resources (1 Resource Dictionary per page)</LI>
<LI>Destinations (doesn't work yet)</LI>
</UL>

</div><br/><a name="V037">iText 0.37</a><div class="small">

<UL>
<LI>Bugfix: PNG-support and Rotation (fixed by Paulo Soares)</LI>
<LI>Bugfix: Error in class Watermark fixed</LI>
<LI>Possibility to add graphic elements (lines, curves,...) with the Graphic-object.</LI>
<LI>Implementation of the Anchor-object for PDF (not yet as I want it to be)</LI>
<LI>Possibility to add Text Annotations</LI>
</UL>

</div><br/><a name="V036">iText 0.36</a><div class="small">

<UL>
<LI>Bugfix: pagenumbers were reals. This gave problems in Ghostview</LI>
<LI>Bugfix: some shades of Gray gave problems in the Gif Color Table</LI>
<LI>BugFix: when you changed the backgroundcolor of the rectangle that describes
 	the pagesize of a document, this color was not shown on the document.</LI>
<LI>Bugfix: centering of images</LI>
<LI>Support of Png-images (by Paulo Soares)</LI>
</UL>

</div><br/><a name="V035">iText 0.35</a><div class="small"><UL>
		<LI>Fonts of type Symbol/Zapfdingbats were not shown on some devices</LI>
		<LI>Minor bugfixes concerning tables</LI>
		<LI>Support of Jpeg-images</LI>
		<LI>Support of Gif-images</LI>
		</UL></div><br/><a name="V030">iText 0.30</a><div class="small">

<UL>
		<LI>Some errors in the metrics are corrected using an AFM-parser
			written by Stefan Mainz.</LI>
		<LI>I made some changes in the class <span class="commandline">PdfFont</span>.
			Some methods are moved to the class <span class="commandline">PdfFontMetrics</span>.
			I also solved a bug submitted by Brent Stains, who had a list of
			names that he'd liked to put in a single cell. The HTML equivalent
			was "&lt;TD&gt;name1&lt;BR&gt; name2&lt;BR&gt;....&lt;/TD&gt;".</LI>
		<LI>If you ran the old Test-class on a PC (Windows), character 128 to 159
			is replaced by a question mark. I solved this problem by specifying
			the encoding (latin1) when I invoke <span class="commandline">getBytes()</span> or
			when I construct a new <span class="commandline">String</span>.</LI>
		<LI>The use of color is added to the library</LI>
		<LI>I made some new classes in package com.lowagie.text:
			<UL>

			<LI>class Anchor extends Phrase implements Element</LI>
			<LI>class BadElementException extends DocumentException</LI>
			<LI>class Cell extends Rectangle implements Element</LI>
			<LI>class Chapter extends Section implements Element</LI>
			<LI>class Chunk implements Element</LI>
			<LI>interface DocListener extends EventListener</LI>
			<LI>class Document implements DocListener</LI>
			<LI>class DocumentException extends Exception</LI>
			<LI>abstract class DocWriter implements DocListener</LI>
			<LI>interface Element</LI>
			<LI>class Font implements Comparable</LI>
			<LI>class Header extends Meta implements Element</LI>
			<LI>class HeaderFooter extends Rectangle</LI>
			<LI>class List implements Element</LI>
			<LI>class ListItem extends Paragraph implements Element</LI>
			<LI>class Meta implements Element</LI>
			<LI>class PageSize</LI>
			<LI>class Paragraph extends Phrase implements Element</LI>
			<LI>class Phrase extends ArrayList implements Element</LI>
			<LI>class Rectangle implements Element</LI>
			<LI>class Row implements Element</LI>
			<LI>class Section extends ArrayList implements Element</LI>
			<LI>class Table extends Rectangle implements Element</LI>
			</UL>

			I have also made some classes to generate HTML:
			<UL>
			<LI>class HtmlWriter extends DocListener</LI>
			<LI>class HtmlEncoder</LI>
			<LI>class HtmlAttributes extends TreeMap</LI>
			</UL>
			and XML:
			<UL>
			<LI>class XmlWriter extends DocListener</LI>
			</UL>
			The following classes in com.lowagie.text.pdf are new or have been changed in a drastic way.
			<UL>

			<LI>class PdfBody, PdfCatalog, PdfInfo have become inner classes</LI>
			<LI>class PdfCell extends Rectangle</LI>
			<LI>class PdfChunk extends PdfString</LI>
			<LI>class PdfDocument extends Document implements DocListener, PdfListener</LI>
			<LI>class PdfLine</LI>
			<LI>class PdfListener extends EventListener</LI>
			<LI>class PdfRectangle extends Rectangle</LI>
			<LI>class PdfTable extends Rectangle</LI>
			<LI>class PdfWriter extends DocWriter implements PdfListener</LI>
			</UL></LI>
			<LI>Document are now generated in a whole other way:
			<UL>
				<LI>constructing a document is a lot more userfriendly</LI>
				<LI>documents are now written directly to an <span class="commandline">OutputStream</span>.</LI>
			</UL></LI>

		</UL>

</div><br/><a name="V025">rugPDF 0.25</a><div class="small">some significant changes in the Font classes.</div><br/><a name="V020">rugPDF 0.20</a><div class="small">
<UL>
<LI>I reinitialized all the versions of the Pdf Classes (version numbers)</LI>
<LI>Most references to the reference manual version 1.2 are changed into
references to the reference manual version 1.3.</LI>
<LI>I made a distinction between a <span class="commandline">PdfException</span> and a
<span class="commandline">BadPdfFormatException</span> (for future use)</LI>
<LI>Some extra methods were added to check the type of a <span class="commandline">PdfObject</span>.</LI>
<LI>The method type() was removed from the <span class="commandline">PdfPrintable</span>-interface.
The method toPdfString() was alse removed. A <span class="commandline">PdfString</span> can now
be constructed with a <span class="commandline">PdfPrintable</span> as parameter.</LI>
<LI>Some methods are made final to improve performance (more will follow).</LI>
<LI>I am changing most of the String manipulations into <span class="commandline">StringBuffer</span>
or <span class="commandline">ByteArrayOutputstream</span> manipulations.
This avoids creating many temporary strings and improves the performance.</LI>
<LI>The content of each <span class="commandline">PdfObject</span> is now stored as an array of byte.
The method toPdf() returns <span class="commandline">byte[]</span>. This was necessary because
the constructor <span class="commandline">new String(byte[] bytes)</span> and the method <span class="commandline">toBytes()</span> did funny things with some bytes.<BR/>
On UNIX everything worked just fine, but on Windows every PDF document
opened correctly (because the PDF syntax was still OK), however since some
bytes of the stream were corrupted, the streams were never decompressed
and every page remained blank...<BR/>
This was caused by datatransfer problems on Windows.</LI>
<LI>I have made a static final list of the most common <span class="commandline">PdfName</span>-objects.
This way these objects are constructed only once. There is no more need
to catch a <span class="commandline">BadPdfFormatException</span>.</LI>
<LI><span class="commandline">PdfName</span> has been made comparable; Items in a
<span class="commandline">PdfDictionary</span> are now sorted alfabetically.</LI>
<LI><span class="commandline">PdfStream</span>-object are now compressed.
This way the size of the generated PDF-documents
has been reduced a lot.</LI>
<LI>4 new functions have been added to <span class="commandline">PdfDocument.java</span>:</LI>
<UL>
<LI>public int left(int margin)</LI>
<LI>public int right(int margin)</LI>
<LI>public int top(int margin)</LI>
<LI>public int bottom(int margin)</LI>
</UL>
<LI>I changed the values of the static variables concerning the size of
a font. You can still use them, but they aren't really necessary anymore.
You have now the freedom to choose any size you want (as long as it's an
integer).</LI>
</UL>
</div><br/><a name="V011">rugPDF 0.11 - rugPDF 0.19</a><div class="small">
After successfully being used to generate Student Lists for professors and Transcripts of Records for students,
some changes were made to the library to make it more user (= programmer) friendly.
</div><br/><a name="V010">rugPDF 0.10</a><div class="small">
The first version that was actually used in a production environment (at Ghent University).
</div><br/><a name="V001">rugPDF 0.01 - rugPDF 0.09</a><div class="small">
The first version of iText were called rugPDF.
They could only make very simple PDFs.
</div><br/>

	</div>
	<div xmlns="http://www.w3.org/1999/xhtml" id="footer">Page Updated: 2005/12/12 08:21:56<br/>
Copyright &copy; 1999-2005 by Bruno Lowagie, Adolf Baeyensstraat 121, 9040 Gent, BELGIUM<br/>
Read the <a href="privacypolicy.html">Privacy Policy</a> at lowagie.com;
mailto: <a href="mailto:itext-questions@lists.sourceforge.net">itext-questions@lists.sourceforge.net</a></div></div><div xmlns="http://www.w3.org/1999/xhtml" id="navigation"><div id="itext"><a href="http://www.lowagie.com/iText/"><img border="0" src="images/logo.gif" class="logo"/></a><br/>
		a Free Java-PDF library<br/>by <a HREF="http://www.lowagie.com/" class="author">Bruno Lowagie</a><br/> and <a HREF="http://itextpdf.sourceforge.net/" class="author">Paulo Soares</a></div><div id="links"><a href="http://www.lowagie.com/iText/index.html" class="navigation">Home @ Lowagie.com</a><a href="http://sourceforge.net/projects/itext/" class="navigation">Home @ SourceForge.net</a><a href="http://itextsharp.sourceforge.net/" class="navigation">iTextSharp (.NET port)</a><br/><a href="download.html" class="navigation">Download &amp; Compile</a><a href="docs.html" class="navigation">Documentation</a><a href="http://itextdocs.lowagie.com/tutorial/" class="navigation">iText by Example</a><a href="cvs.html" class="navigation">CVS Repository</a><a href="ant.html" class="navigation">ANT Scripts</a><a href="faq.html" class="navigation">FAQ</a><br/><a href="http://lists.sourceforge.net/lists/listinfo/itext-questions" class="navigation">Mailing List Registration</a><a href="http://news.gmane.org/gmane.comp.java.lib.itext.general" class="navigation">Mailing List Archives</a><a href="links.html" class="navigation">Useful Links</a><a href="amazon.html" class="navigation">Shop @ Amazon</a></div></div><div xmlns="http://www.w3.org/1999/xhtml" id="sourceforge"><a href="http://sourceforge.net"><img alt="SourceForge.net Logo" border="0" height="62" width="210" src="http://sourceforge.net/sflogo.php?group_id=group_id=15255&amp;type=6"/></a></div><div id="commercial"><a xmlns="http://www.w3.org/1999/xhtml" href="amazon.html" class="amazonlinks">Amazon books:</a><script type="text/javascript"><!--
document.write('<iframe marginwidth="0" marginheight="0" src="http://rcm.amazon.com/e/cm?t=itisacatalofwebp&o=1&p=10&l=st1&mode=books&search=JAVA&=1&fc1=&lc1=&lt1=&bg1=&f=ifr" width="120" height="460" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>');
//--></script><script type="text/javascript"><!--
google_ad_client = "pub-0340380473790570";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel ="";
google_ad_type = "text";
google_color_border = "000000";
google_color_bg = "FFFFFF";
google_color_link = "B31800";
google_color_url = "B31800";
google_color_text = "FF2200";
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script><div class="amazonlinks">Other links:</div><div class="firefox"><script type="text/javascript"><!--
google_ad_client = "pub-0340380473790570";
google_ad_width = 110;
google_ad_height = 32;
google_ad_format = "110x32_as_rimg";
google_cpa_choice = "CAAQ_-KZzgEaCHfyBUS9wT0_KOP143Q";
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></div><a xmlns="http://www.w3.org/1999/xhtml" href="http://www.refactorit.com/"><img height="26" width="120" border="0" src="http://www.refactorit.com/failid/rit_media/refactorit140x30.png"/></a></div></body></html>