Skip to main content
Skip table of contents

(v13) Order of application of calibration and transfer functions


This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.

It is important to know the order in which the calibration methods are applied, because the operations are not commutative and using a different order would produce different results.

The order of transformations is as follows:

  • Any black generation and undercolor removal. These are caused by conversion from RGB (or device independent color spaces that produce RGB as an intermediate space) to CMYK, unless the user parameter IgnoreSetBlackGeneration is true. This applies only where DeviceRGB colorspace is used by the job and when no color management is applied.
  • Any transfer function set by settransfer, or setcolortransfer, unless the UseAllSetTransfer user parameter is false, in which case sethalftone transfer functions or interpolation arrays override these, even if they are empty procedures; or unless the IgnoreSetTransfer user parameter is true.
  • Any color conversions arising from color management facilities.
  • Any negation implied by the NegativeJob user parameter.
  • Any relevant transfer function or interpolation array given in the sethalftone operator.
  • Interpolation arrays set up with setcalibration.
  • For any given object and colorant channel, once the appropriate calibration set sub-dictionaries (where present) have been chosen for each of the four device types, the calibration curves are applied in the following order: /IntendedPressCurve, /ToneCurve, /ActualPressCurve, /DeviceCurve. It is very unusual to have all of these elements applied in any given workflow.
  • Theoretically, each of the four curve types can be split into default and device curves; a bump-up curve may be present for /ActualPress, so up to nine curves may be applied as follows:

(4)     Default Intended Press Curve

(5)     Intended Press Curve

(6)     Default Tone Curve

(7)     Tone Curve

The first four curves are applied as backwards curves, though you still supply the data as if it were a forwards curve (that is, [SNV NDC …] pairs, and the default curve is applied before the corresponding actual curve.

  • Then continuing:

(8)        Actual Press Curve

(9)        Default Actual Press Curve

(10)      BumpUpCurve for the Actual Press

(11)      Device Curve

(12)      Default Device Curve

In our implementation provided in the HqnPageSetupConf and HqnCalibrate procsets we only provide a separate default curve for the Device Curve.

  • Of course, in many situations there may be no /IntendedPress or /Tone sub-dictionaries, and there may only be an /ActualPress curve (perhaps with /BumpUpCurve) or, simply a /DeviceCurve. Or there may be both an /ActualPress curve to compensate for dot gain on the press, and a /DeviceCurve to compensate for any non-linearities in the film device. Any absent calibrations are effectively treated as linear.

Generally, we do not recommend using an /IntendedPress calibration in conjunction with Color Management. Where Color Management is in effect, this is usually a better way to account for a job that is not being printed on the press for which it was intended.

  • An interpolation array set up with the TransferFunction user (formerly system) parameter.
  • Any negation implied by the NegativePrint page device key (which is theoretically done in the device itself, but may sometimes be done in software, depending on the capabilities of the device).

Spot colors use the transfer function from the Default entry if there is no specific entry in the halftone dictionary for the spot color. They also use the black transfer function as set up by settransfer or setcolortransfer (if UseAllSetTransfer is true), and the black setcalibration interpolation array.

JavaScript errors detected

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

If this problem persists, please contact our support.