Please note that the behaviour of line-height: normal
has changed from Prince 12. In the past,
line-height: normal
was equivalent to line-height: 1.2
,
but now it will use the recommended value from the current font, which is
typically a little smaller, thus changing the output. Customers who
preferred the old behaviour can get it back by specifying a line-height
value of 1.2
.
December 2020
Signed and notarised Prince binaries to avoid warnings on MacOS Catalina.
Support for SSL version TLSv1.3.
Fixed bug involving absolutely positioned blocks inside flexboxes in tagged PDF.
Fixed bug involving absolutely positioned table cells in tagged PDF.
Fixed issue where inline floats could break tagged PDF reading order.
Fixed tagged PDF accessibility for the list-style-image property.
Support for the prince-alt-text and prince-expansion-text properties on list item and footnote marker pseudo-elements.
Non-breaking space characters no longer create span structure elements in tagged PDF.
Avoids hairline cracks where possible between box border segments.
Fixed issue where spans containing blocks can lose styling when they are split.
Improved quality of Gaussian blurs and filter accuracy in SVG and CSS filters.
Improved bounding boxes for Bézier curves used in links and clipping paths in SVG.
Fixed letter-spacing in SVG when used with the text-anchor property.
Fixed issue where the JavaScript RegExp.prototype object was not a RegExp itself.
Fixed bug in JavaScript RegExp syntax involving escaped character classes [\]].
Reduced memory leaks in Prince --control mode.
March 2020
Fixed font subsetting issue affecting some TrueType fonts.
Improved performance for long documents using OpenType fonts.
Updated curl version to fix an issue with AltNames on Windows 7.
March 2020
Support auto, clip, and scroll values for the overflow property.
Fixed issues affecting the sizing of inline blocks.
Fixed an issue where floats could sometimes fail to fit in the available space.
Fixed a performance regression affecting system fonts on Windows.
Fixed an issue affecting some URLs with percent-encoded characters.
February 2020
Support for OpenType reverse chaining contextual single substitutions, as used e.g. by the "Numderline" font.
Fixed an issue where CMYK colors were unnecessarily assigned a default ICC profile instead of being left as device-dependent.
Worked around an issue affecting buggy fonts, where the location table offsets point past the end of the glyph table.
February 2020
Support rendering intents for color conversion.
Support column-span: none
by treating it as column-span: 1
.
Support custom list markers for PDF/UA.
Created official Prince Docker images.
Added the Segoe UI Symbol font as a fallback serif font on Windows.
Fixed issue affecting the init feature in some fonts for Indic text following punctuation characters.
Accept non-empty glyphs with zero contours, which are very rare but technically legal.
Fixed bug affecting new versions of the Baekmuk Batang font.
Fixed bug affecting the JavaScript Array slice method applied to arrays with undefined values.
Fixed bugs affecting DOM attribute methods and namespaces, for example setAttributeNS
.
Fixed issue where PNG images could fail to load if they contain large non-essential chunks.
Fixed bug affecting XInclude and external entities in XML documents loaded from standard input.
December 2019
Added support for CSS variables in @page
rules and margin boxes.
Changed the @page
rules to inherit from the document root element.
Extended the property prince-pdf-tag-type
to support the
Artifact
and Table
values.
Fixed an issue affecting Thai line-breaking support.
Fixed an issue that could affect loading XML documents from Windows UNC paths.
November 2019
Support for WOFF2 fonts.
Support for subsetting for OpenType fonts with CFF outlines.
Support for the Indic2 OpenType shaping model needed for recent fonts such as Noto Serif Devanagari and Nirmala.
Support for CSS variables (aka custom properties).
Support for the CSS3 box-shadow
property.
Support for the CSS3 text-shadow
property.
Support for the object-fit
and object-position
properties.
Support for fragmenting single-column/row flex containers across multiple pages.
Accept -prince-
as a vendor prefix for Prince-specific CSS
properties and @-prince
for at-rules like @-prince-pdf
and @-prince-color
.
Added an optional same-window
/ new-window
value to
the prince-pdf-link-type
property.
Support target-counter()
for the footnote counter to allow
multiple references to the same footnote.
Initial support for min-content
and max-content
values on the width
and height
properties (does not
affect auto table layout yet).
Support for 2-value syntax for background-repeat
.
Support for 3-value and 4-value syntax for background-position
.
Extended the prince-pdf-script
property to take URL values for
external script files.
Support for a new prince-pdf-event-scripts
property for adding
Acrobat JavaScript events to PDF files (eg. on will-save
,
will-close
, etc.)
Support for equal gradient stops at offset 0.0 and 1.0.
Support for new background-attachment: fixed bleed
mechanism for
extending the @page
background into the bleed area.
Expanded values for prince-pdf-tag-type
and moved defaults to the
HTML style sheet.
Added CSS properties to specify alternate text and acronym expansion text for tagged PDF.
Added the @prince-pdf
property prince-pdf-display-doc-title
,
needed for PDF/UA-1.
Support for the HTML main
element by applying
display: block
to it in html.css
.
Support for an optional second argument to the leader()
generated content to specify a minimum width.
Support for CSS and TrueType font-weight
values that aren't
multiples of 100.
SVG images can be reused without increasing PDF file size.
Improved support for SVG sizing, scaling, and aspect ratios to be more compliant with the specifications and interoperable with web browsers.
Support for SVGs without intrinsic width/height or aspect ratio.
Support for SVG filter inheritance using xlink:href
.
Support for nested baseline-shift in SVG.
Support for SVG gradient spreadMethod
repeat
and
reflect
using PostScript function based shading.
Support for spot colors in SVG and CSS gradients.
Support for comment nodes in the JavaScript DOM.
Support for the JavaScript Array fill()
method.
Support for the JavaScript Array reduceRight()
method.
Support for loading hyphenation dictionaries from HTTP URLs.
Support for a fail-safe mechanism by adding new command line options
--fail-dropped-content
, --fail-missing-resources
, and
--fail-missing-glyphs
and a new Prince.failStatus
JavaScript variable.
Fixed some bugs with background-repeat: round|space
.
Fixed marker auto
orientations in some edge cases.
Fixed bug where page floats with unless-fit
that occur at the
end of a block may incorrectly overlap in-flow content.
Fixed make_flex_cross_items: none
internal error affecting flex
box layout.
Fixed bug affecting list-style: none inside
.
Fixed bug where the word-break
property breaks Arabic text.
Fixed issue where a font may not be found for italic Arabic.
Fixed bug affecting fonts with no English font family name.
Compute relative font-weight according to CSS2.
Do not artificially embolden or slant fonts if they are referenced from
@font-face
rules that already claim they are bold or italic,
even if the font data itself does not.
Fixed bug where large floats that span multiple columns can trigger unpackable block errors.
Fixed bug where column floats are not placed at the very bottom of the column area in the presence of spanning floats.
Changed the behaviour of line-height: normal
to use font metrics
in order to more closely match browsers. Please see
our migration guide for details.
Use case-insensitive attribute value tests to support HTML 4 in the default style sheets.
Changed prince-pdf-page-colorspace: auto
to use the output
intent color space or the destination color space when color conversion is
enabled.
Fixed issue where fixed heights were not respected for elements with unbalanced multi-column layouts.
Improved behaviour of prince-snap for column floats.
Allowed the convert-colors
option to be disabled for individual
elements by means of the prince-pdf-color-conversion
property.
Changed shrink-to-fit
on @page
rules so that it
resets after each forced page break, allowing it to apply to individual named
pages.
Don't treat blocks with a specified fixed height as
page-break-inside: avoid
by default.
Changed leaders so that they expand to fill the available space when used in shrink to fit contexts like floats and inline blocks.
Allowed the CSS content
property to override MathML and SVG
elements.
Don't generate empty Lbl
tags for lists with no marker content
in tagged PDF.
Draw text-underline below text instead of above and omit text-decoration from images and out of flow elements.
Avoid inserting unnecessary blank pages after large fixed height blocks that overflow the previous page.
Fixed issues affecting filters applied to SVG root elements in inline and external images.
Fixed feTile
when filter sub-region has non-zero offset.
Fixed some other SVG conformance issues raised by resvg test suite.
Fixed issues affecting SVG dominant-baseline auto and use the correct font size for SVG baseline-shift super/sub.
Fixed bug affecting SVG gradients with transparency inside a CSS transform.
Improved placement and sizing of SVG images embedded via img
,
object
, background-image
, canvas drawImage()
,
feImage
, etc.
Draw text decoration due to ancestors of SVG text elements.
Updated definition of default serif font-family for CJK languages.
Added the Takao fonts used for Japanese on Ubuntu to the definitions in
fonts.css
for the default serif and sans-serif fonts.
Avoid breaking around a non-breaking space character even next to CJK text.
Workaround for an Acrobat issue where text in some fonts could include a trailing invalid glyph.
Workaround for a bug in MacOS Preview affecting OpenType CFF fonts using more than 255 glyphs.
Allow specifying a PDF output intent without a PDF profile and in the absence of color conversion.
Fixed issue where Prince demo stamp does not pass Adobe accessibility check.
See the release history for earlier versions of Prince.