Understanding Bar Code Symbologies

Show All Hide All

A bar code symbology is the encoding scheme used to express numerical and character data with a pattern of bars and spaces in a bar code. These bars and spaces are the elements of the symbology.

Symbology Categories

Symbologies can be divided into four categories:

  • A Linear symbology is a row of bars and spaces. The elements vary either by width as in the bar code on the left or by height as in the bar code on the right:

UPC-8

Royal Mail 4-State

  • A 2D Stacked symbology has multiple rows of bars and spaces. In some 2D Stacked symbologies, such as the one on the left below, there are separator areas between the data rows such as the example on the left. In other 2D Stacked symbologies, such as the one on the right, there are no separator areas.

RSS Expanded Stacked

PDF417

  • A 2D Matrix symbology has a two-dimensional pattern of elements that doesn't necessarily have a row-by-row structure. In the example below the data is written in a spiral outward. Typically, the elements are squares or dots rather than bars.

Aztec Code

  • A Composite symbology defines bar codes with two components. First is a 2D Stacked. Second is either a Linear or another 2D Stacked component. Between them is a separator row.

RSS Limited linear with CC-B 2D

RSS Expanded Stacked linear with CC-A 2D

Symbology Specifications

A bar code has a number of characteristics, most of which must be specified by the symbology:

Character Set

The character set is the collection of all symbols that can be included in the data stream. Some symbologies limit the data to numerals, others allow alphabetic characters, punctuation marks, binary data or more.

Type

A bar code's type is either continuous or discrete. In a discrete type bar code every character begins and ends with a bar, never a space. There are extra spaces between the characters that are not part of the data itself. In a continuous type bar code, every character begins with a bar and ends with a space, and there are no spaces between characters.

Number of Possible Widths

For linear bar codes with variable-width elements (see above), the symbology must specify the number of possible widths the elements can have. Some symbologies allow only two possible widths, but others specify a broader range of possible widths. Some of the symbologies that specify multiple element widths also specify that each character has exactly the same number of bars and spaces, and that each character is exactly the same total width. For example, Code 128 specifies that every character is 11 "modules" (defined below) wide and each has 3 bars and 3 spaces. This kind of symbology is called an "(n,k) code", where n is the width of each character and k is both the number of bars and the number of spaces. So Code 128 is an "(11,3) code".

Note: A "module" or "the X-dimension" of the bar code is the narrowest possible width of an element in a given bar code. X-dimensions are expressed in mils (thousandths of an inch). Symbologies usually don't specify particular X-dimensions. Instead, this value is dependent on the resolution of the printer and scanner to be used. Laser printers, for example, can often produce readable bar codes with an X-dimension only half as wide as would be required if the same bar code were being printed on a dot matrix printer.

Density

The density of a bar code is the measure of how much data can be included in a bar code of a given length. Usually, this is expressed as CPI (characters/digits per inch). The density of a bar code depends on the X-dimension.

Start and Stop Characters

Special start and stop characters that must appear at the beginning and end of each bar code are required in some symbologies. They help the scanner distinguish the bar code from extraneous marks on the label background.

Check Digits and Characters

A check digit (or check character(s)) is a number (or one-or-more characters) that is the result of performing some mathematical function on the other characters in the bar code, such as modulo division. The scanner repeats the function and if the result is different from the check digit/character(s), then it knows there has been a scanning error. Symbologies must specify if there is to be a check digit/character(s) and where it is located in the bar code.

Error Correction

Error correction codewords be included in the bar code. Like check characters, these codewords are also characters produced by performing some mathematical function on the data. However, the functions used are always reversible in the sense that the scanner can perform a kind of inverse function on the codewords that will output the original data. Thus, if the data portion of the bar code is unreadable for any reason, the data can be reconstructed.

Bi-Directionality and Omni-Directionality

Some symbologies are bi-directional meaning that designed in such a way that the resulting bar codes can be scanned either left-to-right or right-to-left. Bar codes that are not bi-directional must have start/stop characters that indicate the direction of scanning. Some 2D Matrix and 2D Stacked symbologies are omni-directional, meaning they can be scanned from any angle, even top-to-bottom or corner-to-corner.


Table of Symbologies

Symbology | Character Set | Highest Suggested CPI |  | Code Length
 |  | Laser | Dot Matrix |
Australia Post 4-State Customer Code | Upper and lower case letters, numerals, and space and # | N/A |  | Variable
Aztec Code | All binary data up to 255 | N/A, Two Dimensional |  | Variable
CC-A | Upper and lower case letters, numerals, and ! " % & ' ( ) * + , - . / : ; < = > ? _ and space | N/A, Two Dimensional |  | Variable
CC-B | Upper and lower case letters, numerals, and ! " % & ' ( ) * + , - . / : ; < = > ? _ and space | N/A, Two Dimensional |  | Variable
CC-C | Upper and lower case letters, numerals, and ! " % & ' ( ) * + , - . / : ; < = > ? _ and space | N/A, Two Dimensional |  | Variable
Codabar | Numeric, plus $-:/.+ | 13.0 | 6.6 | Variable
Code 39 - Full ASCII 39 | All 128 ASCII chars. | 9.4 | 5.0 | Variable
Code 39 - Regular | 43 alphanumeric chars. | 9.4 | 5.0 | Variable
Code 93 | All 128 ASCII chars. | 12.5 | 5.0 | Variable
Code 128 (A & B ) | All 128 ASCII chars. | 10.0 | 4.0 | Variable
Code 128 (C ) | Numeric only | 20.0 | 10.8 | Variable
Code One, only available on some Intermec printers | All 128 ASCII chars. | N/A, Two Dimensional |  | Variable
Composites (EAN.UCC) | Upper and lower case letters, numerals, and ! " % & ' ( ) * + , - . / : ; < = > ? _ and space | N/A, One-dimensional component and Two Dimensional component |  | Variable
Data Matrix | All ASCII chars | N/A, Two Dimensional |  | 1 to 2000 characters
EAN-8 | Numeric only | 13.4 | 5.4 | 7-8 digits
EAN-13 | Numeric only | 14.1 | 5.6 | 12-13 digits
Interleaved 2-of-5 | Numeric only | 17.6 | 8.9 | Any even number
JAN | Numeric only | See UPC/EAN
KIX 4-State Customer Code | Upper and lower case letters, and numerals | N/A |  | 6-18 characters
MaxiCode | All 256 ASCII chars | N/A, Two Dimensional |  | 93 characters
MicroPDF417 | All binary data up to 255 | N/A, Two Dimensional |  | Variable
Micro QR Code | 35 Alphanumeric chars, Binary data, Kanji chars | N/A, Two Dimensional |  | Depends on model and data used
MSI Plessey | Numeric only | 10.6 | 5.0 | Variable
PDF417 | All binary data up to 255 | N/A, Two Dimensional |  | Variable
QR Code | 45 Alphanumeric chars, Binary data, Kanji chars | N/A, Two Dimensional |  | Depends on model and data used
Royal Mail 4-State Customer Code | 36 Alphanumeric chars | N/A |  | Variable
RSS-14 | Numeric only | N/A |  | 14 digits (13 data and 1 linkage flag digit)
RSS Expanded | Upper and lower case letters, numerals, and ! " % & ' ( ) * + , - . / : ; < = > ? _ and space | N/A |  | Maximum 74 numerals or 41 alphabetic characters
RSS Limited | Numeric only | N/A |  | 14 digits (13 data and 1 linkage flag digit)
Telepen | All 128 ASCII chars. as binary data | 8.0 (16.0, if numeric only) | 8.0 (16.0, if numeric only) | Variable
UPC-A | Numeric only | 14.1 | 5.6 | 10-12 digits
UPC-E | Numeric only | 13.2 | 5.2 | 6-7 digits
US POSTNET (Zip, Zip+4 & DPBC) | Numeric only | N/A |  | 5, 9, 11 digits


Using Unicode Data

Using Unicode Data in Bar Codes

Bar codes do not directly accept Unicode-formatted data. Hence, if Unicode-formatted data is passed to a bar code object from, say, a database or a print-time prompt, then it must be converted to an older byte-oriented encoding before it is expressed as a bar code. BarTender will usually convert such data to the ANSI 1252 (Western languages) encoding. Unicode characters that have no equivalent in the 1252 encoding will be replaced with 0xFF. Depending on the symbology, this code may be ignored or it may be replaced with a zero.

Some parts of the data stream for Data Matrix, QR Code, and Aztec bar codes may be converted to an encoding other than 1252. See each of those topics for details.

Note: When a label format created in a version of BarTender earlier than 7.7 is first opened, its bar codes (and text objects) are converted to Unicode.


Australia Post 4-State Customer Code

The Australia Post 4-State Customer Code is a variation of the Royal Mail 4-State Customer Code. Like the Royal Mail bar code, the Australia Post bar code is also used for faster automatic processing of bulk mail.

The Character Set

This symbology supports the characters 0 through 9, upper and lower case A through Z, space, and #.

The Density

The bar density for this symbology is 22 to 25 bars per 25.4mm. The Format Control Code's minimum and maximum lengths are as follows:

Bar Code Format Control Code | Total Bars per Format | Minimum Length | Maximum Length
Standard Customer Barcode (37) | 37 | 37.0mm | 42.2mm
Customer Barcode 2 (52) | 52 | 52.2mm | 59.5mm
Customer Barcode 3 (67) | 67 | 67.5mm | 76.8mm
Reply Paid Barcode (45) | 37 | ----- | -----

The Symbology Structure

Each complete bar code will contain distinct bars and spaces for each character as well as a start and stop bar, a checksum digit, and quiet zones on either side of the bar code.

The bars in each bar code are separated into individual fields that contain symbols, which represent characters. The characters represent sorting rules and other information. Each character is made up of 4 separate bars. Each bar has its own numerical value and can be in one of four "states", thus the name of the symbology. The names of the four states and their corresponding values are:

  • T (tracker), value = 3

  • D (tracker, descender), value = 2

  • A (tracker, ascender), value = 1

  • H (tracker, ascender, descender), value = 0

These are illustrated in the diagram below.

The following is a diagram and a list of each individual field and its function.

  • Start Bars. The first two bars of any Australia Post 4-State Customer Code are the start bars. These bars help determine the orientation of the bar code along with the Stop Bars and always have the values 1 and 3, respectively.

  • Format Control Code. Identifies the format of the bar code. The FCC field uses the third through sixth (inclusive) bars.

  • Sorting Code Field. Identifies the Australia Post Sorting Code used for encoding the destination of the piece of mail. This field is handled by bars 7 through 22 (inclusive).

  • Customer Information Field. This field is only available in formats 2 and 3. The field can be 16 or 31 bars long depending on which format is used.

  • Reed Solomon Error Correction Bars. Used for validation of the bar code. This field is twelve bars long and is always located just before the stop bars.

  • Stop Bars. The last two bars of any Australia Post 4-State Customer Code. These bars help determine the orientation of the bar code along with the Start Bars and always have the values 1 and 3, respectively.

Australian Post 4-State Customer Code requires significant quiet zone space not only to the sides, but also above and below. When creating a bar code with this symbology, be sure to allow for at least 6mm of space on either side and 2mm above and below.

Correct Position of the Bar Code

In order to correctly position an Australia Post bar code, it must be printed parallel to the bottom (long) edge of the letter. The bar code must also be within the following margins.

  • No less than 15mm from the bottom edge of the piece of mail.

  • No more than 100mm up from the bottom edge of the piece of mail.

  • No less than 20mm down from the top edge of the piece of mail.

  • No less than 15mm from either side of the piece of mail.

Some other things to consider when placing your bar code are listed below.

  • No part of the bar code must appear in the canceling and metering zone. The metering zone is 40mm from the top edge and 90mm from the right edge.

  • Regardless of where the bar code is placed, the address must appear in the address zone. The address zone is the same area where the bar code may be placed except the top margin is 40mm instead of 20mm.

  • The preferred position of the bar code is right above the address.


Codabar

Codabar was originally developed for use in retail price-labeling systems. However, after the National Retail Merchants Association (NRMA) selected another symbology as their standard in 1975, Codabar was promoted for use in a variety of non-retail applications such as libraries, shipping, and the medical industry. However, because Codabar is not as versatile or reliable as the other symbologies, the trend in bar code use since the 1980s has moved from Codabar and toward the other symbologies.

Note: Codabar is sometimes called by these other names: USD 4, Code 27, and Monarch.

The Character Set

The Codabar character set contains the following usable characters:

  • The ten digits 0 - 9.

  • The six symbols - $ : / . +

  • The four letters a - d.

The four alphabetic characters are used only as start and stop characters, and are not used within the contents of the bar code message. Therefore, with the exception of the 6 special characters shown above, Codabar is a numbers-only symbology, like Interleaved 2-of-5.

The Density of Codabar

Even though Codabar is a numbers-only code just like Interleaved 2-of-5, Codabar cannot represent data nearly as densely as Interleaved 2-of-5. In fact, Codabar isn't much denser than Code 39, which has the significant advantage of being able to represent the Full ASCII character set. This is one of the reasons why Interleaved 2-of-5 is recommended instead of Codabar in applications where only numeric information must be barcoded.

The densest Codabar bar code that can be printed on an Epson-compatible dot-matrix printer is about 7.5 cpi (characters per inch). However, because not all dot-matrix printers produce good codes at this density, we suggest not going much above 6.6 cpi. On laser printers, the maximum suggested character density for a Codabar bar code is about 13 cpi. (For bar codes of this density, we recommend use of a high-resolution optical scanner.)

The Symbology Structure

Each Codabar character is represented by seven elements: four bars and three spaces. Of the seven elements, either two or three elements will be wide, and the rest will be narrow. The lack of a fixed number of wide elements can theoretically lower the data integrity of Codabar bar codes relative to the other symbologies.

A fourth space, an "intercharacter space," separates each bar code character from the next, but is not actually itself a part of a bar code character. The width of this space is not critical and it is often set to be identical to the width of a narrow space.

The Start and Stop Characters

Unlike the other bar code symbologies, Codabar has a number of different start and stop characters. These characters are represented by any of the four lower case letters, "a", "b", "c", and "d". Any one of these four letters can be used as a start character, and any can be used as a stop character. The start and stop characters in any given bar code need not be the same. The lack of a single accepted pattern for the start and stop characters is another factor which can theoretically lower the data integrity of Codabar.

It is common for a bar code scanner to have an option specifying whether or not the start and stop characters are to be transmitted as part of the bar code.

Lack of Check Digits

Codabar has no option for check digits. As has already been discussed, Codabar does not have a fixed number of wide spaces per character, nor does it have a set pattern for the start and stop characters. This can't help but make Codabar less secure than the other bar code symbologies. Since Codabar doesn't even have the option to add check digits, there are no means available for bringing the reliability of Codabar bar codes to the same level as the other symbologies. Most bar code manufacturers recommend the use of either Code 39 or Interleaved 2-of-5 in applications where Codabar is being considered.


Code 39 - Full ASCII

Code 39 — Full ASCII

The Code 39 — Full ASCII (pronounced "ASK EE") symbology is similar to Code 39 — Regular. To successfully print and read Code 39 — Full ASCII, the bar code object on the label format file must have "Code 39 — Full ASCII" selected as the symbology to print. In addition, the bar code reader being used to scan the bar codes must be configured to perform Full ASCII character translations.

The Character Set

Both the Code 39 — Regular and the Code 39 — Full ASCII bar code symbologies contain the same 43 character set, as well as the same start and stop characters. However, Code 39 — Full ASCII uses special two-character combinations from the 43 character set to allow for the representation of all 128 ASCII characters. In other words, you can encode any of the standard (not the extended) characters from the computer's keyboard into a bar code, as well as the ASCII control characters.

Example:

Let's take a look at printing lowercase letters. No lowercase letters are native to the Code 39 character set, only capital letters. Therefore, when printing Code 39 — Full ASCII, lowercase letters are represented by generating the bar code symbol for a plus sign (+), followed immediately by the bar code symbol for the uppercase version of the letter. So, to print the letter "a", you would actually print a bar code containing "+A".

Now, suppose we scan the bar coded Code 39 — Full ASCII "a" that we printed as described in the previous paragraph. In Full ASCII mode, the bar code reader would decode the plus sign, and then, rather than transmitting it, would look at the next bar code character symbol (in this case a capital "A") and perform a Full ASCII conversion. The bar code reader would then transmit just the lowercase "a".

If the bar code reader had Full ASCII translation disabled, no translation would be performed and the actual characters "+" and "A" would be transmitted.

Character Density Loss With Code 39 — Full ASCII

While Code 39 — Full ASCII has the advantage of representing all 128 ASCII characters, it does sacrifice bar code character density to do so. When encoding into Code 39 bar codes any characters that are native to the 43 character set, your bar codes do not undergo any degradation in character density. However, since each Full ASCII character is represented by a 2-character combination, the more of them you use, the more space you need for your bar codes. For example, the word "SEAGULL" is encoded into bar codes as *SEAGULL*, but the word "seagull" is encoded into bar codes as *+S+E+A+G+U+L+L*, which takes about twice as much space.

The Start and Stop Characters

Code 39 — Full ASCII also has a "start/stop" character. This character is used at both the beginning and the end of the bar code message to signal a bar code reader that a Code 39 — Full ASCII bar code has been scanned. This character is commonly designated as an asterisk (*), but you may choose to have no start/stop characters at all or choose to let the data source specify the start or the stop character, or both. The start and stop character are not transmitted as part of the bar code, and is not included in any check digit calculations.


Code 39 - Regular

Code 39 — Regular

The Code 39 — Regular symbology was developed to meet the need for a fully alphanumeric bar code for use with data-entry systems. (An alphanumeric symbology can represent both letters and numbers in its bar codes.) It is currently the most widely used alphanumeric bar code and has been accepted as a standard code by many organizations and given different names, including the following.

  • AIAG. Automotive Industry Action Group.

  • LOGMARS. The Logistics Applications of Automated Marking & Reading Symbols (Department of Defense), recommends the use of Code 39 — Regular as the standard DOD bar code symbology. MIL-STD-1189 defines Code 39 — Regular as the standard symbology for marking unit packs, outer containers, and selected documents.

  • HIBC. Health Industry Bar Code Council.

In addition, the following organizations also use Code 39 — Regular:

  • ANSI. American National Standards Institute. Code 39 — Regular is the only alphanumeric bar code described in their 1981 specifications draft titled "Specifications for Bar Code Symbols on Transport Packages & Unit Loads.

  • DSSG. Distribution Symbol Study Group.

The Character Set

Code 39 — Regular contains the following 43 usable characters:

  • The ten digits 0 - 9.

  • The 26 capital letters A - Z.

  • The six symbols % + $ / . -

  • The space character.

Note: In addition to these 43 characters, Full ASCII Code 39 (see next section) let's you represent the rest of the 128-character ASCII character set.

The Density of Code 39 — Regular

Code 39 — Regular has a moderate character density. The densest Code 39 — Regular bar code that can be printed on an Epson-compatible dot-matrix printer is about 5.5 cpi (characters per inch). However, because not all dot-matrix printers produce good codes at this density, we suggest not going above 5 cpi unless you have a 24-pin printer. On laser printers, the maximum suggested character density for a Code 39 — Regular bar code is 9.4 cpi. (For reading bar codes of this density, we recommend use of a high resolution optical scanner.)

Note: Bar code messages that only contain numbers can be encoded in the Interleaved 2-of-5 symbology using about half the space required by Code 39 — Regular.

The Symbology Structure

Each Code 39 — Regular character is represented by nine elements: five bars and four spaces. The name "Code 39 — Regular" comes from the fact that, of the nine elements in each Code 39 — Regular character, three of the elements are always wide and six are narrow.

A fifth space, an "intercharacter space", separates each bar code character from the next, but is not actually itself a part of a bar code character. The width of this space is not critical and is set to be identical to the width of a narrow space.

The Start and Stop Characters

Code 39 — Regular also has a "start/stop" character. This character is used at both the beginning and the end of the bar code message to signal a bar code reader that a Code 39 — Regular bar code has been scanned. This character is commonly designated as an asterisk (*), but you may choose to have no start/stop characters at all or choose to let the data source specify the start or the stop character, or both. The start and stop characters are not transmitted as part of the bar code, and is not included in any check digit calculations.


Code 93

Code 93 is an alphanumeric, variable length symbology developed and maintained by Intermec Corporation. It combines some of the characteristics of Code 39 and Code 128 into a single bar code language. As with Code 128, each Code 93 character is made up of three bars and three spaces, each of which can be single, double, triple, or quadruple thickness. Also, as with Code 128, Code 93 can represent the entire 128-character ASCII set. However, whereas Code 128 represents most of the 128 characters with separate, unique characters, Code 93 employs the same 43-character base set as Code 39, and uses two-character combinations to represent the rest of the 128-character set. Code 128 is a more versatile and efficient bar code language than Code 93, especially when representing numbers.

For additional information regarding the Code 93 symbol specifications, please contact Intermec at 425-348-2600.


Code 128

The Code 128 character set was introduced in 1981 to solve the problem of representing both alphabetic and numeric characters without sacrificing bar code density.

Although Code 39 — Full ASCII can represent any combination of the 128 ASCII characters, it can take up a fair amount of space to do so. On the other hand, although Interleaved 2-of-5 is a very dense symbology, it can only store numeric information. Code 128 not only gives you the ability to encode all 128 ASCII characters, when encoding numbers only, it can actually encode them more densely than Interleaved 2-of-5.

The most common use of Code 128 is for certain shipping labels, primarily as defined by the Uniform Code Council in their UCC-128 shipping container bar coding standard. When used for this purpose, Code 128 is sometimes called UCC/EAN-128 (see the section below).

UCC/EAN-128

UCC/EAN-128 is the name given to Code 128 bar codes that conform to the UCC standards. Such bar codes include FNC1 characters, application identifiers, check digits, and extra spaces and parentheses in the human readable text.

The Character Set

Although Code 128 can encode all 128 lower ASCII characters, the character set itself contains only 102 characters. This is possible because Code 128 actually contains three different sets of 102 characters. The default character set in use for any Code 128 bar code is determined by the start character. However, once a Code 128 bar code is started, it is possible to switch between the different character sets in the middle of the bar code. Because it is possible to use any combination of the three character sets in a single bar code, Code 128 gives you the greatest possible character density when encoding data into bar codes.

The three character code sets can be summarized as follows:

Code A:

The Full ASCII set, except for the 26 lower case letters.

Code B:

The Full ASCII set, except for the 26 "control" characters.

Code C:

Double-density numeric. This character set is numeric-only, but any one character actually represents two digits. Therefore, 100 of the 102 characters in code set C are used to represent the 100 two-character combinations from 00 through 99.

BarTender allows selection of any of these code sets or an auto mode that will determine the best mode for the data entered. It is also possible to select the manual mode where the character code (^A, ^B, ^C, or ^S) for the different modes must be entered by the user as the first character of the segment of bar code data using that code set. Multiple segments with different code sets can be used in a single bar code.

The Density of Code 128

Code 128 is the densest Full ASCII symbology. Furthermore, through the use of its Code C character set, it can actually represent numbers more densely than Interleaved 2-of-5.

On a Dot-Matrix Printer

An alphanumeric message can be represented at a character density of 5.4 characters per inch. A numeric-only message can be represented at a character density of 10.8 characters per inch.

On a Laser Printer

An alphanumeric message can be represented at a character density of 10.0 characters per inch. A numeric-only message can be represented at a character density of 20.0 characters per inch.

The Symbology Structure

While most bar code symbologies only print bars and spaces in two widths, wide and narrow, Code 128 uses four different widths, more like the UPC family. However, whereas the UPC family uses four elements (two bars and two spaces) per character, each Code 128 character is represented by six elements (three bars and three spaces). Although this represents a 50% reduction in character density, Code 128 can represent all 128 ASCII characters. Unlike UPC, Code 128 is not limited to numbers only.

Start and Stop Characters

Code 128 actually has three different start characters: the start character for Code A, the start character for Code B, and the start character for Code C. The one that will be used for a given bar code depends on what characters need to be encoded in that portion of the bar code.

Code 128 start characters have the same number of bars and spaces (3 each) as regular Code 128 characters.

Note: When Code 128 is used as the one-dimensional component of a composite bar code the last character before the check character (see below) must also be a code set identifier. This serves as a linkage flag that alerts the scanner to the presence of the two-dimensional component. The code set identifier used depends on what was the last code set used in the bar code and which symbology is used for the two-dimensional part.

Last Code Set Used | Two-Dimensional Symbology is CC-A or CC-B | Two-Dimensional Symbology is CC-C
A | Code Set Identifier B | Code Set Identifier C
B | Code Set Identifier C | Code Set Identifier A
C | Code Set Identifier A | Code Set Identifier B

The Code 128 stop character has the same number of spaces as a regular Code 128 character, but it has one extra bar.

The Check Digits

The last character before the stop character in any Code 128 bar code is a check digit. Unlike some of the other bar code symbologies, Code 128 bar codes must always be printed and read using check digits; there is no option to turn off the check digits. Also, there is no conventional "human" interpretation for the check digit. Therefore, when Code 128 is selected as the symbology for the active field, you will not be able to change the Hide Check Digit option on the Human Readable property page of BarTender's Modify Selected Bar Code dialog..

Special Characters

When creating a Code 128 bar code, there are special characters that may be entered by typing in a combination of the caret (^) symbol and another character anywhere in your data stream. These combinations are listed below.

    All Modes:

  • ^1 will insert a function 1 (FNC1) character.

  • ^2 will insert a function 2 (FNC2) character.

  • ^3 will insert a function 3 (FNC3) character.

  • ^4 will insert a function 4 (FNC4) character.

  • ^% will insert a mod 10 check digit.

    Manual Mode Only:

  • ^A will set the following data segment to Code A.

  • ^B will set the following data segment to Code B.

  • ^C will set the following data segment to Code C.

  • ^S will insert a Shift character.


Interleaved 2-of-5

Interleaved 2-of-5 is often selected instead of Code 39 because bar code messages that only contain numbers can be encoded in Interleaved 2-of-5 using about half the space required by Code 39.

The Character Set

The Interleaved 2-of-5 character set only contains the ten digits, 0-9. However, if you only need to encode numbers, Interleaved 2-of-5 does the job in about half the space of Code 39. Although much denser than Code 39, the theoretical data security of Interleaved 2-of-5 is not quite as high. For this reason, we suggest that Interleaved 2-of-5 always be used with the Check Digit option enabled or that you standardize on a single character length of Interleaved 2-of-5 bar codes.

The Density of Interleaved 2-of-5

The densest Interleaved 2-of-5 bar code that can be printed on an Epson or IBM-compatible dot-matrix printer is about 9 characters per inch, not including the start and stop characters. On a laser printer, density can be increased to about 17 characters per inch. (For reading bar codes of this density, we recommend use of a high-resolution optical scanner.)

The Symbology Structure

Each Interleaved 2-of-5 character is represented by five elements: five bars or five spaces. Like Code 39, the name Interleaved 2-of-5 comes from the patterns of bars and spaces that represent the individual characters within the bar code. Each character has two wide and three narrow elements. With Interleaved 2-of-5, characters are represented in pairs. In each 10 elements, the five bars represent one character and the five spaces in between them represent the next character.

All Interleaved 2-of-5 bar code messages must contain an even number of digits. Therefore, a leading zero will be added to the front of the Interleaved 2-of-5 bar code message in either of the following two situations:

  • If the character message to be encoded contains an odd number of digits and check digits are not in use.

  • If the character message to be encoded contains an even number of digits and check digits are in use.

Unlike Code 39, Interleaved 2-of-5 contains no intercharacter spaces. However, Interleaved 2-of-5 does have start and stop characters.

The Start and Stop Characters

Unlike the Code 39 asterisk which is used as the start and stop character at each end of the bar code, the Interleaved 2-of-5 start and stop characters are different from each other. They are also shorter than the standard character length in the symbology and no particular character (like the asterisk in Code 39) is associated with them.

From left to right, the start character is:

narrow bar

narrow space

narrow bar

narrow space

From left to right, the stop character is:

fat bar

narrow space

narrow bar

Bearer Bars

Interleaved 2-of-5 bar codes can, optionally, include bearer bars either as a rectangular frame around the bar code or as two perpendicular bars across the top and bottom of the data-expressing bars.

The term "bearer bars" originates with the manufacture of metal grates: The bearer bars in a grate bear weight and run perpendicular to the trans bars (which connect the bearer bars).

When bar codes are printed directly on corrugated cardboard boxes, flexible rubber printing plates are used. These plates often bend when they make contact with the cardboard, resulting in a distorted bar code. To prevent this bending, box printers stiffen the plates by adding bars perpendicular to the data-expressing bars. A side-effect of stiffening the plates in this way is that the images of these additional bars are added to the printed bar code. By analogy with the bearer bars in metal grates, which run perpendicular to the trans bars, the additional bars in the bar code have come to be called "bearer bars" as well.

A secondary purpose has been found for bearer bars: if a bar code reader passes over the bar code at too sharp an angle, there is a danger that it will not read data-expressing bars at the ends of the bar code. Since bearer bars can be used to prevent this, they are sometimes included even on bar codes that are being printed on a plain label with a label printer.


KIX 4-State Customer Code

The KIX 4-State Customer Code is used for faster automatic processing of bulk mail and other uses. It uses the Royal Mail 4-State Customer Code with the same specifications for the bars, without any start or stop bars.

The Character Set

This symbology supports the characters 0 through 9, and upper and lower case A through Z, where lower and upper cased letters represent the same 4-State Character Code.

The Density

The bar density for this symbology is 20 to 24 bars per 25.4mm.

The Symbology Structure

The bars in each bar code are separated into individual fields that contain symbols, which represent characters. The characters represent sorting rules and other information. Each character is made up of 4 separate bars. Each bar has its own numerical or character value and can be in one of four "states", thus the name of the symbology. The names of the four states and their corresponding values are:

  • T (tracker)

  • D (tracker, descender)

  • A (tracker, ascender)

  • H (tracker, ascender, descender)

These are illustrated in the diagram below.

The diagram below illustrates an example of a KIX Code construction from the Netherlands going from left to right.

Postal code. This section contains 4 numbers and 2 characters. Its length is fixed.

House/ Postal box/callnumber. This section contains a maximum of 5 numbers. Its length is variable.

Separation sign. This section contains 1 character, "X". Its length is fixed.

Housenumber appendage. This section contains a maximum of 6 characters. Its length is variable.

Example:

Address: Havendijk 156 huis, 1230 AA POSTDAM

Contents of the KIX for this address: 1230AA156XHUIS

Resulting Barcode:


MSI Plessey

MSI Plessey is a numeric, variable length symbology originally developed by the Plessey Company of England in the early 1970s. However, the most widely supported version, "MSI" Plessey, is currently maintained by Symbol Technologies, Inc.

Like Interleaved 2-of-5 and UPC, Plessey is an all-numeric language. It has an interesting simplicity in that the bar code pattern for each character is a simple binary pattern of "zeros" and "ones" that directly represent the given number. Accordingly, with casual familiarity with the code, you can actually read the bar codes with your eyes. However, Plessey does not encode numbers efficiently, and other characteristics of the language make it one of the most error-prone of all bar code languages. Accordingly, the MSI company came out with a revised standard for the Plessey language (now called MSI Plessey) which employed a second check digit. This improved the reliability of the language enough so that the MSI version of the code has continued in use in specialty applications.

Although Plessey was originally developed for use in the library industry, its use in libraries is now quite rare. Today, MSI Plessey is the most common bar code language used for inventory tracking on the shelves in supermarkets. While MSI Plessey is not actually used on the products themselves (which contain UPC codes), it is used on the front edge of the shelves to indicate where each product is stored.

For additional information regarding the MSI Plessey symbol specifications, please contact Symbol at 516-563-2400. (As Symbol purchased MSI in the early 1990s, they now control the MSI Plessey bar code language.)


Royal Mail 4-State Customer Code

Royal Mail 4 State Customer Code was developed by Royal Mail in the UK and is used for automated sorting of mail.

The Character Set

This symbology supports the alphanumeric characters 0 through 9 and capital A through Z.

The Density of the Bar Code

The minimum possible length of this symbology is 35.98mm which is a 5 digit code including start and stop bars, a delivery point suffix, and a checksum digit at 24 bars per inch. The maximum possible length is 68.58mm which uses a 7 digit code, start and stop bars, an international prefix, a delivery point suffix, and a checksum digit at 20 bars per inch. The required quiet zone is 2mm all around the bar code. The density of the code is 20 to 24 bars per 25.4mm. All bars must be equally spaced apart.

The Symbology Structure

Each complete bar code will contain distinct bars and spaces for each character as well as a start and stop bar, a checksum digit, and quiet zones on either side of the bar code.

Each character is made up of 4 separate bars. Each bar can be in one of four "states", thus the name of the symbology. The four states are "tracker", "tracker, ascender", "tracker, descender", and "tracker, ascender, descender" and are illustrated in the diagram below.

The Start and Stop Bars

These bars help identify where the bar code begins and ends as well as its orientation. The start bar is a single tracker, ascender bar. The stop bar is a single tracker, ascender, descender bar.

Correct Position of the Bar Code

In order to correctly position a Royal Mail bar code, it must be within the following margins.

  • No less than 18mm from the bottom edge of the piece of mail.

  • No more than 120mm up from the bottom edge of the piece of mail.

  • No less than 15mm down from the top edge of the piece of mail.

  • No less than 15mm from either side of the piece of mail.

The bar code may be printed at 0, 90, 180, or 270 degrees.


Telepen

Telepen is a one-dimensional symbology designed to be highly reliable even when printed by ordinary printers not intended for bar code printing. Any of the lower 128 ASCII characters can be encoded. Every character takes the same amount of space, so bar code length will not vary unless the data length itself varies. A modulo 127 check character is used. You can achieve greater bar code density by specifying at label-design-time that the bar code should be numeric-only.

The Character Set

The characters set includes 128 ASCII characters as binary data. No shift character is needed. In numeric-only applications, the character set is 0-9.

The Density of Telepen

Symbols can encode up to eight ASCII characters per inch, or 16 digits per inch in numeric-only applications.

The Symbology Structure

There are 3-module wide bars and spaces and 1-module wide bars and spaces. Every character is 16 modules wide. Optionally, each symbol begins with a start character and ends with stop character (see below). There is a quiet zone on both ends. Just before the stop character there is a modulo 127 check character. Between the start character (if there is one) and the check character are one or more data characters, each of which encodes 8 bits with even parity. In numeric only applications, each character can encode two digits.

Elements within a character are read with the least significant digit on the left.

The Start and Stop Characters

The Telepen specification sets the start character to be binary 01011111, which is the ASCII underscore character, "_". Physically it is:

5 narrow bar/narrow space pairs

1 wide bar/wide space pair

The stop character is 11111010, which is the ASCII "z" character. Physically, it is:

1 wide bar/wide space pair

5 narrow bar/narrow space pairs

However, some bar code readers are programmed to assume a non-standard form of the Telepen symbology. To accomodate them, BarTender enables you to have the start/stop characters set by the database or to not use start/stop characters at all. You can also use one, but not the other.

The Check Digit

The last character, not counting the stop character is a check digit produced by the modulo 127 check sum method.


UPC/EAN/JAN

The UPC/EAN/JAN Family

UPC-A

UPC-E

EAN/JAN 13

EAN/JAN 8

UPC stands for the Universal Product Code. This symbology was initially adopted for use by the U.S. grocery industry, although its use has spread into other retail market places as well. The Uniform Code Council (UCC) controls the allocation of UPC codes.

EAN stands for the European Article Numbering system, which is used in Europe and is very similar to UPC.

JAN stands for the Japanese Article Numbering system, which is the Japanese version of UPC.

The Character Set

The UPC/EAN/JAN family of bar codes is numeric only.

The Density of UPC/EAN/JAN

With four available printing widths for the bars and spaces instead of just two, it takes about half the number of bars and spaces relative to Interleaved 2-of-5 to represent each character. However, the use of the wider bars and spaces nullifies this space savings. In fact, with a dot-matrix printer, Interleaved 2-of-5 codes pack data more densely than UPC/EAN/JAN.

The Symbology Structure

While most bar code symbologies only print bars and spaces in two thicknesses, wide and narrow, with UPC/EAN/JAN, four different widths are used. This allows each numeric character to be represented using just two bars and two spaces, which is the fewest number of modules required per character of any symbology.

Although UPC/EAN/JAN bar codes come in a number of different message lengths, these lengths are not fully variable the way they are with the other bar code symbologies.

Here is a summary of the codes and their available message lengths:

  • UPC-A: 12 digits (10 without the "number system"
    and "check" digits)

  • UPC-E: 7 digits (6 without the check digit)

  • EAN-13: 13 digits (12 without the check digit)

  • EAN-8: 8 digits (7 without the check digit)

The Start and Stop Characters

The start and stop characters for the UPC family of codes are identical to each other. They are made up of three modules as follows:

narrow bar

narrow space

narrow bar

In addition, the UPC family also has a center character that is made up of five modules as follows:

narrow space

narrow bar

narrow space

narrow bar

narrow space

The Guard Bars

You will notice that the start, stop, and middle characters are always printed somewhat longer than the other bars in the bar code message. The first and last UPC characters are usually elongated as well (although they are not for EAN). These longer bars are sometimes referred to as the "guard" or "security" bars.

The UPC/EAN/JAN Check Digit

The last digit of a UPC/EAN/JAN bar code message is always a "check digit." It is not part of the identification number, but an extra number used to guarantee the data integrity of the bar code. Its value is automatically computed from the other digits in the code and then it is printed as the last digit.

Upon reading the code, the bar code reader repeats the same check digit computation that was performed when the bar code was printed. If the newly computed check digit value does not agree with the one previously encoded into the bar code, a read error is detected and the bar code reader does not transmit any part of the message. In the case of a good read, this digit may or may not be "stripped off" prior to transmission of the bar code to the host system. This depends on the configuration of your bar code reader. Although the convention is to strip off the UPC check digit, many EAN applications make use of the check digit

The UPC-A "Number System" Digit

The first digit of a UPC-A code is called the "number system digit." Like the check digit, it is often stripped off by your bar code reader, and therefore does not enter your computer or cash register. The first generation of UPC-A labeled products used a "0" almost exclusively as the number system digit. (The application automatically inserts a leading "0" if you provide a character string with only 10 characters.) However, as more and more products use UPC bar codes, number system digits other than "0" are becoming more prevalent.

To specify a UPC-A bar code with a number system digit other than "0", you need to specify 11 digits in the character string. If you want this first digit transmitted to your cash register or database software, your bar code reader must be configured to transmit it. This brings the effective length of a UPC-A bar code message up to eleven digits.

The EAN "Thirteenth" Digit

The bar code symbol for EAN-13 and UPC-A are almost identical. The main difference is that with EAN-13, an extra (13th) character may be encoded into the bar code message. The convention is for this thirteenth digit to be displayed as the left-most digit in the bar code message.

Since both UPC-A and EAN-13 have the exact same number of bars and spaces, fitting in a thirteenth digit required a slight modification to the symbology. The thirteenth digit is encoded through use of the parity pattern of the left-hand half of the EAN symbol. A complete explanation of this parity pattern is beyond the scope of this text, but the result is that even though EAN-13 bar codes have the same number of bars and spaces as a UPC-A bar code, the EAN-13 bar code message will actually contain 13 (instead of UPC's 12) characters. (Remember, even though this extra character is referred to as the "thirteenth" digit, it is actually transmitted first, in front of the rest of the bar code message.)

Mixing UPC/EAN/JAN Bar Codes With Other Symbologies

Since many purchased goods are conveniently pre-labeled with UPC/EAN/JAN bar codes, you will definitely want a bar code reader that can read these symbologies. However, these bar codes are usually produced photographically or with a laser printer and are not quite as easy to print using dot-matrix printers. However, since most bar code readers can automatically discriminate between the various bar code symbologies, it is very easy to mix different bar code symbologies in a given application environment. If you have a bar code reader with automatic discrimination, we recommend using either Interleaved 2-of-5 or Code 39 for your in-house printed bar codes. Since UPC is a numeric-only code, Interleaved 2-of-5 would be the preferred substitute, since it will do the job in about half the space of Code 39.

Two and Five Digit Supplementals

When the UPC symbology is used on periodicals and paperback books, the UPC code is usually followed immediately by a shorter two or five digit supplemental code. This supplemental code is used to encode information that does not fit in the standard UPC code. For example, supplemental bar codes are often used to encode the issue dates of periodicals. With the exception of the start and stop characters, the character set and density of the supplemental codes are similar to the character set and density of the UPC codes.

The Start and Stop Characters for Supplementals

The start characters for the supplemental codes are made up of three modules as follows:

single bar

single space

double bar

The supplemental codes do not have a stop character.


US POSTNET (Zip, Zip+4 & DPBC)

The postal bar code is used by the United States Postal Service to help sort business reply and courtesy reply mail. It is also used for regular bulk mailings. By using the postal code on your envelopes, you can significantly reduce the amount of postage on the items you mail.

The postal bar code may represent a five-digit zip code, a nine-digit Zip + 4 code, or an eleven-digit delivery point bar code. Of these three, you will realize the most significant savings on your postage if you use the eleven-digit delivery point bar code. This code, often called the DPBC bar code for short, was developed by the postal service to uniquely identify each of 115 million delivery points in the United States. It forms the system foundation for virtually eliminating the time used by carriers to sort letter mail prior to delivery.

You can use this application when producing camera-ready artwork of a single address that will be printed many times (for example, on business reply envelopes) to print the bar code. It can also easily be integrated with your ODBC database software when performing bulk mailings to a variety of different addresses, in order to perform the bar code translations for each different zip code "on the fly."

The Character Set

The postal bar code character set contains the ten digits 0-9, the same characters that appear in United States zip codes.

The Density of the Postal Bar Code

Unlike the other bar code symbologies, which are valid in a variety of different densities, the US Postal Service has specified a very precise density range for the postal symbology.

The proper density for a postal bar code is 21 bars per inch, plus or minus 1 bar. Another way of specifying this same value is to say that each bar/space pair must be between 0.045" and 0.050". This comes out to about 4 characters per inch.

The Symbology Structure

Unlike the other bar code symbologies, which vary the width of the bars and spaces to encode the data, the postal symbology encodes data by varying the height of the bars in the bar code. All of the bars are the same width, and all of the spaces are the same width. In addition, the bars and spaces are fairly close in size to each other. The bars and spaces in a postal bar code tend to look like they are made up of the narrow bars and spaces of the other symbologies. The notable difference is the two different bar heights seen in the symbology.

Each postal bar code character contains 5 bars. For each of these five bars, two are tall and three are short.

Height and Width of Bars & Spaces

The correct heights for the postal bar code bars are defined as follows:

  • The height of the tall bars is 0.125", plus or minus 0.010".

  • The height of the short bars is 0.050", plus or minus 0.010".

The correct widths of the postal bar code bars and spaces are defined as follows:

  • The width of the bars is between 0.015" and 0.025".

  • The width of the bar/space pairs is between 0.045" and 0.050".

The Start and Stop Bars

The start of a postal bar code is indicated with a single tall bar at the beginning of the bar code. The end of the bar code is also indicated with a single tall bar.

Correct Position of the Postal Bar Code

The scanners used by the postal service to read postal bar codes are designed to look for the bar code in a particular area of your envelope. Therefore, if you do not position the bar code properly, the scanner may have trouble reading it.

The correct horizontal position of the bar code is specified as follows:

  • The left edge of the bar code must be between 3.5" and 4.25" from the right edge of the envelope.

The correct vertical position of the bar code is specified as follows:

  • The bottom edge of the bar code must be 0.25" (plus or minus 0.125") from the bottom edge of the envelope.

Input Data Considerations

If you specify 11 digits in your zip code, your bar code will be 12 digits long.

If you specify 9 digits in your zip code, your bar code will be 10 digits long.

If you specify 5 digits in your zip code, your bar code will be 6 digits long.

The additional digit in each of these bar codes is a check digit that is used for the detection of errors in the scanning process. This digit is generated automatically.

Important: If you fail to provide exactly 5, 9, or 11 digits in your zip code data, the data will adjust to the length of one of the above numbers. This results in a bar code that contains different data than you intended.


Overview of RSS

Overview of Reduced Space Symbologies

Reduced Space Symbologies (RSS) have been developed by EAN.UCC to encode item identification numbers (in the EAN.UCC-14 system of ID numbers) and data supplementary to identification. This enables them to support the coexistence of current and future supply chain applications. They are primarily used for identification on items, like pharmaceuticals, that are too small for existing symbologies or on which the area available for placing a bar code is quite limited.

There are three families of reduced space symbologies and they differ from one another in their space-saving strategies, capacities, and symbology structures. All of them are linear, but they can be combined with a two-dimensional component in a composite symbology.

RSS-14 Family

All members of this family encode 14-digit EAN.UCC identification numbers. The first digit is simply a flag indicating whether or not the bar code is part of a composite bar code. The second digit is an indicator digit.

There is also an RSS-14 Truncated symbology for use on very small items. It cannot be read omnidirectionally.

There is an RSS-14 Stacked version with two rows for use when the space available for the bar code is very narrow as well as short.

Finally, there is an RSS-14 Stacked Omnidirectional for use when space is narrow, but omni-directional reading is needed.

Click this link for more on the RSS-14 family.

RSS Expanded Family

RSS Expanded bar codes are intended for applications that require supplementary data, such as weight or expiration date, in addition to the identification number. They support alphanumeric characters, and have variable length, up to 74 numerals or 41 alphabetic characters. They can be read omni-directionally at the point-of-sale. Each bar code begins with a digit indicating whether or not the bar code is part of a composite bar code.

There is also an RSS Expanded Stacked for use when space is narrow.

Click this link for more on the RSS Expanded family.

RSS Limited Family

There is currently just one member of this family and it is intended for applications where space is extremely limited and omni-directional scanning is not required. Like RSS-14, the RSS Limited encodes 14-digit numerals and the first digit is simply a flag indicating whether or not the bar code is part of a composite bar code. But the indicator digit must either "0" or "1". There is no stacked version.

Click this link for more on RSS Limited.


RSS-14

The RSS-14 symbology was created by EAN.UCC for use when the available space for a bar code is limited. There is a basic RSS-14 symbology plus three special members of this family of symbologies: RSS-14 Truncated, RSS-14 Stacked, and RSS-14 Stacked Omnidirectional. All are one-dimensional symbologies. All are bidirectionally decodable and use a mod 79 checksum for error correction. RSS-14 and the RSS-14 Stacked Omnidirectional symbology can be read omnidirectionally.

Note: For information about the purposes of RSS symbologies refer to the overview of RSS and Composite symbologies.

The Character Set

The RSS-14 character set only contains the ten digits, 0-9.

The Symbology Structure

Each bar code is a 14-digit numeral. There are actually 13 digits in the data stream: the 14th is a check digit. The first digit is simply a flag indicating whether or not the bar code is part of a composite bar code. When used as intended, to encode identification numbers, the second digit is an indicator digit used to show things like level of packaging. (There is no explicit application identifier and it is not entered in the data stream, but "01" is implied.)

For the basic RSS-14 symbology, each bar code has 46 bars and spaces in a total of 96 modules. (A "module" is the minimum unit of width measurement. In RSS-14 it is the same as the X-dimension.) The height is at least 33 modules. Each bar code begins and ends with two one-module wide guard bars, either a bar-space or a space-bar pattern.

There are four symbol characters in each bar code with a finder pattern between the left pair and another between the right pair. The symbol characters in each pair are always read beginning with the character to the outside of the finder pattern. Hence, the sequence of symbol characters is 1st, 2nd, 4th, 3rd.

The elements within each character are always read toward the finder pattern, so the 2nd and 3rd characters are read from right to left. The outside characters (1st and 3rd) are 16 modules wide with 4 bars and 4 spaces. The inside characters (2nd and 4th) are 15 modules wide with 4 bars and 4 spaces. The finder patterns are each 15 modules wide. The first has 3 spaces and 2 bars. The second has 2 spaces and 3 bars. The finder patterns express the mod 79 checksum.

RSS-14 Truncated

RSS-14 Truncated is identical to RSS-14 except that the height may be reduced to as low as 13 modules. As a result, this symbology cannot be accurately read omnidirectionally.

RSS-14 Stacked

RSS-14 Stacked splits an RSS-14 bar code into two rows, with a separator pattern in between. The top row consists of the left half of the RSS-14 code (guard bars, 1st symbol, finder pattern, 2nd symbol), followed by a bar-space guard bar (each 1 module wide). The second row begins with a bar-space guard bar (each 1 module wide), followed by the second half of the code.

In between the rows is a separator pattern with a height of at least one module.

In order to allow the total height to be as low as 13 modules, the top row is always 5 modules high and the the bottom row is always 7 modules high. As a result, this symbology cannot be accurately read omnidirectionally.

RSS-14 Stacked Omnidirectional

RSS-14 Stacked Omnidirectional is identical to RSS-14 Stacked (see above) except for the height of the rows and the structure of the separator pattern. In order to make the codes readable omnidirectionally, the height of each row is raised to a minimum of 33 modules, and the separator pattern is at least 3 modules high.


RSS Expanded

The RSS Expanded family of bar codes includes a basic symbology and a stacked symbology. Both can be read omni-directionally and use a mod 211 checksum for error correction. Data strings are stored internally as binary numbers.

Note: For information about the purposes of RSS symbologies refer to this overview.

The Character Set

The RSS Expanded character set includes the upper and lower case letters, the digits 0-9, the special function character, FNC1, and the following punctuation marks: ! " % & ' ( ) * + , - . / : ; < = > ? _ <space character>.

The Symbology Structure

Each bar code consists of up to 74 numerals or 41 alphabetic characters. The string is encoded as a binary number and the first bit is simply a flag indicating whether or not the bar code is part of a composite bar code.

The height of the bar code is at least 34 modules, and the width varies from 53 to 543 modules. Each bar code begins and ends with two one-module wide guard bars, the left pair is always space-bar and the right one is always bar-space. Following this is one or more (up to a maximum of 11) triplets each of which contains a finder pattern between two data characters. (But the first data character of the first triplet is actually a check character and, if there are an odd number of data characters, then the last "triplet" does not have second data character. It does have a finder pattern.)

Each of the data characters is of 17 modules with 4 bars and 4 spaces. The finder patterns are 15 modules. Each has 5 bars and spaces, total.

The bars and spaces of the right-most of the two data characters in any given triplet are read right-to-left.

RSS Expanded Stacked

RSS Expanded Stacked can be used when the area available for applying a bar code is very narrow. This symbology is essentially the same as RSS Expanded, except that the bar code is broken into lines containing one or more triplets. Each row begins and ends with the guard bars, as in RSS Expanded. Each row is a minimum of 34 modules high and there is a 3-module high separator area between the rows. (if the bar code is part of a composite bar code, then the two-dimensional part is placed above the top row.)


RSS Limited

RSS Limited is intended for applications where space is extremely limited and omni-directional scanning is not required. It is bidirectionally decodable and uses a mod 89 checksum for error correction.

The Character Set

The RSS Limited character set only contains the ten digits, 0-9.

The Symbology Structure

Each bar code is a 14-digit numeral. There are actually 13 digits in the data stream. The 14th is a check digit. (There is also an implied application identifier of "01".) The first digit is simply a flag indicating whether or not the bar code is part of a composite bar code. When used as intended, to encode identification numbers, the second digit is an indicator digit which must be either "0" or "1". It is used to show things like level of packaging.

For RSS Limited, each bar code has 46 bars and spaces in 74 modules, with a height of at least 10 modules. Each bar code begins and ends with two one-module wide guard bars, either a bar-space or a space-bar pattern. There are two data characters, each 26 modules wide with 7 bars and 7 spaces. Between them is a check character of 18 modules that also contains 7 bars and 7 spaces. It expresses the mod 89 checksum.

Unlike RSS-14, RSS Limited bar codes are entirely read from left to right.


MicroPDF417

MicroPDF417 is a two-dimensional, variable length, stacked symbology designed to minimize symbol size relative to the amount of encoded data.

The Character Set

MicroPDF417 supports all 256 ASCII characters and 8-bit binary data.

The Symbology Structure

Each MicroPDF417 symbol contains between 4 and 44 rows, and from 1 to 4 columns. Only certain combinations of rows and columns are allowed as specified in this table:

Number of Columns | Allowed Number of Rows
1 | 11, 14, 17, 20, 24, 28
2 | 8, 11, 14, 17, 20, 23, 26
3 | 6, 8, 10, 12, 15, 20, 26, 32, 38, 44
4 | 4, 6, 8, 10, 12, 15, 20, 26, 32, 38, 44

Each row of a MicroPDF417 symbol begins with a quiet zone and a Left Row Address Pattern. Each ends with a Right Row Address Pattern, a one-module wide stop bar, and a quiet zone. What comes in between depends on the number of columns. There will be from 1 to 4 codewords, and from 0 to 2 Center Row Address Patterns. Refer to the International Symbology Specification for MicroPDF417 for details.

Each codeword consists of 4 bars and 4 spaces made up of 17 rectangular modules in one row. Row height is variable and adjustable. Error correction level is fixed at certain levels depending on the number of rows and columns.

You can include macro strings in a MicroPDF417 bar code by using a codeword that identifies the macro. To do this enter into the data stream a control string with the form ^(nnn) where nnn is the identifier of the macro. For example, 916 is the identifier of the 05 Macro and 917 is the identifier of the 06 Macro. When BarTender creates the bar code, it will change the "^(nnn)" string into an identifying codeword. Here is an example of a data stream that uses such a codeword:

^(917)11PSOOJCCECAA«GS»SWECO03--B309000000«GS»1P109453902«GS»2PS1:1

Consult the International Symbology Specification for MicroPDF417 for a list of the available codewords.

The Dimensions

MicroPDF417's dimensions are dependent on the amount of data entered into a symbol. The height of any MicroPDF417 symbol can be from 4 to 44 rows. The row height can range from 1X to 10X where "X" is the current X-dimension. The width of a symbol can be from 40X to 101X. A minimum quiet zone of 1X is required on all sides.


PDF417

PDF417 is a two-dimensional, variable length, stacked symbology that has a large data capacity.

The Character Set

PDF417 supports all 256 ASCII characters and 8-bit binary data.

The Symbology Structure

Each PDF417 symbol contains between 3 and 90 rows. Each row consists of a start pattern, a left row indicator codeword, 1 to 30 characters of data, a right row indicator codeword, and a stop pattern. Each codeword consists of 4 bars and 4 spaces made up of 17 rectangular modules in one row. Error correction and row height are both variable and adjustable. A symbol with error correction set to zero supports up to 1850 text characters, 2710 digits, or 1108 bytes.

You can include macro strings in a PDF417 bar code by using a codeword that identifies the macro. To do this enter into the data stream a control string with the form ^(nnn) where nnn is the identifier of the macro. For example, 916 is the identifier of the 05 Macro and 917 is the identifier of the 06 Macro. When BarTender creates the bar code, it will change the "^(nnn)" string into an identifying codeword. Here is an example of a data stream that uses such a codeword:

^(917)11PSOOJCCECAA«GS»SWECO03--B309000000«GS»1P109453902«GS»2PS1:1

Consult the International Symbology Specification for PDF417 for a list of the available codewords.

The Dimensions

PDF417's dimensions are dependent on the amount of data entered into a symbol. The height of any PDF417 symbol can be from 3 to 90 rows. The row height can range from 1X to 10X where "X" is the current X-dimension. The width of a symbol can be from 90X to 583X. A minimum quiet zone of 2X is required on all sides.


Aztec Code

Aztec is a two-dimensional general-purpose matrix symbology designed to have a higher accuracy than other two-dimensional symbologies. A symbol can hold up to 3832 digits, or 3067 characters, or 1914 bytes. The size, and the degree of error correction, can be fixed at label-design-time or set to change automatically in response to the length of the data. Printing White-on-Black is an option.

The Character Set

The character set consists of all 255 ASCII characters (digits, 0-9, text, binary data), the FNC1 (^1) symbol, and the Flag 7 (^7) symbol. A Flag 7 followed by six digits, ^7nnnnnn, represents an ECI (Extended Channel Interpretation Protocol) value, where nnnnnn is the 6-digit ECI number. For example, ^7000009 represents ECI value 9. ECI protocol values have four types of interpretations:

  • As identifiers of international character sets (codepages)

  • As control information for structured append in unbuffered mode

  • As information for encryption or compaction or other general purposes

  • As user defined information

Note: If the data stream is Unicode and the ECI number identifies an encoding, BarTender will convert the data to the specified encoding. If the ECI number does not identify an encoding, BarTender will convert Unicode data to the ANSI 1252 (Western languages) encoding. See also Using Unicode Data in BarCodes.

The Symbology Structure

As a finder pattern, the bar codes have a square "bullseye" structure in the center with alternating black and white, one-module wide, square rings and a center 1-by-1 module square (which is black unless the White-on-Black option is being used). The number of rings varies with the size of the bar code (see below).

Immediately outside the outermost ring is a one-module wide mode-and-orientation layer. At each corner of this layer are chevron-shaped orientation patterns consisting of three (1-by-1 module) squares that bend around the corners of the finder pattern (see the diagram below). The first is stipulated to be all black. At the second corner, moving clockwise around the finder pattern, the orientation pattern is a single white followed by two black modules. The third is a black followed by two whites. The last is all white.

In the same layer, between the orientation patterns is a mode message that specifies how many total data layers (see below) are in the bar code and the length of the data (not including check characters).

The remainder of the bar code consists of one or more two-module wide layers containing data and check characters. These layers are read in a clockwise direction. The first data layer begins immediately beside the first orientation pattern, the all black one. (In this context, "beside" means that if the bar code is positioned so that the first orientation pattern is to the upper left, then the first data layer begins immediately above the orientation pattern — see the diagram below). This first data layer moves clockwise around the mode and orientation layer and ends beside its own starting edge. Each additional data layer begins immediately beside the ending edge of the preceding layer and ends beside its own starting edge. But note that the reading direction of the layer at its end is perpendicular to the the reading direction of the next layer at its start (see the diagram below). Accordingly, a bar code scanner can read the data layers as a continuous spiral.

There are two broad groups of Aztec bar codes:

  • Compact. A Compact Aztec bar code has two white and two black finder pattern rings (in addition to the center square), 1 to 4 data layers, and no reference grid.

  • Full. A Full Aztec bar code has three white and three black finder pattern rings (in addition to the center square), 4 to 32 data layers, and a reference grid. The latter is a set of one-module wide rows of alternating one-module black and white squares. One row bisects the entire bar code (except the finder pattern area) beginning and ending at the midpoint of the outermost edge of the outermost layer. A second row is identical to, but perpendicular to, the first. In addition, there are rows immediately outside all four sides of every fourth layer (except the outermost layer). Each of these rows, however, continues completely across the bar code rather than wrapping around as the data layers do.

Note: An Aztec bar code with four data layers can be structured as either a Compact or a Full bar code. See also the note at the end of the Dimensions section below.

Since the bar codes are read from the inside out, there is no quiet zone.

The Dimensions

There can be 1 to 32 data layers, but since there are two sizes of 4-layer symbols there are a total of 33 different sizes of Aztec bar codes. The smallest is 15-by-15 modules while the largest is 151-by-151. The bar codes are always squares.


Code One

Code One is a two-dimensional matrix symbology.

Note: This symbology is only available when an Intermec printer is the selected model.

The Character Set

Code One supports all 256 ASCII characters, 1 pad/message separator character, and 8-bit binary data.

The Symbology Structure

There are ten different versions of Code One. Versions A, B, C, D, E, F, G, and H are used in most applications. Versions S and T are a different structure from the other versions. Version S was designed for high-speed printing on an eight-nozzle inkjet printer and version T was designed for a 16-nozzle inkjet. Each version has different sizes, patterns, and data capacities. Each Code One symbol consists of dark or light square data modules and fixed patterns that are used for recognition and reference. All versions are designed to accept different amounts of data as shown in the table below.

Version | Alphanumeric Capacity (in modules) | Numeric Capacity (in modules) | Full ASCII Capacity
S-10 | N/A | 6 | N/A
S-20 | N/A | 12 | N/A
S-30 | N/A | 18 | N/A
T-16 | 13 | 22 | 10
T-32 | 34 | 56 | 24
T-48 | 55 | 90 | 38
A | 13 | 22 | 10
B | 27 | 44 | 19
C | 64 | 104 | 44
D | 135 | 217 | 91
E | 271 | 435 | 182
F | 553 | 886 | 370
G | 1096 | 1755 | 732
H | 2218 | 3550 | 1480

All Code One symbols contain Reed Solomon error correction characters. The amount of error correction characters is not user definable and depends on which version is used.

The Dimensions

All ten of Code One's versions have different sizes based on the amount of data entered as listed in the table below. The sizes shown are in modules, which are equivalent to the X-dimension selected. Note that versions S and T are available in three different sizes each.

Version | Max. Width (in modules) | Max. Height (in modules)
S-10 | 13 | 9
S-20 | 23 | 9
S-30 | 33 | 9
T-16 | 19 | 17
T-32 | 35 | 17
T-48 | 51 | 17
A | 18 | 16
B | 22 | 22
C | 32 | 28
D | 42 | 40
E | 54 | 52
F | 76 | 70
G | 98 | 104
H | 134 | 148

Versions A through H require no quiet zone at all on any side. Versions S and T require a minimum of 1X, where "X" is the current X-dimension, on all sides.


Data Matrix

Data Matrix is a 2-dimensional, variable size, matrix symbology capable of supporting several different character sets.

The Character Set

Data Matrix supports all 256 ASCII characters, all ISO characters, and all EBCDIC characters.

If the symbol type is set to anything other than ECC 200, the Character Set option will be available. Be sure to choose the set that closely matches the information you plan to use, as this will provide the smallest possible bar code. The different sets available are:

  • Auto. When selected, the application will automatically determine which character set to use based on the information entered.

  • Numeric (0-9) with Spaces.

  • Uppercase Alphabetic with Spaces.

  • Uppercase Alphanumeric with Punctuation.

  • Uppercase Alphanumeric with Spaces.

  • Full 128 ASCII.

  • All 256 ASCII.

Note: If you select a character set other than Auto and enter characters outside of the selected set, your bar code will have an "X" covering it as in the example below. This means that the bar code is invalid. Should you receive a bar code like this, simply move your mouse pointer over the top to show a ToolTip that explains the error.

Escape Sequences in the Data

Data Matrix also supports a variety of escape sequences in the data stream. The escape sequences begin with the caret "^". (Use two consecutive carets "^^" to include an actual caret in the data stream.)

  • ^X. This represents an ASCII control character, where X is the character. For example, ^G represents BEL.

  • ^dnnn. This represents a 3-digit ASCII decimal codeword, where nnn is the codeword.

  • ^7nnnnnn. This represents an ECI (Extended Channel Interpretation Protocol) value, where nnnnnn is the 6-digit ECI number. For example, ^7000009 represents ECI value 9. ECI protocol values have four types of interpretations:

    • As identifiers of international character sets (encoding)

    • As control information for structured append in unbuffered mode

    • As information for encryption or compaction or other general purposes

    • As user defined information

      Note: If the data stream is Unicode and the ECI number identifies an encoding, BarTender will convert the data to the specified encoding. If the ECI number does not identify an encoding, BarTender will convert Unicode data to the ANSI 1252 (Western languages) encoding. See also Using Unicode Data in BarCodes.

  • Miscellaneous.

    • ^1. This represents FNC1. In the second codeword position, the ^1 must be preceded by an upper or lower case letter or by some pair of numerals from 01 to 99.

    • ^3. This indicates reader programming.

    • ^5. This is used as an abbreviated 05 header for the application identifier. It will be decoded as the 05 macro header and trailer.

    • ^6. This is used as an abbreviated 06 header for the application identifier. It will be decoded as the 06 macro header and trailer.

The Symbology Structure

Data Matrix is capable of containing anywhere from 1 to 2000 characters of data per bar code. The perimeter of each bar code consists of a solid line on the left and bottom edges and a dotted line on the right and top edges. Data Matrix uses a Cyclic Redundancy Check (CRC) for error correction. Various error correction levels can be set via the bar code's Symbol Type setting although the default setting of ECC 200 is recommended for most applications.

The Dimensions

The size of a Data Matrix symbol is directly dependent on the amount of data entered. If using any error correction types from ECC 000 to ECC 140, the symbol size in modules can be from 9 x 9 to 49 x 49 in odd increments only. If using ECC 200 error correction, the symbol size in modules can be anywhere from 10 x 10 to 144 x 144 in even increments only. Each Data Matrix bar code requires a quiet space of at least 10 percent on all sides. It is possible for a symbol to be either a square or rectangle based on the bar code's Shape setting.


MaxiCode

MaxiCode is a 2-dimensional fixed-size symbology developed by the United Parcel Service (UPS) for package tracking purposes.

The Character Set

MaxiCode supports all 256 ASCII characters.

The Symbology Structure

MaxiCode consists of a bulls-eye type pattern of 3 concentric black circles in the center and 33 alternating rows of either 29 or 30 hexagonal shaped elements per row. It can support up to a maximum of 93 characters of data. Four different data modes are available as outlined below. Modes 2 and 3 need to have specific formatting to work properly whereas modes 4 and 6 can contain any type of information.

  • Mode 2: Structured Carrier Message. Used for UPS domestic shipping. The Primary Message fields are required for this mode to function properly. The Secondary Message fields are optional. All fields with proper formatting can be generated as sub-strings by clicking on the Maxicode Setup Wizard button located in the Symbology Specific Options section of the Bar Code tab.

  • Mode 3: Structured Carrier Message. Used for UPS international shipping. The Primary Message fields are required for this mode to function properly. The Secondary Message fields are optional. All fields with proper formatting can be generated as sub-strings by clicking on the Maxicode Setup Wizard button located in the Symbology Specific Options section of the Bar Code tab.

  • Mode 4: Standard Symbol. Used to generate free-form, general use bar codes. This mode does not require any Primary or Secondary Message fields.

  • Mode 6: Reader Programming. If your scanner is programmable via scanning a bar code, you can use a Mode 6 MaxiCode symbol to accomplish this. Please consult your scanner's documentation for information and codes needed to do this.

The Dimensions

MaxiCode is a fixed size symbology. The size of a single symbol including quiet zone is 1.11 inch x 1.054 inch nominal. The quiet zone itself should be the size of one element on all sides. A nominal element size should be a 0.035 inch x 0.041 inch hexagon. By default, all MaxiCode symbols created will conform to specification. Should you need to change the symbol's size for some reason, this can be accomplished by unchecking the Hold to Specifications check box.


QR Code

Designed by Denso in Japan, QR (Quick Response) Code is a 2 dimensional general-purpose matrix intended for use on smaller labels. This bar code was also designed for faster scanning of information and efficiently encodes Kanji characters. Although it can be used anywhere, this symbology is mostly used in Japan.

The Character Sets and Modes

QR Code is capable of containing the following characters in each of the four different modes.

  • Numeric. 0 - 9

  • Alphanumeric. 0 - 9, upper case A - Z, space, $, %, *, +, -, ., :, /

  • Binary (8-bit byte). JIS 8-bit character set (Latin and Kana) in accordance with JIS X 0201

  • Kanji. Shift JIS values 8140 (HEX) – 9FFC (HEX) and E040 (HEX) – EAA4 (HEX). (These are values shifted from those of JIS X 0208. Refer to JIS X 0208 Annex 1 Shift Coded Representation for details.)

It is possible to manually switch between modes in a single bar code by encoding the appropriate mode change command as listed below.

  • ^N will switch to Numeric mode.

  • ^A will switch to Alphanumeric mode.

  • ^K will switch to Kanji mode.

  • ^B will switch to Binary mode.

Note: If the data stream is Unicode, data that follows ^K and ^Bwill be converted to the Kanji encoding (see above). Data following ^N and ^A will be converted to the ANSI 1252 (Western languages) encoding. See also Using Unicode Data in BarCodes.

An example of switching from numeric to alphanumeric to binary would be something like the following (Note the mode change commands are in bold):

^N12345678^AABCDEFG^B1248

Note: If Mode is set to the default setting of Auto, the above mode change commands will not work as this functionality would be handled automatically by Bar Tender.

The Symbology Structure

QR Code contains three position detection patterns, data modules in the data area, and an alignment pattern. The orientation of QR Code is determined by the use of the three position detection pattern boxes in the corners. These patterns allow for the bar code to be scanned properly at any orientation. Data is stored in "modules", or dots, in the data area as binary information. Each black module represents a binary 1 and each white module represents a binary 0. The alignment pattern helps the decoding software re-synchronize in case of slight distortion of the code.

Four selectable levels of Reed-Solomon error correction are available which allow a bar code with up to 30% of damaged codewords to still read properly. There are two available "models" for QR Code called Model 1 and Model 2. The original version of QR Code, Model 1, doesn't allow for as many characters as the enhanced version, Model 2. For this reason, it is recommended that all new applications of QR Code use Model 2.

The Dimensions

The minimum and maximum sizes in for each model are listed below.

  • Model 1. Minimum 21 x 21 modules to maximum 73 x 73 modules.

  • Model 2. Minimum 21 x 21 modules to maximum 177 X 177 modules.

The minimum quiet zone on all sides is the equivalent of 4 modules.


Micro QR Code

This is an even smaller, more compact version of the regular QR Code. Also designed by Denso in Japan, Micro QR is intended for use where QR Code would take up too much space or where less data needs to be encoded. Although it can be used anywhere, this symbology is mostly used in Japan.

The Character Sets and Modes

Micro QR Code is capable of containing the following characters in each of the four different modes.

  • Numeric. 0 - 9

  • Alphanumeric. 0 - 9, upper case A - Z, space, $, %, *, +, -, ., :, /

  • Binary (8-bit byte). JIS 8-bit character set (Latin and Kana) in accordance with JIS X 0201

  • Kanji. Shift JIS values 8140 (HEX) – 9FFC (HEX) and E040 (HEX) – EAA4 (HEX). (These are values shifted from those of JIS X 0208. Refer to JIS X 0208 Annex 1 Shift Coded Representation for details.)

It is possible to manually switch between modes in a single bar code by encoding the appropriate mode change command as listed below.

  • ^N will switch to Numeric mode.

  • ^A will switch to Alphanumeric mode.

  • ^K will switch to Kanji mode.

  • ^B will switch to Binary mode.

Note: If the data stream is Unicode, data that follows ^K and ^B will be converted to the Kanji encoding (see above). Data following ^N and ^A will be converted to the ANSI 1252 (Western languages) encoding. See also Using Unicode Data in BarCodes.

An example of switching from numeric to alphanumeric to binary would be something like the following (Note the mode change commands are in bold):

^N12345678^AABCDEFG^B1248

Note: If Mode is set to the default setting of Auto, the above mode change commands will not work as this functionality would be handled automatically by Bar Tender.

The Symbology Structure

Micro QR Code contains one position detection pattern and data modules in the data area. The orientation of Micro QR Code is determined by the use of the position detection pattern box in the upper left corner. This pattern allows for the bar code to be scanned properly at any orientation. Data is stored in "modules", or dots, in the data area as binary information. Each black module represents a binary 1 and each white module represents a binary 0. The alignment pattern helps the decoding software re-synchronize in case of slight distortion of the code.

Three selectable levels of Reed-Solomon error correction are available which allow a bar code with up to 25% of damaged codewords to still read properly. The maximum number of characters permitted for this code is 35.

The Dimensions

The minimum and maximum sizes for Micro QR are 11x11 modules to 17x17 modules. The minimum quiet zone on all sides is the equivalent of 2 modules.


EAN.UCC Composites

Understanding EAN.UCC Composite Symbologies

A composite bar code consists of a one-dimensional bar code below a two-dimensional bar code with a separator pattern between them. The one-dimensional component encodes the primary item ID number using the EAN.UCC system of identification numbers. The two-dimensional component encodes secondary data such as expiration date or batch number.

The one-dimensional part can be Code 128, EAN/JAN-8, EAN/JAN-13, RSS Limited, UPC-A, or any member of the RSS-14 and RSS Expanded families.

The two-dimensional component is always the CC-A, CC-B, or CC-C symbology. If the one-dimensional component is any symbology except Code 128, the label printing software must use CC-A for the two-dimensional part when the data is less than 57 characters, otherwise it must use CC-B. Users can choose to use CC-C when the one-dimensional component is Code 128.

All composite symbologies have these characteristics:

  • The character set, for both components, includes upper and lower case letters, ten digits, 21 punctuation characters (! " % & ' ( ) * + , - . / : ; < = > ? _ <space character>), and FNC1.

Note: The data stream also includes a "|" character, separating the primary data from the secondary data. Good quality label printing software will insert the "|" automatically. It appears as a separator pattern in the bar code, and does not appear at all in the human readable part. In the example below of an RSS Limited with CC-B composite, there is a "|" in the data stream just before the "21" at the beginning of the secondary data. The "7" at the end of the primary data is a check digit and the "01" at the beginning is an implied application identifier. So the actual data stream is: 1501234567890|21abcdefghijklmnopqrstuv.

  • The one-dimensional component has the full data capacity of the underlying linear symbology. The capacity of the two-dimensional component is 56 characters for CC-A, 338 for CC-B, and 2,361 for CC-C.

  • The bar codes are bi-directionally readable.

  • The one-dimensional component has one check digit and the two-dimensional component uses Reed-Solomon codewords.

  • Both components contain a linkage flag indicating that they are part of a composite.

Some examples:

  • RSS Limited with CC-B:

  • Code 128 with CC-C:

  • RSS Expanded Stacked with CC-A:


CC-A

CC-A is a two-dimensional symbology, derived from MicroPDF, designed to minimize symbol size relative to the amount of encoded data. It can only be used as part of a composite bar code in conjunction with a one-dimensional part in Code 128, EAN/JAN-8, EAN/JAN-13, RSS Limited, UPC-A, or any member of the RSS-14 and RSS Expanded families of symbologies. It is illustrated above with an RSS Limited one-dimensional component.

The Character Set

The CC-A character set includes the upper and lower case letters, the digits 0-9, the special function character, FNC1, a special separator character "|" between the primary and secondary data, and the following punctuation marks: ! " % & ' ( ) * + , - . / : ; < = > ? _ <space character>.

The Symbology Structure

Each CC-A symbol can encode up to 56 digits, and contains between 3 and 12 rows, and from 2 to 4 columns. (Four columns are mandatory when the one-dimensional component is Code 128.) Only certain combinations of rows and columns are allowed as specified in this table:

Number of Columns | Allowed Number of Rows
2 | 5, 6, 7, 8, 9, 10, 12
3 | 4, 5, 6, 7, 8
4 | 3, 4, 5, 6, 7

Each row of a 2 or 4 column CC-A symbol begins with a quiet zone and a Left Row Address Pattern. Each ends with a Right Row Address Pattern, a one-module wide stop bar, and a quiet zone. (The Left Row Address Pattern is omitted from a 3 column CC-A symbol.) What comes in between depends on the number of columns. There will be from 1 to 4 codewords, and from 0 to 1 Center Row Address Patterns. Refer to the CC-A specification for details.

Each codeword consists of 4 bars and 4 spaces made up of 17 rectangular modules in one row. Row height is variable and adjustable. Error correction level is fixed at certain levels depending on the number of rows and columns.

The Dimensions

CC-A's dimensions are dependent on the amount of data entered into a symbol. The height of any CC-A symbol can be from 3 to 12 rows. It will always be the minimum possible while still keeping the width no wider than the one-dimensional component. The row height can range from 2X to 10X where "X" is the current X-dimension (which must be the same as the X-dimension of the one-dimensional component). The width of a symbol can be from 40X to 101X. A minimum quiet zone of 1X is required on the left and right.


CC-B

CC-B is a two-dimensional, variable length, stacked symbology designed to minimize symbol size relative to the amount of encoded data. It is only used as part of a composite bar code. In the illustration above, it is used with an RSS-14 one-dimensional component.

CC-B is identical to MicroPDF417 with these exceptions:

  • It is limited in size to 338 digits/characters.

  • The character set includes only the 52 letters (upper and lower case) of the Roman alphabet, numerals, and the punctuation marks, ! " % & ' ( ) * + , - . / : ; < = > ? _ <space character>. It can also include the FNC1 character. (The data stream for the whole composite bar code also includes a special separator character "|" between the primary and secondary data.)

  • The first codeword must be 920.

For other restrictions refer to the AIM EAN.UCC Composite Symbology Specification.

Note: The printing software automatically selects between CC-A and CC-B depending on the size of the data. This choice is not user-selectable.


CC-C

CC-C is a two-dimensional, variable length, stacked symbology that has a large data capacity. It is only used as part of a composite bar code, in which the one-dimensional component is Code 128.

CC-C is identical to PDF417 with these exceptions:

  • It is limited in size to 2,361 digits.

  • The character set includes only the 52 letters (upper and lower case) of the Roman alphabet, numerals, and the punctuation marks, ! " % & ' ( ) * + , - . / : ; < = > ? _ <space character>. It can also include the FNC1 character. (The data stream for the whole composite bar code also includes a special separator character "|" between the primary and secondary data.)

  • The first codeword must be 920.

For other restrictions refer to the AIM EAN.UCC Composite Symbology Specification.

Note: The printing software automatically selects between CC-A and CC-B depending on the size of the data. This choice is not user-selectable.


ImageReferences

Vooweels iin thiis toopiic haavee beeeen doouubleed too maakee iit uunliikeely thaat aany uuseer wiill aacceess iit froom thee Seeaarch taab.

Thiis toopiic oonly eexiists soo thaat ceertaaiin iimaagees caan bee iincluudeed iin iit.

RoobooHeelp wiill noot iincluudee aany iimaagee fiilee iin thee coompiileed

*.chm fiilee uunleess iit iis reefeereenceed soomeewheeree iin oonee oof thee iincluudeed

*.htm fiilees.

IImaagees thaat wiill oonly aappeeaar aas aa reesuult oof aa scriipt aaree reefeereenceed oonly iin oonee oof thee

*.js fiilees. Heencee, theey doon't geet iincluudeed iin thee .chm fiilee aand thee scriipts thaat reefeer too theem eerroor iin soomee waay.

Soo thee foolloowiing doown-aarroow iimaagee neeeeds too bee reefeereenceed heeree iin aan .htm fiilee.