Printing - ProgrammersReference
Printing - ProgrammersReference
The information disclosed in this document, including all designs and related materials, is
the valuable property of IntelliTech International Incorporated (IntelliTech) and/or its li-
censors. IntelliTech and/or its licensors, as appropriate, reserve all patent, copyright and
other proprietary rights to this document, including all design, manufacturing, reproduc-
tion, use, and sales rights thereto, except to the extent said rights are expressly granted to
others.
The IntelliTech product(s) discussed in this document are warranted in accordance with the
terms of the Warranty Statement accompanying each product. However, actual
performance of each such product is dependent upon factors such as system configuration,
customer data, and operator control. Since implementation by customers of each product
may vary, the suitability of specific product configurations and applications must be
determined by the customer and is not warranted by IntelliTech.
To allow for design and specification improvements, the information in this document is
subject to change at any time, without notice. Reproduction of this document or portions
thereof without prior written approval of IntelliTech is prohibited.
Copyright 1998-2013
IntelliTech International Inc.
43 Broad Street, Section B404
Hudson, MA 01749-2557
http://www.intellitech-intl.com
All Rights Reserved
Contents
Preface ............................................................................................................................. xi
Abbreviations .................................................................................................................. xiii
Index
Figures
1-1 PCL Coordinate System.................................................................................... 1-2
1-2 Printable Area ................................................................................................... 1-3
1-3 Orientation Examples ....................................................................................... 1-4
1-4 PCL Portrait Orientation Print Area ................................................................. 1-5
1-5 Landscape Orientation Print Area ..................................................................... 1-6
1-6 Character Clipping ............................................................................................ 1-6
1-7 Raster Graphic Clipping ................................................................................... 1-7
RELATED DOCUMENTS
The following documents provide detailed information about the IntelliBar M Series
printer and PCL 5:
IntelliBar M Series User’s Guide
describes the operation of the IntelliBar M Series printer. Available from
IntelliTech International, Inc.
PCL Printer Language Technical Reference Manual
describes the PCL 5 language codes and escape sequences for experienced users
and programmers. Available from Hewlett-Packard (Part number 5961-0509)
Printer Job Language Technical Reference Manual
describes the printer job language (PJL) for experienced users and programmers
Available from Hewlett-Packard (Part number 5961-0509)
PCL/PJL Technical Quick Reference Guide
Available from Hewlett-Packard (Part number 5961-0512)
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
Preface xxiii
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 1
PCL Background
PAGE CHARACTERISTICS
This section describes the system and page characteristics. The IntelliBar printer defines a
label (or page) by using the HP PCL coordinate system.*
Addressable Area
The addressable area describes the area within which the active printing position (or cur-
sor) can move to print. By using the cursor positioning commands (see Section 4), you can
move the cursor to different locations within the addressable area. You cannot move the
cursor outside the area.
Points within the PCL coordinate system can be expressed in dots, decipoints, columns (for
the x-axis) and rows (for the y-axis).
The dot represents the smallest printable point with a size equal to 1/300 inch. Printer reso-
lution refers to the number of dots per inch.
PRINTABLE AREA
The printable area refers to that part of the label where printing is possible. Within the area,
the printer can position at least one dot. Figure 1-2 shows the printable area.
PCL Background 1-3
4.5 Inches
(114.3 mm) maximum
(Model 48 and 412)
.08 Inches (2mm)
Unprintable Area 8.75 Inches
Top and Bottom
(222.25 mm) maximum
AAAAAAA.......................................AAAA
(Model 88)
.08 Inches
(2mm) Min. gap
for die-cut labels
.52 Inches (13mm)
Min. Label Length
for die-cut labels
98.8 Inches (2.51m)
Max. Label Length
for die-cut labels
Orientation
The printable area defined in PCL can have either of two standard orientations: portrait or
landscape. The relationship between the printable area and the two orientations is shown in
following figures. Portrait orientation can be used for most printing applications. Land-
scape orientation is useful for printing larger labels.
1-4 PCL Background
Range
The IntelliBar printer can print in four different orientation ranges:
portrait (0 degrees rotation)
landscape (90 degrees rotation)
reverse portrait (180 degrees rotation)
reverse landscape (270 degrees rotation).
This range of orientations provides tremendous versatility for printing complex label de-
signs. Figure 1-3 provides an example of each orientation.
Character Clipping
The printable area has tightly defined boundaries. If any part of a character falls outside of
the printable area, it will not print. The printer will treat the character as a space (see
Figure 1-6).
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 2
Variable Form Length— defines printable area on labels longer or shorter than 11
inches, clarifies label length and character clipping
Print Speed — controls the IntelliBar M Series printing speed
Density — controls print density (lightness/darkness of printed image)
Print and Tear — executes the tear command
Print and Cut — controls the operation of the optional cutter bar
You can easily control printer operation using these five extension commands (plus the
standard HP PCL reset, number of copies, and text position commands described in
Section 3).
In the following sections, the name of the command is followed by the escape sequence, its
decimal and hex formats, and a description of how to use the command.
2-2 IntelliBar M Series Extensions to HP PCL Commands
In all cases, the top of the logical page corresponds to the top of the printable area.
If “Ignore Margins” is set using the control panel menu buttons, or if a host command is
received to set the top margin to zero (0), the vertical cursor position of 0 is printable as the
first printable scan line on the page. (Vertical cursor positioning in PCL is relative to the
top margin). The exact location of this scan line varies with the setting of the Print Position
command in the Adjustment Menu (+ 3 mm).
See “Left Margin,” “Right Margin,” and “Top Margin” in Section 3 for information on
margin settings for standard label sizes.
Use the following software command group to define the printable area of labels larger or
smaller than 11 in. The allowable range of values is 0.5 in. to 99 in.
Continuous Media
For continuous media, setting the Variable Form Length command causes a soft engine
reset to be executed with the label pitch length set to the form length +2 mm gap.
Therefore, the logical paper length (bitmap size) and the paper movement are always
synchronized.
If Variable Form Length is not set, or the form length is set to 0, or a reset (ESC E) is
received, the logical paper length and paper movement are set from the control panel using
the “Operator Panel” parameter under “Label Menu.”
If no Variable Form Length command is received, or the form length is set to 0, or a reset
(ESC E) command is received, the logical paper length and the paper movement are
determined by the value measured by the control panel’s “Automatic” or “Fixed” or
“Operator Panel” parameters. (The self-test is printed under these conditions.)
In PCL, Line Feeds off the bottom of the logical page cause a form feed, but vertical cursor
positioning commands off the bottom of the logical page position the cursor to the logical
page limit without printing the page.
Print Speed
ESC !p###S
Decimal: 027 033 112 ### 83
Hex: 1B 21 70 ## 53
where ### is a number (mm) that represents increasing print speeds (see Table 2-1).
This command controls the IntelliBar M Series printing speed. For example, ESC !p15S
sets the printing speed to 15 mm/sec (0.6 in/sec).
Print Density
ESC !d##A
Decimal: 027 033 100 ## 65
Hex: 1B 21 64 ## 41
##: print head voltage adjustment value
This command lets you adjust the black/white contrast between the output and the label
(print density) by adjusting the temperature of the print head.
ESC!d##A sets the print density for all subsequent printing, where ## = -15 to +15 (default
is 0). Positive values for ## increase voltage and result in darker print; negative values
decrease voltage and result in lighter print.
For example, ESC!d-3 sets the print density to a value of -3.
The following symbologies print the human-readable check digit in the text (if enabled):
UPC-A Code 39 Interleaved 2 of 5
EAN/JAN-8 Extended 3 of 9 Codabar
EAN/JAN-13 Code 93 HIBC
UCC-128 Extended 93 MSI Plessey (Mod 10)
The following symbologies print the human-readable check digit in the text (if enabled):
UPC-A Code 39 Interleaved 2 of 5
EAN/JAN-8 Extended 3 of 9 Codabar
EAN/JAN-13 Code 93 HIBC
UCC-128 Extended 93 MSI Plessey (Mod 10)
ESC!b#V – Set Column count used for sizing the PDF symbol.
Default = 0
Range: 0 through 30
If both ROW and COLUMN count are defaulted to 0, the bar code aspect
ratio is set to 1:2, i. e., the bar code will be twice as wide as it is high
ESC!b#X – Set X Scale, also known as X Element Size (multiple of Resolution) in
mils (thousandths of an inch)
Default = 1
Range 1 through 20
An X Scale of 1 with a Resolution of 100 DPI generates an X Element Size of
10 mil.
ESC!b#Y – Set Y Scale (also known as module aspect ratio), which sets the row
height as an integer multiple of the X element size.
Default = 3
Range 1 through 10
ESC!b#Z
where # is a number that enables/disables printing of leading zeroes in incrementing fields
as follows:
0 Disable (default). Use spaces as placeholders. When the field value is zero, the
final zero is not suppressed.
1 Enable (use zeroes as placeholders).
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 3
In the following sections, the name of the command is followed by the escape sequence, its
decimal and hex formats, and a description of how to use the command.
For information on the IntelliBar M Series extension commands used to control printer op-
eration, see Section 2.
RESET
ESC E
Decimal: 027 069
Hex: 1B 45
Use this command at the beginning and end of each print job. The command deletes any
temporary fonts and macros, prints any pages remaining in the printer buffer, and restores
user default settings. This allows the next job to start with the default settings as a known
base. Starting with the default environment at the beginning of each print job eliminates the
need to set every feature each time a job is run.
Do not perform a printer reset within a job.
NUMBER OF COPIES
ESC &l#X
Decimal: 027 038 108 #...# 088
Hex: 1B 26 6C #...# 58
#: number of copies (maximum = 32,767)
Use this command to set the number of copies printed for each page in a job. The com-
mand can occur anywhere on the page. Thus, it will be invoked for the current page and
remain in effect for subsequent pages. The factory default setting is 1 copy.
3-2 HP PCL Print Commands
Negative values cause the logical page, regardless of orientation, to move up along the
length of the physical page, except on the back side of sheets printed in short-edge binding
duplex mode, where negative values cause it to move down.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 4
PAGE SIZE
ESC &l#A
Decimal: 027 038 108 # 065
Hex: 1B 26 6C # 41
#: Paper
1 = Executive (7.25 in. x 10.5 in.)
2 = Letter (8.5 in. x 11 in.)
3 = Legal (8.5 in. x 14 in.)
26 = A4 (210 mm x 297 mm)
Envelopes
80 = Monarch (Letter – 3 7/8 in. x 7 1/2 in.)
81 = Commercial 10 (Business – 4 1/8 in. x 9 1/2 in.)
90 = International DL (110 mm x 220 mm)
91 = International C5 (162 mm x 229 mm)
The page size command sets the page size installed in the printer. This also sets the size of
the addressable print area.
4-2 HP PCL Page Format Commands
When the printer receives the page size command, it will print subsequent labels using the
user default settings for the top margin, text length, and left and right margins. The macro
overlay is disabled and the cursor position moves to the left edge of the addressable print
area on the top margin of the next label.
If a page size other than the size set by the command is installed, the printer shows an error
message on the control panel display.
The factory default setting is for letter-sized labels.
PAGE LENGTH
ESC &l#P
Decimal: 027 038 108 # 080
Hex: 1B 26 6C # 50
#: number of lines.
Use the page length command to set the number of lines on a page. The value field (#) sets
the length of the addressable print area in lines. The printer ignores the page length com-
mand if the command is set for a value greater than the maximum supported page size or if
the Vertical Motion Index (VMI) is set at 0.
If a page length other than the size set by the command is installed, the printer shows an er-
ror message on the control panel display.
When the printer receives the page length command, it prints subsequent pages using the
user default settings for the top margin, text length, and left and right margins. The macro
overlay is disabled, and the cursor position moves to the left edge of the addressable print
area on the top margin of the next page.
The factory default setting is for a letter-sized page.
Table 4-1 and Table 4-2 provide page length values for the standard page sizes in portrait
and landscape orientations.
Determine the number of lines per page by multiplying the line spacing setting (lines per
inch) times the length of the page in inches
HP PCL Page Format Commands 4-3
Letter 66 88
Legal 84 112
A4 70 93
Executive 63 84
Letter 51 68
Legal – –
A4 49 66
Executive 43 58
You can print a legal-size page in landscape orientation by starting in portrait orientation
and setting the page length using ESC&l84P. Next, set the orientation to landscape using
ESC&l1O.
4-4 HP PCL Page Format Commands
PAPER SOURCE
ESC &l#H
Decimal: 027 038 108 # 072
Hex: 1B 26 6C # 48
#: 0 = print the current label
1 = feed paper from paper cassette
2 = feed paper from manual feed slot
Use this command to select either the paper cassette or the manual feed feature.
ORIENTATION
ESC &l#O
Decimal: 027 038 108 48 079 (portrait)
027 038 108 49 079 (landscape)
027 038 108 50 079 (reverse portrait)
027 038 108 51 079 (reverse landscape)
Hex: 1B 26 6C 3# 4F
#: 0 = portrait orientation
1 = landscape orientation
2 = reverse portrait
3 = reverse landscape
Use this command to set the page orientation. The command sets user default values for
page length, top margin, text length, left and right margins, horizontal motion index (HMI),
and vertical motion index (VMI). Any data in the print buffer received before the command
will be printed, followed by a form feed and carriage return. The cursor moves to the left
edge of the top margin on the addressable print area of the next page.
The factory default setting is portrait orientation. You can select landscape orientation
through the control panel.
The printer automatically rotates all fonts to the currently selected orientation.
Figure 4-1 shows the features of portrait and landscape orientation modes.
HP PCL Page Format Commands 4-5
PRINT DIRECTION
ESC &l#P
Decimal: 027 038 097 #...# 080
Hex: 1B 26 61 #...# 50
#: 0 = 0o rotation
90 = 90 o counterclockwise rotation
180 = 180o counterclockwise rotation
270 = 270o counterclockwise rotation
Default = 0
Range = 0, 90, 180, 270 (all other values ignored)
This command rotates the logical page coordinate system with respect to the current orien-
tation without performing a page eject. This rotation is performed in 90o degree increments
in a counterclockwise direction. This allows printing in four directions on the same page.
4-6 HP PCL Page Format Commands
LEFT MARGIN
ESC &a#L
Decimal: 027 038 097 #...# 076
Hex: 1B 26 61 #...# 4C
#: column number
Use the left margin command to set the left margin to the left edge of a column you speci-
fy.
The default first column is column 0, located at the left edge of the addressable print area.
If you specify a value greater than the current right margin, the printer ignores the escape
sequence.
The HMI sets the distance between columns. Because margins are a physical position, they
will not change once set even though the HMI may change.
If a new left margin is set within the existing left margin, the cursor shifts to the new left
margin.
Column 0 is the factory default setting for the left margin.
HP PCL Page Format Commands 4-7
RIGHT MARGIN
ESC &a#M
Decimal: 027 038 097 #...# 077
Hex: 1B 26 61 #...# 4D
#: column number
Use the right margin command to set the right margin to the right edge of a column you
specify.
The maximum default right column is located at the right edge of the addressable print ar-
ea. If you specify a value greater than the right margin of the addressable print area, the
printer uses the right margin of the addressable print area. If you specify a column value
less than the left margin, the printer ignores the escape sequence.
The HMI sets the distance between columns. Because margins are physical positions, they
will not change when set even though the HMI may change.
If a new right margin is set to the right of the existing right margin, the cursor shifts to the
new right margin.
The factory default setting for the right margin is the right edge of the addressable print ar-
ea.
TOP MARGIN
ESC &l#E
Decimal: 027 038 108 #...# 069
Hex: 1B 26 6C #...# 45
#: number of lines
Use the top margin command to set the number of lines between the top of the addressable
print area and the top of the text area.
The printer ignores this escape sequence if you specify a value greater than the length of
the current addressable print area or if the current VMI is 0 (VMI sets the space between
lines of text). When the printer receives a valid top margin command, it resets the text
length according to the following equation:
Text length = addressable print area length (in inches) – top margin (in inches) – 1/2 inch.
Because the top margin is a physical position, it will not change once set, even though the
VMI or line spacing may change.
The current values of the top margin and VMI determine the vertical cursor position
through the following equation:
First line (in inches) = top margin (in inches) + (72/100 * VMI)
4-8 HP PCL Page Format Commands
This position will be at the baseline of a character to provide the correct character position
in a character cell. Figure 4-2 shows the relationship of the cursor position to the top mar-
gin and the VMI.
TEXT LENGTH
ESC &l#F
Decimal: 027 038 108 #...# 070
Hex: 1B 26 6C #...# 46
#: number of lines
Use the text length command to set the number of lines available for printing text within
the addressable print area.
Text length in lines is set by the value field (#) starting from the top margin. If you specify
a value greater than the addressable print area minus the top margin, or if the VMI is 0, the
printer ignores the command. The default text length is used if values for orientation, page
length, page size, or top margin change.
The printer calculates the user default text length according to the following equation:
Text length (in lines) = Integer portion (of addressable print area (in inches) – top margin (in inch-
es) – 1/2 inch) x 48/VMI
You must select the user default VMI through software commands.
PERFORATION SKIP
ESC &l#L
Decimal: 027 038 108 # 076
Hex: 1B 26 6C # 4C
#: 0 = disable
1 = enable
Use the perforation skip command to move the cursor from the bottom line on the page to
the top of the text area on the following page.
The perforation region starts at the bottom of the text area on a page and ends at the top of
the text area on the next page. When the skip is enabled, a line feed or half-line feed moves
the cursor to the top of the text area on the following page. When the skip is disabled, a
line feed or half-line feed moves the cursor into the perforation region where printing will
continue.
4-10 HP PCL Page Format Commands
LINE SPACING
ESC &l#D
Decimal: 027 038 108 #...# 068
Hex: 1B 26 6C #...# 44
#: 1 = 1 lines per inch (lpi)
2 = 2 lpi
3 = 3 lpi
4 = 4 lpi
6 = 6 lpi
8 = 8 lpi
12 = 12 lpi
16 = 16 lpi
24 = 24 lpi
48 = 48 lpi
Use the line spacing command to set the number of lines printed per page. This command
functions like the VMI command; however, it sets the VMI in lines per inch.
The factory default setting is six lines per inch.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 5
In this section, cursor position commands are listed by subsection. The name of the com-
mand is followed by the escape sequence, its decimal and hex formats, and a description of
how to use the command.
CR – Carriage Return
The CR control code moves the cursor to the left margin of the current line. Its use is af-
fected by the line termination command (explained later in this section).
SP – Space
The SP control code moves the cursor one column position to the right. You can define
space as a printable character or a control code. When used with proportionally spaced
fonts, the SP control code moves the cursor by the current HMI value. As a printable char-
acter, however, the cursor moves the width of a character. When used with fixed fonts,
cursor movement is according to the HMI value, regardless of how space is used.).
BS – Backspace
The BS control code moves the cursor to the left a distance that is equal to the width of last
printed character or space. No movement occurs if the cursor is already at the left margin.).
The backspace distance equals the HMI value when used with fixed pitch fonts.
HP PCL Cursor Position Commands 5-5
When used with proportionally-spaced fonts, the backspace centers the overstriking charac-
ter on the character being overstruck. After printing the overstrike character the cursor po-
sition will be at the same position before the backspace. Each movement back equals the
distance of the last symbol or space. If the cursor is on the left margin, no movement oc-
curs.
HT – Horizontal Tab
The HT control code moves the cursor to the next tab stop on the current line. Tab stops
start on the left margin and occur at every eighth column to the right edge of the addressa-
ble print area. If the right margin is crossed by a new tab request, the new value is set at the
right margin. When the HMI value is 0, the command is ignored.).
HALF-LINE FEED)
ESC =
Decimal: 027 061
Hex: 1B 3D
Use the half-line feed command to move the cursor down one-half line feed to the same
character position. The distance is one-half of the current VMI or line spacing setting.
LF – Line Feed
The LF control code moves the cursor to the same horizontal position on the next line. The
space between the lines is set by the last VMI or line spacing setting. The line termination
command affects the use of this control code.).
FF – Form Feed
The FF control code moves the cursor to the same horizontal position at the top of the text
area on the next page. The line termination command affects the use of this control code.).
LINE TERMINATION).
ESC &k#G
Decimal: 027 038 107 # 071
Hex: 1B 26 6B # 47
#: 0 = CR=>CR; LF=>LF; FF=>FF
1 = CR=>CR-LF; LF=>LF; FF=>FF
2 = CR=>CR; LF=>CR-LF; FF=>CR-FF
3 = CR=>CR-LF; LF=>CR-LF; FF=>CR-FF
Use the line termination command to control the printer's interpretation of the CR, LF, and
FF control codes.
5-8 HP PCL Cursor Position Commands
PUSH/POP CONTROL).
ESC &f#S
Decimal: 027 038 102 # 083
Hex: 1B 26 66 # 53
#: 0 = push (store cursor position)
1 = pop (recall cursor position)
Use the push/pop command to store or recall the cursor position. Using the value 0 pushes
the cursor position onto the first in last out (FILO) stack while keeping the current cursor
position. Using the value 1 pops the cursor off the stack, restoring it as the current cursor
position.
You can push up to 20 positions. Any more than 20 are ignored. If you pop more positions
than you pushed, the command is ignored. If you reset the printer, the current cursor posi-
tion is placed on the top of the stack and all other pushed are lost.
If a position is outside of the addressable print area, the cursor is positioned at the edge of
the addressable print area.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 6
Priority of Characteristics
The printer first selects a font based on the priority of the characteristics. The priority of the
characteristics, from highest to lowest, is shown in the following list.
Symbol Set
Spacing
Pitch
Point Size (Height)
Style
Stroke
Typeface
When selecting a font, the printer compares the highest priority characteristic in its font
selection table to the corresponding characteristic of the available fonts. If only one font is
available that matches, that font is selected. However, when several fonts match, the printer
compares the next highest priority characteristic to the corresponding characteristic of the
available fonts and so on down the list. When only one font remains, that font is selected.
However, if after comparison of all the font characteristics, more than one font still
remains, then the location of the fonts is considered.
Location
There are two locations in which a font may be stored: printer ROM (internal font) and
printer RAM (soft font). The priority of the two font locations, from highest to lowest, are
shown below. The font that matches the font characteristics is selected from the highest
priority location.
Internal Font
Soft font, lowest ID
Orientation
Orientation refers to the direction of print on a page. Portrait orientation is across the page
width, while landscape orientation is across the page length. The IntelliBar printer can print
in either orientation. When the orientation is changed, the printer will select a font in the
new orientation that has attributes closely resembling the currently selected font of the
other orientation..
HP PCL Font Characteristics 6-3
Number of Fonts
Table 6-1lists the maximum number of fonts that the IntelliBar M Series can manage from
the three font storage locations..
Table 6-1 Number of Fonts
Font Source Maximum Number of Fonts Number of Fonts Per Label
Font Specification
The initial font specification in a job should be made using all of the font characteristics..
To select a Roman-8, fixed-spaced, 10 pitch, 12 point, upright, bold, Courier font, for the
current page orientation, specify each of the characteristics using font selection escape
sequences. Once the characteristics have been specified, the printer will have the following
font select table (see Table 6-2).
To subsequently select a font with the same characteristics except in stroke weight
(medium rather than bold) only the stroke weight characteristic must be specified. Note the
following change to the printer’s font select table: (see Table 6-3).
Even though only the characteristics of the new font that differ from those of the previously
designated font must be sent, IntelliTech recommends that all of the characteristics be sent
to ensure that the correct font gets selected.
SYMBOL SET
A symbol set identifies the specific symbols and/or characters in a font. Characters refer to
the alphabetic, numeric, punctuation symbols, and/or any other symbols that may be
included.
Symbol sets and their identification (ID) numbers are listed in Table 6-4. Commands are
used to designate symbol sets as a primary or secondary. To select symbol sets, send the
following commands.
HP PCL Font Characteristics 6-5
ECMA–94 Latin 1 0N
*HP German 0G
HP Roman–8 8U
Spanish 1S
*ISO 2: International Reference Version 2U
ISO 4: United Kingdom 1E
ISO 6: ASCII 0U
*ISO 10: Swedish 3S
ISO 11: Swedish 0S
*ISO 14: JIS ASCII 0K
ISO 15: Italian 01
*ISO 16 Portuguese 4S
SPACING
Inter-character spacing can be specified as either proportional or fixed by sending the
following commands.
ESC(s#P Primary spacing
Decimal: 027 040 115 049 080 (proportional spacing)
027 040 115 048 080 (fixed spacing)
Hex: 1B 28 73 31 50 (proportional spacing)
1B 28 73 30 50 (fixed spacing)
PITCH
Pitch designates the horizontal spacing of a fixed-spaced font in terms of the number of
characters per inch. The following commands designate pitch for primary fonts.
ESC(s#H Primary pitch
Decimal: 027 040 115 #..# 072
Hex: 1B 28 73 #...# 48
HEIGHT
Height specifies the height of the font in points.
ESC(s#V Primary Height
Decimal: 027 040 115 # 086
Hex: 1B 28 73 # 56
ESC)s#V Secondary Height
Decimal: 027 041 115 # 086
Hex: 1B 29 73 # 56
#: Height in points
The value field (#) is valid to two decimal places. If the requested height is unavailable, the
closest height is selected. All fonts whose heights are within a quarter point of the specified
height are considered to have the specified height.
The factory default primary and secondary heights are 12 point. A PCL typographic point is
1/72 (0.01389) inch.
The user default primary and secondary heights are implicitly set by selection of a user
default font from the control panel (refer to Section 3 in the user’s guide).
For example, to specify a height of 12 points for the primary font, send:
ESC(s12V
To specify a height of 14.4 points for the secondary font, send:
ESC)s14.4V
6-10 HP PCL Font Characteristics
STYLE
Style designates either upright or italic font.
ESC(s#S Primary Style
Decimal: 027 040 115 # 083
Hex: 1B 28 73 # 53
ESC)s#S Secondary Style
Decimal: 027 041 115 # 083
Hex: 1B 29 73 # 53
#: 0 = Upright
1 = Italic
If the requested style is not present, this characteristic is ignored during font selection. The
factory default primary and secondary styles are upright.
The user default primary and secondary styles are implicitly set by selection of a user
default font from the control panel (refer to Section 3 in the user’s guide).
For example to specify an upright style for the primary font, send:
ESC(s0S
To specify an italic style for the secondary font, send:
ESC)s1S
STROKE WEIGHT
Stroke weight designates the thickness of the strokes that compose the characters of a font..
ESC(s#B Primary stroke weight
Decimal: 027 040 115 # 066
Hex: 1B 28 73 # 42
ESC)s#B Secondary stroke weight
Decimal: 027 041 115 # 066
Hex: 1B 29 73 # 42
The value field (#) specifies the thickness of the strokes used in the design of the font. The
supported stroke weight values are -7 through 7. The thinnest font available is -7; the
thickest font available is +7. The standard stroke weight for a medium font is 0; the
standard stroke weight for a bold font is 3; the standard stroke weight for a light font is -3.
Table 6-6 lists the values for the stroke weights.
–7 Ultra Thin
–6 Extra thin
–5 Thin
–4 Extra light
–3 Light
–2 Demi light
–1 Semi light
0 Medium, Book, or Text
+1 Semi bold
+2 Demi bold
+3 Bold
+4 Extra bold
+5 Black
+6 Extra black
+7 Ultra Black
If the specified stroke weight is greater than or equal to 0 and is not available, the next
thicker available stroke weight is selected. If no thicker stroke weight is available, the
closest available thinner stroke weight is selected.
If the specified stroke weight is less than zero and is not available, the next thinner
available stroke weight is selected. If no thinner stroke weight is available, the closest
available thicker stroke weight is selected.
The factory default primary and secondary stroke weights are zero.
The user default primary and secondary stroke weights are implicitly set by selection of a
user default font from the control panel (refer to Section 3).
To specify a bold stroke weight for the primary font, send:
ESC(s3B
To specify a medium stroke weight for the secondary font, send:
ESC)s0B
6-12 HP PCL Font Characteristics
TYPEFACE
Typeface designates the design of the font..
ESC(s#T Primary typeface
Decimal: 027 040 115 # 084
Hex: 1B 28 73 # 54
ESC)s#T Secondary typeface
Decimal: 027 041 115 # 084
Hex: 1B 29 73 # 54
#: Typeface value (see Table 6-7).
If the value field (#) specifies a typeface that is unavailable this characteristic is ignored
during font selection.
The factory default primary and secondary typefaces are Courier.
The user default primary and secondary typefaces are implicitly set by selection of a user
default font from the control panel (refer to Section 3 in the user’s guide).
For example, to specify Univers for the typeface of the primary font, send:
ESC(s4148T
To specify CG Times for the typeface of the secondary font, send:
ESC)s4101T
HP PCL Font Characteristics 6-13
0 Line Printer
3 Courier
6 Letter Gothic
4148 Univers
4101 CG Times
ORIENTATION
The orientation command designates the position of the logical page and direction of print
with respect to the physical page.
ESC&l#O
#: 0 = portrait
1 = landscape
2 = reverse portrait
4 = reverse landscape
Note that this command applies to both the primary and secondary fonts. The printer
automatically rotates all fonts to the currently selected orientation.
For further details, see “Orientation” and “Print Direction” in Section 4.
The following escape sequences could be sent to the printer to select a primary font with
the above characteristics:
ESC(0U ESC(s0P ESC(s10H ESC(s12V
ESC(s0S ESC(s3B ESC(s3T
The previous sequence should be shortened by combining sequences that have the same
two characters following the ESC character.
ESC(0UESC(s0p10h12v0s3b3T
Once the font has been selected as explained above, selecting another font with similar
characteristics only requires changing the characteristics that are different.For example, to
specify a font differing only in style (italic) and stroke weight (medium), only style and
stroke weight need to be specified, as shown below:
ESC(s1S ESC(s0B
or shortened:
ESC(s1s0B
When several fonts with similar characteristics are available in the printer at the same time,
you should use full character description strings to select the desired fonts.
HP PCL Font Characteristics 6-15
UNDERLINE COMMAND
The Underline commands control automatic text underlining..
ESC&d#D Enable underline
Decimal: 027 038 100 # 068
Hex: 1B 26 64 # 44
#: 0 = Fixed position
3 = Floating position
ESC&d@ Disable underline
Once underlining is enabled, any positive horizontal movement causes an underline to be
drawn. Positive horizontal movement includes the printing of text and positive horizontal
cursor motion.
When fixed position underlining is enabled, the underline is drawn five dots below the
baseline and is three dots thick. The baseline is an imaginary dot row on which all of the
characters in a given line stand. When floating position underline is enabled, the underline
position is determined by the greatest underline distance below the baseline of all of the
fonts printed on the current line. The underline distance is defined in a font's descriptor (see
Section 9).
The factory default is underline disabled.
This command does not select the font for text printing if you are currently using the
secondary (alternate) font.
The FI (and FN) commands implicitly change the value of the SB command (scalable or
bitmapped fonts). For example, if SB = 0 and FI selects a bitmap font, SB is set to 1. This
affects the performance of certain HPGL/2 commands. See the SB command later in this
section.
This command does not select the font for text printing if you are currently using the
primary (standard) font.
The FN (and FI) commands implicitly change the value of the SB command (scalable or
bitmapped fonts). For example, if SB = 0 and FN selects a bitmap font, SB is set to 1. This
affects the performance of certain HPGL/2 commands. See the following description of the
SB command.
6-18 HP PCL Font Characteristics
n clamped integer 0 or 1 0
This command is defaulted by the DV command (default value). The SB command takes
affect immediately, changing both the the standard (primary) and alternate (secondary)
fonts to be scalable only or bimap, as requested.
The FN and FI commands implicitly change the value of the SB command. For example, if
SB = 0 and FN selects a bitmap font, SB is set to 1.
When (SB1;) is set, all fonts obey the same restrictions as bitmapped fonts regarding
character fill, orientation, size, and slant.
Scalable fonts respond more accurately to some HPGL/2 commands. The choice of
scalable or bitmap fonts can affect the performance of the following HPGL/2 commands
(see Table 6-12).
The DI command updates the carriage return point to the current location. While the DI
command is in effect, with or without parameters, the text printing direction is not affected
by changes in the locations of P1 and P2.
No parameters - Defaults the text printing direction to absolute and horizontal (parallel to
X-axis). Equivalent to (DI1,0).
Run or Cos Ø - Specifies the X-component of the text printing direction.
Rise or Sin Ø - Specifies the Y-component of the text printing direction.
Together, the parameters specify the slope and direction of the printed characters.
You can express the parameters in measured units as rise and run, or using the
trigonometric functions cosine and sine according to the following relationship:
Where: run and rise = number of measured units
Ø = the angle measured in degrees
sin Ø/cos Ø = rise/run
Ø = tan –1 (rise/run)
and
tan Ø = sin Ø/cos Ø
HP PCL Font Characteristics 6-21
The DR command updates the carriage return point to the current location. While the DR
command is in effect, with or without parameters, the text printing direction is affected by
changes in the locations of P1 and P2.
No parameters - Defaults the text printing direction to relative and horizontal (parallel to
X-axis). Equivalent to (DR1,0).
Run - Specifies the percentage of the distance between P1X and P2X.
Rise - Specifies the percentage of the distance between P1Y and P2Y.
While the SI command is in effect, with or without specifying parameter values, the size of
characters in the currently selected font are not affected by changes in P1 and P2.
6-22 HP PCL Font Characteristics
Height - Specifies the cap height in centimeters. A negative height parameter mirrors text
characters in the top-to-bottom direction.
Note that in most languages the width of a letter is typically less than the height. If you set
your characters to have a different ‘aspect ratio’, they may look odd in terms of readability.
An SI command remains in effect until another SI command is executed, an SR command
is executed, or the printer is initialized or set to its default conditions.
While the SR command is in effect, with or without specifying parameter values, the size
of characters in the currently selected font are affected by changes in P1 and P2.
No parameters - Defaults the relative character width to 0.75% of the distance (P2X – P1X)
and the height to 1.5% of the distance (P2Y – P1Y).
HP PCL Font Characteristics 6-23
Width - Sets the character height to the specified percentage of the distance between the
X-coordinates of P1 and P2. A negative width parameter mirrors text characters in the
right-to left direction.
Height - Sets the character height to the specified percentage of the distance between the
Y-coordinates of P1 and P2. A negative height parameter mirrors text characters in the top-
to bottom direction.
The character size you specify with the SR command is a percentage of P2X – P1X and
P2Y – P1Y. The printer calculates the actual character width and height from the specified
parameters as follows:
actual width = (width parameter/100 x (P2X – P1X)
actual height = (height parameter/100 x (P2Y – P1Y)
The SL command only affects each character relative to an imaginary line beside the text
characters. The direction or placement of the text on the drawing does not affect the SL
command; neither do the settings of the P1 and P2 scaling points. (The DI and DR
commands, however, do affect the slant direction, since the base of a character always stays
on the baseline of the text.
You can specify the actual tangent value, or you can use the TAN function available in
most computer languages.
An SL command remains in effect until another SL command is executed, or the printer is
initialized or set to its default conditions.
Value - Defines the properties of the characteristic specifed by the kind parameter.
Value - Defines the properties of the characteristic specifed by the kind parameter.
HP PCL Font Characteristics 6-27
Edge pen - For characters that are not to be edged, this parameter indicates the pen that is
used to edge the character (black or white).
0: No edging
1: Black edging. The outline pen width is not selectable, but varies in thickness in
proportion to the point size of the font.
Note that the absolute direction (DI) and relative direction (DR) commands do not cuase
rotation of fill patterns. Fill patterns remain fixed with respect to the current coordinate
system. The CF command remains in effect until another CF command is executed or the
printer is initialized or set to its default conditions.
When you embed carriage return characters in text, each portion of the text character is
positioned according to the text origin, just as if they were written as separate label (LB)
commands.
An LO command remains in effect until another LO command is executed, or the printer is
initialized or set to its default conditions.
Label (LB)
This command prints text using the currently defined font. Use the LB command to
annotate drawings or create text-only charts.
LB text ... text label terminator
The LB command includes an automatic pen down function. When the LB command
completes, the original pen up/down status is restored.
text ... text - ASCII characters are drawn using the currently selected font. (Refer to the
AD, SA, SD, and SS commands in this section for details on specifying and selecting
fonts).
You can include non-printing characters such as the carriage return (CR - decimal code 13)
and line feed (LF -decimal code 10). These characters invoke the specified function, but are
not drawn.
The text begins at the current pen location (unless altered by the LO command). After each
character is drawn, the pen location is updated to be the next character origin.
Label terminator - Terminates the LB command. You must use the special label terminator
(refer to the DT command in this section) to tell the printer to exit the LB command mode.
If you do not use the label terminator, everything following the LB mnemonic is printed as
text characters, including other commands. The default label terminator is the non-printing,
end-of-text ETX (decimal code 3) sequence. You can define a different terminator using
the DT command.
6-30 HP PCL Font Characteristics
The character immediately following DT is interpreted to be the new label terminator. You
must terminate all LB commands following a DT command with the specified label
terminator.
No parameter - Defaults the label terminator to ETX (not a semicolon) and the mode to
non-printing (1).
Label terminator - Specifies the label terminator as the character immediately following the
DT mnemonic. (If you use a space between the mnemonic and the label terminator
parameter, the space becomes the label terminator.
Mode - Specifies whether the label terminator is printed.
0: The label terminator prints if it is a printable character and performs its function if
it is a control code.
1: (Default) The label terminator does not print if if it is a printable character and
does not perform its function if it is a control code.
A DT command remains in effect until another DT command is executed, or the printer is
initialized or set to its default conditions.
The CP command includes an automatic pen down function. When the CP command
completes, the original pen up/down status is restored.
The CP command moves the pen position in relation to the current position. CP is a
movement command and does not affect the margin; to repeat the same movement for
subsequent text, you must issue new CP commands.
No parameters - Performs a carriage return and line feed (moves one line down and returns
to the carriage return point.
Spaces - Specifies the number of spaces the pen moves relative to the current pen location.
Positive values specify the number of spaces that the pen moves to the right of the current
pen position; negative values specify the number of spaces that the pen moves to the left.
Right and left are relative to the current text direction. The space width is uniquely defined
for each font; use the ES command described earlier in this section to adjust the width.
Lines - Specifies the number of lines the pen moves relative to the current pen location.
Positive values specify the number of lines that the pen moves up from the current pen
position; negative values specify the number of lines that the pen moves down (a value of -
1 is equivalent to a line feed). Up and down are relative to the current text direction. The
line feed distance is uniquely defined for each font; use the ES command described earlier
in this section to adjust the height.
When you move the pen up or down a specific number of lines, the carriage return point
shifts up or down accordingly.
The DV command determines the text path, which is the direction that the current location
moves after each character is drawn and the direction that the carriage return point moves
when a line feed is included in the text string.
No parameter - Defaults the text path to horizontal (not stacked) with normal line feed.
Equivalent to (DV0,0).
HP PCL Font Characteristics 6-33
Path - Specifies the location of each character with respect to the preceding character,
relative to the labeling direction defined by the DI or DR commands. The text path set by
the DV command is not affected by changes in scaling points P1 and P2.
0: 0 degrees. (Right) Within a label, each character begins to the right of the
previous character. This is a horizontal text path (unless altered by the DI or
DR commands).
1: 90 degrees. (Down) Within a label, each character begins below the previous
character. This is a vertical text path (unless altered by the DI or DR
commands).
2: 180 degrees. (Left) Within a label, each character begins to the left of the
previous character. This is a horizontal text path (unless altered by the DI or
DR commands).
3: 270 degrees. (Up) Within a label, each character begins above the previous
character. This is a vertical text path (unless altered by the DI or DR
commands).
Line - Specifies the location of each character with respect to the preceding character
relative to the text printing direction defined by the DI or DR commands.
0 to –90 degrees. (Normal Line Feed) Sets the direction of line feeds –90 degrees
with respect to the text path.
0 to +90 degrees. (Reverse Line Feed) Sets the direction of line feeds +90 degrees
with respect to the text path.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 7
Make sure there is sufficient space in the printer memory before downloading
fonts. Because you cannot determine exactly how much memory is free, you
should initialize the printer to clear memory whenever possible before download-
ing soft fonts.
Always remain within the same directory when working with fonts.
Do not alter the font file names in any way.
FONT CONTROL
Font control provides several ways for you to use fonts..
ESC *c#F
Decimal: 027 042 099 ### 070
Hex: 1B 2A 63 3# 46
# (ESC) 0 = Delete all soft fonts
1 = Delete all temporary soft fonts
2 = Delete soft font (last ID and character code specified)
3 = Delete character code (last ID and char acter code specified)
4 = Make soft font temporary (last ID speci fied)
5 = Make soft font permanent (last ID specified)
6 = Copy/assign the currently invoked font as temporary
For example, to remove all soft fonts from the user memory, send
ESC*c0F
To remove temporary soft fonts, send
ESC*c1F
HP PCL Font Management and Soft Font Downloading 7-3
FONT SELECTION BY ID
ESC(# X designates the soft font # as primary
Decimal: 7 040 # 088
Hex: 28 # 58.
ESC)# X designates the soft font # as secondary
Decimal: 7 041 # 088
Hex: 29 # 58
For example, to select a font with an ID number of 7 as the primary font, send
ESC (7X
To select a font with an ID number of 5 as the secondary font, send
ESC )5X
The current font remains in use if designated font is unavailable.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information. Intel-
liTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever re-
sulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 8
COORDINATE SYSTEM
Characters of a font are designed within a rectangular area called a cell. The dimensions of
the cell are in PCL Coordinate system dots and are therefore page orientation-independent
(refer to “Page Characteristics” in Section 2 for a complete description of the PCL coordi-
nate system).
Character design dimensions within the cell are in physical coordinate system dots (rather
than PCL Coordinate System dots). The physical coordinate system is defined in terms of
the directions of raster scan (X) and paper motion (Y) as illustrated in Figure 8-1.
Since the raster scan and paper motion directions of a device are fixed, the physical coordi-
nate system is page-orientation dependent. Character design dimensions within the cell are
in physical coordinate system dots and therefore depend on the print orientation.
8-2 HP PCL Soft Font Design
PORTRAIT
Use the transparent print data command to access those codes that are unprintable, yet have
a character defined.
Descriptor Format
The descriptor format byte should be set to zero.
HP PCL Soft Font Design 8-5
Orientation (UB)
Specifies the orientation of the font. All characters within the font must have the same ori-
entation; otherwise they are discarded as they are downloaded. Zero specifies portrait and
one specifies landscape.
Spacing (B)
Specifies the spacing of the font. Zero specifies fixed spacing and one specifies propor-
tional spacing.
HP Math–7 0 A 1
HP Line Draw 0 B 2
ISO 60: Norwegian 0 D 4
version 1
*ISO 61: Norwegian 0 D 36
version 2
HP Roman Extensions 0 E 5
ISO 4: United Kingdom 1 E 37
*ISO 25: French 0 F 6
ISO 69: French 1 F 38
*HP German 0 G 7
ISO 21: German 1 G 39
HP Greek–8 8 G 263
ISO 15: Italian 0 I 9
Pitch (UI)
Specifies the pitch of the font in quarter-dot units (four quarter-dot units equal one dot).
This defines the default HMI for the font. The IntelliBar M Series printers support a pitch
range of 0 to 16,800 quarter-dots. Any values greater than 16,800 are set to 16,800.
8-8 HP PCL Soft Font Design
Height (UI)
Specifies the design height of the font in quarter-dot units. This value, converted to points,
is used as the height characteristics value of the font. A PCL point is 1/72 (0.01389) inch.
The IntelliBar M Series supports a height range of 0 to 10,922 quarter-dots. Any values
greater than 10,922 are set to 10,922.
x#Height (UI)
Specifies the height of the lowercase "x" in quarter-dot units. The IntelliBar M Series does
not use this field.
Style (UB)
Specifies the style of the font. Upright is specified by 0 and italics by 1.
–7 Ultra Thin
–5 Thin
–3 Light
0 Medium, or Book
+3 Bold
+5 Black
+7 Ultra Black
HP PCL Soft Font Design 8-9
Typeface
Specifies the least significant byte of the typeface of the font (see Table 8-5).
0 Line Printer
3 Courier
4 Helv
5 TmsRmn
6 Letter Gothic
8 Prestige
11 Presentations
7 Rounded Bracket
8 Flair Stroke
To download a font header for a portrait Roman-8, 10 pitch, 12 point, upright, medium,
Courier font, with an ID number of one, send:
ESC*c1D (set Font ID to 1)
ESC)s64W [64 bytes of font header data]
Table 8-7 lists the font header data.
Pitch Extended 0
Height Extended
0
Reserved 0
Reserved 0
Reserved 0
Font Name Courier 10 0
Format (UB)
Specifies the format of the character descriptor and data. The format number used by the
printer is 4.
Continuation (B)
Specifies whether the following data is a character descriptor block (0) or a continuation of
the data (1) associated with the previous character descriptor.
Because the escape sequence value field is limited to 32767 bytes, characters whose num-
ber of descriptor and data block bytes exceed this limit must be downloaded in two or more
blocks. Figure 8-4 illustrates the format of a character data continuation block.
4 (in bytes)
–
–
Class (UB)
Specifies the format of the character data. The IntelliBar M Series uses 1 as the character
data format number.
Orientation (UB)
Specifies the orientation of the character. Zero specifies portrait and one specifies land-
scape. The orientation of the character must match the orientation of the font.
Delta X (SI)
Specifies the number of quarter-dot units by which the horizontal position within the logi-
cal page coordinate system will be incremented after printing the character. This value is
only used by the printer when the font is proportionally spaced.
The valid range for delta X is 0 to 16800.
Character Data
Character data is a string of bytes containing the dot-per-bit image of the character. If a bit
is set to one, the corresponding dot will be printed. The data is grouped in dot rows; a row
describes a one-dot high strip of the character from left to right, parallel to the printer's ras-
ter scan direction (see Figure 8-5 and Figure 8-6). Zeroed bits must be added to the end of
each row to make it contain an integral number of bytes. The dot rows are organized from
top to bottom of the character, i.e., the first dot row of data corresponds to the top dot row
of the character.
CHARACTER CODE
The character code sequence establishes the decimal code that will be associated with the
next character downloaded. This single byte value is used to reference the character for
printing.
ESC*c#E
Decimal: 027 042 099 # 069
Hex: 1B 2A 63 # 45
#: character code.
For example, to designate the character code for an ASCII lowercase "y", send:
ESC*c103E
DOWNLOAD CHARACTER
The download character sequence downloads a character descriptor and associated charac-
ter data to the printer.
ESC(s#W [character descriptor and data]
Decimal: 027 040 115 # 087
Hex: 1B 28 73 # 57
The value field (#) identifies the number of bytes in the character descriptor and data. The
maximum number is 32767.
HP PCL Soft Font Design 8-17
For example, to download the character descriptor and data for a portrait, 10 Pitch, 12
point, upright medium, Courier lowercase “y”, send:
ESC*c121E (121 is the decimal character code for an ASCII lowercase “y”)
ESC(s144W [character descriptor and data]
Table 8-8 lists the character format, continuation, and descriptor data.
Format 4
Continuation 0
Descriptor Size 14
Class 1
Orientation 0 Portrait
Reserved 0
Left offset 2
Top Offset 22
Character Width 27
Character Height 32
Delta X 120 30 dots
To download the character descriptor and data for a landscape, 10 pitch, 12 point, upright,
medium, Courier lowercase “y”, send:
ESC*c121E (121 is the decimal character code for an ASCII lowercase “y”)
ESC(s124W [character descriptor and data]
Character format, continuation, and descriptor data are listed in Table 8-9.
HP PCL Soft Font Design 8-19
Format 4
Continuation 0
Descriptor Size 14
Class 1
Orientation 1
Reserved 0
Left Offset –22
Top Offset 28
Character Width 32
Character Height 27
Delta X 120 30 dots
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information. Intel-
liTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever re-
sulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 9
RASTER GRAPHICS
Images composed of groups of dots are raster images. Pictures in newspapers or on
television are examples of raster images. PCL includes commands for printing raster
images. The image is divided into rows one dot high. A dot row of raster image data is
transferred to the printer as a string of bytes containing a dot-per-inch representation of the
row. If a bit in a row is set to one, the corresponding dot will be printed. Zeroed bits must
be added to the end of each row to make each row contain an integral number of bytes. The
dot rows are organized from top to bottom of the image, i.e., the first dot row of data
transferred to the printer corresponds to the top dot row of the image.
Figure 9-1 shows an example of a raster image in the shape of a star.
9-2 HP PCL Graphics Commands
Lower resolution graphics occupy less user memory. For example, the number of bits
required to represent a two-inch by three-inch image at 75 dots-per-inch is 34,200. The
same image at 300 dots-per-inch requires 540,000 bits.
This command specifies the orientation of the raster image on the logical page.
A value of 0 means that a raster row prints in the positive X-direction of the PCL
coordinate system. (The print direction translates the PCL coordinate system.)
A value of 3 means that the raster graphics prints along the width of the physical page,
regardless of the logical page orientation.
The IntelliBar prints raster graphics along the width of the physical page, regardless of
addressable print area orientation. In portrait orientation, a raster row will be printed in the
positive X-direction of the PCL coordinate system and a subsequent raster row will be
printed beginning at the next dot row position in the positive Y-direction. In landscape
orientation, a raster row will be printed in the positive Y-direction of the PCL coordinate
system and a subsequent raster row will be printed beginning at the next dot row position
in the negative X-direction. Figure 9-3 illustrates a master graphics representation.
ESC*b4M (reserved)
Decimal: —
Hex: —
ESC*b5M (adaptive compression)
Decimal: 027 042 098 053 077
Hex: 1B 2A 62 35 41
This command allows you to code raster data in one of four compressed formats:
run-length encoding
tagged imaged file format (TIFF)
HP PCL Graphics Commands 9-7
The choice of compression methods affects both the amount of code needed to generate a
raster graphics image and the efficiency with which the image is printed. Compressed data
formats allow for efficient transfer of data from the host system to the printer. However,
compressed data formats do not reduce the amount of printer memory required to produce
an image.
ESC*p300x400Y
This moves the cursor to dot position (300, 400) within the PCL coordinate
system.
2. Specify the raster graphics resolution:
ESC*t75R
This sets the raster graphics resolution to 75 dots-per-inch.
3. Specify the left raster graphics margin:
ESC*r1A
This sets the left graphics margin to the current X position (300).
4. Transfer the raster data to the printer:
Divide the image into dot rows and transfer each dot row to the printer as a string
of bytes as illustrated in Figure .
5. Signify the end of the raster graphic image transfer:
ESC*rB
HP PCL Graphics Commands 9-9
FILL GRAPHICS
PCL includes sequences for filling or shading rectangular areas with pre-defined patterns.
Rectangular areas are printed in the orientation of the addressable area. An area's width
extends in the positive X-direction of the PCL coordinate system; an area's height extends
in the positive Y-direction.
ESC*p300x400Y
This moves the cursor to dot position (300, 400) within the PCL coordinate
system.
2. Specify the width of the rule:
ESC*c900A
This sets the rule width to 900 dots (3 inches).
3. Specify the height of the rule:
ESC*c1500B
This sets the rule height to 1500 dots (5 inches).
9-16 HP PCL Graphics Commands
ESC*c0P
This example prints the following (see Figure 9-8):
ESC*p300x400Y
This moves the cursor to dot position (300, 400) within the PCL coordinate
system.
2. Specify the width of the rectangle:
ESC*c900A
This sets the rectangle width to 900 dots (3 inches).
3. Specify the height of the rectangle:
ESC*c1500B
This sets the rectangle to 1500 dots (5 inches).
4. Specify the area fill ID:
ESC*c25G
This sets the area fill ID to 25.
5. Print the rectangular shaded area:
ESC*c2P
HP PCL Graphics Commands 9-17
To print a 3- x 5-inch rectangular area filled with a horizontal line pattern, perform the
following steps:
1. Position the cursor:
ESC*p300x400Y
This moves the cursor to dot position (300, 400) within the PCL coordinate
systems.
2. Specify the width of the rectangle:
ESC*c900A
This sets the rectangle width to 900 dots (3 inches).
3. Specify the height of the rectangle:
ESC*c1500B
This sets the rectangle height to 1500 dots (5 inches).
4. Specify the area fill ID:
ESC*c1G
This sets the area fill ID to 1.
5. Print the rectangular pattern-filled area:
ESC*c3P
This example prints the following (see Figure 9-10):
9-18 HP PCL Graphics Commands
Opaque Transparent
ESC*v1N (opaque)
Decimal 027 042 118 049 078
Hex: 1B 2A 76 31 42
This command sets the source image’s transparency mode to transparent or opaque. A
transparency mode of “0” (transparent) means that the white regions of the source image
are not copied onto the destination. A transparency mode of “1” (opaque) means that the
white pixels in the source image are applied directly onto the destination.
9-20 HP PCL Graphics Commands
ESC*v1O (opaque)
Decimal 027 042 118 049 079
Hex: 1B 2A 76 31 43
VECTOR GRAPHICS
The following are vector graphics commands within the PCL context.
The horizontal HPGL/2 plot size determines the horizontal scaling factor used to fit the
drawing into the PCL Picture Frame. For example, if the horizontal HPGL/2 plot size is
specified as 12 inches and the PCL Picture Frame width is 4 inches, the horizontal scaling
factor would be 3:1; the horizontal component of the image would be reduced to one-third
its original size to fit into the PCL Picture Frame.
A parameter value of zero or a reset, page length, paper size, or orientation command
defaults theHPGL/2 plot size to the width of the currently selected picture frame. This
results in no scaling.
Default = 0
Range = 0
This command sets the location of the PCL Picture Frame anchor point to the PCL cursor
position.
The position of the picture frame anchor point defines the location of the upper left corner
of the PCL Picture Frame. The “upper left” refers to the corner for which X and Y
coordinates are minimized when the print direction is 0.
9-22 HP PCL Graphics Commands
A parameter value of 0 (ESC*c0T) specifies that the picture frame anchor point should be
set to the cursor position. Sending a cursor move command prior to sending this command
places the picture frame anchor in the desired location. All parameter values other than
zero are ignored, but if you do not send a Set Picture Frame Anchor Point command, the
printer defaults the anchor point to the left edge of the logical page and the default top
margin.
Using this command defaults the location of P1 and P2, resets the soft-clip window to the
PCL Picture Frame boundaries, clears the polygon buffer, and updates the HPGL/2 pen
position to the lower left corner of the picture frame (if entered with ESC%0B) as viewed
from the current orientation.
Using this command defaults the location of P1 to the lower left corner of the picture frame
(and P2 to the upper right corner of the picture frame). This command also resets the soft-
clip window to the PCL Picture Frame boundaries, clears the polygon buffer, and updates
the HPGL/2 pen position to the lower left corner of the picture frame (P1) as viewed from
the current orientation.
If no horizontal picture frame frame size command is used, the printer defaults the picture
frame size to the logical page width. A parameter of 0 or the PCL reset, UEL, page length,
paper size, or orientation commands default the horizontal picture frame size.
HP PCL Graphics Commands 9-23
If an HPGL/2 plot size is specified, the horizontal picture frame size is used to determine
the horizontal scaling factor used for scaling the image to fit in the picture frame.
Default = distance between the default top and bottom margins (the default text length)
Range = 0 tp 32767 (valid to 4 decimal places)
This PCL command specifies the vertical dimension of the window to be used for printing
an HPGL/2 plot.
HPGL/2 GRAPHICS
The IntelliBar provides the ability to print vector graphics using the HPGL/2 graphics
language. HPGL/2 graphics may be created within application software or imported from
existing applications. For various types of images, it is advantageous to use HPGL/2 vector
graphics instead of the raster graphics described previously in this section. The advantages
include faster I/O transfer of large images and smaller disk storage requirements.
Printing with HLGL/2 requires leaving the PCL printer language mode and entering
HPGL/2 mode. Switching between modes involves only a few commands, and software
applications may easily switch between the two modes as needed.
9-24 HP PCL Graphics Commands
The LT command applies to lines drawn by the AA, AR, AT, CI, EA, ER, EW, FP, PA,
PD, PE, PR, RA, RR, RT, and WG commands. Line types are drawn using the current line
attributes set by the line attribute (LA) command. For example, if you have used LA to
specify rounded ends, the printer draws each dash in a dashed line pattern with rounded
ends.
If no parameters are entered, the LT command defaults the line type to solid and saves the
previous line type, pattern length, and any unused portion of the pattern (residue). LT99
restores the previous line type (and residue if it is a fixed-line type).
There are three line attributes: line ends, line joins, and the miter limit. The LA command
parameters are used in pairs: the first parameter, kind, selects a line attribute; the second,
value, defines the appearance of that attribute. The printer uses the current line attribute
when the optional parameter pairs are omitted.
No parameters - Defaults the line attributes to butt ends, mitered joins, and a miter limit of
5. Equivalent to (LA1,1,2,1,3,5).
9-26 HP PCL Graphics Commands
Kind - Specifies the line attribute for which you are setting a value.
Value - Defines the characteristics of the attribute specified by the kind parameter.
Since using WU, with or without parameters, defaults all pen widths, send the WU
command before a PW command (which sets a new pen width).
HP PCL Graphics Commands 9-27
No parameters - Defaults type parameter to 0 (metric) and all pen widths to 0.35 mm.
Type - Specifies how the width parameter of the pen width (PW) command is interpreted.
0: Metric. Interprets the pen width parameter in millimeters. Specifying type 0
defaults all pen widths to 0.35 mm.
1: Relative. Interprets the pen width parameter as a percentage of the diagonal
distance between P1 and P2. Specifying type 1 defaults all pen widths to 0.1% of
the diagonal distance from P1 to P2.
If the specified type parameter is not 0 or 1, the printer ignores the command.
Although your printer does not have physical pens, for the purpose of compatibility it has a
“logical” pen which you must select to print your drawing.
No parameters - Cancels pen selection; subsequent plotting commands are not drawn.
Equivalent to (SP0).
Pen number - Selects the printer’s “logical” pen. The printer will not draw unless and SP is
sent.
0: Selects the white pen. To see a white pen on a non-white background, you must
set the transparency mode to off (TR0;).
1: Selects the black pen; numbers greater than 1 are also interpreted as 1.
Use the pen width (PW) command to change the line width. You may change line widths
as often as you like without sending an SP command again.
The SM commands draws the specified symbol at each X, Y coordinate point for
subsequent PA, PD, PE, PR, and PU commands. The SM command includes an automatic
pen down; after the symbol is drawn, the pen position and any dashed-line residue are
restored.
No parameter - Terminates symbol mode.
Character - Draws the specified character centered at each subsequent X, Y coordinate. The
symbol is drawn in addition to the usual function of each HPGL/2 command.
The character is drawn in the font selected at the time the vectors are drawn. If you change
to a new symbol set, the character changes to the corresponding character from the new
symbol set, The size (SI and SR), slant (SL), and direction (DI and DR) commands affect
how the character is drawn. Specifying a non-printing character cancels symbol mode.
An SM command remains in effect until another SM command is executed or the printer is
initialized or set to the default conditions.
HP PCL Graphics Commands 9-29
There are eight forms of fill types. The type parameter tells the printer which form you are
using. If the fill type is specified but the option1 and/or option2 parameter is omitted,
values previously given for the specified fill type are assumed, or the defaults are assumed
if none is specified.
No parameters - Defaults all FT parameters and sets the fill type to solid fill. Equivalent to
(FT1).
Type - Selects the fill pattern (see Table J-8).
Option1, Option2 - The definition of these optional parameters depends on the type of fill
selected. Table 9-8 lists the options available for each fill type.
Table 9-8 Fill Patterns and Options
Fill Type Description Option1 Option2
Anchor (AC)
AC X,Y[;] or AC [;]
This command positions the starting point of any fill pattern. Use AC to ensure that the
selected fill pattern is positioned as expected within the figure.
The ‘anchor corner’ is the point at which any fill pattern starts. Setting the anchor corner
guarantees that a corner point of the selected fill pattern is at the specified coordinate,
aligned vertically and horizontally.
No parameters - Defaults the anchor corner to the lower-left corner of the PCL Picture
Frame (relative to the current coordinate system). Equivalent to (AC0,0).
X, Y coordinates - The coordinate position defines the position of the starting point for any
fill pattern.
The RF command does not select a fill type; use the fill type (FT) command with a type
parameter of 11 and the corresponding raster fill index number for the second parameter
(for example, [FT11,3]) for an index number of 3.
No parameters - Defaults all raster fill patterns to solid fill.
HP PCL Graphics Commands 9-31
Index - Specifies the index number of the pattern being defined. Eight patterns can exist
concurrently. When you send RF with an index parameter only (Rfn), the corresponding
pattern is defaulted to solid fill.
Width, Height - Specifies the width and height (in pixels) of the pattern being defined.
Pen number - Represents a pixel in the pattern being defined and indicates its color (black
or white)
0: white
>0: black
The pen number parameter defines pixels left to right, top to bottom. The total number of
pen number parameters should be equal to the width time height parameters. For example,
to define a pattern that is 8 x 16 pixels, you need 128 pen number parameters. If you do not
include enough pen number parameters, the rest of the pixels are assumed to be white
(zero). Patterns are printed in rows parallel to the plotter-unit X-axis.
The UL command allows you to define and store your own line types, This command does
not itself select a line type. Use the line type (LT) command to select the line type once you
have defined it with the UL command.
No parameters - Defaults all line types (refer to the LT command in this section).
Index - Identifies the number of the line type to be defined. Specifying an index number
without gap parameters sets the line type identified by the index to the default pattern for
that number. The index number may not be 0.
The index parameter uses absolute values; therefore, (UL-n) is the same as (ULn).
Redefining a standard fixed line type automatically redefines the corresponding adaptive
line type.
9-32 HP PCL Graphics Commands
Gaps - Specifies alternate pen-down and pen-up stretches in the line type pattern; if gaps
are numbered starting with 1, odd numbered gaps are pen-down moves, even numbered
gaps are pen-up moves. The first gap is a pen-down move. Gap values are converted to
percentages of the LT command’s pattern length parameter. A maximum of 20 gaps are
allowed for each user-defined line type.
For type 1 (shaded fill), specify the shading percentage using a number from 0 to 100. For
example, to print vectors that are shaded 15%, specify (SV1,15;).
For type 2, (HPGL/2 user-defined raster fill), specify the index number of the fill pattern
using the RF (raster fill definition) command.
HP PCL Graphics Commands 9-33
When transparency mode is on (default), the portion of a source image which is defined by
white pixels does not affect the destination; whatever was already written to the page
“shows through” the white areas in the new image.
When transparency mode is off, all source pixels are written to the destination, obscuring
any underlying images.
The transparency mode is defaulted by the ESC E (reset), IN (initialize), and DF (default
values) commands.
9-34 HP PCL Graphics Commands
The AA command draws an arc starting at the current pen location using the current pen
up/down status, line type, and attributes. After drawing the arc, the pen location remains at
the end of the arc.
HP PCL Graphics Commands 9-35
The AR command draws an arc starting at the current pen location using the current pen
up/down status, line type, and attributes. After drawing the arc, the pen location remains at
the end of the arc.
The AT command uses the current pen location and two specified points to calculate a
circle and draw the appropriate arc segment of its circumference. The arc starts at the
current pen location using the current pen, line type, line attributes, and pen up/down
status. You specify the intermediate and end points. After drawing the arc, the pen location
remains at the end of the arc.
9-36 HP PCL Graphics Commands
The PR (and PE) command has extended ranges of -230 to 230 - 1 plotter units. If the
current pen position goes out of this range, the printer ignores HPGL/2 commands until it
receives an absolute PA (or PE) coordinate within the extended range.
HP PCL Graphics Commands 9-37
This command emulates a pen plotter that must lower the pen to draw lines on the page.
The printer interprets the parameters as follows:
No parameters - Prepares the printer to draw subsequent graphics commands.
X, Y coordinates - Draws (in current units) to the point specified. You can specify as many
X, Y coordinates as you want. When you include more than one coordinate pair, the printer
draws each point in the order given.
Coordinates are interpreted in current units: as user-units when scaling is on; as plotter
units when scaling is off.
Whether the PD command uses coordinates or increments depends on the most recently
executed PA or PR command. If no PA or PR command is issued, absolute plotting (PA) is
used.
Pen Up (PU)
PU X,Y [ ... ;] or PU [;]
This command moves to subsequent points without drawing. Use the PU command to
move to another location without drawing a connecting line.
9-38 HP PCL Graphics Commands
This command emulates a pen plotter that must raise the pen to prevent drawing stray lines
on the page.
The printer interprets the parameters as follows:
No parameters - Prevents drawing subsequent graphics commands (unless the command
contains an automatic pen down).
X, Y coordinates - Moves to the point(s) specified. You can specify as many X,Y
coordinates as you want. When you include more than one coordinate pair, the printer
moves to each point in the order given.
Coordinates are interpreted in current units: as user-units when scaling is on; as plotter
units when scaling is off.
Whether the PU command uses absolute coordinates or relative coordinates (increments)
depends on the most recently executed PA or PR command. If no PA or PR command is
issued, absolute plotting (PA) is used.
The RT command uses the current pen location and two specified points to calculate a
circle and draw the appropriate arc segment of its circumference. The arc starts at the
current pen location using the current pen, line type, line attributes, and pen up/down
status. You specify the intermediate and end points. After drawing the arc, the pen location
remains at the end of the arc.
HP PCL Graphics Commands 9-39
No parameters - Updates the Carriage Return point. The PE command without parameters
does not affect the pen’s current location or up/down status.
Flag - Indicates how the printer interprets subsequent values. Flags are ASCII characters
and are not encoded. The printer disregards the eighth bit of a flag.
Flag Meaning
: Select pen
< Pen up
> Fractional data
= Absolute
7 7-bit mode
Value - Specifies data according to the preceding flag. For example, a value following a
select-pen flag should be a pen number.
9-40 HP PCL Graphics Commands
Circle (CI)
CI radius[,chord angle;]
This command draws the circumference of a circle using the specified radius and chord
angle. If you want a filled circle, refer to the WG or PM commands described later in this
section.
Table 9-24 Circle Command Parameters
Parameter Format Functional Range Default
30 30
radius currents units -2 to 2 - 1 None
o o o
chord angle clamped real 0.5 to 180 5
The CI command includes an automatic pen down. When a CI command is received, the
pen lifts, moves from the center of the circle (the current pen location) to the starting point
on the circumference, lowers the pen, draws the circle, then returns with the pen up to the
center of the circle. After the circle is drawn, the previous pen up/down status is restored.
To avoid leaving a dot at the center of the circle, move to and from the circle’s center with
the pen up
Radius - Measured from the current pen location. Coordinates are interpreted in current
units: as user-units when scaling is on; as plotter units when scaling is off.
HP PCL Graphics Commands 9-41
Chord angle - Specifies the chord angle used to draw the arc. The default chord angle is 5o.
The chord angle specifies, in degrees, the maximum angle created when lines from each of
the chord intersect the center point of the circle. The smaller the chord angle, the smoother
the curve.
The EA command defines the edges of a rectangle using absolute coordinates and the
current pen, line type, and line attributes. The EA command performs an automatic pen
down. When command execution completes, the original pen location and up/down status
are restored.
The X, Y coordinates specify the opposite corner of the rectangle from the current pen
location. The current pen location is the starting point of a rectangle. Coordinates are
interpreted in current units: as user-units when scaling is on; as plotter units when scaling
is off.
The only difference between the EA command and the RA (fill rectangle absolute)
command is that the EA command produces an outlined rectangle; RA produces a filled
rectangle.
The RA command defines and fills a rectangle using absolute X, Y coordinates and the
current pen, current line, and current fill types. The RA command performs an automatic
pen down. When command execution completes, the original pen location and up/down
status are restored.
The X, Y coordinates specify the opposite corner of the rectangle from the current pen
location. The current pen location is the starting point of a rectangle. Coordinates are
interpreted in current units: as user-units when scaling is on; as plotter units when scaling
is off.
The only difference between the RA command and the EA (edge rectangle absolute)
command is that the RA command produces a filled rectangle; EA produces an outlined
rectangle.
The RR command defines and fills a rectangle using relative X, Y coordinates and the
current pen, current line, and current fill types. The RR command performs an automatic
pen down. When command execution completes, the original pen location and up/down
status are restored.
The X, Y coordinates specify the opposite corner of the rectangle from the current pen
location. The current pen location is the starting point of a rectangle. Coordinates are
interpreted in current units: as user-units when scaling is on; as plotter units when scaling
is off.
The only difference between the RR command and the ER (edge rectangle relative)
command is that the RR command produces a filled rectangle; ER produces an outlined
rectangle.
HP PCL Graphics Commands 9-43
The ER command defines and edges a rectangle using relative X, Y coordinates and the
current pen, line type, and line attributes. The ER command performs an automatic pen
down. When command execution completes, the original pen location and up/down status
are restored.
The X, Y coordinates specify the opposite corner of the rectangle from the current pen
location. The current pen location is the starting point of a rectangle. Coordinates are
interpreted in current units: as user-units when scaling is on; as plotter units when scaling
is off.
The only difference between the ER command and the RR (fill rectangle relative)
command is that the ER command produces an outlined rectangle; RR produces a filled
rectangle.
The WG command defines and fills a wedge using the current pen, fill type, and line types.
The WG command includes an automatic pen down. When the operation completes, the
original pen location and up/down status are restored.
9-44 HP PCL Graphics Commands
The only difference between the WG command and the EW (edge wedge) command is that
the WG command produces a filled wedge, and the EW command produces an outlined
wedge.
The EW command defines and edges a wedge using the current pen, fill type, and line
types. The EW command includes an automatic pen down. When the operation completes,
the original pen location and up/down status are restored.
The only difference between the EW command and the WG (fill wedge) command is that
the EW command produces an outlined wedge, and the WG command produces a filled
wedge.
In polygon mode, you define the area of the polygon(s) using graphics commands. These
commands (and associated X, Y coordinates) are stored in the polygon buffer. The polygon
is not printed until you exit polygon mode and fill and/or outline the area.
HP PCL Graphics Commands 9-45
No parameters - Clears the polygon buffer and enters polygon mode. Equivalent to (PM0).
Polygon definition - Defines polygon mode status as follows:
0: Clears the polygon buffer and enters polygon mode
1: Closes the current polygon (or subpolygon) and remains in polygon mode; all
commands sent following PM1 but before PM2 (or the next PM1) are stored as
one subpolygon.
2: Closes the current polygon (or subpolygon) and exits polygon mode.
Fill method - Specifies the algorithm used to determine which portions of a polygon are
“inside” the polygon and therefore are to be filled:
0: Even/odd fill algorithm (default)
1: Non-zero winding fill algorithm
The FP command fills any polygon that is currently in the polygon buffer. FP accesses the
data in the polygon buffer but does not clear the buffer or change the data in any way.
The FP command fills between points defined with either the pen down or the pen up. The
polygon is filled using the current pen, fill type, line type, and attributes (if the fill type is
not raster). The FP command includes an automatic pen down. When command execution
completes, the original pen location and up/down status are restored.
9-46 HP PCL Graphics Commands
Scale (SC)
This command establishes a user-unit coordinate system by mapping user-defined
coordinate values onto the scaling points P1 and P2. The SC command determines the
number of user-units along the X- and Y-axes between P1 and P2. The actual size of the
units depends on the locations of P1 and P2 and the range of user-units set up by the SC
command.
SC XMINXMAXYMINYMAX [,type[,left,bottom;]] or
SC XMINXFACTORYMINYFACTOR [,type[;] or
SC [;]
HP PCL Graphics Commands 9-47
Scaling allows you to establish units of measure with which you are familiar or which are
more logical to your drawing. There are three types of scaling: anisotropic (type 0),
isotropic (type 1), and point factor (type 2). The type parameter tells the printer which form
you are using. If no parameters are entered, scaling is turned off, and subsequent
coordinates are in plotter units.
Anisotropic scaling indicates that the size of the units along the X-axis may be different
than the size of the units along the Y-axis. Isotropic scaling, then, indicates that the units
are the same size on both axes. Point-factor scaling sets up a ratio of plotter units to user
units.
The SC command does not change the locations of P1 and P2, only their coordinate values.
Also, scaling is not limited to the rectangular area defined by P1 and P2, but extends across
the entire printing area within the PCL Picture Frame.
X, Y coordinates - Specifies the opposite, diagonal corners of the window area, usually the
lower left (LL) and upper right (UR) corners. Coordinates are interpreted in the current
units: as user-units when scaling is on; as plotter units when scaling is off.
When scaling is on, subsequent changes to P1 and P2 move the window in relation to the
physical page, but keep the same user coordinate locations. However, sending a subsequent
SC command binds the window to its equivalent plotter units. The window does not
change with any subsequent IP or IR commands.
When you turn on the printer, the window is automatically set to the PCL Picture Frame
boundaries. You can define a window that extends beyond this picture frame; however, the
printer cannot print vector graphics beyond this effective window. All programmed pen
motion restricted to this area.
When P1 and P2 are set using the IR command, the scaled area is page-size independent.
As the PCL Picture Frame changes size, P1 and P2 keep the same relative position within
the PCL Picture Frame boundaries.
No parameters - Defaults P1 and P2 to the lower left and upper-right corners of the PCL
Picture Frame, respectively.
X, Y coordinates - Specifies the location of P1 (and, optionally, P2) as percentages of the
PCL Picture Frame limits (specifying P2 is not required). If P2 is not specified, P2 tracks
P1; the P2 coordinates change so that the distances of X and Y between P1 and P2 remain
the same. This tracking process can cause P2 to locate outside the effective window. Used
carefully, however, the tracking function can be useful for preparing more than one equal-
sized drawing on a page.
Neither X, Y coordinate of P1 can equal the corresponding coordinate of P2. If either
coordinate of P1 equals the corresponding coordinate of P2, the coordinate of P2 is
incremented by 1 plotter unit.
HP PCL Graphics Commands 9-49
In addition, the printer updates the carriage return point for text printing to the current pen
location.
The DF command does not affect the following HPGL/2 conditions:
locations of P1 and P2
current pen, its location, width, width unit selection, and up/down position
HPGL/2 drawing rotation
Initialize (IN)
This command resets all programmable HPGL/2 functions to their default settings. Use the
IN command to return the printer to a known HPGL/2 state and to cancel settings that may
have been changed by a previous command sequence. (The ESC E reset command issues
an automatic IN command.)
IN [;]
The IN command sets the printer to the same conditions as the default (DF) command, plus
the following:
raises the pen (PU)
returns the pen location to the lower-left corner of the PCL Picture Frame
(PA0,0)
cancels drawing rotation (RO)
sets P1 and P2 to the lower-left and upper-right corners, respectively, of the PCL
Picture Frame (IP).
sets pen width mode to metric; units are millimeters (WU)
sets the pen width to 0.35 mm (PW)
sets number of pens to 2 (black [1] and white [0]
When a page is ejected using one of the above commands, the PCL cursor position is set to
the top of form on the new page.
An alternative method of ejecting a page from PCL is the Form Feed control code. A Form
Feed causes an unconditional page eject and advances the current active cursor position to
the top of form on the next page. The horizontal cursor position remains the same as before
the page eject.
Replot (RP)
This command is ignored by the printer; to eject a page, the printer must be in the PCL
printer language mode. The following commands cause a conditional page eject, meaning
that a page is ejected if there is any printable data in the print buffer:
ESC E (reset)
UEL (Universal Exit Language)
Flush All Pages
Page Length
Page Size
Orientation
Paper Source
The PCL Form Feed control code causes an unconditional page eject and advances the
current active cursor position to the top of form on the next page.
A page eject caused by any of the above commands except paper source defaults the
HPGL/2 pen position.
To print more than one plot, use the Number of Copies command described in Section 3.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information.
IntelliTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever
resulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 10
CREATING A MACRO
Each macro needs a unique identification (ID) number that must be assigned before you de-
fine the macro. If you assign an existing macro's number to a new macro, the existing mac-
ro is overwritten in the user memory as you define the new macro. All subsequent macro
operations are performed by using the macro ID number.
You create a macro in three steps.
first, send an escape sequence to the printer that indicates the start of a macro def-
inition.
second, send the escape codes, control codes, and data that you want in the mac-
ro. These items must be sent in the intended order of execution.
third, send an escape code to the printer that indicates the end of the macro defi-
nition.
CONTROLLING A MACRO
Macros are stored in user memory. Depending on the amount of memory available in the
IntelliBar M Series, up to 32 macros can be stored simultaneously.
You can use three different ways to invoke a macro:
execute
call
overlay.
10-2 HP PCL Macro Commands and Programming Hints
When a macro is executed, the macro starts its routine using the modified print environ-
ment. Any parameter changes made during the execution are recorded in the modified print
environment. The changes remain after the macro routine has finished execution.
When a macro is called, the macro starts its routine using the modified print environment.
Any parameter changes made during the call are recorded in the modified print environ-
ment but the changes do not remain after the call is completed. The previously existing
modified print environment is restored.
When a macro is invoked for automatic overlay, the macro routine will be the final opera-
tion each time a page is printed. Before the macro is executed, the current modified print
environment is recorded and replaced by the overlay print environment.
The overlay print environment is a combination of the user default and current modified
print environments. Any parameter changes made during a macro overlay are recorded in
the modified print environment. The changes do not remain after the overlay routine is
complete. The previously existing modified is restored.
The overlay environment uses the current settings for the following parameters (all other
parameters are set to the user default values):
Page Length
Paper source
Page size
Number of copies
Orientation
Cursor position stack.
TEMPORARY/PERMANENT MACROS
A macro is automatically defined as temporary, and deleted from user memory during a
printer reset. You can designate a macro to be permanent so it will not be deleted during a
printer reset. Macro status is designated through a sequence that references the macro ID
number.
HP PCL Macro Commands and Programming Hints 10-3
MACRO ID
The macro ID sequence specifies an identification number for use in subsequent macro
routines.
ESC &f#Y
Decimal: 027 038 102 # 089
Hex: 1B 26 66 # 59
#: macro ID number = 0 to 32767
The factory default macro ID is 0.
If you want to use 7 as an identification number, for example, send:
ESC &f7Y
MACRO CONTROL
The macro control sequence contains the commands to define, invoke, and delete macros.
ESC &f#X
Decimal: 027 038 102 # 088
Hex: 1B 26 66 # 58
#: 0 = Start macro definition (last ID specfied)
1 = Stop macro definition
2 = Execute macro (last ID specified)
3 = Call macro (last ID specified)
4 = Enable macro for automatic overlay (last ID specified)
5 = Disable automatic overlay
6 = Delete all macros
7 = Delete all temporary macros
8 = Delete macro (last ID specified)
9 = Make macro temporary (last ID specified)
10 = Make macro permanent (last ID specified)
Other than call and execute, you can not place macro control statements within a macro.
You cannot use a printer reset command in a macro.
Do not place font management commands in a macro. You cannot download, delete, or
make a font permanent in a macro.
MACRO EXAMPLE
This example shows the definition of a macro used for a company letterhead.
ESC&f4Y Specify the macro ID as 4
ESC&f0X Start macro definition
ESC&a540h780V Places letterhead at decipoints 540, 780 in the PCL
coordinate system
ESC*t300R Set graphics resolution to 300 dots-per-inch
ESC(1X Select font with ID of 1
Master Printer Inc.
Text
20 Raster Way
Text
Downtown, NY 12664 Text
ESC&a540h960V Position first rule at decipoints 540, 960
ESC*c10v4680H Set rule height and width
ESC*c0P Print the first rule
ESC&a540h980V Position the second rule at decipoints 540, 980
ESC*c0P Print the second rule
ESC&540h1200V Position for the first line of text at decipoints 540, 1200
ESC&f1X Stop macro definition
The macro can be executed, called, or invoked for automatic overlay.
HP PCL Macro Commands and Programming Hints 10-5
PROGRAMMING HINTS
The following paragraphs provide information for use during PCL software development.
ESC&s1C (disabled)
Decimal: 027 038 115 049 067
Hex: 1B 26 73 31 43
This command defines the action that occurs when a line of text reaches the right margin.
When end-of-line wrap is enabled, a character or space that moves the cursor to the right
margin executes a CR-LF (prior to the printing of the character or space).
When end-of-line wrap is disabled, a character or space that would move the cursor to the
right margin may be clipped. When a character is clipped, the cursor is set to the right mar-
gin.
The factory default is end-of-line wrap disabled.
The primary use of this command is with display functions mode.
When the printer is in display functions mode, all control codes and escape sequences are
printed and not executed, with the following exceptions:
CR is printed and executed as CR-LF.
ESCZ is printed and executed.
Display functions mode instructs the printer to display rather than execute the data it re-
ceives. The data is printed using the current text area and selected font.
*
"This information is subject to change without notice. This information is provided "as is" without either express or
implied warranty. IntelliTech International, Inc. disclaims any and all warranties with regard to this information. Intel-
liTech shall not be liable in any event for any special, indirect or consequential damages or any damages whatsoever re-
sulting from loss of data, profits or use, for any reason or in any action, arising out of or in connection with the use or
performance of this information. "
Section 11
Table 11-2 IntelliBar M Series Device Type Variable Form Length Command
Values
Table 11-3 IntelliBar M Series Device Type Default Print Speed Command Values
NOTE: The Variable Form Length command allowable range = 300 to 29,700 scan lines (= 1"
to 99"/ 2.5 cm to 252 cm) in increments of 300 scan lines (= 1"/ 2.5 cm). Use the next longer full inch
form length for form lengths that have fractional inches. For example, if form length = 8.5" then use
the 9” form length command, “ZSF09”.
ZSFVL Set Variable Form Length = the last selected value ESC!f1Z
ZSF01 Set Variable Form Length = 1" ESC!f300Z
through through
ZSF99 Set Variable Form Length = 99" ESC!f29700Z
ZDFVL Disable Variable Form Length ESC!f0Z
ZBT00 Set Bar Code Type = 0, only print text, Default ESC!b0C
ZBT01 Set Bar Code Type = 1, UPC-A ESC!b1C
ZBT02 Set Bar Code Type = 2, UPC-E ESC!b2C
ZBT03 Set Bar Code Type = 3, EAN/JAN-13 (with or without 2 or 5 digit ESC!b3C
supplements)
ZBT04 Set Bar Code Type = 4, EAN/JAN-8 (with or without 2 or 5 digit ESC!b4C
supplements)
ZBT05 Set Bar Code Type = 5, 3 of 9 (Code 39) ESC!b5C
ZBT06 Set Bar Code Type = 6, Extended 3 of 9 ESC!b6C
ZBT07 Set Bar Code Type = 7, Interleaved 2 of 5 ESC!b7C
ZBT08 Set Bar Code Type = 8, Code 128 ESC!b8C
ZBT09 Set Bar Code Type = 9, Codabar ESC!b9C
ZBT10 Set Bar Code Type = 10, Zip + 4 Postnet ESC!b10C
ZBT11 Set Bar Code Type = 11, MSI Plessey ESC!b11C
ZBT12 Set Bar Code Type = 12, Code 93 ESC!b12C
ZBT14 Set Bar Code Type = 14, UCC-128 ESC!b14C
ZBT15 Set Bar Code Type = 15, HIBC ESC!b15C
ZBT16 Set Bar Code Type = 16, UPC/EAN extension (2 or 5 digit ESC!b16C
supplemental)
ZBT17 Set Bar Code Type = 17, PDF 417 ESC!b17C
ZHC01 Set Bar Code Height (Decipoints) = 0.1" (72 Decipoints) ESC!b72H
ZHC02 Set Bar Code Height (Decipoints) = 0.2" (144 Decipoints) ESC!b144H
through
ZHC60 Set Bar Code Height (Decipoints) = 6.0" (4320 Decipoints) ESC!b4320H
ZHD01 Set Bar Code Height (Dots) = 0.1" (30 Dots) ESC!b30J
ZHD02 Set Bar Code Height (Dots) = 0.2" (60 Dots) ESC!b60J
through
ZHD60 Set Bar Code Height (Dots) = 6.0" (1800 Dots) ESC!b1800J
IntelliBar M Series SAP Device Type Commands 11-8
ZBSM0 Set Bar Code 128 Subset Mode 0, Automatic subset switching, ESC!b0S
Default
ZBSM1 Set Bar Code 128 Subset Mode 1, Subset A (upper case/control ESC!b1S
characters)
ZBSM2 Set Bar Code 128 Subset Mode 2, Subset A (upper and lower ESC!b2S
case characters)
ZBSM3 Set Bar Code 128 Subset Mode 3, Subset A (double density ESC!b3S
numbers)
ZBCM0 Set UPC-E Bar Code Method 0, Requires 11 digits to print 6 digit ESC!b0E
bar code, Default
ZBCM1 Set UPC-E Bar Code Method 1, System 0, 6 digit input string ESC!b1E
ZBCM2 Set UPC-E Bar Code Method 2, System 1, 6 digit input string ESC!b2E
NOTE: The Set PDF417 Row Count for Sizing a PDF Symbol command allowable Range = 0, 3
through 90.
NOTE: The Set PDF417 X Scale command allowable range = 1 through 20.
NOTE: The Set Auto Decrementing Fields command allowable range = 0 to –999.
user defined line type, 9-31 bar code height, 2-7, 2-8
bar code ratio, 2-8
—M— bar code subset mode, 2-8
Macro commands and programming hints, bar code type, 2-7
10-1 bar code width, 2-8
controlling a macro, 10-1 calculate optional check digit, 2-10
creating a macro, 10-1 PDF417, 2-11
macro control, 10-3 print bar code, 2-12
macro example, 10-4 print human-readable text, 2-9
macro ID, 10-3 supported bar codes, 2-7
programming hints, 10-5 UPC-E bar code method, 2-9
temporary/permanent macros, 10-2 PCL print model, 9-18
select pattern command, 9-20
—O— select pattern transparency mode, 9-20
Offset registration select source transparency mode, 9-19
long-edge (left), 3-2 Pitch, 6-8, 8-7
short-edge (top), 3-2 Polygon group commands, J-40
Orientation, 2-3, 6-13 circle, J-40
landscape print area, 2-5 edge polygon, J-46
PCL portrait print area,2- 5 edge rectangle absolute, J-41
Range, 2-4 edge rectangle relative, J-43
edge wedge, J-44
—P— fill polygon, J-45
Page format commands, 4-1 fill rectangle relative, J-42
clear horizontal margins, 4-8 fill retangle absolute, J-41
horizontal motion index, 4-10 fill wedge, J-43
left margin, 4-6 polygon mode, J-44
line spacing, 4-11 Primary and secondary fonts, 6-4
orientation, 4-4 Print and format commend extensions, 2-1
page length, 4-2 Print area, 1-5
page size, 4-1 character clipping,1-6
paper source, 4-4 landscape orientation, 1-5
perforation skip, 4-9 portrait orientation, 1-5
print direction, 4-5 raster graphic clipping, 1-7
right margin, 4-7 Print commands, 2-1
text length, 4-9 number of copies, 3-1
top margin, 4-7 offset registration, 3-2
vertical motion index, 4-10 print and cut, 2-6
PCL background, 1-1 print and tear, 2-5
addressable area, 1-1 print density, 2-5
orientation, 1-3 print speed, 2-4
PCL coordinate system, 1-1 reset, 3-1
PCL bar code command extensions, 2-6 variable form length, 2-2
auto incrementing/decrementing Print density, 2-1, 2-5
fields, 2-12 Print human-readable text, 2-9
bar code generation example, 2-14 positioning after printing bar code, 2-9
Index-4
—T—
Transparent print data, 6-15
Typeface, 6-12, 6-9
—U—
Underline, 8-9
command, 6-16
distance, 8-9
height, 8-10