Datamax-O'Neil Class Series Programmer’s Manual User Manual

Page 223

Advertising
background image

Appendix G – Barcode Details

Class Series Programmer’s Manual

209

W1J:

Code 128 with Auto Subset Switching


Valid characters: The entire 128 ASCII character set.


Variable

length


Valid bar widths: The fourth character of record is the width of the narrow bar in dots. All other bars
are a ratio of the narrow bar (2 times the narrow bar width, 3 times the narrow bar width, and 4 times
the narrow bar width).

This printer supports the Code 128 subsets A, B, and C. If the data begins with at least four numeric
characters the default start code is subset C. If there is a non-numeric in the first four characters or
there are less than four then the default start code is subset B. Subset switching between B and C is
based on the following rules:

1. If in subset C and there are an odd number of numeric digits, subset B will be set prior to the last

digit.


2. If four or more numeric digits appear consecutively while in subset B, the character code C will

be set prior to the digits. If there is an odd number of numerics already in B, the first numeric will
be placed in B with the others in C.


3. When in subset C and a non-numeric occurs, subset B will be inserted prior to the character.

Note that there is no auto switching from, or to, subset A. Standard switches are still used. See table
below.

Subset A: Includes all of the standard uppercase alphanumeric keyboard characters plus the control
and special characters.

Subset B: Includes all of the standard uppercase alphanumeric keyboard characters plus the
lowercase alphabetic and special characters.

Subset C: Includes the set of 100 digit pairs from 00 through 99 inclusive, as well as special
characters. Code128 Subset C is used for double density encoding of numeric data.

Special Character Handling: Characters with an ASCII value greater than 95 are considered special
characters. To access these values, a two-character reference table is built into the printer, see table
below. As an example, to encode FNC2 into a Code128 Subset A bar code, send the ASCII & (DEC
38, HEX 26) followed by an ASCII B (DEC 66, HEX 41). Code FNC2 will be encoded.

ASCII

2 CHAR

CODE A

CODE B

CODE C

96 &A

FNC3

FNC3

-NA-

97

&B

FNC2

FNC2

-NA-

98 &C

SHIFT

SHIFT

-NA-

99

&D

CODEC

-NA-

-NA-

100 &E

CODEB

FNC4

-NA-

101

&F

FNC4

CODEA

CODEA

102 &G FNC1 FNC1 FNC1

Table G-9: Special Character Handling

Advertising