HqnLayout blocks
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
A Block
object is defined as a PostScript language dictionary containing keys from the following table. Most of these may be sensibly inherited from parent objects (Strips
or ControlBars
) or defaulted from the HqnColorBar
procset. For information on the meaning of struct,
see HqnLayout structs.
Border
name or struct Default: true
Each patch may be surrounded with a rule. The following values are defined:
| No border (default) |
| A rule right around the patch |
| A partial rule, leaving the middle of each patch side clear |
| A rule at the sides of the patch, but not at the top or bottom (use only for |
BorderColors
number, procedure or struct
Default: 1.0
The color with which Border is drawn. If BorderColorSpace
selects a color space for which multiple numbers must be supplied, they should be entered as an executable procedure. For example, { 0 0.5 0.5 0 }
for a tinted red line in CMYK). The default of 1.0
is for the default BorderColorSpace
of All.
BorderColorSpace
name or struct
Default: 0.15 pt
The color space in which Border is drawn. See ColorSpace
for possible values.
BorderWeight
number or struct
Default: 0.15 pt
The rule weight used to draw the border.
BottomLabel
string, procedure, name or struct
The labels to be drawn below each column of patches. Only the bottom row of patches is examined if the label is dependent on the contents of the patches. Labels are drawn using LabelFontStyle
, at BottomLabelSize,
and BottomLabelSetSize
.
If BottomLabel
is a procedure, it is executed after the correct font has been selected and the current point moved to the correct location to show text.
See HqnLayout label styles for the label styles that may be used as name values.
BottomLabelAlign
name or struct
The alignment of BottomLabel
relative to a column of patches. Ignored if BottomLabel
is not a string. Values must be selected from:
| Aligned with the left side of the patch (with no scaling) |
| Aligned with the left side of the patch, scaled down to fit within the patch width if too long |
| Aligned with the left side of the patch, scaled down to fit within twice the patch width if too long |
| Centered on the width of the patch, scaled down to fit within the patch width if too long |
| Aligned with the right side of the patch, scaled down to fit within the patch width if too long |
BottomLabelColored
Boolean or struct
Default: false
If true
, BottomLabel
is drawn in the same colorspace as the bottom patch in its column. Otherwise, it is drawn in the All
separation.
BottomLabelSetSize
number or struct
Default: 1.0
The set size of the text used for BottomLabel
, as a proportion of the natural width of the selected font.
BottomLabelSize
number or struct
Default: 4
The text size used for BottomLabel
in points.
BottomLabelTransChars
Boolean or struct
Default: false
If true
, the label is translated character-by-character; if false
, the label is translated as a whole word. Set to true
for combinations of CMYK and so on. to enable translation of abbreviations such as "C"for Cyan within the string.
CoarsePercent
number or struct
Default: 0.5
for 50%
The tint used when Fill=Coarse
.
CoarseSize
number or struct
Default: 2.5
The “screen frequency'” to be used when Fill
=Coarse
, defined as the period of the screen in points.
Colors
number, executable array or struct
The colors that each patch is to be filled with, in the color space defined by ColorSpace
. In color spaces requiring multiple numbers, they should be grouped as an executable array, for example:
{ 0.25 0.16 0.16 0 }
for DeviceCMYK
.
ColorSpace
name, or struct
Default: DeviceCMYK
The color space used to draw the patch fill, selected from:
| Single process colorant |
| Registration |
| No marks |
| CMYK process space |
| Three-channel RGB space |
| Single-channel gray space |
| Three channel CIE L*a*b* space (D50 white point) |
Columns
integer Default: 1
The number of patches in one row (does not necessarily equate to “real” columns; see PatchStep
, for instance).
CompAngle
number
The angle through which a subsidiary block in a patch where PatchShape
=Compound
should be rotated.
Components
array
The subsidiary Blocks, expressed as an array of Block object names, in a patch where PatchShape=Compound
.
Components
is required in the parent Block
; CompAngle
, CompX
, and CompY
are required in each child block.
CompX
number
The X
coordinate of the lower left corner of a subsidiary block in a patch where PatchShape=Compound
.
CompY
number
The Y
coordinate of the lower left corner of a subsidiary block in a patch where PatchShape=Compound
.
FileName
string
See PatchShape
.
Fill
name or struct
Default: FlatFill
The way in which the patch is filled, selected from:
| A plain vector fill (the default) |
| No fill |
| A very coarse, square screen effect. Each screen dot is colored as defined by the |
| A graduated tint. The color at the left side of the patch is defined by the |
| Fine horizontal or vertical rules. |
GradEnd
number, executable array or struct
See Fill
.
Horizontal
Boolean
Default: true
See Fill=MicroLine.
LabelFontStyle
name or struct
Default: Narrow
The font style used for BottomLabel
and TopLabel
.
MainLabel
string or the name /None
The label to be drawn above the patch as a whole. The label is drawn in MainLabelFont
at MainLabelSize
, and MainLabelY
above the top of the top row of patches. (MainLabelY
should normally be increased if both TopLabel
and MainLabel
are to be drawn.)
MainLabelFontStyle
name
Default: Emphasis
The font style in which MainLabel
is drawn.
MainLabelSize
number
Default: 6
The text size at which MainLabel
is drawn.
MainLabelY
number
Default: 1
The distance, in points, between the top of the top row of patches and the bottom of the descenders of MainLabel
(it is assumed that descenders make up 30% of the point size). Note that this value must be increased if both MainLabel
and TopLabel
are required.
PatchBottom
number
Default: 12
The space to be included in a block below the bottom row of patches, in points. BottomLabel
is drawn within this area.
PatchHeight
number
Default: 20
The height of the patch in points. See also PatchWidth
.
PatchLabel
string, procedure, name or struct
The label to be drawn within each patch. Labels are drawn in LabelFont
, at PatchLabelSize
. See HqnLayout label styles for the label styles that may be selected.
PatchLabelFontStyle
name
Default: /NarrowEmphasis
The font style (see HqnLayout font styles) used to draw PatchLabel
.
PatchLabelSize
number or struct
Default: 3
The text size used for PatchLabel
in points.
PatchShape
name or struct
The shapes of patches. See HqnLayout patch shapes for supported values.
PatchStep
Boolean or struct
Default: true
Whether the current point should step to the right after drawing each patch. Using false
for this setting allows multiple patches to be drawn in the same patch area. For example, a Spot over a Square, or six SixUp
patches. Note that FourUp
and SixUp
maintain a count of the number of patches drawn in the same patch area so far and draw different marks each time.
PatchTop
number
Default: 12
The space to be included in a block above the top row of patches, in points. TopLabel
and MainLabel
are drawn within this area.
PatchWidth
number
Default: 20
The width of the patches, in points. Often best set in the Strip
dictionary rather than the mark itself, to ensure uniformity along the bar. May be set in the block if a patch requires a different width to other patches in the same strip.
RepeatLines
integer
Default: 4
See Fill
=MicroLine
.
RepeatSize
integer
Default: 1
See Fill
=MicroLine
.
Rows
integer
Default: 1
The number of rows of patches.
ScalePatchFile
Boolean
Default: false
See PatchShape
.
Stream
string or array of strings
The content data to be used when PatchShape
=Stream
.
If supplied as a string, the contents are executed as a PostScript language stream. If supplied as an array of strings, the strings are effectively concatenated to allow the graphical content to contain more than 64 KiB of data.
TopLabel
string, procedure, name or struct
The labels to be drawn above each column of patches. Only the top row of patches is examined if the label is dependent on the contents of the patches.
Labels are drawn in LabelFontStyle
, at TopLabelSize
, and TopLabelSetSize
.
If BottomLabel
is a procedure, it is executed after the correct font has been selected and the current point moved to the correct location to show text.
See HqnLayout label styles for the label styles that may be used as name values.
TopLabelAlign
name or struct
The alignment of TopLabel
relative to a column of patches. Ignored if TopLabel
is not a string. See BottomLabelAlign
for permitted values.
TopLabelColored
Boolean or struct
Default: false
If true
, TopLabel
is drawn in the same colorspace as the top patch in its column. Otherwise, it is drawn in the All
separation.
TopLabelSetSize
number or struct
Default: 1.0
The set size of the text used for TopLabel
, as a proportion of the natural width of the selected font.
TopLabelSize
number or struct
Default: 4
The text size used for TopLabel
in points.
TopLabelTransChars
Boolean or struct
Default: false
If true
, the label is translated character-by-character; if TopLabelTransChars
is false
the label is translated as a whole word. Set to true
for combinations of CMYK, and so on. to enable translation of abbreviations such as "C" for Cyan within the string.