Mako 7.3.1 Release Notes

Released 30th May 2024

Introduction

This is an interim maintenance release targeting three specific customer issues.

Improvements in this release

MAKO-4910 MAKOSUP-11420 Japanese Glyph wrongly rotated

This was a regression from Mako 7.2.0 and the main reason for this release. A change made to Mako 7.3.0 caused a Japanese character to be rotated incorrectly when rendering. This is fixed in this release.

MAKO-4912 MAKOSUP-11409 Vector PDF conversion to SVG with stroke-width="0"

A new setting is added in this release, ISVGGenerator::setVisibleZeroWidthLines(). Normally, strokes with a width of zero are exported to SVG as is, with the result that they are invisible. This is often not the desired outcome, as in PostScript and PDF, a stroke with zero-width is considered to be visible, but rendered at the pixel size of the output device.

When true, this new setting overcomes this difference between PDF and SVG by:

  • Changing a no-fill, zero-width path to a width of 1.0

  • Adding vector-effect="non-scaling-stroke" to the stroke properties in the SVG.

You can apply it after creating the ISVGGenerator class:

C++
// Create an SVG generator. We'll store all the resources in the directory
// "resources" in the output directory, so set up the resource prefix accordingly.
ISVGGeneratorPtr generator = ISVGGenerator::create(jawsMako, "resources/");

// Set the SVG version
generator->setVersion(ISVGGenerator::SVGVer_1_1);

// Make zero-width line visible
generator->setVisibleZeroWidthLines(true);

MAKO-4913 MAKOSUP-11399 XPS to PDF conversion fails with PDF/A-2b profile and some special characters in the document

For consistency and predictability, the PDF/A ISO standards mandate that there must be no marking notdef characters present in the PDF.

Mako deals with these when converting to PDF/A, but for the customer exhibit, the mechanism failed to complete the task before writing the PDF. This is now fixed.