02 Labelpoint Programmer S Reference Manual PDF
02 Labelpoint Programmer S Reference Manual PDF
ai 24/11/2009 15:48:57
the
the team
team to
to trust
trust labelpoint
programmer’s reference manual
CM
MJ
CJ
CMJ
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
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.
6
Programmer’s Reference Manual
1. The Labelpoint Command Language
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
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
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
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
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
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
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
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
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.
19
Programmer’s Reference Manual
2. Label Layout Definition Commands
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
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
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
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
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
Note: Parameters enclosed in <> are required and parameters enclosed in [ ] are optional.
29
Programmer’s Reference Manual
2. Label Layout Definition Commands
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
"??[" 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.
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
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.
36
Programmer’s Reference Manual
2. Label Layout Definition Commands
<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
<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.
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
<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
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
44
Programmer’s Reference Manual
2. Label Layout Definition Commands
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
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
46
Programmer’s Reference Manual
2. Label Layout Definition Commands
47
Programmer’s Reference Manual
2. Label Layout Definition Commands
!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.
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.
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.
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.
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
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.
51
Programmer’s Reference Manual
3. Status Request Commands
52
Programmer’s Reference Manual
3. Status Request Commands
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.
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
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.
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.
Printer Restarted
Described above.
54
Programmer’s Reference Manual
3. Status Request Commands
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.
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
LTS Installed
LTS is installed.
Note: Only Nova models have this feature.
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.
57
Programmer’s Reference Manual
3. Status Request Commands
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
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
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>
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
65
Programmer’s Reference Manual
4. Service Commands
66
Programmer’s Reference Manual
4. Service Commands
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.
68
Programmer’s Reference Manual
5. Printer Settings
The printer responds with the current value of the parameter <i>, followed by a carriage return
character.
The parameter <i> is set to <n>, which must be a decimal number. Not all parameters can be set,
see the table below.
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
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
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.
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.
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.
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.
81
Programmer’s Reference Manual
7. Configuration Menu
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.
Save and exit Ctrl+S Save settings an 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.
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
84
Programmer’s Reference Manual
9. Printer Connection
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.
0 RFS /
1 Flash /dev/flash0/
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.
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.
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.
/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
ttf TrueType
fnt PCL
89
Programmer’s Reference Manual
10. Printer File System
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.
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.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
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
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
94
Programmer’s Reference Manual
11. Miscellaneous Commands
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.
95
Programmer’s Reference Manual
11. Miscellaneous Commands
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
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"
98
Programmer’s Reference Manual
11. Miscellaneous Commands
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.
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.
102
Programmer’s Reference Manual
Appendix A: Compressed Graphics
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
104
Programmer’s Reference Manual
Appendix B: IntelHex Records
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
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
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
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
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.
109
Programmer’s Reference Manual
Appendix E: Code Pages
110
Programmer’s Reference Manual
Appendix E: Code Pages
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
112
Programmer’s Reference Manual
Appendix E: Code Pages
113
Programmer’s Reference Manual
Appendix E: Code Pages
114
Programmer’s Reference Manual
Appendix E: Code Pages
115
Programmer’s Reference Manual
Appendix E: Code Pages
116
Programmer’s Reference Manual
Appendix E: Code Pages
117
Programmer’s Reference Manual
Appendix E: Code Pages
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
122
Programmer’s Reference Manual
Appendix F, Quick Reference Guide
123
Programmer’s Reference Manual
Appendix F, Quick Reference Guide
124
Programmer’s Reference Manual
Appendix F, Quick Reference Guide
125
Programmer’s Reference Manual
Appendix F, Quick Reference Guide
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.
Note: Parameters enclosed in <> are required and parameters enclosed in [] are optional.
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
Revision index
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.
49/51