Skip to main content
Skip table of contents

Example setcalibration dictionaries

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

Page content


The following calibration dictionary (rather unusually) contains entries for all four device types: Device, ActualPress, Tone and IntendedPress. All four entries contain a calibration group, that is, an array of calibration set sub-dictionaries. This calibration dictionary illustrates the point that it may be desirable to include a calibration set sub-dictionary (for each device type for which there is an entry), that can be used as a fallback if the conditions in the /WarningsCriteria sub-dictionaries for the other calibration sets do not apply.

There may, however, be times when it would be preferable to abort the job than to fallback to a generic calibration set. In this case, it is still wise to ensure that there is a calibration set sub-dictionary for each device type which will match the page default halftone. For more information see Applying a calibration in Harlequin Core and Example Configurations.

In this example the device which maybe perhaps be a film device will be printing a negative image of the job, so this is noted in all of the calibration set sub-dictionaries for Device, allowing the appropriate calibration adjustments to be made. The use of the /ForceSolids flag is also illustrated - note that when it is provided at the calibration set sub-dictionary level, it is inherited by all the colorant subdictionaries, though these may override the value.


TEXT
            <<
              /CalibrationType 6
              /MissingCalibrationAbort false
              /Device [
                % This device prints pretty near to Linear.
                % We will always be using this device to print a negative image of the job so
                % this is noted in all the calibration sub-dictionaries.
                <<
                  /WarningsCriteria << /HalftoneName /Euclidean >>
                  /NegativePrint true
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.5 1.0 1.0 ] >>
                >>
                <<
                  /NegativePrint true
                  /WarningsCriteria << /HalftoneName /Line >>
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.55 1.0 1.0 ] >>
                >>
                <<
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.53 1.0 1.0 ] >>
                  /Negativeprint true
                >>
              ]
              /ActualPress[
                <<
                  /WarningsCriteria << /HalftoneName /Euclidean >>
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.6 1.0 1.0 ]
                  /ForceSolids true >>
                >>
                <<
                  % This calibration subdictionary will use ForceSolids for all colorants
                  % except Orange
                  /WarningsCriteria << /HalftoneName /Round >>


/ForceSolids

true


/Default

<<

/CalibrationType

2

/Curve

[

0.0

0.0

0.5

0.7

1.0

1.0

]

>>

/Cyan

<<

/CalibrationType

2

/Curve

[

0.0

0.0

0.5

0.8

1.0

1.0

]

>>

/Magenta

<<

/CalibrationType

2

/Curve

[

0.0

0.0

0.5

0.2

1.0

1.0

]

>>

/Yellow

<<

/CalibrationType

2

/Curve

[

0.0

0.0

0.5

0.2

1.0

1.0

]

>>

/Black

<<

/CalibrationType

2

/Curve

[

0.0

0.0

0.5

0.1

1.0

1.0

]

>>


TEXT
                  /Orange << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.55 1.0 1.0 ]
                  /ForceSolids false >>
                  (Forest Green) << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.7 1.0 1.0 ] >>
                >>
                <<
                  % This calibration sub-dictionary will the there as a fall-back if
                  % the other two for ActualPress do not match. This will avoid the rip
                  % erroring due to lack of a match.
                  % Note the Curves for the different colorant channels may contain
                  % differing numbers of points.
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.55 1.0 1.0 ] >>
                  /Cyan << /CalibrationType 2 /Curve [ 0.0 0.0 0.4 0.5 0.5 0.55 0.6 0.67
                                          1.0 1.0 ] >>
                  /Magenta << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.5 1.0 1.0 ] >>
                  /Yellow << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.55 1.0 1.0 ] >>
                  /Black << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.5 1.0 1.0 ] >>
                >>
              ]
              /Tone [
                <<
                  /WarningsCriteria << /HalftoneName /Rhomboid >>
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.55 0.52 1.0 1.0 ] >>
                >>
                <<
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 1.0 1.0 ] >>
                >>
              ]
              /IntendedPress[
                <<
                  /WarningsCriteria << /HalftoneName /Euclidean >>
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.5 0.6 1.0 1.0 ] >>
                >>
                <<
                  /WarningsCriteria << /HalftoneName /Rhomboid >>
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.6 0.7 1.0 1.0 ] >>
                >>
                <<
                  /Default << /CalibrationType 2 /Curve [ 0.0 0.0 0.6 0.7 1.0 1.0 ] >>
                >>
              ]
            >>


Example for linear device


The following calibration dictionary is for a scenario where the film device or CTP is linear, so no Device calibration is necessary. However, there is still dot gain on the press, so the (rather simplified) curves for the ActualPress are designed to compensate for this. In this case there is a default Linearization for the Press (again rather simplified), and this is supplied in the 2nd array of each /Curve array pair. Any short-term variations perhaps due to temperature or humidity have been compensated for in the 1st array of each /Curve array pair.

This example also illustrates the use of bump-up curves. Notice that it has a different bump-up curve for the Rhomboid screen calibration from the bump-up for the fallback calibration.

As there is no Device calibration in this case, the /BumpUpCurve from the chosen calibration set subdictionary will be the very last curve to be applied, so the order of application is: device pairs (1st array from the /Curve for the relevant colorant), default pairs (2nd array from the /Curve for the relevant colorant), /BumpUpCurve.


TEXT
            <<
              /CalibrationType 6
              /MissingCalibrationAbort false
              /ActualPress [
              <<
                /WarningsCriteria
                <<
                  /HalftoneName /Rhomboid
                >>
                % As we have set ForceSolids here it is not needed in the colorant
                % sub-dictionaries (since we have set them all to true as well), but the
                % duplication does no harm.
                /ForceSolids true
        /CalibrationName (Rhomboid)
                /Cyan
                <<
                  /CalibrationType 2
                  /ForceSolids true
                  /Curve [[0.0 0.0 0.2 0.22 0.5 0.6 0.8 0.81 0.9 0.91 1.0 1.0 ][0.0 0.0 0.5
                          0.55 1.0 1.0]]
                >>
                /Magenta
                <<
                  /CalibrationType 2
                  /ForceSolids true
                  /Curve [[0.0 0.0 0.2 0.22 0.5 0.6 0.8 0.83 0.9 0.91 1.0 1.0 ][0.0 0.0 0.5
                          0.56 1.0 1.0]]
                >>
                /Yellow
                <<
                  /CalibrationType 2
                  /ForceSolids true
                  /Curve [[0.0 0.0 0.23 0.24 0.5 0.65 0.8 0.83 0.9 0.94 1.0 1.0 ][0.0 0.0
                          0.5 0.55 1.0 1.0]]
                >>
                /Black
                <<
                  /CalibrationType 2
                  /ForceSolids true
                  /Curve [[0.0 0.0 0.21 0.22 0.5 0.6 0.8 0.81 0.9 0.92 1.0 1.0 ][0.0 0.0 0.5
                          0.56 1.0 1.0]]
                >>
                /Default
                <<
                  /CalibrationType 2
                  /ForceSolids true
                  /Curve [0.0 0.0 1.0 1.0 ]
                >>
                % This curve is applied last and will result in zero output below 0.4% at
                % which point the output will jump to 10%. Above 30% the output will be
                % unaffected (i.e. just what came from the /Curve above), and in between
                % 0.4% input and 30% input the output will be interpolated between 10%
                % and 30%.
                /BumpUpCurve [0.0 0.0 0.7 0.7 0.996 0.9 0.996 1.0 1.0 1.0 ]
              >>
              <<
                /CalibrationName (Fallback)
                /ForceSolids true
                /Cyan
                <<
                  /CalibrationType 2
                  /Curve [[0.0 0.0 1.0 1.0 ][0.0 0.0 0.5 0.56 1.0 1.0]]
                >>
                /Magenta
                <<
                  /CalibrationType 2
                  /Curve [[0.0 0.0 0.5 0.55 1.0 1.0 ][0.0 0.0 0.5 0.56 1.0 1.0]]
                >>
                /Yellow
                <<
                  /CalibrationType 2
                  /Curve [[0.0 0.0 0.5 0.6 1.0 1.0][0.0 0.0 0.5 0.55 1.0 1.0]]
                >>
                /Black
                <<
                  /CalibrationType 2
                  /Curve [[0.0 0.0 1.0 1.0 ][0.0 0.0 0.5 0.56 1.0 1.0]]
                >>
                /Default
                <<
                  /CalibrationType 2
                  /Curve [0.0 0.0 1.0 1.0 ]
                >>
                % This curve is applied last and will result in zero output below 1% at
                % which point the output will jump to 14%.
                % Above 40% the output will be unaffected (i.e. just what came from the
                % /Curve above), and in between 1% input and 40% input the output will be
                % interpolated between 14% and 40%.
                /BumpUpCurve [0.0 0.0 0.6 0.6 0.99 0.86 0.99 1.0 1.0 1.0 ]
              >>
              ]
              << /OverprintPreview /SpotsOnly
              >> setinterceptcolorspace
              <<>> setpagedevice


JavaScript errors detected

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

If this problem persists, please contact our support.