Skip to main content
Skip table of contents

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.

Issues addressed


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, MAKO_REDACTOR_DISABLE_SPLIT_MASKED_IMAGES, is introduced. Setting this (to anything) reverts to the previous behavior, should it be needed.


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 IDistiller() class would produce an invalid PDF when processing PostScript that referenced external fonts that had not been set up correctly. They expected an error to be reported and no output produced. The changes made ensure that Mako now behaves in the manner the customer expects.


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 .notdef glyphs to meet the requirements of the PDF/A and PDF/X standards, while leaving the page content unchanged.


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 SetIsInvisible flag to true), the XPS result was corrupted. Now fixed.   


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:

%%[ Error: undefined; OffendingCommand: QQ ]%%

There is no such command as QQ; it should read Q Q. As this problem is ignored by Acrobat Reader, which can display the file, Mako has been made to do the same.


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 JM_REUSE_ENCAPSULATED_GROUPS to anything enables it.

A debug message "form seen in callback" is reported to stderr when a cache hit is encountered.


MAKO Version 6.6.2 is built for the following platforms:

  • iOS
  • macOS
  • 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 (, which provides a translation to the native libraries, are found in these distribution folders:

  • Linux_SWIG_(C#-Java-Python)
  • Linux_Centos7_SWIG_(C#-Java-Python)
  • Linux_Centos8_SWIG_(C#-Java-Python)
  • Linux_Ubuntu_SWIG_(C#-Java-Python)
  • macOS_SWIG_(C#-Java-Python)
  • macOS_SWIG_(C#-Java11-Python)
  • Windows_SWIG_(C#-Java-Python)
  • Windows_SWIG_(C#-Java11-Python)

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.