Created Date: Mar 24, 2021 18:25
Last Modifed Date: Mar 24, 2021 18:25


Support requests

MAKO-2325

(Mako Support Request #10401) Memory access violation

The subject of this request was a very high page count PDF (569,630 pages, 1.71GB) that took an excessive amount of time to process and eventually failed. The exhibit pushed at various internal limits, eventually exhausting memory. Relevant environment variables to modify caching behavior were applied to speed up this job, for example:

J2_STALE_FONT_DISCARD_THRESH=<insert number here>

Setting this to 100 maintains the current behavior – that is, once a font has not been used in the last 100 pages it will be discarded. Setting it to 5000 (which works for this job) will discard fonts that have not been used in 5000 pages.

The job also reached another limit for Name objects during output. Although an additional control (see below) is available to increase the size of the dedicated store from the default of 16MB, a change was made to automatically increase this limit to 64MB when running in a 64-bit Windows environment.

J2_RESERVENAMES_MB=<insert number here>

In addition to allowing the job to complete processing, processing time was reduced by two-thirds.

MAKO-2343

(Mako Support Request #10412) Error saving Mako document from TIFF file

The fix for this was to improve Mako’s (existing) support for planar TIFF, that is, TIFF files where each channel is stored separately rather than being interleaved.

MAKO-2349

(Mako Support Request #10414) RGB + inks path is not working.

The customer requirement was to render to RGB plus spot separations but some content was being inverted. The fix required forensic analysis of the code paths involved, resulting in improvements to rendering that involves spots and process colours, especially for RGB and Gray targets.

MAKO-2351

(Mako Support Request #10415) Error getting output intent

There were some errors in the implementation of IDOMICCProfile::create() if the length of the profile needs to be calculated. Now fixed, and tested with compressed, uncompressed and non-random access streams.

MAKO-2353

Fix a return value from an exception handler

cidLayoutAndEncode() exception was returning invalidfont, but should be returning a Boolean. This function now correctly returns false if the font is invalid.

MAKO-2381

(Mako Support Request #10420) Sample PDF cause Mako error

The main issue seen was an Optional Content Membership Dictionary pointing to a non-existent optional content group. This is bad behavior on the part of the job, and the generator of this content seems to have problems with optional content generally.

Currently there is a check for this if Mako encounters a single group. If so, it is assumed the object is visible (and the optional content details dropped entirely), as this seems to be what other PDF consumers are doing. Thus, the solution is to do the same for optional content membership dictionaries.

MAKO-2383

(Mako Support Request #10402) Part of image missing

The solution to this problem was to fix an issue with tiling pattern positioning on pages where the MediaBox origin is not 0,0.

Distribution

Mako Version 5.1.1 is built for the following platforms:

  • Linux (for Debian-based distributions, eg Ubuntu, Mint)
  • Linux (Centos)
  • Linux (for Debian Stretch)
  • Linux (for MUSL distributions, eg Alpine Linux)
  • macOS
  • Windows (static and non-static libs, VS 2019 (V142) x64 only)
  • Windows (static and non-static, VS2015 (V140), x86 and x64)