~JX (Cancel Current Partially Input Format) __________________________________________________ 45
3.2.4 Control commands__________________________________________________________________ 45
~PH o ^PH (Slew to Home Position) ________________________________________________________ 45
~PP o ^PP (Programmable Pause) __________________________________________________________ 45
~PS (Print Start) ________________________________________________________________________ 45
3.2.5 Prefix replacement commands_________________________________________________________ 46
~CCx o ^CCx (Change Caret)______________________________________________________________ 46
~CTx o ^CTx (Change Tilde)______________________________________________________________ 46
7. List of figures _____________________________________________________________ 61
8. List of tables ______________________________________________________________ 62
CZL – Programmer Manual
NTRODUCTION
2. I
In order to operate, thermal printers need to receive a series of commands sent to them in order
according to precise procedures.
To address all needs, we have developed the CZL language for its own printers, among others.
In general, a CZL command consists of a prefix, a two-character mnemonic code, and a string of
parameters. The prefix, the mnemonic code, and the string of parameters are composed of printable
characters without any control character (e.g. escape): this guarantees easy loading of the software
onto different types of computers.
For the same reason, the print file to be sent to the printer may be a simple text file (composed with
any editor); alternatively, the instructions may be sent in the form of a programming language (e.g.
Basic), or the label may be laid out on the monitor screen with WYSIWIG1 or word processing
software that, by means of a driver, converts the label into instructions that can be understood by the
printer. In this later case, the user can ignore the programming language described by this manual,
even if knowing it is useful to a full understanding of the functions and potential of the machine.
This software is extremely powerful and makes it possible for non-expert users to create labels by
using just the mouse and the keyboard, while also making it possible to use our printers with any
application (database, word processing, and others). On the other hand, if the user wishes to
optimize machine performance, the best approach is to program the printer with the CZL language
described in this manual.
1
What You See Is What You Get.
6
CZL – Programmer Manual
7
3. C
OMMANDS
In the CZL language, all commands can be sent both in upper and lower case characters (or partially
in upper case and partially in lower case), which produce the same result and are always preceded
by a prefix that identifies their type. The character ^ (
^ commands
and the character ~ (
126
10
or
on the ASCII table) the
7E
16
94
10
or
on the ASCII table) identifies the
5E
16
~ commands
(see fig. 1).
Some commands support both the prefix ^ and ~2.
CZL com m ands
^
commands
G e n era l p ara meters for th e lab e l
Field definition
Text form atting
Printer configuration
Font
Calibration and setting comm ands
Prefix replacemen t com man ds
fig. 1 – Classification of commands
2
Both prefixes can be replaced with the commands
described on page 46.
Barcode
Graphic object
Ad vanced comman d s
~
commands
Query commands
Cancel commands
Control commands
Diagnostic com m and s
^CC
or
(Change Caret) and
~CC
^CT
or
(Change Tilde),
~CT
CZL – Programmer Manual
The parameters are separated from each other and their respective commands by a separator
character, the comma (
Please refer to section 5 on page 50, where several examples illustrate the functions of the
commands.
44
10
or
on the ASCII table).
2C
16
3.1 ^ Commands
3.1.1 General parameters for the label
3.1.1.1 Start and end format commands
^XA (Start Format)
When it receives this command, the printer prepares to receive the ^ commands that will be
performed in the order in which they have been received. In other words, all ^ commands are
preceded by the command
and followed by the subsequent command
^XA
^XZ
.
^XZ (End Format)
This is normally the last in a series of commands sent to the printer. It follows all ^ commands,
which can thus be inserted between the command
only interprets ~ commands or another
command.
^XA
^XA
and
. After this command, the printer
^XZ
3.1.1.2 Positioning commands
^LHx,y (Label Home)
This command makes it possible to position the origin of the coordinates, or move the entire bitmap
away from zero (the upper left corner) (see fig. 2).
8
9
fig. 2 – Origin of the coordinates
CZL – Programmer Manual
x
is a whole number from
y is a whole number from
3
0
to
6
0
to
After receiving this command (which must be sent before the first command
page 13) the printer keeps these values until it is reset or until it receives another
4
9999
and expresses the horizontal offset expressed in dots5.
7
9999
and expresses the vertical offset expressed in dots.
^FS
as described on
^LH
command.
The command only affects the commands that follow it, so it is normally one of the first to be sent,
in order for it to affect the entire label.
It is useful, for example, in centering text on a pre-printed label.
^LLy (Label Length)
In thermal printers the paper is positioned under the head by means of a reference (the gap between
labels, the hole, or the black tick mark on the back). If the paper does not contain any reference
marker (meaning that it is a
procedure (with the
^MN
length command).
The command must be sent before the first
comes before or after the
another
3
Default value.
4
Although it is possibl e to insert any whole number up to 9999, the limit is determined by the number of dots on the
print head (or its width for the set resolution). A greater number displaces the image outside the useful printing area.
See the printer User Manual.
5
If the printer resolution (see the User Manual) is 203 dpi, one dot corresponds to 1/8 mm, if the resolution is 300 dpi,
to 1/12 mm.
6
Default value.
7
Although it is possibl e to i nsert a ny whole number up to 9999, the limit is determined by the maximum printing length
(in turn limited by the available amount of RAM). A larger number displaces the image outside the useful printing area.
See the printer User Manual.
^LL
command.
^MN
continuous form
) the printer must be informed of the operating
command on page 15) and length of the printing page (using the label
^FS
command (page 13) (it does not matter whether it
command) and remains in effect until the machine is reset or receives
CZL – Programmer Manual
is a whole number from
y
10
.
dots
08
to
9
and expresses the length of the printing page in
9999
numbers of
^LSx (Label Shift)
In reference to fig. 2 on page 9, this command shifts the entire image of the label to the left by x
dots.
is a whole number from
x
12
.
dots
This command too must be sent before the first
the machine is reset or receives the next
011
to
and expresses the amount of displacement in
9999
command (page 13) and remains in effect until
^FS
command.
^LS
numbers of
In practice, the amount (in dots) the label is moved from the origin of the coordinates, illustrated in
fig. 2 on page 9, is determined by the following formula:
^LHx + ^FOx - ^LSx13
If the result of this formula is a negative value, it is interpreted as equal to 0 because it is not
possible to print farther to the left than the first useful dot on the print head.
3.1.1.3 Rotation commands
^FWa (Field Orientation)
This permits clockwise rotation by 0°, 90°, 180°, or 270° (according to the value assigned to
parameter a) of all (and only) those fields which can be assigned a rotation parameter. In other
words, the rotation defined by this command is the default setting if another one is not specified.
The parameter a may assume the following values:
(270°) orientation
The command affects only those fields which can be assigned a rotation parameter when it is
omitted. When the rotation parameter can be assigned and is used, it overrides the
Like the others, the
or the next
8
Default value.
9
See note 7 on page 9.
10
See note 5 on page 9.
11
Default value.
12
See note 5 on page 9.
13
See pages 8 and 11 respectively for a description of the commands
14
Default value.
command is sent.
^FW
command affects only the commands that follow it until the printer is reset
^FW
^LH
and
^FO
.
command.
^FW
10
CZL – Programmer Manual
11
3.1.2 Field definition
These commands make it possible to define the type and position of the fields (e.g. alphanumeric
strings) that comprise the label.
^FOx,y (Field Origin)
This command determines the position of the upper left corner of the field in relation to the zero
coordinate set by the command
whatever the rotation, the upper left corner of the rectangle surrounding the field is set to the
coordinate x, y (see fig. 3). When the field is horizontal (whether its rotation is
it is always in the same position as when it is vertical (whether its rotation is
(page 8) and is independent of the rotation. In other words,
^LH
normal
rotated
or
or
bottom up
inverted
),
).
fig. 3 – Rotation of a field positioned with the ^FO command
15
is a whole number from
x
to
0
page 9) in the upper left corner of the field, expressed in dots
is a whole number from
y
18
to
0
9999
9999
16
and is the horizontal position along the x axis (see fig. 2 on
19
and is the vertical position along the y axis in the upper left
17
.
corner of the field, expressed in dots.
^FTx,y (Field Typeset)
This command, like the previous one, sets the position of the origin of the field (in relation to the
zero coordinate set by the
15
Default value.
16
See note 4 on page 9.
17
See note 5 on page 9.
18
Default value.
19
See note 7 on page 9.
command described on page 8) consistently with the content of the
^LH
CZL – Programmer Manual
field and does not change the rotation. In practice, the field rotates around its origin (generally the
lower left corner), as appears in fig. 4.
fig. 4 – Rotation of a field positioned with the ^FT command
x is a whole number from 020 to 999921 and is the horizontal position along the x axis (see fig. 2 on
page 9), expressed in dots22.
y is a whole number from 023 to 999924 and is the vertical position along the y axis, expressed in
dots.
The origin of the field, whose coordinates are set by the parameters x and y, varies according to its
type.
In text fields, the origin i s located at the intersect ion of the line on which the characters are al igned
and the vertical line with which the first character is aligned (in the case of horizontal writing, this is
the lower left corner).
If the coordinates are omitted (even just one of these), the coordinates of the last field entered are
used as if the label image were virtually shifted with a cursor. This is how the fields can be more
easily positioned with respect to one of them: by changing the coordinates of the reference field, all
the other fields are moved while preserving their relative position with respect to the first field.
In th e bar-code fields, the origin is the base of the bar-code, even when there i s a human-readable
field beneath them or when the bar-code provides for a line above and below it.
The origin of the graphic box fields is the lower left corner.
The origin of the images is the lower left corner of the rectangle in which the graphic image is
inserted.
20
Default value.
21
See note 4 on page 9.
22
See note 5 on page 9.
23
Default value.
24
See note 7 on page 9.
12
CZL – Programmer Manual
13
^FDaa…a (Field Data)
This command makes it possible to define the string to be entered in the field.
is an alphanumeric string (up to 3072 characters long) of any printable character, with the
aa…a
exception of the two prefix characters (e.g. ^ and ~). The characters ^ and ~ can be printed if the
prefix character is changed with the commands
on page 13.
^FH
This last command,
is useful for printing all characters after the 127th on the ASCII table (table
^FH,
^CC (~CC
) and
^CT (~CT
) or with the command
9 and table 10 on pages 59 and 60) and, in general, all characters that are not directly available on
the keyboard.
Even the characters
<CR> (13
10
,
0D
) and
16
<LF> (10
10
,
) can be entered in the field.
0A
16
^FS (Field Separator)
This command is the separator for each field; in other words, it sets the end of a field and the
beginning of the next one. Therefore, it is obligatory, and every command for rotation, positioning,
etc. in the field takes effect if it is followed by the
command.
^FS
^FHi (Field Hex)
This command makes it possible to print any character through its hexadecimal code. In particular,
it is possible to insert the hexadecimal code of the character to be printed directly in the string
of the
Therefore, the
command as long as it is preceded by the character i defined by the Field Hex command.
^FD
command must precede every
^FH
command (or any other command where a
^FD
aa…a
data field is specified).
can be any printable character as long as its meaning is unambiguous: in the following
i
aa…a
string, every appearance of the i character signifies “hexadecimal code identifier.” Therefore, it
makes sense to use a character that is not printed: The default i s the
).
5F
16
underline
character _ (
95
10
,
After the i identifier, the machine interprets the t wo subsequent charact ers as the “hex adecimal code
of the character to be printed,” and thus the two following characters can be any two of the
following:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, A, a, B, b, C, c, D, d, E, e, F, f.
3.1.3 Text formatting
^FBl,n,s,g,m (Field Block)
This command makes it possible to print different lines of text enclosed in a virtual box that
assumes the properties (origin, font, rotation) of the text field. This makes it possible to move,
enlarge, and otherwise manipulate the entire box without modifying each string of text. This
CZL – Programmer Manual
command incorporates an automatic word wrapping function25 to make operations easier without
worrying about the placement of individual strings.
is the width of the box expressed in dots26. It can be any whole number between
l
027
and
9999
However, it must not be smaller than the width of a character or larger than the width of the
printing area (see note 4 on page 9). If the width of the block is not sufficient to contain at least
one character, nothing is printed; if it is not large enough to contain everything, only the text
contained in the block is printed28.
is the maximum number of lines that the box can contain. It can be any whole number between
n
and
9999
number of lines
. In practice, this parameter determines the height of the box (which is thus expressed in
). Thus, by changing the font type, the dimensions of the box are automatically
129
adjusted. If the number of lines is not sufficient to contain all the lines of text that are to be
printed, the last of these is overwritten (thus becoming illegible) until all characters to be printed
are consumed.
30
è is a whole number between
s
–9999
and
+9999
and indicates the space (in dots31) to add (if the
number is positive) or subtract (if the number is negative) between one line and another. The
numbers without sign are read as positive.
is a letter that can assume the following value on the basis of the type of justification desired:
g
32
L
for left justification of the text, C to center it in the box, J for full justification, and R for right
justification.
is a whole number between
m
0
33
and
indicating the number of dots that the left margin is
9999
indented for lines after the first. Its function is thus to indent text.
To render formatting of text inside the box easier, the following sequences of special characters can
be used:
corresponds to a
\&
corresponds to a word break. If the split word is close to the left margin, the printer adds word-
\
<CR>
(Carriage Return) +
<LF>
(Line Feed), to force a carriage return.
break hyphen. Otherwise, the word break is ignored.
serves to print the character \.
\\
If a word is too long to be contained on a single line (and is not broken by any \ character) a wordbreak hyphen is automatically added close to the left margin of the block and the rest of the word is
printed on the following line. The language does not provide any rule for syllabification of the
words: they are split apart according to their length. Therefore, it is necessary to force their break
with the \ command to respect the syllabification rules of the word itself.
These “special” sequences of characters also fall within the limit of 3072 characters indicated for
the
34
command. That is, each alphanumeric string
^FD
, including special sequences, cannot
aa…a
be longer than 3072 characters.
25
Just as in word processing, the text is justified (on the left, center, full justification, or on the right) and returns
automatically inside the box.
26
See note 5 on page 9.
27
Default value.
28
Therefore, the parameter l is mandatory since the default value 0 would be used instead.
29
Default value.
30
0 is the default value.
31
See note 5 on page 9.
32
Default value.
33
Default value.
.
14
CZL – Programmer Manual
15
The “normal” characters (i.e. different from the \& sequence mentioned above)
and
<LF> (10
When the
Therefore, especially when also using the
,
) are ignored, just like the spaces (
0A
10
16
command is used, the field origin is the lower left corner (see fig. 4 on page 12).
^FT
command, it is necessary to check whether, upon
^FB
32
10
,
) at the end of the line.
20
16
<CR> (13
10
,
0D
16
)
enlargement of the font size, there could be a change in the dimensions of the box (from bottom to
top) that could spill over the top limit for the label. In this case, only the part of the label contained
within the printing area is printed, and the excess amount is left out. In fig. 2 on page 9, the origin of
the coordinates corresponds to the upper left corner of the label, and thus everything that goes
beyond the origin (with, absurdly, negative coordinates) is lost.
When the
command is used, upon an increase in font size, the box resizes itself from top to
^FO
bottom (the origin of the coordinates is the upper left corner, as appears in fig. 3 on page 11) and,
therefore, the risk consists in losing the portion extending below the lower edge of the label.
More generally, with the CZL emulation, the useful bitmap is determined by the size of the label:
never does it happen that one part of the image is printed on one label and the other part on another.
For the
command.
^FS
command to take effect, it m ust be preceded by the data string and be followed by the
^FB
3.1.4 Printer configuration
Many of the printer configuration parameters (please refer to the User Manual) can also be defined
with software. The parameters defined with software override those defined through the machine
configuration menu. Or, if one of the configuration parameters is modified with a software
command, the current configuration of the machine is modified until it is reset. When the machine
is turned on again, the configuration parameters assume the values of the last saved configuration,
and those changed with software are lost if they have not been saved.
^MNa (Media Tracking)
Through this command, it is possible to inform the printer of the type of label in use: continuous
form (no reference marker) or labels with a reference marker (be it a gap, black tick mark, or hole).
In the two cases where the parameter a assumes the following values:
for continuous form
N
for the reference label.
Y
With the continuous form, it is necessary to define the page length with the
described above (page 9); where the label is separated by a reference marker (of any type), the
length of the printing page is determined by the paper sensor set up to detect the gap (or black tick
mark or hole).
The instruction is ignored if the parameter is ignored or different from these two.
command already
^LL
34
See page 13.
CZL – Programmer Manual
^MTa (Thermal Media)
In general, thermal printers can print on different types of media using ink ribbon (this type of
printing is called
thermal transfer
) or directly onto thermal paper (this is called
direct thermal
printing).
The printing mode is defined with a specific machine configuration parameter or with the following
command.
In this case, a can assume two different values:
to set the
T
to set the
D
thermal transfer
direct thermal
mode
mode.
The instruction is ignored if the parameter is omitted or is different from these two.
^MDn (Media Darkness)
Depending on the type of medium that is going to be used, the type of ribbon used, and the printing
speed, the print quality is determined by the head temperature. There are 30 possible temperature
levels (one of which is set from the panel). By means of this command, it is possible to adjust the
head temperature (and thus print density) incrementally according to the value set during
configuration. Specifically, the parameter n is a whole number between
–30
and
convention of assuming all numbers without sign as being positive. After executing the current
command, the number n is added algebraically to the temperature set during configuration; the
result of the operation is the new printer temperature. Even when several
commands are sent,
^MD
each one of them refers to the value set in the machine configuration. The effect of the commands is
not cumulative: it is the one resulting from the last command sent.
If the result of the command
temperature is assumed to be
30
produces a temperature value over
^MD
and 0 respectively.
or less than
30
+30
35
with the
0,
the
^LTn (Label Top)
In order to define the exact position of the label, this command can be used, where n is a whole
number between
–64
and
. The result is longitudinal displacement of the entire prin ting image
+64
by n dots36 in reference to the origin of the coordinates as indicated in fig. 2 on page 9. Once again,
it is assumed that numbers without sign are positive.
^JZa (Reprint After Error)
In general, after resetting following an operating error (e.g. when the paper or ribbon run out), the
printer reprints the whole label that was interrupted due to the error.
This command is used to disable this function.
The parameter a can assume one of the following two values:
reprinting is enabled
Y37
printing is disabled.
N
35
The default value is 0.
36
See note 5 on page 9.
37
Default value.
16
CZL – Programmer Manual
17
The instruction is ignored if the parameter is ignored or different from the two allowed, and it only
affects subsequent labels.
3.1.5 Font
The language offers a selection of fonts that can be chosen as necessary (see section 4.1 on page 47
for their specifications). It is possible to set a default font: in this case, all alphanumeric fields will
be in the font selected if not otherwise specified. Or, it i s possible to set the type of font for each
field.
The following commands permit you to determine the type of font and some of their features.
^CFt,a,l (Change Default Font)
This command makes it possible to chose the machine default font. After this command, all fields
are printed with the selected font (as well as their height and width) until the next
command.
is a letter between
t
38
and H or zero (
A
∅
) and identifies the font type (see section 4.1 on page 47).
a is a whole number between 0 and 999939 and indicates the height of the character expressed in
dots.
l is a whole number between 0 and 999940 and indicates the width of the character expressed in dots.
If one of the two height (a) or width (l) parameters is omitted, the other is forced proportionately.
Thus, if a width double the normal dimension for that font type is specified without indicating the
height, the latter is also assumed to be doubled in order to preserve the proportion of the character.
If both parameters a and l are omitted, the default values or those of the last ^CF command received
are applied.
The fact is that the language does not allow all possible heights for non-scalable fonts (those from A
to H). Approximations of multiples of the whole numbers closest to standard sizes are used for the
dimensions set with parameters a and l. Referring to table 5 on page 47, if the selected height of font
A is 16, the language forces the height to 18, which corresponds to double the standard height (9 x
2).
^CF
or
^Ax
^Axr,a,l (Alphanumeric Font)
This command lets you select the font field by field.
x is a letter between A and H and identifies the font type (see section 4.1 on page 47).
r is one of the following four letters and indicates the clockwise rotation of the field:
N normal rotation of 0°41
R rotated by 90°
I inverted by 180°
38
Default value.
39
The default value is specified, font by font, in table 5 on page 47.
40
See note 39.
41
The default value is N or generally the last value received with the ^FW command described on page 10.
CZL – Programmer Manual
B bottom up
is a whole number between 0 and
a
is a whole number between 0 and
l
Once again, the same observations made regarding the height and width specified by the
rotation of 270°
9999
9999
42
indicating the height of the character, expressed in dots.
43
indicating the width of the character, expressed in dots.
^CF
command on page 17 apply, to which the reader is referred.
^A∅r,a,l (Scalable font)
Scalable fonts merit a separate discussion.
They can be of any width or height, and their proportion is guaranteed by the algorithm resident in
the programming language. Otherwise, the dimensions of the bitmap fonts (those identified by
letters
A – H
sizes (even if the number is high).
Furthermore, the scalable fonts are proportionately spaced44, which enhances their appearance.
Like the bitmap fonts, the parameter r is one of the following four letters and indicates the
clockwise rotation of the field:
N normal
R rotated
I inverted
B bottom up
is a whole number between
a
is a whole number between
l
) are multiples of the standard. This means that there is a limited number of possible
rotation of 0°45
by 90°
rotated by 180°
rotation of 270°
10
10
and
and
1500
1500
46
, indicating the character height in dots.
47
, indicating the width of the character in dots.
3.1.6 Bar-code
3.1.6.1 ^Bx (Bar-code)
In order to insert a bar-code, its type and characteristics (e.g. rotation, height, etc.) must be
specified, where some these are typical (see section 4.2 on page 48 for a summary of these
characteristics). Since not all of these paramet ers are mandatory, with others being characteristic of
each bar-code, all the
one. As is true for all the other CZL commands, when a parameter is expressly omitted because the
default value or the previously set value are accepted, the
used so that the reader can know which one of the parameters has been “implied.” The separator
may be omitted when it is not followed by another parameter.
42
See note 39.
43
See note 39.
44
See note 202 on page 48.
45
The default value is N or generally the last value received with the
46
The default value is 15 or the value set with the last
47
The default value is 12 or the value set with the last
commands are explai ned in detail with the specific parameters for each
^Bx
separator must nonetheless be
command (page 17).
^CF
command (page 17).
^CF
comma
command described on page 10.
^FW
18
CZL – Programmer Manual
19
^BYm,r,a (Bar-code default values)
This command makes it possible to set the width of the module, the ratio and height of all bar-codes
included in the label, and affects the bar-codes that follow it up to the next
is a whole number between 1 and
m
48
and expresses the width in dots of the narrow bar (the base
10
module of the bar-code)
is a rational number (with a single decimal-place character) between
r
2.0
of the bar-codes. The actual ratio (according to which the bar-code is printed) is limited by the
fact that it is not possible to break up a dot into fractions. Therefore, it depends on the parameter
together with the parameter m in accordance with table 1. In fixed ratio bar-codes, this
r,
parameter has no effect.
is a whole number between 1 and
a
50
9999
and indicates the height of the bar-code, expressed in
table 1 – Relationship between the ratio and width of the module
^B2r,a,h,p,c (Interleaved 2/5)
This is a high-density code, accepts only numerals, and is of variable length with an optional digit
check; it accepts ratios from 2 to 3 (see table 8 on page 49).
The command accepts up to 100 characters but the limit is determined by the label width (or by the
maximum length of the printing area if the bar-code is rotated by 90°/270°51) together with the ratio
set by the
printing area due its excessive siz e (determined by the number of characters to be coded and/or by
the ratio), it could be wrongly interpreted by the reader. In any event, the part that is included in the
useful printing area is printed.
48
The default value is 2.
49
The default value is
50
The default value is 10. The upper limit is determined by the greatest length of the label (see note 7 on page 9).
51
The maximum length of the printing area is in turn limited by the available RAM. Please refer to the User Manual.
command on page 19. In other words, if the bar-code spills over the boundaries of the
^BY
. The point is used as the decimal separator.
3.0
CZL – Programmer Manual
Regardless, the number of characters coded by the 2/5 Interleaved bar-code must be even: if it is
not, a zero will be added to the most significant position (on the left).
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
rotation (0°)52
(90°)
(180°)
rotation (270°)
999953
and expresses the height of the bar-code expressed in
dots54.
is the letter
h
is the letter Y (
p
55
if printing of the
Y
) or
yes
N56 (no
human readable
). If the
human readable
field is desired; if not, it is the letter N.
field is desired (when
), it is possible to
h=Y
position it above (p=Y) or below (p=N).
is the letter Y (
c
yes
) or
N57 (no
). Y if the check digit is to be added, N if not.
^B3r,c,a,h,p (Code 39)
This code accepts numerals and upper-case letters, and its length is variable with optional check
digit; it accepts ratios from 2 to 3 (see table 8 on page 49).
The command accepts up to 100 characters, but the limit is determined by the width of the label (or
the maximum length of the printing area if the bar-code is rotated by 90°/270°58) together with the
ratio set by the
of the printing area due its excessive size (determined by the number of characters to be coded
and/or by the ratio), it could be wrongly interpreted by the reader. In any event, the part that is
included in the useful printing area is printed.
The two start and stop asterisks provided by Code 39 are automatically added.
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
(180°)
B: bottom up
is the letter Y (
c
is a whole number between 1 and
a
dots62.
is the letter
h
52
The default value is that of the last
53
The default value is that of the last
54
See note 5 on page 9.
55
Default value.
56
Default value.
57
Default value.
58
The maximum length of the printing area is in turn limited by the available RAM. Please refer to the User Manual.
59
The default value is that of the last
60
Default value.
61
The default value is that of the last
62
See note 5 on page 9.
63
Default value.
command on page 19. In other words, if the bar-code spills over the boundaries
^BY
rotation (0°)59
(90°)
rotation (270°)
) or
yes
63
if printing of the
Y
N60 (no
). Y if the check-digit is to be added, N if not.
999961
human readable
and expresses the height of the bar-code, expressed in
field is desired, N if not.
command (page 10) received.
^FW
command (page 19) received.
^BY
command (page 10) received.
^FW
command (page 19) received.
^BY
20
CZL – Programmer Manual
21
is the letter Y (
p
yes
) or
N64 (no
). If the
human readable
field is desired (when h=Y) it is possible to
position it above (p=Y) or below (p=N).
^B8r,a,h,p (EAN 8)
This is a reduced EAN 13 code (see page 22), accepts only numerals, has a fixed length (7
characters) with check digit and a fixed ratio (see table 8 on page 49).
Since its length is fixed, if you attempt to code a string shorter than 7 characters, CZL will add as
many zeroes as are missing from the most significant positions (to the left). At the same time, if the
string is longer than 7 characters, it is truncated at the seventh character, eliminating all the less
significant ones (to the right).
is a letter determining the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
dots67.
is the letter
h
is the letter Y (
p
position it above (p=Y) or below (p=N).
rotation (0°)65
(90°)
(180°)
rotation (270°)
68
if printing of the
Y
) or
yes
N69 (no
999966
human readable
). If the
human readable
and expresses the height of the bar-code as expressed in
field is desired, and N if not.
field is desired (when h=Y) it is possible to
^B9r,a,h,p,c (UPC E)
This code is a reduced version of UPC A (see page 27), accepts only numerals, and has a fixed
length (10 characters) with check digit; the ratio is fixed (see table 8 on page 49).
Since its length is fixed, if you attempt to code a string shorter than 10 characters, CZL will add as
many zeroes as are missing from the most significant positions (to the left). At the same time, if the
string is longer than 10 characters, it is truncated at the seventh character, eliminating all the less
significant ones (to the right).
is letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
dots72.
64
Default value.
65
The default value is that of the last
66
The default value is that of the last
67
See note 5 on page 9.
68
Default value.
69
Default value.
70
The default value is that of the last
71
The default value is that of the last
72
See note 5 on page 9.
rotation (0°)70
(90°)
(180°)
rotation (270°)
999971
command (page 10) received.
^FW
command (page 19) received.
^BY
command (page 10) received.
^FW
command (page 19) received.
^BY
and indicates the height of the bar-code, expressed in
CZL – Programmer Manual
is the letter
h
is the letter Y (
p
73
if printing of the
Y
) or
yes
N74 (no
human readable
). If the
human readable
field is desired, N if not.
field is desired (when h=Y) it is possible to
position it above (p=Y) or below (p=N).
is the letter Y (
c
yes
) or
N75 (no
). Y if the check digit is to be added, N if not.
^BCr,a,h,p,c,m (Code 128)
This is a high-density code, accepts numerals and letters (both upper and lower-case), and its length
is variable, with optional check digit. Its ratio is fixed (see table 8 on page 49).
Code 128 accepts three character subsets (see table 2), and each of these contains 106 characters
that can be printed differently for each subset.
73
Default value.
74
Default value.
75
Default value.
22
CZL – Programmer Manual
23
Value Subset A Subset B76 Subset C Value Subset A Subset B Subset C
0 Space Space 00 53 U U 53
1 ! ! 01 54 V V 54
2 “ “ 02 55 W W 55
3 # # 03 56 X X 56
4 $ $ 04 57 Y Y 57
5 % % 05 58 Z Z 58
6 & & 06 59 [ [ 59
7 ' ' 07 60 \ \ 60
8 ( ( 08 61 ] ] 61
9 ) ) 09 62 62
10 * * 10 63 _ _ 63
11 + + 11 64 NUL NUL 64
12 , , 12 65 SOH SOH 65
13 - - 13 66 STX STX 66
14 . . 14 67 ETX ETX 67
15 / / 15 68 EOT EOT 68
16 0 0 16 69 ENQ ENQ 69
17 1 1 17 70 ACK ACK 70
18 2 2 18 71 BEL BEL 71
19 3 3 19 72 BS BS 72
20 4 4 20 73 HT HT 73
21 5 5 21 74 LF LF 74
22 6 6 22 75 VT VT 75
23 7 7 23 76 FF FF 76
24 8 8 24 77 CR CR 77
25 9 9 25 78 SO SO 78
26 : : 26 79 SI SI 79
27 ; ; 27 80 DLE DLE 80
28 < < 28 81 DC1 DC1 81
29 = = 29 82 DC2 DC2 82
30 > > 30 83 DC3 DC3 83
31 ? ? 31 84 DC4 DC4 84
32 @ @ 32 85 NAK NAK 85
33 A A 33 86 SYN SYN 86
34 B B 34 87 ETB ETB 87
35 C C 35 88 CAN CAN 88
36 D D 36 89 EM EM 89
37 E E 37 90 SUB SUB 90
38 F F 38 91 ESC ESC 91
39 G G 39 92 FS FS 92
40 H H 40 93 GS GS 93
41 I I 41 94 RS RS 94
42 J J 42 95 US US 95
43 K K 43 96 FNC3 FNC3 96
44 L L 44 97 FNC2 FNC2 97
45 M M 45 98 SHIFT SHIFT 98
46 N N 46 99 Subset C Subset C 99
47 O O 47 100 Subset B Subset B 100
48 P P 48 101 FNC4 FNC4 101
49 Q Q 49 102 FNC1 FNC1 102
50 R R 50 103 103
51 S S 51 104 104
52 T T 52 105 105
76
Default value.
table 2 - Subset of Code 128
CZL – Programmer Manual
Each subset can be chosen in one of two ways: using a special character (for “subset selection”)
incorporated in the string to be coded, or a code at the beginning of the string (called “default subset
selection”).
In the first case, all the characters following the special character belong to the chosen subset up to
the next subset selection character (see table 3).
Subset selection character Decimal value Subset A Subset B77 Subset C
>< 62
>0 30 > >
>= 94 ~
>1 95 USQ DEL
>2 96 FNC 3 FNC 3
>3 97 FNC 2 FNC 2
>4 98 SHIFT SHIFT
>5 99 CODE C CODE C
>6 100 CODE B FNC 4 CODE B
>7 101 FNC 4 CODE A CODE A
>8 102 FNC 1 FNC 1 FNC 1
table 3 – Subset selection characters
In the second case, the entire string is coded in the selected subset unless one of the subset selection
characters occurs.
Subset selection character Decimal value
>9 103 Subset A
>: 104 Subset B78
>; 105 Subset C
table 4 – Default subset selection character
In general, the command accepts up to 100 characters, but the limit is determined by the width of
the label (or the maximum length of the printing area if the bar-code is rotated by 90°/270°
79
) and
the ratio set by the ^BY command on page 19. In other words, if the bar-code spills over the
boundaries of the printing area due its excessive size (determined by the number of characters to be
coded and/or by the ratio), it could be wrongly interpreted by the reader. In any event, the part that is
included in the useful printing area is printed.
r is a letter that determines the rotation of the bar-code. It can assume the following values:
N: normal rotation (0°)80
R: rotated (90°)
77
Default value.
78
Default value.
79
The maximum length of the printing area is in turn limited by the available RAM. Please refer to the User Manual.
80
The default value is that of the last ^FW command (page 10) received.
24
CZL – Programmer Manual
25
I: inverted
B: bottom up
is a whole number between 1 and
a
(180°)
rotation (270°)
999981
and indicates the height of the bar-code, expressed in
dots82.
is the letter
h
is the letter Y (
p
83
if printing of the
Y
) or
yes
N84 (no
human readable
). If the
human readable
field is desired, N if not.
field is desired (when h=Y) it is possible to
position it above (p=Y) or below (p=N).
is the letter Y (
c
is the letter N or U depending on whether the
m
Code 128 - Subset B
Since subset B is the most common, it is the one chosen by default if no
yes
) or
N85 (no
). Y if the check digit is to be added, N if not.
86
UCC Case
(U) mode is selected or not (N).
default subset selection
code is chosen (see table 4 on page 24).
Subset B accepts all alphanumeric characters with the exception of those higher than 94 and the
characters ^, > (30), ~ (94) in table 2 on page 23, for which the subset selection characters in table 3
on page 24 must be used.
Code 128 - Subset A e C
Subsets A and C accept only pairs of numerals.
In the first case (Subset A), the letter corresponding to the pair of numerals as listed in table 2 on
page 23 is coded, while in the second (Subset C), the numbers are coded as is.
Therefore, for the codes listed in table 2 on page 23, even alphanumeric characters can be coded
with subset A, whereas they cannot be with subset C. In fact, alphanumeric characters are ignored in
this last subset. If the letter is in the first position of a pair of characters (e.g. A1), it is simply
ignored, and if the letter is in the second position (e.g. 1A) the entire pair is invalidated.
In the case of subset C, there must be an even number of digits, and thus, if there is an odd number
of digits, there are different outcomes depending on whether the check digit set by parameter c has
been enabled. If it is enabled, check digit makes the number of digits balance, and if not, the excess
amount is lopped off.
If check digit is enabled and the number of digits is even, it is not printed because, if it were, the
even number of digits would be upset.
^BEr,a,h,p (EAN 13)
This bar-code accepts only numerals, is fixed in length (12 digits), the 13th is check digit (which
CZL automatically calculates), and the ratio is fixed (see table 8 on page 49).
81
The default value is that of the last
82
See note 5 on page 9.
83
Default value.
84
Default value. If the
85
Default value.
86
When the
numerals, and subset C is automatically selected with the value FNC1. Characters beyond the first 19 are eliminated and,
if there are less than 19 characters, as many zeroes are added as missing in the least significant position (on the right).
UCC Case
UCC Case
mode is selected, the Code 128 length becomes the set length (19 characters), accepts only
mode is used, the default value is Y.
command (page 19) received.
^BY
CZL – Programmer Manual
Any character beyond the 12th is lopped off (the least significant ones to the right); as many zeroes
as necessary to reach 12 digits are added (in the most significant positions to the left).
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
rotation (0°)87
(90°)
(180°)
rotation (270°)
999988
and indicates the height of the bar-code, expressed in
dots89.
is the letter
h
is the letter Y (
p
90
if printing of the
Y
) or
yes
N91 (no
human readable
). If the
human readable
field is desired, N if not.
field is desired (when h=Y) it is possible to
position it above (p=Y) or below (p=N).
^BKr,c,a,h,p,s,t ( ANSI Codabar)
This bar-code accepts alphanumeric characters, numerals, and symbols, its length is variable, check
digit is optional, and the ratio falls between 2 and 3 (see table 8 on page 49).
In general, the command accepts up to 100 characters, but the limit is determined by the width of
the label (or the maximum length of the printing area if the bar-code is rotated by 90°/270°92) and
the ratio set with the
boundaries of the printing area due its excessive size (determined by the number of characters to be
coded and/or by the ratio), it could be wrongly interpreted by the reader. In any event, the part that is
included in the useful printing area is printed.
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is the letter Y (
c
is a whole number between 1 and
a
rotation (0°)93
(90°)
(180°)
rotation (270°)
) or
yes
dots96.
is the letter
h
is the letter Y (
p
97
if printing of the
Y
) or
yes
position it above (p=Y) or below (p=N).
87
The default value is that of the last
88
The default value is that of the last
89
See note 5 on page 9.
90
Default value.
91
Default value. If the
92
The maximum length of the printing area is in turn limited by the available RAM. Please refer to the User Manual.
93
The default value is that of the last
94
Default value.
95
The default value is that of the last
96
See note 5 on page 9.
97
Default value.
98
Default value.
UCC Case
command on page 19. In other words, if the bar-code spills over the
^BY
N94 (no
). Y if the check-digit is to be added, N if not.
999995
human readable
N98 (no
). If the
command (page 10) received.
^FW
command (page 19) received.
^BY
mode is used, the default value is Y.
command (page 10) received.
^FW
command (page 19) received.
^BY
and indicates the height of the bar-code, expressed in
field is desired, N if not.
human readable
field is desired (when h=Y) it is possible to
26
CZL – Programmer Manual
27
is the
s
is the
t
start
start
character (
character (
99
, B, C, D, *, N, E o T).
A
100
, B, C, D, *, N, E o T).
A
^BMr,c,a,h,p,d (MSI)
This bar-code accepts only numerals, is of variable length (up to 13 digits) when check digit is not
enabled, up to 14 digits when the optional check digit is enabled (according to the valued assumed
by parameter c), and the ratio varies between 2 and 3 (see table 8 on page 49).
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
I: inverted
B: bottom up
is A if check digit is not enabled,
c
rotation (0°)
(90°)
(180°)
rotation (270°)
is enabled, and D if check digit
is a whole number between 1 and
a
h
p
104
dots
is the letter
.
105
Y
is the letter Y (
if printing of the
yes
position it above (p=Y) or below (p=N).
is letter
d
107
if printing of the check digit in the
N
desired.
) or
N
101
106
(no
102
if check digit
B
1 Mod 10
9999
and
103
human readable
). If the
human readable
1 Mod 10
1 Mod 11
and indicates the height of the bar-code expressed in
is enabled, C if check digit
are enabled.
2 Mod 10
field is desired, N if not.
field is desired (when h=Y) it is possible to
human readable
field is not desired (
), Y if it is
h=Y
^BSr,a,h,p (UPC/EAN Extensions)
This bar-code is the extension of bar-codes
of whether it is used together with one of the first two (otherwise it could result in erroneous
readings).
This bar-code accepts only numerals, is of fixed length (2 or 5 digits), does not have check digit,
and its ratio is fixed (see table 8 on page 49).
Any character after the second (in the first case) or after the fifth (in the second case) is lopped off
(the least significant ones to the right); alternatively, as many zeroes as necessary to reach 2 or 5
digits are added (in the most significant positions to the left).
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
N: normal
R: rotated
99
Default value.
100
Default value.
101
The default value is that of the last
102
Default value.
103
The default value is that of the last
104
See note 5 on page 9.
105
Default value.
106
Default value.
107
Default value.
108
The default value is that of the last
rotation (0°)
(90°)
108
command (page 10) received.
^FW
command (page 19) received.
^BY
command (page 10) received.
^FW
EAN
and
. It is treated as a bar-code independently
UPC
CZL – Programmer Manual
110
.
(180°)
rotation (270°)
111
if printing of the
Y
) or
yes
N
112
(no
109
9999
human readable
). If the
human readable
and indicates the height of the bar-code, expressed in
field is desired, N if not.
field is desired (when h=Y) it is possible to
I: inverted
B: bottom up
is a whole number between 1 and
a
dots
is the letter
h
is the letter Y (
p
position it above (p=Y) or below (p=N).
^BUr,a,h,p,c (UPC A)
This bar-code accepts only numerals, its length is fixed (11 characters), check digit is optional, and
the ratio is fixed (see table 8 on page 49).
Any digit beyond the 11th is lopped off (the least significant ones to the right); as many zeroes as
necessary to reach 11 digits are added to the most significant positions to the left.
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
115
.
rotation (0°)
(90°)
(180°)
rotation (270°)
116
if printing of the
Y
yes
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
dots
is the letter
h
is the letter Y (
p
position it above (p=Y) or below (p=N).
is the letter
c
118
Y
(yes
113
114
and indicates the height of the bar-code expressed in
field is desired, N if not.
human readable
field is desired (when h=Y) it is possible to
) or
N
117
(no
9999
human readable
). If the
) or N (no). Y to add check digit, and N not to.
^BZr,a,h,p (PostNet)
This bar-code accepts only numerals, is of variable length, its ratio is fixed, and check digit is not
enabled (see table 8 on page 49).
In general, the command accepts up to 100 characters, but the limit depends on the width of the
label (or the maximum length of the printing area if the bar-code is rotated 90°/270°
set with the
command on page 19. In other words, if the bar-code spills over the boundaries of
^BY
the printing area due its excessive size (determ ined by the number of characters to be coded and/or
109
The default value is that of the last
110
See note 5 on page 9.
111
Default value.
112
Default value. When the
113
The default value is that of the last
114
The default value is that of the last
115
See note 5 on page 9.
116
Default value.
117
Default value. If the
118
Default value.
119
The maximum length of the printing area is in turn limited by the available RAM. Please refer to the User Manual.
UCC Case
UCC Case
mode is used, the default value is Y.
command (page 19) received.
^BY
mode is used, the default value is Y.
command (page 10) received.
^FW
command (page 19) received.
^BY
119
) and the ratio
28
CZL – Programmer Manual
29
by the ratio), it could be wrongly interpreted by the reader. In any event, the part that is included in
the useful printing area is printed.
is a letter that determines the rotation of the bar-code. It can assume the following values:
r
122
.
rotation (0°)
(90°)
(180°)
rotation (270°)
yes
N: normal
R: rotated
I: inverted
B: bottom up
is a whole number between 1 and
a
dots
is the letter Y if printing of the
h
is the letter Y (
p
) or
N
120
124
9999
human readable
). If the
(no
121
and indicates the height of the bar-code, expressed in
field is desired,
human readable
field is desired (when h=Y) it is possible to
N
123
if not.
position it above (p=Y) or below (p=N).
3.1.7 Graphic objects
3.1.7.1 Boxes
^GBl,a,s,c (Graphic Box)
This command makes it possible to draw boxes and/or lines that can mark off or highlight parts of
the label.
is a whole number between
l
is a whole number between
a
is a whole number between
s
line.
is letter
c
134
when black lines are desired and W when white lines are desired. This latter choice is
B
useful when you want to draw a white box inside a black rectangle without using the
function.
120
The default value is that of the last
121
The default value is that of the last
122
See note 5 on page 9.
123
Default value.
124
Default value. If the
125
Default value. When the width is 0 the box becomes a line of height a and thickness s.
126
See note 4 on page 9.
127
See note 5 on page 9.
128
Default value. When the width is 0 the box becomes a line of width l and thickness s.
129
See note 4 on page 9.
130
See note 5 on page 9.
131
Default value.
132
See note 4 on page 9.
133
See note 5 on page 9.
134
Default value.
UCC Case
125
and
0
128
and
0
131
and
1
^FW
command (page 19) received.
^BY
mode is used, the default value is Y.
126
9999
9999
command (page 10) received.
and expresses the width (in dots
129
and expresses the height (in dots
132
9999
and expresses the thickness (in dots
127
) of the box.
130
) of the box.
133
) of the box or
reverse
CZL – Programmer Manual
3.1.7.2 Graphic images
~DGd:aa…a.eee,b,r,xx…x (Download Graphic)
CZL makes it possible to save graphic images in hexadecimal format that are created in any
application, whether CAD or a graphic layout program. Once they are saved (in temporary memory
or elsewhere), the images can be used on the label as desired.
Refer to section 5.2 on page 53, where a printing example with graphic images is described.
The current command controls the following functions: placing the printer in “graphic mode,”
giving a name to the image (which is the same that will be used to retrieve the image when the label
is created), defining its size, and uploading the image on the printer memory.
The name given does not necessarily have to be the same as the name of the file in which the file is
stored on the computer. However, it must adhere to several conventions that are explained below.
The CZL emulation interprets the space, “return” character, or extension as the end of the name.
Therefore, in order to preserve the uniqueness of names, it is wise not to use a space inside names
because two names (consisting of more than one word) having the same first word will be treated as
being the same, and the images to which these names have been applied will no longer be treated as
separate and distinct. Therefore, different names must be given, even mnemonic ones, to different
images: a file given an existing name will not be saved to memory.
d:
aa…a
b
is the number of bytes per line.
r
xx…x
.eee
This format specifies th at each block of 4 bits (nibble) is the image of 4 adjacent dots: t he high bit
(1) corresponds to the on bit (black), and the low bit (0) corresponds to the off bit (white). The
entire graphic image is coded in the same way: in practice, it is a single long string of hexadecimal
values.
The total number of bytes b is a function of the dimensions of the image and the printer resolution
(please see the User Manual) according to the following formula:
135
is
in the flash memory on the expander card
to save the image to RAM, B: when it is saved in the base flash, C: or D: when it is saved
R:
136
.
is the name to be attributed to the graphic image. It can be from 1 to 8 characters long and the
default value is
UNKNOWN
.
is the total (whole) number of bytes of the graphic image.
is a string of numbers in hexadecimal code comprising the representation of the graphic
image.
is the extension of the file name, which must be
for graphic images.
.GRF
risl
()
⋅
()
brisa
=⋅⋅
8
135
Default value.
136
Since flash memory is a non-volatile memory, it is available on the expander cards so that it can transport the images
it contains. Unit B: is the flash memory contained in the base machine, C: and D: are the memory contained in the
expander cards (where provided), and the letter indicates in which of the two available slots the expander card is
installed. Please refer to the User Manual for more information.
30
CZL – Programmer Manual
31
where l is the width of the image (in mm),
the resolution (in
ris
dots⋅mm
-1
), a the height of the image
(in mm), 8 is the number of bits per byte, and b is the total number of bytes. The result of the
division (
)/8 must be rounded to the next highest whole number.
l⋅ris
The number of bytes per line r depends on the width of the image and the printer resolution as
appears in the following formula:
risl
⋅
()
r
=
8
From which it is deduced that
risarb
⋅⋅=
()
The hexadecimal code described above for representation of the graphic images involves sending
(and more generally, handling) of files of moderate dimensions.
CZL offers the possibility of reducing file dimensions with a special compression algorithm. More
specifically, it often happens that perfectly equal sequences of hexadecimal codes must be sent (this
corresponds to having extended black parts in the image or recurrent elementary figures). In this
case, the letters after F can be used as a multiplier according to the following table:
G H I J K L M N O P Q R S T U V W X Y
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
When it receives UB, the machine reads (with the identical result) “15 times B”, in other words
The upper and lower case letters can be combined so that, for example,
40 times
B:
.
hUB
(or
) corresponds
UhB
to “55 times B”.
In regard to file compression, CZL specifies the use of several other special characters:
The comma (,) fills the current line (from the right) with pairs (whole bytes) of zeroes (0) from its
position to the end of the line
137
.
The exclamation point (!) does the same thing, filling the line with ones (1).
The colon (:) indicates repetition of the last line.
Since the number of bytes is whole, the hex adecim al characters com prisi ng the representation of t he
graphic image are always even in number. Therefore, the action of the comma and exclamation
point characters described above is calculated on the pairs of characters. In other words, to avoid
137
The length of the line is determined by the parameter r.
CZL – Programmer Manual
misinterpretations, the comma (and/or the ex clamation point) are inserted after an even number of
characters.
For example,
can be transformed into
The editor or application being used can introduce special characters (
1FF0,
must be sent rather than
1FFF,
.
1FF0000000
and not
. Otherwise,
1FF,
<CR>
and/or
1FFF000000
<LF>
) to break
the line: the CZL emulation ignores them.
~DN (Abort Download Graphic)
This command makes it possible to interrupt loading of graphic images onto the printer before it is
completed. The printer then returns to normal print mode. However, any other ^ or ~ command
interrupts loading.
^XGs:aa…a.eee,m
,
my (Recall Graphic)
x
This command is used to recall the graphic image to be printed (e.g. company logo).
Once the image has been stored in memory with the
command on page 30, it is possible to
~DG
recall it whenever necessary (even many times), just as it is possible to use it together with other
images and/or fields inside the same label.
is the unit where the image is stored in memory.
s:
memory
aa…a
default value is
is the multiplier along the x axis. It is a whole number between
m
x
is the multiplier along the y axis. It is a whole number between
m
y
is the extension of the name, which must be
.eee
139
. This parameter is optional.
is the name attributed to the graphic image. It can be from 1 to 8 characters long and the
UNKNOWN
.
.GRF
138
indicates RAM, B: (C: or D:) flash
R:
140
and 10.
1
141
and 10.
1
for graphic images.
^IMs:aa…a.eee (Image Move)
This command, just like the
The only difference is that it is not possible to change its size, and it requires less processing time.
is the unit where the image is stored.
s:
parameter is optional.
aa…a
.eee
is the name attribut ed to the graphic image. It can be from 1 to 8 characters long, and the
default value is
UNKNOWN
is the extension of the name, which must be
command, permits recovery of a previously saved graphic image.
^XG
142
indicates RAM, B: (C: or D:) flash memory
R:
.
for graphic images.
.GRF
143
. This
138
Default value.
139
See note 136 on page 30.
140
Default value.
141
Default value.
142
Default value.
143
See note 136 on page 30.
32
CZL – Programmer Manual
33
3.1.7.3 Treating labels as graphic images (saving)
CZL makes it possible to treat labels as if they were graphic images. This means that it is possible to
save the label image to memory (both temporary and other according to available computer
resources; please refer to the User Manual) and then use it as desired, calling it up with the name
assigned to it.
This permits optimal computer performance when similar labels (including complicated ones)
varying only in a few fields have to be printed. In this case, rather than sending the entire label every
time, the common part can be saved and then recalled later, when the missing fields are added (the
variable from label to label)
the complexity of the label).
^ISd:aa…a.eee,p (Image Save)
This command is used to save the label image to memory (RAM or flash) as a graphic image. It will
then be possible to recall it at any time with the name given to it, and then adding any variable
fields.
In light of the fact that this command saves the image of the current label, it is normally the last one,
just before the command
d:
aa…a
.eee
145
is
for saving the image in RAM, B: for saving it in the base flash memory, C: or D: for
R:
saving it in the flash memory on the expander card
is the name attribut ed to the graphic image. It can be from 1 to 8 characters long, and the
default value is
UNKNOWN
is the file extension, which must be
144
, leading to significant savings in processing time (in direct relation to
(page 8)
^XZ
146
.
.
for graphic images.
.GRF
^ILs:aa…a.eee (Image Load)
This command recalls the image of label
It is normally the second one, just after the command
recalled and positioned at
(see fig. 2 on page 9). The following commands make it possible to
0, 0
overlay the variable fields on the saved labels to compose the complete image of the desired label.
is the unit where the image is saved.
s:
parameter is optional.
aa…a
.eee
is the name assigned to the graphic image. It can be from 1 to 8 characters long, and the
default value is
UNKNOWN
is the file extension, which must be
.
.GRF
stored in memory unit s.
aa…a
(page 8). This way, the label image is
^XA
147
indicates RAM, B: (C: or D:) flash memory
R:
for graphic images.
148
. This
3.1.7.4 Moving and deleting objects
Images (and, more in general, any object) can be moved from one unit to another in a way similar to
the
144
This operation is often referred to with the term
145
Default value.
146
See note 136 on page 30.
147
Default value.
148
See note 136 on page 30.
command in DOS. This is useful for moving graphic images from RAM to flash memory
copy
.
overlay
CZL – Programmer Manual
or vice-versa, as well as downloading or uploading images onto the expander cards before inserting
them in other machines.
The source and/or destination units must be available on the machine in use, otherwise the move
will not be completed. Please refer to the User Manual for more information.
the source unit from which the object will be moved.
s:
memory
asas…as
wildcard characters * and
.esese
wildcard characters * and
is the destination unit to which the object is moved.
d:
memory
adad…ad
include the wildcard characters * and
.ededed
wildcard characters * and
149
.
name of the source graphic file. It can be from 1 to 8 characters long and can include the
150
.
?
is the file name extension for graphic images, which is
s
152
.
151
.
?
is the name of the graphic image destination. It can be from 1 to 8 characters long and can
153
.
?
is the file name extension for graphic images, which is
154
.
?
indicates RAM, B: (C: or D:) flash
R:
. It can be replaced by the
.GRF
indicates RAM, B: (C: or D:) flash
R:
. It can be replaced by the
.GRF
If the destination unit does not have sufficient space to save all objects, only those that fit are
moved. To avoid problems in case any doubt exists, it is good practice to check the list of objects
actually moved by using the commands
(page 39) and/or
^HW
^WD
(page 39).
^IDs:aa…a.eee (Item Delete)
This command enables deletion of saved objects (only from RAM), and it is capable of selecting
them one by one.
Since this command can include t he wildcard charact ers * and
objects as well.
is the unit where the object is saved (which must be R:).
s:
aa…a
.eee
is the name assigned to the object. It can be 1 to 8 characters long and its default value is
UNKNOWN
is the file name extension, which is
.
156
.GRF
for graphic images and .
section 3.1.8.5 on page 37).
155
, it is possible to cancel groups of
?
for formats (see
ZPL
149
See note 136 on page 30.
150
* means “one or more occurrences of any character,” ? signifies “one and only one occurrence of any character.”
151
See note 150 on page 34.
152
See note 136 on page 30.
153
See note 150 on page 34.
154
See note 150 on page 34.
155
See note 150 on page 34.
156
Default value.
34
CZL – Programmer Manual
35
^EG o ~EG (Erase Downloaded Graphic)
This command deletes all the images contained in the RAM memory.
3.1.8 Advanced commands
All commands that are sufficient for printing in CZL emulation have been described in the
preceding sections. Several advanced commands are described here so that the user can take full
advantage of all the features of the machine, achieve special effects, and/or optimize its
performance.
3.1.8.1 Comments
^FXaa…a (Comment)
This command is used when clarifying comments must be inserted in the printing program.
Comments inserted in this way do not have any effect on the printed label.
aa…a
Whatever is written between the
the printed label: its only function is to introduce a comment string for future reference and greater
program clarity.
It is good practice to use these comments for the preparation of basic documentation that will
simplify subsequent program maintenance.
is an alphanumeric comment string.
command and the following character ^ (o ~) has no effect on
^FX
3.1.8.2 Graphic effects
^FR (Field Reverse Print)
It is possible to write some fields in
reverse
background instead of black on a white background. More generally, what is black becomes white
and what is white becomes black.
Refer to section 5.3 on page 55 where two examples of labels in reverse are described.
To produce this effect, a black box of the desired dimensions must be provided (see the
command on page 29) superimposed on the field in question. As a result, the black of the box is
superimposed on the black of the writing according to the
from the box.
With the command
(or
) command. The resulting effect is of a field in reverse whose colors are inverted. More
^XZ
the mode of the current field is locally changed to
^FR
generally, where the field is superimposed on another, the color becomes white.
157
OR mode means that
158
mode means that
XOR
black.
black
black
on
produces the result
black
on
produces the result
black
to highlight them: they appear in white against a black
^GB
157
mode and the field is “deleted”
OR
158
XOR
(black + black = black), just as black + white = black.
black
(black ⊕ black = white), just as black ⊕ white =
white
until the next
^FS
CZL – Programmer Manual
Obviously, the
command is effective only when the field is superimposed on another: if it is not
^FR
superimposed an another (whether it is a box or another field), it does not have any effect.
^LRa (Label Reverse Print)
This command is very similar to the preceding command
command) of the current and subsequent labels.
^LR
is the letter Y to enable the reverse mode,
a
N
159
if not.
The reverse mode remains active until it is disabled with the
turned off.
but affects all fields (following the
^FR
command or the machine is
^LRN
3.1.8.3 Serial numerical fields
^SNaa…a,i,z (Serialization Data)
It is often convenient to have a field that can be automatically increased or decreased by a pre-set
value for every label.
Refer to section 5.4 on page 56 where an example of printing with serial fields is illustrated.
This command makes it possible to create numerical fields with up to 12 digits. If the field is
alphanumeric, the operation is performed on the first whole number found (starting from the right
side of the field itself).
160
aa…a
161
i
is the letter Y if it is necessary to add zeroes to the most significant positions (to the left),
z
When zeroes are used in the most significant positions, two distinct cases must be pointed out:
if zeroes are included in the field
, and are printed when
N
(((
Even if the zeroes are suppressed, when the field value is zero 0, it is printed all the same.
In compliance with the instructions issued by the
label printed (the interrupted one) is retained for progressive numbering, from which the printer
restarts after resetting.
The increase or decrease of the fields continues until the last label in the current lot is printed (as
determined by the
is the starting string, generally alphanumeric, for the field. The numerical portion of the
field that must be increased (decreased) is a whole number with a maximum of 12 digits.
is a related whole number (with the negative sign if the field must be decreased) with a
maximum of 12 digits.
162
N
not.
aa…a
; if no zeroes are included and in their place are spaces (e.g.
z = Y
), they are not printed either when
1
command on page 40).
^PQ
(e.g.
z = N
aa…a = 0001
, or when
^JZ
), they are replaced with spaces when
z =
aa…a =
.
z = Y
command on page 16, the value of the last
if
159
Default value.
160
1 is the default value.
161
1 is the default value.
162
Default value.
36
CZL – Programmer Manual
37
3.1.8.4 Variable fields
When it is necessary to modify a certain number of fields on a label which is for the most part
uniform, printer performance can be optimized by using variable fields. Accordingly, only a portion
of the image affected by the modified fields is processed, producing a saving in processing time.
The mechanism by which this effect is produced is similar to what is described in section 3.1.7.3 on
page 33. In this case, rather than saving the label image and giving it a name (although the operation
is rapid, it nonetheless takes a little time, and even more so if the image is saved in flash memory),
it is saved in the working RAM until the machine is turned off or it is explicitly deleted. It forms the
background for labels printed afterwards, on which variable fields are updated and placed.
See section 5.5 on page 57 where an example of printing with variable fields is described.
^MCa (Map Clear)
Normally, after a label is printed, its image (bitmap) is deleted from the working RAM. When using
variable fields, the image is saved (just as described above) with this command.
is the letter Y for deleting the bitmap,
a
When the
^MCN
command is received, the machine saves the image of the current label (until it is
switched off or it receives the next
following labels. Accordingly the variable fields can be superimposed on it with the following
command
^FV
164
.
163
not to delete it.
N
command) and prints it as the background for all
^MCY
^FVaa…a (Variable Field Data)
This command replaces the corresponding command
aa…a
The
is an alphanumeric string of at most 255 characters. If it is omitted the command is ignored.
fields are always deleted after they have been printed, while
^FV
If there is more than one variable field on the label, they are updated in the same order in which they
were first entered.
(page 13) when the field is variable.
^FD
fields are not.
^FD
3.1.8.5 Saving the “format”
Aside from saving the graphic image of the label (see section 3.1.7.3 on page 33), it is possible to
save the
formats
By saving the format, transmission time is optimized, since similar labels (which differ by only a
few fields) are not sent n times. However, processing time is not shortened. In fact, when the label is
recalled from memory before printing, its image is processed with the addition of any variable
fields; this happens whenever the label is printed. Aside from optimizing the aforementioned
transmission time, saving the format reduces the memory space used since the space occupied by
the format is less than that of the graphic image.
The formats can be saved in both RAM and flash memory within the limits of available space. CZL
is not programmed to give any error message if the format is larger than the space available on t he
destination unit. In this case, the format is not saved in its entirety, and the user becomes aware of
. The format is comprised by all the commands that describe the label image.
163
Default value.
164
The machine operates by default in OR mode. See note 157 on page 35.
CZL – Programmer Manual
this only when he or she attempts to recall it or upon recalling the list of objects contained in the
memory by means of the
(page 39) and/or
^HW
commands (page 39).
^WD
^EF o ~EF (Erase Format)
This command deletes all the formats saved on the RAM unit.
A formatting selection can be deleted with the
for formatting objects is
.ZPL
).
command on page 34 (the file name extension
^ID
^DFd:aa…a.eee (Download Format)
This command makes it possible to save the label descriptions in CZL language as text strings in
RAM and/or flash memory while assigning a name to them.
Accordingly, the label can be recalled as desired by using the
possibly updating the dynamic fields defined with the
This command must be come immediately after the
command (page 38).
^FN
command (page 8) and is followed by the
^XA
commands that must be saved.
is the letter which identifies the format destination unit. This is
d:
RAM, B: when it is saved in the base flash memory, C: or D: when it is saved in the flash
memory on the expander card
aa…a
.eee
A label containing the
is the name to be assigned to the format. It can from 1 to 8 characters long, and the default
value is
UNKNOWN
.
is the file name extension, which must be
^DF
166
.
for formats.
.ZPL
command is not printed until it is recalled from the memory, and every
immediate command contained in it has an indefinite effect.
command (page 39), while
^XF
165
when the format is saved in
R:
^FNn (Field Number)
Analogously to the overlay function (see section 3.1.7.3 on page 33) and use of variable fields (see
section 3.1.8.4 on page 37), it is possible here as well to update the fields before printing the labels.
In the first case, the fields are superimposed on the image of the label by giving them precise
coordinates: since the CZL functions by default in
on top of the area reserved to it (intentionally left white
In the second case, the field replaces the variable field defined by the
In this case, the process is similar to but more versatile than the second: since the format is saved
with a name, it is necessary to number the variable fields (which are more accurately defined as
dynamic
). Accordingly, it is possible to refer to them directly without respecting their order. It is
also possible to assign the same identifying number to more than one field so that they can be
updated simultaneously with the same content.
The
is used instead of the
^FN
command (page 13) upon saving, and together with the
^FD
command when the label is recalled before printing.
165
Default value.
166
See note 136 on page 30.
167
See note 157 on page 35.
168
Or black if the field is to be in reverse (see section 3.1.8.2 on page 35).
167
mode, the effect is superimposition of field
OR
168
).
command (on page 37).
^FV
^FD
38
CZL – Programmer Manual
39
is the whole number assigned to the dynamic field to identify it. It falls between
n
169
and
1
9999
.
^FAn (Field Allocate)
The number n is a whole number between 1 and
space required to reserve the space to be occupied by the dynamic fields.
that indicates t he number of characters and
256
^XFs:aa…a.eee (Recall Format)
This command recalls from memory unit s: the format
aa…a.eee
completed with the necessary dynamic fields, processed, and then printed.
The format can be recalled whenever necessary, and the dynamic fields are updated periodically
with the current value. If dynamic fields (numbered) have been provided for at the time of saving,
these fields must be updated (with the
is the unit where the format is saved.
s:
command on page 38) when the format is recalled.
^FN
170
indicates RAM, B: (C: or D:) flash memory
R:
parameter is optional.
aa…a
.eee
is the name assigned to the format. It can be from 1 to 8 characters long and its defaul t value
is
UNKNOWN
is the file name extension, which must be
.
for formats.
.ZPL
so that the described image can be
171
. This
^WDs:aa…a.eee (Print Directory on Label)
This command is necessary for producing a list of the objects contained in the memory units,
including an indication of the file name extension and size, and printed on a label.
is the unit for which the list is desired.
s:
172
indicates RAM, B: (C: or D:) the flash memory
R:
173
.
This parameter is optional.
aa…a
is the name for the list, and it may contain the wildcard characters * and
174
. It can be from 1
?
to 8 characters long, and its default value is *.
is the file name extension, and it too may contain the wildcard characters * and
.eee
175
.
?
^HWs:aa…a.eee (Host Directory List)
This command makes it possible to obtain a list of the objects saved in the machine memory
(whether in RAM and/or flash memory). Unlike the
as long as the printer is connected through the serial port.
is the unit whose list is desired.
s:
176
indicates RAM, B: (C: or D:) flash memory
R:
parameter is optional.
169
The default value is 0.
170
Default value.
171
See note 136 on page 30.
172
Default value.
173
See note 136 on page 30.
174
See note 150 on page 34.
175
See note 150 on page 34.
176
Default value.
177
See note 136 on page 30.
command, the list is returned to the host
^WD
177
. This
CZL – Programmer Manual
aa…a
is the name of the desired list, and it may contain the wildcard characters * and
178
. It can be
?
from 1 to 8 characters long and its default value is *.
is the file name extension, and it too may contain the wildcard characters * and
.eee
179
.
?
The strings, fixed in length, returned by the printer have a defined format:
<STX><CR><LF>
- DIR R: xx<CR><LF>
*(aaaaaaaa.eee((nnnnnn
*(aaaaaaaa.eee((nnnnnn
(((((
<CR><LF>
(((((
<CR><LF>
<CR><LF>
- xxxxxxx bytes free<CR><LF>
<ETX>
where
aaaaaaaa
is the name of the object,
is its extension, and the symbol ( indicates a space.
eee
This command is processed in the order in which it is sent to the printer. The printer returns the list
of objects saved as soon as it can consistently with the operations that it was already performing at
the time the command was received.
3.1.8.6 Copies of labels
^PQt,p,d,c (Print Quantity)
This command makes it possible to print the same label t times while checking several operations,
such as the number of labels, before the machine pauses, and the number of copies for each serial
field (see section 3.1.8.3 on page 36).
is a whole number between
t
is a whole number between
p
the machine is paused.
is a whole number between
d
operation it is desired to increase the serial fields. In practice, it is possible to print the same label
times without increasing the field.
d
is the letter Y to prevent the printer from going into pause after p labels; it is the letter
o
enabling the parameter p, in other words, to pause the printer after p labels.
178
See note 150 on page 34.
179
See note 150 on page 34.
180
Default value.
181
Default value.
182
Default value.
183
Default value.
180
and
1
0
181
and
182
1
99,999,999
99,999,999
and
that indicates the number of copies desired.
that indicates the number of copies printed before
99,999,999
that indicates at what point in the printing
183
for
N
40
CZL – Programmer Manual
41
3.1.8.7 Setting printer speed
^PRs,f (Print Rate)
This command is used to set the print and/or feed rate of the printer independently of the rate set in
configuration.
is a number or letter according to the following scheme:
s
2
3
4
5
6
8
is a number or letter according to the following scheme:
f
2
3
4
5
6
8
The printer operates at the selected speed until it is turned off and/or it receives a new
command.
Since the speed and temperature corresponding to the type of ribbon and support used affect
printing quality, it is advisable to perform a printing test to determine the proper speed.
184
(or
) for a speed of 2 inches a second;
A
(or B) for a speed of 3 inches a second;
(or C) for a speed of 4 inches a second;
for a speed of 5 inches a second;
(or D) for a speed of 6 inches a second;
(or E) for a speed of 8 inches a second;
(or A) for a speed of 2 inches a second;
(or B) for a speed of 3 inches a second;
(or C) for a speed of 4 inches a second;
for a speed of 5 inches a second;
185
(or
) for a speed of 6 inches a second;
D
(or E) for a speed of 8 inches a second.
^PR
3.1.8.8 Backfeed
When the peel-off system or cutter is used (see the User Manual for the machine in question), upon
completion of printing operations, the paper must stick out far enough for proper alignment of the
cutting blade or peel-off system. Before resuming printing of the next label, the paper must then
return to position in alignment with the head. This is the
backfeed
adjustment can be select ed from th e panel by means of a special parameter. Please refer t o the User
Manual for instructions on how to use it.
When the present sensor is enabled (and thus the peel-off system or cutter are used), the backfeed is
automatically enabled (by the amount set with the parameter described above). However, to disable
it, the following command is used.
^XB (Suppress Backfeed)
This command force disables the backfeed at the end of label printing until the machine is turned
off.
184
Default value.
185
Default value.
movement. The extent of this
CZL – Programmer Manual
3.1.8.9 Resolution
The maximum resolution of the machine depends on the model being used (please refer to the User
Manual). If not required by the application, it is possible to select a resolution that is lower than the
allowed maximum in order to optimize processing times.
^JMa (Set resolution)
This command is used to choose between the maximum possible resolution and half of it.
is letter A for maximum resolution (203 dpi/8 dots per mm or 300 dpi/12 dots per mm). It is letter
a
for half resolution (100 dpi/4 dots per mm or 150 dpi/6 dot per mm).
B
Obviously, doubled dot size corresponds to half resolution, and thus the size of the images appears
doubled.
3.2 ~ Commands
Immediate commands are sent to the printer at any time and provide, where possible, for immediate
execution. They can be sent in groups or individually.
Commands regarding treatment of graphic images (
section 3.1.7.2 on page 30.
All immediate commands are preceded by the tilde character (~)
commands through which it is possible to act “physically” on the printer configuration parameters.
Commands requiring a response by the printer work only if it is connected to the host through the
serial port since the parallel port is not bi-directional. In other words, to use these commands
correctly, the printer must be connected through the serial port: otherwise, the host may wait for a
response that will never arrive, and this could lead to malfunctions.
~DG
and
) have already been described in
~DN
186
. In general, they are “high level”
3.2.1 Query commands
~HM (Memory Status)
The printer returns the RAM memory status to the host. The returned string consists of 3 numbers
comprised of four digits separated by commas, according to the following format:
ntntntnt,ndndndnd,nlnlnln
l
ntntntnt
ndndndn
186
42
is the total number of Kbytes available on the machine;
is the number of Kbytes available to the user for saving graphic images, etc.;
d
The tilde control character (~) can be replaced by using the ~CC command on page 46.
CZL – Programmer Manual
43
nlnlnln
is the number of free Kbytes for saving graphic images, etc. taken from
l
ndndndn
of those
d
already used.
Obviously,
ntntntnt > ndndndnd > nlnlnln
.
l
The first two values are set through configuration of the machine, or the inserted expander cards; the
third value changes “dynamically” upon saving the graphic images and/or other objects.
~HS (Host Status)
The printer reports the status through three strings, where each begins with the character <
ends with the sequence
<ETX><CR><LF>
, just as the lines are separated by the host for easy
reading.
The format of the first one of these is:
indicates the number of stop bits. Two when it is low (0), one when it is high (1).
a4
indicates the number of data bits. Seven when it is low (0), eight when it is high (1).
a
3
is 1 when the machine is out of paper, 0 in other cases.
b:
: is 1 when the printer is in pause, 0 in other cases.
c
: is a whole number of four digits that indicates the length of the current label, expressed in
dddd
dots.
: is the whole number of three digits that indicates the number of labels in the reception buffer.
eee
: is 1 when the memory buffer is full. 0 in other cases.
f
: is 1 when the communications diagnostic mode is enabled. 0 in other cases.
g
: is 1 when the current label is being processed. 0 in other cases.
h
: is always
iii
: is 1 when the RAM is “corrupted.” 0 in other cases.
j
: is 1 when the head is too cold. 0 in other cases.
k
: is 1 when the head is too hot. 0 in other cases.
l
000
.
The format of the second of these strings is:
STX>
is the
aaa
and
CZL – Programmer Manual
<STZ>mmm,n,o,p,q,r,s,t,uuuu,v,www<ETX><CR><LF>
: is a base 8 number that describes the communications parameters of the serial port.
mmm
the octal representation of the binary number
: is always 0. Reserved.
m
8
indicates the type of form in use. With a reference marker (gap, black tick mark, or hole)
m7
when it is low (0), continuous form when it is high (1).
is always 0. Reserved.
m6
is always 0. Reserved.
m5
m4, m3, m2, m1,
indicates the printing mode. Direct thermal transfer when it is low (0), thermal transfer when
m0
it is high (1).
is always 0. Reserved.
n:
: is always 0. Reserved.
o
: is high (1) when the ribbon is out. 0 in other cases.
p
: is always 0. Reserved.
r
: is always 6. Reserved.
s
: is 1 when there is a label under the present sensor. 0 in other cases.
t
: is the whole number of four digits that indicates the number of labels in the current batch that
uuuu
remain to be printed.
: is always 1. Reserved.
v
: is the whole number of 3 digits that indicates the number of graphic images in the RAM
www
memory.
The format of the third string is:
are not used and thus always 0.
m8m7m6 m5m4m3 m2m1m
.
0
mmm
is
<STZ>xxxx,y<ETX><CR><LF>
: is always
xxxx
: is always 0. Reserved for future uses.
y
. Reserved for future uses.
0000
~JR (Power On Reset)
This command has exactly the same effects as shutting off and then turning on the machine. All
registers are reset, the RAM is deleted, etc.
3.2.2 Calibration and setting commands
~JC (Set Media Sensor Calibration)
This command forces adjustments in the sensitivity of the paper sensor via software (please refer to
the User Manual) and measures the length of the label in use so that it is properly lined up under the
head.
44
45
~JL (Set Label Length)
CZL – Programmer Manual
This command, unlike the previous command
used.
, only measures the length of the label being
~JC
3.2.3 Cancel commands
~JA (Cancel All)
This command terminates printing of the current label and deletes the rest from the command
buffer, as if the user had pressed the
CANCEL
~JP (Pause and Cancel Format)
Similarly to the
pause. This command has the same effect as pressing the
printer.
command above, this command cancels the current job and places the printer in
~JA
~JX (Cancel Current Partially Input Format)
This command cancels the label that is being sent to the printer without affecting the others (e.g. the
one currently being printed).
button.
CANCEL
button without pausing the
3.2.4 Control commands
~PH o ^PH (Slew to Home Position)
This command pushes out a blank label just like the
label is printed or when the printer is paused.
printing job.
is sent after completion of the entire label
^PH
~PP o ^PP (Programmable Pause)
pauses the printer after the current label is printed.
~PP
job is completed. In both cases, the printer remains in pause until the
another
command is received.
~PS
~PS (Print Start)
This command brings the printer back on line after a
button were pressed on the control panel.
~PP
button.
FEED
pauses it after the entire label printing
^PP
or
is sent, just as if the
^PP
works after the current
~PH
ON LINE
button is pressed or
ON LINE
CZL – Programmer Manual
3.2.5 Prefix replacement commands
~CCx o ^CCx (Change Caret)
With some hosts, the CZL command prefixes must be other than a tilde (~) or a caret (^).
The caret character can be changed with any two others from the ASCII table (see table 9 on page
59 and table 10 on page 60) with the current command.
is any ASCII character, as long as it has not already been used for another prefix. Obviously, the
x
alternative character must be carefully chosen so that it will not be confused with other printable
characters and thus lead to problems of interpretation.
~CTx o ^CTx (Change Tilde)
Just like the tilde character, the caret character can be changed. This command is used in the same
way as the
is any ASCII character that has not already been used for another prefix.
x
Both commands must be bracketed by two limiting commands
to all subsequent commands.
~CC (^CC
) command above.
^XA
and
(see page 8) and apply
^XZ
3.2.6 Diagnostic commands
~JD (Enable Dump Mode)
In
dump mode,
their respective hexadecimal code so that the proper functioning of the printer itself can be
evaluated.
The printer can be placed in
software with this command,
~JE (Disable Dump Mode)
This command disables the dump mode, and the printer resumes interpreting the commands it
receives.
~WC (Print Configuration Label)
This command produces the print configuration label, just as it can be printed upon turning on the
machine (please refer to the User Manual).
the printer does not interpret incoming commands but prints them in ASCII with
dump mode
.
~JD
when it is turned on (please refer to the User Manual) or by
46
CZL – Programmer Manual
47
4. F
ONT AND BAR-CODE SPECIFICATIONS
Different types of fonts and bar-codes are available. The printing density depends on the resolution
of the head used on the printer, which is better explained in the User Manual. The following
specifications summarize the characteristics of the available fonts and bar-codes.
4.1 Fonts
The image of the label to be printed can be built using the commands described in section 3.1. The
font used is the default font, which itself can be defined with the
Following below are the features of each.
187
Font
Dimensions of matrix
Height x width (in dot s)
A 9 x 5 1.12 x 0.76 1.31
B 11 x 7 1.37 x 1.12 0.89
C, D 18 x 10 2.26 x 1.50 0.66
190
E
28 x 15 3.50 x 2.49 0.40
F 26 x 13 3.25 x 2.00 0.50
G 60 x 40 7.49 x 5.00 0.167
191
H
21 x 13 2.61 x 2.36 0.423
∅
192
15 x 12
193
188
.
Size of each character
189
.
Height x width (in mm)
See command
command (page 17).
^CF
Number of characters per mm (in mm
1
)
∅
on page 18
^A
-
table 5 – Specifications of fonts at a resolution of 8 dots/mm (203 dpi)
187
The fonts B and H only accept upper case letters and numerals, while all the others accept upper and lower case
letters and numerals.
188
Of the character alone. The height is determined by the upper case characters plus the footer of lower case characters
such as g or q.
189
Including the space between each one.
190
OCR B.
191
OCR A.
192
In order not to confuse zero with the letter o, the convention o f assigning ∅ the meaning of zero is adopted here
(
,
48
193
Since the font is scalable, this is the default value.
).
30
10
16
CZL – Programmer Manual
194
Font
Dimensions of matrix
Height x width (in dot s)
195
.
Dimensions of each character
Height x width (in mm)
196
.
Number of characters per mm (in mm
A 9 x 5 0.75 x 0.50 2.02
B 11 x 7 0.91 x 0.75 1.32
C, D 18 x 10 1.50 x 1.00 1.00
197
E
42 x 20 1.75 x 1.08 0.92
F 26 x 13 2.16 x 1.34 0.74
G 60 x 40 5.00 x 4.00 0.25
198
H
34 x 22 2.81 x 2.48 0.40
∅
199
15 x 12
200
See command ^A
∅
on page 18
table 6 - Specifications of fonts at a resolution of 12 dots/mm (300 dpi)
Font Dimensions of matrix
Height x width (in dot s)
Space between each character
(in dots)
Height of capital letters (in dot s)
201
.
A 9 x 5 1 7
B 11 x 7 2 11
C, D 18 x 10 2 14
E 28 x 15 5 23
F 26 x 13 3 21
G 60 x 40 8 47
H 21 x 13 6 21
∅
15 x 12 Proportional
202
3 x height / 4
-
1
)
table 7 – Space between characters and height of upper case characters
4.2 Bar-codes
It is possible to print bar-codes with the CZL language. The following specific types are available:
Interleaved 2/5, Code 39, EAN 8, UPC E, Code 128, EAN 13, ANSI Codabar, MSI, UPC/EAN
194
See note 187 on page 47.
195
See note 188 on page 47.
196
See note 189 on page 47.
197
OCR B.
198
OCR A.
199
See note 192 on page 47
200
See note 193 on page 47.
201
See note 188 on page 47.
202
In fonts A – H the space between each character is constant, while the spacing in font ∅ is proportional. This means
that it is proportioned to the dimensions of the character; in other words, the space after the letter i is less than that after
the letter m.
48
CZL – Programmer Manual
49
Extensions, UPC A, PostNet. Each of these is identified with a numeral or a letter that coincides
with the parameter to be inserted in the
command on page 18 (see table 8).
^Bx
Each type of bar-code has its own characteristics: some are fixed length, others not, some accept all
characters, and others only upper case letters or numerals.
The widths of the bars are defi ned according to set ratio s. Som e bar-codes require a fixed ratio to be
read properly, while for others the ratio can vary from 2 to 3 without affecting the reliability of
readings.
x Description Ratio ASCII characters allowed
2 Interleaved 2/5
3 Code 39
8 EAN 8 Fixed
9 UPC E Fixed
C Code 128 Fixed
E EAN 13 Fixed
K ANSI Codabar
See table 9 and table 10 on pages 59 and 60 respectively.
CZL – Programmer Manual
5. E
XAMPLES
The following examples clarify the meaning of the commands described in previous sections.
Since all CZL commands are comprised of pri ntable characters, it does not matter whet her they are
sent through a simple program (e.g. Basic) or with text file.
For a detailed description of each command, please refer to the preceding pages.
5.1 Example with alphanumeric strings, bar-codes, and
boxes
The following example was developed in Basic, and its result appears in fig. 5 on page 52.
^B2R,150,Y,Y,Y
^FD12345678^FS
^CFC
^FWR
^FO93,340
^FDCODE 2 OF 5^FS
^FWN
^FO590,280
^BKR,,80,Y,N,*,T
^FD123^FS
^AAB,10,10
^FO550,260
^FDANSI CODABAR ^FS
^FO450,425
^GB320,0,2^FS
^CFC
^FO460,440
^FB300,2,10,C
^FDCZL Language printed by 6xxx
^XZ
CZL – Programmer Manual
5.2 Example with graphic images
Ever more applications require printing of logos, which in the simplest of cases is the company
logo.
Two operations are performed to do so (see section 3.1.7.2 on page 30): first the logo is loaded onto
the memory unit (RAM or flash memory), then it is recalled using its assigned name, and then it is
positioned as desired.
The following example (in text format) produces the label in fig. 6.
The reverse feature (see section 3.1.8.2 on page 35) is useful for highlighting parts of the label. The
label in fig. 7 is created with the following file.
^XA
^LH33,33
^FXLocally test the reverse mode on one field
^FO0,0^GB250,400,200^FS
^FO30,10^AG^xxx^FR^FS
^FO30,200^B3,,100,,^FDABCDEFGHIJK^FR^FS
^FO30,350^AF^FDTest Local reverse command^FR^FS
^XZ
fig. 7 – Image of label with partial reverse effect
CZL – Programmer Manual
The reverse effect can be used on the entire label. The following file produces th e label appeari ng in
fig. 8.
When a certain number of labels must be produced in a progressive sequence, the CZL emulation
supplies a command that can be used to automate the printing process (see section 3.1.8.3 on page
36).
The following file produces the label in fig. 9.
^XA
^LH33,33
^FXSerial field test
^FO30,10^AF^SNField n. NNN0001^FS
^FO30,200^B3,,100,,^SNABCDEFGHIJK3003^FS
^FO30,350^AF^FDSerial command test^FS
^PQ2
^XZ
56
CZL – Programmer Manual
57
fig. 9 – Image of the label with serial fields
5.5 Example with variable fields
With the CZL emulation, it is possible to save the label to memory (RAM or flash) and recall it
whenever it must be printed, updating only the parts that have changed (see 3.1.8.5 on page 37).
The following text file produces the label appearing in fig. 10.
Char Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex
NULL 0 00 32 20 @ 64 40 ` 96 60
SOH 1 01 ! 33 21 A 65 41 a 97 61
STX 2 02 Ò 34 22 B 66 42 b 98 62
EXT 3 03 # 35 23 C 67 43 c 99 63
EOT 4 04 $ 36 24 D 68 44 d 100 64
ENQ 5 05 % 37 25 E 69 45 e 101 65
ACK 6 06 & 38 26 F 70 46 f 102 66
BEL 7 07 Ö 39 27 G 71 47 g 103 67
BS 8 08 ( 40 28 H 72 48 h 104 68
HT 9 09 ) 41 29 I 73 49 i 105 69
LF 10 0A * 42 2A J 74 4A j 106 6A
VT 11 0B + 43 2B K 75 4B k 107 6B
FF 12 0C , 44 2C L 76 4C l 108 6C
CR 13 0D - 45 2D M 77 4D m 109 6D
SO 14 0E . 46 2E N 78 4E n 110 6E
SI 15 0F / 47 2F O 79 4F o 111 6F
DLE 16 00 0 48 30 P 80 50 p 112 70
DC1 17 11 1 49 31 Q 81 51 q 113 71
DC2 18 12 2 50 32 R 82 52 r 114 72
DC3 19 13 3 51 33 S 83 53 s 115 73
DC4 20 14 4 52 34 T 84 54 t 116 74
NAK 21 15 5 53 35 U 85 55 u 117 75
SYN 22 16 6 54 36 V 86 56 v 118 76
ETB 23 17 7 55 37 W 87 57 w 119 77
CAN 24 18 8 56 38 X 88 58 x 120 78
EM 25 19 9 57 39 Y 89 59 y 121 79
SUB 26 1A : 58 3A Z 90 5A z 122 7A
ESC 27 1B ; 59 3B [ 91 5B { 123 7B
FS 28 1C < 60 3C \ 92 5C | 124 7C
GS 29 1D = 61 3D ] 93 5D } 125 7D
RS 30 1E > 62 3E ^ 94 5E ~ 126 7E
US 31 1F ? 63 3F _ 95 5F 127 7F
TABLES
table 9 – ASCII table (0÷127)
CZL – Programmer Manual
Char Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex
Ç 128 80 á 160 A0 192 C0 Ó 224 E0
ü 129 81
é 130 82
â 131 83
ä 132 84
à 133 85
å 134 86
ç 135 87
ê 136 88
ë 137 89 ® 169 A9 201 C9 Ú 233 E9
è 138 8A 170 AA 202 CA Û 234 EA
ï 139 8B ½ 171 AB 203 CB Ù 235 EB
î 140 8C ¼ 172 AC 204 CC ý 236 EC
ì 141 8D ¡ 173 AD 205 CD Ý 237 ED
Ä 142 8E 174 AE 206 CE 238 EE
Å 143 8F ¯ 175 AF 207 CF 239 EF
É 144 90 176 B0 ð 208 D0 240 F0
æ 145 91 177 B1 Ð 209 D1