QMS and Magnum are registered trademarks of Quality Micro Systems.
Printek is a registered trademark of Printek, Inc.
FormsPro, Imager and ImagerPlus are trademarks of Printek, Inc.
Epson is a registered trademark of Seiko Epson.
Proprinter is a registered trademark of International Business Machines Co.
Specifications subject to change without notice.
Table of Contents
Table of Contents.........................................................................................................................iii
The Imager™ and ImagerPlus™ are printer resident graphics pre-processor boards that have
been designed specially for the Printek® FormsPro™ 4000/4003. Their primary function is to
translate QMS® Magnum® Code V Version 1 commands into graphic commands for the printer.
The image command syntax allows previously designed bar code "labels", which require QMS
Magnum controllers, to print on the FormsPro 4000/4003 with comparable print results.
Imager and ImagerPlus
The Imager graphics pre-processor board is available in two versions. The ImagerPlus supports
everything described in this manual; the standard Imager supports only a subset of what is
described in this manual.
The standard Imager board is capable of generating all bar codes described in this manual, as
well as non-scalable characters, in a "normal - left-to-right" orientation. The Imager will
compute any necessary bar code check digits, insert any required start and stop characters, and
convert all characters to the desired bar code format. If requested, the Imager will also
automatically print the bar code data as human readable text below the bar code.
In addition to this, the ImagerPlus is capable of generating boxes, lines, and large (scalable)
characters. The ImagerPlus can print any size character from 0.1 inch to 9.9 inches in height
anywhere on the page. Characters can be printed sideways and upside down. Both horizontal
and vertical lines can be easily drawn, and the thickness of the lines can be varied. Complete
boxes can be drawn, to facilitate the generation of labels. All common bar codes can be printed
either horizontally across the page (like a picket fence), or vertically down the page (like a
ladder).
Both the Imager and ImagerPlus can easily repeat a label several times across the page and/or
down the page, so it is only necessary to send one copy of the label.
In this manual, both versions of the board will frequently be referred to simply as the Imager.
When describing some commands, a note saying "ImagerPlus only" may be added to avoid
confusion.
Theory of Operation
The Imager graphics pre-processor board is installed inside the printer, where it communicates
directly with the main board of the printer. But conceptually, the Imager is a filter inserted in the
pipeline between the host computer and the printer.
1
Introduction
2
Host
Computer
As a filter, the Imager will simply pass all data received on through to the printer, until it
receives special image commands telling it to do otherwise. The image commands will be
filtered out, processed, and when necessary replaced with native printer commands (ASCII
control codes and escape sequences; in particular, graphics escape sequences).
A cornerstone to the operation of the Imager is the use of the image control character. This
special character signals the Imager when an image command may have been encountered in the
incoming data. In the event that the user cannot use the default image control character, the
control character may be changed to a different character. This may be done through the
printer's control panel or by sending the Imager a special command to change the control
character. The Imager is "passive" to data which it receives from the host device until the image
control character is encountered. That is, it simply sends all data it receives to the printer for
printing until it receives a control character. If a control character is encountered in the incoming
data, the Imager examines the two characters following the control character. If those two
characters form the "activation" command, then the Imager will begin analyzing all incoming
data for other special commands. If those two characters do not form the "activation" command,
then no other action is taken on the incoming data and the data is simply passed on to the printer
for printing.
→
CX/TX interface
(optional)
→
Imager
→
FormsPro
4000/4003
The Imager operates in three different "modes" or levels of processing: pass-thru mode, filter
mode, and image mode. Each mode represents a distinct level of operation where certain
sequences of characters are interpreted as "commands". The action taken by the Imager when a
command is encountered depends on which mode is active at the time. Typically, when a printer
equipped with the Imager is powered on, pass-thru mode will be active. When the appropriate
command is received by the Imager (while in pass-thru mode), it will activate filter mode. With
filter mode active, other commands may be received which will either cause processing of data,
change to image mode or change back to pass-thru mode . Each mode provides a different level
and type of processing activity.
Pass-Thru Mode
Filter Mode
Image Mode
Briefly, when the ^PY command is received in pass-thru mode, then filter mode will be
activated. When the ^M, ^V, ^E, or ^U command is received in filter mode, then image mode
Introduction
3
will be activated. These commands, and many others, are discussed in more detail later in this
manual.
Notations and Conventions
All hexadecimal numbers use the suffix character 'h' to distinguish them from decimal numbers
(e.g. 5Eh is equivalent to 94 decimal).
All measurements required by the Imager in filter mode and image mode are specified in tenths
of an inch and/or dots. The Imager board creates images based upon 60 dots per inch
horizontally and 72 dots per inch vertically. All references to tenth inches horizontally are true
tenth inches (6/60 of inches). All references to tenth inches vertically are, in reality, 7/72 of
inches.
The Imager command set allows it to be fully controlled and utilized using only printable ASCII
characters. ASCII control codes are not part of the Imager command repertoire. Imager
commands are introduced by the image control character, which is by default the printable
ASCII caret ('^') character (94 decimal, 5E hex). Some people may refer to the caret character as
the "hat" character.
Note in particular that the ESC control code (27 decimal, 1B hex) is not a part of the Imager
command set. When the caret ('^') character is seen in this manual, it does not mean ESC and it
does not mean "control-_" !
The use of image commands is illustrated throughout this manual. In these illustrations,
commentary is provided at the far right as italicized text. For example:
^PY^-activate filter mode
^Feat all carriage control
^PN^-return to pass-thru mode
These italicized comments are not part of the image commands, and should not be appended to
the image commands being described. The comments are provided only to improve the reader's
understanding of what the image commands are doing.
The Reference Section of this manual contains a detailed description of the command format for
each command. For example:
^Hnn
where:nn = New universal height in 1/10 inches; two digits from 00 to 99.
Characters in the command that must be typed exactly as shown (^H) are not italicized.
Parameters that must be filled in (nn) are italicized. The italicized characters serve only as place
holders for the actual values that will be specified. Note also that the exact number of characters
Introduction
4
required have been reserved. The use of nn, for example, implies that two digits must be
specified. If necessary, use a leading zero (3/10 inches would be specified as "03", not as '3').
Imager Installation and Setup
If your printer was ordered with the Imager option, the Imager graphics pre-processor board has
already been installed in your printer at the factory. Although it may be necessary to modify
some Imager setup parameters, there is a good chance that the board will work perfectly with the
factory default values. You may want to try your printer as is before changing any values.
If you are installing the Imager option in the field, follow the directions below to install and
setup your new Imager graphics pre-processor board.
Installation Requirements
The Imager can be installed in any FormsPro 4000 or FormsPro 4003 that has the standard
Serial/Parallel interface, or the combined CX/TX/Parallel interface. It cannot be installed in a
printer that has the older style CX or TX interface. The type of interface may be determined
from the printer serial number. If the third letter of the serial number is an 'A' (serial/parallel) or
an 'X' (CX/TX), the Imager can be installed. If the third letter of the serial number is a 'C' (CX)
or a 'T' (TX), the Imager cannot be installed.
The printer must have firmware version 1.20 or later. To check the firmware version of your
printer, turn the printer off, press and hold the ONLINE button on the control panel, and turn the
printer on. Continue to hold the ONLINE button until the control panel displays "FormsPro
4000" or "FormsPro 4003". You may now release the ONLINE button and continue to watch the
display. Installed options such as fonts and buffer size will be displayed followed by two
firmware versions. These will be displayed as "MP: v1.20" and "PE: v1.20". Again, make sure
that both display a value of v1.20 or higher. If your printer has an older version of firmware,
contact the dealer or distributor where you purchased the Imager to purchase a firmware
upgrade.
Note: Installation of the Imager should be performed by a qualified service representative
using the steps described below. The devices used in the electronics of both the printer and
the Imager are highly sensitive to static electricity. Take all necessary precautions when
working near any of the electronics and when plugging or unplugging cables. Damage
caused by improper handling during installation will not be covered under warranty.
Imager Installation
Turn the printer off and unplug the power cord!
Remove the cover from the top of the printer. To accomplish this, remove the three screws
securing the cover to the rear of the printer, and then slide the cover toward the rear of the printer
until it exits the mounting slots.
5
Imager Installation and Setup
6
If the printer has firmware older than version 1.20, upgrade the firmware to version 1.20 or later.
Follow the instructions provided with the firmware upgrade to change the necessary EPROM's.
Mount the Imager board inside the printer. The board is designed to fit standoffs on the back
panel of the printer, next to the I/O board. First, screw the five 1/4" spacers into the standoffs on
the back panel of the printer. Tighten, using a socket wrench or pliers. Then, after unwrapping
the Imager board, hold it in one hand and touch the back panel of the printer with your other
hand to safely discharge static electricity. Finally, put the Imager board in place and secure it
with the five screws provided. The screws are 3/16" cross recess fillister head screws. The
lower profile fillister head has been used to prevent the screws from shorting against any traces
on the Imager board.
Unplug the printer's I/O cable from the main board, and plug it into the connector on the Imager
board. Plug the Imager cable into the main board where you just unplugged the I/O cable. The
electrical connections are now complete.
Reinstall the cover on the top of the printer. To accomplish this, slide the cover back into the
mounting slots and secure it to the rear of the printer with the three screws that were removed
earlier.
Plug the power cord in and turn the printer on.
Imager Installation and Setup
7
Enter setup mode on the printer's control panel, and specify that the Imager option is installed
(see next section). If necessary, additional Imager parameters may also be set at this time. Exit
setup mode, and wait for the printer to reset. You may get an "Imager Timeout" or "Imager
Error" message. This is normal when the printer is first told that an Imager board is installed,
because the Imager is normally initialized at power up.
Turn the printer off, wait a few seconds, and then turn the printer back on. The Imager board
will now be correctly initialized and ready for use.
Information about Imager setup is contained in the following section.
Imager Setup
There is one parameter that must be set to indicate an Imager graphics pre-processor board is
installed in the printer. There are seven additional parameters which can be set as the "powerÂup" configuration for the Imager board. These parameters are all set through the printer's control
panel, in the options setup menu.
The setup menu for options parameters is the third setup menu. To enter this menu, first take the
printer offline. Then press and hold the SETUP button for approximately four seconds until
"Setup: OPTIONS" is displayed and the bell beeps three times to indicate that the third menu
has been entered. (Note that "Setup: FORMS" and "Setup: INTERFACE" will be displayed
before the options menu is displayed. Continue to hold the SETUP button to pass through these
menus and proceed to the options menu.) At this time you will be able to view and/or edit the
values for the various options functions. The functions relevant to the Imager board are
described below. While you may select functions with either the FUNCTION UP or
FUNCTION DOWN buttons, they are listed here in the order of FUNCTION UP. The factory
default settings are indicated by an asterisk ('*').
•Imager: No*,Yes
This parameter must be set to "Yes" when the Imager board is installed in the printer, or the
printer will not recognize and communicate with the board. If this parameter is set to "No",
the other parameters discussed below will not be available in setup mode.
(Note: If an ImagerPlus is installed in the printer, this parameter will be displayed as
"ImagerPlus: Yes" after the printer has had a chance to communicate with the ImagerPlus
board.)
•Translation: Off*,On
^PY filter mode translation processing inactive/active at power-up. If this parameter is set to
"On", the Imager will power-up in filter mode. If filter mode is made active this way, it
cannot be disabled by issuing the ^PN "filter mode termination" command.
Imager Installation and Setup
8
•Free Format: Off*,On
^F free format mode inactive/active (ignore carriage return, line feed and form feed
characters) at power-up. The value of this parameter does not become meaningful unless the
^PY "Translation" parameter discussed above is set to "On" or unless a ^PY command is
received in the data stream. Once this command becomes active, all carriage control
characters are "eaten" (absorbed) by the Imager. This setting will remain active until the
filter mode command ^O is encountered in the incoming data stream or until the ^PN "filter
mode termination" command is encountered.
•Terminator: LF*,CR
Specifies a carriage return or line feed as the line terminator . Allows the user to dictate
which character (a carriage return or a line feed) will be the last character on a line. The user
should check the host device (computer) attached to the printer to determine what this setting
should be.
•Ignore Char: Off*,On
^X ignore character mode inactive/active ('^A' required to begin printing). If this parameter
is set to "On", all incoming data will be "eaten" (absorbed) until the command ^A is
encountered in the incoming data stream. This command is not meaningful unless the ^PY
"Translation" parameter discussed above is set to "On". This setting may be useful on
systems where the host computer sends banner pages to the printer before the user
application can send print information to the printer. Setting this parameter "On" will
prevent anything from printing until the user sends the ^A command to the printer from the
host computer.
•Zero: Normal,Slashed*
Selects normal (unslashed) or slashed zeros. This parameter applies only to expandable
characters generated by the Imager board. It does not apply to the small character look-up
fonts, including the high-resolution fonts. (A similar parameter is available for each form, in
the "Setup: FORMS" menu. The parameter in the forms menu applies only to native printer
fonts; it has no effect on characters generated by the Imager board.)
•Ignore Col 1: No*,Yes
Specifies whether or not to ignore column 1 (for IBM3287 emulation). If this parameter is
set to "Yes", column 1 will be "eaten" (absorbed) when filter mode or image mode is active.
While the Imager is in pass-thru mode, this setting does not apply. This parameter should be
set to "Yes" only if the host computer system generates extra carriage-control information in
column 1 and that information is not removed by a printer protocol converter.
Imager Installation and Setup
9
•Control Char: ^*,~,!,?,;,',|,\
The Image Control Character is normally the caret ('^') character, but can be changed to
one of seven other characters:
Image Control Character List
CharacterDescriptionHEX Value
^caret5E
~tilde7E
!exclamation mark21
?question mark3F
;semicolon3B
`open single quote60
|vertical bar7C
\backslash5C
Imager Overview
Pass-Thru Mode
In pass-thru mode, passive, non-translation printing occurs. The print operations may include
text and or graphics printing which is native to the FormsPro 4000/4003. Reports, listings,
spread-sheets, and graphics software packages would be typical applications that would be used
with pass-thru mode printing. In pass-thru mode, all printer action will occur as though there is
no Imager board resident in the printer. The Imager simply allows all incoming data to be passed
on to the printer without changing anything in the print data stream.
Filter Mode
In filter mode, the Imager intercepts information and performs operations on the incoming data
before printing occurs. Filter mode is activated by the occurrence of the "filter mode activation"
command, ^PY. Filter mode is deactivated by the occurrence of the "filter mode deactivation"
command, ^PN. When filter mode is deactivated, the printer returns to pass-thru mode.
Primarily, filter mode commands are used to "manipulate" the incoming data streams before they
are printed. Filter mode commands do not actually perform graphics functions; those functions
are handled by image mode commands.
Image Mode
Image mode commands are used to define graphic images such as bar codes, scaled (expanded)
text, lines and boxes. There are four commands (^M, ^V, ^E, and ^U) which will activate
image mode; each one is an image prefix. There are three commands ( ^*, ^-, and ^,) which
will terminate image mode and return to filter mode; each one is a pass terminator. An imagesequence is initiated by the ^M, ^V, ^E, or ^U command that activates image mode; the
sequence includes all of the image commands that are processed before returning to filter mode.
All of the graphic images defined by the image sequence constitute the image pass; the pass will
be printed upon receipt of the pass terminator (^*, ^-, or ^,).
Processing Characteristics
The default image control character is the caret ('^') character. Although this character may be
changed to a different character by the user, throughout this document, the control character will
be referenced as the caret ('^') character.
The only valid command which is recognized in pass-thru mode is the "filter mode activation"
command, ^PY. Until this command is encountered, the Imager will pass all incoming data to
11
Imager Overview
12
the printer. There is no assumption on the part of the Imager as to the type of data being sent to
the printer. It may be either text or graphics data.
After the "filter mode activation" command is encountered, the Imager will examine all
incoming data for other filter mode commands. If filter mode commands are encountered, the
commands will be operated on as defined by the commands' syntax. If a carriage return and/or a
line feed character occurs within four character positions following the "filter mode activation"
command, they will be absorbed by the Imager. Otherwise, the carriage return and/or the line
feed characters will be passed on to the printer for the printer to process.
Once filter mode is active, an "image mode activation" command (^M, ^V, ^E, or ^U) will
activate image mode . The printing of all scalable characters, boxes, lines, and bar codes occurs
in image mode. Printing is done in passes. A pass may be very simple, printing only a single
character, or may be very complex, printing a series of labels containing fixed and variable data.
Printing does not occur until the pass is completed by a pass terminator. The pass terminator
(^*, ^-, or ^,) forces printing to occur, terminates image mode, and returns to filter mode.
When the "filter mode termination" command ^PN is encountered while the Imager is in filter
mode, the active filter mode commands will finish processing and the Imager will then return to
pass-thru mode.
QMS Magnum and Imager Differences
Several bar code symbologies are considered proprietary or are no longer in active use. The
Imager does not support those bar codes.
Several bar codes found in the QMS Magnum Code V Version 1 which are not supported by the
Imager include: AGES, Delta Distance A, Matrix 2 of 5, MRC Edge Code, Rapistan and
Identicon 2 of 5.
Bar codes which are supported include: Code 39, Codabar, MSI, Interleaved 2 of 5, UPCA 11
digit, UPCE 10 digit, UPCE0 6 digit, UPCE1 6 digit, EAN 13, EAN 8, Code 128, UCC-128 and
PostNet.
UCC-128 and PostNet are not a QMS Code V Version 1 feature but they have been added to the
Imager.
Performance Considerations
Text can be printed in pass-thru mode, filter mode or image mode. Printing text (or anything
else for that matter) in pass-thru mode does not use any of the capabilities of the Imager; all
printed images are handled by the printer's resident emulation. Since pass-thru mode printing
does not actually use the Imager capabilities, only filter mode and image mode will be discussed.
Imager Overview
13
Text which is printed in filter mode uses normal printer fonts. The user cannot use the
expandable fonts nor can he print in a "sideways" orientation in filter mode. These fonts can
only be used in image mode. If the user has the option of printing in either filter mode or image
mode and can use the fonts available in either mode, then better performance will be achieved by
printing in filter mode. The main reason for this is that filter mode text is printed in a "nonÂgraphics" mode where image mode text is printed in a "raster graphics" mode. In filter mode, the
printer can skip blank areas between lines of text. In image mode, the blank areas as well as the
text are printed. Generally speaking, for this reason, graphics images do not print as quickly as
straight text alone.
If the user requires the printing of expandable characters, sideways text, lines and/or boxes, bar
codes or logo images, then image mode must be used. Many labels can be designed where text
printing and graphics printing can occur with optimal performance. If graphics images can be
printed at the top, middle or bottom of a label and not all the way from top-to-bottom of the
label, then printing will occur more quickly. If "boxes" or "lines" are not required as a border
around the label, for optimal throughput, do not use them. If bar codes can be printed
horizontally instead of vertically, then this can have a big impact on the overall print speed of a
print job. Utilize filter mode printing wherever possible and resort to image mode printing only
when necessary to achieve the best overall performance.
Label Design Considerations
It is a good idea to know what a label is to look like before coding it for printing. Sketching the
label on graph paper or better yet, a printer layout sheet before coding begins can eliminate a lot
of time in the design process. A ruler with 1/10 inch, 1/6 inch and 1/8 inch markings will also be
very handy. Label stock selection criteria should include: material makeup of the label which
will work well with the printer, label size based on standard units (1/10 inches horizontal and 1/6
or 1/8 inches vertical) plus any other issues which are required to satisfy the printing
requirements.
Before coding of a label begins, one of two different implementation methods should be decided
upon. The Imager has two different methods for processing a label image:
•Buffered Overlay,
•In-line Coding.
When the buffered overlay method is used, the Imager will "save" the commands for printing a
label image and store them. Then the user can simply send the data down to "fill in" the labels
with variable data. The in-line coding method involves the repetitive transmission of commands
to the Imager to print label images. Many previously designed labels use the in-line coding
method. The primary reason for this was the limited memory space available on the older printer
controllers; only small labels could use the buffered overlay method. Today, however, lack of
memory space is not as big a problem as it once was. It is recommended that when designing
and coding a label, the buffered overlay method be used whenever possible. There are two main
Imager Overview
14
reasons for this recommendation: First, the volume of data (characters) transmitted to the printer
is considerably less when the buffer overlay method is used. The label image only has to be sent
one time. Thereafter, only data to fill it out is necessary. Second, the code is easier to maintain
because the label commands are generated at one time and do not have to be interspersed with
the data at print time by the user.
If the labels do not need to be "filled out" with variable data, then the buffered overlay method
would probably not be necessary. This would include labels which may only be printed one time
or labels which have incrementing or decrementing serial numbers and which utilize the Imager
"repeat loop" command.
Buffered Overlay Overview
Label printing almost always starts with the ^PY command. This command informs the Imager
to make the filter mode and image mode commands available for use. The second command will
normally be a ^F command. This tells the Imager to "eat" any carriage control character which
it may encounter. This command is especially useful with systems which automatically generate
carriage control commands with each line sent to the printer. With this command, the label
designer has direct control over the movement of the label or paper in the printer. If the ^F
command is used, then the only way carriage returns, line feeds and form feeds will occur is if
the designer programs them in with the ^-, ^* and ^, "printer control" commands.
A typical buffered overlay label would have the following generalized format:
^PY^-turn image processing ON
^Fturn free format processing ON
^Bstart buffer overlay definition
(text and graphics label definitions)
^]end of buffer overlay definition
(variable data fields to "fill-out" the label)
^Gend of the variable data
^Oturn free format processing OFF
^PN^-turn image processing OFF
The "text and graphics label definitions" shown in the example may be made up of filter mode
commands or printable text or image mode commands. The "variable data fields" are simply a
list of data which will be mapped into predefined locations in the label image when it prints.
More information concerning the "buffered overlay" command is available in Filter ModeCommands in the Reference Section.
Imager Overview
15
As shown in the example, it is good practice to "turn OFF" functions which have been "turned
ON" in the process of printing labels. This will leave the printer in a known state when a job
completes and the printer will be ready for the next print job. Failure to deactivate certain
functions after they have been activated can cause "mysterious" problems for the next job or user
of the printer.
Basic Commands
The Imager command set allows it to be fully controlled and utilized using only printable ASCII
characters. Image commands may be generated by a specially designed program, written in
whatever programming language is convenient. Or, image commands may simply be placed in a
file created with a standard text editor or word processor. When generating image commands, it
will be helpful to keep the following points in mind.
Image commands are case sensitive. There is a difference between upper-case and lower-case
letters in image commands. In most commands, upper-case letters are required.
If a command accepts parameters, there usually are no default values, so the parameters must be
specified. When specifying parameters, the exact number of characters (including leading zeros)
must appear in the command sequence.
Spaces may not be embedded within a command sequence (unless they are data to be printed).
Turning the Imager On and Off
In pass-thru mode, the Imager simply passes all data received on through to the printer. This
may be thought of as passive processing, or you may think of the Imager as being turned off.
Placing the Imager in filter mode enables translation processing, and may be thought of as
turning it on.
Sending the command ^PY to the printer will activate filter mode. Sending the command ^PN
will deactivate filter mode and return to pass-thru mode.
Some special rules should be followed when coding the ^PY command:
•The ^PY command must be the first printable characters (preceding spaces do not count) on a
new line to be recognized.
•The ^PY command should be terminated by a filter mode carriage return, ^- (hat-dash).
•The ^PY^- sequence should be terminated by an ASCII control character, i.e. carriage return
or line feed. If a carriage return and/or line feed occurs within four character positions
following the ^PY command, they will be absorbed by the Imager, and no paper motion will
occur. Otherwise, the carriage return and/or the line feed characters will be passed on to the
printer for the printer to process.
Filter mode may also be activated by specifying "Translation: On" in the "Setup: Options"
menu on the printer's control panel. If "Translation: On" has been set, the Imager will be
initialized to filter mode at power-up or printer reset. In this case, the ^PN command will not
reset the Imager to pass-thru mode; that can only be accomplished by changing the "Translation"
value through the printer's control panel.
17
Basic Commands
18
Free Format
Free format disables the processing of control codes (ASCII codes 00h to 1Fh). All carriageÂcontrol commands, such as carriage return, line feed, and form feed, will be absorbed so they
will not be acted upon by the printer.
Some operating systems and application software may automatically generate certain control
codes in the data stream. Unexpected control codes could prematurely terminate the pass, cause
undesired paper motion, etc. Free format will avoid these problems.
Free format also allows the programmer to separate image commands with line breaks, to greatly
increase readability. With free format on, image commands on consecutive lines within a file are
treated as a single command line. A pass terminator ends the command line.
Since free format causes all control characters to be ignored, the programmer must explicitly
provide for forms control (line feed, form feed, etc.) with the appropriate image commands.
Free format is enabled by the ^F command, and disabled by the ^O command. Free format is
also disabled when the ^PN command is used to turn the Imager off.
Ignore Character
The ^X command will cause all subsequent characters to be ignored, until a ^A command is
received. If a ^A command is never received, then none of the incoming data will be processed
or printed. Use of the ignore character command is illustrated below:
^X this text is absorbed (eaten) ^A and this data is printed.
Ignore character may be useful if a word processor or programming language is sending
undesired characters to the printer. Ignore character may also be used to embed comments
among image commands:
^PY^-activate filter mode
^Feat all carriage control
^Xbegin ignoring characters
This is a commentthe comment line will not be printed
^Astop ignoring characters
^PN^-return to pass-thru mode
When debugging Imager code, ignore character may be used to comment out certain lines of
code while other lines are being debugged.
Basic Commands
19
Changing the Image Control Character
Some applications require use of the caret ('^') character, which is the default image control
character for image commands.
The ^Nc command may be used to change the image control character to any other printable
character, c. For example, the command ^N~ would change the image control character to a
tilde. If you change the image control character, be sure that all subsequent image commands
use the new control character. If an inappropriate character (i.e. one that appears in the data
stream for other reasons) is set as the image control character, unpredictable printing results will
occur.
The default image control character may be changed via the printer's control panel, by changing
the "Control Char" value in the "Setup: Options" menu.
Printing the Image Control Character
The image control character may be printed by selecting a new image control character, printing
the old control character, and then changing back to the old control character. The image
command sequence "^N~^~N^" will print as the single character '^'.
Printing Normal Characters
Normal characters, using the resident printer fonts and printing at the normal character print
speeds, can be printed in pass-thru mode and filter mode.
Printing text (or anything else for that matter) in pass-thru mode does not use any of the
capabilities of the Imager; all printed images are handled by the printer's resident emulation. All
data is simply passed through the Imager to the printer.
Text which is printed in filter mode also uses the resident printer fonts and normal character print
speeds, but a new wrinkle is added because translation processing has been activated. If free
format is off, the provided text will print "as is". For example:
^PY^Â^O
First line of normal text.
Second line of normal text.
^PN^-
Basic Commands
20
But if free format is on, an explicit line terminator command must be added at the end of each
line of text. For example:
^PY^Â^F
First line of normal text.^-^*
Second line of normal text.^-^*
^PN^-
Normal characters using the resident printer fonts cannot be printed in image mode. Any
characters printed in image mode will be generated by the Imager and printed in a "raster
graphics" mode.
Characters
Large Characters (ImagerPlus Only)
The ImagerPlus can generate characters that range in size from 0.1 inch to 9.9 inches. The
characters may be printed in four different orientations: "normal - left-to-right", "sideways - topÂto-bottom", "sideways - bottom-to-top", and "upside down - right-to-left".
The height and width of characters may be varied independently. The width of a character
includes an inter-character gap, used to separate it from the adjacent character. The interÂcharacter gap is a space to the physical right of a normal or upside down character, and at the
physical bottom of sideways characters. The size of the inter-character gap varies with the width
and orientation of the character, but is not adjustable by the programmer.
Before using any of the commands to print large characters, a ^PY command must be used to
activate filter mode. A command may print any number of large characters, within the constraint
that the characters must fit horizontally on the paper. Data which extends beyond the paper will
be lost. A pass terminator must be encountered before printing will actually occur.
Normal - Left-to-Right
The ^M command is used to print large characters in a "normal - left-to-right" orientation. The
universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Mhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch).
ww= Width of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Includes inter-character gap.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, the command sequence "^M1010000IMAGER^-" will print the text string
"IMAGER", using characters that are one inch high and one inch wide.
21
Characters
22
Sideways - Top-to-Bottom
The ^V command is used to print large characters in a "sideways - top-to-bottom" orientation.
The universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Vhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Represents the physical (vertical) height.
Since the characters are sideways, it really specifies what
would classically be thought of as character width. Includes
inter-character gap.
ww= Width of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Represents the physical (horizontal) width.
Since the characters are sideways, it really specifies what
would classically be thought of as character height.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, the command sequence "^V0710000DOWN^-" will print the text string
"DOWN", using characters that are one inch high and 0.7 inch wide. The characters will print
sideways, from top to bottom.
Characters
23
Sideways - Bottom-to-Top
The ^E command is used to print large characters in a "sideways - bottom-to-top" orientation.
The universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Ehhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Represents the physical (vertical) height.
Since the characters are sideways, it really specifies what
would classically be thought of as character width. Includes
inter-character gap.
ww= Width of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Represents the physical (horizontal) width.
Since the characters are sideways, it really specifies what
would classically be thought of as character height.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, the command sequence "^E0710000UP^-" will print the text string "UP", using
characters that are one inch high and 0.7 inch wide. The characters will print sideways, from
bottom to top.
Characters
24
Upside Down - Right-to-Left
The ^U command is used to print large characters in an "upside down - right-to-left" orientation.
The universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Uhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch).
ww= Width of characters in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch). Includes inter-character gap.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, the command sequence "^U1010000IMAGER^-" will print the text string
"IMAGER", using characters that are one inch high and one inch wide. The characters will
print upside down, from right to left.
Small Characters
The same image commands (^M, ^V, ^E, ^U) that are used for printing large characters may also
be used for printing small, non-scalable characters. The characters may be printed in four
different orientations: "normal - left-to-right", "sideways - top-to-bottom", "sideways - bottomÂto-top", and "upside down - right-to-left". (ImagerPlus only. The Imager will only print small
characters in the "normal - left-to-right" orientation.)
The small characters may be generated in four different pitch sizes: 7.5 cpi, 10 cpi, 12 cpi, and
15 cpi. The 7.5 cpi characters are 0.2 inch high; all of the other characters are 0.1 inch high.
Before using any of the commands to print small characters, a ^PY command must be used to
activate filter mode. A command may print any number of small characters, within the
constraint that the characters must fit horizontally on the paper. Data which extends beyond the
paper will be lost. A pass terminator must be encountered before printing will actually occur.
Characters
25
7.5 Pitch
The following commands may be used to print small characters at 7.5 cpi. The characters will be
0.2 inch high. The vertical positioning (justification) is specified, followed by the characters to
be printed. The command formats are:
where:jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, "^M0000000ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789^-" will
print the text string "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", using a
character pitch of 7.5 cpi.
10 Pitch
The following commands may be used to print small characters at 10 cpi. The characters will be
0.1 inch high. The vertical positioning (justification) is specified, followed by the characters to
be printed. The command formats are:
where:jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Dharacter or characters to be printed.
For example, "^M0101000ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789^-" will
print the text string "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", using a
character pitch of 10 cpi.
Characters
26
12 Pitch
The following commands may be used to print small characters at 12 cpi. The characters will be
0.1 inch high. The vertical positioning (justification) is specified, followed by the characters to
be printed. The command formats are:
where:jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, "^M0001000ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789^-" will
print the text string "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", using a
character pitch of 12 cpi.
15 Pitch
The following commands may be used to print small characters at 15 cpi. The characters will be
0.1 inch high. The vertical positioning (justification) is specified, followed by the characters to
be printed. The command formats are:
where:jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
c...c = Character or characters to be printed.
For example, "^M0100000ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789^-" will
print the text string "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", using a
character pitch of 15 cpi.
Characters
27
High-Resolution Small Characters
Six different high-resolution fonts are available through the ^S command for generating small
characters. Pitch sizes vary, but all of the characters are 0.1 inch high.
High-resolution characters can be printed in a "normal - left-to-right" orientation and an "upside
down - right-to-left" orientation. They cannot be printed in a "sideways" orientation. Reverse
image is not allowed. The OCR-A font contains only upper case characters.
Before using the ^S command to print small characters, a ^PY command must be used to activate
filter mode, and a ^M command must be used to activate image mode "normal - left-to-right"
graphics processing. Any number of small characters may be printed, within the constraint that
the characters must fit horizontally on the paper. Data which extends beyond the paper will be
lost. A pass terminator must be encountered before printing will actually occur.
To change between high-resolution fonts within a sequence, just issue another ^S command. To
change to large characters or standard resolution small characters, another ^M, ^V, ^E, or ^U
command must be issued, but it is not necessary to start a new pass.
For example, the command sequence "^M0101000^S6OCR-A FONT^-" will print the text
string "OCR-A FONT", using OCR-A characters at a character pitch of 10 cpi.
Characters
28
Lower Case Descenders
Some lower case characters (g, j, p, q, y) have descenders which are designed to print below the
font base line. The Imager can print these characters in two different ways: aligned at the font
base line, or descending the appropriate distance below the base line.
The ^D command is used to toggle from "descenders off" to "descenders on" and vice-versa.
The command format is:
^D
For example, the command sequence "^M0202000THE gjpqy BASE ^Dgjpqy^D LINE^-"
will print the text string "THE gjpqy BASE gjpqy LINE". The first "gjpqy" will have
descenders aligned at the base line. The second "gjpqy" will have descenders extending below
the font base line.
When image mode is activated, the pass always begins with "descenders off". The first ^D will
set "descenders on". A second ^D will set "descenders off", as will a pass terminator. The state
of descenders may be toggled as many times as necessary within the pass.
Setting "descenders on" within an image pass will produce an under-character gap that would not
otherwise be present. This is true even if no lower case characters with descenders are printed.
This command is valid for image mode graphics fonts which include the expandable characters.
It does not include the "high-resolution fonts" which are activated with the image mode ^S
command. The high-resolution fonts always print the descender characters below the font base
line.
Reverse Image
By default, the Imager generates black print on a white background (i.e. black characters on
white paper). Reverse image will change this to white print on a black background (i.e. white
characters on black paper).
The ^R command is used to toggle reverse image on and off. The command format is:
^R
For example, the command sequence "^M0505000^RREVERSE^RIMAGE^-" will print the
text string "REVERSE" with white characters, followed immediately by the text string
"IMAGE" in black characters.
Characters
29
When image mode is activated, the pass always begins with reverse image off. The first ^R will
turn reverse image on. The second ^R will turn reverse image off, as would the pass terminator.
Reverse image may be toggled as many times as necessary within the pass.
Only characters (not boxes, lines, or bar codes) may be printed in reverse image. Printing in
reverse image will increase the size of the character cell, since additional space is required to
create the black border around the character. Selecting a new font will turn reverse image off.
Half-Tones
Half-tone shading is created by printing every other dot. The ^KH command is used to toggle
half-tone shading on and off. The command format is:
^KH
For example, the command sequence "^M0505000^KHhalf-^KHtone^-" will print the text
string "half-" with half-tone shading, followed immediately by the text string "tone" with normal
shading. The first ^KH will turn half-tone shading on. The second ^KH will turn half-tone
shading off. Half-tone shading may be toggled as many times as necessary within the pass.
Half-tone shading is not turned off by the pass terminator, or reset when image mode is
activated. Once it is turned on, half-tone shading must be explicitly turned off or it will stay on,
even for subsequent image passes.
Although by default every other dot is turned off to create half-tones, the actual shading pattern
may be modified. The ^KL command is used to define half-tone shading patterns. It defines a 6
bit pattern which is replicated horizontally across an image and which is alternated with the
"reverse image" of the same pattern vertically down the image. The command format is:
^KLpp
where:pp = Pattern; two hexadecimal digits from C0 to FF, or 00, 01, or 04.
Characters
30
There are 64 user definable patterns, from 'C0' through 'FF'. There are three "built-in" shading
patterns, designated by 'pp' values of '00', '01', and '04'.
ppShading Pattern
00vertical stripes
01diagonal stripes, lower left to upper right
04diagonal stripes, upper left to lower right
C0 to FFuser definable patterns
The ^KL command will turn half-tone shading on, in addition to changing the pattern for halfÂtone shading. The ^KH command must still be used to turn half-tone shading off.
Once the half-tone shading pattern has been changed, the new pattern will remain in effect until a
different pattern is explicitly set. The pattern is not reset to its default value by the pass
terminator, or when image mode is activated. A pattern value of 'EA' will restore the default
shading pattern of every other dot, as shown in the example below:
^M0504000^KH^KL00STRIPES^KLEADEFAULT^KH^-
This image sequence will print the text string "STRIPES" with the special "built-in" half-tone
shading pattern that creates vertical stripes, and will then print the text string "DEFAULT" with
the standard half-tone shading pattern.
Half-tone shading can be applied only to characters, and the reverse image background of
characters. Half-tones cannot be used with boxes, lines, or bar codes.
Boxes and Lines (ImagerPlus Only)
The ImagerPlus is capable of drawing solid and dashed lines, boxes, and forms. Lines may be
drawn in varying lengths and widths, and may be drawn horizontally and vertically. Diagonal
lines and curved lines are not supported.
All commands to draw lines, boxes, and forms must be contained within an image sequence. But
they are drawn according to absolute height and width dimensions that will not be rotated to a
different orientation. Any prefix (^M, ^V, ^E, ^U) may be used to enter image mode to draw
lines, boxes, and forms; the implied orientation and any universal height and width specifications
will not affect the drawing of these structures (but it will affect characters contained in the pass).
Lines, boxes, and forms are drawn at the current print position. Horizontal tabbing and
justification commands may be used to reach the desired print position.
Solid Lines
The ^LS command is used to define a solid line. The command requires the height and width to
be entered. The command format is:
^LShhhdvvvd
where:hhh= Horizontal dimension in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
Although this command is used to draw "lines", it actually defines a rectangular solid, and may
be used to draw solid boxes. In thinking of these rectangular boxes as lines, the direction of the
line is determined by which dimension (horizontal or vertical) has the greater value. The length
and thickness of a line must be at least one dot.
For example, the command sequence "^M^LS04000003^-" will draw a horizontal line that is
four inches long and three dots thick.
31
Boxes and Lines
32
The command sequence "^M^LS00060200^-" will draw a vertical line that is two inches long
and six dots thick.
The command sequence "^M^LS01000100^-" will draw a solid one inch square.
Dashed Lines
The ^LD command is used to define a dashed line. The command requires the height and width
to be entered. The direction of the line is determined by which dimension (horizontal or vertical)
has the greater value. The command format is:
^LDhhhdvvvd
where:hhh= Horizontal dimension in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
d= Horizontal dimension additional dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
vvv= Vertical dimension in 1/10 inches;
three digits from 000 to 132 (e.g. 050 = 5.0 inches).
d= Vertical dimension additional dots (1/72 inches);
one digit from 0 to 9 (e.g. 7 = 7/72 inch).
When a dashed line is drawn, the line is dashed in 1/10 inch segments. The odd segments of the
line are printed and the even segments are left blank. If the length of the line is an even number
of tenths, the last tenth will be blank, so the line will appear to be one tenth shorter than
specified. If the length of the line contains an additional number of dots, the dots will only be
printed if they fall within an odd segment. Space will be reserved for the full length of the line,
even if the final dots are not printed.
Boxes and Lines
33
For example, the command sequence "^M^LD04000003^-" will draw a horizontal dashed line
that is four inches long and three dots thick.
The command sequence "^M^LD00060200^-" will draw a vertical dashed line that is two
inches long and six dots thick.
The last tenth inch of these lines will be blank, so they will actually appear to be 3.9 and 1.9
inches long. The command sequences "^M^LD03900002^-" and "^M^LD00060190^-" would
draw lines that are identical in appearance to the previously drawn lines, but they would reserve
only 3.9 and 1.9 inches of space, instead of 4.0 and 2.0 inches of space.
Remember that the direction of the line is determined by which dimension (horizontal or
vertical) has the greater value. A horizontal line will be dashed along the horizontal axis. A
vertical line will be dashed along the vertical axis. If the horizontal and vertical dimensions of a
line are identical, the line is considered to be a horizontal line.
For example, the command sequence "^M^LD01000100^-" will draw a series of vertical bars,
each one inch tall and one tenth inch wide, in a picket fence pattern.
Similarly, the command sequence " ^M^LD01000110^-" will draw a series of horizontal bars in
a ladder pattern.
Boxes and Lines
34
Boxes
It is possible to create boxes using only the ^LS line drawing command, by combining two
horizontal and two vertical lines (along with the necessary tab and justification commands). But
it is much easier to create boxes by simply using the box command.
The ^LB command is used to define a rectangular box. The command requires the height,
width, and box "side" thicknesses to be entered. The command format is:
^LBhhhdvvvdhv
where:hhh= Horizontal dimension in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
h= Horizontal sides thickness in dots (1/72 inches);
one digit from 0 to 9 (e.g. 7 = 7/72 inch).
v= Vertical sides thickness in dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
The horizontal dimension must be greater than twice the thickness of the vertical sides. The
vertical dimension must be greater than twice the thickness of the horizontal sides.
For example, the command sequence "^M^LB0400010032^-" will draw a box that is four
inches wide and one inch high. The horizontal sides will be three dots thick; the vertical sides
will be two dots thick.
Forms
The "form" command allows the programmer to print vertical lines within a box without sending
separate commands to define the box and each line in the box.
The ^LF command is used to define a "form", by printing vertical lines within a box. The
vertical lines are drawn from the top edge to the bottom edge of the box. The command requires
Boxes and Lines
35
the height, width, and "side" thicknesses of the box to be entered, as well as the position and
thickness of each vertical line within the box. The command format is:
^LFhhhdvvvdhvpppdt...pppdt^G
where:hhh= Horizontal box dimension in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
h= Horizontal sides thickness in dots (1/72 inches);
one digit from 0 to 9 (e.g. 7 = 7/72 inch).
v= Vertical sides thickness in dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
ppp= Vertical line placement in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
d= Vertical line placement additional dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
t= Vertical line thickness dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
The command has a variable number of parameters, with each pppdt representing another
vertical line to be drawn in the box. The first vertical line drawn in the box is positioned relative
to the left side of the box. Subsequent vertical lines are positioned relative to the previous
vertical line; not relative to the left side of the box. Since an arbitrary number of parameters may
be specified, a ^G is used to terminate the command.
For example, the command sequence "^M^LF04000100320100102001^-" will draw a box that
is four inches wide and one inch high. The horizontal sides will be three dots thick; the vertical
sides will be two dots thick. Two vertical lines, each one dot thick, will be drawn in the box at a
one inch and two inch interval.
Bar Codes
The Imager is capable of printing many types of bar codes, both horizontally and vertically
(ImagerPlus only). Horizontal bar codes resemble a picket fence; vertical bar codes resemble a
ladder. Human readable text can be automatically printed beneath horizontal bar codes, and to
the right of vertical bar codes.
The Imager automatically calculates and includes check digits in all bar codes that require them.
The check digits are calculated from the supplied bar code data, and included somewhere in the
bar code along with the data. Check digits are used by bar code readers to insure that a bar code
has been read correctly, or to detect the input error.
The programmer can specify the height of the bar codes. The actual width of a bar code will
depend upon the bar code type and density, the data encoded, and the ratio of the bars and spaces
in the bar code.
The Imager is pre-programmed with numerous bar code types, all capable of printing at the most
popular ratios (see the standard bar code table). Variable ratio bar codes may also be printed,
giving an almost infinite variety of bar code sizes.
Bar code commands must be contained within an image sequence. Any prefix (^M, ^V, ^E, ^U)
may be used to enter image mode to draw bar codes; the universal height or width specification
will affect the "height" of bar codes, but the implied orientation will not affect how the bar codes
are drawn.
Bar codes are drawn at the current print position. Horizontal tabbing and justification commands
may be used to reach the desired print position.
Horizontal Bar Codes
The ^B command is used for printing horizontal bar codes. The height parameter of the
preceding image command (^M, ^V, ^E, ^U, or ^H) will determine the bar code height. The
command format is:
^Batd...d^G
where:a= Human readable autoprint indicator,
one character, valid entries are: 'Y'es, 'N'o or 'O'CR.
t= Bar code type, one character, see the Standard Bar Code Table.
d...d = Data to encode as a bar code,
^-terminate image mode and print
^,issue a label-feed (form feed)
^Oturn ^F command off
^PN^-return to pass-thru mode
Will print the following bar code:
Vertical Bar Codes
The ^C command is used for printing vertical bar codes. The width parameter of the preceding
image command (^M, ^V, ^E, ^U, or ^W) will determine the bar code "height". The OCR font
is not available for printing human readable text with vertical bar codes. The command format
is:
^Catd...d^G
where:a= Human readable autoprint indicator,
one character, valid entries are: 'Y'es or 'N'o.
t= Bar code type, one character, see the Standard Bar Code Table.
d...d = Data to encode as a bar code,
ZCode 128 (Auto Select A,B,C)Pseudo Mod 1031:1:2:2:3:3:4:4
1UCC-128Pseudo Mod 10/
2PostNetMod 10
1:1:2:2:3:3:4:4
Pseudo Mod 103
Bar Codes
41
Variable Ratio Bar Codes
The ^B and ^C commands that are used to print standard bar codes are also used to print
variable ratio bar codes. In fact, printing variable ratio bar codes is done in an identical manner
except that the desired ratio must also be specified. This ratio will override the default ratio that
is normally used to print the standard bar code. The height of the bar code will be determined by
the preceding image commands. The OCR font is not available for printing human readable
text with vertical bar codes. The command formats are:
^Ba9tr...rd...d^G
or
^Ca9tr...rd...d^G
where:a= Human readable autoprint indicator,
one character, valid entries are: 'Y'es, 'N'o or 'O'CR.
9= '9' indicating a user defined ratio follows.
t= Bar code type, one character, see the Standard Bar Code Table.
r...r= User defined ratio; a variable number of digits,
depending on bar code type, each digit from 1 to F.
d...d = Data to encode as a bar code,
a variable number of characters and/or digits.
^G= Bar code sequence terminator.
The r...r ratio is specified in pairs of digits representing bar/space ratios. The number of digits
that must be specified depends on the bar code type; it will be the same as the number of digits in
the default ratio in the Standard Bar Code Table. For example, code 39 requires the specification
of four digits, representing the width of narrow bars, narrow spaces, wide bars, and wide spaces
respectively.
^BY9A1234HELLO^Gdefine bar code; code 39 w/ratio 1:2:3:4
^-terminate image mode and print
^,issue a label-feed (form feed)
^Oturn ^F command off
^PN^-return to pass-thru mode
Will print the following bar code:
Bar Codes
42
Special Autoprint Options
The bar code commands (^B and ^C) usually use a 'Y ' or 'N' to indicate autoprinting of human
readable text under a bar code. Several additional options are available.
If a number from '1' to '6' is used instead of the 'Y', then the high-resolution font corresponding to
the ^S font select command will be used. For example, the sequence "^M05^B1A12345^G^-"
will print the following bar code, using high-resolution 10 cpi characters for autoprint.
Scalable (large) characters may be used for autoprinting by replacing the 'Y' with a string of the
form "9hhww", where "hh" is the character height and "ww" is the character width in tenth
inches. For example, the sequence " ^M07^B90303A12345^G^-" will print the following bar
code, using autoprint characters that are three tenths of an inch high and wide.
The same approach will also work for variable ratio bar codes. The sequence
"^M15^B907079A226612345^G^-" will print the following bar code at twice its default ratio,
using autoprint characters that are seven tenths of an inch high and wide.
It is also possible to force the autoprint characters to print above or below the bar code. For
horizontal bar codes, the autoprint characters print below the bar code by default. If the 'Y' is
preceded by an 'A', the characters will print above the bar code. For example, the sequence
"^M05^BAYA12345^G^-" will print the following bar code.
Bar Codes
43
For vertical bar codes, the autoprint characters print "above" the bar code by default. If the 'Y' is
preceded by a 'B', the characters will print "below" the bar code. For example, the sequence
"^M05^CBYA12345^G^-" will print the following bar code.
Bar Code Symbologies
A bar code is a graphical representation of characters. A bar code symbol contains a sequence of
varying width bars and spaces representing the characters encoded in the bar code. The actual
pattern necessary to encode a particular character is dependent upon the type of bar code. The
length of a bar code is dependent upon the type of bar code, the number of data characters
encoded, and the bar/space ratios.
Different bar code symbologies support different character sets. Numeric symbologies can
encode only numbers. Other symbologies can encode alphanumeric characters, and some can
encode the entire ASCII character set.
Bar code symbologies may be discrete or continuous. In a discrete code, each character can
stand alone and be decoded independently from the adjacent characters. Each character begins
and ends with a bar, and is separated from its neighbor by a loosely toleranced intercharacter gap
that contains no information. In a continuous code, each character begins with a bar and ends
with a space. The end of one character is indicated by the start of the next character. There are
no intercharacter gaps. A continuous code is denser, requiring less symbol length to encode a
given amount of data.
A bar code symbol encodes data in the widths of the bars and spaces. A bar code symbology
may employ only two element widths (wide and narrow), or may employ multiple widths. The
widths of the elements are specified relative to the nominal width of the narrow elements (both
bars and spaces). For example, a bar code with ratio 1:1:3:3 (narrow bar : narrow space : wide
bar : wide space) has wide elements that are three times the width of the narrow elements.
Some bar code symbologies are designed to encode data of a fixed length. Others should be used
only in a fixed length environment because of data security reasons (a partial scan may appear to
be valid). Some symbologies can safely encode variable length data.
Bar Codes
44
Bar code symbologies differ in the amount of data that can be encoded in a given distance.
When comparing the relative densities of different symbologies, it is customary to compare
codes printed with the same nominal width narrow elements.
A symbology is considered to be self-checking if a single printing defect will not cause a
character to be transposed into another valid character in the same symbology.
A start code is a particular pattern of bars and spaces placed at the beginning of a bar code to
indicate to the scanner where the symbol begins. A stop code is a pattern placed at the end of a
bar code to indicate where the symbol ends. The start and stop codes may also indicate the
direction of the scan.
A check character may be placed in a predetermined position in a bar code symbol. The value of
the check character is mathematically calculated from the other characters encoded in the
symbol. The scanner uses the check character to validate that correct data has been decoded. If
the check character can only assume numeric values (0-9), it is often called a check digit.
All bar codes require a quiet zone at each end to permit a scan to begin and end in a blank area.
The quiet zones should be at least 0.25 inches wide and be completely blank to allow accurate
reading of the start/stop codes and to prevent adjacent bar codes from overlapping. The
programmer is responsible for providing adequate quiet zones when printing bar codes.
The different bar code symbologies supported by the Imager are described below. The
description includes start and stop codes, valid character set, the data field, check digits, and any
other information necessary for the creation of valid bar codes.
Code 39
Code 39 was the first alphanumeric symbology to be developed. It is widely used, having
become the de facto standard for nonretail bar codes. It is a discrete, self-checking, variable
length symbology.
An asterisk (*) is used for the start and stop code. They will be included automatically by the
Imager; they should not be included in the data field by the programmer.
The Code 39 character set contains 43 characters: 0-9, A-Z, -, ., $, /, +, %, and space. All
characters are constructed from five bars and four intervening spaces. Of these nine elements,
three are wide and six are narrow. A bar code may contain from 1 to 40 characters.
Code 39 may be printed with or without a check digit. Code 39 type C (see the Standard Bar
Code Table) includes a modulo 43 check digit, which is automatically generated by the Imager.
Code 39 bar codes require a four digit ratio, with the digits representing: narrow bar, narrow
space, wide bar, wide space.
Bar Codes
45
For example, the command sequence "^M05^BYA12345^G" will generate the following bar
code, using the default ratio of 1:1:3:3.
The command sequence "^M08^BY9A226612345^G" will generate the following bar code,
using double the default ratio.
The command sequence "^M05^BYC12345^G" will generate the following bar code,
containing an automatically generated modulo 43 check digit.
Codabar
Codabar is commonly used in libraries, blood banks, and air parcel express applications. It is a
discrete, self-checking, variable length symbology.
Four start/stop code characters (A, B, C, D) are available in any combination as start/stop codes.
The start and stop code characters must be included as part of the data field to be produced with
the bar code.
The Codabar character set contains 16 characters: the digits 0-9, and the characters $, :, /, ., +, -.
All characters are constructed from four bars and three intervening spaces. A bar code may
contain from 1 to 40 characters.
Codabar bar codes require an eight digit ratio, with the digits representing: narrow bar, narrow
space, wide bar, wide space, ignored, intercharacter gap, ignored, ignored.
For example, the command sequence "^M05^BYDA1234B^G" will generate the following bar
code, using the default ratio of 1:2:3:4:1:1:1:1.
The command sequence "^M08^BY9D24681211A2468B^G" will generate the following bar
code, using double the default ratio.
Bar Codes
46
MSI
MSI Code is primarily used for the marking of retail shelves. It is a derivative of Plessey Code,
which is a "pulse width modulated" code. MSI symbols are variable length, low density,
continuous, and not self-checking.
The MSI character set contains the ten digits 0-9. Each character consists of four bars and four
spaces, with each bar-space pair representing one bit of information. Zero bits consist of a
narrow bar followed by a wide space. One bits consist of a wide bar followed by a narrow space.
An MSI symbol includes a start code, data characters, optionally one or two check digits, and a
stop code. The start code, stop code, and check digit(s) will be included automatically by the
Imager. A bar code may contain from 1 to 40 digits.
MSI bar codes require a four digit ratio, with the digits representing: narrow bar, narrow space,
wide bar, wide space.
For example, the command sequence "^M05^BYG0123456789^G" will generate the following
bar code, using the default ratio of 1:1:2:2.
The command sequence "^M08^BY9G22440123456789^G" will generate the following bar
code, using double the default ratio.
Interleaved 2 of 5
Interleaved 2 of 5 is a high density, continuous, self-checking, variable length numeric
symbology. It is used primarily in the distribution industry.
The start code consists of two narrow bars and two narrow spaces. The stop code consists of one
wide bar, a narrow space, and a narrow bar. They will be included automatically by the Imager.
The Interleaved 2 of 5 character set contains the ten digits 0-9. Each Interleaved 2 of 5 character
actually encodes two digits; one in the bars and one in the spaces. There are five bars, two of
Bar Codes
47
which are wide and three of which are narrow. Likewise, there are five spaces, two of which are
wide and three of which are narrow. All of the odd-positioned digits are encoded in the bars, and
all of the even-positioned digits are encoded in the spaces. The interleaving process requires an
even number of digits. If an odd number of digits is specified, a leading zero is automatically
inserted by the Imager. A bar code may contain from 1 to 40 digits.
Interleaved 2 of 5 bar codes require a four digit ratio, with the digits representing: narrow bar,
narrow space, wide bar, wide space.
For example, the command sequence "^M05^BYK123456^G" will generate the following bar
code, using the default ratio of 1:1:3:3.
The command sequence "^M08^BY9K2266123456^G" will generate the following bar code,
using double the default ratio.
A partial scan (a scan that does not include both quiet zones) of an Interleaved 2 of 5 bar code
has a high probability of decoding as a valid, but shorter symbol. This is due to the simple
structure of the start and stop codes -- a partial scan of an Interleaved 2 of 5 digit can appear to
be a start or stop code. Because of this, Interleaved 2 of 5 is best used in a fixed length
application, where the scanner is programmed to look for a specific number of digits. Leading
zeros may be added to maintain fixed length strings.
Another alternative is to add protection stripes, also called bearer bars, to the top and bottom of
the Interleaved 2 of 5 bar code. These prevent a partial scan from being decoded as a valid
symbol. The following code will generate an Interleaved 2 of 5 bar code with bearer bars.
Bar Codes
48
^PY^-activate filter mode
^Fturn free format on
^M10^KFactivate image mode, 1.0 inch height, hi-res on
^T0000^J000^LS01730004print top bearer bar
^T0003^J000^BYK0123456789^G print bar code
^T0000^J083^LS01730004print bottom bearer bar
^KF^-hi-res off
^Oturn free format off
^PN^-return to pass-thru mode
UPCA 11 Digit
The Universal Product Code (UPC) has been used in the supermarket industry since 1973. It is a
fixed length, continuous, numeric symbology. There are three versions of the UPC symbol:
Version A, which encodes 12 digits; Version E, which encodes six digits; and Version D, which
encodes variable length data. Version D is rarely used, and is not supported by the Imager.
A UPC Version A symbol consists of a left guard pattern, six numeric digits, a center guard
pattern, six more numeric digits, and a right guard pattern. The first digit is the UPC number
system digit. The next five digits are the UPC manufacturer's code. The following five digits
are the UPC product code. The last digit is a modulo 10 check digit.
For the UPCA 11 Digit bar code (type P), the programmer must specify exactly 11 digits,
representing the number system, manufacturer's code, and product code. The Imager will
automatically generate the left, center, and right guard patterns, as well as the modulo 10 check
digit.
Bar Codes
49
The UPC symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. UPC bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYP01234567890^G" will generate the following
bar code, using the default ratio of 1:1:2:2:3:3:4:4.
The command sequence "^M08^BY9P2244668801234567890^G" will generate the following
bar code, using double the default ratio.
UPCE 10 Digit
The Universal Product Code (UPC) has been used in the supermarket industry since 1973. It is a
fixed length, continuous, numeric symbology. There are three versions of the UPC symbol:
Version A, which encodes 12 digits; Version E, which encodes six digits; and Version D, which
encodes variable length data. Version D is rarely used, and is not supported by the Imager.
UPC Version E bar codes are special zero-suppressed Universal Product Codes that compress 10
data characters down to six characters using specific rules. A UPC Version E symbol consists of
a left guard pattern, six numeric digits, and a right guard pattern.
For the UPCE 10 Digit bar code (type Q), the programmer must specify exactly 10 digits,
representing the manufacturer's code and product code. The Imager will automatically compress
these 10 digits to six digits, generate the left and right guard patterns, and implicitly encode the
number system digit (always a zero) and the modulo 10 check digit in the bar code.
Bar Codes
50
The UPC symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. UPC bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYQ1230000064^G" will generate the following
bar code, using the default ratio.
UPCE0 6 Digit
The Universal Product Code (UPC) has been used in the supermarket industry since 1973. It is a
fixed length, continuous, numeric symbology. There are three versions of the UPC symbol:
Version A, which encodes 12 digits; Version E, which encodes six digits; and Version D, which
encodes variable length data. Version D is rarely used, and is not supported by the Imager.
UPC Version E bar codes are special zero-suppressed Universal Product Codes that compress 10
data characters down to six characters using specific rules. A UPC Version E symbol consists of
a left guard pattern, six numeric digits, and a right guard pattern.
For the UPCE0 6 Digit bar code (type R), the programmer must specify exactly six digits. These
digits represent the manufacturer's code and product code, but have already been compressed
from 10 digits to six digits. The Imager will automatically generate the left and right guard
patterns, and implicitly encode the number system digit (always a zero) and the modulo 10 check
digit in the bar code.
Bar Codes
51
The UPC symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. UPC bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYR123643^G" will generate the following bar
code, using the default ratio.
UPCE1 6 Digit
The Universal Product Code (UPC) has been used in the supermarket industry since 1973. It is a
fixed length, continuous, numeric symbology. There are three versions of the UPC symbol:
Version A, which encodes 12 digits; Version E, which encodes six digits; and Version D, which
encodes variable length data. Version D is rarely used, and is not supported by the Imager.
UPC Version E bar codes are special zero-suppressed Universal Product Codes that compress 10
data characters down to six characters using specific rules. A UPC Version E symbol consists of
a left guard pattern, six numeric digits, and a right guard pattern.
For the UPCE1 6 Digit bar code (type S), the programmer must specify exactly six digits. These
digits represent the manufacturer's code and product code, but have already been compressed
from 10 digits to six digits. The Imager will automatically generate the left and right guard
patterns, and implicitly encode the number system digit (always a one) and the modulo 10 check
digit in the bar code.
Bar Codes
52
The UPC symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. UPC bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYS123643^G" will generate the following bar
code, using the default ratio.
EAN 13
The European Article Numbering system (EAN) is a superset of UPC, and is the international
standard bar code for retail food packages. An EAN scanner can decode UPC, but a UPC
scanner typically cannot decode EAN. Like UPC, EAN is a fixed length, continuous, numeric
symbology.
An EAN 13 symbol consists of a left guard pattern, six numeric digits, a center guard pattern, six
numeric digits, and a right guard pattern. An EAN 13 symbol contains the same number of bars
as UPC Version A, but encodes a thirteenth digit into the parity pattern of the left six digits.
Two digits are used as flag digits to represent a country code, and one digit is a modulo 10 check
digit. The programmer must specify exactly twelve digits. The Imager will automatically
generate the guard patterns and the check digit.
The EAN symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. EAN bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
Bar Codes
53
For example, the command sequence "^M05^BYT123456123456^G" will generate the
following bar code, using the default ratio.
EAN 8
The European Article Numbering system (EAN) is a superset of UPC, and is the international
standard bar code for retail food packages. An EAN scanner can decode UPC, but a UPC
scanner typically cannot decode EAN. Like UPC, EAN is a fixed length, continuous, numeric
symbology.
An EAN 8 symbol consists of a left guard pattern, four numeric digits, a center guard pattern,
four numeric digits, and a right guard pattern. The eight numeric digits that are encoded include
two flag digits that represent a country code, five data digits, and one modulo 10 check digit.
The programmer must specify exactly seven digits. The Imager will automatically generate the
guard patterns and the check digit.
The EAN symbology uses multiple element widths to encode characters. Each character has
seven modules, which may be either black or white, to create two bars and two spaces of varying
width. EAN bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYU4015347^G" will generate the following bar
code, using the default ratio.
Bar Codes
54
Code 128 A/B/C
Code 128 is a very high density, continuous, self-checking, variable length alphanumeric
symbology. The Code 128 symbology is capable of encoding:
•the full 128 character ASCII character set
•four function code characters (FNC1, FNC2, FNC3, FNC4)
•four code set selection characters (Code A, Code B, Code C, Shift)
•three start characters (Start A, Start B, Start C)
•one stop character.
These characters are encoded using three alternate character sets, A, B, and C Each set includes
start codes and shift codes to control which set is to be used. A given bar/space pattern can have
three different meanings, depending upon which character set is selected. The Imager will
automatically optimize the way a bar code is printed, selecting the appropriate character set(s) to
minimize the length of the bar code, and inserting the necessary start code, shift codes, and stop
code. The Imager will also automatically insert a modulo 103 check digit.
Character set C contains the 100 two-digit pairs 00 to 99. When printing numeric data, the use of
character set C effectively doubles the density of the bar code. The Imager shifts to character set
C when four or more contiguous numeric digits are encountered.
A bar code may contain from 1 to 40 characters. The data can include any printable ASCII
characters. The Imager does not provide a way to specify ASCII control codes, or Code 128
function codes.
The Code 128 symbology uses multiple element widths to encode characters. Each character has
11 modules, which may be either black or white, to create three bars and three spaces of varying
width.
Code 128 bar codes require an eight digit ratio, with the digits representing:
•1 module wide bar
•1 module wide space
•2 module wide bar
•2 module wide space
•3 module wide bar
•3 module wide space
•4 module wide bar
•4 module wide space.
For example, the command sequence "^M05^BYZABC123456^G" will generate the following
bar code, using the default ratio of 1:1:2:2:3:3:4:4.
Bar Codes
55
The command sequence "^M08^BY9Z22446688ABC123456^G" will generate the following
bar code, using double the default ratio.
UCC-128
UCC-128 is a variant of Code 128 that is used in retail distribution applications for serialized
carton tracking. The standard Code 128 character set is used, except that every symbol begins
with a Start C character, followed by a Function Code 1 character, and only numeric data is
encoded. In addition to the modulo 103 check digit that is calculated from all the characters
(excluding the stop code) in the bar code, a modulo 10 check digit is calculated for the numeric
data.
The Imager automatically generates the Start C character, the Function Code 1 character, the two
check digits, and the stop code. A UCC-128 bar code must contain 19 data digits; a modulo 10
check digit will be calculated for these 19 data digits. If 20 data digits are specified, the last digit
will be interpreted as the modulo 10 check digit, and it will be checked for validity. The 19 digit
data string must begin with "00" to be valid. If it begins with other digits, the Imager will print a
Code 128 bar code instead of a UCC-128 bar code.
For example, the command sequence "^M05^BY10000012345555555555^G" will generate the
following bar code, using the default ratio of 1:1:2:2:3:3:4:4.
PostNet
The Postal Numeric Encoding Technique (POSTNET) was developed by the U.S. Postal Service
to provide an optimized bar code system for encoding ZIP Code information on letter mail.
POSTNET may be used to encode five digit ZIP Codes, nine digit ZIP+4 Codes, and 11 digit
Advanced Bar Codes (ABC). ABC's encode a ZIP+4 Code plus a 2 digit Delivery Point.
A POSTNET symbol consists of a left frame bar; five, nine, or 11 data digits; a check digit; and
a right frame bar. The Imager will automatically generate the frame bars and check digit; the
programmer must supply the appropriate number of data digits.
Unlike other bar codes which use variable width bars to encode data, POSTNET uses variable
height bars. Each numeric digit is encoded by a sequence of five bars, two of which are full
height bars and three of which are half height bars.
Bar Codes
56
For example, the command sequence "^M01^BN212345^G" will encode a five digit ZIP Code
in the following bar code.
The command sequence "^M01^BN2123456789^G" will encode a nine digit ZIP+4 Code in the
following bar code.
The command sequence "^M01^BN212345678912^G" will encode an 11 digit ABC in the
following bar code.
Because POSTNET does not use variable width bars, and the absolute size of the bars is
precisely specified by the U.S. Postal Service, variable ratio POSTNET bar codes should not be
specified.
Modification and Positioning Commands
Half-Dots
Half-dot shading is created by printing an additional dot at each half-dot position, thereby
doubling the number of dots printed horizontally and/or vertically. This provides high-resolution
printing, and the increase in density results in a darker image.
The primary use of high-resolution is for enhancing the quality of printed bar codes; it will
provide the best quality bar codes possible with the printer. The "downside" is that it forces the
printer to print more slowly, increases print head wear, and depletes ribbon ink faster. Therefore,
use high-resolution only when it is necessary to achieve the highest quality printer output.
The ^KF command is used to activate and deactivate (toggle) horizontal high-resolution
printing. The command format is:
^KF
(Note: All bar codes, both horizontal and vertical, are printed using horizontal high-resolution
printing. This is necessary to guarantee readable bar codes of the best possible quality, and will
be done whether or not any ^KF commands are issued.)
The ^KV command is used to activate and deactivate (toggle) vertical high-resolution printing.
The command format is:
^KV
(Note: Bar codes are printed without using vertical high-resolution printing, unless the ^KV
command is used. Vertical high-resolution printing may make bar codes less readable, because
the additional dots will force the bars out of spec.)
The command sequence "^M0504000LIGHT^KFDARK^KVDARKER^KV^KF^-" will
print the text string "LIGHT" with half-dotting off, the text string "DARK" with horizontal halfÂdots, and the text string "DARKER" with horizontal and vertical half-dots.
Half-dots will then be turned off. Half-dot shading may be toggled as many times as necessary
within the pass. Half-dot shading will be turned off by the pass terminator, at the end of the pass.
Half-dot shading may be applied to characters, the reverse image background of characters,
boxes, lines, and bar codes. Half-dot shading may be combined with character half-tones to
create even more shading options for characters.
57
Modification and Positioning Commands
58
Modifying Height
The ^H command may be used to change the universal height value within a sequence of image
commands. When this command is encountered, the universal height would have already been
set with a ^M, ^V, ^E or ^U command. This command is available to change that value for
expandable text or a bar code. The command format is:
^Hnn
where:nn= New universal height in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch).
For example, the command sequence "^M1006000TALL^H03SHORT^-" will print the text
string "TALL" with 1.0 inch high characters, followed by the text string "SHORT" with 0.3
inch high characters. Both text strings will be printed with characters that are 0.6 inch wide.
Height may be changed as many times as necessary within the pass. Height is always measured
along the vertical axis of the paper, regardless of the orientation of the images being printed.
Note that only height is affected by this command. Width remains unchanged.
Modifying Width
The ^W command may be used to change the universal width value within a sequence of image
commands. When this command is encountered, the universal width would have already been
set with a ^M, ^V, ^E or ^U command. This command is available to change that value for
expandable text. The command format is:
^Wnn
where:nn= New universal width in 1/10 inches; two digits from 00 to 99
(e.g. 10 = 1.0 inch).
For example, the command sequence "^M1008000WIDE^W04NARROW^-" will print the
text string "WIDE" with 0.8 inch wide characters, followed by the text string "NARROW" with
0.4 inch wide characters. Both text strings will be printed with characters that are 1.0 inch high.
Modification and Positioning Commands
59
Width may be changed as many times as necessary within the pass. Width is always measured
along the horizontal axis of the paper, regardless of the orientation of the images being printed.
Note that only width is affected by this command. Height remains unchanged.
Modifying Justification (Vertical Positioning)
The ^J command may be used to change the justification (vertical positioning) value within a
sequence of image commands. It moves the vertical position for the next image down the
distance specified from the top of the pass. When this command is encountered, the justification
may have already been set with a ^M, ^V, ^E or ^U command. This command is available to
change that value. The command format is:
^Jjjd
where:jjd= Justification from the current position. Indicates how far down
from the top of the pass the next image will begin printing.
jj= 1/10 inches; two digits from 00 to 99 (e.g. 10 = 1.0 inch).
d= Dots (1/72 inches); one digit from 0 to 9 (e.g. 7 = 7/72 inch).
For example, the command sequence "^M0504000STAIR^J050STEP^J100DOWN^-" will
print the text strings "STAIR", "STEP", and "DOWN" with each string being 0.5 inch further
down the page.
Justification may be changed as many times as necessary within the pass. Justification is always
measured along the vertical axis of the paper, relative to the top of the pass, regardless of the
orientation of the images being printed.
Modification and Positioning Commands
60
Horizontal Tab
Horizontal tabbing allows the programmer to set the horizontal print position for the next image
to be defined. It is also possible to change the reference position for horizontal tabs from the left
printable edge to some other horizontal position. Both of these functions are accomplished with
a ^T command, but one is accomplished in image mode and the other is accomplished in filter
mode. There really are two separate commands, which both just happen to use the ^T command
mnemonic. Be careful to avoid confusing these two different commands.
Tabbing in Image Mode
In image mode, the ^T command may be used to tab to a new horizontal print position within a
sequence of image commands. It is an absolute tab that sets the horizontal position for the next
image the distance specified from the left edge of the printable area. When an image is defined
within an image sequence, the print position for the next image in the sequence begins at the
right hand edge of the preceding image. The ^T command should be used to position the cursor
to the correct horizontal position for the next image. The command format is:
^Thhhd
where:hhh= Horizontal position in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
d= Horizontal position in dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
For example, the command sequence "^M0000000ZERO^T0400FOUR^-" will print the text
string "ZERO" at the left edge of the printable area, and the text string "FOUR" four inches
from the left. Horizontal tabs may be used to correctly position each image in the pass.
The ^T horizontal tab command will also reset the font selection to a non-high-resolution font.
When using the ^S command with the ^T command, the ^S must follow the ^T to be effective.
This is illustrated by the following two lines of code:
Horizontal tabs always move along the horizontal axis of the paper, regardless of the orientation
of the images being printed. Horizontal tabs are usually specified relative to the left edge of the
printable area, but this can be changed by the ^T command in filter mode. Do not confuse the ^T
command in image mode (which has been described here) with the ^T command in filter mode.
Modification and Positioning Commands
61
Modifying Reference Position in Filter Mode
In filter mode, the ^T command is a universal "horizontal tab" command. It is used to set a tab
value which is added to all subsequent horizontal tab values used in image mode. The effect is
to change the reference position for horizontal tabs in image mode, so they are no longer
specified relative to the left edge of the printable area. This allows the horizontal placement of
printed information to be "adjusted" without having to change all the individual image mode tab
commands. (The reference position will change for all objects created in image mode, whether
or not they have been positioned by a horizontal tab in image mode.) The command format is:
^Thhhd
where:hhh= Horizontal reference position in 1/10 inches;
three digits from 000 to 136 (e.g. 050 = 5.0 inches).
d= Horizontal reference position in dots (1/60 inches);
one digit from 0 to 9 (e.g. 7 = 7/60 inch).
For example, the command sequence "^T0100^M0000000ZERO^T0400FOUR^-" will print
the text string "ZERO" one inch, not zero inches, from the left edge of the printable area, and the
text string "FOUR" five inches, not four inches, from the left.
Do not confuse the ^T command in filter mode (which has been described here) with the ^T
command in image mode.
Carriage Return
In filter mode, the ^- command (hat-dash) will generate a carriage return control code (0Dh). If
free format is on, this is the only way to send a carriage return to the printer.
In image mode, the ^- command acts as a pass terminator. It will force any defined images to
print, and return to filter mode, but it will not generate a carriage return.
Line Feed
In filter mode, the ^* command (hat-star) will generate a line feed control code (0Ah). If free
format is on, this is the only way to send a line feed to the printer.
In image mode, the ^* command acts as a pass terminator. It will force any defined images to
print, and return to filter mode, but it will not generate a line feed. In image mode, the ^*
command is functionally equivalent to the ^- carriage return command.
Modification and Positioning Commands
62
Form Feed
In filter mode, the ^, command (hat-comma) will generate a form feed control code (0Ch). If
free format is on, this is the only way to send a form feed to the printer.
In image mode, the ^, command acts as a pass terminator. It will force any defined images to
print, and return to filter mode, but it will not generate a form feed. In image mode, the ^,
command is functionally equivalent to the ^- carriage return command.
Line Slew
The ^K and ^W commands may be used to vertically slew a specified number of lines. Each
command has a parameter which represents the number of line feeds to generate. The actual
distance slewed will depend upon the line spacing that is set in the printer, typically 1/6 inch or
1/8 inch per line. The ^K and ^W commands are identical and may be used interchangeably.
The command format is:
^Knn
or
^Wnn
where:nn = Number of line feeds to generate; two digits from 01 to 99.
For example, the command sequence "^K02^-" will skip two lines. The command sequence
"^W02^-" will do the same.
These commands must be used in filter mode; they may not be embedded in a sequence of image
commands in image mode.
Dot Slew
The ^D command may be used to vertically slew a specified number of dots (1/72 inches). The
command format is:
^Dnn
where:nn = Number of dots to slew; two digits from 01 to 99.
For example, the command sequence "^D72^-" will skip one inch. This command must be used
in filter mode; it may not be embedded in a sequence of image commands in image mode.
Printing text without entering image mode to do so after using this command may cause the
printer to "re-align" itself to the next print line after the text is printed.
Graphics
Graphics images may be generated in two different ways: using commands that are native to the
ImagerPlus in image mode, or using commands that are native to the FormsPro 4000/4003, with
the Imager in pass-thru mode.
ImagerPlus Graphics (ImagerPlus Only)
The ^Q command is used to print logos and other "bitmapped" graphics images. These graphics
images are represented in a 7 bit vertical graphics format.
Graphics images are printed horizontally across a label in "bands". Each band is 7 dots high by
as many dots wide as necessary to print across a complete graphics image. If a graphics image is
taller than 7 dots, then printing multiple bands will be necessary to print the entire graphics
image.
Each column of 7 dots in a band is represented by pairs of characters. These characters are
comprised of the characters '0' throught '9' and 'A' through 'F' (16 possible characters). This
representation is referred to as pseudo-hexadecimal or "four-bit hex". That is, the characters
give the appearance of being hexadecimal characters but they are actually 8 bit ASCII characters.
The character pair which would activate all 7 dots (print black) in a column would be the pair
'7F'. The character pair which would deactivate all 7 dots (print white) would be the pair '00'.
The value required to activate the dots in a column is determined by assigning a different value
to each dot in a column. The values assigned to each dot, from the bottom of a column to the
top, is 1, 2, 4, 8, 16, 32, and 64. The bottom dot would be activated with a value of decimal 1.
The top dot would be activated with a value of decimal 64. To turn on any (or all) of the other
dots, simply add their values together. The value required to turn on all 7 dots would be
1+2+4+8+16+32+64 or 127. Converting decimal 127 to hexadecimal (or pseudo-hexadecimal)
would yield '7F' as the pair of characters to use.
The command format is:
^Qxx,...,xx^G
Where: xx= 7 bit pseudo-hex pair.
^G= Graphics terminator.
NOTE: Commas may be used between the character pairs in order to make reading easier but
they are not required.
63
Graphics
64
Example: The following code would print 2 "bands" of an image which forms a "left pointing
arrow".
^PY^-activate filter mode
^Fabsorb carriage control
^M0000000^T0000^Q0103070F1F3F7F07070707070707^Gband #1
^M0000007^T0000^Q00406070787C7E60606060606060^Gband #2
^-terminate image pass
^Odeactivate the ^F command
^PN^-return to pass-thru mode
Using a '*' for a dot and a 'O' for a white space, the above example would look something like
the following:
value
64000000*0000000 -start band #1
3200000**0000000
160000***0000000
8000****0000000
400************
20*************
1**************
640************* -start band #2
3200************
16000****0000000
80000***0000000
400000**0000000
2000000*0000000
100000000000000
bit map
When actually printed, the following result is obtained.
The ^Q graphics command must be contained within an image sequence. Any prefix (^M, ^V,
^E, ^U) may be used to enter image mode before issuing a ^Q command; the implied orientation
and any universal height and width specifications will not affect the graphics command (but it
will affect characters contained in the pass).
Graphics dots will always be printed at a resolution of 60x72 dpi. Graphics images are drawn at
the current print position. Horizontal tabbing and justification commands may be used to reach
the desired print position.
Graphics
65
FormsPro 4000/4003 Graphics
The FormsPro 4000/4003 supports 8 bit vertical graphics in its resident Epson®, Proprinter®,
and Printek emulations. There are several good reasons to use the native FormsPro 4000/4003
graphics commands instead of the ImagerPlus commands:
•If you are using an Imager, not an ImagerPlus, there is no choice. The standard Imager does
not support the ^Q graphics command.
•The native FormsPro graphics commands are more efficient and flexible than the ImagerPlus
^Q command. An 8 bit column is specified instead of a 7 bit column, and only one byte
instead of two is required to represent each column. This can cut the amount of graphics data
by more than half, potentially improving throughput. And more graphics densities are
available.
•Many software programs have drivers for Epson and Proprinter; this graphics format has
become a de facto industry standard.
There is also a very good reason not to use native FormsPro graphics in conjunction with an
Imager board. Graphics data tends to be very random in nature; some of the data bytes may
appear to be Imager commands. All it takes is a hex '5E' graphics data byte (the '^' image control
character) to send the Imager on a rampage; the actual results will depend upon the random
graphics data that follows this byte.
To minimize the chance of triggering the Imager with random graphics data, make sure the
Imager is in pass-thru mode, not filter mode, before sending native FormsPro graphics
commands. Toward this end, make sure that "Translation: Off" is specified in the "Setup:
OPTIONS" menu on the printer's control panel. In pass-thru mode, the random graphics data
must contain a "^PY" sequence before problems can occur. The chance of three consecutive
bytes being "^PY" is relatively low (but not impossible). If a "^PY" does by chance occur, then
all it takes is a single '^' to start causing trouble, and the chance of that is relatively high.
For more information on the native FormsPro 4000/4003 graphics commands, see the FormsPro4000 Programmer's Manual.
Repetitive Printing
The Imager is capable of printing multiple copies of an image. The data for the image needs to
be supplied only once. Vertical repetition may be used to print from 1 to 9999 copies of the
image down the page. Horizontal repetition may be used to print copies of the image across the
page. Each copy of the image will be identical, except that numeric fields may be incremented
or decremented when repeating an image vertically.
Vertical Repetition
The ^R command is used to define an image repeat "loop" to print multiple copies of an image
vertically down the page. Commands and other data which come after this command and occur
prior to its terminator, will be printed multiple times. The command will cause continuous
printing until the repeat "count" has been satisfied. "Repeat" commands may be "nested". That
is, a repeat command may contain other repeat commands. The maximum depth for the repeats
is 10 levels. The repeat terminator is the ^Z "terminator" command. If repeat commands are
nested, one ^Z command will terminate all repeats. Incrementing numbers on an inside and
outside loop increment at the same rate. The command format is:
^Rnnnn
where:nnnn = Repeat count; four digits from 0001 to 9999.
For example, the following repeat loops:
^PY^-activate filter mode
^Feat all carriage control
^R0003set outside repeat count to 3
^-^*CR and LF
OuterLooptext to print 3 times
^R0005set inside repeat count to 5
InnerLooptext to print 15 times
^Zrepeat terminator
^Oturn ^F command OFF
^PN^-return to pass-thru mode
The ^Y command is used to automatically increment or decrement numeric fields. These
numeric fields may be text, bar code data or other command parameters. Use of this command is
most powerful when used inside of a repeating sequence which is controlled by the ^R ("repeat")
command or the ^B ("buffered overlay") command. The command format is:
The following example will print five Code 39 bar codes. The first bar code will have the value
1234 and each successive bar code value will be incremented by 1. The last bar code will have a
value of 1238.
^PY^-activate filter mode
^Fabsorb all carriage control
^R0005set repeat loop for 5 times
^Mactivate image mode
05set height to 0.5 inches
^BYAdefine a bar code
^Y1234+1^Gdefine an increment field
^Gterminate the bar code
^-terminate image mode and print
^-^*CR and LF
^Zrepeat until 5 have printed
^Odeactivate the ^F command
^PN^-return to pass-thru mode
Repetitive Printing
69
The result is shown below.
Horizontal Repetition
The ^S command is used to "spread" label images across a page. It is used to make identical
copies of label images from a single label image. This command may have two parameters or it
may have no parameters. If it is used without parameters, then it deactivates the current "spread"
function. The command format is:
^Snnww
where:nn= Number of times to "replicate" the label.
ww= Width of the label to copy in 1/10 inches.
Includes inter-label gap.
For example, the command sequence "^S0320^M05^BYA123^G^-^S^-" will produce the
following result.
Repetitive Printing
70
Buffered Overlay
The buffer overlay definition command is used to define the beginning of a block of data which
describes a label image. When the Imager encounters the ^B command, it will continue
accepting data until a "buffer overlay termination" command (^]) is found. All data between the
^B and the ^] will be saved and processed as a label. Other filter mode and image mode
commands may be in this buffer overlay sequence. The data which "fills out" the label image is
supplied immediately following the ^] command. The command has no parameters and has the
following format:
^B
An example of buffer overlay follows.
^PY^-activate filter mode
^Feat all carriage control
A BUFFER OVERLAYtext to print one time
^Bstart buffer overlay
FIRST NAME: (15 BYTES) =constant text
^[015variable field #1
^-^*CR and LF
LAST NAME: (20 BYTES) =constant text
^[020variable field #2
^-^*^*CR and 2 LFs
^]buffer overlay terminator
JOE^-variable data - field #1
BLOW^-variable data - field #2
FRED^-variable data - field #1
SMITH^-variable data - field #2
LISA^-variable data - field #1
JONES^-variable data - field #2
^Gterminate variable data
^Oturn ^F command OFF
^PN^-return to pass-thru mode
Repetitive Printing
71
It will produce the following result.
A BUFFER OVERLAY
FIRST NAME: (15 BYTES) = JOE
LAST NAME: (20 BYTES) = BLOW
FIRST NAME: (15 BYTES) = FRED
LAST NAME: (20 BYTES) = SMITH
FIRST NAME: (15 BYTES) = LISA
LAST NAME: (20 BYTES) = JONES
Normally, the variable data fields must be the same size as what the "variable field descriptor"
commands (^[) define. However, a ^-, ^* or ^, within the variable data will pad the rest of the
field with spaces. With the ^* or ^,, the rest of the fields in the buffer will also be padded with
spaces. When a ^G is encountered in the variable data, the buffered overlay processing is
terminated.
There are two optional commands which can be used in conjunction with the "buffered overlay"
command sequence and which provide additional data manipulation capabilities: The ^R
("define variable repeat loop") command (not to be confused with the regular filter mode "define
repeat loop" command) and the ^C ("block copy") command. These two special "buffer overlay"
commands are mutually exclusive. That is, they cannot be used within the same buffer overlay
(label).
The ^R command used in conjunction with the ^B command, unlike the regular filter mode
"define repeat loop" command, has no associated parameters. It performs a similar function of
"repeating" a command sequence but the repeat count is supplied as part of the variable data
immediately following the "buffer overlay termination" command.
Repetitive Printing
72
The following buffer overlay example contains a repeat.
^PY^-activate filter mode
^Feat all carriage control
A BUFFER OVERLAY & REPEATdata to print one time
^Bstart buffer overlay
^Rstart repeat sequence
FIRST NAME: (15 BYTES) =constant text
^[015variable field #1
^-^*CR and LF
LAST NAME: (20 BYTES) =constant text
^[020variable field #2
^-^*^*CR and 2 LFs
^Zterminate the ^R command
^]buffer overlay terminator
0002print field #1 & #2 twice
JOE^-variable data field #1
BLOW^-variable data field #2
0003print field #1 & #2 3 times
FRED^-variable data field #1
SMITH^-variable data field #2
0001print field #1 & #2 once
LISA^-variable data field #1
JONES^-variable data field #2
0000no print
^Gend of data
^Oturn ^F command OFF
^PN^-return to pass-thru mode
Repetitive Printing
73
It will produce the following result.
A BUFFER OVERLAY & REPEAT
FIRST NAME: (15 BYTES) = JOE
LAST NAME: (20 BYTES) = BLOW
FIRST NAME: (15 BYTES) = JOE
LAST NAME: (20 BYTES) = BLOW
FIRST NAME: (15 BYTES) = FRED
LAST NAME: (20 BYTES) = SMITH
FIRST NAME: (15 BYTES) = FRED
LAST NAME: (20 BYTES) = SMITH
FIRST NAME: (15 BYTES) = FRED
LAST NAME: (20 BYTES) = SMITH
FIRST NAME: (15 BYTES) = LISA
LAST NAME: (20 BYTES) = JONES
The ^C command used in conjunction with the ^B command has a two digit parameter. It
performs a code duplication service. All code occuring after the ^C command and prior to the
^Z "termination" command, is duplicated the number of times defined by the ^C parameter.
Repetitive Printing
74
The following buffer overlay example contains a block copy.
^PY^-activate filter mode
^Feat all carriage control
A BUFFER OVERLAY & COPYdata to print one time
^Bstart buffer overlay
^C02duplicate to ^Z 2 times
FIRST NAME: (15 BYTES) =constant text
^[015variable field #1
^-^*CR and LF
^Zterminate the ^C command
LAST NAME: (20 BYTES) =constant text
^[020variable field #2
^-^*^*CR and 2 LFs
^]buffer overlay terminator
JOE^-variable data field #1
E.^-variable data field #2
BLOW^-variable data field #3
FRED^-variable data field #1
F.^-variable data field #2
SMITH^-variable data field #3
LISA^-variable data field #1
J.^-variable data field #2
JONES^-variable data field #3
^Gend of data
^Oturn ^F command OFF
^PN^-return to pass-thru mode
It will produce the following result.
A BUFFER OVERLAY & COPY
FIRST NAME: (15 BYTES) = JOE
FIRST NAME: (15 BYTES) = E.
LAST NAME: (20 BYTES) = BLOW
FIRST NAME: (15 BYTES) = FRED
FIRST NAME: (15 BYTES) = F.
LAST NAME: (20 BYTES) = SMITH
FIRST NAME: (15 BYTES) = LISA
FIRST NAME: (15 BYTES) = J.
Repetitive Printing
75
LAST NAME: (20 BYTES) = JONES
Repetitive Printing
76
Image Interrupt
The ^I "interrupt" command is used to "interrupt" the current image mode processing sequence
and start another one. It allows a second image mode sequence to begin printing while the
previous image mode sequence is still printing. Originally, this command was employed
because printer graphic controllers lacked the memory to process larger image mode sequences.
This command allowed the user to "get around" the memory limitation. Today, this command is
not necessary and its use is not recommended. The effect this command has on the image mode
sequence following the ^I command is to alter its vertical cursor position by the sum of the
interrupt value plus the current image mode sequence's origin. The interrupt process is
terminated when the ^I000 sequence is encountered at the end of an image mode sequence.
The command format is:
^Ittd
where:tt= 1/10 inches to change the vertical position.
d= Dots (1/72 inches) to change the vertical position.
The following code illustrates the use of the interrupt command.
^PY^-activate filter mode
^Fabsorb all carriage control
^Mactivate image mode
05set height to 0.5 inches
05set width to 0.5 inches
000set justification to 0
TEXTtext to print
^I020interrupt after printing 2/10 inches
^-terminate image mode; start printing
^Mactivate image mode (next sequence)
^T0200position (tab) right 2 inches
MORE TEXTtext to print
^I000turn off interrupts
^-terminate image mode; start printing
^Oturn off the ^F command
^PN^-return to pass-thru mode
It will produce the following result.
Repetitive Printing
77
Reference Section
Pass-Thru Mode Introduction
In pass-thru mode, the Imager simply passes all data received on through to the printer. This
may be thought of as passive processing, or you may think of the Imager as being turned off.
The only command recognized in pass-thru mode is the ^PY command.
Pass-Thru Mode Command List
^PYActivate filter mode processing.
^PY command
This command is used to activate filter mode. This string must be the first printable characters
(preceding spaces do not count) on a new line to be recognized. This command has no
parameters. The command format is:
^PY
Filter Mode Introduction
In order to activate filter mode, the command ^PY must be sent to the printer or "Translation:
On" must be specified in the "Setup: Options" menu on the printer's control panel. If
"Translation: On" has been set, the Imager will be initialized to filter mode on power-up or
printer reset. In this case, the ^PN command will not reset the Imager to pass-thru mode; that
can only be accomplished by changing the "Translation" value through the printer's control
panel.
Filter mode commands are divided in to two catagories: "printer control" commands and "regular
filter mode" commands. The printer control commands are simple, single character commands
which, when encountered, send a single, non-printable character to the printer. The regular filter
mode commands perform more elaborate operations on the incoming data.
79
Reference Section
80
Filter Mode "Printer Control" Commands
Printer control commands are used to send non-printable single characters to the printer. These
include the "escape" character, carriage return, line feed, form feed plus numerous other
characters which the user may desire to send to the printer. "Printer control" commands are
normally used in conjunction with the "regular filter mode" commands.
The following example could be used to send a form feed to the printer:
^PY^-activate filter mode
^Fabsorb carriage control characters
^,generate a form feed (hex 0C)
^Oturn the ^F command OFF
^PN^-return to pass-thru mode
^ABegin acknowledging input characters again. Used after the '^X' command.
^B
Begin definition of a buffered overlay sequence. Must be terminated with a '^]'
^DDefine the number of vertical dots to slew (dot-feed). Dots are 72 per inch.
^EBegin image mode processing and define vertical (bottom to top) expandable
^FActivate "free-format" processing; absorb carriage control characters.
^KDefine the number of vertical lines to slew (line feed).
^LDefine the height of a label in number of lines.
^MBegin image mode processing and define upright (normal) expandable
^NDefine a new control character (normally the '^' until changed).
^ODeactivate "free-format" processing; quit absorbing carriage control characters.
^PNDeactivate filter mode processing and reactivate pass-thru mode processing.
^RBegin repeat loop definition. Loop must be terminated by a '^Z'.
^SDefine horizontal duplicate (spread).
^TModify the horizontal cursor absolute ordinate (absolute tab).
^UBegin image mode processing and define upside-down expandable characters
^VBegin image mode processing and define vertical (top-to-bottom) expandable
^WDefine the number of vertical lines to slew (line feed).
^XAbsorb all incoming data until a '^A' command is encountered.
^ZThe "repeat loop" command ('^R') terminator.
^]Buffered overlay sequence terminator. Sequence must begin with a '^B'
command.
characters width and height.
characters height and width.
height and width.
characters width and height.
command.
Reference Section
83
^A command
This command will cause all subsequent characters to not be ignored, thereby counteracting any
^X command that was issued previously. When the ^A command is encountered, the Imager
will stop absorbing or "eating" all incoming data and will begin examining the data again for
other filter mode commands. The command format is:
^A
^B command
The buffer overlay definition command is used to define the beginning of a block of data which
describes a label image. When the Imager encounters the ^B command, it will continue
accepting data until a "buffer overlay termination" command (^]) is found. All data between the
^B and the ^] will be saved and processed as a label. Other filter mode and image mode
commands may be in this buffer overlay sequence. The data which "fills out" the label image is
supplied immediately following the ^] command. The command has no parameters and has the
following format:
^B
Normally, the variable data fields must be the same size as what the "variable field descriptor"
commands (^[) define. However, a ^-, ^* or ^, within the variable data will pad the rest of the
field with spaces. With the ^* or ^,, the rest of the fields in the buffer will also be padded with
spaces. When a ^G is encountered in the variable data, the buffered overlay processing is
terminated.
There are two optional commands which can be used in conjunction with the "buffered overlay"
command sequence and which provide additional data manipulation capabilities: The ^R
("define variable repeat loop") command (not to be confused with the regular filter mode "define
repeat loop" command) and the ^C ("block copy") command. These two special "buffer overlay"
commands are mutually exclusive. That is, they cannot be used within the same buffer overlay
(label).
The ^R command used in conjunction with the ^B command, unlike the regular filter mode
"define repeat loop" command, has no associated parameters. It performs a similar function of
"repeating" a command sequence but the repeat count is supplied as part of the variable data
immediately following the "buffer overlay termination" command.
The ^C command used in conjunction with the ^B command has a two digit parameter. It
performs a code duplication service. All code occuring after the ^C command and prior to the
^Z "termination" command, is duplicated the number of times defined by the ^C parameter.
Reference Section
84
^D command
This command may be used to vertically slew a specified number of dots (1/72 inches). The
command format is:
^Dnn
where:nn = Number of dots to slew; two digits from 01 to 99.
^E command
This command is used to print large characters in a "sideways - bottom-to-top" orientation. The
universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Ehhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99.
Represents the physical (vertical) height. Since the characters
are sideways, it really specifies what would classically be thought
of as character width. Includes inter-character gap.
ww= Width of characters in 1/10 inches; two digits from 00 to 99.
Represents the physical (horizontal) width. Since the characters
are sideways, it really specifies what would classically be thought
of as character height.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99.
d= Dots (1/72 inches); one digit from 0 to 9.
c...c = Character or characters to be printed.
This command will activate image mode. The parameters of this command are optional, but will
be processed if they exist. If while processing the parameters, an invalid parameter such as a
non-digit character is encountered, that parameter plus any remaining unprocessed parameters
are assumed to be zero.
Reference Section
85
This command is also used to print small characters in a "sideways - bottom-to-top" orientation.
If the height and width values are greater than "01", then the active font will be the expandable
font with the height and width assigned by this command. However, if the values are either "00"
or "01", then non-expandable fonts are selected. The fonts are:
Regular Image Mode Fonts
wwhhSelected font
00007.5 cpi
010110 cpi
000112 cpi
010015 cpi
^F command
This command will turn on free format mode, causing all carriage-control commands to be
absorbed so that they will not be acted on by the printer. The command format is:
^F
^G command
This command is the general purpose "terminating" command for certain other filter mode and
image mode commands. It has no parameters and has no meaning unless another command
requires its use. This terminator is normally used with commands that have a variable (nonÂfixed) number of parameters. The command format is:
^G
^H command
This command is used to set the "height" of a label. If this command (or the ^L command) is not
issued, the assumed height of the label is 66 lines. The command format is:
^Hnn
where:nn = Number of lines for the label; two digits from 01 to 99.
This command is identical in operation to the ^L command. The two commands are
interchangeable.
Reference Section
86
^K command
This command may be used to vertically slew a specified number of lines. The command has
one parameter which represents the number of line feeds to generate. The actual distance slewed
will depend upon the line spacing that is set in the printer, typically 1/6 inch or 1/8 inch per line.
This command is identical to the filter mode ^W command. The command format is:
^Knn
where:nn = Number of line feeds to generate; two digits from 01 to 99.
^L command
This command is used to set the "height" of a label. If this command (or the ^H command) is not
issued, the assumed height of the label is 66 lines. The command format is:
^Lnn
where:nn = Number of lines for the label; two digits from 01 to 99.
This command is identical in operation to the ^H command. The two commands are
interchangeable.
^M command
This command is used to print large characters in a "normal - left-to-right" orientation. The
universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Mhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99.
ww= Width of characters in 1/10 inches; two digits from 00 to 99.
Includes inter-character gap.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99.
d= Dots (1/72 inches); one digit from 0 to 9.
c...c = Character or characters to be printed.
This command will activate image mode. The parameters of this command are optional, but will
be processed if they exist. If while processing the parameters, an invalid parameter such as a
non-digit character is encountered, that parameter plus any remaining unprocessed parameters
are assumed to be zero.
Reference Section
87
This command is also used to print small characters in a "normal - left-to-right" orientation. If
the height and width values are greater than "01", then the active font will be the expandable font
with the height and width assigned by this command. However, if the values are either "00" or
"01", then non-expandable fonts are selected. The fonts are:
Regular Image Mode Fonts
wwhhSelected font
00007.5 cpi
010110 cpi
000112 cpi
010015 cpi
^N command
This command is used to change the image control character to any other printable character. If
you change the image control character, be sure that all subsequent image commands use the
new control character. If an inappropriate character (i.e. one that appears in the data stream for
other reasons) is set as the image control character, unpredictable printing results will occur. The
command format is:
^Nc
where:c = New image control character; any printable character.
^O command
This command will turn off free format mode if it has been activated by the ^F command. If
free format mode is not active, this command will have no effect. After this command has been
encountered, all carriage control characters will be processed by the printer. The command
format is:
^O
^PN command
This command is used to terminate filter mode and return to pass-thru mode. The command
format is:
^PN
Reference Section
88
^R command
This command is used to define an image repeat "loop" to print multiple copies of an image
vertically down the page. Commands and other data which come after this command and occur
prior to its terminator, will be printed multiple times. The command will cause continuous
printing until the repeat "count" has been satisfied. "Repeat" commands may be "nested". That
is, a repeat command may contain other repeat commands. The maximum depth for the repeats
is 10 levels. The repeat terminator is the ^Z "terminator" command. If repeat commands are
nested, one ^Z command will terminate all repeats. The command format is:
^Rnnnn
where:nnnn = Repeat count; four digits from 0001 to 9999.
^S command
This command is used to "spread" label images across a page. It is used to make identical copies
of label images from a single label image. This command may have two parameters or it may
have no parameters. If it is used without parameters, then it deactivates the current "spread"
function. The command format is:
^Snnww
where:nn= Number of times to "replicate" the label.
ww= Width of the label to copy in 1/10 inches.
^T command
In filter mode, the ^T command is a universal "horizontal tab" command. It is used to set a tab
value which is added to all subsequent horizontal tab values used in image mode. The effect is
to change the reference position for horizontal tabs in image mode, so they are no longer
specified relative to the left edge of the printable area. It allows the horizontal placement of
printed information to be "adjusted" without having to change all other individual image mode
tab commands. The command format is:
^Thhhd
where:hhh= Horizontal reference position in 1/10 inches;
three digits from 000 to 136.
d= Horizontal reference position in dots (1/60 inches);
one digit from 0 to 9.
Reference Section
89
^U command
This command is used to print large characters in an "upside down - right-to-left" orientation.
The universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Uhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99.
ww= Width of characters in 1/10 inches; two digits from 00 to 99.
Includes inter-character gap.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99.
d= Dots (1/72 inches); one digit from 0 to 9.
c...c = Character or characters to be printed.
This command will activate image mode. The parameters of this command are optional, but will
be processed if they exist. If while processing the parameters, an invalid parameter such as a
non-digit character is encountered, that parameter plus any remaining unprocessed parameters
are assumed to be zero.
This command is also used to print small characters in a "upside down - right-to-left" orientation.
If the height and width values are greater than "01", then the active font will be the expandable
font with the height and width assigned by this command. However, if the values are either "00"
or "01", then non-expandable fonts are selected. The fonts are:
Regular Image Mode Fonts
wwhhSelected font
00007.5 cpi
010110 cpi
000112 cpi
010015 cpi
Reference Section
90
^V command
This command is used to print large characters in a "sideways - top-to-bottom" orientation. The
universal height, width, and vertical positioning (justification) are specified, followed by the
characters to be printed. The command format is:
^Vhhwwjjdc...c
where:hh= Height of characters in 1/10 inches; two digits from 00 to 99.
Represents the physical (vertical) height. Since the characters
are sideways, it really specifies what would classically be thought
of as character width. Includes inter-character gap.
ww= Width of characters in 1/10 inches; two digits from 00 to 99.
Represents the physical (horizontal) width. Since the characters
are sideways, it really specifies what would classically be thought
of as character height.
jjd= Justification from the current position. Indicates how far down
from the top of the pass the characters will begin printing.
jj= 1/10 inches; two digits from 00 to 99.
d= Dots (1/72 inches); one digit from 0 to 9.
c...c = Character or characters to be printed.
This command will activate image mode. The parameters of this command are optional, but will
be processed if they exist. If while processing the parameters, an invalid parameter such as a
non-digit character is encountered, that parameter plus any remaining unprocessed parameters
are assumed to be zero.
This command is also used to print small characters in a "sideways - top-to-bottom" orientation.
If the height and width values are greater than "01", then the active font will be the expandable
font with the height and width assigned by this command. However, if the values are either "00"
or "01", then non-expandable fonts are selected. The fonts are:
Regular Image Mode Fonts
wwhhSelected font
00007.5 cpi
010110 cpi
000112 cpi
010015 cpi
Reference Section
91
^W command
This command may be used to vertically slew a specified number of lines. The command has
one parameter which represents the number of line feeds to generate. The actual distance slewed
will depend upon the line spacing that is set in the printer, typically 1/6 inch or 1/8 inch per line.
This command is identical to the filter mode ^K command. The command format is:
^Wnn
where:nn = Number of line feeds to generate; two digits from 01 to 99.
^X command
This command will cause all subsequent characters to be ignored, until a ^A command is
received. If a ^A command is never received, then none of the incoming data will be processed
or printed. When ignore character is active, all data will be absorbed or "eaten". Except for the
^A command, no commands are recognized while ignoring characters. The command format is:
^X
^Y command
This command is used to automatically increment or decrement numeric fields. These numeric
fields may be text, bar code data or other command parameters. Use of this command is most
powerful when used inside of a repeating sequence which is controlled by the ^R ("repeat")
command or the ^B ("buffered overlay") command. The command format is:
This command is the filter mode repeat (^R) and block copy (^C) command terminator. The
command format is:
^Z
^[ command
This command is the "variable field descriptor" command. It is used to define a variable field for
data to be merged into. Use of this command without first issuing a ^B ("buffered overlay")
command would be meaningless. The command format is:
^[nnn
where:nnn = Maximum length of the variable data field.
Reference Section
93
Image Mode Introduction
Image mode processing is the "graphics" mode of operation for the Imager. In order to activate
image mode, one of the commands ^M, ^E, ^U or ^V must be used. To exit image mode and
return to filter mode, one of the commands ^-, ^* or ^, is required if the ^F command was
previously issued. If the ^F command was not previously issued, then a carriage return, line
feed or form feed will also cause an exit to filter mode.
Reference Section
94
Image Mode Commands List
^ABegin acknowledging input characters again. Used after the '^X' command.
^BDefine a horizontal bar code.
^CDefine a vertical bar code.
^D
^EDefine the current vertical (bottom to top) expandable characters.
^GThe general purpose command sequence terminator. Used with commands
^HChange the current expandable character height.
^IDefine the interrupt position. No longer required but still valid.
^JChange the vertical cursor position.
^KxDefines the character and line shading patterns. Valid list is: KF, KH, KL and
^LBDefine an open box.
^LDDefine a dashed (dotted) line.
^LFDefine an open box with multiple vertical lines (form).
^LSDefine a solid line.
^MDefine the current upright (normal) expandable characters.
^QDefine a graphic image.
^RToggle character reverse image on or off (depending on the previous state).
^SDefine the current non-expandable font.
^TChange the horizontal cursor position.
^UDefine the current upside-down expandable characters.
^VDefine the current vertical (top-to-bottom) expandable characters.
^WChange the current expandable character width.
^XAbsorb all incoming data until a '^A' command is encountered.
^YDefine auto-increment/decrement values.
^ZSelect a resident logo. ^Z1 = {reg} and ^Z2 = {copyright}
^*Image mode terminator. Returns to filter mode.
^-Image mode terminator. Returns to filter mode.
^,Image mode terminator. Returns to filter mode.
^[Define a variable data field used by the buffered overlay function '^B'.
Toggle the expandable lower case characters with descender on or off
(depending on the previous state).
which use a variable number of parameters such as "bar code" commands and
"auto-increment" commands.
KV.
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.