Section 3: Symbologies
Linear Bar Codes
Linear bar codes are uni-dimensional, i.e. the same
data is present in all vertical elements. If you increase the number
of characters in a linear bar code, it expands horizontally. The
vertical dimension remains unchanged. Increasing the height of a
linear bar code does not change its data capacity, just the ease
of scanning.
Five bar codes represent the great majority of all
bar code usage. They are the UPC/EAN, Code 39, Interleaved 2 of
5, Codabar and Code 128. All of these are linear bar codes that
are easy to print using a variety of printers. Of these five, UPC/EAN
and Code 39 are by far the most commonly used, but Code 128 is rapidly
gaining acceptance for new applications. Other codes have been designed
for specific purposes, but do not enjoy wide usage.
These five codes represent a wide range of capabilities.
UPC/EAN, Codabar and Interleaved 2 of 5 being capable of only encoding
numerics, while Code 39 can also encode uppercase alphas and Code
128 the full ASCII character set. UPC/EAN and Code 128 are four
level codes, with each element being either lx, 2X, 3X or 4X the
width of a narrow bar. Code 39, Codabar and Interleaved 2 of 5,
on the other hand, are two level codes having only two possible
widths, either wide or narrow. The wide to narrow ratio for these
codes is limited to a range from 2:1 to 3:1, with the minimum being
2.2:1 for codes having narrow bar dimensions of less than 20 mils
(.020!).
It should be noted that the two level codes have twice
the printing tolerance when printed at 3:1 than the four level codes.
The scanner has to only distinguish between a bar three times as
wide as the narrow one. In the four level code, it has to determine
when a bar is only twice as wide. To get an accurate density comparison
between the two level and four level codes with all factors being
equal, the wide to narrow ratio for the two level code should be
set to 2:1.
- CODE 39
Code 39 is an alpha numeric code that encodes 43 characters. It
is a discrete code, i.e. one where each character starts with
a bar and ends with a bar and has a discrete space between characters.
Each character in Code 39 is represented by five bars and four
spaces, with three of the nine elements being wide and the remaining
six narrow. It is a two level code, with the wide to narrow ratio
being restricted between a range of 2:1 (2.2:1 for narrow bar
widths under 20 mils) and 3:1. Unique start/stop characters are
added at the beginning and end of the decoded data and are conventionally
decoded as an asterisk. Code 39 is widely used in industrial applications
because of its variable length feature and the ability to encode
alphas as well as numerics. Code 39 is specified for usage by
the Automotive Industry Action Group (AIAG), the Department of
Defense's MIL SPEC 1189 LOGMARS specification and the Health Industry
Bar Code Council (HIBCC).
- UPC
The UPC code was established for the benefit of the supermarket
industry to facilitate automatic scanning of items at the checkout
counter. It is a four level numeric only code that is continuous,
i.e. one that starts with a bar and ends with a space and has
no intercharacter gap. Characters are constructed from a combination
of two bars and two spaces, and occupy a total of 7 module widths.
It is a fixed length code with the standard UPC-A symbols having
one number system digit, ten data digits and one check digit in
addition to the start/stop characters. When printed at "100%"
magnification (a 13 mil narrow bar dimension), it is 1.235 inches
long. The specification allows it to be printed as large as 200%
and as small as 80%. The 80% limitation makes it difficult for
a modern discrete dot printer to create both a 100% and an 80%
symbol since it would require a dot size of 2.6 mils to Several
variations of the UPC code exist. The EAN (European Article Numbering)
variation encodes 13 characters, with the extra digit being combined
with the number system digit to encode the country of origin.
A shortened version, UPC-E can be used for products that do not
have adequate room for the full symbol.
- INTERLEAVED 2 OF 5
Interleaved 2 of 5 is a numeric only bar code that has been widely
accepted in warehouse and heavy industry applications. It is a
continuous code and uses combinations of bars to encode one digit
and the intervening spaces to encode another. Therefore any symbol
must contain an even number of characters. A character is composed
of two wide bars (or spaces) out of a total of five, using only
two possible widths, either wide or narrow. Special start and
stop characters are used to delineate the encoded data. Because
of its use of all the bar and space elements for encoding data,
it is regarded as a "high density" code. A check digit can be
used to increase the reliability of the code.
- CODABAR
Codabar is a discrete two level code with each character represented
by a standalone group of four bars and three intervening spaces.
A total of 16 characters are defined and four different start/stop
characters used. This allows 16 different "sets" of data to be
encoded using the possible start/stop character combinations.
The original Codabar specification was optimized for ink spread
in press printing, resulting in 18 possible element widths. Most
modem printers use a rationalized version of the code that reduces
the number of possible widths to two, making it more compatible
with modern discrete dot printers. A check digit is optional if
data integrity is critical.
- CODE 128
Code 128 is one of the newer kids on the block and is becoming
very popular because of its high density and ability to encode
a full character set. It is a four level discrete code with three
possible start characters and one stop character, with each of
the four combinations describing a separate character set. 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 alpha-numeric keyboard characters
plus lower case alpha and special characters. Subset C includes
the set of 100 digit pairs from 00 thru 99 inclusive, as well
as special characters which allow double density numeric digit
pairs to be encoded. It has a structure with 11 modules, each
having three bars and three spaces. A check digit is mandatory.
The combination of high density, the ability to encode 128 characters
and the development of laser and thermal bar code printers capable
of printing high quality symbols with small bar dimensions has
fueled the popularity of Code 128. It is being specified for a
number of applications, including the new UCC-128 Serial Shipping
Container Code.
2-D Bar
Codes 2-D bar codes were developed in an attempt to overcome the
conventional information limitations of linear bar code symbols.
As the amount of information encoded increases, there are only two
options available with linear bar codes, make them longer or use
multiple symbols. As the symbols become longer they consume more
room and become a problem for scanners as they fall outside the
allowable scan angle. Breaking the information up into a number
of standalone symbols requires that each be read individually and
that the contents of each be identifiable from that of the other
symbols as the order of scanning cannot be ensured. The AIAG-B3
shipping label is an excellent example of conventional symbols being
arranged one above another. In this case each symbol is read separately
and the system must correlate the information. By using Data Identifier
characters, the system knows what information is contained in the
symbol regardless of the order scanned. However, the limitation
of this approach is apparent.
The 2-D symbologies take advantage of both horizontal
and vertical encodation to reduce the symbol size and achieve character
densities up to 2000 characters per square inch. There are two primary
approaches taken. The first is to "stack" high density linear symbols
with very small vertical measurements. The other is to use a "pattern"
code in which data can be encoded in an X-Y matrix.
- STACKED CODES
PDF417, Code 49 and Code 16K are examples of stacked symbologies.
The most popular of these is PDF417, developed by Symbol Technologies,
Inc. in 1990. It is easily recognized by the continuous start
and stop codes that run the entire height of the symbol. In between
the start/stop codes are a number of linear bar codes stacked
directly on top of each other. The scanner must be able to determine
when it has crossed a row boundary and "stitch" the symbols together.
A high density PDF417 symbol can encode 500 characters per square
inch of ASCII data and has a selectable security level. At the
highest level, half the symbol can be missing and still be decodable.
PDF417 uses "shift" characters to select a character set, much
like Code 128. Reading a stacked symbol requires a scanner that
can either image the entire symbol or can raster scan the symbol
and "stitch" the results together. This increases the cost of
the scanner as hand scanning is not possible and laser beam scanners
must raster the scan pattern.
- PATTERN CODES
Whereas stacked codes are two dimensional in nature by virtue
of the vertical stacking of horizontal rows of bar codes, pattern
codes use the location of an information bit in a matrix to encode
the data. As such, they do not technically fit into the "bar code"
category. They are capable of extremely high information densities,
where they are limited only by the ability of the printer to accurately
print and place the dots and the resolution of the scanner. The
two most successful of the pattern codes is Maxicode, developed
by UPS for package marking, and the Data Matrix code.
Data Matrix is a binary code that encodes formation in a checkerboard
pattern with dark and light cells. The contrast between cells
can be as low as 20%, allowing it to be printed with chemical
or laser etch processes on unconventional substrates. It can be
scaled to a density of 2,334 characters per sq. in. with a sufficiently
high resolution printer. Data Matrix is most often read with a
CCD imaging scanner.
Maxicode was developed for sorting and tracking packages. It is
a matrix of hexagonal cells with a bullseye in the middle to assist
the scanner in locking on the image as the package moves down
a conveyor. Maxicode is a fixed, 1" x 1", 100-character code.
Its structure does not lend itself to linear scanning and is most
often read with a CCD imaging scanner.
- HRI AND 2-D CODES
Standard linear bar codes make provision for a representation
of the encoded data in Human Readable Interpretation (HRI) form.
The HRI requirement is a "safety net" provided for the system.
If a symbol cannot be read by the scanner, the operator has the
option of entering the data manually via a keypad. The new 2-D
symbols make the HRI concept unrealistic. The character densities
of these symbols makes it impractical to reprint the information
in human readable form. The HRI information would occupy much
more space than the symbol, thereby defeating the purpose of high
density symbols.
Symbology Specifications
Since we are concerned with both printing bar code symbols and reading
them without introducing any errors, the specifications for various
symbologies allow for tolerances in both the process of printing
and reading. Some of the allowable tolerances are allocated to the
printing process and some to the reading process. If a symbol is
"in-spec," it simply means that the image representation of the
symbol as printed on the substrate is within the limits allowable.
The tolerances relate to such factors as the reflectivity of the
spaces versus the bars and the ratio of the wide to narrow bar/space
measurements.
Being able to read a bar code symbol with a scanner
is not an acceptable method of determining if it is within the allowable
tolerances. A very poor quality symbol may possibly be read with
a high performance scanner, but in this case the scanner is allowing
the symbol to infringe upon the tolerances reserved for the scanning
system. Another scanner, or even the same scanner with a different
operator, might not be able to compensate for this lack of symbol
quality, rendering the symbol unusable. For this reason, the standards
will spell out the minimum acceptable levels of contrast, reflectance
and other critical print quality measurements. They also specify
how these measurements are to be made.
The specifications for all of the bar code symbologies
listed here are maintained by the Automatic Identification Manufacturers
(AIM) trade association in the form of a Uniform Symbol Specification.
The exception is the UPC symbol which is controlled by the Uniform
Product Code Council.
Copyright � 1998
Sato America, Inc.
Return
to Media Index
|