October 2023
Improved subsetting of OTF fonts (OpenType with CFF outlines).
Fixed an issue where the background and styling on iframe body
and html
elements could be lost.
Allowed prince-pdf-tag-type: Formula | Figure
to apply to non-image elements.
Updated libwebp version to fix CVE-2023-4863.
Updated libcurl version to fix CVE-2023-38545.
Fixed an issue affecting the JavaScript in
operator and symbol values.
Added support for the HTML wbr
element.
Added a workaround for an issue where table borders could affect Acrobat Reader's "Export to Excel" feature.
February 2023
Revert to the 8-bit "standard encoding" approach used for text in Prince 14 as the CMap dictionary approach is unfortunately not supported for PDF editing in Acrobat.
Fix issue where some fonts with symbol encoding cmaps could use the wrong glyphs when subset.
Adding Note
and Reference
PDF tags to the prince-pdf-tag-type
CSS property.
November 2022
PDF forms can be created from HTML forms with the --pdf-forms
option.
PDF comments/annotations can be added using the
prince-pdf-annotation
CSS properties.
Support for ES6 lexical scopes with let/const declarations.
Support for the ES6 Map and Set classes.
Support for the ES6 Symbol class and values.
Support for ES6 iterators.
Support for ES6 for-of loops.
Support for ES6 arrow functions.
Support for the JavaScript String fromCodePoint
method.
Support for the JavaScript String codePointAt
method.
Support for the JavaScript Object.getOwnPropertySymbols
method.
Support for the JavaScript Element classList
property and DOMTokenList
interface.
Changed behaviour of regexp literals to match recent JavaScript specs.
Added stubs for the XMLHttpRequest getResponseHeader
and getAllResponseHeaders
methods.
Support for the WebP image format.
Support for the AVIF image format.
Support for Unicode 15.
Support for the Sinhala script.
Support for the Khmer script.
Applied Unicode mark reordering to more scripts, not just Arabic and Indic scripts.
Applied correct mark decomposition and reordering for Lao script.
Support for fragmentation and correct sizing for multi-line flex row containers (flex-wrap).
Support for align-self: stretch
for flex items in a fragmented flex row container.
Support for wavy and double text-decoration
styles.
Support for the CSS text-decoration-line/color/style properties.
Support for the text-underline-position
property.
Added the options --ssl-no-revoke
and --ssl-revoke-best-effort
for Windows.
Added the option --fail-stripped-transparency
to fail when
transparent images are used with a PDF profile that does not support
transparency.
Added the option --fail-invalid-license
.
Added the option --pdf-xmp-metadata
to include the HTML metadata
in an XMP packet even when not required by the PDF profile.
(also available via the PDF.xmpMetadata
property and and the
pdf-xmp-metadata
job field).
Renamed the --cookiejar
option to --cookie-file
.
Provided a universal binary for MacOS that supports Apple Silicon and Intel architectures.
Support for the HTML noscript
element.
Improved the appearance of HTML select elements.
Improved the appearance of HTML radio buttons when PDF Forms are not enabled.
Disabled HTML iframes by default and added an --iframes
option to enable them.
Prevented prince-pdf-script
and
prince-pdf-event-scripts
CSS properties from accessing files or
URLs and added new command-line options for this purpose.
Improved performance of style sheets with many class selectors.
Fixed bug in flex column layout that could lead to overlapping content.
Improved treatment of break-before: avoid
so that it can pull partial content from the previous block instead of pulling the entire block to the next page.
Fixed bug affecting multi-column layouts with zero line-height.
Fixed column width issue with auto table layout in shrink-to-fit contexts, like nested tables and floats.
Fixed issue with box-decoration-break: slice
and spanning cells in tables with collapsing borders.
Better support for relatively positioned table cells.
Preserved leading newlines for white-space: pre
, pre-wrap
, and pre-line
.
Improving handling of trailing spaces for white-space: pre-wrap
.
Fixed incorrect positioning of absolute positioned content within inline blocks.
Fixed incorrect positioning of absolute positioned content within relatively positioned inline elements.
Fixed incorrect paragraph breaks caused by absolutely positioned blocks inside inline content.
Improved color space handling of PNG images with sRGB/cHRM/gAMA chunks but not iCCP chunks.
Paletted PNGs are now embedded as indexed color images instead of expanded.
Avoided unnecessarily re-rasterising SVG masks where possible.
Improved the performance of complex font shaping.
Fixed issue where font-variant: prince-opentype(...)
would disable Arabic and Indic shaping.
Fixed performance issue affecting some CFF fonts such as Noto Sans SC.
Fixed below-base mark reordering for Thai script.
Fixed bug affecting rare combination of OpenType GPOS positioning features.
Renamed embedded font subsets to avoid name clashes in documents that include multiple subsets of the same font.
Fixed bug where the JavaScript Function.bind
method would not support constructor invocation or arguments.callee
properly.
Fixed JavaScript issue where changing the length of large sparse arrays could be very slow.
Speed up JavaScript DOM live node lists returned by getElementsByTagName
and getElementsByClassName
.
Fixed the enumeration order of JavaScript properties with integer keys.
Fixed issue where automatic semicolon insertion could affect the use of JavaScript keywords like return
as property names.
Fixed performance issue affecting tagged PDF.
Avoided inserting extra P structure element in tagged PDF for paragraphs containing only figures and/or floats.
Avoided generating some unnecessary Span elements in the tagged PDF structure tree.
Fixed bug where run-in elements could break the tagged PDF structure tree.
Fixed crash affecting some very large documents.
Workaround Acrobat issue triggered by certain uses of bfrange in PDF ToUnicode mappings.
Fixed the XMP serialisation of the meta keywords
value.
See the release history for earlier versions of Prince.