(v13) Scan conversion controls
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
Global Graphics supports a small number of scan conversion settings: the Harlequin default; and settings intended to match the general appearance and rendering weight of some other RIPs. Please note, however, that settings are not pixel-for-pixel identical.
The scan conversion algorithm defines how fills, strokes, and other shapes are converted to the pixels set or unset on a device. In the Harlequin RIP, different scan conversion algorithms are used in different conditions. The algorithm chosen for a particular condition can sometimes be configured.
The algorithm chosen can be configured using the /ScanConversion
page device parameter, and for certain objects and PDLs, the user parameters /StrokeScanConversion
, /HairlineScanConversion
, and /CharScanConversion
.
The page device parameter /ScanConversion
sets the default scan conversion algorithm for fills. This can only be configured on a per-page basis. The user parameters /StrokeScanConversion
,
/HairlineScanConversion
, and /CharScanConversion
control the scan conversion algorithm used for strokes, hairline strokes (strokes with a line width of 0, defined as a minimum-width device line), and uncached (usually large) characters on a per-object basis. Small characters use a pre-defined rule: the behavior of small character rendering can be affected by using the /AccurateRenderThreshold
system parameter, and the size at which characters are considered too large to cache can be modified using the /MaxFontItem
user parameter.
The values passed to any of these scan conversion parameters must be a name. The fixed scan conversion rules available are:
/RenderHarlequin
The default Harlequin rule, based on Bresenham's algorithms. This is the only rule recommended for HairlineScanConversion
.
/RenderTouching
The pixel touching scan conversion rule. This is similar to the non-normative Adobe rule described in the PostScript Language Reference Manual , version 3. This rule will result in substantially heavier output than the /RenderHarlequin rule.
/RenderTesselating
An off-by-one tessellating rule previously used for rendering XPS. Global Graphics do not recommend using this rule for anything else.
/RenderBresenham
This rule is similar to the /RenderHarlequin rule, but is symmetrical in some more rotational cases than the default rule. This may become the default rule in a future release.
/RenderCenter
A pixel center inclusion rule. This rule may result in lighter output than the default rule and may also result in pixel dropouts at small line or fill widths.
/RenderAccurate
New in Harlequin 12.0r2. A pixel center inclusion rule using sub-pixel accuracy, which is used by default for characters. This means that selecting it for fills as well will produce a nice transition between cached and uncached character rendering. RenderAccurate
will usually result in lighter output than the default rule and is a good choice when trying to match historical FlexRIP rendering. /RenderAccurate
automatically applies dropout controls to all vector fills that are smaller than the /MaxFontItem
user parameter, which means it produces lighter output but with minimal risk of dropouts in fine details such as strokes in pre-outlined text at small sizes. From Harlequin 12.0r2, RenderAccurate
is the default value for CharScanConversion
.
Early revisions of Harlequin v12.0 also supported the ScanConversionParams
page device key; however, from 1v2.0r2, that functionality has been removed in favor of /RenderAccurate
.
To configure default rendering with /RenderAccurate
, use the following configuration:
<<
/ScanConversion /RenderAccurate
>> setpagedevice
<<
/StrokeScanConversion /RenderAccurate
/CharScanConversion /RenderAccurate
/HairlineScanConversion /RenderHarlequin
>> setuserparams
Some algorithm selections cannot be configured for some PDLs (for example, XPS required a particular scan conversion algorithm for fills and strokes), or object types (for example, shaded fills use a particular scan conversion algorithm).