Media: Ribbons & Labels

Bar Code Printer Selection Guide

01-04


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.