Big Faceless PDF Library v2.26.2

Released: Nov 11, 2021

Updates in v2.26.2

Features

  • Tested and verified with Java 17, dropped support for Java 5, and removed all support for Applets from viewer package.
    (Note that JavaScript is NOT currently supported under Java 17; this is planned for a future release).
  • Reduced the memory required to load TrueType and (in particular) OpenType fonts, and delayed the instantiation of some of the data needed until the font is used. These changes makes it cheaper to load fonts that may not be used.
  • Added support for UTF-8 ECI mode to QR-Code, which means any UTF-8 character can be encoded. Reader support for this feature is common but not universal; it will only be used if no other encoding option for that character applies.
  • Adjusted the font selection algorithm in Preflight to favour smaller fonts.
  • When preflighting, certain types of damage no longer results in the page being rasterized.
  • When preflighting, reduce memory footprint for fonts that use 16-bit identity lookups for their ToUnicode structures (a regression in 2.26).
  • Added support for WOFF2 collections.
  • Viewer:
    • Got rid of legacy "AppleSupport" class, replaced with general "DesktopSupport" for integration with the java.awt.desktop package. Theoretically this could apply on platforms other than macOS.
    • The KeyStoreSignatureProvider.X509SignatureState class has a method, getCertificate(), which was confusingly named. Deprecated, and added getSigningCertificate() and getUnverifiableCertificate() to remove ambiguity.

Fixes

  • Fixed - The method OutputProfile.getICCColorSpaces(), added in 2.26, was promptly broken in the following release and always returned an empty list.
  • Fixed - Exception when justifying a LayoutBox line with only a single character.
  • Fixed - When merging multiple structured documents, some tree structures could result in first level of the tree being sorted incorrectly.
  • Fixed - Bug introduced in 2.26 that prevented us creating a PDFCanvas from a PDFPage that had disabled optional content.
  • Fixed - Bugs relating to OpenType color fonts.
  • Fixed - Minor fixes to some XMP namespaces.
  • Fixed - Worked around an AWT bug on Linux relating to rasterizing PDFs; non-embedded fonts are rendered with a java.awt.Font, and a bug introduced in 11.0.4 (suspect it is related to the Harfbuzz upgrade; it's still present in 17.0.1) causes diacritics on the text to be mis-positioned.