|
A bar code symbology is a system for representing data in the bars
and spaces of a bar code. A bar code consists of a number of printed
bars and intervening spaces. The width of the bars and spaces, as
well as the number of each, is determined by the specification for
that symbology.
The process to convert a computer message into a bar code symbol is a four-step
process:
-
Establish the type of data to be represented and the number of
characters in the message.
-
Translate the human-readable information into binary format. The
number and value of the binary zeros and ones are determined by the
bar code symbology selected.
-
Create the bar/space pattern that represents the binary word used in
step 2.
-
Format the individual bar code characters into a symbol that
represents the complete message. The complete symbol consists of
quiet zones, start and stop character patterns, data characters, and
optional check digit characters.
The most widely used symbologies are discussed and illustrated in the
following pages.
Code 39
Code 39 was the first alphanumeric symbology to be developed. In 1981
it was established as the official Department of Defense and the
official government symbology standard. The Automotive Industry
Action Group and the Health Industry Business Communications Council
recommend Code 39 symbology. Also known as Code 3 of 9, it is the
code for industrial, medical, electronics, telecommunications,
corrugated shipping containers, commercial and government
applications. Numbers, letters, symbols, and some punctuation can be
encoded in Code 39 bar codes.
-
Capital letters A to Z
-
Numbers 0 to 9
-
Space character
-
-. $ / + % characters.
The name, Code 39, signifies each character is composed of nine
elements--five bars and four spaces. Each character has three wide
elements and six narrow, each separated by an intercharacter gap. The
intercharacter gap contains no information and should be
approximately the same size as the narrow element width.
For a decoder to distinguish between the wide and narrow
elements, a minimum wide to narrow ratio needs to be established.
Depending on the resolution used for printing the bar code, the width
of the wide element should be at least two times greater than the
narrow element. The width of a narrow bar should be the same as a
narrow space; and, the width of a wide bar should be the same as a
wide space.
Code 39 is self-checking, discrete, and utilizes start/stop
characters, intercharacter gaps and allows bi-directional scanning.
Both the start and stop character for this symbology is an asterisk
(*). Together, the wide elements (represented by "1") and
narrow elements (represented by "0") create a pattern that
is used to obtain its equivalent numeric value.

Full ASCII Code 39
The Full ASCII Code 39 expands standard Code 39 to include the full
128 ASCII character set using the existing Code 39 character set.
This is achieved for certain ASCII characters by pairing two Code 39
characters to represent the single ASCII character.
As shown in the example, a carriage return (CR, ASCII 13) is encoded
using the two Code 39 characters, $ and M.
Because Full ASCII Code 39 is derived using standard Code 39
characters, your bar code reader must be configured for Full ASCII
Code 39 to properly decode the Full ASCII Code 39 character set.

UPC
Since 1973, the Universal Product Code (UPC) has been identified with
various types of retail industry. However, it can be used in shipping
and retail applications. UPC is a coding system as well as a
symbology; it is designed to identify a product and its manufacturer.
The Universal Product Code Council assigns all UPC codes. The number
system character, as shown below, indicates the type of product the
bar code is identifying.
|
Number System Character |
Product Type |
|
0 |
Regular UPC codes |
|
1 |
Reserved |
|
2 |
Random-weight consumer items |
|
3 |
Drug items |
|
4 |
In-store marking of non-food items |
|
5 |
Reserved for coupons |
|
6, 7 |
100,000 manufacturer identification numbers |
|
8, 9 |
Reserved for future use |
UPC is a fixed length, numeric, continuous symbology consisting of
two halves which can be read independently. Encodation differs for
the left and right halves. Parity refers to whether the sum of the
bar module widths in a given character is an even or odd number. The
check digit is the last digit and is calculated from all of the other
numbers encoded in the bar code.
There are four versions of UPC bar code. Two most commonly used types
of UPC are Version A, which encodes twelve digits and Version E,
which encodes six digits. However, the encodations of all versions
are basically the same; the difference is primarily the configuration
of the data field.

UPC Version A
UPC Version A is a numeric, fixed length, continuous bar code.
Commonly used for grocery, drug or health-related items, UPC Version
A encodes twelve digits; six digits in each half with left, center
and right guard bars. Guard bars are usually printed with greater
length than other bars in the symbol to maximize the allowable
scanning tilt angle and to divide the symbol in half.
Each half is referred to as left parity and right parity and can be
decoded separately. Bars and spaces can be one, two, three or four
modules wide. Version A has two levels of checking; the first is a
parity check of individual characters within the first half; the
second is a modulus 10 check digit. The encodation patterns for UPC
Version A are different for the left and right parities.
UPC Version E
UPC Version E is a zero-suppressed version of UPC A used on items
often too small to include a bar code. UPC Version E allows
manufacturers to encode a limited number of unique twelve digit
product codes into eight digits.
UPC Version E is a numeric, continuous, fixed length bar code. The
eight-digit code consists of a number system character (0), a
three-digit manufacturer's code, a three-digit product code, and a
check digit. UPC-E Version 0 automatically includes a zero in the
number system position; UPC-E Version 1 includes a one.

The Universal Code Council as listed below establishes guidelines for
manufacturers to properly code products.
Last 3 Digits of Mfg's Code |
Manufacturer's Number |
Available Item Numbers |
Product Code Number |
|
3 |
000, 100, 200 |
1,000 |
00000 - 00999 |
|
3 |
300, 400, 500, 600, 700, 800, 900 |
100 |
00000 - 00099 |
|
2 |
10, 20, 30, 40, 50, 60, 70, 80, 90 |
10 |
00000 - 00009 |
|
Manufacturer's number does not end in zero |
5 |
00005 - 00009 |
EAN
European Article Numbering system also known as the World Product
Code (WPC), and the International Article Numbering Association (IAN
or EAN), is a symbology developed for international businesses.
EAN has two versions, EAN 8 and EAN 13, which are variations of the
original UPC coding system developed in the United States. Both
versions are fixed length, discrete and numeric bar codes. The first
two digits of an EAN bar code are the country code. Country codes 00,
01, 03, 04, and 06-09 are assigned to the United States for
compatibility with UPC. An EAN scanner can decode UPC; however, the
reverse is not necessarily true.

The EAN 13 symbology contains the same number of digits as UPC
Version A except it includes an additional digit representing a
country code. Except "0", character set patterns for the
left half of EAN 13 are the reverse of UPC Version E. When
calculating the check digit, EAN 13 ignores the leftmost digit and
calculates the check digit in the same manner as UPC-A.
The EAN 8 symbology is divided into left (odd parity) and right (even
parity) halves. It has left and right guard bars and eight digits
including a modulus 10 check digit and is structured like UPC Version
A symbology except that four digits are encoded in each half.
Bookland EAN
Bookland EAN follows the same guidelines as an EAN 13 bar code and in
addition, contains the ISBN (International Standard Book Number).
Bookland EAN bar codes always begin with 978.

Interleaved 2 of 5
Interleaved 2 of 5 is a high density, continuous, numeric,
self-checking, bi-directional symbology used in warehousing, product
or container identification, airline ticketing, baggage and cargo
handling, industrial and automotive applications.
The following figure details an Interleaved 2 of 5 bar code, for
example, 0123. The adjacent characters are interlaced (interleaved)
alternating the spaces from one character with the bars of the other.
Interleaved 2 of 5 bar code encodes two digits; one in the bars and
one in the spaces and requires an even number of digits to encode
information. All of the even positioned data is encoded in the
spaces; and, all of the odd positioned data is encoded in the bars.
If the encoded data has an odd number of characters, you must add a
leading zero (0).

There are two wide bars and three narrow--five spaces in each
character, two are wide and three are narrow. A complete Interleaved
2 of 5 bar code consists of a start code (two narrow bars and two
narrow spaces), data characters, and a stop code (a wide bar, a
narrow space and a narrow bar). It may also contain an optional check digit
Code 128
Introduced in 1981 and widely used in general industrial, retail
container labeling and inventory, Code 128 is a high density bar code
and represents the Full 128 ASCII Character Set.
It is a variable length, continuous, bi-directional, alphanumeric
symbology originally designed to encode multiple identification into
a compact alphanumeric bar code. Each character consists of three
bars and three spaces and an overall length of eleven modules (either
black or white). Bars and spaces can either be one, two, three, or
four modules wide.

The character set consists of 103 different characters, three start
characters and one unique stop character. With use of a function
code, (FNC 1, FNC 2, FNC 3, FNC 4), Code 128 offers a concatenation
feature, and has the ability to decode and transmit several messages
as one. The function code determines instructions for the bar code
reader as follows:
|
FNC Characters |
Description |
|
FNC1 |
Reserved for future use or special applications such as UCC-128
shipping container code. |
|
FNC2 |
Special instruction for bar code reader to temporarily store data
(append) from the symbol containing the FNC 2 character and transmit
it together with the next symbol character. |
|
FNC3 |
Reserved for bar code reader initialization and other special bar
code reader functions. |
|
FNC4 |
Reserved for future use or special applications. |
UCC-128 Serial Shipping
Container Code (Mod 10)
UCC-128 Mod 10 is a subset of Code 128 and is a twenty-two character,
alphanumeric, continuous, fixed bar code, used primarily on shipping containers.
Every bar code starts with a Start C code followed by a function code
(FNC1), pertinent data characters (19 digits), modulus 10 check
digit, modulus 103 check digit and stop code.

Start C code, together with the function code, forms the overall UCC
start code notifying the scanner that a specific UCC-128 bar code
follows. The two-digit qualifier code distinguishes it from other UCC
and EAN codes. The one digit code identifies the type of serialized
shipping container package. UCC/EAN approved valid packaging values
are listed below:
|
Shipping Container ID Number |
Description |
|
0 |
Serial number shipping case or carton ID |
|
1 |
Serial pallet (larger than case/carton) |
|
2 |
Serial container (larger than a pallet) |
|
3 |
Undefined packaging type |
|
4 |
Inter-company defined shipping container code |
|
5 |
Mutually defined between trading partners |
|
6-9 |
Reserved for future use |
A six-digit UPC manufacturer number together with an additional zero
completes the seven-digit manufacturer's identification number and is
assigned by the UCC/EAN. The Shipping Container Serial Number
Identifier individually identifies each shipping container packaged
by a provider.
Codabar
Developed in 1972 and commonly used in libraries, blood banks, air
parcel carriers, photofinishing envelopes and the medical industry,
Codabar is a numeric, bi-directional, variable length, discrete,
self-checking bar code symbology.
In 1977, the Committee for Commonality in Blood Banking Automation
(CCBBA) formally adopted Codabar for marking blood bags. It is common
for bar codes to be concatenated for use in the blood bank industry.
When two adjacent symbols use a D stop character, and the second
symbol begins with a D start character, both can be scanned
simultaneously, producing a concatenated bar code.

Codabar consists of sixteen characters, zero through nine and the
characters $, :, /, ., +, and -. Codabar characters are made up of
four bars and three intervening spaces consisting of a quiet zone,
start/stop character, data characters, start/stop character and an
ending quiet zone. The code has variable intercharacter spacing and
code density of up to ten characters per inch. Depending on the
specific character, eighteen different values can be assigned to bar
widths and spaces. A check digit is not required; however, if
additional data security is needed, a recommended modulus 16 check
digit calculation is available.
Twelve main characters (0 through 9, -, $) have one wide bar and one
wide space. Special characters (: / . +) have three wide bars and no
wide spaces. Four different start/stop characters (A, B, C, D) are
encoded with one wide bar and two wide spaces.
MSI/Plessey
MSI/Plessey is commonly used in supermarket shelf labeling and
formerly used in early library applications for scanning with various
input devices to facilitate inventory reordering. Developed in
England with formal specifications first dated in 1971, Plessey has
several variants, MSI, Telxon and Anker Codes.
MSI/Plessey code is sometimes referred to as pulse width modulated,
wherein each pair of bars and spaces contain one bit of information.
However, pulse width modulated codes do not carry significant
technical benefits over more up-to-date symbologies. MSI/Plessey is a
variable length, numeric, continuous bar code, and is not self-checking.

A complete MSI/Plessey code consists of a start code, data
characters, modulus 11 check digit, modulus 10 check digit (optional)
and a reverse start character. Each character consists of four bars
and four spaces. The zero bit consists of a narrow bar followed by a
wide space; a one bit consists of a wide bar followed by a narrow space.
Code 93
Introduced in 1982, Code 93 is similar to Code 39 except that it
encodes more characters per inch. It was designed as a competitive
symbology to Code 128 and to provide an extended character set to
Code 39. Code 93 can be integrated into a system using Code 39
without changing system software but, only when a decoded,
autodiscriminating input device is used.
Code 93 is an alphanumeric, variable length, continuous bar code, and
is not self-checking. As of this publication, no national or
international industry organization has officially adopted Code 93.
The data characters of both Code 93 and Code 39 symbologies are the
same; the start/stop codes and the check digits are not transmitted
by the input device. Code 93, similar to Code 39, permits
concatenation of consecutive bar codes containing a leading space
character. The scanned leading space character is appended to a
storage buffer. This process continues for all successive bar codes
with a leading space and is added to previously stored ones. When a
Code 93 bar code is scanned and does not contain a leading space, the
entire buffer is transmitted and cleared.

A complete Code 93 bar code consists of a leading guard bar (quiet
zone), start code, data characters, C check digit, K check digit,
stop code, termination bar and end guard bar (quiet zone). Code 93
characters consist of three bars and three spaces, except the
start/stop character, which is represented by the symbol.
Circle codes ($, %, / and +) are used as a preceding character of a
two character sequence, and represent all 128 ASCII characters.
Preceding characters are used to expand Code 93, similar to an
extended ASCII character set for Code 39.
Overall length of a character is nine modules, black or white and can
be one, two, three, or four modules wide. Each character begins with
a bar and ends with a space. The Code 93 character assignments shown
in the following table represent only forty-eight of the total
fifty-six characters-forty-three are the same as the Code 39
character set, and four are control characters.
Every Code 93 bar code contains two check digits, C and K, which are
variations of modulus 47 check digit. These check digits are not
transmitted by input devices or printed in human-readable terms.
Code 11
Developed in 1977 for labeling telecommunications components and
equipment, Code 11 is a high density, numeric, variable length,
discrete bar code and is not self-checking.
A complete Code 11 bar code consists of a start code, data
characters, a C check digit, and occasionally a K check digit.
Ordinarily when data characters consist of ten digits or less, only
the C check digit is used.

Three bars represent each data character with two intervening spaces
for a total of five elements. Three different bar widths and two
different space widths can represent each character: two wide, three
narrow or one wide, four narrow. The character set consists of ten
digits and a dash symbol (special character).
|