Mako 6.2.1 Release Notes
Introduction
These release notes are presented in terms of the development tasks (MAKO-XXXX) that had to be undertaken to complete this release. Only items of significance – those that add new features / improvements in this release or address identifiable support issues (labelled MAKOSUP-XXXXX) – are included.
New and Updated Features
MAKO-3488 | MAKOSUP-10770 Missing glyphs regressionThis issue concerned the customer’s workflow that involved first processing a PDF with Mako, then rendering the result with Mako. An error in the initial PDF processing led to a character being dropped during subsequent processing and therefore missing from rendered output. Now fixed. | |||||||||||||||
MAKO-3492 | Characters missing from mako_mark_knockout.ijp outputA character was being omitted from the output due to an optimization of ROP (raster operations) code. Now fixed. | |||||||||||||||
MAKO-3496 | Stitched IJPDS output should not have a fixed page lengthAn issue with the IJPDS input class, IIJPDSInput. The exhibit (vendor.ijp) reported an incorrect page size when stitched. Now corrected. | |||||||||||||||
MAKO-3509 | Incorrect page size when stitched and rotated 90° or 270°An issue with the IJPDS input class, IIJPDSInput. The exhibit (vendor.ijp) reported an incorrect page size when rotated to landscape. Now corrected. | |||||||||||||||
MAKO-3491 | Return additional IJPDS job informationThe customer expects the count of pages to be the same as the number of input pages on the job, regardless of the number of rips. Mako generates one page for each page/rip combination, so it doesn't always match to that expectation. Providing the customer can find out the total number of pages and number of rips then they can calculate the number of input pages – it is then simple math to map from [inputPageNo, ripNo] -> pageNo To support this easily (without breaking the API) new properties are added to the IDOMFixedPage class. The properties are:
This is a code example for obtaining a property from an IDOMFixedPage:
CPP
The total number of output pages is returned by To get the number of rips in the job, loop through the first few pages and count the number of pages whose InputPageNo is | |||||||||||||||
MAKO-3490 | Remove use of variable arguments in IDOMColor::create()This is a “tidying up” of the IDOMColor::create() method that was necessary to ensure consistency with other bindings, such as C# & Java. Previously, it was possible to provide a variable number of arguments, to match the number of color channels of the specified color space. As these vary by color space, a variable number of values could be supplied, and it was up to the caller to make sure the correct number of values was added. Now, the number of component parameters can be 1, 2, 3, 4, 5, 6 or 32 and are treated in this way:
While this change does not require code changes, it is possible that an exception will be thrown by existing code that happens not to supply the correct number of component value parameters to calls of this method. The |
Distribution
MAKO Version 6.2.1 is built for the following platforms:
- iOS
- macOS
- Linux (for Debian-based distributions, eg Ubuntu, Mint)
- Linux (Centos)
- Linux (for Debian Buster) (ARM32 for Raspberry Pi)
- Linux (for Debian Stretch)
- Linux (for MUSL distributions, eg Alpine Linux)
- Linux (for Ubuntu 20.04 LTS)
- Windows (static and dynamic libs, VS 2019 (V142), x86 and x64)
- Windows (static and dynamic libs, VS 2017 (V141), x64)
- Windows UWP (Store apps, Windows 10 IoT)
Note that 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 Framework and .Net Core)
- Java (built with OpenJDK11)
- Python (v3.8)
The alternatives to C++ are built using SWIG (www.swig.org) which provides a translation to the native libraries, found in these distribution folders:
- Linux_SWIG_(C#-Java-Python)
- Linux_Ubuntu_SWIG_(C#-Java-Python)
- macOS_SWIG_(C#-Java-Python)
- Windows_SWIG_(C#-Java-Python)