PDF417 In Code V ...................................................................... 312
PDF417 in PGL ........................................................................... 313
Code 128A Barcodes in PGL............................................................. 314
Codabar Codes in PGL...................................................................... 314
UCC/EAN-128 Barcodes in PGL ....................................................... 314
UPC-E0 Bar Codes in PGL................................................................ 314
Barcode Rotations in PGL ................................................................. 315
User-defined Barcode Ratios in PGL................................................. 315
New Barcode Fonts in PGL ............................................................... 315
ISET/USET Commands In PGL......................................................... 316
POINT Parmeter In PGL .................................................................... 317
20 CPI Support In PGL ...................................................................... 318
SCALE Command Modifications In PGL ........................................... 318
Page 14
Table of Contents
Page 15
1QMS
Processing Language
This manual describes the features and uses of the Code V Graphics
Processing Language. Code V uses a Graphics Processing Language (GPL)
that provides the user with total control over the printing and formatting of
graphics images. This GPL is compatible with QMS
2 and includes the following features.
•Block characters, printed horizontally or vertically with height and width
ranging from 0.1 to 9.9 inches. In addition to normal black on white
printing, block characters can be printed in special half-tone patterns or in
reverse image (white characters on a black background).
•Numerous barcodes, including Code 39 Interleaved 2 of 5, UPC, EAN,
Code 128, and Codabar. All barcodes can be printed horizontally or
vertically with various height, width, and ratio dimentions. Barcodes may
also be printed with or without human readable characters in a wide
variety of fonts.
®
Code V
™
Graphics
®
Code V™ versions 1 and
•Solid or dashed line drawings using various line thickness.
•Box drawing with user definable size and border thickness.
•Horizontal and vertical duplication of graphics images.
•User-definable, memory resident forms, including optional font fields.
•Predefined AIAG and Primary Metals forms.
•Draft, NLQ, OCR-A, and OCR-B typefaces in various sizes.
•All extensive command set providing total control over the formatting and
printing of graphics images.
15
Page 16
Chapter1Graphics Processing Language
Graphics Processing Language
The Graphics Processing Language (GPL) consists of a set of commands
that are used to print graphics images such as block characters, barcodes,
lines, and boxes, as well as provide formatting control for the correct
placement of these images. Relatively complex images may be created
through the use of a few simple commands.
The original version of QMS Code V (version 1) differs slightly from the
current version (version 2). The primary difference between the two is in the
way vertical justification commands are implemented. Specifically, version 1
used an approximation for 0.1 inch that has been made more precise in
version 2. If you are running an application designed for version 1, the printer
can be switched to a mode that can emulate it.
Graphics Mode
For the printer to recognize GPL commands, it must first be placed in
Graphics Mode. When the printer is in Graphics Mode, the printer scans the
data received from the host for GPL commands, passing non-Graphics data
to the current emulation. When the printer is not in Graphics Mode, Code V is
disabled and will not search the incoming data for GPL commands.
Graphics Mode may be entered while the printer is in any emulation. Graphics
Mode should not be entered while the printer is in Plot Mode. The printed
output of Code V adheres to all the applicable Control Panel settings (such as
LPI, CPI, Form Length, etc.).
NOTE: All escape sequences in this manual are in ASCII notation.
Turning Graphics Mode On
Graphics Mode is turned on with command ^PY, which must begin in the first
column of a line, followed by one of the following six terminators.
1. ^- (caret hyphen)
2. ^* (caret asterisk)
3. ^, (caret comma)
4. Carriage Return
5. Line Feed
6. Form Feed
Once the printer is in Graphics Mode, the data it receives is read into a Pass
buffer. The printer will stop looking for characters from the host and process
the data held in this buffer when one of the terminators is received. If the
buffer fills up before receiving a Pass Terminator, data in the buffer will be
processed and printed before the printer accepts any more characters.
16
Page 17
PY Then
When Graphics Mode is on:
•The control panel displays ONLINE GRAPHICS
•All GPL commands and data are processed by Code V
•Non-GPL data is passed to the current emulation.
PY Then
This control panel option defines the action taken on characters that are on
the same line as the Graphics Mode On Command (^PY). The options are All,
Term, and None. The default is None. These options are defined as follows:
All:All data following Graphics Mode On Command is processed.
Term:Only the Terminator (FF, LF, or CR) is processed.
None:None of the data is processed.
If the None option is selected, any one of the following control codes (or
combination of control codes) immediately following a ^PN or
^PY^- on the same line will not be printed:
•Carriage Return
•Line Feed
•New Line
•Form Feed
•Carriage Return followed by a Line Feed
•Carriage Return followed by New Line, or Carriage Return followed by
Form Feed
If PY Then is set to All or Term, all characters that follow a PN or ^PN^- on the
same line will print.
Turning Graphics Mode Off
The Graphics Mode Off Command is the sequence ^PN followed by a Pass
Terminator. As with the Graphics Mode On Command (^PY), the Graphics
Mode Off Command must be sent in the first column of a line (i.e. after a
Carriage Return). This command will cause the printer to:
•Exit the Graphics Mode
•Display the ONLINE message
•Treat all further GPL commands as printable characters to be sent to the
current emulation.
A few fundamental GPL commands and concepts are described in the
following sections. Knowledge of these commands and concepts is essential
for understanding the descriptions and examples in the remainder of this
manual.
17
Page 18
Chapter1Code V Command Character (CVCC)
Code V Command Character (CVCC)
All GPL commands begin with a Command Character. By default, this
character is an ASCII caret (^) having hexadecimal value of 5E.
Changing The CVCC
There are two ways to change the CVCC.
Using ESC Sequences
Using the ^N Command Change Sequence
This method can only be done in Graphics Mode. Send the ^N followed by the
new CVCC (hex. OOto hex. FF), then terminate the ^N sequence with the
New CVCC.
Example:
^N$$ would change to CVCC to the ASCII dollar sign character
($-hex, 24, Dec 36).
When you leave Graphics Mode and return to Character Mode or when the
pritner is reset, the Command Character defaults to the ASCII caret character
(^).
Through The Control Panel
This method can be used either in Graphics Mode or in Character Mode. To
use this method take the printer offline and access the Configuration Menu.
After accessing the Configuration Menu proceed through the menu levels until
you access the decimal selections under the CVCC Parameter in the
Graphics Category. Scroll until the desired decimal value is reached, then
depress the ENTER key. This Command Character will remain valid until you
exit Graphics Mode (this resets it to the default value), the printer is reset, or
you change it with a ^N command or through the control panel.
NOTE: If the Command Character is set through the Control Panel outside of
Graphics Mode, that character stays in effect unless changed by the
^N command. If a config. report is printed while in Graphics Mode, it
will show the character chosen with the ^N command instead of the
character selected through the control panel. When you exit from
Graphics Mode, the Command character is reset to the value
selected through the Control Panel.
However, if the Command Character is set through the control panel
inside of Graphics Mode, that character stays in effect only until you
exit Graphics Mode, after which the Command Character is reset to
the value you selected through the control panel outside of Graphics
Mode. As with the ^N Command, if a config. report is printed while in
Graphics Mode, it will show the character chosen through the control
panel inside of the Graphics Mode.
All Graphics Mode commands in this manual are shown using the (default)
caret symbol.
18
Page 19
Free Format
The GPL provides a mode which ignores all data with values less than 20
(decimal 32). Data having values below decimal 32 are collectively called
Control Characters and include Line Feed, Form Feed, and Escape
characters. By using Free Format Mode, the user can filter out unwanted
Control Characters which may be sent by some host systems. Also, a
convenient way to send GPL commands to the printer is to simply type the
commands into a file and send the file to the printer. In Format Mode, a
command may be spread over several lines in the file, with the printer ignoring
the CR and LF characters at the end of each line.
NOTE: The Free Format ON/OFF commands may not be used within the
Turning Free Format On
Free Format is turned on by sending the command ^F. After the printer
receives the ^F, subsequent control characters are ignored and the printer will
no longer recognize CR, LF, or FF as Pass terminators. However, the GPL
language will recognize the following control code equivalents as Pass
terminators:
Turning Free Format On
data field of a Report or a Buffered Form.
1. ^- (caret hyphen) - equivalent to the Carriage Return Command (CR)
2. ^* (caret asterisk) - equivalent to the Line Feed Command (LF)
3. ^, (caret comma) - equivalent to the Form Feed Command (FF)
Turning Free Format OFF
Free Format is turned off by sending the command ^O^-.
19
Page 20
Chapter1Free Format
Control Code Equivalents
When Free Format is turned ON, GPL control code equivalents are treated as
actual ASCII control codes. For example ^! functions in the same manner as
the ASCII control code SOH. If control code characters need to be passed to
the printer in Free Format Mode, use the control code equivalents shown in
Table 1.
Control Code EquivalentsHexASCII
^! (caret exclamation)01SOH
^” (caret double quote)02STX
^# (caret pound sign)03ETX
^$ (caret dollar sign)04EOT
Tabl e 1. Control Code Equivalents
^% (caret percentage sign)05ENQ
^& (caret ampersand)06ACK
^’ (caret single quote)07BEL
^( (caret left parenthesis)08BS
^) (caret right parenthesis)09HT
^* (caret asterisk)0ALF
^+ (caret plus sign)0BVT
^, (caret comma)0CFF
^- (caret hyphen)0DCR
^. (caret period)0ESO
^/ (caret slash)0FSI
^010DLE
^111DC1
^212DC2
^313DC3
20
^414DC4
^515NAK
^616SYN
^717ETB
^818CAN
Page 21
Ignore Data
Control Code Equivalents
Table 1. Control Code Equivalents
Control Code EquivalentsHexASCII
^919EM
^: (caret colon)1ASUB
^; (caret semicolon)1BESC
^< (caret left arrow)1CFS
^= (caret equal sign)1DGS
^> (caret right arrow)1ERS
^? (caret question mark)1FUS
The Ignore Data command causes the printer to ignore all data (except for the
command to turn Ignore Data OFF). This allows comments or other that is not
to be printed to be inserted into the document for information purposes.
Format:^X<data>^A
^XIgnore Data On Command. The printer will ignore all data after
<data>Data that the printer will ignore.
^AIgnore Data Off Command. The printer will not accept all
Graphics Pass
A Graphics Pass begins with a Pass Start (^M, ^U, ^V, or ^E) and ends with a
Graphics Pass Terminator (Pass Start, CR, LF, FF, ^-, or ^,). Any characters
placed between the Pass Start and Pass Terminator will print as block
characters. Also, all GPL Graphics Image commands, such as the Bar Code
and Line Drawing commands must be sent within a Graphics Pass. Each
Graphics Pass is treated by the printer as a set of data and instructions to be
processed and printed, starting at the current paper position, before accepting
any further data from the host.
Each pass begins at the current vertical paper postion and the left margin.
From this point, the printer prints to the right and down the page.
NOTE: It is not possible to print above the starting point of a Graphics Pass.
this command except for the Ignore Data Off Comand, ^A.
subsequent data received from the host.
It is possible, however, to issue positioning commands within the
pass which position the paper at any point below the start of the pass.
NOTE: When (LF, FF, ^*, ^,) are used to terminate a Graphics Pass, they
lose their normal meanings, and become Pass Terminators such as
^-. When used outside the Graphics Pass they take on their normal
meaning.
21
Page 22
Chapter1Graphics Pass
Not all GPL commands and data sent to the printer need to be in a
pass. In fact, many commands must be outside of a pass to function
properly. For instance, the command ^H sets the form length if it is
used outside of a pass, but sets the pass height if it is used within a
Pass.
At this point, it may seem difficult to decide when to use a Graphics
Pass. If there is any doubt about whether a command should go
inside or outside of a pass, refer to Appdendix F,
on page 287. The GPL commands fall into two general categories:
•GPL printing commands (e.g., barcodes, lines, boxes, certain fonts, etc.)
•Block characters
Outside A Pass
Global Graphics Pass commands (i.e. commands which act on the entire
pass as a unit, such as those which cause the entire Pass to be repeated or
stored in memory for later use).
“Command Table”
Environmental commands wuch as form length setting, Graphics Mode, and
Free Format.
Non-GPL Data
Any data you want to go to the current Control Panel emulation must be sent
outside of a Graphics Pass. Appdendix F,
lists all GPL commands.
“Command Table” on page 287
Pass Spacing (Modplot)
Code V output can be affected by a Plot Mode option that is available on your
printer. Appendix G,
how it affects Code V output.
“Modplot” on page 291 explains the Modplot option and
Pass Buffer Length
Data received from the host is stored in a Pass Buffer. The Printer begins to
process a Graphics Pass when it receives a Pass Terminator. The printer
processes one pass at a time, printing at the end of each pass. If the Pass
Buffer fills up before the printer encounters a Pass Terminator, it terminates
the pass and attempts to process and print it.
Buffered Form definitions and Repeat sequences cannot be processed until
the Form or Repeat Terminator is received; therefore, the entire Form
Definition or Repeat Sequence must fit into the Pass Buffer to be printed
correctly. Buffered Form execute data can be larger than the Pass Buffer. The
Printer processes this data one Pass Buffer at a time, until the Form Execute
Terminator is received.
22
Page 23
Pass Format
The Printer uses a Heap Buffer to process the pass for printing. If a Graphics
Pass is so complex that processing it overflows the available Heap Buffer
space, the Printer aborts processing and announces a Heap Overlfow fault.
Pass Format
A single Graphics Pass Command is formatted like this:
Command ^ {M, U, V or E}hhwwjjd<data>^-
Arguments ^ {M, U, V, or E} The braces, { }, indicate that either M, U, V, or E
must be used. This notation is used throughout the manual to
indicate that a choice must be made. The braces themselves are
not literally part of the command.
The M, U, V, and E determin the orientation of the data to be
printed. For example:
Horizontal Orientation (^M)
Prints data across the page right side up.
Upside Down Orientation (^U)
Prints data across the page upside down.
Vertical Right Orientation (^V)
Prints data down the page and roated 90 degrees clockwise so that the
baseline faces the left margin of the paper.
23
Page 24
Chapter1Graphics Pass
Vertical Left Orientation (^E)
Prints data down the page and roated 90 degrees counterclockwise so that
the baseline faces the right margin of the paper:
hhThe height of each individual barcode or block character. This
dimension is measured vertically on the page and is specified in
increments of 0.1 inches (0.25 cm). The allowable height for each
barcode/block character ranges from 01 to 99 (0.1 to 9.9 inches
or 0.3 to 25.2 cm). For example, a value of 03 means a height of
0.3 inches (0.76 cm).
wwThe width of each printed barcode/block character. This
dimension is measured horizontally on the page and is specified
in increments of 0.1 inches (0.25cm). The width for each barcode/
block character ranges from 01 to 99 (0.1 to 9.9 inches or 0.3 to
25.2 cm) For example, a value of 10 means a width of 1.0 inches
(2.5 cm).
jjdData can be positioned down the page from the beginning of the
Pass. This is teemed justification. the jj is the amount of
justification from 00 to 99 increments of 0.1 inches (0.3 to 25.2
cm). The d allows an additional amount of justification down from
0 to 9 dot rows to fine tune the final position of the data. For
example, inserting the value 118 means the data is moved down
1.1 inches (2.8 cm) plus an additional 8 dot rows. A justification
value of 000 sets the current print position to the top of the
current Graphics Pass.
NOTE: Any values not specified will default to 0.
<data>The actual data can be printed. Characters in the data string will
be printed as block characters or in a particular GPL font.
Barcodes, lines, boxes, and formatting commands may also be
placed in the pass. The data contained within the pass is printed
in accordance with the orientation, height, width, and justifcation
values of the Graphics Pass.
^-Every Graphics Pass is terminated with a Pass Terminator,
indicating the end of the Graphics Pass. When the printer is in
Free Format Mode, the printer will only recognize ^-, ^*, and ^, as
Pass Terminators. When the pritner is not in Free Format Mode,
Carriage Return (CR), Line Feed (LF), and Form Feed (FF) may
be used. Throughout the manual, ^- will typically be used to
indicate a Terminator.
24
Page 25
GPL Commands
Most of the examples shown in this manual assume Graphics Mode and Free
Format Mode are turned on, although the examples will not always show the
^PY and ^F commands. The complete set of commands to turn Graphics and
Free Format Mode On, send GPL commands and data, then turn Free Format
and Graphics Mode Off are shown below:
^PY^-Turns on Graphics Mode
^F^-Turns on Free Format Mode
<data>^Sample GPL Command sequences
^O^Turns off Free Format Mode
^PN^-Turns off Graphics Mode
The above lines are typically entered into a file and sent to the printer, or are
written to the printer using a computer language such as BASIC or C with
Free Format and Graphics mode on.
The main reasons to turn Graphics mode off are:
Multiple Passes
•To print a large amount of non-GPL data.
•To reset the Code V to its default startup state.
•To send plot data to the underlying emulation.
The reamining chapters in this manual discusses how the GPL command
sequences should be formatted. For all subsequent examples in this manual,
the following conditions are assumed:
•The control panel displays ONLINE GRAPHICS.
•Graphics Mode is ON (^PY^-).
•The printer is in Free Format mode (^F^-).
Multiple Passes
A Graphics Pass may contain other GPL commands, including other ^M, ^U,
^V, and ^E commands. The printer does not begin printing a Graphics pass
until the Pass is terminated. After a pass is printed, the next pass begins at
the bottom of the printed Pass.
For example, the sequence of GPL commands
^M0101000A^M0101000B^M0101000C^- produces the same printed result
as ^M0101000ABC^- which prints:
whereas the three graphics Passes ^M0101000A^-^M0101000B^^M0101000C^- print:
25
Page 26
Chapter1GPL Commands
26
Page 27
2Character Printing
Control Panel Option
A new option has been added to the control panel under the Graphics
category. The new option, Vscale, determines whether or not vertical block
characters will be scaled to match the difference between the horizontal and
vertical print densities. The option is necessary to be fully compatible with old
QMS Code V version 1 boards that are still in the field.
Block characters are build to be printed horizontally at 60 x 72. When the
characters are rotated and printed vertically, it is necessary to scale the
characters to maintain the cell size of the character. Some QMS Code V
version 1 boards do not handle this scaling, so that when a 5 x 7 block
character is rotated and printed vertically, it will actually be 4 x 8. when the
Vscale option is turned off, we will now emulate this.
Block Character
Block characters are printed by putting the characters to be printed into the
<data> portion of a Graphics Pass. Thus, the Block Character Command is
the same as the Graphics Pass Command.
Each block character is printed within a window which includes an appropriate
amount of space for character separation. The block character window size
ranges from 0.1 inches (0.25 cm) to 9.9 inches (25.15cm) in increments of 0.1
inch (0.25 cm). the character window includes 1 dot row or column of
intercharacter space for every 0.1 inches in window size. That is, if the
Graphics Pass command is ^M0505000, then the character window size will
be 0.5 x 0.5 inches, including a 5 dot-column space to the right of the
character (see
Figure 1 on page 27).
Figure 1. Character Window
27
Page 28
Chapter2Block Character
When a block character is rotated 90 degrees clockwise or counterclockwise
on a page, the height and width values are exchanged:
•the Graphics Pass height value determines the new character width.
•the Graphics Pass width value determines the new character height.
Command ^{M, U, V, or E}hhwwjjd<data>^-
Arguments ^{M, U, V, or E} One of the four orientation commands ^M, ^U,
^V, or ^E.
hhThe height of each printed character window. This
wwThe width of each printed character window. This
jjdThe vertical justification, jj, ranges from 00 to 99
dimension is measured vertically on the page and
is specified in increments of 0.1 inches (0.25 cm).
The height for each character window ranges from
01 to 99 (0.1 to 9.9 inches or 0.25 to 25.3 cm). For
example, a height of 03 means a character window
height of 0.3 inches (0.76cm).
dimension is measured horizontally on the page
and is specified in increments of 0.1 inches. The
width for each character window ranges from 01 to
99 (0.1 to 9.9 inches or 0.3 to 25.3 cm). For
example, a width of 10 means a character window
width of 1 inch (2.5 cm).
(0.0 to 9.9 inches/0.0 to 25.2 cm). The d allows an
additional amount of justification down from 0 to 9
dot rows to fine tune the final positioning. For
example, inserting the value 118 means the
characters are moved down the page 1.1 inches
(2.8 cm) plus an additional 8 dot rows. If any of the
jjd is not sent, the printer assumes the missing
values are 0. If any of the jjd is nto sent, the printer
assumes the missing values are 0. For instance,
M1010 would have a jjd value of 000.
28
<data>The actual characters to be printed. This data will
print in accordance with orientation, height, width,
and justification values.
^-The Pass Terminator
Page 29
The following examples illustrate block character printing.
Example 1: The Graphics Pass ^M0202000Graphics ^- prints:
^MHorizontal orientation of character.
02Character height of 0.2 inches (0.51 cm).
02Character width of 0.2 inches (0.51 cm).
00Justified downward 0.00 inches.
0No additional dot rows of justification down.
GraphicsData to be printed.
^-Pass Terminator.
Example 2: The Graphics Pass ^M0302000Graphics^- prints:
^MIndicates this Graphic Pass is oriented horizontally.
03Character height of 0.3 inches (0.76 cm).
02Character width of 0.2 inches (0.51 cm).
00No justification down.
0No additional dot rows of justification down.
GraphicsData to be printed 0.3 inches high and 0.2 inches
wide.
Example 3: The Graphics Pass ^U0303000Graphics^- prints:
^URotated 180 degrees from the horizontal
orientation.
03Character height of 0.3 inches (0.76 cm).
03Character width of 0.3 inches (0.76 cm).
00No justification down.
GraphicsBlock characters to be printed in the upside down
orientation.
29
Page 30
Chapter2Block Character
Example 4: The Graphics Pass ^E0101000Vertical Left^_ prints:
^EVertical left orientation of the pass.
01Character height of 0.1 inches (0.25 cm).
01Character width of 0.1 inches (0.25 cm).
00No justification down.
0No additional dot rows of justification down.
Example 5: The Graphics Pass ^M0202000GRAPHICS
^M0203053OPTION^- prints:
•First Command - ^M0202000GRAPHICS
^MHorizontal orientation of the Graphics Pass.
02Character height of 0.2 inches (0.51 cm).
02Character width of 0.2 inches (0.51 cm).
000No vertical justification.
GRAPHICS Data printed at 0.2 inches high and 0.2 inches
wide.
•Second Command - ^M0203053OPTION^-
^MHorizontal orientation of the Graphics Pass.
02Character height of 0.2 inches (0.51 cm).
03Character width of 0.3 inches (0.76 cm).
05Justification down of 0.5 inches (1.27 cm).
3An additional three dot rows of justification down.
OPTIONData printed at 0.2 inches high and 0.3 inches wide
with downward justification of 0.5 inches plus three
dot rows.
30
Page 31
Example 6: To place OPTION directly under GRAPHICS, a pass terminator
(^-^*) must be placed after the end of the first pass but before the
beginning of the second pass:
^M0404000GRAPHICS^-^*M0404053OPTION^- will now print:
Example 7: This example shows horizontal block characters with varying
degrees of justification.
The Graphics Pass: ^M0303060P^M0303040a^M0303020s^M0303000s^prints:
•First Command - ^M0303060
^MHorizontal orientation of characters.
03Character height of 0.3 inches (0.76 cm).
03Character width of 0.3 inches (0.76 cm).
06Justified down 0.6 inches (1.5 cm).
0No additional dot rows of justification.
PData to be printed.
•Second Command - ^M0303040a
^MHorizontal orientation of characters.
03Character height of 0.3 inches (0.76 cm).
03Character width of 0.3 inches (0.76 cm).
04Justified down 0.4 inches (1.0 cm).
0No additional dot rows of justification.
31
Page 32
Chapter2Descender Mode
•Third Command - ^M0303020s
^MHorizontal orientation of characters.
03Character height of 0.3 inches (0.76 cm).
03Character width of 0.3 inches (0.76 cm).
02Justified down 0.2 inches (0.51 cm).
0No additional dot rows of justification
sData to be printed.
•Fourth Command - ^M0303000s^-
^MHorizontal orientation of characters.
03Character height of 0.3 inches (0.76 cm).
03Character width of 0.3 inches (0.76 cm).
00No justification down.
0No additional dot rows of justification
sData to be printed.
Descender Mode
The Descender Mode is recognized only within a Graphics Pass (^M, ^V, ^E,
or ^U has been previously sent). It can be toggled on and off as often as
desired within a Graphics Pass, and it is terminated when the Graphics Pass
terminates. The amount of space reserved for descenders is defined as two
dot rows for each 0.1 inches (0.25 cm) of character height. There are two
different formats for the Descender Mode. These can be toggled from the
control panel via the Descender option in the Graphics Category menu to
either Fixed or Auto.
If set to Fixed the descender gap is always present whenever theDescender
Mode is turned on, even if no descenders are printed.
If set to Auto, the descender gap appears only when descenders are printed.
if no descenders are printed, the gap is closed.
When Descender Mode is toggled off, all lower-case characters with
descenders are moved up so that the bottom of each descender rests on the
baseline. Lower-case characters without descenders appear the same
whether Descender Mode is ON or OFF.
NOTE: All Graphics Passes start in the default Non-Descender Mode.
Command ^D
Example 1: ^M0202000j^Dj^Dy^Dy^- prints:
32
Page 33
Reverse Image
Reverse Image causes the printer to print white block characters on a black
background. The black background extends beyond each character one dot
row or column for every 0.1 inch increment of character window size. For
example, a Reverse Image character window with a horizontal dimension of
03 (0.3 inches or 0.76 cm) and a vertical dimension of 04 (0.4 inches or 1.0
cm) will have the dark background extend three dot columns left and right of
the character(s) and four dot rows on the top and bottom.
The Reverse Image Command is valid only if it is within a Graphics Pass. If it
is outside of a Graphics Pass, it is interpreted as a Repeat Command. If the
Graphics Pass is terminated while Reverse Image is ON, Reverse Image is
automatically terminated.
Command ^R<data>^R
Arguments
Revese Image Descender Mode
^RTurns ON Reverse Image.
<data>Data to be printed in Reverse Image.
^RTurns OFF Reverse Image.
Example 1: Sending ^M0202000^RGRAPHICS^- prints:
Example 2: Sending ^M0202000^ROPT^RION^- prints:
NOTE: The reverse image characters are a few dots lower.
Revese Image Descender Mode
If Descender Mode (^D) is turned on with Reverse Image on, the entire dark
background extends down to encompass the descenders.
Example 1: Sending the Graphics Pass ^M0303000^Rfghij^R^- with
Descender Mode OFF prints:
33
Page 34
Chapter2Half-Tone
Example 2: Sending the Graphics Pass ^M0303000^R^Dfghij^R^D^- with
NOTE: The dark background of Reverse Image extends three dot rows
Half-Tone
Lines, boxes, and characters are printed in solid black, but they can also be
printed in patterns of dots. These patterns are called half-tones. Many half
tone patterns are available, such as vertical, horizontal, and diagonal lines, as
well as many other designs.
The selected pattern becomes the default pattern as long as the Graphics
Mode is enabled. Once Graphics Mode is disabled using the command ^PN^, the dot pattern defaults to the pattern corresponding to 04 hex.
Descender Mode ON prints:
below the descenders.
See Appendix D, “Patterns” on page 273 for all available half-tone patterns.
The following command is used to turn on the Half-Tone Mode as well as to
select a half-tone pattern:
Command ^KLxx<data>
Arguments
^KLTurns ON the Hfl-Tone Mode.
xxSpecifies the half-tone pattern, where xx equals
any hex number between 00 and FF.
<data>Data to be printed using the selected pattern.
Example: The Graphics Pass ^M0303000^KL02DOT PATTERN^- prints:
^KLTurns ON the Half-Tone Mode.
02Selects the half-tone pattern corresponding to 02.
DOT PATTERN
Data to be printed using the selected pattern.
34
Page 35
Half-Tone Toggle
Half-Tone Toggle
Once a half-tone pattern has been selected, it can be toggled ON and OFF
within a Graphics Pass with the command:
Command ^KH<data>^KH
Example: The Graphics Pass ^M0303000GRA ^KL05PHI^KHSC
OP^KHTIO^KHN^- prints:
GRAData printed as solid black.
^KLTurns Half-Tone Mode ON.
05Selects the 05 half-tone pattern.
PHIData printed using selected pattern.
^KHTurns Half-Tone Mode OFF.
CS OPData printed as solid black.
^KHToggles Half-Tone Mode ON (half-tone pattern 05).
TIOData printed using the selected pattern.
^KHToggles Half-Tone Mode OFF.
NData prints as solid black.
Half-Tone Reverse Image
The dark background in Reverse Image mode can also be printed using halftone pattern.
Example: The Graphics Pass ^M0505000^R^KL09PATTERN^KH^- prints:
^RTurns ON the Reverse Image Mode.
^KLTurns ON the Half-Tone Mode.
09Selects the 09 dot pattern.
PATTERNThe characters to be printed in Reverse Image
using the Half-Tone Mode.
^KHTurns OFF the Half-Tone Mode.
35
Page 36
Chapter2Half-Dot Mode (Double Density)
Half-Dot Mode (Double Density)
The Half-Dot Mode causes the printer to print at 120 DPI horizontally (the
standard print density is 60 DPI). Printing at 120 dpi results in darker printing
and reduces the stairstep effect of diagonal lines. It is most often used to
improve barcode readability. The Half-Do Mode can be toggled ON and OFF
within a Graphics Pass using the command:
Command ^KF<data>^KF
Arguments
^KFToggles Half-Dot Mode ON.
<data>Data to be printed in Half-Dot Mode.
^KFToggles Half-Dot Mode OFF.
Example: Half-Dot characters can be mixed with regular characters. The
OPTIONData printed with the selected pattern (EA) in Half-
^KFToggles OFF Half-Dot Mode.
^KHToggles OFF Half-Tone Mode.
Block Character Fonts
Block character fonts are created from the block character set in four graphic
orientations, and are available in the following sizes:
•7.5 CPI block characters, 0.2 inches high.
•10 CPI block characters, 0.1 inch high.
7.5 CPI
pattern selected (EA).
Tone/Half-Dot Mode.
•12 CPI block characters, 0.1 inch high.
•15 CPI block characters, 0.1 inch high.
7.5 CPI
The 7.5 CPI character set is 2/10 inches high and 0.15 inches wide (0.51 cm
high by 0.38 cm wide). All characters in this set are printed in upper case,
even if the characters received from the host are lower case.
Command ^{M,U,V,E}0000jjD<data>^-
Arguments
^{M,U,V,E}One of four Graphics Pass orientations (^M for
horizontal, ^V for clockwise rotation, ^E for
counterclockwise rotation, or ^U for upside down
and reverse order of characters.)
0000A height/width value of 0000 specifies 7.5 cpi
characters.
jjdJustification values in increments of 0.1 inches
(0.25 cm) and dot rows as discussed in the
Graphics Pass Command description below. This
field may be omitted entirely if the justification value
is zero.
<data>The characters to be printed.
Example: The Graphics Pass ^M00000007.5 CPI CHARACTERS^- prints:
37
Page 38
Chapter2Block Character Fonts
10 CPI
The 10 CPI block character set is 0.1 inches high and is selected by using the
following Graphics Pass Command.
Command ^{M,U,V,E}0101jjd<data>^-
Arguments
^{M,U,V,E}One of four Graphics Pass orientations (^M for
0101A height/width value of 0101 specifies 10 CPI
jjdJustification values in increments of 0.1 inches
horizontal, ^V for clockwise rotation, ^E for
counterclockwise rotation, or ^U for upside down
and reverse order of characters).
characters.
(0.25 cm) and dot rows as discussed in the
Graphics Pass Command description below. This
field may be omitted entirely if the justification value
is zero.
<data>The characters to be printed.
Example 1: The Graphics Pass ^M0101000HORIZONTAL 10 CPI^- prints:
Example 2: ^M0101000HORIZONTAL 10 CPI
^M0202000HORIZONTAL 5 CPI^- prints:
38
Page 39
12 CPI
12 CPI
The 12 CPI character set is 0.1 inches high and is selected with the following
special Graphics Pass command.
Command ^{M,U,V,E}0001jjD<data>-
Arguments
^{M,U,V,E}One of four Graphics Pass orientations (^M for
horizontal, ^V for clockwise rotation, ^E for
counterclockwise rotation, or ^U for upside down
and reverse order of characters).
0001A height/width value of 0001 specifies 12 cpi
characters.
jjdJustification values in increments of 0.1 inches
(0.25 cm) and dot rows, as in the Graphics Pass
command description. This field may be omitted
entirely if the justification value is zero.
<data>The characters to be printed.
Example: The Graphics pass ^M000100012 CPI CHARACTERS^- prints:
15 CPI
The 15 CPI character set is 0.1 inches high and is selected using the following
command.
Command ^{M,U,V,E}0100jjD<data>^-
Arguments
^{M,U,V,E}One of four Graphics Pass orientations (^M for
horizontal, ^V for clockwise rotation, ^E for
counterclockwise rotation, or ^U for upside down
and reverse order of characters).
0100A height/width value of 0100 specifies 15 cpi
characters.
jjdJustification values in increments of 0.1 inches
(0.25 cm) and dot rows, as in the Graphics Pass
command description. This field may be omitted
entirely if the justification value is zero.
<data>The characters to be printed.
Example: The Graphics Pass ^M010000015 CPI CHARACTERS^- prints:
39
Page 40
Chapter2Code V Font Selection
Code V Font Selection
Since Code V runs on top of another emulation, the Code V Language has
the ability to print either emulation fonts or Code V fonts. When Code V is
turned on via the ^PY^- command, it sets the out of pass font to the 10 CPI
Draft emulation font using the character set selected on the Control Panel.
Code V has the ability to select different kinds of fonts via Code V font
commands. These font commands and their effect(s) are listed below:
^IFONT,S# If issued inside a pass, the specified font is changed for the
duration of the pass. If issued outside a pass, the font is changed
to the specified Code V font both inside and outside passes.
^S#Valid only inside a pass, this command changes the font of the
characters in the current pass to the specified Code V font.
^#Valid only outside a pass, this command changes the font of the
characters outside passes to the specified Code V font.
^@CValid only outside a pass, this command changes the emulation
font, thus affecting Code V outisde of pass characters and
characters printed after exiting Code V.
Code V Character Set Selection
All emulations and Code V have two character sets: upper (eigth bit high) and
lower (eigth bit low). For all Code V fonts, the default lower character set
(characters 20 - 7F hex) is US and the default upper character set (characters
A0 - FF hex) is Latin1. Complete charts for the US and Latin1 character sets
are available in Appendix F,
The CVCC font lower character set may be selected within Code V by using
the ^IISO command. The Code V font upper character set cannot be changed
and is always Latin1. Changing the character set via the control panel does
not alter the Code V character sets. The effects of the ^IISO command are
described below.
•When ^IISO is sent inside a pass:
The selected ISO character set (also called language in the Code V
manual) lasts only until the end of that pass.
•When ^IISO is sent outside a pass:
The selected ISO character set is used both inside and outside passes
until Code V is exited. Also, upon re-entering Code V, the ISO character
set selection made during the previous Code V session is retained.
To form an ISO character set, ^IIISO only changes 12 characters from the
lower US set. These 12 character differences are shown for each ISO
character set on
page 47.
Table 46: on page 287.
40
Page 41
The upper Code V character set contains the following characters not found in
the Latin1 set:
Compressed Fonts
Code V has the following nine compressed fonts for use in normal printing
outside of a Graphics Pass.
15 CPI
•Near Letter Quality (NLQ) character sets at 10, 12, 13.3, 15, and 17.1
CPI.
•OCR-A and OCR-B 0.10 inch character sets at 10 CPI.
Emulation control codes are supported with Compressed Fonts Mode; escape
sequences are not. To print characters within a Graphics Pass, see
Pass” on page 21.
Command ^#n^-
Arguments
^# Turns ON the Compressed Font Mode
nFont selection.
1 for NLQ (10 CPI)
2 for NLQ (12 CPI)
3 for NLQ (13.3 CPI)
4 for NLQ (15 CPI)
5 for NLQ (17.1 CPI)
6 for OCR-A (10 CPI)
7 for OCR-B (10 CPI)
8 for Draft (12 CPI)
9 for Draft (15 CPI)
To turn off the Compressed Fonts Mode, send the command ^#0^-
“Graphics
41
Page 42
Chapter2NLQ Fonts
Example 1: The command ^#6OCR-A characters^- prints:
Example 2: The commands ^M0202000GRAPHICS PASS^-^*^#2^-
NLQ Fonts
The NLQ fonts use 0.10 inch high Gothic characters whenever high quality
print or high density is desired. NLQ fonts are limited to Horizontal Orientation
only, and the NLQ Font command must be contained within a Graphics Pass.
If the NLQ Font command is outside of a Graphics pass, it is interpreted as a
Horizontal Repeat command (see Repeating Text later in this manual). The
NLQ font is in effect only until the next command is received.
COMPRESSED FONT^- prints:
Any horizontal tabs and justification functions (see “Positioning and
Repeating” on page 83) used with NLQ characters should be used prior to the
^Sn command. If a Tab or Justification Command is encountered within the
NLQ characters, the selected NLQ Graphics font is terminated and a Block
Character font is substituted for the remaining printable data.
To select one of the NLQ Graphics fonts, send the following command.
Command ^Sn
Arguments
^SnThe NLQ Font Command.
nNLQ Font
1 for 10 CPI
2 for 12 CPI
3 for 13.3 CPI
4 for 15 CPI
5 for 17.1 CPI
6 for OCR-A (10 CPI)
7 for OCR-B (10 CPI)
Example 1: The Graphics Pass ^M0000000^S1A line of text^- (1/10th inch
NLQ characters at 10 CPI) prints:
42
Page 43
Example 2: The Graphics Pass ^M0000000^S1A line^T0100of text^- (10 CPI)
prints:
Default Font Selection
This command allows selection of a default font that when issued inside a
pass, selects the font used for the duration of that pass only. When used
outside a pass, it selects the font used in all non-graphics printing.
Command ^IFONTS,S,n^G<data>
Arguments
^IFONTS,S, Indicates that a new font style will be selected.
nThe number of the selected default font. This
15 CPI
parameter can have up to five digits, although only
the following values are used:
1 = Draft at 10 CPI
2 = Draft at 12 CPI
3 = Draft at 15 CPI
4 = Draft at 7.5 CPI
5 = NLQ at 10 CPI
6 = NLQ at 12 CPI
7 = NLQ at 13.3 CPI
8 = NLQ at 15 CPI
9 = NLQ at 17.1 CPI
10 = OCR-A (10 CPI)
11 = OCR-B (10 CPI)
12 = Symbol Set Low Density
13 = Symbol Set High Density
^GCommand Terminator
<data>The data to be printed using the new font style.
Example: The human-readable characters can be printed in the OCR-A font
style by sending the command
^M0202000^IFONTS,S,10^G12345^-, which prints:
^M0202000
Sets up Horizontal orientation and the window size
for the non-translated data characters at 0.2 inches
(0.51 cm) square with no justification.
^IFONT,S,Indicates that a new font style will be selected.
10Selects OCR-A at 10 CPI.
^GCommand Terminator.
12345Data to be printed using OCR-A at 10 CPI.
43
Page 44
Chapter2Draft Fonts
Draft Fonts
The draft fonts, when issued inside a pass, select the font used for the
duration of that pass only. When used outside a pass, they select the font
used in all non-graphics printing.
Code V is capable of printing most of the Code V fonts at three different
speeds and qualities. The slowest print speed produces the highest quality
fonts, while the fastest print speed produces the lowest quality fonts. A Font
Quality/Speed Command may be sent either inside or outside of a pass and
remains in effect until another Font Quality/Speed Command is issued or
Graphics Mode is exited.
These commands only affect the Code V Draft Font at 12, 13.3, 15, and 17.1
CPI and the Code V NLQ Font at 10, 12, 13.3, and 17.1 CPI.
The three Code V Font Quality/Speed commands are: High-Quality Font, FullSpace Font, and Half-Space Font.
High Quality Font Mode
Selects slow-speed, high quality fonts. The DPI of the font selected by a Code
V Font Command depends upon the selected font and may cause the paper
to back up and the shuttle to change speed. Fonts printed in this mode are
positioned on character cell boundaries.
Command ^~FQ
Full Space Font Mode
44
Selects 120 DPI, medium speed, medium quality fonts. The paper will not
back up to print any Code V font (excluding OCR) when ^~FF is selected.
This is the default.
Command ^~FF
Page 45
Half Space Font Mode
Selects 60 DPI, fast speed, lowest quality fonts. The paper will not back up to
print any GPL font (excluding OCR) when ^~FH is selected.
Command ^~FH
Lines Per Inch
The number of character lines per inch may be set with the command:
Command ^@Lnn
Arguments
Half Space Font Mode
^@LThe Lines Per Inch Command.
nnOne of the lines per inch numbers below:
03 = 3 LPI
04 = 4 LPI
06 = 6 LPI
08 = 8 LPI
Dump Mode
The data received from the host may be printed in hexadecimal Dump Mode
format using the Dump Mode command. Dump Mode is typically used to
examine the data received from the host.
NOTE: Dump Modes are explained on page 45.
Command ^@Hn
Arguments
Hex Command
The Hex Command allows the user to send single hexadecimal values to the
printer. This is useful when you want to send a control code.
Command ^IHEX,xx
Arguments
^@HThe Dump Mode Command
nMode selection
0 or 1 selects Control Panel Dump Mode style 1.
2 selects Control Panel Dump Mode style 2.
3 selects Control Panel Dump Mode style 3.
^IHEX,The Hex Command
xxThe hexadecimal value to send to the printer
(00 - FF).
45
Page 46
Chapter2Control Panel Option
Control Panel Option
The following Control Panel option provides more control of speed and
quality.
Block Character
This option allows you to set the size at which Block Character Smoothing
begins.
NOTE: Smoothing slows down the Code V processing. The default is size 3.
ISO Character Sets
Several international standard character sets may be selected with this
command. When issued inside a pass, this command selects the ISO
language for the duration of that pass only. When issued outside a pass, it
selects the language used in all non-pass printing.
There are 12 character positions which differ depending on the ISO language
selected. See below.
NOTE: The ISO characters can only be used inside of a Graphics Pass when
using the Twinax or Coax interface.
Command ^IISO,n^G
Arguments
^IISO,Command Identifier, selects an ISO character set.
n^The number of the desired character set.
^GCommand Terminator
46
Page 47
ISO Character Set Table
Block Character
47
Page 48
Chapter2ISO Character Set Table
48
Page 49
3Creating Lines And
Line Drawing
Code V allows printing of solid or dashed lines of various thicknesses and
orientations. The following sections describe the line drawing commands and
their usage.
Solid Lines
Description Solid lines can be printed horizontally and vertically ranging in
Command ^LShhhdvvvd
Graphics
width and length from one dot to 13.2 inches. The solid line
command is:
Arguments
^LS Solid Line command
hhhThe horizontal dimensions, specified in increments of 0.1 inches
(0.25 cm), ranging from 000 to 132 (0 to 13.2 inches or 0 to
33.6 cm).
dAdditional dot columns, ranging from 0 to 9 dot-columns.
vvvThe vertical dimensions, specified in increments of 0.1 inches
(0.25 cm), ranging from 000 to 132 (0 to 13.2 inches or 0 to 33.6
cm).
dAdditional dot columns, ranging from 0 to 9 dot-columns.
NOTE: The length and thickness of a line must be at least one dot.
49
Page 50
Chapter3Line Drawing
Example 1: The command ^LS04000001^- prints a horizontal line exactly
Example 2: The command ^LS0500011^- prints a horizontal line 3.5 inches
4 inches (10.2 cm) long and 1 dot row thick.
^LS Solid line print command.
040 A horizontal dimension of 4.0 inches (10.2 cm).
0No dot column additions to the horizontal
dimensions.
000 No vertical dimensions in increments of 0.1 inch
(0.25 cm).
1Additional vertical dimensions of 1 dot row.
(8.9 cm) long and 0.1 inches (0.25 cm) plus 1 dot row thick.
^LSSolid Line Print command
035A horizontal dimension of 3.5 inches (8.9 cm).
0No dot column additions to the horizontal
dimensions.
001A vertical dimension of 0.1 inches (0.25 cm).
1Additional vertical dimensions of 1 dot row.
Example 3: The command ^LS00020110^- prints a vertical line 2 dot columns
wide and 1.1 inches (2.79 cm) high.
^LSSolid Line Print command
0002A horizontal dimension of 2 dot columns.
0110A vertical dimension of 1.1 inches (2.79 cm).
50
Page 51
Dashed Lines
Dashed Lines
Description Dashed lines are drawn by printing alternate tenths of an inch
(every 0.25 cm). The individual dashed marks will be oriented to
the line’s strongest dimension (horizontal or vertical). If the
horizontal and vertical lengths are equal, the dashes will be
horizontal. Dashed lines can be printed using the command:
Command ^LDhhhdvvvd
Arguments
^LDDashed Line command
hhhThe horizontal dimension, specified in increments of 0.1 inches
(0.25 cm), ranging from 000 to 132 (0 to 13.2 inches or 0 to
33.6 cm).
dAdditional dot columns, from 0 to 9.
vvv - The vertical dimension, specified in increments of 0.1 inches
(0.25 cm), ranging from 000 to 132 (0 to 13.2 inches or 0 to 33.6
cm).
d - Additional dot rows, from 0 to 9.
Example 1: The command ^LD02000010^- prints a horizontal dashed line
exactly 2.0 inches 95.08 cm) long and 0.10 inches tall.
^LDDashed Line command
0200Specifies a horizontal dimension of 2.0 inches.
0010Specifies a vertical dimension of 0.10 inch.
51
Page 52
Chapter3Line Drawing
Example 2: The command ^LD00100210^- prints a vertical dashed line
0.10 inch wide and 2.1 inches (5.3 cm) tall.
^LDDashed Line command
0010Specifies a horizontal dimension of 0.1 inches.
0210Specifies a vertical dimension of 2.1 inches.
Example 3: Dashed lines will print horizontally if the horizontal and vertical
dimensions are the same. The command ^LD01000100 will print
a series of vertical stripes 0.1 inches (0.25 cm) wide across a
space that is 1.0 inches (2.5 cm) square.
^LDDashed Line command
0100Horizontal dimension of 1.0 inches.
0100Vertical dimension of 1.0 inches.
52
Page 53
Boxes
Dashed Lines
Description Boxes can be drawn in a variety of shapes, sizes, and line
weights. Maximum box size is limited to the maximum printed
pass length and the width of the paper being printed upon.
NOTE: When printing boxes, the minimum box length must be greater than
twice the thickness of the vertical borders.
The minimum box height must be greater than twice the thickness of
the horizontal borders.
The command for drawing a box is:
Command ^LBhhhdvvvdhv
Arguments
^LBThe Box command.
hhh Horizontal length of the box in increments of 0.1 inches (0.25 cm)
from 001 to 132 (0.1 to 13.2 inches or 0.25 to 33.53 cm).
dAdditional horizontal length of the box in dot-columns, ranging
from 0 to 9.
vvvVertical height of the box in increments of 0.1 inches (0.25 cm).
dAdditional vertical height of the box in dot columns, ranging from
0 to 9.
hThickness of the top and bottom borders of the box, ranging from
1 to 9 dot rows.
vThickness of the two vertical borders of the box, ranging from 1 to
9 dot columns.
Example 1: The command ^LB0250010062^- prints the following box:
^LBThe Box command
0250The lengths of the top of the bottom borders are 2.5
inches (1.27 cm) with no additional dot columns.
0100Line lengths of the left and right borders are 1 inch
each (2.54 cm) with no additional dot rows.
6Line thickness for top and bottom borders is 6 dot
rows.
2Line thickness for the right and left borders is 2 dot
rows.
53
Page 54
Chapter3Boxes
Example 2: The command ^LB0250010025^- prints the following:
^LBThe Box command
0250Line lengths for top and bottom borders of 2.5
inches (6.4 cm) with no additional dot columns.
0100Line lengths for left and right borders of 1.0 inches
(2.54 cm) with no additional dot rows.
2Thickness of top and bottom borders is 2 dot rows.
4Thickness of left and right borders is 4 dot columns.
Example 3: The command ^LB0010025046^- prints the following:
^LBThe Box command
0010Line length for top and bottom borders is 0.1 inches
(0.25 cm) with no additional dot columns.
0250Line length for right and left borders is 2.5 inches.
4Thickness for top and bottom borders is 4 dot rows.
6Thickness for right and left borders is 6 dot
columns.
54
Page 55
Dashed Lines
Example 4: The Graphics Pass, ^M0202000^LB00900009011GRAPHICS^-
prints the following box and characters:
^LBThe Box command
0090Horizontal length of box is 0.9 inches.
0090Vertical height of box is 0.9 inches.
1Thickness of top and bottom borders is 1 dot row.
1Thickness of right and left borders is 1 dot column.
GRAPHICS Data to be printed with each character is 0.2 inches
(0.51 cm) square.
Form Drawing
Description The GPL Form command is used to draw boxes with vertical lines
Command ^LFhhhdvvvdhvllldt... ^G
Arguments
ineside. The height of the vertical lines is restricted to the vertical
dimensions of the box, and the maximum thickness of each line is
limited to nine dot columns.
The Form command has the following format:
^LFThe Form command
hhhHorizontal dimensions of the box in 0.10 inch
increments from 001 to 132 (0.1 to 13.2 inches).
dAdditional horizontal dimensions of the box in
dot-columns, ranging from 0 to 9.
vvvVertical height of the box in 0.10 inch increments.
dAdditional vertical height of the box in dot-columns,
ranging from 0 to 9.
hThickness of the two horizontal borders of the box
in dot rows, ranging from 1 to 9.
vThickness of the two vertical borders of the box in
dot columns, ranging from 1 to 9.
lllHorizontal positioning of the first vertical line from
the left margin in 0.10 inch increments from 001 to
132 (0.1 to 13.2 inches).
55
Page 56
Chapter3Form Drawing
Example 1: The Graphics Pass ^LF03000150110050010100101003^G prints
dAdditional horizontal positioning of the first vertical
line in dot columns, ranging from 0 to 9.
tThickness of the first vertical line in dot columns,
ranging from 1 to 9.
...Represents a repeat of the llldt command for each
additional vertical line to be printed. The distance
between each vertical line is additive, i.e., each
additional vertical line is placed relative to the
previous line, not from the left margin.
^GCommand Terminator
the following box and vertical lines.
^LFThe Form command
0300Horizontal box dimension of 3.0 inches with no
additional dot columns.
0150Vertical box dimension of 1.5 inches with no
additional dot rows.
1Thickness of each horizontal border is 1 dot row.
1Thickness of each vertical border is 1 dot column.
005First vertical line is positioned 0.5 inches from left
edge of box.
0No additional dot columns added to position of first
vertical line.
1Thickness of the first vertical line is 1 dot column.
010Second vertical line is positioned 1.0 inches from
the first vertical line.
0No additional dot columns added to position of
second vertical line.
1Thickness of second vertical line is 1 dot column.
010Third vertical line is positioned 1.0 inches from the
second vertical line.
0No additional dot columns added to position of third
vertical line.
56
3Thickness of third vertical line is 3 dot columns.
^GCommand Terminator
Page 57
Plot Mode
Dashed Lines
Description Plot Mode allows you to create and print your own graphics
images. The Plot Mode command must be inside a Graphics
Pass.
Plot data is based on vertical columns of seven dots each. Each
column is described by a hex byte that specifies which of the
seven dots to print. The Least Significant Bit (LSB) of the byte is
mapped to the bottom of the column, while the eighth bit is
ignored. See
Hex ValueBitDot
Table 2.
Tabl e 2. Least Significant Bit
807Not used
4061 (top)
2052
1043
0834
0425
0216
0107 (bottom)
Command ^Q<plot data>^G
Arguments
^QEnters Plot Mode
<plot data>The hex plot data.
^GExits Plot Mode
Example 1: This example prints an X. The command sequence is
^M^Q41,22,14,08,14,22,41^G^-
NOTE: Commas are not required between the data and do not affect the
results. Pass terminators placed between two plot commands will
cause one extra blank dot row to be plotted between the plot images.
To eliminate the blank row, keep subsequent plot commands within
the same pass. To eliminate the blank row, keep subsequent plot
commands within the same pass. Tab and justify commands can be
used to position plot images anywhere in a pass.
57
Page 58
Chapter3Logos
The X is drawn dot by dot as illustrated in Figure 2.
Figure 2. Plot Mode Example
Logos
A set of predefined logos come with Code V. See Appendix C, “Logos” on
page 271 for a table of logos. The first twelve are available in all four
orientations; the last two only work in horizontal and upside down orientations.
There are two commands for printing logos: Version 1 Command and Version
2 Command. The Version 1 Command can only print the copyright and
registered trademark logos, the Version 2 Command prints all the logos.
Version 1 Logos
The Version 1 logo command can only print the horizontal registered
trademark and copyright logos. The logo command must be within a Graphics
Pass.
Command ^Zn
Arguments
^ZVersion 1 logo command
nEither 1 or 2. A value of 1 prints ® and a value of 2
The Pixel Expansion command expands logos, fonts, and plot data up to 255
times their original size. The Pixel Expansion command remains in effect until
a new Pixel Expansion command is received. To turn Pixel Expansion on,
send the following code.
Command ^IPEXP,h,v^G
Arguments
Example 1: The code ^M0101000^ILOGO,L45^G^- prints the UL symbol in its
^IPEXPThe Pixel Expansion command
hRepresents the horizontal Pixel Expansion value,
which ranges from 1 to 255.
vRepresents the vertical Pixel Expansion value,
which ranges from 1 to 255.
^GCommand Terminator
original size.
59
Page 60
Chapter3Pixel Expansion
To enlarge the logo, send the Pixel Expansion code first, followed
by the logo command.
For example, ^M0101000^IPEXP,3,3^G^ILOGO,L45^G^- prints:
Example 2: Sending the code ^M^IFONT,S,3^Gline of Text^- prints at the
normal size:
Whereas sending the code ^M^IFONT,S,3^G^IPEXP,4,3^GLine
of Text^- prints:
60
Page 61
4Barcodes
The CVCC provides the capability to print several standard barcode styles
with or without accompanying human-readable characters. All barcode
encoding algorithms reside in the printer. The user needs to only send the
Barcode Command followed by the data to encode, and the printer will do the
rest. The Barcode styles included in the CVCC are:
•Code 39
•Code 128
•Interleaved 2 of 5
•UPC A
•UPC E
•EAN
•Codabar
•Identicon 2 of 5
•MSI
•Postnet
Barcodes may be printed in all of the four standard orientations (in Version 2
only), with or without human-readable character translation in any of the
available fonts, and at any height ranging from 0.3 to 9.9 inches. In addition,
many of the above styles are available with or without check digits and all
allow adjustment of bar/space ratios.
To print a barcode, the Barcode Command followed by the data to be
encoded must be sent to the printer as part of a Graphics Pass. When the
printer receives the Barcode Command, it first verifies that the data sent
adheres to the established specifications for that barcode. If the data does not
meet the specifications, the printer will print out the Barcode Command and
data as an error message.
Some barcodes have a fixed number of digits: UPC and EAN, for instance. If
less than the fixed number of digits is specified, the printer pads to the fixed
number of digits with zeros on the left of the data. If more than the fixed
number of digits is specified, the number is truncated and the remaining digits
on the right are ignored.
61
Page 62
Chapter4
Selecting Barcodes
Code V supports Version 1 and Version 2 Barcode commands. Version 1
commands allow more flexibility in the placement of the human-readable text
portion of a barcode. Version 2 commands have the advantage of including
the name of the barcode style in the command. Either command must be
contained within a valid Graphics Pass for it to be recognized by the printer.
The Version 1 command allows the barcodes to be printed in two orientations:
1. Horizontal
2. Vertical (rotated 90 degrees clockwise from horizontal).
The orientation of a Version 1 barcode is independent of the orientation of the
Graphics Pass it is in.
The orientation of Version 2 barcode is the same as the Graphics Pass in
which it appears. Thus, Version 2 barcodes may be printed in any of the four
Graphics orientations.
Regardless of the command style used, all Barcode commands must occur
within a Graphics Pass.
Barcode Density
A control panel option (Darkbar) defines the Barcode density. If set to ON, the
density will be high. The default setting of this option is OFF.
Barcode Height
The overall height of a barcode is determined by the window height (when the
barcode is horizontal or upside down) or width (when the barcode is vertical
right or vertical left) as specified in the ^M sequence that precedes the
Barcode Command Sequence. Human-readable characters are included in
the overall barcode height.
The height range is:
•02 to 99 (0.2 to 9.9 inches) without human-readable characters (HRC).
•03 to 99 (0.3 to 9.9 inches) with human-readable characters (HRC).
Character sizes less than 02 or 03 will cause the barcode height to assume
the minimum value (i.e., 0.2 inches without HRC and 0.3 inches with HRC).
Barcode Width
The width of a barcode is a function of the number of data characters to be
encoded, the style of barcode, and the bar/space ratios.
62
Page 63
Barcode Version 1
The Version 1 command for printing a barcode is:
Command Default Ratio: ^{B,C}ax<data>^G
Variable Ratio: ^{B,C}a9x<ratio><data>^G
Arguments
^{B,C}B to print a horizontal barcode, or C to print a
vertical barcode.
aOne of the following characters:
B, prints the OCR-B font three dots below the
barcode.
N, turns OFF auto-printing.
O, turns ON OCR auto-printing.
S, prints OCR-A 0.10 inch below the barcode.
T, prints OCR-B 0.10 inch below the barcode.
Y, turns ON OCR-A auto-printing.
Barcode Version 1
9Selects the variable ratio feature.
xThe character from Table 3 that corresponds to the
desired barcode style.
<ratio>A sequence of bar/space ratios of the form r1r2r3r4
or r1r2r3r4r5r6r7r8, where r variables take on
values 00 through 0F, hexidecimal.
<data>The data to be encoded.
^GCommand Terminator
Example 1: The Graphics Pass ^M0515000^BNA12345^G^- prints:
^M0515000 Turns ON the Graphics Pass Mode. The barcode
height is 0.5 inches and the vertical justification is 0
inches.
^BIndicates the barcode orientation will be horizontal.
NNo human readable characters will be printed
below the barcode.
AThe Code 39 barcode style (see Table 3).
12345The data to be encoded as a barcode.
63
Page 64
Chapter4
Example 2: The Graphics Pass ^M0515000^CYD67890^G^- prints:
^M0515000 Turns ON the Graphics Pass Mode. Barcode height
is 1.5 inches with no vertical justification.
^CIndicates the barcode orientation will be vertical.
YNon-OCR human-readable characters will print.
DThe Codabar barcode style (see Table 3).
67890The data to be printed as a barcode and human-
readable characters.
Barcode Version 2
The Version 2 command for printing a barcode is:
Command Default Ratio: ^IBARC,x,a,<data>^G
Variable Ratio: ^IBARC,x,R<ratio>,a,<data>^G
Arguments
^IBARCTurns on the Barcode Mode.
xThe index name of one of the barcode styles
selected from
RSpecifies that a ratio specification sequence
follows.
<ratio>A sequence of bar/space ratios of the form r1r2r3r4
or r1r2r3r4r5r6r7r8, where r variables take on
values 00 through 0F, hexidecimal.
NOTE: Colons must be used for Version 2 to separate the ratio parameters.
aControls the Autoprint feature (prints human-
readable characters in the currently selected font).
You can choose from:
N, turns off autoprinting.
E, human-readable characters are printed partially
embedded into the bottom of the barcode region.
The barcode is not printed in the embedded
portion. This method of barcode printing is usually
done only for UPC and EAN barcodes.
Table 3.
64
B, prints human-readable characters below the
barcode.
Page 65
Barcode Version 2
<data>The alphanumeric characters to be encoded.
^GCommand Terminator
Ta bl e 3 shows the available barcode styles and associated indices:
Tabl e 3. Valide Barcode Symbologies
Version 1
Index
---AIAGCode 39None1:1:3:3
---EMBARCCode 39None1:1:3:3
---HIBCCCode 39Mod 431:1:3:3
AC39Code 39None1:1:3:3
---LOGMARCode 39None1:1:3:3
BC39ACode 39None1:2:4:5
CC39M43Code 39Mod 431:1:3:3
DCBARCodabarNone1:2:3:4:1:1:1:1
E---Identicon 2/5None1:2:3;2
FMSIMSINone1:1:2:2
GMSI10MSIMod 101:1:2:2
HMSI1010MSIMod 10/101:1:2:2
KINT2/5Interleaved 2/5None1:1:3:3
Version 2
Index
DescriptionCheck DigitsRatio*
LINT2/5AInterleaved 2/5None1:2:4:5
PUPCAUPCA 11 digitMod 101:1:2:2:3:3:4:4
QUPCEUPCE 10 digitMod 101:1:2:2:3:3:4:4
RUPCE0UPCE0 6 digitMod 101:1:2:2:3:3:4:4
SUPCE1UPCE1 6 digitMod 101:1:2:2:3:3:4:4
TEAN13EAN 13 digitMod 101:1:2:2:3:3:4:4
UEAN8Ean 8 digitMod 101:1:2:2:3:3:4:4
ZC128Code 128Pseudo 1031:1:2:2:3:3:4:4
* These ratio numbers are to be read in pairs. They refer to the relative ratios
of the widths of the bars and gaps in barcode characters and correspond to
narrow bar/narrow gap, wide bar/wide gap, respectively. For example, the first
two numbers (1:2) in the INT2/5A barcode style indicates 1 unit for the narrow
bar width and 2 units for the narrow gap. These units are measured in dotcolumns for horizontal barcodes and dot rows for vertical barcodes.
65
Page 66
Chapter4
NOTE: We cannot guarantee tha barcode data with unique ratios other than
those listed above will result in readable printer output. When using
unique ratios, make sure that the wide and narrow bar ratios conform
to requirements for readability.
Example 1: The following command is the Version 2 equivalent of Example 1
in the Version 1 barcode section:
^M0515000^IBARC,C39,N,12345^G^- prints:
^M0515000 Specifies that the barcode is horizontal with a
height of 0.5 inches.
^IBARCTurns ON the Barcode mode.
C39Selects barcode style Code 29 from Table 3,
page 65.
NTurns OFF human-readable character printing.
12345The data to be encoded into a barcode.
^GCommand Terminator
Example 2: As an example of a Version 2 barcode with human-readable
character translation, ^M0505000^IBARC,C39,B,12345^G^prints:
^M0505000 Sets up horizontal orientation and sets the barcode
height to 0.5 inches.
^IBARC,Turns ON the Barcode Mode.
C39,Selects the first barcode style in Table 3, page 65,
(Code 39).
B,Places human-readable characters below the
barcode.
12345The data to be encoded as a barcode and printed
as human readable characters.
66
^GCommand Terminator
Page 67
Barcode Version 2
Example 3: Example 2 may be printed with the human-readable characters
embedded in the barcode by replacing B with an E as shown
below: ^M0505000^IBARC,C39,E,12345^G^- prints:
^M0505000 Sets up horizontal orientation and sets the barcode
height to 0.5 inches.
^IBARC,Turns ON the Barcode Mode.
C39,Selects the first barcode style in Table 3, page 65,
(Code 39).
E,Embeds human-readable characters at the bottom
of the barcode.
12345The data to be encoded as a barcode and printed
as human readable characters.
^GCommand Terminator
Example 4: The human-readable character translation printed below or
embedded in a barcode may be printed in any of the fonts
available with the IFONT command. The command sequence
^M0505000^IFONT,S,1^G^IBARC,C128,B,Rusty Old Car^G^prints:
^M0505000 Sets up horizontal orientation and sets the barcode
height to 0.5 inches.
^IFONT,S,1^GSets font to be Draft at 10 CPI.
^IBARCTurns ON the Barcode Mode.
C128Selects Code 128 (see Table 3, page 65).
BPrint human-readable characters below the
barcode.
Rusty Old Car
The data to be encoded as a barcode with humanreadable characters.
^GCommand Terminator
67
Page 68
Chapter4
Example 5: The Graphics Pass ^U0505^IBARC,EAN8,E,1234567^G^- prints:
^U0505Causes the barcode to be upside down with a
height of 0.5 inches.
^IBARCTurns ON the Barcode Mode.
EAN8Sets the barcode style to EAN 8.
EEmbeds the human-readable character translation
in the barcode.
1234567Barcode data as well as human-readable
characters.
^GCommand Terminator
Example 6: Barcodes may be printed in all four orientations. The following
^M0505000 Causes barcode to print horizontally with a height
of 0.5 inches.
^IFONT,S,1^G
Selects Draft 10 CPI characters.
^IBARC,C128,
Turns ON Barcode Mode and selects Code 128
barcode.
B,Prints the character translation below the barcode.
HorizontalData to be encoded as Code 128 barcode and
printed below the barcode as Draft 10 CPI
characters.
^GCommand Terminator
Second Command:
^U0505000^T0250^IBARC,C128,B,Upside^G^-^*
^U0505000Causes barcode to print upsdie down with a height
of 0.5 inches.
^T0250Tabs the start of the barcode 2.5 inches from the
left margin.
^IBARC,C128,
Turns ON Barcode Mode and selects Code 128
barcode.
B,Prints the character translation below the barcode.
UpsideData to be encoded as a Code 128 barcode and
printed below the barcode as Draft 10 CPI
characters.
^GCommand Terminator
Third Command:
^E0505000^T0000^IBARC,C128,B,Vert Left^G
^E0505000Causes barcode to print vertical left with a height of
0.5 inches.
^T0000Places the barcode at the left margin.
^IBARC,C128,
Turns ON Barcode Mode and selects Code 128
barcode.
B,Prints the character translation below the barcode.
Vertical Left Data to be encoded as a Code 128 barcode and
printed below the barcode as Draft 10 CPI
characters.
69
Page 70
Chapter4
^GCommand Terminator
Fourth Command:
^V0505000^T0250^IBARC,C128,B,Vert Right^G^-
^V0505000Causes barcode to print vertical right with a height
of 0.5 inches.
^T0250Tabs the start of the barcode 2.5 inches from the
left margin.
^IBARC,C128,
Turns ON Barcode Mode and selects Code 128
barcode.
B,Prints the character translation below the barcode.
Vertical Right
Data to be encoded as a Code 128 barcode and
printed below the barcode as Draft 10 CPI
characters.
^GCommand Terminator
Dark/Light Bar Ratios
The default widths of the light and dark bars that comprise each barcode style
are determined by the ratios given in
with the first number of the first pair being the width of the narrowest bar in dot
columns, and the second number of the first pair being the width of the
narrowest space in dot columns. The second pair of numbers in the ratio refer
to the next wider bar and space, respectively.
For example, Code 39 has the ratio 1:1:3:3 which means:
•The narrow bars and spaces are each one dot column wide.
•The wide bars and spaces are each three dot columns wide.
If a barcode style has more than two pairs of numbers, it has more than two
bar/space widths. For example, Code 128 has the ratio 1:1:2:2:3:3:4:4. Since
this is comprised of four pairs of numbers, four different widths of bars and
sapces are used in this particular barcode:
•The narrowest bars and spaces are one dot column wide.
•The next wider bars and spaces are two dot columns wide.
•The next wider bars and spaces are three dot columns wide.
•The widest bars and spaces are four dot columns wide.
Ratio numbers may range in value from 0 to F, hexadecimal. That is, a ratio
value of A corresponds to decimal 10 and F corresponds to decimal 15.
Table 3. These ratios are read in pairs,
70
NOTE: The printer does not verify that a given ratio sequence adheres to the
standard barcode specification. Many barcode ratios will cause the
barcode to fall outside the specifications, resulting in unreadability.
Page 71
High Density Barcode
Example 1: Barcodes can be expanded by doubling the ratio of the light/dark
bars. Code 39, which is normally 1:1:3:3 can be printed double
wide by sending the Version 2 Graphics Pass,
^M0505000^IBARC,C39,R2:2:6:6,E,12345^G^- prints:
Example 2: Barcodes can also be expanded by replacing the ratio numbers in
Table 3, page 65, with other values that are not exact multiples.
The Version 2 Graphics Pass,
^M0505000^IBARC,UPCA,R2:3:4:6:6:8:8:9,E,1234567890^G^prints:
High Density Barcode
Normally, barcodes print at 60 DPI horizontally. For improved readability, they
may also print at 120 DPI. The 120 DPI, High Density Mode can be toggled
ON and OFF by the command:
Command KF
Example: The command sequence
^M0505000^KF^IBARC,C39,B,MAU THE CAT^G^KF prints:
^KF first turns the High Density mode for barcodes ON, then the barcode is
printed. The second ^KF turns High Density Mode OFF.
NOTE: Darkbar Control Panel settings overrides ^KF if Darkbar is ON.
71
Page 72
Chapter4
LOGMARS Barcode
The LOGMARS barcode is a style used by the U.S. government. Although it
was meant to print with the human-readable characters placed below the
barcode (B), LOGMARS can also be used the with human-readable
characters embedded in the barcode (E) or not selected (N).
While many barcode styles are limited to numbers, Code 128 can encode
numbers, letters, and other symbols commonly found on keyboards, such as
@, #, and %. The Code 128 barcode is similar to three barcodes in one. The
three barcode styles are called Code A, Code B, and Code C. Each barcode
style is designed to encode certain types of data in the most compact way.
•Code A encodes upper-case alpha, numeric, and control codes.
•Code B encodes upper and lower-case alpha and numeric codes.
•Code C encodes digits in pairs.
A single Code 128 barcode may consist of all three Code 128 barcode styles.
the printer chooses the styles which result in the most compact Code 128
barcode for the data to be encoded. Thus, the user does not need to be
concerned about choosing the correct barcode styles since this is done
automatically.
The > (greater than) symbol is a Special character prefix. If a character with a
decimal value less than 32 needs to be encoded (i.e., a control character),
then send a > followd by the character that is decimal 64 higher than the
control code character. If control code characters are encoded, then no
numan-readable characters will print below the barcode. To send the >
character itself, send a >0.
Example 2: By adding the greater than symbol to the printable characters of
Example 1, the Graphics Pass,
^M0505000^IFONT,S,10^IBARC,C128,E,>ABCDE^G^- prints a
different barcode pattern, indicating that >A (decimal 65) now
represents the control code SOH (decimal 1):
NOTE: The human-readable characters did not print under the barcode as it
did in Example 1, above.
The Code 128 barcode style selection can also be done manually by adding a
style selection character to the beginning of the barcode data.
Code 128 characters are uniquely identified by a Code 128 value that range
from 0 to 105. For each value there is a single pattern of bars and spaces that
form a Code 128 character (there are 107 Code 128 characters; the STOP
character doesn’t have a value). Code 128 barcode data is mapped by Code
V into Code 128 values. Code V then uses the algorithm specified in the AIM
USS-128 Specifications to determine the combination of codes that will
produce the shortest possible barcode.
Some users may wish to control the Code 128 style used. To allow this, Code
V has special commands that can be included in the command that allow the
user to specify the Code 128 style that will be used. These special codes also
allow the user to encode special characters or call special functions as
defined in the Code 128 Specifications. Which special functions or characters
will be called out is dictated by teh style of Code 128 barcode (A, B, or C)
being used.
73
Page 74
Chapter4
Tabl e 4. Code 128 Special Command Characters
Special
Character
>030>>30
>195USDEL95
>296FNC3FNC396
>397FNC2FNC297
>498ShiftShift98
>599Code CCode C99
>6100Code BFNC4Code B
>7101FNC4Code ACode A
>8102FNC1FNC1FNC1
The following examples illustrate the Special Character usage
Barcode CommandsWhat a scanner will read
Code 128
Hex Value
Code A
Character
Code B
Character
Code C
Character
^IBARC,C128,B,>8123^G^-F123 (all Code B)
^IBARC,C128,B,>7123^G^-123 (all Code A)
^IBARC,C128,B,>6123^G^-123 (all Code B)
^IBARC,C128,B,>3123^G^-F123 (all Code B
^IBARC,C128,B,>2123^G^-F123 (all Code B
^IBARC,C128,B,>123^G^-123 (all Code B)
^IBARC,C128,B,>456>8123^G^-456F,123
^IBARC,C128,B,>456>7123^G^-456123 (456 in Code B, 123 in Code A)
^IBARC,C128,B,>456>6123^G^-456F,123 (all Code B)
^IBARC,C128,B,>456>3123^G^-456F,123 (all Code B)
^IBARC,C128,B,>456>2123^G^-456F,123 (all Code B)
74
Page 75
Code 128 Special Characters
Code 128 Special Characters
When a style selection has been made, character data will be translated from
the selected code style to the Code 128 representation as shown in
NOTE: Codes 96 through 102 do not have corresponding ASCII character
translations; these may be encoded using the special character table
(
Table 4, page 74).
Tabl e 5. Code 128 Translation Table
Tab le 5.
Code 128
Value
0(space(space)00
1!!01
2““02
3##03
4$$04
5%%05
6&&06
7‘‘07
8((08
9))09
10**10
11++11
12,,12
Code ACode BCode C
13(hyphen)(hyphen)13
14(period)(period)14
15//15
160016
171117
182218
193319
204420
215521
226622
75
Page 76
Chapter4
Table 5. Code 128 Translation Table
Code 128
Value
237723
248824
259925
26::26
27;;27
28<<28
29==29
30>>30
31??31
32@@32
33AA33
34BB34
35CC35
Code ACode BCode C
36DD36
37EE37
38FF38
39GG39
40HH40
41II41
42JJ42
43KK43
44LL44
45MM45
46NN46
47OO47
48PP48
49QQ49
50RR50
76
51SS51
Page 77
Code 128 Special Characters
Table 5. Code 128 Translation Table
Code 128
Value
52TT52
53UU53
54VV54
55WW55
56XX56
57YY57
58ZZ58
59[[59
60\\60
61]]61
62^^62
6363
64NUL‘64
Code ACode BCode C
65SOHa65
66STXb66
67ETXc67
68EOTd68
69ENQe69
70ACKf70
71BELg71
72BSh72
73HTi73
74LFj74
75VTk75
76FFl76
77CRm77
78SOn78
79SIo79
80DLEp80
77
Page 78
Chapter4
Table 5. Code 128 Translation Table
Code 128
Value
81DC1q81
82DC2r82
83DC3s83
84DC4t84
85NAKu85
86SYNv86
87ETBw87
88CANx88
89EMy89
90SUBz90
91ESC{91
92FS|92
93GS}93
Code ACode BCode C
94RS~94
95USDEL95
96FNC 3FNC 396
97FNC 2FNC 296
98SHIFTSHIFT98
99CODE CCODE C99
100CODE BFUNC-4CODE B
101FNC 4CODE ACODE A
102FNC 1FNC 1FNC 1
78
Page 79
Postnet Barcodes
POSTNET barcodes are now available to all Code V users. You can now print
POSTNET barcodes on envelopes or any printer output desired. The United
States Postal Service defines POSTNET Barcodes in USPS Publication #25,
A Guide To Business Mail Preparation.
Because of the strict specification requirements, POSTNET barcodes differ
from other barcodes in several ways. These differences are discussed below
following instructions on accessing POSTNET in Code V.
Accessing POSTNET in CVCC
To access POSTNET in Code V, use the following command:
^IBARC,POSTNET,N,98032^-
Orientation
Accessing POSTNET in CVCC
By using a Graphics Pass command, you may position a POSTNET barcode
anywhere on your printer output. (See Chapter 1,
onusing Graphics Passes). Since POSTNET barcodes are intended to be
read by Postal Service scanners, you should position your barcodes where
they may be easily read. USPS Publication #25 tells you where to position
POSTNET barcodes.
page 15, for instructions
Height
The Postal Service requires that POSTNET barcodes be a specific height, but
you do not have to enter the correct height value when you use a Graphics
Pass. When you enter a Graphics Pass command to position a POSTNET
barcode, the correct height is automatically chosen for you. Any other height
value you may enter is ignored in favor of the correct value.
CPI
The Postal Service requires POSTNET barcodes to be of specific resolution,
as defined by dots per inch (DPI). POSTNET codes must be 105 DPI
horizontally and 72 DPI vertically. For the height value, the correct POSTNET
DPI values are automatically chosen. Any other DPI values you may enter in
a Graphics Pass command will have no effect on the POSTNET barcode.
Other DPI values will however, effect characters other than POSTNET
barcodes.
79
Page 80
Chapter4Postnet Barcodes
Parameters In POSTNET
When used with POSTNET barcodes, some parameters function differently
than when used with other barcodes. These parameters are as follows:
^IBARC,POSTNET,B,98032^
The Below (B) parameter adds human-readable characters below the
barcode, but unlike other barcodes, does not reduce the height of POSTNET
codes.
^IBARC,POSTNET,E,98032^-
Normally, using the Embedded (E) parameter reduces the height of the
barcode. However, because of POSTNET barcodes’ height requirements,
characters that would normally be embedded are instead printed below the
barcode, as if the B parameter were used.
^IBARC,POSTNET,N,98032-1122^-
Hyphens are ignored in POSTNET barcodes. Illegal characters (not digits or
hyphens) are printed as zeros.
^IBARC,POSTNET,R1:4,N,98032^-
The required ratio for POSTNET barcodes is 1:4 (bar:gap), but may be
modified using the Ratio (R) parameter. Ratios other than 1:4, however, do
not meet the United States Postal Service specifications for POSTNET
barcodes.
AIAG Barcodes
The AIAG barcode style is used by the automotive industru. It is actually a
Code 39 style with no check digit and is encoded according to the AIAG
specification.
Example: The Graphics Pass,
^M0505000^IFONTS,S,10^IBARC,AIAG,E,AIAG BAR CODE
^G^- prints:
80
Page 81
HIBCC Barcode
HIBCC Barcode
The HIBCC barcode style is used by the health industry. It is actually a Code
39 barcode with a check digit. If the human-readable text is printed, it is
bracketed on either side by an asterisk. Lower-case letters cannot be used
with the HIBCC barcodes.
Example: The Graphics Pass,
^M0505000^IFONT,S,10^G^IBARC,HIBCC,B,HIBCC BAR
CODE ^G^- prints:
EMBARC Barcodes
The EMBARC barcode style is used in the paper industry. EMBARC is a Code
39 barcode without a check digit.
This chapter discusses the formatting and positioning commands provided by
Code V.
Horizontal Tab
The Horizontal Tab command allows the user to specify the current print
position relative to the left margin. When issued outside a pass, it sets the
default left margin for all subsequent Graphics Passes. When issued inside a
pass, it sets the left print position for that pass only.
The command syntax for a Horizontal Tab is:
Command ^Thhhd
Arguments
^THorizontal Tab Command
hhhHorizontal distance from the left margin specified in
increments of inches (0.25 cm) from 000 to 132
(00.0 to 13.2 inches or 0 to 33.5 cm).
dAdditional number of dot columns, from 0 to 9.
Example 1: The command ^M1010^T0152A^- prints an A tabbed 1.5 inches
plus 2 dot columns to the right or the left margin:
^T0152Places block character A 1.5 inches plus 2 dot
columns right of the left margin.
83
Page 84
Chapter5Positioning Data
Example 2: Since the tab command always specifies the print position
relative to the left margin, it is possible to back up to previously
printed positions within the line. For instance, the following
example prints B before A even though A appears before B in the
command sequence ^M0505^T0100A ^T0000B^-.
^T0100Places block character A 1 inch right of the left
^T0000Places block character B at the left margin.
Vertical Justification
The print position may be changed vertically with the Vertical Justification
command. This command allows the user to specify a print position below the
top of the current Graphics Pass. The command syntax is:
Command ^Jxxd
margin.
Argument
^JVertical Justification Command
xxdSpecifies how far down from the beginning of the
pass the characters are to begin printing. The xx is
the justification in increments of 0.1 inches (0.25
cm) from 00 to 99. the d indicates an additional
number of dot rows to justify down (from 0 to 9 dot
rows).
Example: The Graphics Pass: ^M0303000OPT^J030ION^- prints:
^J030Sets current print position to 0.3 inches below the
top of the pass.
84
Page 85
Pass Height
Pass Height
This function changes the height of block characters and barcodes within a
Graphics Pass.
Command ^Hxx
Arguments
^HPass Height Command
xxNew window height in increments of 0.1 inches
(0.25 cm) from 01 to 99. The actual height ranges
from 0.1 to 9.9 inches (0.3 to 25.2 cm).
Example: The Graphics Pass, ^M0402000GRA ^H02PHIC^- prints:
^MHorizontal orientation of characters.
04Window height of 0.4 inches (1.02 cm).
02Window width of 0.2 inches (0.51 cm).
00No justification down.
0No additional dot row justification down.
GRAData to be printed at 0.4 inches (1.02 cm) high.
^HIndicates a change in character height.
02New character height of 0.2 inches (0.51 cm).
PHICData to be printed at 0.2 inches (0.51 cm) high.
85
Page 86
Chapter5Positioning Data
Pass Width
This function changes the width of block characters within a Graphics Box.
Command ^Wxx
Arguments
^WPass Width Command
xxNew window width in increments of 0.1 inches
Example: The Graphics Pass, ^M0404000GRA ^W02PHIC^- prints:
^MHorizontal orientation of characters.
(0.25 cm) from 01 to 99. The actual width ranges
from 0.1 to 9.9 inches (0.25 to 25.2 cm).
04Window height of 0.4 inches (1.02 cm).
04Window width of 0.4 inches (1.02 cm).
00No justification down.
0No additional dot row justification down.
GRAData to be printed at 0.4 inches (1.02 cm) high.
^WIndicates a change in character width.
02New character height of 0.2 inches (0.51 cm).
PHICData to be printed at 0.2 inches (0.51 cm) high.
Pass Density
This function changes the density (dots per inch or DPI) of barcodes and
block characters. The density of lines and boxes is not changed by this
command. The Pass Density command may be issued either inside or outside
a Graphics Pass and remains in effect until another Pass Density command
occurs or Graphics Mode is exited.
The default printing density is 60x72 DPI (60 DPI horizontally by 72 DPI
vertically). The most common use of the ^~D command is to set the horizontal
density to 70 DPI to decrease barcode size. Pass density is inversely
proportional to size (higher density = smaller size). For example, a 2x
increase in density results in a 2x size reduction.
Command ^~Dhhhvvv
86
Arguments
^~DPass Density Command
hhhThe horizontal density in dots per inch. The
allowable range is from 040 to 240.
Page 87
Dot Slew
vvvThe vertical density in dots per inch. The allowable
is from 040 to 240.
Example 1: The Graphics Pass, ^M0404000^~D05005050x50 dpi^- prints:
Example 2: The Graphics Pass,
^M0505000^~D070072^BYA1234567890^G^- prints:
Example 3: The Graphics Pass,
^M0505000^~D060072^BYA1234567890^G^- prints:
Dot Slew
The Dot Slew command moves the paper up by a user-specified number of
dot rows. The command has the syntax:
Command ^Dnn
Arguments:
^DThe Dot Slew Command.
nnNumber of dot rows to move the paper up. the
range is from 01 to 99.
Form Length
The Form Length command sets the number of lines in a form. This command
must be used outisde a Graphics Pass. The command has the syntax:
Command ^Lnn or ^Hnn
Arguments
^L or ^HThe Form Length Command. Either ^L or ^H may
nnThe length of the form in lines. The valid range is
be used.
from 01 to 99.
87
Page 88
Chapter5Positioning Data
Interrupt Function
With the Interrupt function, a Graphics Pass may be interrupted at a
designated vertical distance from the top of the pass to allow another Pass to
begin printing at that location. The Interrupt command is not processed until a
Pass Terminator is received. Any Code V commands between the Interrupt
and the corresponding Pass Terminator will not be affected by the Interrupt.
For example, in the Code V command sequence:
The 0.2” x 0.2” characters Interrupts will print at the top of the pass. The 0.1” x
0.1” characters Can Be will print 0.3” + 1 dot row from the top of the pass. The
0.1” x 0.1” characters Confusing will print 0.4” + 3 dot rows from the top of the
previous pass since Confusing is justified relative to the location of the
Interrupt.
The 02” x 0.2” characters Interrupts will print at the top of the Pass. The 0.1” x
0.1” characters Can Be will print 0.7” + 4 dot rows from the top of the previous
Pass since Can Be is justified relative to the location of the Interrupt (0.4” + 3
dot rows below the top of the pass). The 0.1” x 0.1” characters Confusing will
print 0.8” + 4 dot rows from the top of the previous pass.
The format for an Interrupt function is:
Command ^Ixxd
Arguments
^IIndicates the Interrupt function.
xxIncrements of 0.1 inches from the top of the
Graphics Pass down to where data is inserted. The
range is 00 to 99.
dAdditional distance in dot rows. The range is 0 to 9.
88
NOTE: ^I000 prints out all of the interrupted passes.
Page 89
Repeating Data
The printed image defined by a sequence of Code V commands and data
may be repeated horizontally and vertically through the use of Code V Repeat
commands. This technique is often used to replicate labels, allowing the user
to print numerous labels from a single command sequence. Using a Code V
Repeat command typically results in faster printing since the printer only
needs to process the image to be printed once, then simply duplicates the
image across the page.
There are two Repeat Command versions. All of the features of the Version 1
Repeat commands are included in the Version 2 commands. For this reason,
it is recommended that the more powerful Version 2 commands be used
whenever possible. The Version 1 Repeat commands are discussed on
page 98.
Repeating Data, Version 2
Horizontal Repeat, Version 2
Horizontal Repeat, Version 2
Horizontal repetition can be accomplished by bracketing the commands and
data to be repeated with the commands shown below.
NOTE: Non-graphics data (i.e., any data outside a Graphics Pass) will not be
repeated. The Version 2 Horizontal Repeat command syntax is:
Command ^IREPH,n,hhd^G <data>^IREPE
Arguments
^IREPH,Turns ON the Horizontal Repeat Mode.
n,The number of times the data is to be repeated (1
to 9999).
hhHorizontal distance in increments of 0.1 inches to
move the print postion relative to the start of the
previously printed <data> (0 to 99).
dNumber of addtitional dot columns to mvoe the print
position (0 to 9).
^GCommand Terminator
<data>This represents a sequence of Code V commands
and data.
^IREPERepeat Terminator, turns OFF the Horizontal
Repeat Mode.
89
Page 90
Chapter5Repeating Data, Version 2
Example 1: The command ^IREPH,2,200^G^M0202000REPEAT^_^IREPE^-
prints:
^IREPH,Turns ON the Horizontal Repeat Mode.
2,The number of times the data is to be repeated.
2002.0 inches between the start of each repetition with
^M0202000REPEAT^
^IREPERepeat Terminator, turns OFF the Horizontal
Example 2: The Graphics Pass ^IREPH,2,200^G^M0202000GRAPHICS^-
^*^M0303000^T0040MODE^-^IREPE^- prints:
no additional dot columns.
The Graphics Pass containing the character
windows and the data to be repeated.
Repeat Mode.
^IREPH,Turns ON the Horizontal Repeat Mode.
2,The number of times the data is to be repeated.
2002.0 inches between the start of each repetition with
no additional dot columns.
^M0202000 Sets the orientation and size of the character
windows for the first Graphics Pass.
GRAPHICS The data to be printed.
^-^*Functions as a carriage return and line feed.
^M0303000 Sets the orientation and size of the character
windows for the second Graphics Pass.
^T0040Tabs the beginning of the second Graphics Pass
0.4 inches from the left margin.
MODEThe data to be printed.
^IREPERepeat Terminator, turns OFF the Horizontal
Repeat Mode.
90
Page 91
Vertical Repeat, Version 2
Vertical Repeat, Version 2
Vertical repetition can be selected by bracketing the commands and data to
be repeated with the commands shown below. Both Graphics and nonGraphics commands and data are repeated vertically.
Command ^IREPV,n,vd^G <data>^IREPE
Arguments
^IREPVVertical Repeat Command
nThe number of times the data is to be repeated (1
to 9999).
vVertical space between each repetition in 0.10
increments (1 to 132).
dAdditional vertical space between repetitions in dot
rows (0 to 9).
^GCommand Terminator
<data>The data to be repeated.
^IREPERepeat Terminator, turns OFF the Horizontal
Repeat Mode.
Example 1: The Graphics Pass ^IREPV,3,12,^G^M0202000REPEAT 3
TIMES^-^IREPE^- prints:
Example 2: The command sequence ^IREPV,3,13^G^M0202000GRAPHICS
PASS^-^*NON-GRAPHICS SEQUENCE^*^IREPE^- mixes
Graphics Pass text with standard text and prints the following:
91
Page 92
Chapter5Repeating Data, Version 2
Multiple Repeat Commands
A Graphics Pass may contain more than one Repeat Start/Repeat End pair.
When a Graphics Pass contains more than one pair of Repeat Start/Repeat
End commands, the additional pairs are described as being “nested” inside
the Graphics Pass. The nexted pairs are matched by pairing the first Repeat
End with the last Repeat Start continuing in sequence until the last Repeat
End is paired with the first Repeat Start.
In the example below there are two Vertical Repeat pairs nested in the
Graphics Pass. Each nested pair comprises a Repeat Level in the Graphics
Pass. The Repeat level at a given point within a Graphics Pass is defined as
the number of Repeat start commands minus the number of Repeat End
commands previously encountered. For instance, the A is at the Repeat Level
2 in the following Code V command sequence:
NOTE:
•There can only be 9999 repeats per repeat level.
•The maximum number of repeat levels is 10.
•If multiple Repeat Start commands are set, each Start Repeat must be
paired with an End Repeat.
•No printing occurs until all Repeat Commands are terminated.
Example 1: this Graphics Pass has three Repeat levels:
92
Page 93
Multiple Repeat Commands
^iREPV,2,070^G
Specifies a Vertical Repeat twice at 0.7 inches
separation.
^IREPH,3,100^G
Specifies a Horizontal Repeat three times with a
separation of 1 inch.
^M0101000abc^-
First Graphics Pass with data and Pass Terminator.
^IREPV,2,000^G
Specifies a Vertical Repeat of two more times with
no separation.
NOTE: Although the ^IREPV command specifies 0 inches of vertical
separation between the repeated pass def, the def strings appear on
separate lines because of the ^- Pass Terminator.
^M101000def^-Second Graphics Pass with data and Pass
Terminator.
Example 2: This example has three levels. The nested repeat commands:
arithmetic operation). This value can be up to
twelve characters long. Valid characters are 0 to 9,
the capital letters A to Z, and spaces.
+/-Select either the + or the - sign to determine
whether the operand will be incremented or
decremented, respectively.
zThe operator (the amount that is incremented or
decremented at each step). This must be a numeric
value up to 12 digits long. If the operator exceeds
12 digits or if it contains non-numeric characters
(other than spaces), the operand remains
unchanged.
^GIncrement/Decrement Terminator
94
Page 95
Multiple Repeat Commands
Incrementing or decrementing numbers and characters is similar to adding or
subtracting numbers. Align the numers and/or letters vertically in columns and
add or subtract each column. For example, K + 1 means to advance 1
character position from K to the next letter (i.e., K+1 = L and K-1 = J).
The following examples show how automatic increments (addition) and
decrements (subtraction) apply to numeric and character fields:
0A0A90A(Operand)
+1-1+1+11(Operator)
0B9B01B(Answer)
In automatic incrementing and decrementing, the alphabet wraps around
itself, meaning that A is one character position beyond Z. The normal
arithmetic rules of carrying or subtracting a 1 from other columns when adding
or subtracting also apply. For example:
0Z1B(Operand)
+1-2(Operator)
1A0Z(Answer)
Below are two additional examples showing how this carry function operates:
0T0A(Operand)
+17+27(Operator)
2A2H(Answer)
The answer is always limited to the total number of characters and spaces in
the operand, even if the operator value has the full twelve characters allowed.
For example:
Y2F16A(Operand)
+112-105+1234 (Operator)
A2A39E(Answer)
If spaces are included in the operand value, only numeric values can appear
in the answer for those same columns. No letters are permitted. For example:
Horizontal Version 1 repetition can be accomplished by bracketing the
commands and data to be repeated with the commands shown below:
Command ^Snntt^-<data>^-^S^-
Arguments
^SVersion 1 Horizontal Repeat Command
nnNumber of times to repeat (00 to 99).
ttNumber of 0.10 increments to move after each
<data>Data to be repeated.
^S^-Version 1 Horizontal Repeat Terminator.
NOTE: Auto increments/decrements are not supported within a Version 1
horizontal repeat.
Example: The command sequence, ^S0225^-^M0202Horz^_^S^- prints:
repeat.
Vertical Repeat
Vertical Version 1 repetition can be accomplished by bracketing the
commands and data to be repeated with the commands shown below:
Command ^Rnnnn^_<data>^-^Z^-
Arguments
^RVersion 1 Repeat Command
nnnnNumber of times to repeat (0000-9999)
<data>Data to be repeated.
^Z^-Version 1 Vertical Repeat Terminator.
Example: The command sequence ^R0003^-^M0202Vertical Repeat^-^-
prints:
NOTE: Version 1 Vertical Repeats may be nested only two levels deep (i.e.,
an outer repeat and an inner repeat).
98
Page 99
6Buffered/Defined Forms
Buffered Forms
Code V allows users to store commands and data in printer memory. The data
stored in memory may be named and called up for use any time. Data stored
in memory this way is called a buffered form. The buffered form can consist of
any data and commands sent to the printer.
The Graphics Processing Language emulates both Version 1 and Version 2 of
the Code V Buffered Formatting Language. Version 2 buffered formatting
offers more features than Version 1 and should be used whenever possible
instead. See
The printer uses a Heap Buffer space to store Buffered Forms and to process
Code V data. Each Buffered Form takes up a portion of the available Heap
Buffer space. The amount of work space memory available at any given time
may be determined by executing the Buffered Forms List Command, see
page 105.
“Version 1 Buffered Formatting” on page 116.
Data Fields
The printer allows you to store the basic format for an entire form and then
later send only the data that changes from one form to another. The postion in
each form where this data is inserted is called a data field. A field data
accomplishes two purposes.
1. It specifies the number of data bytes.
2. By its physical location in the buffered form, the data field specifies where
its bytes should be placed. A data field is identified by ^[nnn.
^[Identifies the beginning of the data field.
nnnThe number of bytes in each field. This ranges from 001 to 999.
One byte of data represents a single character, such as 6 or r. the
actual number of bytes inserted into each field may be less than
the specified maximum, but how the unused spaces are treated
depends upon which control code is used as input to the buffered
data field.
99
Page 100
Chapter6Buffered Forms
Buffered Form Create
Buffered forms are created by the Buffered From Create Command. When a
buffered form is created, it is stored in printer memory until it is deleted or the
printer exits Graphics Mode. Every Version 2 Buffered Form has a name by
which it is referenced. The name is assigned to the Form by the Create
Command, and the form is referenced by name by the Buffered Form Execute
Command. The Execute Command is then used to print the form created by
the Create command.
The Buffered Form Create command has the following syntax:
Command ^IFORM,C<form name>^G<data^]
Arguments
^IFORM,CBuffered Form Create Command
<form name> The name for the form being created and stored.
This name can be up to twelve characters long. If
this name is already taken by an existing buffered
form, the newly created form will replace it.
^GCommand Terminator
<data>Commands and data to be stored (including data
fields, if any).
^]Marks the end of the data sequence that follows the
^IFORM,C command.
Example 1: The command, ^IFORM,C123^G^M1010000123^-^] stores the
Graphics Pass ^M1010000123^- in memory and names it 123.
Example 2: The command ^IFORM,CTEST 1^G^M0505000^[006^-^] stores
the Graphics Pass ^M0505000xxxxxx^- in memory and names it
TEST 1. the xxxxxx signifies six bytes in memory that are to be
filled in by the data field of the Buffered Form Execute command.
If the Execute commmand data field contains ABCDEF, then the
data string ABCDEF will print as 0.5 x 0.5 inch block characters
horizontally across the page in response to the ^M0505000
command.
Buffered Form Execute
The Version 2 Buffered Form Execute command is used to print command/
data sequences defined previously by a Create command. This command
prints the corresponding form stored in memory and inserts the data into the
appropriate data fields (if any) as the buffered form is printed. The Execute
command has the following form:
100
Command ^IFORM,E<form name>^G<data>^G
Arguments
^IFORM,EBuffered Form Execute Command
<form name> The name of the form stored in memory.
^GCommand Terminator
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.