Harlequin Core 14.0r0 Release Notes



This page applies to Harlequin v14.0r0; both Harlequin Core and Harlequin MultiRIP.

Introduction

Harlequin Release Notes are now published directly to our website.

Harlequin v14.0r0 is a major new release since HQN v13.0r0. This release consolidates work of HQN v13.0r0 series and adds high performance features. As usual we also responded to many customer issues including compatibility with other PDF processing and display products, and issues that required Core changes, see in the "Harlequin Core v14.0r0 change details" table (below).

Harlequin v14.0r0 introduces:

  • PDF/x-6

  • PDF/x-VT3

  • Updating core and components for the latest platforms support.

  • CxF color support

  • HVD optimizations to help identify more reusable objects in poorly constructed jobs

  • Improvements to RIP farm

  • Performance optimisation for heavy vectors jobs

  • Easy to integrate Harlequin shared reusable assets library (LibHVD) see Known limitations and planned changes

Alerts and guidance

  • HMR plugin kit 20.3r3 is available to accompany Harlequin v13.2r0 and 14.0r0.

  • The updated LDK components v8.3 for Windows 11 support will be installed. LDK components now identify as v8.31 on Windows 11, macOS, and Linux.

  • There are no installers for the Harlequin Core any more, the SDK is supplied as a zip, see Harlequin Core Getting Started Guide (v14.0r0)

Rip startup tests

Under development story HQN-384757 entitled 'Add RIP startup test that CPU meets minimum SIMD requirement.' GGS have been adding more use of SIMD instructions in the Core for performance reasons. SIMD availability levels varies from one CPU to another. In order to predicate a minimal level of SIMD support for any CPU the Rip will run on, we have introduced the RIP startup test to make sure the CPU meets this minimum requirement. Otherwise a user may experience a crash generating support calls which could use time tracking down the reason. Our test checks the SIMD/AVX/3DNOW info for a CPU, and if necessary emits the warning like this; "System requirements failure: No AVX2 available"

Harlequin Core v14.0r0 change details

Unless specified changes apply to Core SDK, and HMR.


Jira Story

Support call(s)

Summary

HQN-385706


Ship the Linux LDK installation script

HQN-385638


Wrong logic in groupReplaceRasterStyle() causes bad output

HQN-385612


Crash in groupPreconvert() 

HQN-385599

HQNSUP-126863

Scalable RIP and HqnImpose2 Causes 'Unexpected Output Pages'

HQN-385598


HVD: Output and reuse: bug in hashing of external gstate and early finalizing of data resulting in loss of reuse

HQN-385585

HQNSUP-126793/HQNSUP-126875

Memory Usage Increase With /ScanConversion /RenderAccurate

HQN-385580


N-Colour profiles sometimes cause crash/errors with SpotsOnly and RGB transparency

HQN-385579

HQNSUP-126859

Seamless screening fails with large screens on small pages

HQN-385560


Remove zip device

HQN-385543


Change default PageSize policy to 8 (from 7)

HQN-385542


Make HHR SDK Doxygen usable as a RIP integration guide

HQN-385537


Ensure RIP version is reported in logfiles and rip monitor at start

HQN-385532

HQNSUP-126839/HQNSUP-126801

Change default MediaSize to prevent orientation issues

HQN-385507


Provide mechanism for reporting of errors from event handlers

HQN-385490


Link with the new ColorLogic UNIX SDK

HQN-385449

HQNSUP-126814

Softmask being ignored results in bad output

HQN-385448

HQNSUP-126811

Crash in groupPreconvert()

HQN-385413


Finish off color chain UID work with simplifications etc

HQN-385412


Fix image decodes crash in low memory

HQN-385402


Can no longer purge image stores during backdrop resource allocation.

HQN-385394


Create combined header file(s) for SDK and/or corelib interfaces

HQN-385383

SDFESUP-243

VMError Regression with Customer Job and limited memory

HQN-385372


Change HqMemCpy, HqMemMove, HqMemCmp functions to use size_t for length parameters in HQN 14 (API change)

HQN-385360


Remove some complexity to speed-up HVD-scan times

HQN-385334


Rip progress messages broken when HVD enabled.

HQN-385332

HQNSUP-126714

Amend pdf_rr_post_op to fix very slow HVD post-scan with Customer job 

HQN-385312


Give trunk HMR plugins a different version number from the plugin release branches

HQN-385308


Sign Windows Harlequin executables signing certificate using the Windows OS sign tool

HQN-385293


Windows ldktool.exe needs certifying

HQN-385289


Update copyright to 2023

HQN-385285


Collect raster backend output functions into RDR API

HQN-385250


Improve imstore reuse by recognising equivalent color chains

HQN-385240


Performance regression introduced between 13.2r1 and 13.2r3, in v14

HQN-385238

HQNSUP-126765

Fix group elimination issue causing a transparent image to be missing from HP Indigo job

HQN-385216

HQNSUP-126520

RIP shouldn't fail when a user-generated filename has illegal encoding - Windows

HQN-385214

HQNSUP-126775

Handling of Japanese characters from SOAR NX plugin

HQN-385210

HQNSUP-126771

Crash when number of imstore and im_colcvt colorants mismatches 

HQN-385201

HQNSUP-126670

Solution for unwanted blank lines on the edge of rasters

HQN-385200


For the HQN Core MultRip GUI we should add PDF options selector for PDF/x6

HQN-385197

HQNSUP-126765

Fix group elimination issue causing a transparent image to be missing from HP Indigo job

HQN-385178


Avoid transparency test in opaque image render

HQN-385166


Update HHR LDK to support MacOS Ventura

HQN-385138


Port - Image Caching: Keep images between pdfexecid chunks

HQN-385128


HVD Scan: Speed it up by retaining scan nodes from previous chunks

HQN-385124


Simplify support for framebuffers in raster backends

HQN-385122


Simplify byte-swapping for raster backends

HQN-385118


Implement initial cut of a new JAM target "oemzipdir" which generates a clean OEM distribution directory

HQN-385112


Deprecate OptimizedPDFCompactMemory

HQN-385110


Remove obsolete oemraster.c file from SDK

HQN-385109


Migrate OEMs from using PGB device bbox parameter to RasterParam (stage 2)

HQN-385096


HVD Scan: Speed it up by retaining scan nodes from previous chunks with new OptimizedPDFStashPages param

HQN-385095


Fix "HVD reuse found" field for a Label and Packaging job

HQN-385090

SDFESUP-157

Large Job Crashes or Hangs Scalable RIP

HQN-385089


PostScript "restore" has wrong test for validating other save object on stack. Make compatible with Adobe Acrobat

HQN-385083


Add a richer representation of raster layouts to the Core-SDK interface

HQN-385079

HQNSUP-126744

Tiff flate decode filter with difference predictor does not handle byte order properly- HQNSUP-126744

HQN-385067


RasterParams in example TestConfigs is now in wrong format and no longer works.

HQN-385061


Update documentation to include support for PDF/VT-3

HQN-385054


RIP shouldn't fail when a user-generated filename is illegal

HQN-385042


HVD: Performance: Limited version of - avoid unnecessary compositing for 100% pure black objects - S branch

HQN-385004


rectfill with extra trailing moveto trips-up rectangle detection code.

HQN-385000


Integrate ZLib-ng into HQN Core 14 for all platforms

HQN-384987

HQNSUP-126714

Amend pdf_rr_post_op to fix very slow HVD post-scan with Customer job

HQN-384986

SDFESUP-157

Improve Slow Reading of very large xref Tables with a large number of sections

HQN-384977

SDFESUP-157

Large Job Crashes or Hangs Scalable RIP

HQN-384975


Fix crash after restoring halftone purged in low memory

HQN-384966


profile lead performance optimisations possible to orth_subtractive_1x8_rows etc.

HQN-384912


Remove x32bit support on for all Harlequin products later than version 13.x

HQN-384896

HQNSUP-126702

PS eq operator returns true comparing non-string with empty string

HQN-384823


InstallAnywhere GUI hangs shortly after launch on RHEL 7.9

HQN-384794

HQNSUP-126686

RIP farm sometimes reports a failure and doesn't exit cleanly

HQN-384762


Update LDK application libraries to 8.41

HQN-384755


Improve imstore reuse by recognising equivalent color chains

HQN-384741


Re-implement image processing algorithm so that it can use SIMD vector calculations.

HQN-384738


Develop - OptionalContent SuppressPage true can crash with eHVD

HQN-384733

HQNSUP-126511

Port 'Gray' Separation fix to 13.2rx and 14.x

HQN-384730

HQNSUP-126520

RIP shouldn't fail when a user-generated filename has illegal encoding - Windows

HQN-384661

SDFESUP-66

Remove traversal of shfill DLs for groups

HQN-384658

HQNSUP-126654

PDF Stack size limit exceeded

HQN-384645

HQNSUP-126647/SDFESUP-68

Fix for Scalable RIP with multiple jobs does not send STOPPED event when farm rip max restart occurs

HQN-384641

HQNSUP-126644/HQNSUP-126735

Calibration matching by screen name doesn't work

HQN-384612


Micro-optimisations to backdrop table interface

HQN-384594

HQNSUP-126632

Replace virtual device raster style with device raster style to allow single channel compositing

HQN-384589

HQNSUP-126624

Honour FillAction=Ignore for Mode=AllStrokes

HQN-384555


Don't retain backdrop if rendering one channel (output style is irrelevant)

HQN-384554

HQNSUP-126664

Defining modular screens for unrendered colorants may crash the RIP

HQN-384543


Special case 4to4 interpolation when converting color

HQN-384536


Implement element cache purging for iHVD

HQN-384531


Bad output, (missing objects) with HVD for jobs with XRef object or GGSL_Opaque tags. Also, loss of reuse and Assert:"Unexpectedly small always closed form bbox"

HQN-384501

HQNSUP-126533

Extend Colour Probing to Fix Separation Omission for 1-pass rendering

HQN-384475

HQNSUP-126602

A color space with the name 'Lab' causes the RIP to error

HQN-384453


Update HVD Page Features to Use /Always for EnableOptimizedPDFScan

HQN-384385


RIP may crash trying to read from closed FILEIO stream after an IOERROR.

HQN-384345

HQNSUP-126520

RIP shouldn't fail when a user-generated filename is illegal

HQN-384211


Include LDK runtime v8.31 in RIP distributions

HQN-384209


As a HQN Core OEM, I would like to receive releases as a ZIP file

HQN-384201


HHR logging with -X thrashes the disk and degrades performance

HQN-384024


Scalable rip hangs if the farm rips aren't all spawned

HQN-383999


New Version of the Plugin Kit

HQN-383979


Consolidate HXM Flexo installer to include all current screens including ones shipped by Ken

HQN-383953


Update List Spot Colors page feature for speed

HQN-383828

HQNSUP-3968/HQNSUP-3940

Page Offsets Are Wrong When Using Scalable RIP and HVD or tiling

HQN-383801


PageOrder + tiling broken with Scalable RIP

HQN-383787


Set /OverprintWhite true by default

HQN-383743


Enable HHR to output files relative to the input file's path

HQN-383726

HQNSUP-3937

When freeing up LDK licenses for a crashed RIP free the RIP license last

HQN-383585


HqnContour ignores ObeyScalingAndExtraOrientation false, and scales/rotates the contour as well as the render.

HQN-383544


Eliminate SDK doxygen warnings

HQN-383514


Add "welcome page" job to HQN Core SDK

HQN-383504


For PDF/X-6 files, allow device colour spaces in isolated transparency groups

HQN-383499


Add option for HHR to automatically set ContoneMask for Position Independent eHVD

HQN-383461


Automatically detect PDF/X-6 and PDF/X-6p files

HQN-383420


For PDF/X-6 files, check version key in document catalog dictionary

HQN-383398


Turn black point compensation (BPC) on by default for PDF/X-6 files

HQN-383381


For PDF/X-6 files, process as if features deprecated in PDF2.0 were not present

HQN-383307


Assess impact of adding support for PDF/VT-3

HQN-383292


Replace tests of ColorantFamilyName with PCM in HHR back ends

HQN-383271


Separation Color Named Blue is rendered as Yellow with /OverPrintPreview

HQN-383243

HHR #3872

HVD+ContoneMask results in unwanted output colour

HQN-383233

HHR - #3864

HVD Gets Number Wrong

HQN-383222


Report any extensions that a file says it needs

HQN-383217

HHR #3865

GGS custom page feature does not report correct pagesize 

HQN-383216

HHR #3831

'Replacement color must be fully fledged' error 

HQN-383193


Move Handshake.c file to platform specific directories

HQN-383186


JSON config - Support HqnContour in JSON configs

HQN-383178


Make Pantone libraries an encrypted layered option in the RIP

HQN-383164

HQNSUP-126498/HQNSUP-126478/HQNSUP-126588

Support applying alpha when ripping input TIFF jobs

HQN-383161

HHR #3849

HqnContour procset causes typecheck error

HQN-383120


VMerror UIDs don't work and shouldn't exist

HQN-383109


Image store cache across pages

HQN-383076


Allow OEM to specify that a farm RIP will not be restarted.

HQN-383075


HVD: Work out a better metric for success

HQN-383066

HHR #3828

 - Fix crash when timeout happens waiting for farm RIPs to exit.

HQN-383057


Confusing colorspaces cause assert and crash.

HQN-383026


HVD: Remove OptimizedPDFCompactMemory and simplify code

HQN-383015


Make Scalable RIP error when incompatible setups are active with tiling

HQN-383009


Make Scalable RIP work with PDF /Page tiling

HQN-382987


Support full range 16-bit contone with ValuesPerComponent of 65536

HQN-382968

SW #126264

 Massive slowdown when using press curve with a min dot

HQN-382934

HHR #3779

 Customer supplied Hybrid PACKZ File is Slow to RIP

HQN-382930


Remove WinPrint support from HHR

HQN-382896


Accelerate processing of PDF with many graduated fills

HQN-382889

HHR #3773

 Vector Artefact And Assert When Ripping PDF

HQN-382884

HQNSUP-3767

HVD Re-Uses Page When It Shouldn't

HQN-382880


HVD: Improvements for handling of empty text boxes and empty pages, (was: override bboxes with empty ones for objects drawn in /None separation)

HQN-382814


HHR PDF backend fills first colorant wrongly for TrimPage 

HQN-382775


Improve channel handling code for input TIFF data.

HQN-382739

HHR Support #3650

Resolve OEM configuration specific Pixel shift issue

HQN-382703


Emit blank pages from scalable rip when necessary

HQN-382658

HHR #3720

File with OCG Renders Incorrectly When Ripped With eHVD

HQN-382606

HQNSUP-3708

Vector Object(s) Rendered in 'Low Resolution'

HQN-382516


HqnUnloadImpose doesn't work for unloading overlays

HQN-382513


Nodes missing from supernode for un-reused label 

HQN-382502


Implement missing NoZoom and NoRotate annotation flags

HQN-382487


Add code optimisations for typical use cases of blit_color_quantise().

A performance boost for smooth-shade intensive jobs

HQN-382461


Correct screenforall reporting of screens used when Duplicate is false

HQN-382287


Add support for building and running HHR on Macs with Apple Silicon

HQN-382244


Account for very small differences in offsets between clip and graphics when using eHVD

HQN-382127

HQNSUP-3557

Extend Ranges in XYZ-D50 & XYZ-D65 color spaces to avoid clipping and yellowish output from M1 NCDs with some profiles

HQN-382007


Upgrade Zint to latest version to pick up their bug fixes

HQN-381852


Preview/roam colours of N-colour images aren't correct

HQN-381603


Failure to understand TIFF input Photoshop input gives useless error message

HQN-381601


Improve handling of TIFF jobs containing more than one alpha/mask channel

HQN-381509


Improve spot tinting and overprinting with CxF/x-4

HQN-381380


HVD: Retain objects used more than once along the same edge - follow on work, for more objects

HQN-381147

HHR# 3254

Seamless Screening not compatible with HPS

HQN-381110


Investigate: Tune HVD for common industrial label jobs

HQN-381094


Improve timing information in Scalable RIP

HQN-380932


PI-eHVD: Only allows for a single clip per gstate level resulting in inappropriate reuse giving incorrect output

HQN-380839


HVD: Investigate whether we can take account of which form regions need compositing for transparency supernodes

HQN-380242


Allow asynchronous raster output

HQN-380241


Allow bands to be output in any order if the backend supports it

HQN-380240


Allow skin to control allocation of bands without full framebuffer

HQN-380224


Add a page feature for EPS files

HQN-380194


Expand example colour management testconfigs

HQN-380122


Add a generic method for passing parameters to raster backends

HQN-380109


Flatten SDK include file layout

HQN-380013


Add handling for PDF Processing Steps (ISO 19593-1) optional content

HQN-379993


Reduce maximum HPP pipelining depth to 4

HQN-379955


Switch Harlequin RIP builds to default to using MSVC 2017

HQN-379939


Improve HHR OEM SDK integration experience

HQN-379928


Font Emulation's CE encoding vector has invalid entries

HQN-379894


Reduce maximum HPP pipelining depth

HQN-379446


Switch Harlequin to MSVC 2017

HQN-384757


Add RIP startup test that CPU meets minimum requirements

HQN-378229


For input files validate the job titles when using -f %j and -f %s 

HQN-377036


Review and improve HHR Doxygen documentation

HQN-375719

SDFESUP-326

Use ICCBased, Lab etc. alternate spaces for spots in the back end

HQN-375226


Remove obsolete versions of HDS screens

HQN-373516


Remove Vignette Detection

HQN-373448


Update Harlequin Core SDK to include LittleCMS v2.15

HQN-372296


Use tint transform from job for spot objects when using OverprintPreview

HQN-370906


Add horizontal scrollbars to HMR Output Controller dialog for very long separation names

HQN-369105


Assert "MPS event length doesn't match CommitSet"

HQN-368653


CxF phase 3- Improve spot overprints when converting to process

HQN-368214


Remove old HMR skin multilevel screening

HQN-318640


RIP asserts on a valid 12-bit, Indexed color, Type 3, interleave 1 image

HQN-310560


Modular halftones don't work with in-RIP halftoning

HQN-385915


Optimise memory allocations to improve performance of (and not limited to) step and repeated VDP multipage jobs

There are some reductions possible in the processing of this type of file expectation is 10-20% of time improvements for at least the x3 of these types of files tested, content will cause variable improvements

HQN-385872


Fix limiting the number of band rendering tasks based on MaxBandMemory

We also note that the current behaviour diverges from the documentation therefore decided to align the code with the documentation. This defect ought to have little effect, since users could and may have just raised MaxBandMemory.

HQN-385864


Allow 0.0 frequency screen components for unused screens or where only the degenerate screens are used

HQN-385775


Produce warnings instead of errors for invalid halftone dictionaries when using a contone output setup

This was implemented to allow the change above HQN-385864

HQN-385718



Set version number for Migrate for v14

The Migrate tool is now v10.0r0.  It was 9.1r0 in v13.x

Known issues

  • Mac ARM compilation is as yet unsupported, though the Makefile implies that it's an option.

  • Recent installs of MSVS2019 do not include the Windows 8.1 SDK. OEMs wishing to build for this OS can retrofit it. See "Updates to supported platforms and compilers" (below).

  • Harlequin Core SDK Installer can fail on Red Hat Enterprise Linux (RHEL) Server 8.1. Global Graphics opened a case (02603280) with Red Hat and are looking for workarounds for support of Red Hat 8.x.

  • In testing Ubuntu 20.4, LE-secured v13.2r0 customizations install OK; however, at the end, the installer says it was unable to run the LDK tool but it created the files on disk. It shouldn't - and doesn't - create an LDK folder. This would be ignored as a workaround.

  • When building the SDK on Linux using the -ansi or a -std option then you will need to add linux to your list of predefined macros used in the build of the SDK. This requirement will disappear in a future release.

Known limitations and planned changes in LibHVD (in v14.1)

  • The method functions for customizing or replacing HVD "trackers" will be removed in future updates. Do not implement a replacement for or customize the HVD tracker in 14.0.

  • The method functions for customizing HVD cache implementations will be substantially changed in future updates. Any work on implementing a new HVD cache implementation or customizing an existing HVD cache implementation in 14.0 will have to be re-worked in future releases.

  • The HVD_element_set_data() and HVD_element_get_data() functions will be removed in future updates.

  • The interface to the HVD monitor will be changed in future updates, to use a cache implementation name, rather than a set of functions implementing the cache ID. The cache implementation name will be discovered by the HVD monitor in a new RDR namespace. This may result in minor updates required for raster backends implementing external HVD caching and compositing.

  • Future updates will include one or more eHVD cache implementations suitable for sharing element construction and caching across an entire Scalable RIP Farm.

  • Using multiple display lists e.g.; /NumDisplayLists 2 is not recommended in conjunction with an configuration using Shared Memory LibHVD e.g. GG_HHR_FRAMETIFF_SHM_ERR2



Documentation change details

ANNOUNCEMENT

All the current v14 Harlequin Core content is available to you online alongside the v14.0r0 release:

We suggest if you are starting out with Harlequin Core that you read the Harlequin Core Getting Started Guide (v14.0r0)
Harlequin 13.x series documentation is available as an archived version here Manuals (v13)

This following table contains details of the various documents that were created or updated for Harlequin Core 14.0r0:

Document 

 Status 

 Format

Harlequin Core RIP Capabilities and Features

New

Online

Harlequin Extensions Manual

Updated

Online

Getting Started with Harlequin Core

Updated

Online

Harlequin MultiRIP Plugin kit

Updated

Online

List of Technical Notes

Updated

PDF

Harlequin RIP SDK documentation

Updated

Online + HTML

The former API Reference Manual has been replaced by the extended and revised Harlequin RIP SDK documentation, available online and included within the SDK distribution. That documentation now also covers most of the information in the former Harlequin Core SDK (HHR) Developer’s Guide, making it unnecessary as well. (Though some of it moved to Getting Started and even the Extensions Manual.)

Removed/deprecated items

The following items are unused and have been removed from Harlequin Core 14:

  • XPS

  • In-Rip Zip device

  • InstallAnywhere

  • Vignette Detection

  • MultiLevelBitsPerSample pagedevice param

  • pdfparam /OptimizedPDFCompactMemory

  • Recombine

The following deprecated items are planned to be removed from Harlequin Core 15:

  • TrapPro

  • pdfparam /OptimizedPDFGroupOverprinting

  • In-Rip imposition with HQNLayout (excluding HQNImpose 2)

  • In-Rip barcoding (to be confirmed)

  • Font emulation

Updates to supported platforms and compilers

See also Rip startup tests in Alerts and Guidance


Windows

Linux

macOS

64-bit Operating Systems

Windows Server 2022

Red Hat Enterprise Server 7.X

macOS 10.13 (High Sierra)


Windows Server 2012 R2 (Standard Edition only; excludes Server Core configuration)

Ubuntu 20.04

macOS 10.14 (Mojave) (from HHR 12.1)


Windows 10 Pro (excludes Windows Mobile and Mobile Enterprise, embedded, and IoT Core)

Ubuntu 22.04

macOS 10.15 (Catalina) (from HHR 13)


Windows Server 2016 (Standard Edition only, excludes Server Core, Nano-server configurations)

CentOS 7.4



Windows Server 2019 (excludes Server Core, Nano-server and Server 1809 configurations; from HHR v12.1)




Windows 11 Pro 21H2 build 22000 or later



Compilers & IDE

Compile with MSVC 2019, v16.4 or later (from HHR v13).

Compile with GCC 8.3

Clang 10


Upgrading from Core SDK 13 to 14

We have prepared some guidance on upgrading your Harlequin Core from v13 to v14, these are located in our Knowledgebase