October 2022
Fixed issue that could cause a crash on Windows in rare circumstances.
June 2022
Fixed bug affecting the z-index
property on tables.
Fixed bug affecting the size of blur when it is not the first filter.
Fixed an issue where some HTML named character references must only be recognised as such when followed by a semicolon.
Don't strip zero-width space characters in SVG.
Speed up decoding of very large data:
URLs.
Updated library dependencies and CA root certificates.
Support for Ubuntu 22.04.
April 2021
Fixed issue with table cell vertical alignment affecting KaTeX.
Added warning for fonts with inconsistent weightClass
/macStyle
values.
Fixed issue affecting OpenType positioning for some fonts like Markazi Text.
Reordered Arabic marks correctly according to Unicode rules.
Removed warning about the font-display
property.
February 2021
Support vh
/vw
/pvh
/pvw
/vmin
/vmax
/pvmin
/pvmax
units relative to the @page
area.
Support break-before
properties on the first table cell of a row.
Support break-after
properties on the last table cell of a row.
Added floatPosition
property ("TOP"
or "BOTTOM"
) to page float container boxes in the box tree.
Added paddingTop
/paddingRight
/paddingBottom
/paddingLeft
and borderTop
/borderRight
/borderBottom
/borderLeft
properties to the JavaScript box tracking API to give used padding and border widths.
Support ES6 octal and binary literals in JavaScript.
Support the JavaScript Array find
method.
Support the JavaScript Array findIndex
method.
Support \u{}
character escapes in JavaScript.
Support Object with valueOf
method as valid length property value for array-like objects in JavaScript.
Support the href
attribute without the XLink namespace prefix for compatibility with SVG 2.
Support PDF/A-2 profiles (without attachments).
Added new fail-safe options to abort conversion when a PDF profile cannot be used
or there is an accessibility tagging error (--fail-pdf-profile-error
and
--fail-pdf-tag-error
).
Added new --fail-safe
option that enables all of the other fail-safe options.
Fixed issue where long content could cause a block with fixed height to break
across pages even when overflow: hidden
was specified.
Fixed issue where box-sizing: border-box
did not correctly apply to tables with
fixed layout.
Fixed issue affecting the sizing of replaced elements in flex containers.
Fixed regression affecting nested page floats.
Fixed bug affecting image aspect ratios in flexbox.
Fixed issue affecting the Caudex font caused by duplicate PostScript glyph names.
Fixed issue affecting libthai on MacOS.
Fixed issue with fonts containing GSUB tables with version 1.1.
Fixed issue where absolutely positioned content in table headers and footers could break tagged PDF.
February 2021
New column and page float features with the following properties:
-prince-float
-prince-float-defer-column
-prince-float-defer-page
-prince-float-placement
-prince-float-policy
-prince-float-reference
-prince-float-tail
-prince-clear
-prince-margin-alt
Support for calc() expressions.
Support for the font-kerning property.
Support for the font-variant-ligatures property.
Support for the font-variant-numeric property.
Support for the font-variant-caps property (small-caps and all-small-caps only for now).
Support for @font-face rules in external SVG image files.
Support for custom page counters.
Support for prince-expansion-text() value on the content property for use in tagged PDF.
Support for "prince-pdf-tag-type: none" for making wrapper span/block elements transparent in tagged PDF structure tree.
Added "no-embed" option to prince-pdf-color-conversion.
Support for SVG-in-OpenType for emoji fonts and color display fonts.
Support for color emoji fonts in CBLC/CBDT format, such as Noto Color Emoji and JoyPixels
Support for color emoji fonts in Apple sbix format (some limitations may apply).
Support for emoji tag sequences (needed for some flag emoji).
Support for fonts with Big5 encoding and no Unicode cmap.
Support for language-specific OpenType shaping with the "locl" feature, enabled using the XML/HTML lang attribute.
Support for OpenType shaping for Syriac scripts.
Support for #index fragment URLs to refer to individual fonts within TrueType Collections (TTC) and WOFF2 collections which works with --scanfonts.
Support for multipass JavaScript workflow by means of a new Prince.registerPostLayout(func) API and --max-passes command-line option.
Support for the JavaScript Object.setPrototypeOf method.
Support for -j option as a shorthand for --javascript.
Added marginTop
, marginRight
, marginBottom
and marginLeft
properties to the JavaScript box tracking API to give used margin values.
Added baseline
property to line boxes in the JavaScript box tree API.
Support for the xlink:href attribute for external scripts in SVG.
Support for the textLength attribute in SVG.
Added --allow-copy-for-accessibility
option as an exception to --disallow-copy
and --allow-assembly
as an exception to --disallow-modify
.
Added --raster-jpeg-quality command-line option.
Fixed bug where min/max-width/height properties clamped negative values to zero instead of rejecting them.
Draw dotted borders with circles instead of squares.
Changed image-orientation property default value to "from-image" to match web browsers.
Fixed issue in which using footnote counters with prince-script() could use the wrong counter value.
Fixed regression in resolving percentage sizes on replaced elements.
Fixed issue where JavaScript strings were not represented in UTF-16, breaking scripts like Twemoji.
Fixed tagged PDF issue affecting floated pseudo-elements.
Avoids creating structure elements in tagged PDF for ::first-line/letter pseudo-elements by default.
Fixed bug in which OpenType fonts with CFF outlines could fail to work if they use non-standard names for MacRoman glyphs.
Fixed cursive positioning issue affecting Noto Nastaliq Urdu font.
Made Indic text shaping faster.
Switched to use ⯑ as the fallback character for missing glyphs instead of '?'.
Fixed bug where SVG baseline-shift incorrectly affected subsequent tspans with relative positions.
Fixed broken links between input documents by normalising filenames.
Disabled XInclude processing and external entities/DTDs in SVG images.
See the release history for earlier versions of Prince.