PD4ML v4.0.21 release notes

 17 August 2025

PD4ML v4.0.21 is out. It inherits all fixes of PD4ML v4.0.20fx3 and on top of them improves justified text, lists, tables with row spans and RTF output.

Text

  • Justified text (align="justify" or text-align: justify) no longer adds too much space between words: short words that fit are kept on the line (a regression of v4.0.20fx1), and several other justification issues are fixed.
  • Justified Arabic paragraphs are laid out correctly.
  • Content in the Cambria Math font is displayed.

Lists and tables

  • No extra gap between a list label and the list item text.
  • Ordered list labels use the font of their list item.
  • Table row borders are drawn correctly across cells with rowspan.

RTF output

  • A page footer without a scope is shown on the first page too.
  • An image that doesn’t fit in the remaining space no longer covers the footer, and the images that follow it are rendered.

Other changes

  • A <fieldset> with position: absolute no longer causes a NullPointerException.
  • The javax and Jakarta editions are built from a single code base, so both get every fix at the same time.

PD4ML v4.0.20fx3 release notes

 12 February 2025

PD4ML v4.0.20fx3 is out. This maintenance update of v4.0.20 improves page rotation, headers and footers, DOCX and RTF output, and the rendering of special symbols and Arabic text.

Pages, headers and footers

  • Pages rotated with <pd4ml:page.break pageFormat="rotate"> keep their page header and footer, and the rotation also applies to DOCX output.
  • Small one-page documents with page headers or footers no longer get an extra blank page.
  • <pd4ml:page.break ifSpaceBelowLessThan> inside a list item no longer causes a ClassCastException, and in DOCX output it breaks the page only when the space below is too small.

Text and fonts

  • text-align: justify works for Arabic text.
  • Greek letters and other special symbols from a symbol font registered with useTTF() are rendered instead of blanks.
  • Fonts of nested <span> elements are applied correctly.
  • List bullets follow the alignment of their list items in PDF and DOCX output.
  • A sporadic conversion error on long-running servers is fixed.

DOCX output

  • Line spacing matches the PDF output, and table cells get the right line height.

RTF output

  • Pages are no longer lost when a highlighted quote section with footnote anchors is placed after the first page.
  • Text with font-variant: small-caps no longer gets a doubled first letter.