Release Notes

Prince 8.0

September 2011

JavaScript Support

Added --javascript option for running HTML and SVG script elements.

Added --script=FILE option for running external JavaScript files.

Added prince-script() value for running JavaScript from CSS generated content.

Replaced the --log-stats option with a JavaScript API.

SVG Support

Added support for the SVG <style> element.

Added support for the SVG <switch> element.

Added support for scientific/exponential notation in SVG coordinates.

Fixed bug affecting non-break space characters in SVG.

Internationalization

Improved line-breaking for Chinese text.

Added support for Chinese, Japanese, and Persian counter styles for list numbering.

Font Support

Improved performance for fonts with many OpenType glyph substitution rules.

Fixed bug causing warnings and unnecessary kerning with some OpenType fonts.

Fixed bug affecting OpenType positioning in some OpenType fonts.

Added support for Unicode characters beyond U+30000.

HTML Support

Added support for style and link elements that occur in the document body.

Added support for the xml:base attribute on style and link elements.

Added support for hidden input elements.

Removed "max-width: 100%" from img elements, for browser compatibility.

Removed "line-height: none" from sub/sup elements, for browser compatibility.

Fixed bug where the type attribute was setting the list-style-type for non-HTML elements.

HTTP Support

Added support for images downloaded over HTTP with incorrect MIME types.

Added --http-timeout option to avoid waiting indefinitely for slow servers.

PDF Support

Added support for PDF attachments with --attach=FILE option and "show-attachments" value for the prince-pdf-page-mode property.

Added support for PDF bookmarks on pseudo-elements.

Added prince-pdf-page-layout property to control page layout in PDF viewer.

Added prince-pdf-page-label property for specifying PDF page labels.

Fixed bug affecting PDF bookmarks on repeating table headers and footers.

CSS Support

Added :nth() page selector.

Added support for the prince-link property on pseudo-elements.

Changed default value of prince-image-resolution property to "normal".

Changed page vertical margins to be resolve percentages relative to height, not width.

Added device-cmyk() as an alias for the cmyk() color function.

Fixed bug where counter scopes were incorrectly extended outside of parent elements.

Fixed bug where the width property had no effect on page margin boxes.

Fixed bug affecting positioned blocks inside justified paragraphs.

Fixed bug where text decoration did not work properly with text-indent.

Fixed bug where forced page breaks in list items would cause the marker to be repeated.

Fixed bug affecting table cells that span rows and break across multiple pages.

Fixed bug affecting empty inline tables and HTML <select> elements.

Fixed bug where cmyk() and rgba() background colors were not being applied to table rows and row groups.

Fixed bug where space before commas in CSS selectors resulted in rules being ignored.

Fixed bug where @charset rules would block @import rules.

Changed leaders to expand before performing text alignment.

Fixed bug affecting empty leaders.

Columns Support

Added support for the column properties on table cells and list items.

Added support for inset/outset/ridge/groove/double column rule styles.

Fixed bug where the column-break-before and column-break-after properties only worked on direct children of an element with multi-column layout.

Fixed bug where column floats in nested multi-column layouts went to the outer column, not the inner column.

Fixed bug affecting "float: prince-column-top-if-necessary" on elements not inside columns.

Fixed bug affecting column floats and footnotes inside other floats, inline and absolutely positioned blocks, and table cells.

Miscellaneous Improvements

Improved speed and reduced memory usage for large documents.

Updated the default hyphenation dictionaries.

Added support for baseline alignment of MathML content.


Prince 7.1

May 2010

Fonts and Unicode Support

Added support for the WOFF font file format.

Added support for OpenType extension lookups needed for kerning with the Arno Pro font.

Added support for the OpenType GDEF table, needed by some Arabic and Indic fonts.

Added support for OpenType positioning rules with vertical placement.

Added new command-line option --no-artificial-fonts to disable synthesised bold and italic fonts.

Improved handling of symbolic fonts with no Unicode charmap, such as Wingdings and barcode fonts.

Added support for Unicode characters up to U+30000.

Right-to-left and left-to-right bidi marks are now treated as non-printing characters.

Fixed bug where hyphenation could prevent ligature formation.

Fixed bug where punctuation could interfere with kerning and other OpenType features.

Fixed bug affecting some OpenType chaining contextual substitutions.

Fixed bug where non-embedded fonts could still be subset.

Fixed bug affecting unquoted font-family names that include numbers.

Fixed bug affecting Fontconfig on Red Hat Enterprise Linux 4.

SVG Support

Added support for bidirectional text layout in SVG.

Added support for multiple x/y/dx/dy and rotate values on text elements in SVG.

Added support for the letter-spacing and word-spacing properties in SVG.

CSS Properties

Added the table-baseline property, needed for MathML for CSS.

Added the border-break property.

Added the prince-border-clip property, used for specifying the length of the border on the @footnotes area.

Added the prince-pdf-open-action property to specify actions such as printing that should take place automatically when the PDF file is opened.

Miscellaneous Improvements

Added support for internal links in documents with multiple base URLs.

Added support for commonly used HTML5 elements, such as section.

Added prince-base-url() value to content property for accessing document URL.

Changed prince-pdf-link-type property to apply to bookmark links as well as normal links.

Added an experimental --fileroot option for specifying the root directory used to resolve absolute filenames.

Grayscale TIFF and PNG images are no longer expanded to RGB.

Invalid intrinsic resolutions in JPEG images are now ignored.

Fixed bug affecting collapsing borders for footers on tables that span page breaks.

Fixed bug affecting line-breaking of string-set values used in flowed blocks.

Fixed bug where margins could collapse through blocks with "overflow: hidden".

Fixed bug where words containing apostrophes would not be hyphenated.

Fixed bug affecting preformatted whitespace between spans in HTML documents.

Fixed bug affecting style sheets beginning with a UTF-8 BOM immediately followed by an identifier.


Prince 7.0

October 2009

Hyphenation and Justification

New TeX-style algorithm for high-quality line-breaking and justification.

Added hyphenation dictionaries for more European languages.

The last word in a column or page can now be hyphenated.

Internationalization

Support for Arabic and Hebrew with OpenType fonts.

Support for Indic scripts with OpenType fonts. (Devanagari/Hindi, Bengali, Gurmukhi/Punjabi, Gujarati, Oriya, Tamil, Telugu, Kannada, and Malayalam)

Support for bidirectional text and layout, needed for right-to-left scripts. This includes support for the Unicode bidirectional layout algorithm, the CSS direction and unicode-bidi properties, and the HTML dir attribute and bdo element.

The text-transform property now supports Greek, Cyrillic, and other scripts, in addition to Latin.

Support for the arabic-indic style for counters and lists.

Font Support

Support for OpenType CFF fonts (.otf files).

Support for ligatures, kerning, and small-caps with OpenType fonts.

Support for automatic mark positioning with OpenType fonts.

Support for nine levels of boldness using the font-weight property.

Support for synthesized bold and italic fonts when a true bold or italic font is not available.

Improved system font scanning on Linux, MacOS X, and Windows.

Fixed bug affecting TrueType Collection fonts on Windows.

Fixed bug affecting the merging of related font subsets.

Changed the way @font-face rules are processed to follow the latest draft of the CSS3 Fonts module.

Support for the unicode-range descriptor on @font-face rules.

Added an experimental prince-opentype() value to the font-variant property for accessing extra features found in OpenType fonts, such as decorative swashes and old-style numerals.

CSS Properties

Support for the CSS3 box-sizing property.

Added a new property, prince-pdf-destination, to create named destinations in generated PDF files.

Added a new property, prince-pdf-link-type, to control whether web or file links are created in generated PDF files.

SVG Support

Support for the shorthand "font" property in SVG, and the font-variant and font-stretch properties.

Support for fallback colors used in SVG paint specifications, eg. for the fill property.

Fixed bug where the SVG fill-opacity property was not inherited.

Miscellaneous Improvements

Added Prince package for 64-bit Linux.

Added --log-stats command-line option for printing document statistics such as the total page count.

Added --insecure command-line option to disable checking SSL certificates.

Added --ssl-capath and --ssl-cacert options for compatibility with curl.

Support for creating footnotes with the float property.

Support for multiple page selectors on the same @page rule.

The page and pages counters can now be incremented and reset on block elements.

Support for four values on the prince-trim and prince-bleed properties, similar to margins and padding.

Fixed bug where the "inherit" keyword was not correctly applied to page margin boxes.

Added support for times to Date metadata values in XHTML.

Absolutely positioned blocks can now extend beyond the page border.

Unbalanced columns will now break to fit in blocks with specified height.

Fixed bug where blocks with specified height could break across pages.

Fixed bug where margin box backgrounds did not extend into the page bleed area.

Fixed bug where page background was rendered incorrectly on landscape pages.

Fixed bug affecting the height of blocks with "overflow: hidden" containing floats.

Fixed performance regression affecting multi-column layouts inside positioned blocks and inline blocks.

Fixed bug affecting text-align on narrow lines.

Fixed bug affecting the width of shrink-to-fit boxes (eg. inline blocks, table cells and floats) containing multiple columns.

Fixed bug where the HTML align attribute on <tr> elements did not affect <th> elements.

Fixed bug where internal links to documents with /../ or /./ in the path name were not resolved correctly.


Prince 6.0 rev 8

February 2009

Layout

SVG support

HTML support


Prince 6.0 rev 7

September 2008

Hyphenation

Tables

HTML support

Performance improvements

Platform support


Prince 6.0 rev 6

May 2008

Hyphenation

Lists

Tables

HTTP support

Platform support

Other bug fixes and improvements


Prince 6.0 rev 5

January 2008

HTML support

HTTP support

Page breaking and layout

PDF properties

Platform support

Other bug fixes and improvements


Prince 6.0 rev 4

October 2007


Prince 6.0 rev 3

August 2007

HTML support

SVG support

Printing improvements

HTTP support

Platform support

Other bug fixes and improvements


Prince 6.0 rev 2

June 2007


Prince 6.0 rev 1

May 2007

Hyphenation

Support for English hyphenation using the following new CSS properties:

hyphens: manual | auto
prince-hyphenate-patterns: none | url(...)
prince-hyphenate-before: <int>
prince-hyphenate-after: <int>
prince-hyphenate-lines: no-limit | <int>

Please note that hyphenation will only be enabled for paragraphs on which text-align has been set to "justify".

HTTP

Support for loading all resources from HTTP URLs, including documents, style sheets, images and even fonts.

Rounded borders

Support for rounded borders using the following CSS 3 properties:

border-top-left-radius: <length> [ <length> ]
border-top-right-radius: <length> [ <length> ]
border-bottom-left-radius: <length> [ <length> ]
border-bottom-right-radius: <length> [ <length> ]

(Similar properties are available in the Mozilla Firefox browser, where they are prefixed with "-moz-").

MathML

Initial support for MathML presentation and content markup. This is the first prototype of MathML support in Prince, so feedback from MathML users would be greatly appreciated.

SVG

Multiple Documents

Support for converting multiple input documents into a single output PDF file. Currently this functionality can only be accessed from the command-line. Useful for converting a collection of linked documents or an entire website into a single PDF file.

Columns

Footnotes

Floats

Miscellaneous


Prince 5.1 rev 15

March 2007

Prince 5.1 rev 14

February 2007

Prince 5.1 rev 13

December 2006

Prince 5.1 rev 12

December 2006

Prince 5.1 rev 11

October 2006

Prince 5.1 rev 10

September 2006

Prince 5.1 rev 9

July 2006

Prince 5.1 rev 8

July 2006

Prince 5.1 rev 7

May 2006

Prince 5.1 rev 6

April 2006

Prince 5.1 rev 5

April 2006

Prince 5.1 rev 4

February 2006

Prince 5.1 rev 3

January 2006

Prince 5.1 rev 2

December 2005

Prince 5.1

December 2005

Prince 5.0 rev 5

December 2005

Prince 5.0 rev 4

November 2005

Prince 5.0 rev 3

November 2005

Prince 5.0 rev 2

October 2005

Prince 5.0

October 2005

Prince 5.0 beta 4

August 2005

Prince 5.0 beta 3

July 2005

Prince 5.0 beta 2

June 2005

Prince 5.0 beta 1

May 2005

Prince 4.0

October 2004

Prince 3.1

May 2004

Prince 3.0

December 2003

Prince 2.1.p1

June 2003

Prince 2.1

June 2003

Prince 2.0

May 2003

Prince 1.0

April 2003