Roadmap

This is a development roadmap for Prince that lists upcoming features and improvements. Feature priority is determined by customer feedback, level of difficulty, resource availability, and compatibility with other development work. Please note that the order of items in the roadmap is not guaranteed and may change at any time.

Last updated 15 December 2014

TODO

Support the HTML5 template element.
Done 2013-11-07

Support the getComputedStyle method in the JavaScript DOM. (ref)
Done 2013-11-10

Support the setTimeout and clearTimeout methods in the JavaScript DOM.
Done 2013-11-11

Add prince-no-fallback font family to inhibit font fallback, leading to warnings if glyphs are not found. (ref, ref)
Done 2013-11-20

Support querySelector and querySelectorAll methods in the JavaScript DOM. (ref, ref)
Done 2013-12-26

Support the String.trim method in JavaScript, needed for jQuery 2.0.
Done 2013-12-26

Change JavaScript reserved keyword set to match web browsers.
Done 2013-12-26

Support the Node.contains method in the JavaScript DOM. (ref)
Done 2013-12-26

Support the Node.compareDocumentPosition method in the JavaScript DOM. (ref)
Done 2013-12-27

Support the href, rel, and type DOM properties on HTML link elements. (ref)
Done 2014-01-20

Support more HTML DOM element interfaces.
Done 2014-01-20

Support children, firstElementChild, lastElementChild, and childElementCount properties on parent nodes in the JavaScript DOM.
Done 2014-02-22

Fix OpenType GPOS issue affecting mark placement for Ezra SIL Hebrew font. (ref)
Done 2014-04-10

Fix issue where HTML documents containing large comments are slow to load. (ref)
Done 2014-05-23

Fix bug where xml:space is ignored if applied directly to <svg> elements.
Done 2014-05-23

Add default vertical margin to HTML list elements, for consistency with browsers. (ref)
Done 2014-05-26

Parse URLs in compliance with the new WHAT-WG URL specification.
Done 2014-06-04

Add new options for HTTP authentication, including the ability to provide different authentication credentials to different servers. (ref)
Done 2014-06-06

Support NTLM & Kerberos Windows authentication schemes for HTTP requests. (ref, ref, ref, ref, ref, ref, ref, ref)
Done 2014-06-06

Change the border shorthand property so that it does not affect border radius. (ref, ref)
Done 2014-06-13

Don't linebreak CJK text for white-space: nowrap | pre.
Done 2014-06-14

Fix bug where large border-radius settings can result in overlapping curves. (ref)
Done 2014-06-15

Support percentage values on border-radius properties, and clip images with rounded borders. (ref)
Done 2014-06-15

Support translate3d function in CSS transforms if Z coordinate is zero. (ref)
Done 2014-06-27

Remove unnecessary rule applying "max-width: 100%" to SVG elements in default style sheet. (ref)
Done 2014-06-28

Add prince-lang property.
Done 2014-07-02

Support the rebeccapurple color.
Done 2014-07-03

Apply "white-space: nowrap" to HTML nobr element. (ref)
Done 2014-07-08

Support "overflow-wrap / word-wrap: break-word". (ref, ref, ref, ref, ref, ref)
Done 2014-07-11

Update Prince PHP wrapper to use bypass_shell to fix current directory issue affecting cmd.exe on Windows. (ref)
Done 2014-07-22

Support the CSS word-break property.
Done 2014-07-25

Change prince-shrink-to-fit so that it only affects page body content, not page headers and footers. (ref)
Done 2014-08-11

Update Prince wrappers to support error log reporting for all convert methods. (ref)
Done 2014-08-12

Update Prince ActiveX/COM wrapper to add support for converting multiple input documents. (ref)
Done 2014-08-12

Add a --cookie command-line option (and associated Java/.NET API) for specifying cookies and associated site/path/expiry/secure flags. (ref, ref)
Done 2014-08-12

Change default value for --http-timeout option to 60 seconds. (ref)
Done 2014-08-12

Support prince-overprint() color function for CMYK and RGB colors. (ref)
Done 2014-08-15

Change the way local() works in @font-face src property so that it only refers to system fonts and not other @font-face rules. (Add new prince-lookup() value for old behaviour).
Done 2014-08-18

Add overprint mode argument to prince-overprint(), defaulting to overprint-mode-nonzero. (ref)
Done 2014-08-19

Support first-except page-policy value (eg. for string-set).
Done 2014-08-20

Fix bug affecting OpenType substitutions for below-base consonants in Indic scripts such as Bengali. (ref)
Done 2014-09-03

Support font-variant in @font-face rules to handle separate small-caps fonts. (ref)
Done 2014-09-09

Retrieve multiple resources concurrently over HTTP to reduce latency. (ref, ref)
Done 2014-09-09

Change behaviour of height/min-height/max-height properties so that blocks are not pushed to the next page unnecessarily.
Done 2014-09-30

Add --user-agent option to override the user agent string. (ref)
Done 2014-11-17

Change setOptions() method in Java wrapper to take multiple command-line arguments. (ref)
Done 2014-11-17

Fix bug for OpenType shaping of marks following ligatures that affected the Arabic Typesetting font.
Done 2014-11-30

Support ICC color profiles in JPEG, TIFF, and PNG images. (ref)
Done 2014-12-02

Support the <textPath> element in SVG. (ref, ref, ref)
Done 2014-12-03

Fix bug affecting the angle of SVG markers on curved paths. (ref)
Done 2014-12-03

Fix bug where SVG text can have wrong stroke width. (ref)
Done 2014-12-12

Fix bug affecting dx/dy attributes on SVG tspan elements containing right-to-left scripts (eg. Arabic).
Done 2014-12-12

Add PDF metadata required for compliance with PDF/X-3:2003 and PDF/X-4. (ref, ref, ref, ref, ref)
Done 2014-12-12

Fix bug where artificially slanted text (for example, italic Chinese) is invisible in SVG.

Add a mechanism to specify the separator used for inline footnotes. (ref, ref)

Investigate disappearing floats inside relatively positioned table rows. (ref)

Fix bug where floats can overlap, even if they have clear applied. (ref)

Support Thai line-breaking. (ref, ref)

Support XMLHttpRequest objects in the JavaScript DOM for AJAX requests. (ref, ref, ref)

Change @page rules to inherit from the document root element. (ref)

Provide a mechanism for breakable spaces of varying widths (eg. thin space, hair space).

Allow prince-script() to be used in the counter-reset and counter-increment properties. (ref)

Investigate issue where progressive JPEGs do not display correctly in Acrobat. (ref)

Fix bug where CSS transforms on tables do not affect the table caption. (ref)

Fix bug where "page-break-after: always" applied to page floats can also cause a page break before the page float.

Support multiple chained actions in the prince-pdf-open-action property. (ref)

Investigate issues where overflowing content interacts with page breaking. (ref)

Extend Prince shell to support multiple re-entrant Prince instances. (ref)

Extend getComputedStyle to return used width/height in some cases, for compatibility with web browsers.

Implement JavaScript DOM FileReader and File interfaces.

Support JavaScript canvas measureText method. (ref)

Change column rules so that they don't overlap spanning column floats. (ref)

Fix bug where SVG width behaves differently depending on whether it is specified as an attribute or a style property. (ref)

Support the SVG baseline-shift property. (ref)

Expose positions of formatted elements to the JavaScript DOM (box tracking).

Support justification of lines that don't contain spaces. (ref)

Support CSS3 properties for control of justification. (ref)

Fix bug where links are not affected by CSS transforms. (ref)

Add a mechanism to return image URLs from prince-script functions. (ref)

Add a property to control the initial PDF zoom level. (ref)

Fix bug where background images don't apply to table rows. (ref)

Support img alt attribute for tagged PDF.

Support h1-6 heading elements for tagged PDF.

Support PDF/A-1a (tagged PDF). (ref, ref, ref, ref)

Fix issues affecting Windows GUI. (ref, ref, ref)

Support window.frames in the JavaScript DOM.

Support document.cookie in the JavaScript DOM. (ref)

Support document.styleSheets in the JavaScript DOM. (ref)

Support CSSStyleDeclaration.setProperty method in the JavaScript DOM.

Support getBBox method in the SVG JavaScript DOM. (ref)

Support PrismJS. (ref, ref)

Support common JavaScript charting/graphing libraries, such as FusionCharts/Highcharts, d3, Flot, and MathJax. (ref, ref, ref, ref, ref, ref, ref)

Support RequireJS. (ref)

Update Prince wrappers to check if executable exists and is accessible. (ref)

Make footnotes work better inside long table cells. (ref)

Improve treatment of "page-break-before: avoid" so that it can split lines from a paragraph, instead of pulling the entire paragraph to the next page. (ref)

Design a mechanism for page headers/footers with dynamic height. (ref)

Design a mechanism for creating tables with a specified height suitable for invoices and other traditional forms. (ref, ref, ref)

Design a mechanism for changing table header/footer content on different pages. (ref)

Design a mechanism for styling content differently depending on which column it appears in. (ref)

Design a mechanism for changing from one column to two on the second page. (ref)

Design a mechanism to combine identical page references for indexing. (ref, ref, ref)

Design a mechanism to control the orientation of page headers/footers on landscape pages. (A new CSS property for @page rules?) (ref, ref, ref)

Design a mechanism for creating landscape pages that doesn't interrupt text flow. (ref)

Design a mechanism for combining page floats and named pages. (ref, ref, ref)

Provide a mechanism to set the default zoom level for PDF documents. (ref)

Support new "isolate" values on CSS unicode-bidi property, needed for HTML5 bdi element. (ref)

Support the CSS3 border-image property. (ref)

Allow SVG images to be repeated without increasing PDF file size. (ref, ref)

Support TIFF CCITT Group 4 fax encoding format for compressed images. (ref)

Support PDF compressed object streams to reduce the size of documents containing many link annotation objects. (ref)

Fix bug affecting fallback of the degree celsius character. (ref)

Normalise input filenames to avoid missing links on Windows. (ref, ref)

Support the Khmer and Burmese (Myanmar) scripts. (ref, ref, ref)

Investigate multiple issues affecting table cell width calculation. (ref, ref, ref)

Fix bug where JavaScript parseInt function only works for 31-bit integer values. (ref)

Support reading multiple input documents from standard input. (ref)

Workaround bug in MacOS X Preview affecting OpenType CFF fonts. (ref, ref)

Support the CSS tab-size property. (ref)

Support tooltips / popups in generated PDF files, eg. taken from the HTML title attribute. (ref)

Provide a mechanism for creating PDF annotations. (ref, ref, ref)

Remove support for "flow to start" as this can be done better with JavaScript.

Support the U+2060 word joiner character. (ref, ref)

Fix bug where bookmarks are out of order due to "float: top". (ref)

Allow missing glyphs to fallback to U+FFFD instead of question mark. (ref)

Investigate issue involving max-height on blocks containing images. (ref)

Add a mechanism for disabling OpenType ligatures. (ref, ref)

Investigate potential float bugs. (ref, ref)

Support embedding audio and video files inside PDF output. (ref, ref)

Reduce memory usage even more for large documents. (ref, ref)

Fix bug where line numbers for error messages in <script> tags are relative to the start of the element, not the start of the file.

Fix bug affecting opacity property in SVG. (ref, ref)

Support global defs in SVG. (ref)

Support the SVG foreignObject element. (ref, ref, ref, ref)

Support internal links to and from SVG content. (ref)

Fix bug affecting MathML msubsup with empty first element. (ref)

Improve spacing and layout in MathML equations. (ref, ref, ref, ref, ref)

Support line-breaking in inline MathML equations. (ref)

Integrate the STIX Fonts with Prince for improved MathML support.

Support scoped style elements. (ref)

Add man page to all Linux packages. (ref)

Provide a mechanism for automatically breaking long words that overlap narrow table cells or columns. (ref)

Add better warning messages for invalid CSS style sheet syntax. (ref, ref, ref, ref, ref, ref)

Be more selective about breaking lines after arbitrary hyphens. (ref)

Support non-printable layers (optional content groups?) in PDF files. (ref, ref, ref)

Support AES encryption for PDF files. (ref)

Links to IDs in the same document should still work even if base URL is different. (ref)

Support percentage values for the prince-border-clip property. (See CSS4). (ref)

Add new options to the PHP wrapper. (ref)

The root element background should bleed to the trim box if there are no margins, padding, or borders on the page.

Support loading hyphenation dictionaries from HTTP URLs. (ref)

Additional ideas for improvements to footnotes. (ref)

Make empty footnote calls not create a line box. (ref)

Allow multiple references to the same footnote. (ref)

Flip landscape pages to ensure that they end up correctly oriented when printed. (ref)

Investigate issue with :blank pages and page-break-after property. (ref)

Investigate automatic page renumbering in headers/footers. (ref)

Investigate method for controlling hyphenation at the end of right-facing pages, and other hyphenation improvements. (ref, ref, ref, ref, ref, ref)

Support kashidas for the justification of Arabic text. (ref)

Support subsetting for OpenType fonts with CFF outlines. (ref, ref)

Text labelled with the "gb2312" encoding should be decoded using the newer backwards compatible "gb18030" encoding.

Fix bugs affecting string-set applied to display: none elements. (ref)

Investigate possible bug causing crash on MacOS X. (FIXED?) (ref, ref)

Enable shrink-to-fit by default, ensure that it isn't fooled by invisible overlapping blocks, and that it applies to all pages. (ref)

Generate interactive PDF forms from HTML forms. (ref, ref)

Add support for the CSS3 text-shadow property. (ref, ref, ref)

Add support for the CSS3 box-shadow property. (ref)

Fix bug where letter-spacing is not applied elegantly. (ref)

Support SVG fonts.

Fix bug where fonts referenced using @font-face rules may be artificially emboldened or slanted unnecessarily, if the fonts claim not to be bold or italic. (ref, ref)

Fix bug where artificially slanted text is displayed incorrectly on landscape pages. (Note: this appears to be caused by broken printer drivers, and requires generating a new slanted font). (ref)

Support the xml:lang attribute to determine the language used for selecting OpenType layout features.

Support CSS3 sidenotes. (ref)

Support optical alignment and hanging punctuation for neater margins. (ref, ref)

Support graphite font tables. (ref)

Support the new font-variant properties for accessing numeric OpenType features described here.

Allow non-displayed elements such as title to create PDF bookmarks. (ref)

Allow arbitrary counters to be incremented on @page rules. (ref)

Fix bug where named strings are not updated in table headers and footers. (ref)

Support the overflow-x and overflow-y properties defined in CSS 3. (ref)

Support digital signatures on PDF files. (ref)

Support the "column-break-inside" property. (ref)

Add a case-insensitive attribute selector to support HTML 4 in the default style sheets. (ref)

Support the HTML align and valign attributes correctly so that valign inherits and align also applies to blocks. (ref)

Fix bug in which leading newline characters are stripped from absolutely positioned inline elements with white-space: pre.

Implement proper tab-stops in elements with white-space: pre instead of replacing tabs with spaces. (ref)

Support standard icc-color mechanism for including CMYK colors in SVG. (ref)

Specify a scale for pages when crop marks are enabled so that when they are viewed in Acrobat the trim box will fill the window. (ref)

Allow the user to disable HTTP proxying on a host by host basis. (ref)

Print the filename and line number if available when warning of missing glyphs for certain characters.

Support Arabic subtending marks, U+600 to U+603.

Add padding-inside / padding-outside and border-inside / border-outside properties for duplex page layouts. (ref, ref)

Support rendering directly to a PNG or JPEG image. (ref)

Support a list of exceptions in hyphenation pattern resources. (ref)

Provide a mechanism similar to the widows/orphans properties for controlling page breaking in lists and tables. (ref)

Add optional warnings for page breaks that leave too much space at the bottom of pages and content that overlaps the page boundaries.

Fix bug where XInclude does not support HTTP resources parsed as text.

Add a mechanism to control whether the first page of the document is treated as a left or right facing page. (ref, ref)

Support creating multiple PDF output files, for example one PDF file per chapter of the input document.

Support the opacity property. (ref)

Support the SVG stop-opacity property. (ref, ref)

Support glyph scaling for justification.

Fix bug where internal links to empty anchor elements in a block context don't work. (ref, ref, ref)

Remove limitation affecting concave float layouts. (ref, ref)

Support loading PDF files as images. (ref, ref, ref)

Fix bug where multiple floats can overlap if they are pulled out of their containing block by negative margins. (ref)

Change margin collapsing for empty blocks to match the CSS 2.1 specification.

Fix bug affecting table headers repeated on multiple pages in tables with collapsed borders. The width of the collapsed bottom border of the table header needs to be recalculated for each page that the table header is repeated on. (ref)

Support making generated PDF files commentable in Acrobat Reader. [This may not be possible as it requires a digital signature from Adobe, and is unnecessary from Adobe Reader X onwards anyway]. (ref)


DONE

Fix bug in which Prince is ignoring fonts on MacOS X if the font name contains the modifier "Book" instead of "Regular" or "Roman". (ref)
Done 2007-05-23

Fix bug in which Windows-style CR/LF newlines in <pre> elements in HTML documents (not XHTML documents) incorrectly cause double line breaks.
Done 2007-05-24

Add further support for the HTML textarea element. Support the rows attribute, change white-space to pre-wrap and clip text that overflows.
Done 2007-05-28

Fix bug affecting the prince-jpeg-quality property when applied to grayscale JPEG images.
Done 2007-05-28

Support the value attribute on the HTML li element, for explicitly specifying the list item number.
Done 2007-05-29

Change @page background to cover entire page box, not just page padding area, for consistency with the CSS3 Paged Media specification.
Done 2007-05-29

Fix bug in which elements containing only floated or positioned content still have a non-zero height, as if the content was still in the normal flow. (ref)
Done 2007-05-31

Fix performance regression in CSS parser.
Done 2007-06-08

Add --media command line argument to select available style sheets based on their media type, eg. "print" or "screen"; default is "print".
Done 2007-06-14

Shrink wide web pages down to fit the paper width by adding a new property to @page rules. (ref)
Done 2007-06-25

Change margin collapsing at the top of first pages. Currently, top margins are thrown away at the top of every page, however they should be kept at the top of first pages, for consistency with browsers and the CSS3 Paged Media spec.
Done 2007-06-25

Support @font-face rules that specify format("truetype") after the URL in the src property.
Done 2007-06-25

Fix bug in which the aspect ratio of images with an explicitly specified width and height is not preserved if the image width is reduced by the max-width property. (ref)
Done 2007-06-27

Fix bug in which tables ignore percentage height values. (ref)
Done 2007-06-27

Fix bug in which user induced column breaks incorrectly cause a page break when there is content preceding the columns. (ref)
Done 2007-06-28

Fix Linux and MacOS X install script so that it can be run from any directory, not just the current directory.
Done 2007-06-29

Release Prince 6.0 rev 2, including packages for Red Hat Enterprise Linux 3 and 4, SUSE Linux Enterprise Server 9, openSUSE Linux 10.2.
Done 2007-06-29


Support HTML anchors that use the name attribute instead of the id attribute.
Done 2007-07-06

Fix bug affecting vertical alignment of inline blocks whose content is longer than their specified height.
Done 2007-07-11

Support the HTML iframe element.
Done 2007-07-11

Support line-breaking between images.
Done 2007-07-12

Support the clear attribute on the HTML br element.
Done 2007-07-12

Detect overlapping content when performing shrink to fit on pages.
Done 2007-07-13

Fix bug in which absolutely positioned content may be duplicated in some situations. (ref)
Done 2007-07-16

Fix bug in which blocks in the normal flow with auto height and overflow not set to visible are not expanding in height to fit descendant floats.
Done 2007-07-17

Fix bug in which images that occupy no space will result in PDF files that cannot be opened by Acrobat.
Done 2007-07-19

Fix bug in which the page-break-inside property is being ignored on tbody elements. (ref)
Done 2007-07-19

Support the old SVG MIME type "image/svg-xml", which was deprecated in November 2000 but is still in use on some pages.
Done 2007-07-26

Fix bug in which images within hyperlinks are not always clickable unless they fall within the bounding box of the link element, which is inconsistent with the behaviour of web browsers. (ref)
Done 2007-07-26

Support HTTP authentication and add two new command line arguments, --http-user and --http-password. (ref)
Done 2007-07-27

Support the alt attribute on the HTML img element.
Done 2007-07-29

Support links and cross-references into and out of footnotes. (ref)
Done 2007-07-30

Add support for a new property for specifying the resolution of background images, similar to the existing image resolution property. (ref, ref, ref, ref)
Done 2007-07-30

Support absolute and relative positioning for elements that are taken out of the normal flow and placed in a page margin box. (ref)
Done 2007-07-31

Support printing in the bleed area of the page when crop marks are enabled and add a new property to control the size of the bleed area. (ref)
Done 2007-08-03

Support SVG background images. (ref, ref, ref, ref)
Done 2007-08-06

Improve performance for formatting long documents with lots of text.
Done 2007-08-10

Enable HTTPS support in libcurl. (ref)
Done 2007-08-13

Allow hyphenation regardless of text alignment. (ref)
Done 2007-08-13

Fix bug affecting large images loaded from data URLs on MacOS X.
Done 2007-08-20

Build a universal binary for MacOS X that runs on Intel and PowerPC systems. (ref, ref, ref)
Done 2007-08-20

Build a Prince package for FreeBSD 4.8.
Done 2007-08-20

Release Prince 6.0 rev 3.
Done 2007-08-21


Support TrueType font subsetting to reduce PDF file size. (ref, ref, ref, ref, ref, ref, ref)
Done 2007-08-27

Support line-breaking between Chinese, Japanese and Korean characters. (ref)
Done 2007-08-28

Improve performance of text hyphenation in multi-column layouts.
Done 2007-08-31

Fix bug where the page background image is not printing in the bleed area when crop marks are enabled and some background properties are being ignored on @page rules. (ref)
Done 2007-09-04

Fix bug affecting links between documents without fragment identifiers when processing multiple input documents. (ref)
Done 2007-09-07

Fix bug where page headers and footers flowed to the start of the document behave strangely when multiple input documents are being processed. (ref)
Done 2007-09-10

Support multiple pseudo-elements in CSS selectors so that generated footnotes and list item markers can be styled. (For example, ::after::marker).
Done 2007-09-17

Fix bug affecting page breaking in tables with table-row-groups that have page-break-inside: avoid. (ref)
Done 2007-09-21

Fix bug affecting page breaking in tables with cells that span many rows. (ref)
Done 2007-09-21

Fix bug affecting tables with baseline aligned cells that overlap the page boundaries in some situations.
Done 2007-09-21

Fix bug in which complex tables can cause an internal error.
Done 2007-09-22

Update the .NET interface for Prince to add new Convert() methods that take an input stream and a filename, or a filename and an output stream, or a string and an output stream. Also, add a helper class that can be used as a HttpResponse filter by ASP.NET pages. (ref)
Done 2007-10-01

Change install script to preserve the existing license file instead of overwriting it.
Done 2007-10-04

Release Prince 6.0 rev 4.
Done 2007-10-04


Add a new caption-page property for controlling whether table captions should be repeated when a table is broken over multiple pages. (ref)
Done 2007-10-09

Stop libcurl from adding "Pragma: no-cache" headers to each HTTP request, which can degrade performance when caching is desired.
Done 2007-10-15

Add new --http-proxy command-line argument for specifying a proxy server to be used when retrieving resources over HTTP.
Done 2007-10-16

Cache failed HTTP requests to avoid repeatedly trying to retrieve the same resource.
Done 2007-10-16

Add support for presentational attributes on the HTML hr element and support for the HTML s (strike-through) element.
Done 2007-10-17

Improve margin collapsing behaviour for blocks that clear floats.
Done 2007-10-29

Improve page breaking of blocks with page-break-before/after: avoid. (ref)
Done 2007-10-29

Fix bug in which "page-break-after: always" is not correctly applying to table rows.
Done 2007-10-29

Fix bug in which some pages will not be matched by the :blank page class, even if they are actually blank.
Done 2007-10-29

Fix bug in which properties applied to page margin boxes are not taking the specificity of the page selector into account when cascading.
Done 2007-10-29

Support the image/pjpeg MIME type as an alias for image/jpeg. (ref)
Done 2007-11-04

Support the HTML meta tag with a name of "Generator" by copying it into the PDF "Creator" metadata field.
Done 2007-11-06

Fix bug affecting string-set with "first" page-policy when multiple documents are in use.
Done 2007-11-17

Apply the page-break-inside property to table rows as well as cells. (ref)
Done 2007-11-17

Fix bug in which page-break-after: avoid can actually cause unwanted page breaks when applied to the last element in a block.
Done 2007-11-20

Improve column balancing and the treatment of page floats and footnotes on pages with columns.
Done 2007-11-20

Don't download Flash content referenced from the HTML object element.
Done 2007-12-11

Support the HTML nowrap attribute on table cells. (ref)
Done 2007-12-18

Support the deprecated HTML strike element.
Done 2007-12-18

Change the table border-spacing property to be inherited.
Done 2007-12-18

Correctly render HTML img elements that have an alt attribute but no src attribute.
Done 2007-12-19

Ensure that center margin box takes full width of page header if an empty element is flowed to it and no left or right margin box has been specified.
Done 2007-12-20

Fix bug affecting interaction between named pages and left/right page breaks. (ref)
Done 2007-12-20

Remember cookies for subsequent HTTP requests in the same session. (ref, ref)
Done 2007-12-21

Fix internal error caused by replaced elements with zero width.
Done 2007-12-21

Fix shrink-wrap issue when float contains table with specified width. (ref)
Done 2007-12-27

Fix page breaking issue when float is immediately followed by page break.
Done 2007-12-27

Fix bug affecting the currentColor keyword in SVG. (ref)
Done 2007-12-28

Add a new @prince-pdf CSS rule that can be used for applying Prince-specific PDF properties.
Done 2007-12-29

Add a new Prince-specific property, "prince-pdf-script", for adding JavaScript to generated PDF files. The primary use case for this property is making PDF files that print automatically when opened.
Done 2007-12-29.

Add a new Prince-specific property, "prince-pdf-page-mode", for specifying whether the PDF bookmarks should be displayed when the PDF file is opened. This property may also specify that the PDF should be displayed fullscreen. (ref)
Done 2007-12-29

Update Prince PHP interface to support basic HTTP authentication. (ref)
Done 2008-01-03

Add a new Prince-specific property, "prince-pdf-print-scaling", for specifying whether pages should be scaled when the PDF file is printed. By default this is left up to the PDF viewing application. (ref)
Done 2008-01-07

Fix bug affecting footnotes and page floats in content that has been flowed into page margin boxes.
Done 2008-01-07

Fix bug affecting internal links on Windows. (ref)
Done 2008-01-09

Fix bug affecting automatic layout for tables with a specified width. (ref)
Done 2008-01-11

Build a Prince package for SUSE 10.
Done 2008-01-14

Build a Prince package for Solaris 10 / Intel. (ref, ref)
Done 2008-01-14

Release Prince 6.0 rev 5.
Done 2008-01-14


Fix bug affecting floats with negative margins that are wider than the page.
Done 2008-01-21

Fix bug affecting the style attribute in SVG. (ref)
Done 2008-01-22

Fix bug affecting style sheets that begin with a UTF-8 byte order mark. (ref)
Done 2008-01-22

Fix bug in which "hyphens: manual" is not enabling processing of soft-hyphens. (ref, ref)
Done 2008-01-24

Improve performance when hyphenation is enabled.
Done 2008-01-26

Avoid breaking after hyphens that follow or precede a number.
Done 2008-01-27

Fix bug causing line breaks after punctuation preceding a hyphenated word when hyphenation is disabled.
Done 2008-01-28

Support "hyphens: prince-expand-all" to debug hyphenation patterns.
Done 2008-01-28

Fix bug affecting hyphenation of words adjacent to certain punctuation characters. (ref)
Done 2008-01-28

Fix bug in which column floats and footnotes are not always placed at the very bottom of the column. (ref)
Done 2008-01-30

Fix bug in which two words joined by punctuation such as em-dashes are treated as one word for hyphenation purposes.
Done 2008-02-01

Fix issue affecting column width in automatic table layout with colspan cells. (ref)
Done 2008-02-04

Fix issue where multiple redundant error messages are produced if an image can't be loaded.
Done 2008-02-05

Change warning level of glyph fallback messages.
Done 2008-02-09

Support the type attribute on HTML lists.
Done 2008-02-14

Support different list marker styles on nested HTML lists.
Done 2008-02-14

Fix bug in which "." is loaded if an HTML img element has no src attribute.
Done 2008-02-17

Fix bug in which sibling selectors are not always correctly applied. (ref)
Done 2008-02-22

Support prince-flow() as well as flow() on the content property. (ref)
Done 2008-02-24

Fix bug in which page-break-after: avoid can actually cause unwanted page breaks when applied to the last row in a table. (ref)
Done 2008-03-04

Build a Prince package for Solaris 10 / Sparc. (ref, ref, ref)
Done 2008-03-05

Fix bug leaving unnecessary page break after page floats within named pages. (ref)
Done 2008-03-05

Add prince-page-group property to control when a named page group starts or restarts.
Done 2008-03-05

Fix bug affecting some tables with cells that span multiple columns. (ref)
Done 2008-03-19

Support rowspan=0 from HTML 4.
Done 2008-03-19

Fix bug affecting borders and margins applied to images.
Done 2008-03-20

Fix bug affecting columns containing large column floats.
Done 2008-03-24

Fix bug affecting width calculation for inline blocks. (ref)
Done 2008-03-24

Improve interaction between columns, page floats and footnotes.
Done 2008-03-26

Fix bug affecting mailto: links.
Done 2008-04-06

Support new prince-trim property to specify the size of the trim box when crop marks are enabled. (ref)
Done 2008-04-07

Fix "bad argument" warning affecting some fonts on MacOS X Leopard. (ref, ref)
Done 2008-04-10

Support external "cookie jar" files for specifying authentication cookies. (ref)
Done 2008-04-10

Change cross-reference links and bookmarks to link to the location of the target content on the page, not just the top of the page on which the content appears.
Done 2008-04-15

Fix bug affecting table cells that span rows and break across multiple pages. (ref)
Done 2008-04-22

Fix bug affecting the width of table cells containing text with soft-hyphens.
Done 2008-04-24

Accept SIGPIPE to avoid zombie processes when running Prince under PHP. (ref, ref)
Done 2008-04-24

Fix bug affecting the width of table cells containing manually hyphenated words.
Done 2008-04-28

Don't use the specified HTTP proxy server for localhost URLs. (ref)
Done 2008-04-28

Support links to local PDF files with PDF open parameters.
Done 2008-04-30

Fix bug in default style sheets affecting HTML valign attribute on table cells. (ref)
Done 2008-05-01

Improve treatment of landscape pages. (ref)
Done 2008-05-01

Build a Prince package for FreeBSD 6.x. (ref, ref)
Done 2008-05-03

Support TrueType Collection fonts on Linux, FreeBSD and Solaris.
Done 2008-05-04

Fix bug in which RPM upgrade can overwrite existing license file. (ref)
Done 2008-05-06

Release Prince 6.0 rev 6.
Done 2008-05-06


Improve performance for documents containing many id attributes. (ref)
Done 2008-05-07

Support the image/x-png MIME type used by Internet Explorer. (ref, ref)
Done 2008-05-09

Fix where some font family names are hidden on Linux, FreeBSD and Solaris.
Done 2008-05-21

Fix bug affecting Prince on Windows 2000. (ref)
Done 2008-05-22

Fix bug creating zombie processes when running Prince from CGI scripts on Windows. (ref)
Done 2008-06-18

Reduce memory usage for documents containing many elements and CSS rules, such as documents with thousands of table cells. (ref)
Done 2008-06-18

Fix bug affecting the layout of inline elements with horizontal borders that span multiple lines.
Done 2008-06-18

Fix bug affecting the width of tables with collapsed borders.
Done 2008-06-18

Support the text-decoration properties on table cells and rows.
Done 2008-07-01

Support the min-width and max-width properties on table cells.
Done 2008-07-01

Fix bug affecting hyphenated words breaking across pages.
Done 2008-07-01

Fix bug where the overflow property is ignored on table cells. (ref)
Done 2008-07-01

Fix bug where the page break properties do not apply inside table cells. (ref)
Done 2008-07-02

Allow block-level tables to be pushed aside by floats.
Done 2008-07-05

Fix bug affecting the hyphenate-before and hyphenate-after properties when using non-ASCII hyphenation patterns such as Russian. (ref)
Done 2008-07-21

Fix bug affecting the resolution of TIFF images.
Done 2008-07-31

Support CMYK TIFF and JPEG images. (ref, ref, ref, ref, ref)
Done 2008-07-31

Update string-set values on each page for content that has been flowed into the page margin boxes. (ref, ref)
Done 2008-08-06

Fix bug on Solaris where bitmap fonts can hide TrueType fonts with the same name.
Done 2008-08-13

Change default styling on HTML <pre> element to add top and bottom margin for compatibility with browsers.
Done 2008-08-13

Change default styling on HTML <br> elements for compatibility with browsers.
Done 2008-08-13

Release Prince 6.0 rev 7.
Done 2008-09-17


Support the image/jpg MIME type as an alias for image/jpeg. (ref)
Done 2008-10-01

Support "date" as a meta tag in HTML and XHTML documents. (ref)
Done 2008-11-11

Support repeating background images using PDF patterns to reduce file size. (ref)
Done 2008-11-13

Support tiling patterns in SVG.
Done 2008-11-13

Fix bug affecting the hyphenation of words with leading punctuation, such as quotes. (ref)
Done 2008-11-17

Ensure that ActiveX/COM interface does not pop-up message boxes on error. (ref)
Done 2008-11-18

Fix bug affecting the width calculation of cells in fixed-width tables.
Done 2008-11-18

Fix bug affecting line-height for inline elements when vertical-align is set.
Done 2008-12-06

Remove support for the text-height property, which has been dropped from CSS 3.
Done 2008-12-06

Fix performance issue where Prince reloads SVG images each time they are referenced.
Done 2008-12-28

Fix bug affecting line height when small-caps are enabled.
Done 2009-01-12

Fix bug where text-decoration does not apply to page margin boxes. (ref)
Done 2009-01-20

Fix bug where progress counter is reset by page breaks in the document. (ref)
Done 2009-01-20

Fix bug where no Accept-Encoding HTTP header was being sent and responses using gzip transfer encoding are not processed correctly.
Done 2009-01-26

Extend page borders into the bleed area as well as page backgrounds. (ref)
Done 2009-01-28

Fix bug where the column-break-before and column-break-after properties are not working. (ref)
Done 2009-02-03

Fix bug where text-decoration does not apply to a span full of nbsp characters. (ref)
Done 2009-02-04

Fix bug where only a limited number of documents can be added to the GUI in one operation. (ref)
Done 2009-02-11

Fix bug affecting HTML files that begin with a UTF-8 byte order mark (BOM). (ref, ref, ref)
Done 2009-02-13

Fix bug where some UTF-8 HTML files are incorrectly processed. (ref)
Done 2009-02-13

Fix bug where a vertical tab character in HTML files terminates parsing.
Done 2009-02-13

Release Prince 6.0 rev 8.
Done 2009-02-16


Support bidirectional text and layout. This includes support for the UNICODE bidirectional layout algorithm, the CSS direction and unicode-bidi properties, and the HTML dir attribute and bdo element. (ref, ref)
Done 2007-12-29

Support text-transform for Greek, Cyrillic and other scripts, not just Latin.
Done 2008-01-18

Fix bug in which list item markers are not displayed on the right-hand side of the list item in a right-to-left context.
Done 2008-02-27

Support bidi mirroring for paired characters such as brackets, parentheses and quotes.
Done 2008-03-03

Support different levels of boldness for the font-weight property. (ref)
Done 2008-03-24

Support Arabic shaping with OpenType fonts.
Done 2008-03-26

Support Latin ligatures with OpenType fonts. (ref, ref)
Done 2008-03-26

Support Devanagari shaping with OpenType fonts.
Done 2008-04-23

Add hyphenation dictionaries for more languages: da, de, el, es, fi, fr, is, it, lt, pl, ru, sl, sv.
Done 2008-05-27

Support the OpenType mset feature for combining marks with base glyphs.
Done 2008-08-31

Fix bug affecting Arabic shaping where the joining class of some letters was being ignored. (ref)
Done 2008-08-31

Support positioning of diacritical marks using the OpenType mark feature. (ref)
Done 2008-08-31

Support positioning of multiple diacritical marks using the OpenType mkmk feature. (ref)
Done 2008-09-02

Support positioning of diacritical marks relative to ligatures.
Done 2008-09-09

Support kerning information found in OpenType fonts for the Latin, Greek and Cyrillic scripts. (ref)
Done 2008-09-12

Support the calt and rlig substitution features for Arabic.
Done 2008-09-12

Support the ccmp substitution feature for all scripts.
Done 2008-09-12

Support for cursive attachment positioning.
Done 2008-09-15

Support small-caps found in OpenType fonts.
Done 2008-09-15

Support Bengali shaping with OpenType fonts.
Done 2008-09-23

Support Gurmukhi (Punjabi) shaping with OpenType fonts.
Done 2008-09-23

Support Gujarati, Oriya, Tamil, Telugu, Kannada and Malayalam shaping with OpenType fonts.
Done 2007-10-24

Support OpenType CFF fonts (.otf files). (ref, ref, ref, ref, ref)
Done 2008-11-07

Synthesize bold and italic fonts in the PDF output when a true bold or italic font is not available. (ref)
Done 2008-11-25

Optimise OpenType layout support by checking in advance whether a font supports a particular feature, eg. kerning or ligatures.
Done 2009-01-08

Fix bug where the "inherit" keyword was not correctly applied to page margin boxes.
Done 2009-01-19

Allow footnotes to be specified using the float property.
Done 2009-01-26

Allow multiple page selectors on the same @page rule. (ref)
Done 2009-02-26

Improve font scanning on Linux.
Done 2009-02-26

Fix bug affecting Date meta element in XHTML. (ref)
Done 2009-04-01

Allow absolutely positioned blocks to extend beyond page border. (ref)
Done 2009-04-13

Break unbalanced columns to fit in blocks with specified height. (ref)
Done 2009-04-15

Fix bug where blocks with specified height could break across pages. (ref)
Done 2009-04-15

Support the box-sizing property.
Done 2009-04-24

Add a new property, prince-pdf-destination, to create named destinations in generated PDF files.
Done 2009-05-06

Fix bug affecting TrueType Collection fonts on Windows. (ref)
Done 2009-05-12

Improve font scanning on MacOS X by using CoreText API. (ref)
Done 2009-05-14

Fix bug where margin box backgrounds do not extend into the page bleed area. (ref)
Done 2009-05-19

Fix bug where page background are rendered incorrectly on landscape pages. (ref)
Done 2009-05-21

Fix bug where Prince could fail to render some arrangements of floating blocks. (ref)
Done 2009-05-21

Support the TeX algorithm for high-quality line-breaking and justification. (ref, ref)
Done 2009-05-21

Allow the last word in a column or page to be hyphenated. (ref, ref)
Done 2009-05-21

Fix bug affecting the height of blocks with "overflow: hidden" containing floats. (ref)
Done 2009-05-22

Support four values for the prince-trim and prince-bleed properties, similar to margins and padding. (ref)
Done 2009-05-24

Fix bug affecting the merging of related font subsets. (ref)
Done 2009-05-24

Add support for times to Date meta element in XHTML. (ref)
Done 2009-05-24

Fix bug where all pages in generated PDF files share the same resources dictionary for fonts and images. (ref)
Done 2009-05-25

Add a new property, prince-pdf-link-type, to control whether web or file links are created in generated PDF files.
Done 2009-05-27

Change the way @font-face rules are processed to follow the latest draft of the CSS3 Fonts module.
Done 2009-06-01

Support the unicode-range descriptor on @font-face rules.
Done 2009-06-01

Allow the page counter to be incremented on block elements. (ref)
Done 2009-06-02

Support counter-reset and counter-increment for the pages counter on block elements. (ref, ref, ref)
Done 2009-06-03

Automatically escape brace characters appearing inside URLs. (ref)
Done 2009-06-03

Support the new email input type defined in HTML5.
Done 2009-06-12

Expand the default fonts style sheet to provide @font-face rules for more supported scripts.
Done 2009-06-22

Add a --log-stats command-line option for printing document statistics such as the total page count. (ref, ref, ref)
Done 2009-06-23

Add 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. (ref)
Done 2009-06-23

Upgrade to libcurl 7.19.5. (ref)
Done 2009-06-29

Release Prince 7.0 beta 1.
Done 2009-07-02


Add --insecure option to disable checking SSL certificates (already exists as undocumented option --ssl-blindly-trust-server). (ref)
Done 2009-07-08

Fix performance regression affecting multi-column layouts inside positioned blocks and inline blocks. (ref)
Done 2009-07-14

Fix bug affecting text-align on narrow lines. (ref)
Done 2009-07-14

Assume character script is Latin if it would otherwise be "Common", eg. for digits 0-9. This is necessary to correctly apply OpenType substitution features.
Done 2009-07-18

Support the name attribute on HTML anchors even when it differs from the id attribute.
Done 2009-07-19

Support fallback colors using in SVG paint specifications, eg. for the fill property. (ref)
Done 2009-07-20

Extend font-variant prince-opentype() value to support numbered alternates.
Done 2009-07-22

Fix bug affecting system fonts with multiple variant faces on MacOS X, like Hoefler Text.
Done 2009-07-22

Support the shorthand "font" property in SVG, and the font-variant and font-stretch properties. (ref)
Done 2009-07-22

Rename --ssl-ca-cert to --ssl-cacert and add --ssl-capath option for compatibility with curl. (ref)
Done 2009-08-04

Support chaining contextual OpenType substitutions required for complex scripts.
Done 2009-08-05

Fix bug affecting OpenType substitutions with multiple replacement glyphs.
Done 2009-08-12

Support chaining contextual OpenType positioning required for complex scripts.
Done 2009-08-12

Fix bug affecting the hyphenation of the last word in a paragraph containing a float. (ref)
Done 2009-08-14

Fix bug affecting the width of shrink-to-fit boxes (eg. inline blocks, table cells and floats) containing multiple columns. (ref)
Done 2009-08-19

Use the PostScript name as the BaseFont name for embedded OpenType CFF fonts. (ref)
Done 2009-08-20

Fix bug where the SVG fill-opacity property was not inherited. (ref)
Done 2009-08-20

Fix bug where the HTML align attribute on <tr> elements does not affect <th> elements. (ref)
Done 2009-08-29

Add hyphenation dictionaries for more languages: pt.
Done 2009-08-30

Improve performance for long documents using fonts with OpenType layout features. (ref)
Done 2009-09-08

Support the arabic-indic style for counters and lists.
Done 2009-09-15

Fix bug where internal links to documents with /../ or /./ in the path name are not resolved correctly. (ref)
Done 2009-09-21

Fix bug affecting footnote counters in right-to-left text. (ref)
Done 2009-09-21

Fix bug where float inside/outside doesn't work correctly in paragraphs that span page breaks. (ref)
Done 2009-09-23

For Content MathML, don't print the base on <cn> elements if it is decimal. (ref)
Done 2009-09-28

Fix bug causing Prince to hang indefinitely on some justified paragraphs. (ref, ref)
Done 2009-10-01

Support embedding OpenType CFF fonts without requiring PDF 1.6. (ref)
Done 2009-10-12

Put back support for the hyphenate-lines property. (ref)
Done 2009-10-13

Build a Prince package for 64-bit Linux. (ref, ref)
Done 2009-10-21

Release Prince 7.0.
Done 2009-10-21


Treat right-to-left and left-to-right bidi marks as non-printing characters. (ref)
Done 2009-10-16

Improve handling of symbolic fonts with no Unicode charmap, such as Wingdings and barcode fonts. (ref)
Done 2009-10-22

Fix bug affecting unquoted font-family names that include numbers. (ref)
Done 2009-10-22

Add prince-pdf-open-action property to specify actions such as printing that should take place automatically when the PDF file is opened. (ref)
Done 2009-10-23

Change prince-pdf-link-type to apply to bookmark links as well as normal links.
Done 2009-10-23

Ignore invalid intrinsic resolutions in JPEG images.
Done 2009-10-25

Fix bug affecting collapsing borders for footers on tables that span page breaks.
Done 2009-10-26

Fix bug affecting line-breaking of string-set values used in flowed blocks. (ref)
Done 2009-10-27

Add prince-base-url() value to content property for accessing document URL.
Done 2009-10-29

Fix bug affecting some OpenType chaining contextual substitutions.
Done 2009-10-30

Fix bug where hyphenation can prevent ligature formation. (ref)
Done 2009-11-02

Fix bug where margins can collapse through blocks with "overflow: hidden".
Done 2009-11-02

Support OpenType positioning rules with vertical placement.
Done 2009-11-05

Fix bug where non-embedded fonts can still be subset. (ref)
Done 2009-11-09

Fix bug where punctuation interferes with kerning and other OpenType features. (ref)
Done 2009-11-10

Fix bug where words containing apostrophes will not be hyphenated.
Done 2009-11-10

Fix bug affecting Fontconfig on Red Hat Enterprise Linux 4. (ref)
Done 2009-11-11

Support grayscale TIFF and PNG images without expanding them to RGB. (ref)
Done 2009-11-12

Support OpenType extension lookups needed for kerning with the Arno Pro font. (ref)
Done 2009-11-12

Support the OpenType GDEF table, needed for some Arabic and Indic fonts.
Done 2009-11-19

Fix bug affecting preformatted whitespace between spans in HTML documents. (ref)
Done 2009-12-17

Support the WOFF font file format.
Done 2009-12-22

Support multiple x/y/dx/dy and rotate values on text elements in SVG. (ref)
Done 2009-12-30

Add a new --fileroot option for specifying the root directory used to resolve absolute filenames. (ref, ref, ref, ref)
Done 2010-01-02

Support bidirectional text layout in SVG.
Done 2010-01-03

Support the letter-spacing and word-spacing properties in SVG. (ref)
Done 2010-01-04

Fix bug affecting style sheets beginning with a UTF-8 BOM immediately followed by an identifier. (ref)
Done 2010-01-05

Support Unicode characters up to U+30000.
Done 2010-01-05

Add new secret command-line option --no-artificial-fonts to disable synthesised bold and italic fonts. (ref)
Done 2010-01-07

Support internal links in documents with multiple base URLs. (ref)
Done 2010-01-08

Support table-baseline property needed for MathML for CSS.
Done 2010-01-10

Support the border-break property. (ref)
Done 2010-01-11

Support the border-clip property for specifying the length of the top border on the @footnotes area. (ref, ref)
Done 2010-01-11

Support commonly used HTML5 elements, such as section. (ref)
Done 2010-02-03

Release Prince 7.1.
Done 2010-05-05


Calculate the baseline of MathML chunks in order to vertically align them to the baseline of the surrounding block. (ref, ref, ref)
Done 2010-03-03

Fix bug affecting table cells that span rows and break across multiple pages. (ref)
Done 2010-04-05

Fix bug where space before commas in CSS selectors will result in rules being ignored. (ref)
Done 2010-04-26

Handle misidentified images returned over HTTP with incorrect MIME types. (ref, ref, ref, ref)
Done 2010-04-27

Fix bug affecting positioned blocks inside justified paragraphs. (ref)
Done 2010-04-28

Improve line-breaking for Chinese text.
Done 2010-04-29

Add --http-timeout option to avoid waiting indefinitely for slow servers. (ref)
Done 2010-05-03

Support Chinese and Japanese counter styles for list numbering. (ref)
Done 2010-05-23

Support Persian counter styles for list numbering. (ref)
Done 2010-05-23

Fix bug where the type attribute was incorrectly affecting the list-style-type for non-XHTML elements. (ref)
Done 2010-05-23

Remove max-width rule for img elements in the default HTML style sheets. (ref)
Done 2010-05-25

Change default value of prince-image-resolution property to "normal".
Done 2010-06-03

Support the <style> element in SVG. (ref, ref)
Done 2010-06-13

Fix bug affecting non-break space characters in SVG. (ref)
Done 2010-06-15

Support scientific/exponential notation for coordinates in SVG. (ref, ref, ref)
Done 2010-06-15

Support the <switch> element in SVG.
Done 2010-06-16

Fix bug affecting empty inline tables (and <select> elements).
Done 2010-07-21

Fix bug where counter scopes are incorrectly extended outside of parent elements. (ref)
Done 2010-07-24

Add default style sheet rule to hide HTML input elements with type="hidden".
Done 2010-07-27

Fix bug where the width property has no effect on page margin boxes. (ref)
Done 2010-08-03

Support XHTML style and link elements that occur in the document body.
Done 2010-08-11

Respect the xml:base attribute for XHTML link and style elements. (ref)
Done 2010-08-11

Support JavaScript in HTML script elements when the --javascript option is enabled. (ref, ref, ref)
Done 2010-08-12

Add a --script command-line argument for running user JavaScript files.
Done 2010-08-12

Support PDF attachments by adding a new --attach=FILE option and "show-attachments" value for the prince-pdf-page-mode property. (ref)
Done 2010-08-15

Support device-cmyk() as alias for cmyk() color function.
Done 2010-08-25

Support Unicode characters beyond U+30000. (ref)
Done 2010-09-22

Add :nth() page selector. (ref)
Done 2010-10-04

Remove "line-height: none" from HTML sub/sup elements for browser compatibility.
Done 2010-10-19

Fix bug leading to gpos warnings and introducing unnecessary kerning with certain fonts. (ref)
Done 2010-10-30

Support the JavaScript Document Object Model (DOM).
Done 2010-11-16

Support JavaScript regular expressions.
Done 2010-11-16

Fix bug where @charset rules will block @import rules.
Done 2010-12-01

Improve performance for fonts with many OpenType glyph substitution rules, such as the SIL Charis font.
Done 2010-12-18

Fix bug where cmyk() and rgba() background colors are not being applied to table rows and row groups.
Done 2010-12-21

Fix bug where text decoration does not work properly with text-indent. (ref)
Done 2011-02-21

Replace the --log-stats command-line option with a JavaScript API.
Done 2011-02-22

Update the default hyphenation dictionaries. (ref, ref)
Done 2011-03-02

Fix bug where the column-break-before and column-break-after properties only work on direct children of an element with multi-column layout. (ref)
Done 2011-03-03

Allow the column properties to apply to table cells and list items.
Done 2011-03-03

Fix bug where forced page breaks in list items will cause the marker to be repeated.
Done 2011-03-03

Release Prince 8.0 beta 1.
Done 2011-03-20


Fix bug where column floats in nested multi-column layouts go to the outer column, not the inner column. (ref)
Done 2011-03-20

Fix bug affecting "float: prince-column-top-if-necessary" on elements that are not inside columns. (ref)
Done 2011-03-20

Fix bug affecting column floats and footnotes inside other floats, inline and absolutely positioned blocks, and table cells. (ref)
Done 2011-03-23

Fix bug affecting empty leaders. (ref)
Done 2011-03-23

Be more aggressive when packing page floats on pages with balanced columns. (ref)
Done 2011-03-24

Change page vertical margin percentages to be resolved relative to page height, not width.
Done 2011-03-28

Expand leaders before performing text alignment. (ref)
Done 2011-03-28

Support the prince-link property on pseudo-elements.
Done 2011-04-20

Provide a mechanism to invoke JavaScript from CSS generated content. (ref, ref, ref)
Done 2011-05-04

Support PDF bookmarks on pseudo-elements.
Done 2011-05-10

Fix bug affecting bookmarks in repeating table headers and footers. (ref)
Done 2011-05-10

Reduce memory usage for documents containing many elements. (ref, ref)
Done 2011-05-28

Add prince-pdf-page-layout property to control initial page layout in PDF viewer. (ref, ref)
Done 2011-05-28

Ensure location.href begins with "file://" for local file URLs as jQuery requires this.
Done 2011-06-02

Support inset/outset/ridge/groove/double styles for column rules.
Done 2011-06-02

Fix bug affecting OpenType positioning in the SIL Charis font.
Done 2011-06-06

Add new property, prince-pdf-page-label, to specify PDF page labels.
Done 2011-06-16

Support Unicode escapes in JavaScript strings.
Done 2011-06-22

Enable JavaScript when using Prince Windows GUI. (ref, ref)
Done 2011-06-24

Release Prince 8.0.
Done 2011-09-12


Fix bug affecting page breaking of table rows with specified height. (ref)
Done 2011-07-21

Support NUL characters in JavaScript strings. (ref)
Done 2011-07-28

Allow line-breaking in prince-script() generated content.
Done 2011-08-02

Fix bug causing abort due to big integer values in JavaScript.
Done 2011-08-05

Ignore bogus <!-- comments in JavaScript.
Done 2011-08-06

Support deprecated octal escape codes in JavaScript.
Done 2011-08-07

Support URI encode/decode functions in JavaScript.
Done 2011-08-15

Support zero-width joiner character in Arabic text. (ref)
Done 2011-08-17

Create Prince package for FreeBSD 8.2.
Done 2011-08-18

Support "column-span: all". (ref, ref, ref, ref)
Done 2011-08-18

Use absolute path for file:// URLs in location.href property.
Done 2011-08-21

Support the textContent property in the JavaScript DOM. (ref)
Done 2011-08-24

Support inter-character justification for CJK text with new prince-text-justify property. (ref)
Done 2011-08-29

Support CSS3 Transforms. (ref, ref, ref, ref, ref)
Done 2011-08-29

Fix bug where background images are not appearing on tables. (ref, ref)
Done 2011-09-17

Change "page-break-after: left | right" to leave a blank page if necessary at the end of the document, to guarantee an even page count. (ref, ref)
Done 2011-09-22

Support DOM style property on HTML elements. (ref)
Done 2011-09-23

Add a JavaScript API for setting PDF output options.
Done 2011-10-04

Improve scaling of SVG when the viewport height is a percentage. (ref)
Done 2011-10-07

Support "display: none" on SVG elements. (ref, ref)
Done 2011-10-08

Allow overflowing content to continue across multiple pages.
Done 2011-10-10

Support MIME type parameter values in quotes, eg. charset="UTF-8".
Done 2011-10-12

Avoid using CID font encoding in PDF files unless absolutely necessary. (ref, ref)
Done 2011-10-12

Fix bug affecting table cells that span multiple columns. (ref)
Done 2011-10-20

Create RPM for CentOS / Red Hat Enterprise Linux 6. (ref, ref)
Done 2011-11-14

Support the SVG clipPath element and clip-path / clip-rule CSS properties. (ref, ref, ref)
Done 2011-11-18

Fix bug affecting ::first-letter pseudo-element and nested spans. (ref)
Done 2011-12-12

Fix bug affecting prince-column-footnote outside of multi-column layouts. (ref)
Done 2011-12-13

Support new command-line argument -l / --input-list for specifying multiple input files in another file instead of directly on the command-line. (ref)
Done 2011-12-13

Extend prince-linebreak-magic property to apply to \ characters.
Done 2011-12-13

Fix bug affecting Unicode filenames and command-line arguments on Windows.
Done 2011-12-20

Support OpenType fonts with PostScript outlines (OTF/CFF fonts) when installed as system fonts on Windows. (ref)
Done 2011-12-20

Support the ::first-line pseudo-element.
Done 2012-01-16

Rename prince-jpeg-quality property to prince-image-magic and add snap-to-integer-coords value. (ref)
Done 2012-01-21

Change JavaScript Number.toString method to comply with spec. (ref)
Done 2012-01-22

Fix curl HTTP referer issue causing transient 400 errors for some HTTP requests. (ref, ref)
Done 2012-01-30

Fix bug where JavaScript mod operator returns undefined for non-integer values.
Done 2012-02-19

Fix issue affecting the hyphenation of capitalised and uppercase words. (ref, ref, ref)
Done 2012-02-21

Add Math.seedRandom function for seeding the JavaScript random number generator. (ref)
Done 2012-02-21

Expose JavaScript DOM prototype objects, eg. Node, Element, Attribute, etc.
Done 2012-02-22

Change JavaScript DOM method getElementsByTagName to return a live NodeList object.
Done 2012-03-06

Support JavaScript DOM method getElementsByClassName.
Done 2012-03-06

Support JavaScript DOM properties img.src, a.href, and a.name.
Done 2012-03-06

Support evaluating <script> elements when they are added to the DOM.
Done 2012-03-12

Fix bug affecting inline-blocks longer than a page preceded by a float.
Done 2012-03-16

Fix bug affecting floats and hanging text indents.
Done 2012-03-16

Update SSL certificate authority file.
Done 2012-03-31

Support "visibility: hidden" on SVG elements. (ref)
Done 2012-04-09

Fix JavaScript bug where "typeof foo" could return undefined instead of "undefined".
Done 2012-04-17

Check the Panose proportion value in the OS/2 table when computing font-stretch for TrueType/OpenType fonts. (ref)
Done 2012-04-19

Support JavaScript DOM properties input.value and window.location.hash.
Done 2012-04-26

Support { as a literal pattern character in JavaScript regular expressions if it does not form the beginning of a quantifier.
Done 2012-04-29

Support the innerHTML property in the JavaScript DOM. (ref, ref)
Done 2012-04-29

Support named spot colors (separation colors) with new @prince-color CSS rule. (ref, ref, ref, ref)
Done 2012-05-05

Don't parse fragment identifiers (eg. #foo) in relative URLs used on the command-line, treat them as filenames instead. (ref)
Done 2012-05-11

Fix bug where the background image for the footnotes area will be swapped with the background image for the page float bottom area.
Done 2012-05-28

Experimental support for HTML5 with "-i html5" on command-line.
Done 2012-06-04

Release Prince 8.1.
Done 2012-06-28


Fix bug where column-span does not work correctly on tables. (ref)
Done 2012-07-02

Fix bug where column-span on nested elements eats preceding content. (ref)
Done 2012-07-02

Fix bug affecting SVG clipPath elements containing <use> elements. (ref, ref)
Done 2012-07-12

Fix bug where apostrophe must be escaped in relative HTTP URLs. (ref)
Done 2012-07-24

Release Prince 8.1 rev 2.
Done 2012-07-30


Fix bug where text-transform does not apply to ::first-letter and ::first-line. (ref, ref)
Done 2012-07-30

Fix issues affecting links to content on landscape pages. (ref)
Done 2012-08-01

Fix bug where column-span within an element can affect target-counter and string-set values for that element. (ref)
Done 2012-08-03

Support JavaScript DOM property window.location.hash.
Done 2012-08-14

Allow slash escaping underscore in JavaScript regular expressions.
Done 2012-08-14

Fix bug affecting URL encoding of filenames that breaks internal document links. (ref)
Done 2012-08-16

Update Prince PHP wrapper to add convert_file_to_passthru method, support for enabling JavaScript, and disabling font subsetting. (ref, ref)
Done 2012-08-17

Ensure DEB packages have Installed-Size field to avoid ominous warning. (ref)
Done 2012-08-20

Update Prince .NET wrapper to add support for enabling JavaScript, converting multiple input documents, and disabling font subsetting. (ref, ref, ref)
Done 2012-08-23

Fix bug affecting OpenType positioning for the "Cabin" font. (ref)
Done 2012-09-01

Release Prince 8.1 rev 3.
Done 2012-09-06


Fix bug where some JavaScript comments could be misinterpreted as regular expressions.
Done 2012-09-10

Fix bug where JavaScript parseInt function is failing if string contains non-digit characters.
Done 2012-09-10

Change JavaScript Number.toString() method to use lowercase a-z characters when the radix is greater than 10, for consistency with web browsers.
Done 2012-09-11

Change special HTML DOM attributes like script.src to return "" instead of null when they are not present, for consistency with web browsers. (ref)
Done 2012-09-11

Fix internal error triggered by large floats on small pages.
Done 2012-09-13

Fix bug on Solaris where long data URLs can cause CSS parsing to fail. (ref)
Done 2012-09-24

Fix bug affecting CSS3 Transforms where vertical translation offsets are inverted. (ref)
Done 2012-09-24

Workaround issue in MacOS X Preview affecting spot colors. (ref)
Done 2012-09-26

Fix bug where using RGBA colors can cause images to incorrect inherit the opacity value.
Done 2012-09-26

Fix bug where the XHTML q element was using U+201D for German quotes instead of U+201C. (ref)
Done 2012-10-08

Fix bug where debug log messages could cause deadlocks for Prince wrappers. (ref)
Done 2012-10-09

Support the float property on the ::first-letter pseudo-element. (ref)
Done 2012-10-17

Fix bug affecting patterns in SVG that reference other patterns. (ref)
Done 2012-10-18

Fix bug triggered by DOCTYPE declaration with system identifier containing space. (ref)
Done 2012-10-24

Release Prince 8.1 rev 4.
Done 2012-12-21


Fix bug affecting SVG markers on transformed paths. (ref)
Done 2012-11-12

Support a default underline for fonts that recommend an underline of zero thickness, like Hoefler Text on MacOS X.
Done 2013-01-07

Fix OpenType positioning issue causing some kerning pairs to be ignored, eg. "..." for the Vollkorn font.
Done 2013-01-07

Avoid failing with unused_ref error if broken image cannot be loaded.
Done 2013-01-25

Fix bug where non-Base64 data URLs have all whitespace characters stripped. (ref)
Done 2013-02-06

Fix bug causing "Error 21" in Acrobat when saving encrypted PDF files. (ref)
Done 2013-02-15

Release Prince 8.1 rev 5.
Done 2013-03-14


Support the Image constructor in the JavaScript DOM.
Done 2012-08-15

Support the SVG stroke-miterlimit property.
Done 2012-09-11

Support the DOMParser interface in the JavaScript DOM.
Done 2012-09-12

Support the HTML5 canvas element and JavaScript API. (ref, ref, ref)
Done 2012-09-12

Support absolute positioning on the @footnotes area.
Done 2012-09-24

Allow floats and footnotes to break across pages by default.
Done 2012-09-24

Support the max-height property on the @footnotes area. (ref)
Done 2012-09-24

Fix bug where footnotes in table headers and captions are repeated if the table breaks across multiple columns or pages. (ref)
Done 2012-09-24

Support the transform and transform-origin properties on margin boxes.
Done 2012-09-24

Update Prince Java wrapper to add support for converting multiple input documents.
Done 2012-09-25

Add convert method to Java wrapper that takes a filename/URL string for the input document and an OutputStream for the PDF output. (ref)
Done 2012-09-25

Change the prince-link property so that it no longer affects the :link selector.
Done 2012-10-02

Support inline footnotes with "float: prince-inline-footnote | prince-column-inline-footnote". (ref, ref, ref)
Done 2012-10-02

Add a non-breaking space after footnote markers.
Done 2012-10-03

Support the background-size property.
Done 2012-10-10

Support multiple background images on a single element.
Done 2012-10-16

Support the background-clip and background-origin properties.
Done 2012-10-16

Support padding-box as a value for the box-sizing property.
Done 2012-10-16

Fix bug affecting the layout of page margin boxes. (ref, ref, ref)
Done 2012-10-22

Fix bug affecting tables with collapsed borders and cells that span rows across page breaks. (ref)
Done 2012-10-23

Allow a trailing comma in JavaScript object literals.
Done 2012-10-23

Fix bug where JavaScript parseFloat function is failing if string contains non-digit characters.
Done 2012-10-26

Support more JavaScript DOM properties: document.head, script.type, option.selected, option.disabled, input.type, input.checked, input.disabled.
Done 2012-10-26

Support JavaScript DOM properties window.location.host, hostname, port, and pathname.
Done 2012-10-29

Support the JavaScript methods Object.create, Object.defineProperty, and Object.defineProperties.
Done 2012-10-30

Fix bug where nodeName and tagName properties in the JavaScript DOM should return uppercase values for HTML element names. (ref)
Done 2012-10-30

Support CSS background gradients. (ref, ref)
Done 2012-11-09

Fix bug affecting nested SVG patterns/gradients and SVG images used as repeating backgrounds.
Done 2012-11-09

Improve speed of JavaScript evaluation, eg. for generating QR codes. (ref)
Done 2012-11-09

For tables with specified height, take specified row heights into account before dividing table height across rows.
Done 2012-11-12

Fix bug in which shrink to fit blocks such as floats and inline blocks will have an incorrect width when they contain tables with cells that have a specified width. (ref)
Done 2012-11-13

Fix bug where JavaScript RegExp lastIndex property is not writable.
Done 2012-11-16

Support JavaScript DOM properties link.title and link.disabled.
Done 2012-11-16

Support HighlightJS. (ref)
Done 2012-11-16

Update Prince PHP wrapper to add support for converting multiple input documents. (ref)
Done 2012-11-22

Support "text-overflow: clip | ellipsis". (ref)
Done 2013-01-10

Support non-ASCII identifiers in JavaScript.
Done 2013-01-10

Fix warning "get_gpos_adjust: pos_pair_unknown" triggered by complex OpenType fonts, eg. some Hebrew and Syriac fonts.
Done 2013-01-10

Support OpenType font features for rendering Syriac text. (ref)
Done 2013-01-15

Draw crop marks so that they extend into the page bleed area.
Done 2013-03-01

Fix bug where pixel units in SVG are not being treated the same as unitless coordinates.
Done 2013-03-01

Support vertical text layout. (ref, ref)
Done 2013-03-01

Add "prince-footnote-policy" property that can push footnote calls to the next page if there is not enough space to fit the footnote body on the same page. (ref)
Done 2013-03-14

Fix bug where background and border properties do not apply to :blank pages. (ref)
Done 2013-03-18

For SVG images without a viewBox attribute, use the width and height attributes to determine the initial coordinate system. (ref)
Done 2013-03-20

Issue a warning when a footnote ends up on the following page from the footnote marker. (ref)
Done 2013-03-21

Support CSS white-space property and xml:space="preserve" on SVG tspan elements.
Done 2013-03-22

Support SVG tref elements.
Done 2013-03-22

Fix bug affecting CSS3 Transforms where matrix() translation offsets are incorrect scaled and inverted. (ref)
Done 2013-03-22

Fix bug where page floats can overlap with table footers.
Done 2013-03-26

Apply border-break property to table elements. (ref)
Done 2013-04-04

Accept local(FontName) without quotes in @font-face declaration src property. (ref)
Done 2013-04-10

Support the text-decoration properties on SVG text elements.
Done 2013-04-11

Add IDs to generated PDF files to improve support for PDF/A and PDF/X.
Done 2013-04-18

Add Japanese fonts to default serif and sans-serif font families. (ref)
Done 2013-04-30

Support basic media queries. (ref)
Done 2013-05-01

Fix bug affecting :nth-of-type(n+4) and similar CSS3 Selectors.
Done 2013-05-14

Rename border-break property to box-decoration-break. (ref)
Done 2013-05-17

Fix bug where prince-page-group can cause unwanted page breaks for elements that span multiple columns. (ref)
Done 2013-05-20

Make the JavaScript DOM faster, particularly live node lists returned by getElementsByTagName and getElementsByClassName. (ref, ref)
Done 2013-05-20

HTML5: HTML elements should be in the HTML namespace. (ref)
Done 2013-05-23

HTML5: Support SVG elements and attributes with mixed-case names. (ref, ref)
Done 2013-05-23

HTML5: Support the menu element. (ref)
Done 2013-05-23

HTML5: Support the new meta charset syntax. (ref, ref)
Done 2013-05-23

HTML5: Remove redundant warning when HTML elements have identical id and name attributes. (ref)
Done 2013-05-23

HTML5: Fix bug where a null byte in HTML files terminates parsing. (ref)
Done 2013-05-23

HTML5: Fix bug where text between table cells results in new table column. (ref)
Done 2013-05-23

HTML5: Fix issues involving special characters in script elements. (ref)
Done 2013-05-23

Fix DOM method document.createElement so that elements are created in the HTML namespace. (ref)
Done 2013-05-29

Support accessing attributes by name from the Element.attributes DOM property, needed to support jQuery 1.9+. (ref)
Done 2013-05-31

Fix bug affecting some numbers in scientific/exponential notation in SVG.
Done 2013-06-04

Parse documents with no filename as HTML by default, not XML. (ref)
Done 2013-06-04

Enable new HTML5 parser by default for HTML documents.
Done 2013-06-07

Support "position: running(ident)" and "content: element(ident)" for flows from CSS GCPM module.
Done 2013-06-17

Support Typed Array objects in the JavaScript DOM (unsigned ints only, for now).
Done 2013-06-18

Require Prince.addScriptFunc for script functions, and reduce memory usage for documents that use JavaScript but not script functions. (ref)
Done 2013-06-24

Fix bug where negative margin-top can break the layout of following blocks in some circumstances. (ref)
Done 2013-06-26

Add a warning for cyclic @font-face definitions and avoid high memory usage in this situation. (ref)
Done 2013-06-26

Add an experimental --css-dpi=DPI option to change the default DPI value used for pixel measurements. (ref)
Done 2013-06-26

Support PDF/A-1b.
Done 2013-06-26

Fix issues affecting Windows GUI. (ref, ref, ref)
Done 2013-06-26

Release Prince 9.0.
Done 2013-06-28


Support leader(dotted|solid|space) syntax shorthand.
Done 2013-07-08

Fix bug where HTML character references are ignored if they are not followed by a semicolon. (ref)
Done 2013-07-08

Support content(first-letter) for named strings and other generated content.
Done 2013-07-09

Fix bug affecting UTF-8 characters and the UTF-8 byte order mark in CSS style sheets loaded over HTTP. (ref)
Done 2013-07-09

Fix bug where Prince can crash if a UTF-8 document contains invalid characters. (ref, ref)
Done 2013-07-11

Add command-line options and JavaScript API for specifying PDF metadata. (ref, ref)
Done 2013-07-12

Fix bug affecting Prince on 32-bit platforms when the document contains large page floats. (ref)
Done 2013-07-15

Support content(text) as an alias for content() for named strings and other generated content.
Done 2013-07-16

Avoid infinite loop when iframe includes its containing document.
Done 2013-07-16

Fix JavaScript bug where Function("", "body") will incorrectly fail due to empty arguments string.
Done 2013-07-16

Fix JavaScript bug where exceptions inside constructor calls are silently ignored.
Done 2013-07-18

Fix HTML bug where meta/link/title elements inside tables are not taken out to the parent.
Done 2013-07-24

Upgrade statically linked Linux packages to use libxml2 version 2.7.8 or newer, to get fix for apostrophe in referrer URL issue. (ref)
Done 2013-08-27

Release Prince 9.0 rev 2.
Done 2013-08-27


Update MathML operator dictionary to remove space around |abs| bars. (ref)
Done 2013-07-17

Change Debian packages to avoid overwriting license file when upgrading.
Done 2013-08-27

Fix bug where floats breaking across pages can cause other content to be repeated.
Done 2013-08-29

Handle documents with UTF-8 character encoding incorrectly labelled as UTF-16. (ref)
Done 2013-10-03

Fix bug in SVG where transparent shapes are drawn using the previously active color. (ref)
Done 2013-10-04

Fix bug where prince-linebreak-magic and prince-text-replace properties do not apply to the prince-base-url() or prince-script() generated content functions. (ref)
Done 2013-10-27

Fix bug where ::first-letter does not apply to hyphenated words.
Done 2013-10-28

Support RGBA and CMYKA TIFF images. (ref)
Done 2013-11-08

Add new CSS property prince-pdf-paper-tray to enable PickTrayByPDFSize flag. (ref)
Done 2013-11-12

Support "auto" value for prince-bleed and prince-trim properties, and allow a bleed area without enabling crop marks.
Done 2013-11-14

Add prince-mark-length and prince-mark-offset properties to control the appearance and position of crop marks. (ref)
Done 2013-11-16

Fix bug where crop marks may be drawn with an incorrect color.
Done 2013-11-16

Support q/Q length units (0.25mm) used in Japanese typesetting.
Done 2013-11-18

Upgrade MacOS X package to use libxml2 version 2.7.8 or newer, to get fix for apostrophe in referrer URL issue. (ref)
Done 2013-11-20

Release Prince 9.0 rev 3. (partial release)
Done 2013-12-17


Fix bug in HTML parser triggered by nested <a> elements. (ref, ref)
Done 2013-12-17

Release Prince 9.0 rev 4.
Done 2013-12-19


Fix minor bug where CapHeight is ignored in TrueType fonts with an OS/2 table newer than version 2. (ref)
Done 2013-12-28

Fix bug where images in SVG can be incorrectly affected by the fill-opacity property applied to previous shape elements. (ref)
Done 2014-02-18

Support the opacity property on images. (ref, ref)
Done 2014-02-19

Fix slow rendering for some OpenType fonts (caused by ccmp feature in GSUB table). (ref)
Done 2014-02-22

Use dynamic linking for libcurl on MacOS X to fix an issue affecting Mavericks (10.9.1). (ref)
Done 2014-03-01

Create a 64-bit binary for Prince on MacOS X.
Done 2014-03-01

Improve system font scanning on MacOS X to increase speed and fix issues running Prince on Mavericks. (ref)
Done 2014-03-13

Change priority of SVG presentational attributes so they can be overridden by other author styles. (ref)
Done 2014-03-22

Change HTTP authentication so that credentials are only passed if initial request returns 401 response.
Done 2014-04-03

Set a non-zero process exit status for invalid command-line options. (ref)
Done 2014-04-15

Support 16-bit TIFF images. (ref)
Done 2014-04-17

Support Ubuntu 14.04. (ref)
Done 2014-04-22

Document the --no-artificial-fonts command-line argument. (ref)
Done 2014-04-23

Support Debian 7.4 "Wheezy".
Done 2014-04-28

Fix issues affecting "Open Folder" button in Windows GUI. (ref)
Done 2014-05-02

Fix bug where the XHTML q element was using U+201D for German quotes instead of U+201C. (Fixed already, but missing on Windows!) (ref)
Done 2014-05-02

Document that prince-footnote-policy needs to be applied to the paragraph, not the footnote. (ref, ref)
Done 2014-05-03

Release Prince 9.0 rev 5.
Done 2014-05-05