Mako 6.6.2 Release Notes
This is a maintenance release that addresses identifiable support issues, labeled MAKOSUP-XXXXX. The link is live and can be followed to the Mako support portal, but it only works for the customer who reported it.
MAKOSUP-11042 Handle case of missing glyph in type 3 fonts
Fixed an issue where Mako threw an exception due to a poorly constructed Type 3 font in a PDF.
MAKOSUP-11043 Mako does not remove all PRESCRIBE commands from print job
Mako already skipped Kyocera PRESCRIBE commands in PJL. This change extends that to the PCL5 stream. However, as it’s possible for the PRESCRIBE start sequence (!R!) to occur in normal text, a new API, IPCL5Input::setIgnorePrescribe(), is introduced. When set to true, all PRESCRIBE commands present in the PCL5 are filtered out of converted text.
MAKOSUP-11048 Font Calibri is removed
In this case, the font is not removed, but the appearance of text elsewhere on the page appears pixelated when text is redacted. This is caused by the behavior of the redactor in the presence of a soft mask that covers the entire page. The problem is solved by breaking up the soft mask such that the rasterizing the redactor carries out is localized. An environment variable,
MAKOSUP-11054 Conversion from XPS to PDF renders a black (inverted) image
This issue was caused by a CMYK image present in an XPS document. Although the XPS specification does not recommend the use of CMYK JPEG, Mako has now been updated to properly support them, both for rendering and conversion.
MAKOSUPJP-10617 Improve handling of external fonts (PostScript to PDF conversion)
The problem that the customer saw was that Mako’s
MAKOSUP-11057 Conversion from XPS to PDF fails for a specific Word file
An XPS created by printing from Word could not be successfully converted to PDF/A by Mako. This was caused by a font with a marking Glyph ID 0, which the ISO standard does not allow. Mako now scans for and remaps marking
MAKOSUP-11066 Glyphs "SetIsInvisible" not working with PCL to XPS conversion
While converting the exhibit PCL file to XPS, with an intermediate step to hide text (by setting the
MAKOSUP-11069 PDF processing error
Using Mako to convert a PDF to PDF/A-1a (using MakoConverter) the customer received an error message and no output was produced. Investigation revealed that the PDF had a syntax error, which triggered this exception in Mako:
There is no such command as
MAKOSUP-11071 PCL6 File analysis fails
This error was caused by a zero-sized glyph in the customer exhibit. Now fixed.
MAKOSUP-11076 Bullet glyphs don't render correctly
A customer-supplied PDF contained several fonts that weren't embedded, and two of the fonts, Wingdings and Symbol, showed differences when rendered or converted to XPS and compared with Acrobat. The reason for these differences was that Mako was substituting with its own CID fallback font rather than using the OS fonts on disk. Now fixed.
MAKOSUP-11078 Error opening files from Windows 11 Scan App
Added a mitigation (automatic repair) for an incorrectly formed PDF (an erroneous xref table pointer).
MAKOSUP-11083 PDF Render with alpha issue
When rendering an RGB PDF to separations, results would differ depending on whether an alpha channel is requested. This should not be the case. Now fixed.
Crash in Mako when loading a PDF without a trailer
The problem was triggered by a broken PDF. A fix to mitigate the problem is introduced, and if that fails then an exception is thrown.
Image corruption rendering to huge rasters (> 2 GB frame buffer)
Trivial fix of an internal integer overflow.
Poor rendering of a PDF
A specific combination of transparency blend mode and spot color overprint setting triggered incorrect compositing. Now fixed.
New and improved features
Array limit of 2 GB in C# and C++ is too small to run customer files
This problem emerged when attempting to render very large (>2 GB) images from a source PDF. With C++ the error presented as a corrupted image; fixing an integer overflow solved the problem. For C#, the inherent limit of 2GB for arrays could not be overcome; the customer was advised accordingly.
Add work to Mako carried out for StreamlineOptimize
An improvement to the vector flattener to cache reusable content contained in a transparency group is added in this release. For a specific customer exhibit, the output shrunk from 27 GB to 26 MB and cut processing time by five-sixths. As this is an experimental feature, it is not ‘on’ by default; setting the environment variable
A debug message "form seen in callback" is reported to
MAKO Version 6.6.2 is built for the following platforms:
- Linux (for Debian-based distributions; for example, Ubuntu 20.04 LTS, Mint)
- Linux (Centos)
- Linux (Red Hat Enterprise v7.0)
- Linux (Red Hat Enterprise v8.4)
- Linux (for Debian Buster) (arm32v7 for Raspberry Pi)
- Linux (for Debian Bullseye) (arm64v8 for Raspberry Pi)
- Linux (for Debian Bullseye)
- Linux (for MUSL distributions, eg Alpine Linux)
- Windows (static and dynamic libs, VS 2019 (V142), x86 and x64)
- Windows (static and dynamic libs, VS 2017 (V141), x64)
- Windows UWP/WinRT
The Android build has been dropped from this release pending a tooling change. Please contact Mako support if you need a Mako release for Android later than Mako 6.1.0.
Mako supports the following programming languages:
- C++ (Mako is written in C++)
- C# (.Net Core and .Net Framework)
- Java (built with OpenJDK11)
- Java (built with OpenJDK15)
- Python (v3.8)
The alternatives to C++ are built using SWIG (www.swig.org), which provides a translation to the native libraries, are found in these distribution folders: