Skip to main content
Skip table of contents

Rendering intent overrides



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

There are two forms of rendering intent override, both controlled by the /IntentMappings key of setreproduction. One form is a simple mapping of one of the four ICC rendering intents to a different intent; the other form is for object-based color management which allows for forcing specific rendering intents to be used for particular graphical object types, see Object-based color management for the definition of supported object types.

It is normal to avoid mixing absolute and relative intents on the same page. If they were mixed, the effect is often very noticeable as artifacts where relative and absolute “white” objects about each other. For example, an absolute background “white” might be darker than the media white; while a relative foreground white might well have the effect of a “brighter than white” object shining through the darker background “white” of the page.

The RIP allows for six rendering intents to be used as overrides. In addition to the four intents defined by [ICC] of RelativeColorimetric, Perceptual, Saturation, and AbsoluteColorimetric, the RIP allows the use of AbsolutePerceptual and AbsoluteSaturation. These two additional intents are absolute variants of the Perceptual and Saturation intents, and are analogous to the AbsoluteColorimetric intent, which uses the same tables from the ICC profile as RelativeColorimetric. The difference is that the white point is mapped using the media white point for relative intents, and the illuminant for the absolute intents.

Single rendering intent for whole page

The easiest method for setting a single rendering intent to be used for the whole page is to use the intent as the value of IntentMappings (other necessary setreproduction keys have been omitted for clarity):

CODE
<<
  .....
  /IntentMappings /Perceptual
>> setreproduction

All rendering intents set by the job are ignored.

Simple rendering intent overrides

Each of the four ICC rendering intents can be overridden with a different intent.

As an example, one way to prevent the mixing of relative and absolute intents on the same page is to override AbsoluteColorimetric with RelativeColorimetric (other necessary setreproduction keys have been omitted for clarity):

CODE
<<
  .....
  /IntentMappings <<
    /RelativeColorimetric /RelativeColorimetric
    /Perceptual /Perceptual
    /Saturation /Saturation
    /AbsoluteColorimetric /RelativeColorimetric
  >>
>> setreproduction

The relative intents set by the job will be honored, only /AbsoluteColorimetric is overridden.

The simple intent overrides are overridden by object-based intent overrides when they are configured.

Object-based intent overrides

In addition to the simple intent overrides, rendering intents can be overridden using object-based methods, which are described in Object-based color management. The one difference between IntentMappings and other usages of object-based color management is that there is not a Default object type. The function of the Default object is assumed by the simple intent overrides instead.

In this example objects painted in RGB, and CIE use Perceptual, all others use RelativeColorimetric. All rendering intents in the job are ignored (other necessary setreproduction keys have been omitted for clarity):

CODE
<<
  .....
  /IntentMappings <<
    /Picture <<
      /Default /RelativeColorimetric
      /RGB /Perceptual
      /CIE /Perceptual
    >>
    /Text <<
      /Default /RelativeColorimetric
      /RGB /Perceptual
      /CIE /Perceptual
    >>
    /Shading <<
      /Default /RelativeColorimetric
      /RGB /Perceptual
      /CIE /Perceptual
    >>
    /Other <<
      /Default /RelativeColorimetric
      /RGB /Perceptual
      /CIE /Perceptual
    >>
  >>
>> setreproduction

which illustrates the object type and color model hierarchy.

It is possible to use overrides for some objects and use the job settings for others. In this example the intent for RGB and CIE pictures is set to Perceptual. Everything else uses the rendering intents in the job, subject to any use of AbsoluteColorimetric being replaced (other necessary setreproduction keys have been omitted for clarity):

CODE
<<
  .....
  /IntentMappings <<
    /AbsoluteColorimetric /RelativeColorimetric
    /Picture <<
      /RGB /Perceptual
      /CIE /Perceptual
    >>
  >>
>> setreproduction

Setting intents for named colors

A common use case for object-based intent overrides is to set the intent for named colors, while leaving other colors to use intents set by the job. This can be achieved with the following example which overrides named colors to the RelativeColorimetric intent:

CODE
<<
  /IntentMappings <<
    /Picture <<
      /NamedColor /RelativeColorimetric
    >>
    /Text <<
      /NamedColor /RelativeColorimetric
    >>
    /Shading <<
      /NamedColor /RelativeColorimetric
    >>
    /Other <<
      /NamedColor /RelativeColorimetric
    >>
  >>
>> setreproduction

It is also possible to override the intent of any of the other color models (CMYK, RGB, Gray, CIE) by a simple modification of this example, but these are less commonly required.

JavaScript errors detected

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

If this problem persists, please contact our support.