Sie sind auf Seite 1von 131

540340-G.

ai 24/11/2009 15:48:57

the
the team
team to
to trust
trust labelpoint
programmer’s reference manual

CM

MJ

CJ

CMJ

540340-G 9, rue Gaspard Monge B.P. 110


26501 Bourg-lès-Valence Cedex
France
Tél. : +33 (0) 4 75 75 55 00
www.markem-imaje.com Fax : +33 (0) 4 75 82 98 10
Programmer’s Reference Manual
Table of Contents

1 The Labelpoint Command Language 6


1.1 Introduction 6
1.2 Labelpoint Features 6
1.3 The Labelpoint Command Language 7
2 Label Layout Definition Commands 8
2.1 The Print Area 8
2.1.1 Configurable Coordinate System 8
2.1.2 Legacy Coordinate System 8
2.2 Field Syntax 11
2.2.1 Configurable Coordinate System 11
2.2.2 Legacy Coordinate System 11
2.3 Field Insertion Points 13
2.4 Building a Label Layout 15
2.5 Defining a Text Field 16
2.5.1 Scalable Text Field 16
2.5.2 The Text to be Printed 19
2.6 Defining a Barcode Field 24
2.6.1 Barcode Symbologies 25
2.6.2 Barcode Interpretation 28
2.6.3 Defining a 2D Barcode Field 29
2.6.4 2D Barcode Symbologies 30
2.6.5 Code 128 31
2.6.6 RSS 32
2.6.7 MaxiCode 33
2.6.8 Code PDF417 35
2.6.9 QR Code 36
2.7 Defining a Line/Box Field 37
2.8 Defining a Text Box Field 38
2.8.1 Text Box Field Dimensions 39
2.8.2 Hyphenation 39
2.9 Defining a Circle/Ellipse Field 40
2.10 Defining a Graphics Field 42
2.11 Variable Information in Text and Barcode Fields 44
2.11.1 Changing a Single Variable 44
2.11.2 Lock Variable 46
2.11.3 Clearing Variable Information 46
Programmer’s Reference Manual
Table of Contents

2.12 Clear Layout 47


2.13 Print Command 47
2.14 Triggered Printout 48
2.14.1 Compact, 2300 and Nova 48
2.14.2 2000 Series 48

3 Status Request Commands 49


3.1 Status Request 1 49
3. 2 Status Request 2 51
3.3 Status Request 3 53
3.4 Status Request 4 and 5 54
3.5 Status Request 7 55
3.6 Status Request 8 56
3.7 Status Request 16 58
3.8 Status Request 17 59
3.9 Status Request 100 60
4 Service Commands 62
4.1 Special Service Commands 66
4.2 Expression Engine Service Commands 67
5 Printer Settings 69
5.1 Printer Configuration 69
6 Dot Check 80
6.1 Barcode Displacement 80
7 Configuration Menu 81
7.1 HTML Version 81
7.2 Text Version 81
7.3 ASCII User Interface 81
7.3.1 Introduction 81
7.3.2 Command Keys 81
Programmer’s Reference Manual
Table of Contents

8 Document Commands 83
8.1 Document Start 83
8.2 Document End 83
8.3 Cutter Mode 84
8.4 Cutting Command 84
8.5 Label-taken Sensor (LTS) 84
9 Printer Connection 85
9.1 Local Printer 85
9.2 Network Printer 85
10 Printer File System 86
10.1 Configurable Storage Path 86
10.2 Macros 87
10.2.1 Loading a Macro 87
10.2.2 Deleting a Macro 87
10.2.3 Executing a Macro 87
10.2.4 Auto Macro 87
10.3 Graphics 88
10.3.1 Loading a Graphics File 88
10.3.2 Deleting a Graphics File 88
10.4 Fonts 89
10.4.1 Downloading a Font File 89
10.4.2 Deleting a Font File 90

11 Miscellaneous Commands 91
11.1 Counters 91
11.1.1 Initialising Counters 91
11.1.2 Retrieving Information About Counters 92
11.1.3 Printout 92
11.2 Paper Feed 93
11.2.1 Automatic Reverse Feed 93
11.2.2 Paper Feed on Command 93
11.3 Information 94
11.4 String Translation 95
11.5 Shift Codes 96
11.6 Match Code 98
Programmer’s Reference Manual
Table of Contents

11.7 Switch Date Offset 99


12 Flow Control 100
12.1 True Two-way Communication 100
12.2 ENQ - ACK/NAK 100
Appendix A Compressed Graphics 101
Appendix B IntelHex 105
Appendix C Intel Binary 107
Appendix D Raw Binary 108
Appendix E Code Pages 109
Appendix F Quick Reference Guide 119
Appendix G Bitmap Textfield 128
Index 129
Programmer’s Reference Manual
1. The Labelpoint Command Language

1.1 Introduction
The Markem-Imaje printer family features a simple, yet powerful command language: Labelpoint II
(LP II). It allows the printers to be controlled from most computers.
Text can be printed in any integer rotation in degrees (0 through 359). Barcodes can be printed in
0, 90, 180 or 270 degrees rotation. Other rotations would decrease the barcode quality and
readability.
Counters for consecutive numbering are available and an integral real-time clock allows labels to
be time-stamped at print time.
Labelpoint II uses only printable ASCII characters to allow commands to be easily manipulated in
the host computer. This also avoids problems with control characters, which some computer
systems reserve for internal use.

1.2 Labelpoint Features


 Prints text, barcodes and matrix codes, lines, boxes, text boxes, circles/ellipses and graphics.
 Contains character sets for all major European languages as well as support for UTF-8 to
transfer any Unicode character to the printer.
 Supports most standard 1D and 2D barcodes.
 Includes ten scalable fonts as standard (Unicode character set is used internally to be able to
use all Latin and Cyrillic characters).
 Supports TCP/IP (LPD, RAW, TELNET).
 Provides Terminal Server functionality (COM1 and/or COM2 connected to the network).
 Provides an easy-to-use configuration menu, which is accessible through any of the COM,
Telnet or RAW ports as well as by using a common web browser.
 Includes date and time symbols.
 Includes ten onboard counters for consecutive numbering.

6
Programmer’s Reference Manual
1. The Labelpoint Command Language

1.3 The Labelpoint Command Language


Labelpoint consists of a number of commands for creating a label layout, configuring the printer,
checking the printer set-up, et cetera.
The printer receives characters and interprets them as either commands or data. A command
instructs the printer to perform an action, for example create a field in the label layout. Data can, for
example, be variable data that is to be included in the print-out, or it can be a sequence of
commands that are going to be stored in the printer file system.
The printer acts on incoming data on a line-by-line basis. Input data is buffered until the end-of-line
character is received. The default end-of-line character is CR (carriage return, ASCII 1310 = 0D16).
When an end-of-line character is received, the line of data received is interpreted. If a line begins
with the command character it is treated as a command.
A command line starts with an ! character (ASCII 3310 = 2116) , followed by a character specifying
the command type. Some commands take parameters.
Note: The command line must start with the ‘!’ character, otherwise the line will be interpreted as a
data line and may be discarded by the printer.

Examples:
To print one label, type:
!P1
To print 100 labels, type:
!P100
Some commands assume a default value if a parameter is omitted. The command to
print one label may be given as:
!P

Note that the command characters are case sensitive. For example Y24 changes the dispensing
feed while y24 sets a value for the label width. The printer will ignore commands that do not exist,
for example if the wrong case is used.

Note: All commands must be terminated by the end-of-line character (normally CR). The end-of-
line character will not be shown in the examples in this manual.

7
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.1 The Print Area


2.1.1 Configurable Coordinate System
The configurable coordinate system offers a more powerful and exact way of positioning fields than
the deprecated coordinate system.

Specify Coordinate System


Specify the coordinate system unit by setting label parameter y22. Setting y22 implies that origin of
coordinates is reset to (0, 0) and the x-axis is reset to positive left, regardless of the previous
coordinate unit value. This is to enforce explicit setting of the coordinate mapping (see y23 below)
to be able to use a custom mapping.
!y22 <n>
Argument Description
0 mm coordinate system (default)
1 dot coordinate system
2 1/100 inch coordinate system

Specify Axis Direction and Origin of Coordinates

8
Programmer’s Reference Manual
2. Label Layout Definition Commands

Specify the x-axis direction and origin of coordinates position by setting label parameter y23. This
parameter takes the x and y direction as required arguments while origin positioning is optional.
!y23 <n> [x y]
Argument Description
0 X axis is positive towards center wall, Y axis positive towards print
direction (default)
1 X axis is positive from center wall, Y axis positive towards print
direction
2 X axis is positive towards center wall, Y axis positive in print direction
3 X axis is positive from center wall, Y axis positive in print direction
x x coordinate of origin (default 0)
y y coordinate of origin (default 0)

Note: the lower case y signifies a volatile parameter that will be reset to it’s defaults by the next !C
or printer restart.

In order to define a new origin of coordinates, both x and y have to be specified. X and y place the
origin of coordinates in the coordinate units specified with the first argument. If no position is
specified, (0, 0) is assumed.

9
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.1.2 Legacy Coordinate System


Note: This coordinate system is deprecated in favor of the configurable coordinate system, see
section 2.1.1.
All items that are to be printed on a label must be defined with their position on the label. The
coordinate system is shown below:

The position of a field on the label is given as its baseline and position.
The baseline is the coordinate of the bottom of the field. For fields with up vector N or S, the
baseline is the Y coordinate; for fields with up vector E or W it is the X coordinate. For text fields
the baseline is at the base of non-descending characters, so that descending characters (for
example 'j', 'g', and 'y') will extend below the baseline. 'Above' and 'below' always refer to the up
vector of the field, and may thus be different physical directions.
The position parameter determines the position of the field in the direction perpendicular to the up
vector, sideways. It may be given as the position of the left end, the right end, or the center of the
field.
Note: All coordinates are given in 0,1 millimeter. The same applies for the length of the bars in a
code, and the height and width of a black box.

10
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.2 Field Syntax


This is a generic description of layout fields; see detailed description of field types for full syntax.
Please note that some arguments vary with field type.

2.2.1 Configurable Coordinate System


Syntax !F <t> <r> <x> <y> <i> <h> <w>

Argument Description
<t> Type, T = bitmap text, S = scalable font, B = box/line, C =
barcode/matrix code, G = graphics, A = text box, E = circle/ellipse
<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to
N and 90 corresponds to E. Specifying the rotation as an integer
means that the position is given as x and y instead of baseline and
position. Note that some fields only handle the rotations 0, 90, 180
and 270.
<x> X coordinate, given in the selected coordinate system and resolution
relative to an origin of coordinates that may have been specified
using y23.
<y> Y coordinate, given in the selected coordinate system and resolution
relative to an origin of coordinates that may have been specified
using y23.
<i> Insertion point type, see section 2.3 Field Insertion Points.
<h> Height, 0..<n> in current coordinate units.
Note: In text fields points is the only valid unit.
<w> Width, 0..<n> in current coordinate units.
Note: In text fields points is the only valid unit.

Example:
!F S 0 150 100 DL 14 14 94021 "TEXT TO BE PRINTED"

11
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.2.2 Legacy Coordinate System


Syntax !F <t> <o> <b> <p> <a> <h> <w>

Argument Description
<t> Type, T = bitmap text, S = scalable font, B = box/line, C =
barcode/matrix code, G = graphics, A = text box, E = circle/ellipse
<o> Orientation, N = North, E = East, S = South, W = West
<b> Baseline, 0..<n>
<p> Position, 0..<n>
<a> Alignment, L = Left, C = Center, R = Right
<h> Height, 0..<n>
<w> Width, 0..<n>

Example:
!F S N 100 150 L 14 14 94021 "TEXT TO BE PRINTED"

12
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.3 Field Insertion Points


Field insertion points provides better control of the layout than what is possible using the three
baseline alignments left, center and right. There are 24 insertion points represented by a two or
three character upper case identifier. There are 5 points that denote the vertical position and 3
points that denote the horizontal position of a field. These 15 field insertion points are denoted by
two-character identifiers composed of a concatenation of the respective vertical and horizontal
symbol.
Vertical Position
T Top
A Ascending
C Center
D Descending
B Bottom
Horizontal Position
L Left
C Center
R Right

Note: Field insertion points are rotation dependent. Top refers to the top of the data, or in the case
of text, to the top of the characters. If the text is rotated upside down, top is facing down.
Ascending and descending are represented by the part of the text that extends above or below a
certain line. For text fields this is font specific and for barcode fields it depends on the location of
any barcode interpretation string. If an A or D insertion point is specified for a field other than text
or barcode fields, it is interpreted as T or B instead.
To place fields in a non rotation dependent manner, there are 9 more insertion points. They are
called frame insertion points and are used to place a field relative to the print direction. Frame
insertion points are made up by three characters where the first character F indicates that it is a
frame point and the two following points are made up of a vertical and horizontal component as
described above.

13
Programmer’s Reference Manual
2. Label Layout Definition Commands

There are no ascending or descending insertion points in a frame and therefore it only has three
vertical points. Also note that the graphics fields above does not show any A or D points as they do
not apply to this type of field.
The true center point of any field always overlaps with the true center point for its frame making it
redundant.
Barcode fields that have interpretation turned on can use the A and D verticals for positioning. If
the interpretation is shown below the barcode (!Y42 1) the BL point will be the bottom left point of
the interpretation while the DL point will be the bottom left point of the bars. In this case AL is the
same as TL.
If the interpretation is displayed above the code (!Y42 2), the AL point is the upper left point of the
bars while the TR point is the upper left point of the interpretation. In this case DL is the same as
BL. The picture below shows two north oriented barcodes with interpretation below (left) and above
(right) the barcode.

14
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.4 Building a Label Layout


The label layout defines the position and other attributes, such as size, font and barcode
symbology, of each item to be printed. When the print command is issued, the resulting print
picture is printed. The print format can be changed at any time.
The text to be printed can be fixed or variable. Fixed text is a part of the layout and does not
change until the layout is changed. Variable text can be entered for each printout, without changing
the layout.
When a label layout with fixed data has been loaded in the printer, the variable data (text that
changes for each printout) is sent, followed by the print command to print one or more labels.
The !F command defines a layout field. A layout field is one of the following:
 one or more lines of text
 a barcode or matrix code
 a line, box or frame
 a text box
 a circle or ellipse
 graphics
When an !F command is received, the printer adds the new field to the label layout. A label layout
is built by defining all fields to be printed. A text, barcode, matrix code or graphics field may include
fixed or variable text, or both.
The shoe example:
!C
!Y24 60
!Y35 10
!Y42 1
!F S N 100 100 L 14 14 94030 "TESTLABEL"
!F S N 200 100 L 10 10 94021 "PRICE: 65.00"
!F S N 250 100 L 10 10 94021 "SIZE: 42"
!F C N 450 100 L 150 2 41 "65.00"
!F B N 120 90 L 80 240
!P

When the layout above is sent to the printer, the result will be a 5 x 4 cm label with a black box at
the top, the size and price of the shoe, and a barcode at the bottom.

See section Print Example at the end of this document for further explanation of this example.

15
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.5 Defining a Text Field


There are two different types of text fields: scalable and bitmap fields. Bitmap text fields are
deprecated and are therefore not recommended for new designs but are kept in this manual for
backward compatibility (see Appendix G: Bitmap Text field for further information).
Scalable text fields can be rotated 1 to 359 degrees. Bitmap text can only be rotated 90, 180 and
270 degrees.

2.5.1 Scalable Text Field


The benefit of using scalable fonts is the possibility to use the highest possible resolution for the
letters, independent of the defined size. This is possible since the font’s appearance is calculated
at run time.
Syntax I !F T <r> <x> <y> <i> <h> <s> <f> [wa] <”text”>
or
!F T <u> <b> <p> <a> <h> <s> <f> [wa] <“text“>

Syntax II !F S <r> <x> <y> <i> <h> <w> <f> [s] <”text”>
or
!F S <u> <b> <p> <a> <h> <w> <f> [s] <“text“>

Syntax III !F S <r> <x> <y> <i> <h> <w> <”n”> [s] <”text”>
or
!F S <u> <b> <p> <a> <h> <w> <”n”> [s] <“text“>
Note: Parameters enclosed in <> are required and parameters enclosed in [] are optional.
The parameters have the following meanings:
<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in
section 2.3 Field Insertion Points.
<u> Defines the direction of printing as the ‘up’ direction of the printed characters. One upper-case
character (N, E, S, or W).
<b> The baseline of the field, in coordinate system units (default 0,1mm).
<p> The position, in coordinate system units (default 0,1mm).
<a> The alignment relative to the field’s baseline. One upper-case character.
L = left end of the baseline aligned at p.
R = right end of the baseline aligned at p.
C = the field’s baseline is centered around p.
<h> The font height, in points (there are 72 points on an inch).

16
Programmer’s Reference Manual
2. Label Layout Definition Commands

<w> The font width in points (see above). To get normal character width, set parameter w to the
same value as parameter h.
<f> The font number. See tables below.
<”n”> The font name as it appears in the printer’s file system or on a connected Compact Flash card,
for example: "ARIAL". Note that the font needs to be located in a fonts directory.
<s> Inter-character spacing in 0,1 points. (Optional in syntax II and III)
<wa> Width adjustment, in percent. Valid values are 50 (%) to 200 (%).
To get normal character width, set parameter wa to 100.
This parameter is only used in syntax I. (Optional)
<”text”> Specifies the text to be printed. The text must be enclosed in double quotes (").

Labelpoint uses Monotype Imaging’s Universal Font Scaling Technology® to generate scalable
font characters. Fonts are stored in either Agfa MicroType™ format or TrueType format.
There are ten fonts included in the printer. The printer also emulates a number of italic font styles
for sans serif fonts.
PCL typeface name PCL typeface number
Univers Medium 1 94021
1
Univers Italic (emulated) 94022
Univers Bold 1 94023
1
Univers Bold Italic (emulated) 94024
Univers Condensed Medium 2 94029
2
Univers Condensed Italic (emulated) 94039
Univers Condensed Bold 2 94030
2
Univers Condensed Bold Italic (emulated) 94040
CG Times 1 92500
1
CG Times Italic 92501
CG Times Bold 1 92504
1
CG Times Bold Italic 92505
Letter Gothic Bold 2 93779
2
Letter Gothic Bold Italic (emulated) 93780
Coronet (script) 2 90249

1
Latin 1, 2, 5, 6, Greek and Cyrillic characters available
2
Latin 1, 2, 5 and 6 characters available

17
Programmer’s Reference Manual
2. Label Layout Definition Commands

For faster printouts from MS-Windows systems, the Arial fonts and the Times New Roman fonts
are also emulated.
PCL typeface name PCL typeface number
Arial (emulated) 24459
Arial Italic (emulated) 24460
Arial Bold (emulated) 24461
Arial Bold Italic (emulated) 24462
Times New Roman (emulated) 24455
Times New Roman Italic (emulated) 24456
Times New Roman Bold (emulated) 24457
Times New Roman Bold Italic (emulated) 24458

18
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.5.2 The Text to be Printed


The text parameter can contain both fixed text and references to variable information that changes
after each print cycle.

Fixed Text
Fixed text is entered with the keyboard with some exceptions.
The characters %, “ and \ are used for commands. In order to print these characters, they must
therefore be entered twice.
To specify characters not available from the keyboard, use either a national character escape
sequence ‘\x’ or a Unicode escape sequence ‘\u’.
Examples:
To print ‘Å’, type the sequence \xc5 (for code page 1252)
To print the Euro symbol ‘•’, type the sequence \u20ac.

Variable Information
A variable text reference has the form %<n>V, where n is the number of the variable.

Counters
A counter reference has the form %<n>C where n is the number of the counter.

Date and Time


Date and time can be retrieved from the internal real-time clock. The date and time format is
programmed by combining the codes below:
%H Expands to the hour count (one or two digits) (24-hour clock).
%h Expands to the hour count (one or two digits) (12-hour clock).
%M Expands to the minute count (two digits).
%S Expands to the seconds count (two digits).
%J Expands to "AM" or "PM" depending on the hours.
%j Expands to "a.m." or "p.m." depending on the hours.
%Y Expands to the year (two digits).
%y Expands to the year (four digits).
%Xy Expands to the year (one digit).
%N Expands to the month (two digits).
%D Expands to the day of the month (two digits).
%K Julian date (three digits).
%W Week of the year (two digits).
%XA Month (one character, ‘A’ to ‘L’).
%XD Month, three characters, Swedish.

19
Programmer’s Reference Manual
2. Label Layout Definition Commands

%XG Month, three characters, English.


%XH Month, three characters, Italian.
%XU Month, all characters, user defined.
%Xd Month, all character, Swedish.
%Xg Month, all characters, English.
%XW Weekday (one digit).
%xG Weekday, three characters, English.
%xD Weekday, three characters, Swedish.
%xH Weekday, three characters, Italian.
%xg Weekday, all characters, English.
%xd Weekday, all characters, Swedish.
%xh Weekday, all characters, Italian
%xU Weekday, all characters, user defined.

The date symbols can be defined with an offset for best-before dates. The offset value is inserted
between the ‘%’ character and the date symbol. The offset value can be either in days or in
months:

Best-before Date
Today’s date in the examples below is assumed to be the 31 of January 2008, if nothing else is
specified.
Input Output
%d10D/%d10N/%d10y 10/02/2008 (ten days best-before date)
%m1y-%m1N 2008-02 (one month best-before date)

The offset value may be a variable. If variable one is 30 and variable two is 12, then the following
example will give the result:
Input Output
%d%1VD/%d%1VN/%d%1Vy 02/03/2008 (30 days best-before date)
%m%2Vy-%m%2VN 2009-01 (12 months best-before date)

20
Programmer’s Reference Manual
2. Label Layout Definition Commands

It is possible to use the same best-before date, even if the actual date changes, and only update it
on a monthly basis. This is accomplished by the use of parameter 185, which specifies which day
in a month to update the best-before date. The syntax of the label data does not need to be
changed. See the following example where parameter 185 is set to ‘15’:
Input Output
%d10D/%d10N/%d10y 25/01/2008 (calculated from the 15th of January even though
today’s date is 31st of January)

When today’s date reaches the 15th of February the output would be 25/02/2008, until 15th of
March where it would be 25/03/2008 and so on.
Another feature that can be automated is month truncation. If the calculated best-before date
exceeds a certain day in the calculated month, the resulting best-before date will be estimated to
the first of next month. The truncation day is specified by setting parameter 186. See the following
example where parameter 186 is set to ‘20’:
Input Output
%d10D/%d10N/%d10y 01/02/2008

It is possible to set the behavior of Julian date for 29th of January. This function is enabled with an
XCL command. The days will be counted as if it was not leap year and 29th of January will get
Julian date 366. This is the default behavior but it can be modified with an XCL command.
Examples:
!!system.parameter.julianleapdaychange!1 !/Enable the leapday change behavior.
!!system.parameter.julianleapdayday!366 !/ Specify which day that 29th of
February is going to be replaced by.

Note: Earlier versions of Labelpoint did not support best-before dates, week numbers, Julian date
and week day. Some programs, like Viewpoint, used a similar syntax internally, which was
converted to static text before sent to the printer.

Check Digits
Three different checksum types can be inserted in the text field, EAN/UPC, Code39 and UPU. For
usage, see table below:
%Z EAN/UPC checksum. If the characters %Z are inserted in the text, they will be replaced by
a 3:1 weighted modulo-10 check digit.
%zC Code39 checksum. If the characters %zC are inserted in the text, they will be replaced by
weighted modulo-43 check digit, which is calculated on the preceding code39 characters.
%zP UPU checksum. If the characters %zP are inserted in the text, they will be replaced by
specially weighted modulo-11 check digit, which is calculated on the preceding 8 digits. If
this checksum is specified without a sufficient number of preceding digits, a # sign will be
printed instead.

Line Breaks
The text to print may include line breaks (carriage return or line feed characters) which generate a
new field below the previous one. However, a text box field is the best way to define an area on the
label where text can be automatically word wrapped, see section 2.8 Defining a Text Box Field.

21
Programmer’s Reference Manual
2. Label Layout Definition Commands

Example:
!F S N 100 100 L 12 12 94021 “MARKEM-IMAJE
9, rue Gaspard Monge B.P. 110
26501 Bourg-lès-Valence CedexFrance

22
Programmer’s Reference Manual
2. Label Layout Definition Commands

Reverse Video
Text can be printed in reverse video. This means that the text will be printed in white on a black
background. The black background square will extend half a character at the sides of the text and
to the maximum ascender and descender of the font.
The command to enable/disable reverse video mode is !Y162 <n>, where n is set to 1 to enable
and 0 to disable. To change the size of the background square n can be set to a value between 2
and 999.
Regular text Reverse video

Example:
!C
!F S N 100 100 L 24 24 92500 “Normal Video”
!Y162 1 // Turn on reverse video mode
!F S N 200 100 L 24 24 92500 “Reverse Video”
!Y162 200 // Turn on reverse video mode and set background // square to 200%
!F S N 400 100 L 24 24 92500 “Expanded Reverse Video”
!Y162 0 // Turn off reverse video mode
!P

23
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6 Defining a Barcode Field


This section describes how to create and select barcodes.
Syntax !F C <r> <x> <y> <i> <h> <w> <s> [d] <”text”>
or
!F C <u> <b> <p> <a> <h> <w> <s> [d] <”text”>

The parameters have the following meaning:


<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in
section 2.3 Field Insertion Points.
<u> Defines the direction of printing as the ‘up’ direction of the printed character. One upper-case
character (N, E, S, or W).
<b> The baseline of the field in current coordinate units.
<p> The position in current coordinate units.
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> The height of the bars of the code in current coordinate units.
<w> The width expansion of the bars.
<s> The barcode symbology to be used. This parameter is a number according to table 1.
[d] Optional parameter which specifies the maximum allowed displacement in east-west direction
when defining a north or south oriented barcode field. The displacement is specified in current
coordinate system units and controls how far the barcode may be moved if Dot check is
available and it has found print head dots with out of range resistance. See section 6 Dot
Check for further information.
<”text”> Specifies the text to be printed. See section 2.5 Defining a text field for further information.

To set a global Dot check displacement value, see parameter Y60. This value applies to all
north/south/0/180 barcodes that do not have an explicit value set for this using the optional [d]
parameter. When a global displacement is in effect, it is possible to set a certain field’s [d]
parameter to 0 to prevent movement of that particular barcode.
Note: Barcodes can only be printed in 0, 90, 180 or 270 degrees rotation. Other rotations would
decrease the barcode quality and readability.

24
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.1 Barcode Symbologies


Labelpoint Barcode symbology Barcode type, information
barcode
number
1 2 of 5 Interleaved – 2:1 This is a numeric code with variable length. If required,
insert a check digit with the %Z command. The code
2 2 of 5 Interleaved – 3:1
must contain an even number of digits. The printer will
3 2 of 5 Interleaved – 5:2 therefore insert a leading 0 if necessary.
4 2 of 5 Interleaved – 8:3 If the 2:1 ratio is used, a minimum width expansion of 4 is
required.
5 2 of 5 Interleaved – 13:5
6 2 of 5 Interleaved – 11:4
7 2 of 5 Interleaved – 7:3

11 Code 39 - 2:1 This is an alphanumeric code with variable length. If


required, insert a check digit with the %zC command
12 Code 39 - 3:1
(Code39 – modulo 43 checksum) or the %Z command
13 Code 39 - 5:2 (EAN/UPC – modulo 10 checksum).
14 Code 39 - 8:3
15 Code 39 - 13:5
16 Code 39 - 11:4
17 Code 39 - 7:3

21 USS Codabar – 2:1 This is a numeric code with variable length. The start and
stop characters (‘A’, ‘B’, ‘C’ or ‘D’) must be included in the
22 USS Codabar – 3:1
input data.
23 USS Codabar – 5:2
24 USS Codabar – 8:3
25 USS Codabar – 13:5
26 USS Codabar – 11:4
27 USS Codabar – 7:3
31 UPC-A This is a numeric code that requires 11 digits of input
data. The printer appends the check digit.
An EAN/UPC extension field can be appended by adding
2 or 5 digits to the input data.
32 EAN 13 This is a numeric code that requires 12 digits of input
data. The printer appends the check digit.
An EAN/UPC extension field can be appended by adding
2 or 5 digits to the input data.
33 EAN 8 This is a numeric code that requires 7 digits of input data.
The printer appends the check digit.

25
Programmer’s Reference Manual
2. Label Layout Definition Commands

34 UPC-E This is a numeric code that requires 6 digits of input data.


The printer appends the check digit.
35 EAN/UPC extension This is a numeric code that requires 2 or 5 digits of input
data.
This code be inserted with either a EAN/UPC extension
barcode field, or by adding 2 or 5 digits to a EAN 13 or
UPC-A barcode field.
36 GTIN14 (EAN 14) GTIN-14 is not a real type of barcode symbology. A
GTIN-14 number may be represented by ITF or GS1-128.
41 Code 128 All 128 ASCII characters plus control characters can be
encoded. The control characters are explained further in -
Code 128 function codes -. Variable length.
43 EAN 128 The same as Code 128, except that the printer inserts a
FNC1 as the first character. This is unique for the EAN
128 code.
(, ) and space characters are filtered in the barcode, but
printed in the human readable text.
51 ITF 14 – 2:1 This is a numeric code with fixed length. It requires 13
digits of input data. The printer appends the check digit. A
52 ITF 14 – 3:1
frame is printed around the barcode.
53 ITF 14 – 5:2
The nominal wide-to-narrow ratio for ITF 14 is 5:2 and the
54 ITF 14 – 8:3 nominal narrow bar width is 1,016 mm. At 8 dots/mm, the
width expansion for ITF 14 – 5:2 should then be set to 4.
55 ITF 14 – 13:5 At 12 dots/mm it should be set to 6. The nominal height is
56 ITF 14 – 11:4 41,4 mm including the frame.
57 ITF 14 – 7:3
64 RSS-14 This is a numeric code which encodes up to 14 digits of
numerical data. By selecting height expansion values to
RSS-14 Truncated
appropriate values, RSS-14 and RSS-14 Truncated are
used respectively. See section 2.6.6 RSS for appropriate
values to distinguish between the two codes.
67 RSS Limited This is a numeric code which encodes up to 14 digits of
numerical data. See section 2.6.6 RSS for further
information.
68 RSS Expanded All 128 ASCII characters plus the FNC1 control character
can be encoded. It encodes up to 74 numeric or 41
alphabetic characters. Variable length. See section 2.6.6
RSS for further information. (, ) and space characters are
filtered in the barcode, but printed in the human readable
text.

26
Programmer’s Reference Manual
2. Label Layout Definition Commands

71 Code 2 of 5 – 2:1 This is a numeric code with variable length. Old version
of Interleaved 2 of 5. Only the bars carry information. If
72 Code 2 of 5 – 3:1
required, insert a check digit with the %Z command.
73 Code 2 of 5 – 5:2
If the 2:1 ratio is used, a minimum width expansion of 4 is
74 Code 2 of 5 – 8:3 required.
75 Code 2 of 5 – 13:5
76 Code 2 of 5 – 11:4
77 Code 2 of 5 – 7:3

The "2:1", "3:1", notation in the table defines the width ratio of the wide and narrow bar, in dots.
The width of all bars and spaces can be doubled, tripled and so on, by setting the <width>
parameter in the field command to 2, 3, etc.
Note: Avoid using a width value of 1 when using 2:1 or 3:1 ratios. The resulting bars will be too thin
for most codes.

27
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.2 Barcode Interpretation


The printer will print a human-readable text line if it has been configured to do so. This can be done
individually for each barcode in a label layout by modifying parameter 42 (see section 5.1 Printer
Configuration) between each barcode declaration in the label file. The factory default behavior is to
place the human readable below the code but it can optionally be displayed above the code or
omitted completely. The interpretation setting affects all subsequent barcodes until it is explicitly
changed again.

Example:
!/ Show a barcode without a human readable
!Y42 0
!F C S 50 800 L 100 3 1 “%1V“
!/ Show a barcode with a human readable string below the code
!Y42 1
!F C S 200 800 L 100 3 33 “%1V“
!/ Show a barcode with a human readable string above the code
!Y42 2
!F C S 350 800 L 100 3 33 “%1V“

28
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.3 Defining a 2D Barcode Field


A two-dimensional (2D) code is normally a matrix code or a stacked barcode. Labelpoint supports
a number of 2D codes.
Syntax !F C <r> <x> <y> <i> <h> <w> <s> [o] <”text”>
or
!F C <u> <b> <p> <a> <h> <w> <s> [o] <“text“>

Note: Parameters enclosed in <> are required and parameters enclosed in [ ] are optional.

The parameters have the following meaning:


<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in section
2.3 Field Insertion Points.
<u> Defines the direction of printing as the "up" direction of the printed character. One upper-case
character (N, E, S, or W).
<b> The baseline of the field in current coordinate units.
<p> The position of the field in current coordinate units.
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> The height of the bars of the code in 0,1 mm, or height expansion of the pixels, 1 – 16.
<w> The width of the bars of the code in 0,1 mm, or width expansion of the pixels, 1 – 16.
<s> The barcode symbology to be used. This parameter is a number according to table 2.
[o] Optional parameter with different function depending on the code symbology:
For Royal Mail 4-State Customer Code and the KIX code:
Width adjustment. See section 2.6.4 2D barcode Symbologies. A value of 50 % to 200 % is
allowed. 100 % is the default and means that the bar width and space widths are the same.
For MaxiCode:
An optional two digit number used to define structured appends, where the first digit specifies
the symbol number, and the second digit specifies the total number of symbols.
<”text”> Specifies the text to be printed. See section 2.5 Defining a text field.

29
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.4 2D Barcode Symbologies


61 PDF417 Stacked barcode. Arbitrary binary data, variable length. For further
information, see section 2.6.8 Code PDF417.
81 USD-5 dot code Matrix code. Numeric data, variable length. 5 to 20 digits. The printer
appends the check digit. The USD-5 code always has the same size,
therefore <h> and <w> should be set to 1.
83 LEB code Stacked barcode. Alpha-numeric code, variable length. <w> is the
expansion factor. <w> = 1 means a dot width of 0.25 mm. <h> is not
currently used and should be set to the same value as <w>.
91 Royal Mail 4-State ‘Stacked’ barcode. The character set includes numeric characters and
Customer Code upper-case (A-Z) characters. Start, stop and checksum characters are
(RM4SCC) automatically generated.
The height (<h>) may vary from 4.22 mm to 5.84 mm. <w> is the width,
including both bar and space. 20 - 24 bars per 25.4 mm are allowed. The
bar width may vary from 0.38 mm to 0.63 mm.
Example:
!F C N 100 100 L 50 12 91 “1234567”
will give a 5 mm high code with 0.60 mm bar width and with 21 bars in
25.4 mm.
92 KIX barcode The same as Royal Mail 4-State code, except that no start, stop or
checksum characters are generated.

101 QR Code, Model 1 Matrix code. Arbitrary binary data, variable length. For further information,
see section 2.6.9 QR Code. Model 1 is included for backward
compatibility reasons. All new applications should use Model 2.
102 QR Code, Model 2 Matrix code. Arbitrary binary data, variable length. For further information,
see section 2.6.9 QR Code. New version of the QR Code. Should be
used in new applications.
121 MaxiCode mode 2 Matrix code developed by UPS (United Parcel Service) which can encode
about 100 characters of data in an area of 28x27 mm. Modes 2 and 3
122 MaxiCode mode 3
are optimized for encoding postal address information. Mode 4 is used for
123 MaxiCode mode 4 encoding arbitrary data. Mode 5 employs enhanced error correction.
124 MaxiCode mode 5
131 Data matrix Matrix code. Arbitrary binary data. A maximum of 3116 numeric, 2335
alphanumeric characters or 1556 bytes binary data can be coded.

30
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.5 Code 128


Code 128 encodes the full ASCII character set, plus four special non-ASCII characters (function
codes) called FNC1, FNC2, FNC3, and FNC4. ASCII control characters and function codes must
be sent to the printer using escape sequences. An escape sequence consists of the characters
"??" followed by a third character.
To print a function code in the barcode send "??1" for FNC1, "??2" for FNC2, and so on. To print
an ASCII control character (ASCII codes below 3210) send "??" followed by the alphabetic
character corresponding to the desired control character. Any upper or lower case character in the
ASCII range 4016 to 7E16 (6410 to 12710) will be recognized.
Example:
"??J" or "??j" is interpreted as the line feed character.

"??[" or "??{" is interpreted as the ESC character (ASCII 27 = 1B16). The sequence "???" yields a
single '?' in the code. Escape sequences that do not fit any of the above alternatives are ignored.
The example below shows the commands to define two barcodes. The FNC2 (Message Append)
function character is included in the first code. The data for the second code is terminated with a
carriage return character. (FNC2 instructs the reader to concatenate the present code with the next
code scanned and transmit the data from both codes in one message.)
Example:
!F C S 400 1000 L 100 2 41 "??2Markem-Imaje"
!F C S 200 1000 L 100 2 41 "Printer??M"

31
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.6 RSS
The RSS, Reduced Space Symbology, family of symbols is used for space-constrained
applications. Currently supported variations include RSS-14, RSS-14 Truncated, RSS Limited and
RSS Expanded. Accompanying 2D Composite Components are not supported. Note that the
settings for width/height ratio of the RSS barcodes will differ between 200 dpi and 300 dpi layouts.

RSS-14
RSS-14 is a linear symbology that supports omni-directional scanning. It encodes full 14-digit
EAN/UCC Item Identification. RSS-14 is dimensioned as 96X wide by 33X high. X equals "X"
dimension or narrow bar width. The check-digit is added by the printer.
Example:
!F C S 200 1000 L 200 4 64 "1541215000015"

RSS-14 Truncated
This variant of RSS is identical to RSS-14 but allows truncation of the height to 13X. The normal
RSS-14 symbol has a height of 33X. X equals "X" dimension or narrow bar width. The check-digit
is added by the printer.
Example:
!F C S 200 1000 L 80 4 64 "1541215000015"

RSS Limited
RSS Limited is a linear symbology that encodes the same data as defined for RSS-14. The
encoding process is though different and limits the values assigned for Indicator digits to 1 or 0.
The result is an RSS code that can be printed very small. RSS Limited is dimensioned as 71X wide
by 10X high. X equals "X" dimension or narrow bar width. X equals "X" dimension or narrow bar
width. The check-digit is added by the printer.
Example:
!F C S 200 1000 L 50 4 67 "1541215000015"

RSS Expanded
RSS Expanded is a variable length, linear symbology that is encoded differently than RSS-14. This
symbology allows up to 74 numeric or 41 alphabetic characters. The FNC1 EAN/UCC Function
Character is also supported by entering “#”. Apart from encoding EAN/UCC Item Identification,
RSS Expanded also encodes all EAN/UCC Application Identifier Element Strings. The width
dimension is variable.
Example:
!F C S 200 1000 L 100 4 68 "1045566#17040301"

32
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.7 MaxiCode
MaxiCode is a two-dimensional symbology, built up by an array of hexagons surrounding a central
recognition pattern (bull’s-eye). Reed-Solomon error correction is used to ensure integrity of the
encoded data.

Structured Carrier Message


The primary message in modes 2 and 3 contains the following formatted data: Ship to Postal
Code, Ship to Country Code ISO 3166 3-digit code, Class of Service.
Example:
!F C S 100 1000 L 1 1 122 "[)>\x1e Message Header
01\x1d96 Transportation Data Format Header
SE41755\x1d Postal Code
752\x1d Country Code
001\x1d Class of Service
1Z12345677\x1d Tracking Number
UPSN\x1d Standard Carrier Alpha Code
1234556\x1d UPS Account Number
089\x1d Julian Day of Collection
1234\x1d Shipment ID Number
1/1\x1d Package n/x
10\x1d Package Weight
Y\x1d Address Validation
GÖTAVERKSGATAN 6\x1d Ship To Street Address
GÖTEBORG\x1d Ship To City
N/A\x1e Ship To State
\x04" End of Transmission
Further information can be retrieved from http://www.maxicode.com/maxicode/MaxicodeGuide.html

Modes
Mode 2 and 3: Structured Carrier Message – The first 20 code words encodes the Structured
Carrier Message. Use mode 2 when the postal code is numeric and mode 3 when the postal code
is alphanumeric.
Example, a mode 2 and mode 3 MaxiCode:
!F C S 100 1000 L 1 1 121 "[)>\x1e01\x1d9641764\x1d752\x1d001\x1e\x04"
!F C S 400 1000 L 1 1 122 "[)>\x1e01\x1d96SE41764\x1d752\x1d001\x1e\x04"

Mode 4: Standard Symbol – The symbol provides 93 6-bit codeword for data encoding.
Example:
!F C S 100 1000 L 1 1 123 "MaxiCode Mode 4"

Mode 5: Enhanced Error Correction – The symbol provides 77 6-bit code words for data encoding.
Example:
!F C S 100 1000 L 1 1 124 "MaxiCode Mode 5"

33
Programmer’s Reference Manual
2. Label Layout Definition Commands

Escape Sequences
Non-writable characters can be sent with the standard Labelpoint escape sequence \x<hh>. If
either ASCII 0A hex or ASCII 0D hex is a part of the data stream, use the \0a or \0d style escape
sequence. Otherwise they are treated as line breaks and removed from the data stream.

Data encoding
The MaxiCode encodes data in six-bit code words. Therefore, in order to encode the full ASCII set,
shift symbols must be used to switch between different character sets. This means that fewer
symbols can be used to encode the real data. This must be considered so that data is not
truncated.
If the data consist of more than nine consecutive numbers, they are compacted into six code
words. This means that for a mode 4 symbol, a maximum of 138 digits can be encoded.

Structured Append
It is possible to connect several MaxiCode symbols in order to encode larger quantities of data
through the use of structured append. To specify that a symbol is part of a structured append, use
the [o] parameter. The first digit specifies the symbol number, and the second digit specifies the
total number of symbols. Maximum eight symbols can be connected.
Example:
!F C S 100 1000 L 1 1 123 12 "MaxiCode Mode 4 Symbol 1 of 2"

34
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.8 Code PDF417


PDF417 is a two-dimensional barcode with built-in security. A PDF417 symbol can contain
arbitrary binary data. The following rules must be followed when entering data for a PDF417 code:
1. Control characters (ASCII 00 - 1F hex and 7F hex) must be sent as escape sequences.
2. The double quote " (ASCII 22 hex) is a terminator for the input data and must be sent as an
escape sequence if it is going to be encoded in the symbol.
3. The back slash \ (ASCII 5C hex) is an escape character and must be sent as an escape
sequence if it is going to be encoded in the symbol.
All other characters can be sent as ordinary data.
Any character can be sent as an escape sequence. An escape sequence consists of the escape
character, followed by a two-digit hexadecimal value. The escape character is \ (ASCII 5C hex).
For example, to encode a CR. (carriage return, ASCII 0D hex) in the code, send the escape
sequence \0D.
The escape character (\) and the double quote (") must be sent as escape sequences if they are
going to be encoded (\5C and \22).
The data to be printed must be enclosed within double quotes ("). The lines of data may be
maximum 256 characters long. A CR. or a CR. LF must be sent to break the lines. (This does not
affect the data in the code, since the line breaks limit the line length.)
To encode the string
Markem-Imaje prints
PDF417
the following command could be sent to the printer:
Example:
!F C N 400 200 L 6 2 61 "Markem-Imaje prints\0DPDF417\0D"

To improve readability when looking at for example program listings, it could also be sent as
follows:
!F C N 400 200 L 6 2 61 "
Markem-Imaje prints\0D
PDF417\0D"

Security Level
PDF417 allows the user to tune the amount of error correction added to the code to suit a specific
application. This is called security level and can be set to a value between 0 and 8. 0 is the lowest
level which provides error detection only, 8 is the highest level. The default in the printer is security
level 4.
The command to set the security level is
!V61 <n>
where <n> is the desired security level.
For example, to set the security level to 6, enter the command
!V61 6

35
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.6.9 QR Code
The QR Code has two main options: correction level and masking pattern. They are set with an
escape sequence in the data string.

Correction Level
The correction level is set with the sequence
\L<x>
where <x> is the desired level:
L High density Level
M Standard Level
Q High Reliability Level
H Ultra High Reliability Level

Masking Pattern
The masking pattern is usually automatically selected, but can be set manually. The escape
sequence is
\M<n>
where <n> is the desired masking pattern 0 – 7 or 8 which means no masking. If omitted, the most
optimal masking pattern is automatically selected.

Other Escape Sequences


For information on how to encode non-printable characters, see section 2.6.8 Code PDF417.
Example:
!F C S 100 1000 L 1 1 102 "\LQ\M3 QR Code – High Reliability, Pattern 3"

36
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.7 Defining a Line/Box Field


A line/box field appears as a black area on the label or as a frame window. Use Syntax II to make
diagonal lines or to render straight lines along either x or y. All dimensions are specified in the
current coordinate unit.
Syntax I !F B <r> <x> <y> <i> <h> <w> [b] [c]
or
!F B <u> <b> <p> <a> <h> <w> [b] [c]

Syntax II !F B D <y0> <x0> <lw> <y1> <x1>

<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in section
2.3 Field Insertion Points.
<u> Defines the direction of printing as the "up" direction of the printed character. One upper-case
character (N, E, S, or W). Since there is no inherent ‘up’ or ‘down’ in a black box this parameter
is just a convenience which allows lines and boxes to be specified the same way text and
barcode fields are specified.
<b> The baseline of the field.
<p> The position of the field.
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> The height of the box or width of the line.
<w> The width of the box or length of the line.
[b] The width of the border of a window frame. If this parameter is omitted or set to 0 a filled (solid)
box will be created.
[c] Optional argument specifying the corner rounding radius. Requires that the <b> argument is
specified.
<y0> Start y-coordinate.
<x0> Start x-coordinate.
<lw> Line width.
<y1> End y-coordinate.
<x1> End x-coordinate.

37
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.8 Defining a Text Box Field


Use a text box field to define an area on the label where text is automatically word wrapped.
Syntax !F A <r> <x> <y> <i> <h> <w> <f> <width> [lines] [just]
[cspace] [indent] "text"
or
!F A <u> <b> <p> <a> <h> <w> <f> <width> [lines] [just] [cspace]
[indent] "text"

<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in
section 2.3 Field Insertion Points.
<u> Defines the direction of printing as the ‘up’ direction of the printed characters. One upper-case
character (N, E, S, or W).
<b> The baseline of the field, in 0,1 mm.
<p> The position, in 0,1 mm.
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> The font height, in points.
<w> The font width in points. To get normal character width, set parameter w to the same value as
parameter h.
<f> The font number, see tables in section 2.5 Defining a Text Field, or the font name enclosed in
double quotes (“).
<width> Maximum total width of the field in current coordinate units.
[lines] Maximum number of lines of text to allow within this box. Default: 1
[just] Justification. One of L eft, C enter, R ight or J ustified. Default: L
[cspace] Extra character spacing in tenths of points. Default: 0
[indent] Hanging indent (in tenths of points) of the second line and onward. Default: 0
“text” Specifies the text to be printed. The text must be enclosed in double quotes ("). Hard line
breaks can be added by escaping CR (\x0D) or LF (\x0A) in the data.

38
Programmer’s Reference Manual
2. Label Layout Definition Commands

The following examples assume configurable coordinate system with dot resolution
(!y22 1):
!F A 0 50 250 TL 10 10 94021 750 5 L 0 130 "This text will be automatically
wrapped within the specified text box field."
A non rotated text box field using left justified 10pts Universe Medium (94021)
in a box that is 750 dots wide and allows a maximum of 5 lines of text. No extra
character space should be used. Lines 2 through 5 should be indented 36 dots.
!F A 180 775 250 BL 12 12 "Tahoma" 700 3 R "%1W
%2W"
A south oriented text box field using downloaded "Tahoma" font right justified
in 12pts size. The field is 700 dots wide and allows up to three lines within
the box. Contents of the field is to be formed by concatenating the contents of
variable 1 and 2 with a delimiting line break.

!F A 180 410 250 DC 16 16 23 820 3 C "This text will be automatically wrapped


within the specified text box field."
A south oriented text box field using centered 16pts emulated Swiss 721 Bold.
The field is 820 dots wide, allows up to three lines of text within the box and
is inserted based on the baseline center of the third (last) line of text.
Character spacing should be set to the defaults and no line should be indented.

2.8.1 Text Box Field Dimensions


The dimensions of the field is specified as maximum width in resolution dependent units (y22) and
maximum height as the maximum number of lines allowed. To specify the height in absolute pixels,
add the suffix px to the height argument.
The height of the box in dots is calculated as (numlines * textheight) + ((numlines - 1) * rowspace).
Text height in dots is calculated as dotsperinch * heightinpoints / 72.

2.8.2 Hyphenation
If a word is wider than the entire line, it is divided by a hyphen in the last position of the row and
continues on the next line. For better control of the hyphenation, the field data can contain soft
hyphens (\u00AD). If a soft hyphen is found within a word that is too wide, it will be replaced with a
visible hyphen and the word will be divided at the position of the last soft hyphen that allows correct
wrapping.

39
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.9 Defining a Circle/Ellipse Field


The same syntax is used for creating a circle and an ellipse field. When specifying different values
for the vertical and horizontal radius an ellipse is created. If the two values are the same a circle is
created.
Syntax !F E <r> <x> <y> <i> <vr> <hr> <sw>
or
!F E <u> <b> <p> <a> <vr> <hr> <sw>

<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in section
2.3 Field Insertion Points.
<u> Defines the direction of printing as the "up" direction of the printed character. One upper-case
character (N, E, S, or W).
<b> The baseline of the field.
<p> The position.
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<vr> Vertical radius.
<hr> Horizontal radius.
<sw> Stroke-width of circle or ellipse.

40
Programmer’s Reference Manual
2. Label Layout Definition Commands

41
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.10 Defining a Graphics Field


A graphics field is linked to a graphics file. The graphics file may be downloaded after the graphics
field has been defined.
Syntax !F G <r> <x> <y> <i> <h> <w> ["name"]
or
!F G <u> <b> <p> <a> <h> <w> ["name"]

The parameters have the following meaning:


<r> Rotation in degrees, any integer in the range 0-359. 0 corresponds to N and 90 corresponds to
E. Specifying the rotation as an integer means that the position is given as x and y instead of
baseline and position.
<x> X coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<y> Y coordinate, given in the selected coordinate system and resolution relative to an origin of
coordinates that may have been specified using y23
<i> Insertion point type. The alignment relative to the position according to the description in section
2.3 Field Insertion Points.
<u> Defines the direction of printing as the "up" direction of the printed character. One upper-case
character (N, E, S, or W).
<b> The baseline of the field.

<p> The position.

<a> The alignment relative to the position. One upper-case character.


L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> Scales the original graphics in one of the following ways:
- Upscales the height in steps 1 – 16.
- Upscales or downscales the height in percent if a percent sign is appended to the
value. The scaled result is cached, so the scaling only affects the rendering time of the
first printout.
<w> Scales the original graphics in one of the following ways:
- Upscales the width in steps 1 – 16.
- Upscales or downscales the width in percent.
[name] The name of the graphics file to be printed. The name, if specified, must be enclosed in double
quotes (") and can also contain variables. If the name is not specified the graphics data will be
supplied inline. See examples below.

42
Programmer’s Reference Manual
2. Label Layout Definition Commands

Graphics data does not have to be downloaded to the printer for single printouts. It can instead be
supplied inline within the actual field:
Syntax !F G 0 500 500 CC 1 1
<file data in IntelHex, IntelBin or Raw Binary>
!F

The absence of a file name means that the printer should expect the graphics data to follow
immediately after in the stream. The graphics data is to be formatted in the same way as when
downloading it to the printer with the !L command. The graphics data is automatically purged from
the cache when the next layout is loaded. Inline graphics is the quickest way to print graphics data
on our current firmware. For information on how to download graphics files, see section 10 Printer
File System.
Examples:
!F G 0 500 500 CC 150% 50% "MARKEM-IMAJE"
This command creates a field linked to the graphics file named MARKEM-IMAJE.G.
File name containing variable information.
!F G N 300 500 C 1 1 "FILE%1V"
If variable 1 is ‘10’, then this command creates a field linked to the graphics
file named FILE10.G.

43
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.11 Variable Information in Text and Barcode Fields


2.11.1 Changing a Single Variable
The command !W<n> "<data>" allows text to be entered into one specific variable. The string
<data> is assigned to the variable specified by <n>. All other variables remain unchanged. If the
variable does not exist, it will be created.
Data can either be sent on several lines or with hexadecimal encoded line breaks embedded in the
data. Variable data has to be enclosed in double quotes in both cases. The maximum supported
amount of data is 2KB and the maximum length of a single line is 512 bytes.
The default behavior for the printers is to decode the variable data, using the code page or
transformation format that is currently selected when the variable data arrives to the printer.
Legacy firmware used the codepage selected for the associating fields to decode the variable data.
The old behavior can be re-enabled by setting parameter 139 to 0.
Examples:
Sending multi line variable data on several lines
!W1 "This will assign
three lines of data
to variable 1."
Sending multi line variable data on a single line
!W1 "This will also assign\x0d\x0athree lines of data\x0d\x0ato variable 1."
Sending variable data using different codepages
!Y35 10
!W1 “This variable will be converted to Unicode using Windows Latin 1”
!Y35 99
!W2 “This variable will be converted to Unicode using UTF-8”
!Y139 0
!W3 “This variable will be converted using its associating field’s codepage”

44
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.11.2 Legacy Variable Management


Lines that are not commands are assumed to be variable information (text). The printer counts the
number of variable text lines received, and each line is assigned to the next variable text. The first
line of text is copied to variable text 1, the next line to text 2, and so on. The printer clears the
variables and resets the count to zero when it receives either the !C or the !R command.
Copies of the last label printed will be printed if the print button is pressed before the next print
command is received. (Clearing the label format or the variable data prevents printing copies.)

Example 1:
!C
!F T N 100 100 L 10 0 94021 "Type: %1V
Serial no. %1C
Date: %D/%N/%y"
!F C N 370 100 L 120 3 1 "%2V"
!F T N 410 100 L 10 0 94023 "PART NO: %2V"
THERMAL PRINTER (BASIC)
123456
!P
THERMAL PRINTER (EXTENDED)
987654
!P

The resulting printout of this example would contain the current date and current value of counter 1
and might look as shown below. Note how the date print is created and the empty line between the
"Type" and "Serial no" lines. Variable 2 is referenced twice, in the barcode and the text below the
code.
First printout: Second printout:

Note: Only the variable information has to be sent for each label once the print format has been
defined.

45
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.11.2 Lock Variable


The command !r locks the variable input as command lines without a command character (old
variable input method). It is then only possible to input variables with the !W command (see
section 2.11.1 Changing a single variable).

The !C and !R commands (see section 2.12 Clear layout and 2.11.3 Clearing variable
information), re-enables the old variable input method.

Examples:
Layout with locked variables and a !W variable input:
!C
!r
!F S S 40 1000 L 10 10 94021 "Variable 1: %1V"
!W1 "OK"
!P

Printout:
Variable 1: OK

Layout with locked variables and a forbidden variable input:


!C
!r
!F S S 40 1000 L 10 10 94021 "Variable 1: %1V"
NOT OK
!P
Printout:
Variable 1:
Since the line "NOT OK" is ignored.

2.11.3 Clearing Variable Information


The command !R deletes all the variable texts from memory. The next non-command line will be
copied to variable text 1, and so on. This command is useful to remove any stray information which
may have been assigned to the variable texts. It also clears the print buffer and so prevents
making copies of the last label printed.

46
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.12 Clear Layout


The command !C clears the print format and variables. This command is used to delete the current
print format before defining a new layout and whenever it is desirable to reset the printer to a
known idle state.
Note: Send the !C command twice when clearing the printer, since any stray characters preceding
the command character may make the command look like a variable text line.

2.13 Print Command


The command !P<n> prints <n> copies of the current label layout. If <n> is omitted or is not a
positive number, the default value is 1.
The counters are updated after each label printed. If the time or date is printed, it is updated for
each label. Copies of the last label can be printed by pressing the print button, until the !R or !C
command is received. Such copies are identical to the last label printed and the date/time and up-
down counters are not updated.

47
Programmer’s Reference Manual
2. Label Layout Definition Commands

2.14 Triggered Printout


2.14.1 Compact, 2300 and Nova
The triggered printout mode requires parameter Printkey Mode to be set to triggered printout.
When it is set, the print key can be used to trig a new printout, updating counters, time and date.
There are two triggered print modes: limited and unlimited. Which mode to use depends on the
print command. If the Print !P command is used, a label or a batch of labels will be printed as
normal, but an unlimited number of new printouts can be made after this by repeatedly pressing
the print key. By using !p<n> no printout will be made until the print key is pressed and only <n>
printouts are possible. After this a new layout must be loaded, or Print !P can be used to enter the
unlimited triggered print mode. Use service commands External trig count and Get remaining
number of triggered printouts to find out how many triggered printouts that have been made or are
remaining, respectively.
The triggered print mode is useful if the printer is used standalone to generate unique printouts,
without having to be connected to a host after the layout is loaded and/or it is important that only a
specific amount of unique labels are printed, but not all at once.

2.14.2 2000 Series


The triggered printout command, !p<n>, does not start a printout, but allows an optional number of
print and apply cycles by activating the MainTrig and/or the PreTrig input signals. Counters, date
and time are updated after each cycle.

!p<n>
If <n> is non-zero, the number of print and apply cycles are limited to <n>.
If <n> is omitted, the number of print and apply cycles are unlimited.
If <n> is zero, no print and apply cycles are allowed. This can be used for canceling a print and
apply session.

Use the service commands External trig count and Get remaining number of triggered printouts to
find out how many triggered printouts that have been made or are remaining, respectively.
To be able to control how the printer behaves when it receives !P, see parameter Y110.

48
Programmer’s Reference Manual
3. Status Request Commands

The status request command is !S<n> where n represents the number of the status request. The
printer responds with a string of 8 digits, followed by a carriage return character. Each digit in the
string is either 0 or 1. The meaning of each digit in the status response is:
0 = Normal value (for error flags) or not available/not executed (for peripherals)
1 = Error value or abnormal condition (for error flags) or connected/executed (for peripherals)
Note: Status request 100 (!S100) differs from the other status requests. !S100 always returns a
string of 32 digits.

3.1 Status Request 1

Memory error
Too many fields
Not used
Ribbon out (TT models only)
No paper in paper sensor
Printer restarted
Label not removed (LTS)
Paper out

Paper Out
The printer has run out of paper. Operator intervention is necessary, as described below.

Label Not Removed (LTS)


The label has not been removed (the LTS is active). The printer cannot continue to print until the
label has been removed.

Printer Restarted
The printer has been restarted since the last status 1 or status 4 requests. This flag is cleared by
the status 1 or status 4 requests.

No Paper in Label Sensor


There is no paper in the printer or there is a label gap in the label sensor. If there is no possibility of
a label gap in the label sensor when the printer stops after a print cycle, this flag can provide
additional security.
This flag is different from the paper out flag, since paper out is only detected during a paper feed or
print cycle. If the printer is switched off and on, paper out is no longer flagged, even if no paper has
been loaded.

49
Programmer’s Reference Manual
3. Status Request Commands

Ribbon Out
The printer has run out of ribbon. Operator intervention is necessary, as described below.

Too Many Fields


The number of fields in a label layout exceeds the maximum number of fields, which is 512.

Memory Error
The heap (dynamic memory pool) is corrupt. This is a serious error which can not be corrected.
The only solution is to switch off the printer and restart the program.

50
Programmer’s Reference Manual
3. Status Request Commands

3. 2 Status Request 2

Layout outside label


Barcode on failing dot
Dot resistance out of range
Last paper movement type
Not used
Overheated
Print incomplete
Stopped on a label gap

Stopped on Label Gap


The last print or paper feed cycle stopped on a label gap, that is, the paper is now synchronized, if
label stock is installed in the printer. If continuous stock is installed this flag will never be set.

Print Incomplete
The last print cycle was interrupted before printing was complete, either because a label gap
occurred or because the printer has run out of paper. This means that some information may be
missing from the printout.

Overheated
The system temperature of the printer is too high to continue normal operation and the printer has
entered a cool down state. This can occur when printing large batches using layouts with a large
amount of blackness and/or the printer is located in an environment with temperature above room
temperature.
If this flag is set, the LED will be flashing with a red light and the internal fan will run at maximum
speed until the temperature has decreased to operational level. Printing will then continue as
normal and no sent information will be lost.

Last Paper Movement Type


The forward paper feed command is executed, that is, a !K command with positive feed length. All
other paper movements will reset the flag (by the print button or on command from the host).
This flag allows the host to detect when the operator has moved the paper by pressing the print
button. It is not safe to issue a reverse paper feed command when the paper is not in a known
position.

51
Programmer’s Reference Manual
3. Status Request Commands

Dot resistance out of range


Dot resistance out of range is set if the Dot check has found at least one damaged dot on the
head.

Barcode on Failing Dot


Barcode on failing dot is set if the printer noticed that a barcode was about to be printed on a failing
dot (as reported by the Dot check), tried to move it to good dots but failed to do so, leaving the
code on one or more failing dots.

Layout Outside Label


This flag can be used to check if any part of the layout is outside the label. See parameter 178 and
179 for further information.

52
Programmer’s Reference Manual
3. Status Request Commands

3.3 Status Request 3

Not used
Label stock
Not used
Print key pressed
Not used
Operating parameters error
Syntax error
Not used

Syntax Error
An invalid 1D/2D code number has been added.

Operating Parameters Error


The printer configuration memory is corrupt. Use Service command !V3200 to reset all parameters
to their default state and then download the appropriate configuration file or use the configuration
menu to setup the printer.

Print key Pressed


The print button is pressed at the moment the status request is issued.

Label Stock
Label stock is loaded. The printer detects the type of paper installed (labels or continuous).

53
Programmer’s Reference Manual
3. Status Request Commands

3.4 Status Request 4 and 5

Not used
Printer restarted
Not used
Print key pressed
Head lifted
Ribbon out (TT models only)
Label not removed (LTS)
Paper out

Status 4 assembles some of the most commonly needed status flags in one command.

Paper Out
Described above.

Label Not Removed (LTS)


Described above.

Ribbon Out
Described above.

Head Lifted
Print head is lifted. Printing cannot continue until the print head has been restored to print position.
Note: This feature requires optional hardware for Compact models.

Print key Pressed


Described above.

Printer Restarted
Described above.

54
Programmer’s Reference Manual
3. Status Request Commands

3.5 Status Request 7

Not used
Not used
Not used
Not used
No layout
Queue heap error
Print queue error
Queue positions free

Status request 7 is a print queue status register specially designed for 2000 Series.
Queue positions free
Set to one if it is possible to load a new layout. Set to zero if there already is a queued layout.

Print queue error


A new layout has been added without noticing that the Queue positions free flag is set to zero.

Queue heap error


There is not enough queue heap memory left in order to store the present slot load. The last added
slot data will therefore be discarded.

No layout
All slots (in both queue one and two) have been printed and applied and the maximum number of
main trigs (signal.parameter.trig.missed) has been reached without any new slot data.

55
Programmer’s Reference Manual
3. Status Request Commands

3.6 Status Request 8

Dot check board installed


Black mark photocell
Cutter installed
I2C-board installed
LTS installed
RFID data written
RFID layout valid
RFID hardware installed

RFID Hardware Installed


The RFID hardware is available.

RFID Layout Valid


The RF tag is initiated.

RFID Data Written


The RFID data transfer is successful.

LTS Installed
LTS is installed.
Note: Only Nova models have this feature.

I2C Board Installed


For Compact models, this flag has two different meanings depending on the version of the power
supply board installed.
Power supply board version 1:
The control board for cutter and LTS (label-taken sensor) is installed and has been initialized.
Power supply board version 2:
The I2C circuit for cutter, LTS, LED and head lifted is functioning and has been initialized.

For Nova models this flag is normally always set. It indicates that the I2C connected board is
working properly. If not, there might be a problem with the I2C bus connection, for example
electrical interference.

56
Programmer’s Reference Manual
3. Status Request Commands

Cutter Installed
1 = The cutter is installed and working. This is verified for each cutting cycle.
0 = The cutter is either not connected or is jammed (cannot get back to home position).
Note: If no I2C board is installed, this flag will never be set.

Black Mark Photocell


The black mark photocell is installed.
Note: Nova models have a media-positioning sensor (MPS), which contain both gap- and
blackmark sensors. This status flag will be set only if black mark is selected.

Dot Check Board Installed


The print-head diagnostics board installed and activated.
Note: Nova models always have this feature as default.

57
Programmer’s Reference Manual
3. Status Request Commands

3.7 Status Request 16


Status request 16 is specially designed for 2000 Series.

Paper low
Error
Warning
Pause
Head lifted
Ribbon end
Ribbon low
Paper out

Paper Low
Described above.

Error
A system error has occurred.

Warning
One or several warnings are active.

Pause
The system is paused.

Head Lifted
The printhead is not in print position.

Ribbon End
No ribbon.

Ribbon Low
Running out of ribbon.

Paper Out
No paper.

58
Programmer’s Reference Manual
3. Status Request Commands

3.8 Status Request 17


Status request 17 is specially designed for 2000 Series.

Not used
Not used
Not used
Not used
Not used
Not used
Not used
Offline

Offline
The system is offline and is not ready for a print and apply cycle.

59
Programmer’s Reference Manual
3. Status Request Commands

3.9 Status Request 100


Status request 100 is specially designed for 2000 Series.
Digit Name Description
0 Overheated The temperature around the power unit is too hot. See status request 2 for
a more detailed description.
1 IO board error One of the PIC processors, on the I/O board, has an erroneous behavior.
2 File system error There is not enough RFS (Remote File System) for rendering the scalable
fonts.
3 Memory error The building of the page, or rendering of a bitmap, failed.
4 Parameter error The machine could not save the parameters. Concerns both the
parameters in the fixed RFS area and the parameters stored in file.
5 No init file The parameter file(s) could not be found in the sys-folder in the RFS
(Remote File System).
6 No air pressure No air pressure.
7 Paper out No paper.
8 Ribbon out No ribbon.
9 Head lifted The printhead is not in print position.
10 Press start Press the Start button in order to reset.
11 No return signal No return sensor signal when expected. The return sensor brings the
applicator arm back to its home position.
12 Arm jammed The arm has not returned to its home position.
13 Arm not home The arm is not in home position when expected.
14 Barcode error The barcode scan failed. The barcode scan did not succeed before the
barcode reader timeout, or a new print and apply cycle was started before
the barcode reader timeout.
15 Label on grid Label on grid when not expected.
16 No label on grid No label on grid when expected.
17 Cover open The ribbon cover is open.
18 Pause The system is paused.
19 Paper low Running out of paper.
20 Ribbon low Running out of ribbon.
21 Barcode warning The barcode scan failed, but the number of no reads before stop is set to
only activate a system warning.
22 ApplyDelay too short The printout is not finished when the apply cycle was supposed to start.
That is, printout finished before the ApplyDelay timeout.
23 Accept date change The date has been updated. This warning has to be acknowledged in order
to update the printed date information.
24 Matchcode error The matchcode function failed. The printed barcode does not match the
scanned barcode.

60
Programmer’s Reference Manual
3. Status Request Commands

25 Barcode quality The barcode quality function failed. The printed barcode is of poor quality.
26 Waiting for trig The machine has received the pre trig and is waiting for the main trig.
Information message when sequence two is enabled.
27 Not used
28 Not used
29 Not used
30 Not used
31 Not used

61
Programmer’s Reference Manual
4. Service Commands

The service commands provide a number of different utilities. The printer responds with a line of
data to a service command.
The command syntax is !V<i>

Note: Some commands take an additional argument after <i>.


Service command (i) Description
9 [m] Software revision level. If parameter m is:
0 or none = the printer responds with a string of the form 1.03
1 = Product revision, major, minor and revision. Example: 1.03.00
2 = Product revision on all included components
3 = Printcore. Example: 5.03.00
4 = Fboot. Example: 6.03.00
10 Printer ID
11 Software date. The printer responds with a string of the form
Feb 19 1999 10:28:20
12 Label count. The printer responds with the total number of labels printed.
13 Available dynamic RAM, in bytes.
16 PROM number. The printer responds with a string of the form L412-0.
///Deprecated! Use !V9 instead
17 [m] Total paper movement. The printer responds with the amount of paper it has
printed. If parameter m is omitted, the printer responds with the total paper
movement, in meters. The following information can also be received depending
on the parameter m value:
1 – Total paper feed in mm.
2 – Total paper feed in inch.
3 – Total paper feed in feet.
19 Available default storage file system memory, in bytes.
20 <hh:mm:ss> Set the time in the printer (24-hour clock). The clock is kept running by a battery
when the printer is switched off.
Example: !V20 14:30:00
21 <yy-mm-dd> Set the date in the printer.
or
Example: !V21 1999-02-22
21 <yyyy-mm-dd>
22 [m] Get date and time. The response is a string in the form
99-02-22 14:30:00
if parameter m is 0 or omitted, and
1999-02-22 14:30:00
otherwise.
23 <m> Get name of bitmap font by logical number. The response is the name of font
number <m>. (///Deprecated! Use !V80 instead)
24 <“name”> Get logo information by name. Quotes must be entered. The string ‘name’ is the
name of a logo stored in printer file system. The response is a string of four
numbers describing the logo (height, width, orientation and number of bytes per
row).

62
Programmer’s Reference Manual
4. Service Commands

25 <m> Get logo information by number. The response is a string of the form:
“logoname” 75 58 0 8, where logoname is the name of the logo and the
numbers are the same as for !V24. For information about other types (macros,
rasterized fonts), see !V48.
26 <”name”’> Get macro content. Displays the contents of a macro. Quotes must be entered.
The string ‘name’ is the name of a macro stored in printer file system.
31 Get length of the last paper movement. The response is in 0,1 mm.
32 <m> Show contents of counter. 0 or none: Get the current state of all counters. 1-10:
Get the current state of a specific counters:
1 = The current value of the counter
2 = The increment value
3 = The width of the counter
4 = The update interval
5 = The number of labels printed with the current counter setting
6 = Tells if the counter is always to be updated, even when it is not referenced in
a field
7 = The lower range limit
8 = The upper range limit
33 Get number of failing dots received from Dot check. The Dot check functionality is
an extra hardware option for Compact models but default for Nova models.
34 <m> Used in combination with service command 33 to get the position of the failing
dot(s). For instance, if service command 33 returns the value 2 then ‘!V34 1’
returns the position of the first failing dot and ‘!V34 2’ the position of the second
failing dot.
39 Gets the remaining number of triggered printouts since last !p<n> was received. If
unlimited printouts is active a ‘*’ is returned. See section 2.14 Triggered printout
for further information.
40 <m> Get the name of bitmap font number, where parameter m is the physical number
of the font, not the logical (mapped) number.
44 Set the sensitivity of the paper sensor. The printer feeds out some paper to
assess the opaqueness of the paper and then sets the sensitivity of the paper
sensor. This command takes an optional argument. If this argument is 1 the
values are automatically saved when the printer is done adjusting.
45 Set default characters spacing for all bitmap fonts.
48 <m> Get information on file number m that resides in the printer file system. The
response is a string of the form t s "file name", where t is the file type, s the file
size and "file name" the name of the file. The file can for example be a macro,
logo or a downloaded font.
61 <s> [r] [c] Set security level for PDF 417. Parameter s is the security level ranging from 0 to
8. Parameter r is number of rows and parameter c is number of columns. If r and
c are omitted (or set to 0), Labelpoint adjusts height and width of the PDF code. If
r is set but c is omitted, then the PDF code will have fixed number of rows, which
means that only the width of the PDF code will grow with increasing number of
characters.
63 Get the printer’s serial number.
66 Get the printer’s article number.

63
Programmer’s Reference Manual
4. Service Commands

74 <m> Print start signal. If m = 1 the printer will send a form-feed character (ASCII 12=
0C16) at the beginning of every print cycle. M = 0, disables this function.
This command allows an external controller to monitor the number of print cycles
without polling the printer.
80 <m> Show Agfa MicroType™ typeface by index <m>. The response is a string in the
form: <typeface number> “<typeface name>“
81 <m> Show TrueType typeface by index <m>. The response is a string in the form:
<typeface number> “<typeface name>“
82 This command checks if the given macro exists in the RFS (Remote File System)
memory.
83 Show PCL typeface by index <m>. The response is a string in the form: <typeface
number> “<typeface name>“
85 This command reloads fonts from the printer.
93 [m] Returns the present value of the different counters for triggered printing. The
counters are stored in the non-volatile printer memory.
0 or none = Returns the default counter value. The default counter is chosen with
the parameter Trig count return value
1 = Returns the total number of trig counts
2 = Returns the total number of successful print and apply cycles
3 = Returns the total number of failed print and apply cycles (the difference
between trig counts and successful print and apply cycles)
99 or <CLEAR> = Clear all counters
The number of successful print & apply cycles (m=2) and the number of failed
print & apply cycles (m=3) are only valid for 2000 Series.
99 Get DHCP (Dynamic Host Configuration Protocol) status:
0 = DHCP is not enabled
1 = DHCP is enabled
100 <a>.<b>.<c>.<d> Set network IP address.
101 Get network IP address. Use service command 108 if DHCP is used.
102 <a>.<b>.<c>.<d> Set network IP mask.
103 Get network IP mask. Use service command 108 if DHCP is used.
104 <”host”> Set network host name.
105 Get network host name.
106 <”m”> Set domain name.
107 Get domain name.
108 [m] Get DHCP info received from DHCP server, if any. Valid values for m are 0, 1, 2
and the following information can be received:
0 – IP address
1 – IP mask
2 – Gateway

64
Programmer’s Reference Manual
4. Service Commands

109 Get MAC address.


110 <a>.<b>.<c>.<d> Set network default gateway.
111 Get network default gateway. Use service command 108 if DHCP is used.
114 Get serial number of RF tag (transponder).
115 Set login script.
116 Get login script.
117 Get active port. Responds with the currently active port. Valid responses are
COM1, COM2 and TCP23.
120 Get the name of the current printer model (for example MP Nova6 TT).
121 Set user month name. Example: !V121 3 "Mars".
122 0 or none = Get all month names
1-12 = Get the name of a specific month
123 Set user weekday name. Example: !V123 1 "Monday"
124 0 or none = Get all weekday names
1-7 = Get the name of a specific weekday
125 <hh:mm> Switch date offset is the time when the date shall be updated. Concerns date and
best-before date in the layout.
126 <hh:mm> Get the switch date offset. If no switch date offset is set the string 00:00 is
returned.
127 <n> Add shift code:
<hour>:<minute> n = Shift code number, 1-24
<"string"> hour = Shift code hour, 00-23
minute = Shift code minute, 00-59
"string" = The shift code string
128 0 or none = Delete all shift codes
1-24 = Delete the n shift code
129 0 or none = Get a list with all shift codes
1-24 = Get the n shift code
130 Emulate the 2000 Series start button.
131 <n> Set the matchcode string. This command is only valid for 2000 Series equipped
<”matchcode”> with a barcode reader. The matchcode function has to be enabled for the barcode
reader.
If matchcode is enabled, then the printed barcode is compared with the
information received from the barcode reader. If the two string differs the machine
will stop and signal: "Matchcode Error".
1 = The matchcode to match
99 = Reset matchcode
”matchcode” = The matchcode string, omitted if n=99.
132 Emulate the 2000 Series pause button.
133 2000 Series barcode quality index will return the quality index of the last seen
barcode if a barcode reader that supports a quality index is used (this feature is
not supported by all barcode readers), and the barcode quality parameter Y1037
is set.

65
Programmer’s Reference Manual
4. Service Commands

4.1 Special Service Commands


The following service commands are ‘silent’ commands and will not respond with CR.
Service command (i) Description
3194 [m] Delete either named macros, graphics or rasterized fonts from the printer file
system.
m=0 Delete all files
m=2 Delete graphic files
m=3 Delete macro files
m=6 Delete font cache index or legacy rasterized fonts
m = 99 Format the printer’s file system
3196 Restart. The printer is restarted from the power-up state. This command can be
used to restart as an alternative to switching the printer off and on manually.
3200 Reset all configuration parameters to their default state.
3201 Disconnect port. Only valid for RTELNET. Shuts down the network connection.
3206 <”string”> The string translation command renders the % sentences in a string to the
corresponding ASCII string. The returned rendered % sentences is identical with
the printed layout strings.
35183 Enter user mode. This command sets default access levels for configuration
parameters if service command 38153 has been used.
38153 Enter setup mode. This command enables modifying those printer configuration
parameters that are protected against accidental modification. Reset to user
mode access level with service command 35183.

66
Programmer’s Reference Manual
4. Service Commands

4.2 Expression Engine Service Commands


Service command (i) Description
5000 [<a>] <b> ”<c>” Set function:
a function number 0-32767. If function number is omitted, the function
or
will be added after the previous added function. Use !V5001 to get a list of the
5000 <a> <b> functions with line numbers.
b Variable number or name. A variable number or name can be entered
with or without surrounding double quotes characters (ASCII 34).
c Function. Must be surrounded with double quotes characters
(ASCII 34) if it contains spaces.
Delete function(s):
a Function number. If the function number is omitted, all functions
will be cleared.
b The general clear service command string: <CLEAR>
5001 <a> Get function.
a function number from 0 to the last used function.
5002 Check functions. Checks all functions, from the first declared function until the last
one. The result from a function operation will be returned. Used counters will not
be modified by this operation.
One of the following error codes is returned if an error is detected:
“E00:Syntax Error” – Impossible to parse a line of code.
“E01:Run-time Error” – An error detected at run-time by the EE.
“E02:Function does not exist” – The referred function does not exist.
“E03:Variable <number/name> does not exist” – The variable <number/name>
does not exist.
“E04:Variable <number/name> is empty” – The variable <number/name> is empty
“E05:Incorrect variable contents” – The variable contents is not in the correct
format
Note: This service command is intended to be use for test during the Expression
Engine function declaration.
5003 Refresh. Runs all declared Expression Engine functions. All date and time
references are updated.
5004 Trig. Run all declared Expression Engine functions. All date, time and counter
references are updated.

67
Programmer’s Reference Manual
4. Service Commands

Examples:
!V5000 1 20 “%1C” Specify function number 1, the result shall be
stored in variable no 20
!V5000 20 “%date()” Specify next function, the result shall be stored
in variable no 20. This function will be assigned
line number 2.

!V5000 1 “Pluto” “%’Goofy’V” Copy the variable “Goofy” contents to variable


“Pluto”
!V5000 10 <CLEAR> Clear function number 10
!V5000 <CLEAR> Clear all declared functions

!V5001 1 Get formula for function number 1


1 100 “%1C”
!V5001 Get a list with all declared functions
1 100 “%1C”
2 101 “%2C”
3 102 “%3C”
10 150 “%date()”
11 151 “%date.weekday(%150V)”
<END>
!V5002 Check all functions. Return value of format:
function number, variable number/name, result
1 100 000005
2 101 E00:Syntax Error
<END>

68
Programmer’s Reference Manual
5. Printer Settings

5.1 Printer Configuration


The printer settings can be set on command from the host computer. The initial settings used at
the power-up are stored in non-volatile memory. Some settings can be changed during operation,
while others always retain their power-up value. Using the commands described below can access
all parameters, but most of the common settings are available via the configuration menu,
accessible through the COM ports, Telnet port or the built-in web server in the printer. See section
7 Configuration Menu.

Get current value: !X<i>

The printer responds with the current value of the parameter <i>, followed by a carriage return
character.

Set value: !Y<i> <n>

The parameter <i> is set to <n>, which must be a decimal number. Not all parameters can be set,
see the table below.

Make changes permanent: !Z

The current settings are written into the non-volatile memory so that they will still be in effect when
the printer has been switched off.

Note: All parameters that do not have the 4 suffix must be made permanent with the !Z command.
The printer must then be switched off and back on (or restarted by command) before the change
becomes active.

69
Programmer’s Reference Manual
5. Printer Settings

Parameter (i) Explanation


24 <n> Print speed (mm/s).
4
3 <n> Barcode speed (mm/s). Can be set to a value lower or equal to the normal print speed in
order to get a higher print quality for matrix codes and vertical (ladder) barcodes.
44 <n> Blank feed speed (mm/s). Can be set to a value higher than the normal print speed.
3,4
5 <n> The print head type is detected during startup.
5
6 Number of dots per mm on the print head. The value should be 8 dots/mm for 203 dpi
heads, or 12 dots/mm for 300 dpi heads.
73,4 <n> Motor steps per mm. This parameter defaults to 24 for Compact and Nova models. Valid
values for n are any positive numbers.
Note: Modify this parameter with caution. An incorrect value will give a distorted printout
and cause labels to stop at the wrong position.
83,4 <n> Print head width, in number of dots.
94 <n> Dot mode. This parameter determines print behavior when two print fields overlap. Valid
values for n are {0, 1} and they are interpreted as follows:
0 = black on black prints white, XOR (default)
1 = black on black prints black, OR
16 <n> Force DT. Only used by TT printer models to be able to use the printer in DT mode, that
is, without ribbon sensing. Valid values for n are {0, 1} and they are interpreted as
follows:
0 = normal mode (default)
1 = forced DT mode
18 The media position sensor (MPS) sensitivity.
0 = Low
1 = Normal
2 = High
3 = Extra high
20 <n> Threshold level for MPS. Valid values for n are {10, 20, …, 250}.
21 <n> Current level for MPS. Valid values for n are {0, 1, …, 15}. Default is 5.
23 <n> Max paper feed length, in 0,1 mm. Valid values for n are {0, …, 9000}. Default is 3000.
24 <n> Dispensing feed, in 0,1 mm. This is the distance the paper is fed after the next label has
reached the print area (for label stock) or after printing is complete (for continuous stock).
It can be set to position the paper for tear-off after printing, or so that pre-cut labels are
properly dispensed. Valid values for n are {0, …, 520}.
254 <n> Baud rate for COM2. Valid values for n are {300, 600, 1 200, 2 400, 4 800, 9 600, 19 200,
38 400, 57 600, 115 200}. Default is 9 600 baud.

3
Protected parameter. Must be unlocked with the !V38153 command first.
4
The printer has to be restarted for the new value to take effect.
5
Read-only parameter

70
Programmer’s Reference Manual
5. Printer Settings

264 <n> Parity check for COM2. Valid values for n are {0, 1, …, 4} and they are interpreted as
follows:
0 = no parity (default)
1 = zero parity (space)
2 = odd parity
3 = even parity
4 = one parity (mark)
274 <n> Number of data bits per character for COM2. Valid values for n are {7, 8}. Default is 8
bits.
284 <n> Number of stop bits for COM2. Valid values for n are {1, 2}. Default is 1 bit.
294 <n> Input buffer size for COM2 in bytes. The input buffer is used to store incoming data when
data arrives faster than it can be processed. Its size is usually not important since
handshaking between the printer and the host ensures that data is not sent faster than
the printer can handle. Valid values for n are {500, 501, …, 10000}. Default is 2000 bytes.
304 <n> Baud rate for COM1. Valid values for n are {300, 600, 1 200, 2 400, 4 800, 9 600, 19 200,
38 400, 57 600, 115 200}. Default is 9 600 baud.
314 <n> Parity check for COM1. Valid values for n are {0, 1, …, 4} and they are interpreted as
follows:
0 = no parity (default)
1 = zero parity (space)
2 = odd parity
3 = even parity
4 = one parity (mark)
324 <n> Number of data bits per character for COM1. Valid values for n are = {7, 8}. Default is 8
bits.
334 <n> Number of stop bits for COM1. Valid values for n are {1, 2}. Default is 1 bit.
344 <n> Input buffer size for COM1, in bytes. The input buffer is used to store incoming data when
data arrives faster than it can be processed. Its size is usually not important since
handshaking between the printer and the host ensures that data is not sent faster than
the printer can handle. Valid values for n are {500, 501, …, 10000}. Default is 2000 bytes.

71
Programmer’s Reference Manual
5. Printer Settings

35 <n> Character set, supported code pages. See Appendix E for tables of different code pages.
The left column is the old numbering system. The right column is the new numbering
system that corresponds to the standard code page numbers.
A code page may be set individually for each text field. This means that one field can be
using a Cyrillic code page, while another field is using a Latin 1 code page. Note that the
8 bit Unicode transformation format (UTF-8) can be used instead by setting this
parameter to 99.
1 850 CP 850, MS-DOS Latin 1
2 Swedish/Finnish (7-bit code page)
3 German (7-bit code page)
4 UK (7-bit code page)
5 French (7-bit code page)
6 Norwegian / Danish (7-bit code page)
7 Spanish (7-bit code page)
8 Italian (7-bit code page)
9 861 CP 861, MS-DOS Icelandic
10 1252 CP 1252, Windows Latin 1 (ANSI)
11 CP HP Roman-8
12 852 CP 852, MS-DOS Latin 2
13 1250 CP 1250, Windows Latin 2 (Central Europe)
14 855 CP 855, MS-DOS Cyrillic
15 1251 CP 1251, Windows Cyrillic (Slavic)
16 1253 CP 1253, Windows Greek
17 1254 CP 1254, Windows Latin 5 (Turkish)
18 1257 CP 1257, Windows Latin 6 (Baltic Rim)
21 8591 ISO 8859-1 (subset of CP 1252)
22 8592 ISO 8859-2
99 UTF-8
36 <n> Decimal ASCII code of the command character. Valid values for n are all decimal ASCII
code numbers. Default is 33 (‘!’).
39 <n> LTS enable. Normally, when a LTS is installed, the printer will check that the label has
been removed between printouts. This parameter can be used to disable that check but
still keep the LTS installed. Valid values for n are {0,1} and they are interpreted as
follows:
0 = LTS disabled
1 = LTS enabled (default)
40 <n> Minimum length of paper to be fed during a print cycle, in 0,1 mm. With label stock paper,
sensing is disabled until the specified amount of paper has been fed. Valid values for n
are all positive values. Default is 0.
42 <n> Printing of barcode interpretation. Can be turned on or off for each barcode defined. Valid
values for n are {0, 1,2} and they are interpreted as follows:
0 = barcode interpretation not printed
1 = barcode interpretation printed below code (default)
2 = barcode interpretation printed above code

72
Programmer’s Reference Manual
5. Printer Settings

44 <n> Alternate end-of-line (EOL) character. This parameter must be set before CR as end-of-
line can be disabled. See parameter 45. Valid values for n are all decimal ASCII values.
456 <n> Disable CR as end-of-line. Only valid when an alternate end-of-line characters is
enabled. See parameter 44. Valid values for n are {0,1} and they are interpreted as
follows:
0 = CR enabled (default)
1 = CR disabled
463 <n> Paper strobe time, in µs. The amount of blackness from a given strobe time depends on
paper type used. For most applications, however, the recommended value is 510µs for
Compact models and 350µs for Nova models.
50 <n> Silent mode. This parameter controls the printer’s reply behavior concerning file transfers
and silent service commands. Valid values are {0,1, 2} and they are interpreted as
follows:
0 = printer will respond using ack/nak for each line during file transfers
1 = printer will not respond during file transfers (default)
2 = printer will neither respond during file transfers nor when service commands with no
reply data are invoked
54 Set ribbon low limit. Valid values are 30-70 meters.
555 Get type of applicator.
0 = None
3 = Blow/Wipe/Tamp L/Tamp S
60 Set barcode displacement. Set a global value for the distance in dots the printer is
allowed to move a barcode to the west or east, if it is about to be rendered on a dot that
the Dot check has determined to be failing. Since the movement is in either direction,
only positive values are accepted.
Note: to set values in dots differs from most other settings that accept values in mm/10.
66 <n> Enable application. When Application Center is used, this parameter must be set for the
application to start. Valid values for n are {0, 1} where 0 is disable and 1 enable. Default
is disabled.
67 <n> Printkey mode. This parameter is used to disable or change the functionality of the
printkey. Normally, a copy of last printout is made. This can be disabled to make sure
that no copy can be made of a unique printout, that is a ticket of some kind. It is also
possible to trig a new printout, which corresponds to sending the command ‘!P’. This can
also be accomplished when using a LTS. See parameter 93 for further information. Valid
values for n are {0, 1, 2} and they are interpreted as follows:
0 = Copy of last printout (default)
1 = Printkey disabled
2 = Triggered print
68 <n> Horizontal print position adjustment, in 0,1 mm. Shifts the print picture east (positive
values) or west (negative values). Valid values for n are all integer values. Default is 0.
69 <n> Vertical print position adjustment, in 0,1 mm. Shifts the print picture north (positive
values) or south (negative values). Valid values for n are all integer values. Default is 0.

6
RAM parameter. Not stored in non-volatile memory.

73
Programmer’s Reference Manual
5. Printer Settings

72 <n> Font mapping of bitmap fonts. Maps a physical font number (the ordinal number of the
bitmap font in memory) to a logical font number used when printing.
...
The physical font number is the parameter number minus 70. For example, !Y75 3
79 <n>
maps physical font 5 (the 19-dot font) to logical font number 3. The physical font 1 is
always logical font 1.
Physical font Font name
(1 7x9-dot bold)
2 hv18r
3 15-dot bold
4 9-dot
5 19-dot bold x 18
6 hc42c
7 g19 x 12
This option was used in MkII printers to emulate different font sets in Mk1 printers.
///Bitmap fonts are deprecated, but kept for backward compatibility!
89 <n> Allow command character anywhere on the line. Valid values for n are {0, 1} and they are
interpreted as follows:
0 = Command character must be first on the line (default)
1 = Command character can be anywhere on the line
92 <n> Stacked printers mode (daisy chaining). Used when sending commands to a specific
printer in a daisy chain. This requires the receiving COM port to be set to ‘Printer’ mode
and the transferring COM port to ‘Stacked printer’ mode. See parameter 150 and 152.
Valid values for n are {0, 1, …, 65535} where n is the printer to be referenced.
See section Communication modes for further information.
93 <n> LTS auto repeat. If enabled, a new copy will be printed when current label is removed,
that is, the LTS will have the same functionality as the default behavior of the print key. It
is also possible to print a new printout when the label is removed, that is, the LTS will
have the same functionality as when sending the command ‘!P’. Valid values for n are {0,
1, 2} and they are interpreted as follows:
0 = auto repeat disabled (default)
1 = auto repeat enabled (copy of previous printout)
2 = auto repeat enabled (new printout)
Note that parameter 39 must be enabled for the LTS to work at all.
100 <n> Reverse paper feed, in 0,1 mm. When set, the printer reverse feeds the paper the
specified distance before printing. This is used for layouts starting at the very start of the
label, when parameter 24 is set to position the paper for tear-off. Valid values for n are all
positive numbers. Default is 0.
101 <n> Set the inter-character space for bitmap font number. Each bitmap font has an individual
inter-character spacing that may be changed in order to compress or expand the text.
...
///Bitmap fonts are deprecated, but kept for backward compatibility!
109 <n>

74
Programmer’s Reference Manual
5. Printer Settings

110 <n> Sets the print behavior for 2000 Series.


0 = !P is treated like !p1; the printer will become trig enabled and accept a single trig
before going offline.
1 = !P starts a printout
2 = the double queue with pre rendering is activated. Using this setting in combination
with sequence 2 and software pre trig (!Y1084 1) makes the printer treat !P like a pre trig
signal.
111 <n> Force heap graphics makes the printer transfer all downloaded graphics to its memory
heap instead of storing it in the file system. This can improve printing speed for printers
that are used in legacy integration systems that can not be updated to use the new
graphics features.
0 = disabled, the printer will store the downloaded graphics in the file system
1 = enabled, the downloaded graphics will be transferred into the heap
132<n> Enable mapping of barcode information. Normally barcode information is not mapped
since it is not considered to be readable text but rather binary information. Valid values
for n are {0,1} and they are interpreted as follows:
0 = barcode mapping disabled (default)
1 = barcode mapping enabled
133 The number of labels to be missing before the printer stops and signals paper out. The
value range is 0 to 10 but the total length cannot exceed the maximum feed. Default is 0.
1344 <n> Enable recover page. If a printout is interrupted by media end or ribbon end and then
media or ribbon is replaced, a copy of the last printout can be printed in order to make
sure that the whole previous printout is printed. Valid values for n are {0, 1} and they are
interpreted as follows:
0 = recover page disabled
1 = recover page enabled (default)
136 <n> PDF code security level. Valid values for n are {0, 1, …, 8}. Default is 4. This can also be
set with the service command !V61.
137 <n> PDF417 max number of columns. Valid values for n are all positive numbers. Default is 0,
which is interpreted as no limit. This can also be set with the service command !V61.
138 <n> PDF417 max number of rows. Valid values for n are all positive numbers. Default is 0,
which is interpreted as no limit. This can also be set with the service command !V61.
139 The setting decode variables on reception controls when the printer should convert
incoming variable data from a given codepage to Unicode. The default value 1 means
that variables are decoded using the codepage in which they are being transferred, while
0 is a behavior where variable data is not decoded until they are being tied to a field in
the layout, in which case the field’s codepage is being used for the conversion.
0 = decode variable data using the codepage of it’s parent field(s)
1 = decode variable data on reception using the currently selected codepage at that time
(default)
1454 <n> Timeout value for Telnet connections, in seconds. Valid values for n are
{0, 1, …, 7200}. Default is 0, which is interpreted as no timeout.
146 <n> Line spacing, in percent of total font height. This parameter sets the distance between
the lines in a text field containing a CR. Valid values for n are {0, 1, …, 999}, where 0 is
the default value and interpreted by the printer as 100%.

75
Programmer’s Reference Manual
5. Printer Settings

147 <n> The label taken sensor (LTS) delay is some extra time after the sensor has been
activated, until the printer signals the new sensor value. The extra delay can be used in
order to ease the label tear-off. Valid values for n are {0, 1, …, 10000} where 0 is the
default value.
1504 <n> Communication mode for COM1. Valid values for n are {0, 1, 2} and they are interpreted
as follows:
0 = Print mode (Labelpoint, default)
1 = Terminal server mode
2 = Terminal client mode
3 = RF-ID mode
4 = Stacked printers mode (daisy chaining)
1514 <n> TCP port for COM1. Valid when communication mode is set to terminal server mode.
See parameter 150.
1524 <n> Communication mode for COM2. Valid values for n are {0, 1, 2} and they are interpreted
as follows:
0 = Print mode (Labelpoint, default)
1 = Terminal server mode
2 = Terminal client mode
3 = RF-ID mode
4 = Stacked printers mode (daisy chaining)
1534 <n> TCP port for COM2. Valid when communication mode is set to terminal server mode.
See parameter 152.
156 <n> Flow control for COM1. Valid values for n are {0, 1, …, 4} and they are interpreted as
follows:
0 = both rts/cts and xon/xoff (default)
1 = rts/cts
2 = xon/xoff
3 = none
4 = disabled
157 <n> Flow control for COM2. Valid values for n are {0, 1, …, 4} and they are interpreted as
follows:
0 = both rts/cts and xon/xoff (default)
1 = rts/cts
2 = xon/xoff
3 = none
4 = disabled
1626 <n> Reverse video mode for text fields. Valid values for n are {0, 1} and they are interpreted
as follows:
0 = reverse video mode off
1 = reverse video mode on

76
Programmer’s Reference Manual
5. Printer Settings

167 <n> Media position sensor (MPS). The MPS can operate in three different modes, which may
be changed depending on how and where label gaps are positioned. The different modes
are realized by selecting the inner, outer or black mark sensor.
Compact: Valid values for n are {0, 1, 2, 3}
Nova: Valid values for n are {0, 1, 2, 3}
2000 Series: Valid value for n is {0}
2300: Valid values for n are {0, 2}
The values are interpreted as follows:
0 = outer gap sensor (default)
1 = inner gap sensor
2 = black mark sensor
3 = inverted black mark sensor
1684 <n> Historic control mode. When enabled, historic strobes will be calculated during printout.
Valid values for n are {0, 1} and they are interpreted as follows:
0 = historic control off
1 = historic control on (default)
Note: This option is not available for older Compact models with the old CPU board (the
ones without USB port)
Note: Historic control is always enabled for 2000 Series, because its printhead has built-
in historic compensation.
170 <n> Sensor detect. This parameter is only used by Compact models to decide when and if an
automatic detection of current media position sensor (MPS) should be made. Valid
values for n are {0, 1, 2} and they are interpreted as follows:
0 = Auto detect sensor at startup (default when upgrading firmware)
1 = Auto detect sensor at auto adjust (default in future releases)
2 = Manual
If the manual mode is selected then parameter 167 is used to select sensor type.
174 <n> Print density is a percentage of the nominal strobe value. The amount of blackness from
a given strobe time depends on paper type used. See also parameter 175. Valid values
for n are {50, 55, …, 150}. Default is 100.
175 <n> Historic compensation. When printing at high speed, problems may arise with "bleeding"
characters or diffuse edges. This effect is caused by the print head dots, which do not
have time to cool down, and can be reduced by increase Historic compensation. The
amount of heat (strobe time) will then be adjusted at each step, thereby improving print
quality. See also parameter 174. Valid values for n are {20, 25, …, 150}. Default is 100.
176 <n> The strobe boost parameter is enabled in order to give the print head some extra power,
needed by certain resin thermal transfer ribbons. The strobe boost parameter shall be
used with caution, adjustment of the two 2000 Series strobe parameters 174 and 175 are
usually enough in order to get a perfect printout. Valid values for n are {0, 1} and they are
interpreted as follows:
0 = strobe boost disabled
1 = strobe boost enabled
178 <n> Maximum label width, in 0,1 mm. This parameter is used in combination with status
register 2 (bit 7, layout outside label) to check if a layout is outside the label (default) or, if
this parameter is set, outside the user defined width. This feature is useful to verify that a
printout is within a certain area of the label. Valid values for n are {0, 1, … , 1040}.
Default is 0.
Note: Parameter 179 must also be specified in order to activate the check.

77
Programmer’s Reference Manual
5. Printer Settings

179 <n> Maximum label height, in 0,1 mm. This parameter is used in combination with status
register 2 (bit 7, layout outside label) to check if a layout is outside the label (default) or, if
this parameter is set, outside the user defined height. This feature is useful to verify that
a printout is within a certain area of the label. Valid values for n are {0, 1, …, 65535}.
Default is 0.
Note: Parameter 178 must also be specified in order to activate the check.
5
180 <n> RAW data port number. A user defined port number can be specified to be able to send
RAW TCP data to the printer. Valid values for n are {1024, 1025, …, 65535}. Default is
9100.
183 <n> Sets the default return value for the service command External trig count. Valid values for
n are {0, 1, 2} and they are interpreted as follows:
0 = number of trig counts
1 = number of successful print and apply cycles
2 = number of failed print and apply cycles
184 <n> If the triggered print end value is set to a value > 0 and "!p" (unlimited triggered print) is
used, then triggered printing is disabled when the triggered print end value is equal with
the number of valid print and apply cycles (see service command External trig count).
Both the total number of successful print & apply cycles and the triggered print end value
are stored and remains after the printer has been restarted.
If this parameter is set to 0, then triggered printing will have a normal (old) behavior.
Valid values for n are all positive integers. Default value is 0.
Note: Only valid for 2000 Series.
It is not possible to use unlimited number of printouts ("!p"), if the triggered print end
value is set and is >= the total number of successful print and apply cycles.
185 <n> Best-before date update day. Specifies what day in the month to update the best-before
date. Valid values for n are {0, 1, …, 31} and specifies what day in the month to do the
update. Default is 0, which will update the best-before date every day. It is not
recommended to use a value of n > 28 for obvious reasons. See Best-before date for
further information.
186 <n> Best-before date truncation day. Specifies what day in the month to truncate the best-
before date to the first of next month. Valid values for n are {0, 1, …, 31} and specifies
what day in the month to truncate the date. Default is 0, which means no truncation. See
Best-before date for further information.
187 MkII emulation mode. This parameter has been added in order to keep the backward
compatibility with the MkII printers. The goal is to generate a printout, which is identical
with the one from a MkII printer. Functions affected by this parameter is, for example:
- The ITF14 barcode
- Expansion of the barcode text
- Alignment of the barcode text
- Clipping of west- and east oriented fields
Valid values for n are {0, 1, 2} and they are interpreted as follows:
0 = normal mode
1 = MkII mode
190 Rotated rendering in degrees.

78
Programmer’s Reference Manual
5. Printer Settings

Note: Settings are read from memory at power-up. For settings to become permanent, that is
effective after the printer has been switched off, use the !Z command after a change.

Consider the following example where the following sequence will set 12 mm dispensing feed
length, Windows Latin 1 character set, 19200 baud and make these settings permanent:

Note: The printer must be restarted for the baud rate change to become valid. The other
parameters are changed immediately

Example:
!Y24 120
!Y35 1252
!Y30 19200
!Z

79
Programmer’s Reference Manual
6. Dot Check

The purpose of the Dot check functionality is to continuously scan through the print head to find out
if any dots are failing. The scanning process is active as soon as the printer becomes idle. Use
service command 33 to find out if any failing dots are found and use service command 34 to find
out at what position the failing dots were found.

6.1 Barcode Displacement


Failing dots may be seen in printouts as thin white stripes. It is important to keep track of the failing
dots, since the white stripes can coincide with the black fields of north- and south oriented barcode
fields and therefore making them unreadable. To avoid unreadable barcodes due to failing dots
Labelpoint supplies a possibility to move the north- and south oriented barcode fields in east- and
west directions until the white stripes coincide with the white parts of the barcode, if possible. The
more failing dots the less chance to succeed.
The barcode displacement functionality is activated by using the optional parameter when
specifying a barcode field in the layout. The optional parameter specifies the maximum allowed
east-west displacement of the barcode, in the current coordinate unit. In the following example a
EAN13 barcode is defined with a maximum displacement of +/-3mm. The default coordinate unit
mm/10 is assumed.
Example:
!F C N 300 250 L 100 2 32 30 "123456789012"

See section 2.6 Defining a Barcode Field for further information about the barcode field syntax.
To set a global displacement value for the Dot check function, see parameter 60. Note that if a
global value is set and the optional Dot check parameter is set in the field, the field’s displacement
value overrides the global setting.
Note: The Dot check functionality requires extra hardware for Compact models but is mounted as
default on Nova and 2000 series.

80
Programmer’s Reference Manual
7. Configuration Menu

An easy-to-use configuration menu can be used to access most of the common settings. There are
three ways to access it, a text version can be accessed through the serial or network port and a
HTML version can be accessed through the built-in web server.

7.1 HTML Version


Before accessing the web server in the printer, all network information in the printer must be set.
The web server listens on port 80, which is default for all HTTP traffic. To access it from a
computer connected to the same network as the printer, start a common web browser and enter
the printer’s IP address in the address bar of the browser. A configuration menu with most of the
common parameters will be shown.

Note: The first time apply is pressed a prompt for password appears. The default password is
empty so just press OK to make changes permanent. To set a password use the functionality in
the Miscellaneous menu or use service command 3209.

7.2 Text Version


This menu is accessible via the COM ports by using a simple terminal program (for example
Hyperterminal). It is also possible to access the menu by connecting to the Telnet port, but this
requires that all network information in the printer is set. When connected, simply type ‘!A’ to
access the menu. A configuration menu with most of the common parameters will be shown.

7.3 ASCII User Interface


7.3.1 Introduction
The Markem-Imaje thermal printers has an internal VT100 configuration menu for printer
parameters and settings. VT100 is a video terminal standard developed by Digital Equipment
Corporation (DEC) in the late 70:s. The terminal standard uses the ASCII character set and escape
control sequences in order to communicate with a host over a serial line. Many terminal emulators
and communication programs supports the VT100 terminal standard, for example: Tera Term and
Microsoft HyperTerminal.

7.3.2 Command Keys

Function Key(s) Description

Enter menu Enter Enter the selected menu.

Next item Down arrow key or Enter Move the cursor to the next menu item.

Previous item Up arrow key Move the cursor to the previous menu item

Next setting Right arrow key Move to the next setting for a menu item.

Previous setting Left arrow key Move to the previous setting for a menu item.

Execute A dialog box, with a Yes / No question appears. Only available


Enter
command for dialog commands (marked with "...").

81
Programmer’s Reference Manual
7. Configuration Menu

Yes y or Y Answer on a dialog box.

No n or N Answer on a dialog box.

Leave present menu and enter the previous one. The VT100
Previous menu Esc menu system is closed if the root menu is selected when the
Esc key is pressed.

Leave present menu and enter the previous one, changed


Previous menu
Ctrl+O items will be stored. The VT100 menu system is closed if the
and save
root menu is selected when Ctrl+O is pressed.

Leave present menu and enter the previous one, changed


Previous menu
Ctrl+C items will not be stored. The VT100 menu system is closed if
without save
the root menu is selected when Ctrl+C is pressed.

Save and exit Ctrl+S Save settings an exit the VT100 menu system.

Exit Ctrl+X Exit the VT100 menu system.

82
Programmer’s Reference Manual
8. Document Commands

The document commands are a set of commands to control how the document is printed. In order
to support multiple hosts and to optimize the printing process, Labelpoint II has two document
commands. They are used to encapsulate print jobs, that is, a number of label print-outs.
The Compact printer may be equipped with a cutter. The cutter is automatically detected and
normally no manual commands are needed, but for some situations there are commands to further
control the cutter.

8.1 Document Start


!D D S

8.2 Document End


!D D E
The document commands enables Labelpoint to optimize the print process. If, for example,
automatic reverse feed is used, Labelpoint only reverse feeds the first layout in the print job. This
can save a lot of time when printing large batches.
Note: The dispensing feed and reverse feed must be set before the document start command is
sent.

Example
!Y24 60 // dispensing feed
!Y100 60 // reverse feed
!D D S // document start
!C // clear layout
!F T N 100 100 L 15 0 92501 “%1V print-out”
!R // clear variables
First
!P // print
!R
Second
!P
!R
Third
!P
!D D E // document end

83
Programmer’s Reference Manual
8. Document Commands

8.3 Cutter Mode


When the printer is switched on, the cutter operates in automatic mode, that is, after each print-out
a cut is executed. The automatic mode can be turned off by the command:
!D T M
To turn automatic cutting on again, send the command:
!D T A
Note: Cutter mode is not available for 2000 Series.

8.4 Cutting Command


To execute a cut when in manual cutting mode, send the command:
!D T T
(For backwards compatibility with MkII printers, the old cut command, !T, can be used.)
Note: Cutting command is not available for 2000 Series.

8.5 Label-taken Sensor (LTS)


When the optional LTS is installed it is active by default, that is, after each print-out the printer
waits for the label to be taken before it continues with the next print-out. The LTS can be turned off
by the command:
!D L 0
To turn the LTS on again, send the command:
!D L 1
Note: Label-taken sensor is not available for 2000 Series.

84
Programmer’s Reference Manual
9. Printer Connection

The printer can be connected either as a local printer or as a network printer.

9.1 Local Printer


When connected locally (with a serial or a parallel cable), the printer can be operated either
through a Windows printer driver or directly.
When operated directly, there is a tool, MP Communication API (ComAPI) available from Markem-
Imaje to make the communication with the printer more straightforward. It contains high-level calls
such as SendLayout(), SendVariable() and PrintLabel().

9.2 Network Printer


To be able to use the printer in a network an IP address must be specified. This can be done with
the internal configuration menu or by using service commands. When an IP address is set it is
possible to use different protocols by connecting to the corresponding logical port. The following
protocols are supported:

 TELNET port 23
 FTP port 21
 HTTP port 80
 LPD port 515 (queue name: mp)
 RAW TCP default port 9100 (user defined)

85
Programmer’s Reference Manual
10. Printer File System

This section describes how to store macros, graphics and fonts in the printer file system.

10.1 Configurable Storage Path


Every printer has approximately 450kB of usable RAM file system (RFS) and 2MB of Flash
memory. In addition to this it is possible to connect a Compact Flash reader that can carry two CF
cards up to 2GB each. Data that is downloaded to the printer, without having a specific destination,
is stored in the printer's RFS. This may cause problems due to lack of storage space in situations
where external integration systems send large amounts of data to the printer.
The solution is to set a default storage path. In every Labelpoint command that initiates a file
download the sender specifies the name of the downloaded file. Usually this is nothing more than
the name, indicating that the file should be stored in the default storage path. Historically the
default storage path has been the RFS and nothing but the RFS, but that has changed in recent
firmware.
Parameter !Y1094 controls the default storage path and makes it possible to direct downloaded
data to a specific path. The table below lists the different storage locations with their corresponding
paths.

!Y1094 <n> Storage Path

0 RFS /

1 Flash /dev/flash0/

2 Compact Flash Slot 0 /dev/cf0/

3 Compact Flash Slot 1 /dev/cf1/

Note: Changing the storage path automatically affects the available storage space that is reported
by service command 19 and the web server's system info page.

86
Programmer’s Reference Manual
10. Printer File System

10.2 Macros
Commands and variable texts sent to the printer can be stored in the printer's file system and
retrieved on command. Such a sequence of data is called a macro and is equivalent to the same
commands received from the computer. Macros provide a convenient shorthand for long command
sequences, for example complex label layouts.
Macros can be loaded, deleted, and executed on command.

10.2.1 Loading a Macro


The command to load a macro is:
!L M "<name>"
where <name> is the name to be assigned to the macro. The name can be any sequence of
printable characters (except the " character), up to 24 characters, and must be enclosed in double
quotes. If a macro with the same name already exists in the internal memory it will be deleted and
the new macro loaded in its place. Case is not significant in macro names.
The macro load command should be followed by the macro text. Loading is terminated by the
terminate command:
!L
The !L command will terminate the macro load. If no macro is being loaded this command is
ignored.

10.2.2 Deleting a Macro


To delete a macro, send the macro load command followed by the terminate command:
!L M “<name>“
!L

10.2.3 Executing a Macro


The command for executing a macro is
!M "<name>"
where <name> is the name of the macro to be executed. If the macro <name> does not exist, this
command is ignored.
Any command can be included in a macro, except the macro execute command (nested macros
are not allowed).

10.2.4 Auto Macro


If a macro with the name AUTO or auto is present in the file system, it will be executed when the
printer is switched on.

87
Programmer’s Reference Manual
10. Printer File System

10.3 Graphics
Graphics can be loaded into the printer’s file system. The procedure is similar to that for loading
macros. Graphics data can be transmitted in either Intel Hex, Intel Bin or raw binary format. For
further information about Intel Hex, see Appendix A.
The graphics consists of the graphics header and graphics information. For a description of the
graphics header, see Appendix B.

10.3.1 Loading a Graphics File


The command for loading a graphics file is:
!L G “<name>“ [t]
<name> is the name to be assigned to the graphics file, up to 255 characters. This command is
followed by the graphics data, including the header, in Intel Hex format.
[t] can be either H or F. If omitted, F is assumed:
H = The graphics data is transferred directly into the printers heap instead of being stored to the
file system. This is more efficient, but requires that graphics are downloaded again if the printer is
restarted.
F = The graphics data is stored in a .G file in the printers file system.
The loading is terminated by the command:
!L
10.3.2 Deleting a Graphics File
To delete a graphics file, send the graphics load command followed by the terminate command:
!L G “<name>“
!L

88
Programmer’s Reference Manual
10. Printer File System

10.4 Fonts
Both TrueType and PCL fonts can be sent to the printer. They are stored in the printer file system
and can be used in text fields on demand. Since font files usually are larger than a typical macro or
graphics file, it is important to select an appropriate storage location.
It is important to make sure that you have licenses for the fonts you want to use.

10.4.1 Downloading a Font File


The command to download a font file is:
!L F "[optional path to storage/]<”font name”>.<extension>" [font size in bytes]
This command is followed by the font file's contents in any of the IntelHex, IntelBin or raw binary
encodings.
The possible storage locations are:

Path Location Maximum file size

/dev/cf0/fonts Compact Flash memory in slot 0 Depends the capacity on the inserted CF card

/dev/cf1/fonts Compact Flash memory in slot 1 Depends the capacity on the inserted CF card

/dev/flash0/fonts The printer's internal Flash memory Approximately 2MB

/fonts The printer's RAM file system 450kB

Extension Font type

ttf TrueType

fnt PCL

The downloading is terminated by the command:


!L
If no download is in progress this command is ignored. If a font size has been specified in the
download command, the printer will verify that the received number of decoded bytes matches the
specified number. If this is not the case, the font file will be deleted by the printer. Specifying 0 or
omitting the size value causes the printer to skip this test. This might be necessary when a
translator is translating a different font format and do not know how many bytes that are to be
transferred when the download starts.
Restarting the printer after downloading a font is not necessary. The printer automatically reloads
it's internal font indexes if a font has been successfully downloaded when the terminate command
arrives.
Note: It is possible to download fonts to the printer using FTP, but that requires the printer to be
restarted to be able to use the new fonts.

89
Programmer’s Reference Manual
10. Printer File System

10.4.2 Deleting a Font File


To delete a font file, send the font download command followed by the terminate command:
!L F "[optional path to storage/]<”font name”>.<extension>"
!L

Example:
Download a font to the first Compact Flash card
!L F "/dev/cf0/fonts/ARIAL.TTF" 367112
:intel hex encoded font data goes here
!L
Use the font in a text field
!F 0 450 200 CC 18 18 "ARIAL" "This is a font sample using The font Arial"
Delete the font from the printer
!L F "/dev/cf0/fonts/ARIAL.TTF"
!L

90
Programmer’s Reference Manual
11. Miscellaneous Commands

11.1 Counters
There are ten counters available for consecutive numbering. They are numbered 1, 2, ..., 10. Each
counter is completely and independently programmable. The capacity is 9 digits (up to 999 999
999). Any of the counters may be printed as text or barcode, or both, and more than one counter
may be printed on the same label.

11.1.1 Initializing Counters


The command to initialize a counter is:
!N<counter number> <init value> [increment value] [width] [update interval] [always
update] [lower range limit] [upper range limit]

Argument Description
<counter number> The number by which this counter is referenced (1 - 10).
<init value> Initial count value. Default=0.
[increment value] Increment value (negative for counting down) to be added to the count when updating
the counter. Default=1.
[width] Width, that is, number of digits to be printed (1 - 9). Leading zeros are added if the
count value has less than <width> digits. If the count value has more than <width>
digits the excess digits are discarded. If <width> = 0 the value of the counter is printed
without leading zeroes, up to 9 digits. Default=0.
[update interval] Update interval, that is, the number of labels to print before the counter is updated.
Default=1.
[always update] Tells if the counter is always to be updated after a printout, even when it was not
referenced in a field. Default=0.
0 = The counter is only updated if it was referenced in a printed field
1 = The counter is always updated.
[lower range limit] The counter range functionality is a feature that enables the User to set a range for
each counter. This is the lower range limit. Default=0. Has to be a non-negative value,
otherwise the command will not be accepted.
[upper range limit] The counter range functionality is a feature that enables the User to set a range for
each counter. This is the upper range limit. Default=0. Has to be a non-negative value,
otherwise the command will not be accepted.

Defining a counter only defines its initial state. All counters retain their value when the printer is
switched off and will continue where they left off when the printer is again switched on and printing
resumed.

91
Programmer’s Reference Manual
11. Miscellaneous Commands

Example:
The example below defines counter no. 1 to count 4 digits, starting at 500 and increment by 30
every two labels printed:
!N1 500 30 4 2
The count cycle will be: 0500, 0500, 0530, 0530, ..., 9950, 9950, 9980, 9980, 0010, 0010, 0040,
and so on.

The example below defines counter no. 2 to start at 10 and increment by 1 for each label printed.
All other arguments will be set to their default values. All significant digits are printed:
!N2 10
The count cycle will be: 10, 11, 12, 13, 14, ..., 999999999, 0, 1, 2, and so on.

The example below sets a counter range between 500 and 1000, for counter no. 3. Note that both
the <init value> and the <lower range limit> has to be set to the same value (500 in this example):
!N3 500 1 3 1 0 500 1000

11.1.2 Retrieving Information About Counters


Use the service command !V32, in order to retrieve information about a counter.

11.1.3 Printout
A counter reference in a field has the form %<n>C where n is the number of the counter.
Example:
An example label layout, with a reference to counter number five:
!C
!Y35 10
!F S S 40 1000 L 10 10 94021 "Count value for counter no 5: %5C"
!P

Printout:
Count value for counter no 5: 000160

92
Programmer’s Reference Manual
11. Miscellaneous Commands

11.2 Paper Feed


There are two types of paper feed:
Automatic reverse feed before print-out
Paper feed on command.

11.2.1 Automatic Reverse Feed


Sometimes, especially for small labels, there is a need to print on the entire label, even on the part
that is already feed out to position the label for tear-off. The label may then be retracted before
printout. The parameter !Y100 <n> will cause the printer to retract the paper <n> tenths of mm
before each print-out. This parameter is usually sent along with the layout.

11.2.2 Paper Feed on Command


The command !K <n> feeds out n / 10 mm of paper. The paper is fed backwards (into the printer)
if <n> is negative. This command common, since the automatic reverse feed parameter was
introduced. It can be used when printing a batch of labels. Only the first label needs to be
retracted, and after the last label has been printed, the paper is fed out for tear-off position. The
maximum paper feed allowed is 30 mm (n = 300).
Examples:
!K 100 feeds out 10 mm of paper.
!K –50 retracts the paper 5 mm.

Note: The negative feed must not exceed the amount of paper fed out outside the print head.
Excessive negative paper feed may cause the printer to lose the paper so that it cannot feed the
paper.

93
Programmer’s Reference Manual
11. Miscellaneous Commands

11.3 Information Tag


Information tag command, !I T <n>, where n is a positive integer, 0 - 65535.
The printer responds with an information tag acknowledge, !I A <n>, where n is identical with the
number sent in the preceding !I T <n> command.
The information tag command is useful in order to make sure that the two connected units (control
device and printer) are synchronized.

Example:
!C
!Y35 10
!F S S 50 940 L 15 15 92500 "Layout 1"
!P
!I T 1
!C
!Y35 10
!F S S 50 940 L 15 15 92500 "Layout 2"
!P
!I T 2

The machine will reply:


!I A 1
after the first layout has been printed and:
!I A 2
after the second layout has been printed.

94
Programmer’s Reference Manual
11. Miscellaneous Commands

11.4 String Translation


The string translation feature substitutes one character string for another. This allows simple
command conversion.

!J "<source string>" "<target string>"

Argument Description
<source string> The original string to be translated
<target string> The string to be substituted for the source string

Non-printable characters are not allowed, the function is therefore only partly compatible with the
MkII printers which allowed all ASCII characters for !J.
Several translations can be added.
Note: String translations are not stored in non-volatile memory, they have to be added every time
the printer is restarted!

Examples:
Add a print string translation:
!J "print" "!P"
This makes the printer convert all "print" sentences in the input data stream to the !P (print
command). The !P command can of course also be added as normal.

Clear all string translations:


!J

Clear a single string translation:


!J "<source string>" ""

95
Programmer’s Reference Manual
11. Miscellaneous Commands

11.5 Shift Codes


Shift codes is a feature that enables the user to mark products with a user defined text to indicate
during which time span the product has been produced. There is room for up to 24 individual shift
codes. Each shift code consists of a shift code number (1-24), a start time (hh:mm) and a user
defined string (maximum 15 Unicode char). The user can add shifts, delete individual shifts, delete
all shifts or view the shifts currently stored in the shift list by using different service commands:
!V127 - Add shift code
!V128 - Delete shift code
!V129 - Get shift code

 To include the current shift code string in a field, type the escape sequence %SC in the layout
field.
 If there is not any defined code for the current shift the printed string is empty.
 The shifts are sorted by start time in the shift list.
 Unicode characters are entered using the escape sequence '\u' followed by a four digit (16 bit)
hexadecimal number.

Note: Shift codes are not stored in nonvolatile memory, they have to be added every time the
printer is restarted!

96
Programmer’s Reference Manual
11. Miscellaneous Commands

Examples:
Add three different shifts:
!V127 1 06:00 "Shift 1"
!V127 2 14:00 "Shift 2"
!V127 3 22:00 "Shift 3"
Delete shift code number 2:
!V128 2
Delete all shift codes:
!V128
Retrieve a list with all added shift codes:
!V129
01 06:00 Shift 1
02 14:00 Shift 2
03 22:00 Shift 3

An example label layout. The command %SC is used in order to add present shift
code to a field:
!C
!F S S 40 1000 L 10 10 94021 "Present shift: %SC"
Printout, if present time is 06:00-13:59:
Present shift: Shift 1
Printout, if present time is 14:00-21:59:
Present shift: Shift 2
Printout, if present time is 22:00-05:59:
Present shift: Shift 3

97
Programmer’s Reference Manual
11. Miscellaneous Commands

11.6 Match Code


The match code functionality is used in combination with a barcode reader to verify the printed
barcode. The printer compares the printed barcode with the character string received from the
barcode reader. If the string differs, the machine stops and signals error. To enable this feature,
match code must be enabled for the barcode reader. This can this can be done via the ASCII user
interface or the web server.
The service command !V131 - set matchcode, is used in order to enter the text to compare with.
Both static text and variables can be used as long as it is the exact same string as the one entered
for the barcode to print.
The match code string is volatile and needs to be entered upon restart or if the content in the
barcode changes.
Note: Only valid for 2000 Series equipped with a barcode reader.

Example:
Mach code with static text:
!C
!V131 1 "123456"
!Y42 1
!F C S 140 880 L 152 10 2 "123456"
Match code with a variable:
!C
!V131 1 "%1V"
!Y42 1
!F C S 140 880 L 152 10 2 "%1V"
!W1 "123456"

Reset the matchcode string:


!V131 99

98
Programmer’s Reference Manual
11. Miscellaneous Commands

11.7 Switch Date Offset


The switch date offset is a feature that enables the user to set a time of day when the internal clock
changes date. This will not affect the time displayed to the user since the internal time of the printer
is corrected with the same offset before the time is presented on screen or printed on a label. The
following is list of operations for the switch date offset:
!V125 - Set the switch date offset
!V126 - Get the switch date offset

Example:
Set a switch date offset. In this example the internal clock will change date at
03:00 instead of midnight:
!V125 03:00
Display the current switch date offset (hh:mm).
!V126
03:00

99
Programmer’s Reference Manual
12. Flow Control

The Markem-Imaje printer supports both software flow control, XON-XOFF, and hardware flow
control, RTS-CTS. When the input buffer becomes 75 % full, an XOFF character is sent out and
the RTS signal is taken to the inactive state. When the input buffer becomes less than 25 % full, an
XON character is sent out and RTS is set active.
When the printer runs out of paper, processing continues until a print command is received. The
printer will refuse to print before new paper has been loaded. If a print command is received while
the printer is out of paper the RTS signal is made inactive and processing is suspended. If the host
continues to send data, despite the inactive RTS signal, the printer sends out an XOFF character
when the input buffer becomes 75 % full. If the host ignores both the RTS signal and the XOFF the
input buffer will eventually overflow, and data will be lost.
When new paper has been loaded, the printer continues to process input data where it left off.

12.1 True Two-way Communication


If true two-way communication with the printer is possible, the host can send the status request
commands described above. The status request should be sent before each print command to
verify that there is paper in the printer, and again after the print command. The printer responds to
the last status request when the print cycle is complete, and it shows the status after the print
cycle.
The status request can also be used as a means of synchronizing with the printer, since the status
request command is stored in the input buffer with other commands and data. By sending a status
request at regular intervals (smaller than the size of the input buffer), and waiting for the response
before proceeding, the host can avoid sending more data than can be accommodated in the input
buffer.
If it is not possible to receive status information from the printer it is preferable that the host
computer obey RTS or XON/XOFF flow control, or both. Small amounts of data can be sent
without flow control, but if the printer cannot suspend the data flow from the host it may not be able
to preserve all the data it receives when it runs of paper.

12.2 ENQ - ACK/NAK


The printer responds to the ENQ character (ASCII 05) with either ACK (ASCII 06) or NAK (ASCII
15H = 21). NAK is sent if the printer has any active errors, ACK otherwise.

100
Programmer’s Reference Manual
Appendix A: Compressed Graphics

Compressed graphics can either be sent to the printer's remote file system (RFS) or directly to the
heap. In the case of RFS storage, it will be unpacked to the heap when requested by a graphics
field. In the case of a heap transfer, it is immediately unpacked upon reception on the selected
communications port.
The compressed data is indicated with an addition to the graphics stream header. The old header
was 10 bytes long and if there is compressed data, it is instead 12 bytes. The next to the last byte
indicates what compression algorithm that has been used. Where applicable, the last byte carries
the repetition header that has been used.

Since the receiver does not know what specific compression algorithm has been used, the header
data must always be transferred uncompressed with values reflecting the properties of the
uncompressed data. This is so that the receiver can use the “Image Byte Width” and “Height in
dots” values to pre-allocate a sufficiently large graphics buffer before starting to decode the packed
bits.

101
Programmer’s Reference Manual
Appendix A: Compressed Graphics

The example below shows a rather large barcode graphic that has been compressed with row
folding RLE to less than 2% of its uncompressed size. Also note that this is intended to be
transferred as three Intel Hex lines. One header line, one graphics data line and one data
terminator line. The line breaks have been added only for increased readability in this case.

!L G "gfxname_N"
:0C0000000C00E000C0010000380000000F
:5E000000DB5A0883098303890389038303830383038309890389038903830389038309830383038
30389038909830383038903830983038903890383038303890983038909830383038303890389098
303830383038903830983038903890383050033
:00000001FF
!L

Supported Algorithms
The printer understands the following RLE algorithms:
0 Row folded PackBits algorithm
This is a row folding variant of the well known PackBits algorithm where bit runs are encoded in
bytes where the most significant bit, if set, signifies that it is a run of black dots and the remaining 7
bits contain the number of dots in the run.
The row folding is carried out by adding two bytes before each encoded line where the first byte
signifies the number of times the encoded line is repeated and the second byte encodes the size in
bytes of the encoding. Repeat counts that exceed 255 lines are encoded as multiple repetitions.
This algorithm can not handle data that requires encodings wider than 255 bytes.
Trailing white space is discarded for each line, meaning that white lines are encoded with 0 bytes
of encoded data.

1 PackBits algorithm
When dealing with data that has few line repetitions it might be beneficial to use this algorithm that
doesn't have the 2 byte overhead per encoded line. Apart from this difference the actual bit
packing is the same as in algorithm 0.

2 Byte level encoding with repetition header


While the first two algorithms work at bit level, this algorithm works on byte level. This is beneficial
when dealing with heavily dithered data such as grayscale images that have been converted to 1-
bit using for example the Floyd-Steinberg dithering algorithm.
Repetitions of four bytes or more are encoded using a certain repetition byte that is then encoded
in the graphics header to tell the decoder what to treat as a repetition. The best result is achieved
when there is an unused byte value in the data but if this is not the case, the encoder should pick
the value with the lowest use frequency.

102
Programmer’s Reference Manual
Appendix A: Compressed Graphics

The encoding algorithm will do the following:


- Determine the repeat count (1 to "infinity") of the current byte. If it is 1 (no repetition) and it
is not the repeat header byte, write it out as is. If it is the repeat header byte, write it out
followed by a repeat count of 0 (0x00).
- If the repeat count is 2 and it is not the repeat header byte write it out twice. If it is the
repeat header byte, write it out followed by a repeat count of 1 (0x01).
- If the repeat count is 3 and it is not the repeat header byte write it out three times. If it is the
repeat header byte, write it out followed by a repeat count of 2 (0x02).
- If the repeat count is 4 or more write out every chunk of 256 bytes as the repetition header
followed by 255 (0xFF). If the remainder is 4 or more encode it as repetition byte followed
by remainder - 1. If it is 1 to 3 encode it as per the rules above.
- Start over from the beginning while there is more data to encode.

3 not implemented

4 DataMax RLE2
This algorithm is a mix of the previously described ones. It works at bit level, but makes a better job
when it comes to handling long bit runs and slightly dithered data. It works as follows:
Black bits:
If the remaining run length is 1 to 63 bits encode it in a single byte as 0x80 + run length. If the run
length is 64 bits or more:
- Calculate the corresponding number of longs as numlongs = (bits / 32).
- Encode 0x60 + 0x1F and subtract 31 from the number of longs while the number of longs is
greater than or equal to 31.
- Encode the remaining number of longs as 0x60 plus the number of longs.

White bits:
If the bit count is 8 or less white bits:
If the previous bit run contained 8 or less black bits:
- Shift up the black bit count three steps (multiply by 8) and add the number of white bits.
- Encode it as 0xB7 + the result from the previous operation.
If the previous bit run contained more than 8 black bits:
- Encode the bit count as is

103
Programmer’s Reference Manual
Appendix A: Compressed Graphics

If the bit count is 9 or more:


If the run length is 64 bits or more
- Calculate the corresponding number of longs as numlongs = (bits / 32).
- Encode 0x40 + 0x1F and subtract 31 from the number of longs while the number of longs is
greater than or equal to 31.
- Encode the remaining number of longs as 0x40 plus the number of longs.
If the remaining run length is 1 to 63 bits encode it in a single byte as is.

5 Inverted Datamax RLE2


This encoding is implemented for legacy reasons and should not be used for new implementations.

104
Programmer’s Reference Manual
Appendix B: IntelHex Records

Intel Hex File Format


Binary data, for example logos and program code, can be sent to the Markem-Imaje thermal printer
in Intel hex format. This is an ASCII data format widely used for transferring binary data between
computers and to PROM programming devices. There is also a binary mode available of Intel hex
format. See Appendix C for further information.

Data Format
Intel hex data consists of lines of ASCII hex characters. Each line starts with colon (:) and ends
with a checksum, followed by a carriage return character.
Each byte of data is transmitted as two hex characters (0 ... 9, A ... F) with the high-order character
transmitted first.
The record format is: :ll aaaa tt dd dd ... dd xx (Spaces are shown for clarity only), where:
: Record start character
ll Number of data bytes in the record
aaaa 16-bit load address
tt Record type number
dd Data characters, 2 characters per byte of data
xx 8-bit checksum, defined so that ll+aa+aa+tt+dd+dd+...+dd+xx = 0

The record type number defines the type of record. The following record types are used in the
printer:
Segment record – sets the segment value of the load address.
ll 02
aaaa 0000 (not used)
tt 02
data Segment load address (4 hex digits)

Data Record
ll Number of data bytes (max 20 = 32 decimal)
aaaa Load address
tt 00
dd Binary data, 2 characters per byte

End record – must be the last record in a transfer.


ll 00
aaaa 0000 (not used)
tt 01

105
Programmer’s Reference Manual
Appendix B: IntelHex Records

Since the address field is not used by the printer the end record always has the form :00000001ff

Labelpoint Load Graphics Command


When using the Labelpoint load graphics command, !L G ..., the segment record is not needed,
since Labelpoint decides where to store the graphics file.

Graphics Format
Graphics are stored as bit-mapped graphics, where a bit set to 1 represents a black dot on the
paper. The actual bit-map is preceded by a table, which specifies the height and width of the logo.
offset contents
0,1 0A,00
2,3 Height of the pattern in dots
4,5 Width of the pattern in dots
6,7 00,00
8,9 Row length, the number of bytes stored for each row of bit-mapped data
10 ... The bit-mapped graphic data

The bit-mapped data is stored 8 bits per byte with the specified number of bytes per row. Thus the
total number of bytes required for the bitmap will be equal to the row length times the height of the
pattern.
The figure below shows how each bit in the bit map corresponds to a dot on the paper.
paper feed direction

byte 1 2
bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
row 0
1
2
3
4

106
Programmer’s Reference Manual
Appendix C: Intel Binary Records

Intel Binary File Format


The Intel binary records were designed to improve download speed of graphics data to the
printers.
A Markem-Imaje binary record (line) has the following structure:
; L AA D... C
The record is ended with <CR> or <CR/LF>.

Each upper case character represents one data byte.


L number of data bytes in the record (can be up to 128)
AA load address (offset)
D... up to 128 data bytes
C two's complement of the sum of the length, address, and data bytes

L, A, D, and C are binary data. However, data bytes below 20 hex must be transformed to non-
control characters by shift control characters so that the resulting data is always between 20 hex
and FF hex except for the control characters below.

SI sets control character mode. The following bytes will be masked to 5 bits. SI remains in
effect up to the end of the record.
SO clears control character mode
DLE toggles the control character mode, for one byte only.

Intel binary records do not have transfer type descriptors, type is always data. There is no start,
end or segment records.

Control Characters
SO 0E(hex)
SI 0F(hex)
DLE 10(hex)

Limitations
MkII series does not support long lines of data, max number of characters per line should not
exceed 80.

107
Programmer’s Reference Manual
Appendix D: Raw Binary Records

Raw Binary File Format


The Raw binary records were designed to improve download speed of graphics data to the
printers.
To specify to the printer that the following data is binary, start the line with =
To tell the printer how much data that is about to be transferred, send the byte count as a 16 bit
value with the most significant byte first <msb><lsb>. After these three control bytes, the binary
data is sent as is directly to the printer.

Example:
To send the binary sequence <0><1><2><3><4><5><6><7><8><9> to the printer, we
send the following command:
=<0><10><0><1><2><3><4><5><6><7><8><9>

Note: there is no <CR><LF> following this command since the header already has told the printer
how much data to expect.
Also note that the 16 bit length header restricts the amount of data that can be transferred to 65535
bytes in a single command. Nothing prevents the user from sending multiple commands though.

108
Programmer’s Reference Manual
Appendix E: Code Pages

Markem-Imaje products support the code pages below. Note that the 8 bit Unicode transformation
format (UTF-8) can be used instead by setting parameter 35 to 99.

Code Page 850, MS-DOS Latin 1


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á ð Ó -
1 ! 1 A Q a q ü æ í Ð ß ±
2 " 2 B R b r é Æ ó Ê Ô
3 # 3 C S c s â ô ú Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ ¶
5 % 5 E U e u à ò Ñ Á ı Õ §
6 & 6 F V f v å û ª Â ã Í  ÷
7 ' 7 G W g w ç ù º À Ã Î þ ¸
8 ( 8 H X h x ê ÿ ¿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú ¨
A * : J Z j z è Ü ¬ Û ·
B + ; K [ k { ï ø ½ Ù ¹
C , < L \ l | î £ ¼ ý ³
D - = M ] m } ì Ø ¡ ¢ ¦ Ý ²
E . > N ^ n ~ Ä × « ¥ Ì ¯
F / ? O _ o  Å ƒ » ¤ ´

Swedish/Finnish Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 É P é p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 # 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K Ä k ä ï ø ½ Ù
C , < L Ö l ö î £ ¼ ý
D - = M Å m å ì Ø Ý ²
E . > N Ü n ü Ä Ì
F / ? O _ o  Å

109
Programmer’s Reference Manual
Appendix E: Code Pages

German Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 # 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K Ä k ä ï ø ½ Ù
C , < L Ö l ö î £ ¼ ý
D - = M Ü m ü ì Ø Ý ²
E . > N ^ n ß Ä Ì
F / ? O _ o  Å

UK Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 £ 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K [ k { ï ø ½ Ù
C , < L \ l | î £ ¼ ý
D - = M ] m } ì Ø Ý ²
E . > N ^ n ~ Ä Ì
F / ? O _ o  Å

110
Programmer’s Reference Manual
Appendix E: Code Pages

French Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 à P ` p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 £ 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K ° k é ï ø ½ Ù
C , < L ç l ù î £ ¼ ý
D - = M § m è ì Ø Ý ²
E . > N ^ n ~ Ä Ì
F / ? O _ o  Å

Norwegian/Danish Character Set (7-bit)

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 # 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K Æ k æ ï ø ½ Ù
C , < L Ø l ø î £ ¼ ý
D - = M Å m å ì Ø Ý ²
E . > N ^ n ~ Ä Ì
F / ? O _ o  Å

111
Programmer’s Reference Manual
Appendix E: Code Pages

Spanish Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 # 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K ! k { ï ø ½ Ù
C , < L Ñ l ñ î £ ¼ ý
D - = M ? m } ì Ø Ý ²
E . > N ^ n ~ Ä Ì
F / ? O _ o  Å

Italian Character Set (7-bit)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ù p Ç É á _ _ Ó
1 ! 1 A Q a q ü æ í _ Ð ß
2 " 2 B R b r é Æ ó _ Ê Ô
3 £ 3 C S c s â ô ú _ Ë Ò ¾
4 $ 4 D T d t ä ö ñ È õ
5 § % 5 E U e u à ò Ñ Á Õ
6 & 6 F V f v å û Â ã Í 
7 ' 7 G W g w ç ù À Ã Î þ
8 ( 8 H X h x ê ÿ © Ï Þ 
9 ) 9 I Y i y ë Ö ® Ú
A * : J Z j z è Ü Û
B + ; K ° k à ï ø ½ Ù
C , < L ç l ò î £ ¼ ý
D - = M é m è ì Ø Ý ²
E . > N ^ n ì Ä Ì
F / ? O _ o  Å

112
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 861, MS-DOS Icelandic


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á α
1 ! 1 A Q a q ü æ í ß ±
2 " 2 B R b r é Æ ó Γ
3 # 3 C S c s â ô ú π
4 $ 4 D T d t ä ö ñ Σ
5 § % 5 E U e u à þ Í σ
6 & 6 F V f v å û Ó µ
7 ' 7 G W g w ç Ý Ú τ
8 ( 8 H X h x ê ý Φ °
9 ) 9 I Y i y ë Ö Θ
A * : J Z j z è Ü Ω
B + ; K [ k { Ð ø ½ δ
C , < L \ l | ð £ ¼
D - = M ] m } Þ Ø ¡ ²
E . > N ^ n ~ Ä « ε
F / ? O _ o  Å ƒ »

113
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 1252, Windows Latin 1 (ANSI)


In Labelpoint, this code page was previously called ‘DEC Multi-national’ which means ISO 8859-1.
ANSI-1252 is superset of ISO 8859-1 with characters between 80 and 9F added.
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p € ° À Ð à ð
1 ! 1 A Q a q ‘ ¡ ± Á Ñ á ñ
2 " 2 B R b r ‚ ’ ¢ ² Â Ò â ò
3 # 3 C S c s ƒ “ £ ³ Ã Ó ã ó
4 $ 4 D T d t „ ” ¤ ´ Ä Ô ä ô
5 % 5 E U e u … • ¥ µ Å Õ å õ
6 & 6 F V f v † – ¦ ¶ Æ Ö æ ö
7 ' 7 G W g w ‡ — § · Ç × ç ÷
8 ( 8 H X h x ˆ ˜ ¨ ¸ È Ø è ø
9 ) 9 I Y i y ‰  © ¹ É Ù é ù
A * : J Z j z Š š ª º Ê Ú ê ú
B + ; K [ k { ‹ › « » Ë Û ë û
C , < L \ l | Œ œ ¬ ¼ Ì Ü ì ü
D - = M ] m } - ½ Í Ý í ý
E . > N ^ n ~ ® ¾ Î Þ î þ
F / ? O _ o Ÿ ¯ ¿ Ï ß ï ÿ

Code Page HP Roman-8


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p ¯ â Å Á Þ
1 ! 1 A Q a q À Ý ê î Ã þ
2 " 2 B R b r  ý ô Ø ã ·
3 # 3 C S c s È ° û Æ Ð µ
4 $ 4 D T d t Ê Ç á å ð ¶
5 % 5 E U e u Ë ç é í Í ¾
6 & 6 F V f v Î Ñ ó ø Ì —
7 ' 7 G W g w Ï ñ ú æ Ó ¼
8 ( 8 H X h x ´ ¡ à Ä Ò ½
9 ) 9 I Y i y ` ¿ è ì Õ ª
A * : J Z j z ˆ ¤ ò Ö õ º
B + ; K [ k { ¨ £ ù Ü Š «
C , < L \ l | ˜ ¥ ä É š
D - = M ] m } Ù § ë ï Ú »
E . > N ^ n ~ Û ƒ ö ß Ÿ ±
F / ? O _ o £ ¢ ü Ô ÿ

114
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 852, MS-DOS Latin 2 (Central Europe)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ç É á đ Ó -
1 ! 1 A Q a q ü Ĺ í Ð ß ˝
2 " 2 B R b r é ĺ ó Ď Ô ˛
3 # 3 C S c s â ô ú Ë Ń ˇ
4 $ 4 D T d t ä ö Ą ď ń ˘
5 % 5 E U e u ů Ľ ą Á Ň ň §
6 & 6 F V f v ć ľ Ž Â Ă Í Š ÷
7 ' 7 G W g w ç Ś ž Ĕ ă Î š ¸
8 ( 8 H X h x ł ś Ę Ş ě Ŕ °
9 ) 9 I Y i y ë Ö ę Ú ¨
A * : J Z j z Ő Ü ¬ ŕ ·
B + ; K [ k { ő Ť ź Ű ű
C , < L \ l | î ť Č ý Ř
D - = M ] m } Ź Ł ş Ż Ţ Ý ř
E . > N ^ n ~ Ä × « ż Ů ţ
F / ? O _ o Ć č » ¤ ´

Code Page 1250, Windows Latin 2 (Central Europe)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p € ° Ŕ Đ ŕ đ
1 ! 1 A Q a q ‘ ˇ ± Á Ń á ń
2 " 2 B R b r ‚ ’ ˘ ˛ Â Ň â ň
3 # 3 C S c s “ Ł ł Ă Ó ă ó
4 $ 4 D T d t „ ” ¤ ´ Ä Ô ä ô
5 % 5 E U e u … • Ą μ Ĺ Ő ĺ ő
6 & 6 F V f v † – ¦ ¶ Ć Ö ć ö
7 ' 7 G W g w ‡ — § · Ç × ç ÷
8 ( 8 H X h x ¨ ¸ Č Ř č ř
9 ) 9 I Y i y ‰ ™ © ą É Ů é ů
A * : J Z j z Š š Ş ş Ę Ú ę ú
B + ; K [ k { ‹ › « » Ë Ű ë ű
C , < L \ l | Ś ś ¬ Ľ Ĕ Ü ĕ ü
D - = M ] m } Ť ť - ˝ Í Ý í ý
E . > N ^ n ~ Ž ž ® ľ Î Ţ î ţ
F / ? O _ o Ź ź Ż ż Ď ß ď ·

115
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 855, MS-DOS Cyrillic


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p ђ љ а л Я -
1 ! 1 A Q a q Ђ Љ А Л р ы
2 " 2 B R b r ѓ њ б м Р Ы
3 # 3 C S c s Ѓ Њ Б М с з
4 $ 4 D T d t ё ћ ц н С З
5 % 5 E U e u Ё Ћ Ц x Н т ш
6 & 6 F V f v є ќ д X к о Т Ш
7 ' 7 G W g w Є Ќ Д и К О у э
8 ( 8 H X h x ѕ ў е И п У З
9 ) 9 I Y i y Ѕ Ў Е ж щ
A * : J Z j z і џ ф Ж Щ
B + ; K [ k { І Џ Ф в ч
C , < L \ l | ї ю г В Ч
D - = M ] m } Ї Ю Г й П ь
E . > N ^ n ~ ј ъ « Й я Ь
F / ? O _ o Ј Ъ » ¤ №

Code Page 1251, Windows Cyrillic (Slavic)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p Ђ ђ ° А Р а р
1 ! 1 A Q a q Ѓ ‘ Ў ± Б С б с
2 " 2 B R b r ‚ ’ ў І В Т в т
3 # 3 C S c s ѓ “ Ј і Г У г у
4 $ 4 D T d t „ ” ¤ ґ Д Ф д ф
5 % 5 E U e u … • Ґ µ Е Χ е х
6 & 6 F V f v † – ¦ ¶ Ж Ц ж ц
7 ' 7 G W g w ‡ — § · З Ч з ч
8 ( 8 H X h x € Ё ё И Ш и ш
9 ) 9 I Y i y ‰  © № Й Щ й щ
A * : J Z j z Љ љ Є є К Ъ к ъ
B + ; K [ k { ‹ › « » Л Ы л ы
C , < L \ l | Њ њ ¬ ј М Ь м ь
D - = M ] m } Ќ ќ - Ѕ Н Э н э
E . > N ^ n ~ Ћ ћ ® ѕ О Ю о ю
F / ? O _ o Џ џ Ї ї П Я п я

116
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 1253, Windows Greek


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p € ° ΐ Π ΰ π
1 ! 1 A Q a q ΅
‘ ± Α Ρ α ρ
2 " 2 B R b r ‚ Ά
’ ² Β β ς
3 # 3 C S c s ƒ “
£ ³ Γ Σ γ σ
4 $ 4 D T d t „ ”
¤ ´ Δ Τ δ τ
5 % 5 E U e u … •
¥ µ Ε Υ ε υ
6 & 6 F V f v † –
¦ ¶ Ζ Φ ζ φ
7 ' 7 G W g w ‡ —
§ · Η Χ η χ
8 ( 8 H X h x ¨ Έ Θ Ψ θ ψ
9 ) 9 I Y i y ‰ ™ © Ή Ι Ω ι ω
A * : J Z j z ª Ί Κ Ϊ κ ϊ
B + ; K [ k { ‹ › « » Λ Ϋ λ ϋ
C , < L \ l | ¬ Ό Μ ά μ ό
D - = M ] m } - ½ Ν έ ν ύ
E . > N ^ n ~ ® Ύ Ξ ή ξ ώ
F / ? O _ o ― Ώ Ο ί ο

Code Page 1254, Windows Latin 5 (Turkish)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p € ° À Ğ à ğ
1 ! 1 A Q a q ‘
¡ ± Á Ñ á ñ
2 " 2 B R b r ‚ ’
¢ ² Â Ò â ò
3 # 3 C S c s ƒ “
£ ³ Ã Ó ã ó
4 $ 4 D T d t „ ”
¤ ´ Ä Ô ä ô
5 % 5 E U e u … •
¥ µ Å Õ å õ
6 & 6 F V f v † –
¦ ¶ Æ Ö æ ö
7 ' 7 G W g w ‡ —
§ · Ç × ç ÷
8 ( 8 H X h x ˆ ˜
¨ ¸ È Ø è ø
9 ) 9 I Y i y ‰ ™
© ¹ É Ù é ù
A * : J Z j z Š š
ª º Ê Ú ê ú
B + ; K [ k { ‹ ›
« » Ë Û ë û
C , < L \ l | Œ œ
¬ ¼ Ì Ü ì ü
D - = M ] m } - ½ Í İ í ı
E . > N ^ n ~ ® ¾ Î Ş î ş
F / ? O _ o Ÿ ¯ ¿ Ï ß ï ÿ

117
Programmer’s Reference Manual
Appendix E: Code Pages

Code Page 1257, Windows Latin 6 (Baltic Rim)


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p € ˚ Ą Š ą š
1 ! 1 A Q a q ‘ ˇ ± Į Ń į ń
2 " 2 B R b r ‚ ’ ˘ ˛ Ā Ņ ā ņ
3 # 3 C S c s “ £ ³ Ć Ó ć ó
4 $ 4 D T d t „ ” ¤ ´ Ä Ō ä ō
5 % 5 E U e u … • µ Å Õ å õ
6 & 6 F V f v † –
¦ ¶ Ę Ö ę ö
7 ' 7 G W g w ‡ —
§ · Ē × ē ÷
8 ( 8 H X h x ¨ ¸ Č Ų č ų
9 ) 9 I Y i y ‰ ™ © ¹ É Ł é ł
A * : J Z j z Ŗ ŗ Ź Ś ź ś
B + ; K [ k { ‹ › « » Ė Ū ė ū
C , < L \ l | ¬ ¼ Ģ Ü ģ ü
D - = M ] m } - ½ Ķ Ż ķ ż
E . > N ^ n ~ ® ¾ Ī Ž ī ž
F / ? O _ o Æ æ Ļ ß ļ ˙

Code Page ISO 8859-2


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p ° Ŕ Ð ŕ đ
1 ! 1 A Q a q Ą ą Á Ń á ń
2 " 2 B R b r ˘ ˛ Â Ň â ň
3 # 3 C S c s Ł ł Ă Ó ă ó
4 $ 4 D T d t ¤ ´ Ä Ô ä ô
5 % 5 E U e u Ľ ľ Ĺ Ő ĺ ő
6 & 6 F V f v Ś ś Ć Ö ć ö
7 ' 7 G W g w § ˇ Ç × ç ÷
8 ( 8 H X h x ¨ ¸ Č Ř č ř
9 ) 9 I Y i y Š š É Ů é ů
A * : J Z j z Ş ş Ę Ú ę ú
B + ; K [ k { Ť ť Ë Ű ë ű
C , < L \ l | Ź ź Ě Ü ě ü
D - = M ] m } - ˝ Í Ý í ý
E . > N ^ n ~ Ž ž Î Ţ î ţ
F / ? O _ o Ż ż Ď ß ď ˙

118
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

Command Summary
!A ASCII user interface
!C Clear label layout
!D Document command
!F Label layout field (text, barcode or matrix code, line/box, text box,
circle/ellipse or graphics)
!I Information
!J String translation
!K Paper feed
!L Load file (for example macro, logo)
!M Execute macro
!N Set counter
!O Silent print and apply cycle
!p Triggered printout
!P Print
!r Lock variable
!R Clear variable information
!S Status request
!V Service command
!W Change a single variable
!X Get printer configuration parameter
!Y Set printer configuration parameter
!Z Make settings permanent

119
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

Status Requests
See section 3 Status Request Commands.

120
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

Service Commands
!V9 Software revision level
!V10 Printer ID
!V11 Software date
!V12 Label count
!V13 Available dynamic RAM (bytes)
!V15 Total paper feed (mm)
!V16 PROM number
!V17 Total paper feed
!V19 Free file system size (bytes)
!V20 Set time (Ex: !V20 14:30:00)
!V21 Set date (Ex: !V21 94-02-17)
!V22 Get date and time
!V23 Get bitmap font name by logical number
!V24 Get logo information by name
!V25 Get logo information by number
!V26 Get macro content
!V31 Get length of last paper movement
!V32 Show contents of counter
!V33 Number of failing dots (Dot check)
!V34 Position of failing dot
!V39 Get remaining number of triggered printouts
!V40 Get bitmap font name by physical font number
!V44 Automatically adjust sensitivity of paper sensor
!V45 Set default character spacing for bitmap fonts
!V48 Get filename
!V61 Set security level for PDF417
!V63 Get serial number
!V66 Get article number
!V74 Form-feed character at the beginning of every print cycle
!V80 Show Agfa MicroType typeface by index <m>
!V81 Show TrueType typeface by index <m>
!V82 Macro installed
!V83 Show PCL typeface by index <m>
!V85 Reload fonts from disk
!V93 Get number of triggered printouts

121
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

!V99 Get DHCP status


!V100 Set network IP address
!V101 Get network IP address
!V102 Set network IP mask
!V103 Get network IP mask
!V104 Set network host name
!V105 Get network host name
!V106 Set domain name
!V107 Get domain name
!V108 Get DHCP info (IP address, IP mask, gateway)
!V109 Get MAC address
!V110 Set network default gateway
!V111 Get network default gateway
!V114 Get RF tag serial no
!V115 Set terminal client login script
!V116 Get terminal client login script
!V117 Get active communications port
!V120 Get printer model
!V121 Set user month name
!V122 Get user month name
!V123 Set user weekday name
!V124 Get user weekday name
!V125 Set the switch date offset
!V126 Get the switch date offset
!V127 Add shift code
!V128 Delete shift code
!V129 Get shift code
!V130 Emulate Start button
!V131 Set matchcode
!V132 Emulate Pause button
!V133 Get barcode quality index

122
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

!V3194 Delete files


!V3196 Restart
!V3200 Reset parameter values
!V3201 Disconnect port
!V3206 String format
!V35183 Enter user mode
!V38153 Enter setup mode

123
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

Printer Configuration Parameters


!Y2 Print speed (mm/s)
!Y3 Barcode speed (mm/s)
!Y4 Blank feed speed (mm/s)
!Y5 Print head type
!Y6 Dots per mm
!Y7 Motor steps per mm (24)
!Y8 Dots on head
!Y9 Dot mode (0 = XOR, 1= OR)
!Y16 Force DT (off, on)
!Y18 MPS sensitivity
!Y20 Threshold level for photo sensor (<n>=2, ...,12)
!Y21 Current level to photo sensor
!Y23 Max. paper feed (0,1 mm/s)
!Y24 Dispensing feed (0,1 mm/s)
!Y25 COM2 Baud rate
!Y26 COM2 Parity
!Y27 COM2 word length
!Y28 COM2 Stop bits
!Y29 COM2 Input buffer size
!Y30 COM1 Baud rate
!Y31 COM1 Parity
!Y32 COM1 word length
!Y33 COM1 Stop bits
!Y34 COM1 Input buffer size
!Y35 Character set
!Y36 Command character
!Y39 LTS disable
!Y40 Min. Paper feed
!Y42 Barcode interpretation
!Y44 Alternate end-of-line (EOL) character
!Y45 Disable CR
!Y46 Print head strobe time
!Y50 Silent mode (disable, enable)
!Y54 Ribbon low limit
!Y55 Get type of applicator

124
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

!Y60 Default maximum barcode displacement


!Y66 Enable application (disable, enable)
!Y67 Printkey mode (normal, disabled, triggered)
!Y68 Horizontal print position adjustment
!Y69 Vertical print position adjustment
!Y72 - 79 Map physical font to logical number
!Y89 Allow command character anywhere on the line
!Y92 Stacked printers mode (daisy chaining)
!Y93 LTS auto repeat (disable, enable copy, enable new)
!Y100 Automatic reverse paper feed before printing
!Y101 - 109 Set inter-character spacing for logical font
!Y110 Print behavior
!Y111 Force heap graphics
!Y132 Enable barcode mapping
!Y133 Missing labels allowed
!Y134 Enable recover page
!Y136 PDF417 security level
!Y137 PDF417 max columns
!Y138 PDF417 max rows
!139 Decode variables on reception
!Y145 Telnet keep alive (s)
!Y146 Line spacing
!Y147 LTS delay
!Y150 COM1 Communication mode
!Y151 COM1 TCP port
!Y152 COM2 Communication mode
!Y153 COM2 TCP port
!Y156 COM1 flow control
!Y157 COM2 flow control
!Y162 Reverse video
!Y167 MPS type (gap outer, gap inner, black mark, inverted black mark)
!Y168 Historic control (on, off)
!Y170 Sensor detect (startup, adjust, manual)
!Y174 Print density
!Y175 Historic compensation
!Y176 Strobe boost (disable, enable)
!Y178 Max label width

125
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

!Y179 Max label height


!Y180 Raw data port number
!Y183 Trig count return value
!Y184 Triggered print end value
!Y185 Best-before date update day
!Y186 Best-before date truncation day
!Y187 Mk2 emulation mode
!Y190 Rotated rendering

126
Programmer’s Reference Manual
Appendix F, Quick Reference Guide

Barcode Symbologies
1–7 2 of 5 Interleaved – ratios 2:1, 3:1, 5:2, 8:3, 13:5, 11:4, 7:3
11 - 17 Code 39 – ratios 2:1, 3:1, 5:2, 8:3, 13:5, 11:4, 7:3
21 - 27 USS Codabar – ratios 2:1, 3:1, 5:2, 8:3, 13:5, 11:4, 7:3
31 UPC-A
32 EAN 13
33 EAN 8
34 UPC-E
35 EAN/UPC extension code (2 or 5 digits)
36 GTIN14 (EAN 14)
41 Code 128
43 EAN 128
51 - 57 ITF 14 – ratios 2:1, 3:1, 5:2, 8:3, 13:5, 11:4, 7:3
61 PDF 417
64 RSS-14, RSS-14 Truncated
67 RSS Limited
68 RSS Expanded
71 - 77 Code 2 of 5 – ratios 2:1, 3:1, 5:2, 8:3, 13:5, 11:4, 7:3
81 USD-5 dot code
83 LEB code
91 Royal Mail 4-State Customer Code
92 KIX barcode
101 QR code model 1
102 QR code model 2

127
Programmer’s Reference Manual
Appendix G: Bitmap Textfield

Bitmap text fields are deprecated. This section is kept for backward compatibility reasons. Use
scalable fonts instead.

Syntax !F T <u> <b> <p> <a> <h> <w> <f> <”text”>

Note: Parameters enclosed in <> are required and parameters enclosed in [] are optional.

The parameters have the following meanings:


<u> Defines the direction of printing as the ‘up’ direction of the printed characters. One upper-case
character (N, E, S, or W).
<b> The baseline of the field, in 0,1 mm.
<p> The position, in 0,1 mm
<a> The alignment relative to the position. One upper-case character.
L = left end of the field aligned at p.
R = right end of the field aligned at p.
C = the field is centered around p.
<h> The height expansion of the characters, 1 – 16.
<w> The width expansion of the characters, 1 – 16.
<f> The logical number of the font to be used for printing, 1 – 7.
<text> Specifies the text to be printed. The text must be enclosed in double quotes (").

Bitmap font name Bitmap font number


7x9-dot bold 1
hv18r 2
15-dot bold 3
9-dot 4
19-dot bold x 18 5
hc42c 6
g19 x 12 7

128
Programmer’s Reference Manual
Index

2
D
2 of 5 Interleaved................. See - Barcodes -
Date
B Get date ......................................................... 62
Set date ......................................................... 62
Barcode Displacement ............................... 80 Date Offset ................................................. 99
Barcode Field ....................................... 24, 29 Date symbols........................................ 19, 21
Barcode Interpretation................................ 28 Defining a Field .......................................... 11
Barcode Symbologies .......................... 25, 30 Barcode Field................................................. 24
Barcodes Circle/Ellipse Field ......................................... 40
2 of 5 Interleaved ...........................................25 Graphics Field................................................ 42
Code 128..................................................26, 31 Line/Box Field ................................................ 37
Code 39..........................................................25 Text Box Field................................................ 38
EAN 128 .........................................................26 Text Field ....................................................... 16
EAN 13 ...........................................................25
EAN 8 .............................................................25 E
ITF 14 .............................................................26
LEB code........................................................30 EAN 128 .............................. See - Barcodes -
MaxiCode .......................................................33 EAN 13 ................................ See - Barcodes -
PDF417 ....................................................30, 35 EAN 8 .................................. See - Barcodes -
QR Code ........................................................36 ENQ-ACK/NAK......................................... 100
Royal Mail 4-state customer code..................30
RSS ................................................................32 F
UPC-E ............................................................26 Field Syntax................................................ 11
USD-5 dot code..............................................30 File System
USS Codabar .................................................25 Configurable Storage Path ............................ 86
Baseline...................................................... 10 Fonts.............................................................. 89
Baud rate.............................................. 70, 71 Graphics ........................................................ 88
Macros ........................................................... 87
C
Fonts .................................................... 74, 89
Character set.............................................. 72 Delete Fonts .................................................. 90
French ..........................................................111 Load Fonts..................................................... 89
German ........................................................110
Italian............................................................112 G
Norwegian/Danish ........................................111 Graphics ..................................................... 88
Spanish ........................................................112 Delete Graphicd............................................. 88
Swedish/Finnish ...........................................109 Load Graphics ............................................... 88
UK ................................................................110 Graphics Field ............................................ 42
Circle/Ellipse Field...................................... 40 Graphics Format....................................... 106
Clearing the Layout .................................... 47
Clearing variable info............See - Variables - I
Code 128............................. See - Barcodes - Information Tag .......................................... 94
Code 39............................... See - Barcodes - Insertion Points........................................... 13
Configurable Storage Path ......................... 86 Intel Binary Format ................................... 107
Counters............................................... 19, 91 Intel Hex Format ....................................... 105
ITF 14 .................................. See - Barcodes -

129
Programmer’s Reference Manual
Index

L S
Label Layout............................................... 15 Service Commands .............................. 66, 67
Line/Box field.............................................. 37 Shift Codes ................................................. 96
Logos.......................................................... 88 Status request 1 ......................................... 49
Status request 3 ......................................... 53
M String Translation ....................................... 95
Macros........................................................ 87
Auto macro .....................................................87
T
Delete a Macro ...............................................87 Text Box Field ............................................ 38
Execute a Macro ............................................87 Text field..................................................... 16
Load a Macro .................................................87 Time
Match Code ................................................ 98 Get time ......................................................... 62
O Set time.......................................................... 62
Time symbols ....................................... 19, 21
Out of paper ...... See - Status request 1 or 4 - Triggered Printout....................................... 48
P U
Paper feed.................................................. 74 UPC-A ........................................................ 25
Paper Feed................................................. 93 UPC-E ................................. See - Barcodes -
Paper type .................................................. 73 USD-5 dot code ........................See Barcodes
PDF417 ............................... See - Barcodes - USS Codabar ...................... See - Barcodes -
Position....................................................... 10
Print area...................................................... 8 V
Print Area Variables .............................................. 19, 44
Configurable Coordinate System .....................8 Changing a Single Variable ........................... 44
Left Oriented Coordinate System...................10 Clearing variable information......................... 46
Print Commands......................................... 47 Lock Variable ................................................. 46
Printer Configuration .................................. 69
X
R
XON/XOFF ............................................... 100
Raw Binary Format................................... 108
RTS/CTS .................................................. 100

130
12/ 2003
05/ 2005
Revision 11/
03/
2006
2007
05/ 2008

Revisions to this manual

Revision index

Date published Revision index documentation Software index


12/2009 G

Photographs and drawings are not binding in detail. This document was originally written
in English. The English text of this document shall alone be authentic and shall prevail in
the event of a dispute. Markem-Imaje reserves the right to modify the specifications of its
products without prior notice. Any reproduction, even partial, of this document is
prohibited. Translation of the original manual: the original manual (in English) is available
on the CD-Rom supplied with the printer.

© 2009 Markem-Imaje All Rights Reserved. English version.

49/51

Das könnte Ihnen auch gefallen