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.