Click here to visit the Kiosk Division You are at the POS Division website Click here to visit the OEM Division  Kiosk Hardware Solutions  
HOME
COMPANY PROFILE
CONTACT INFO
KIOSK DIVISION
OEM DIVISION
SEARCH SITE
REQUEST SUPPORT  |  REQUEST RMA  |  FAQs  |  MANUALS  |  DRIVERS  |  RETURN POLICIES
   

 

Cognitive Frequently Asked Questions :  Bar Codes


Bar Code Rules

All rules of bar code symbologies must be followed when printing bar codes. For example, you can't print alpha characters in a numeric-only bar code type; to do so will print an invalid code. Some of the rules for the most commonly used bar code symbologies are listed below.

The Uniform Product Code (UPC) family of codes are typically used for product identification, and include UPCA and UPCE. These are numeric codes only, supporting the characters 0 through 9. All UPC codes start with a number system digit that identifies the type of product being coded, and end with a checksum digit.

UPCA code UPCA consists of a number system digit, ten numbers for the product identification, and a checksum digit. All Cognitive printers automatically calculate the checksum. The checksum is not printed in the bar code subtext. UPC codes usually have extender bars as shown for the UPCE code below, but Cognitive printers can print UPC codes without extender bars if desired.

UPCE code UPCE is a six-digit variation of the UPC symbology. It always uses number system zero. You must enter the six numbers of the bar code, but not the number system digit or the checksum. The printer calculates the checksum automatically. The bar code is printed with extender bars and bar code subtext. The bar code subtext shows the system number, the six digits of the bar code, and the checksum digit. Using the minus sign bar code modifier removes the checksum from the bar code subtext.

Numbers coded using the UPCE standard must conform to these rules:

  • If the manufacturer's code ends in 000, 100, or 200, the valid product code numbers are 00000 to 00999.
  • If the manufacturer's code ends in 300, 400, 500, 600, 700, 800, or 900, the valid product code numbers are 00000 to 00099.
  • If the manufacturer's code ends in 10, 20, 30, 40, 50, 60, 70, 80, or 90, the valid product code numbers are 00000 to 00009.
  • If the manufacturer's code does not end in 0, valid product code numbers are 00005 to 00009.

Pinnacle printers will print an error message if UPCE data does not follow these rules. Other Cognitive printers do not force conformity, but users should be aware that improperly coded data may be rejected by UPCE systems.

Interleaved 2 of 5 (I2OF5) is an interleaved code, used mainly in the distribution industry. It supports numbers 0-9 only. It can use a weighted modulo 10 checksum digit if desired, and uses start and stop characters. Because of the interleaved pattern, an even number of digits (including the checksum, if used) must be placed in the bar code string. For example, 0123 is valid, while 123 is not valid.

CODE39 code

Code 39 is a widely used alphanumeric code that supports numbers and characters 0-9, A-Z, ".", space, "$", "/", "+" and "%". It does not support lower case characters. Code 39 is self-checking, and does not normally use a check digit. An asterisk is used as a start and stop character, which Cognitive printers automatically adds to the bar code. The asterisk does not normally print as part of the bar code subtext.

HIBC is the Health Industry Bar Code standard symbology. It is similar to normal Code 39, except it uses an automatically generated check digit. The check digit does not appear in the bar code subtext.

Code 93 is similar to Code 39. It can encode 48 different characters, and with the use of control characters can encode all 128 ASCII characters. Each encoded character in a Code 93 symbol is represented by three variable width bars and spaces.

Code 93 uses start and stop characters and can use two modulo 47 check digits (referred to as C and K). Character C is a modulo 47 sum of the data character values, weighted from right to left with a 1 through 20 sequence. Character K is a modulo 47 sum of all characters, including C, weighted from right to left with a 1 through 15 sequence.

The characters represented by Code 39 are represented in Code 93 as single bar code characters, but all other Code 93 characters are represented by a control character plus another character. You must take this into account when estimating bar code length.

EAN (European Article Numbering) codes are an extension of the UPC system. A bar code scanner set to read EAN can read UPC; however, a scanner set for UPC may not read EAN. The EAN codes use a checksum character, which the printer automatically calculates. EAN codes are available in two versions: EAN13, which codes 13 digits, and EAN8, which codes 8 digits.

EAN13 code EAN13 has the same number of bars as UPCA. EAN13 encodes a number system character, eleven data digits, and a checksum. You must enter a number system character and eleven data digits. The printer calculates and adds the check digit, but the check digit does not print in the bar code subtext.

EAN8 code EAN8 encodes a number system character, six data digits, and a checksum. The printer calculates and adds the check digit, but the check digit does not print in the bar code subtext.


ADD5 code ADD2 code

ADD2 and ADD5 are add-ons for UPC and EAN codes. ADD2 is a two digit add-on; ADD5 is a five digit add-on.


CODABAR code

CODABAR supports numbers 0-9 and the special characters ":", ".", "$", "+" and "-". It requires you to frame the numeric data with valid start/stop character pairs; for example, A0123B, where "A" is the start and "B" is the stop character. The valid start characters are designated A, B, C, and D. The valid stop characters are designated T, N, *, and E. Since you may use any of the four start/stop characters on either end of the symbol, there are 16 possible combinations. These combinations can identify the product type or other information.

Postnet is designed for use with the nine digit ZIP + 4 postal code. Each character to be encoded is represented by five bar code elements, with each element being either a short or tall bar followed by a space. The bar and space widths are constant. Postnet uses a start and stop bar and a modulo 10 check digit. Cognitive printers can automatically calculate and add this digit to the code.

PLESSEY code

Plessey code supports numerals 0-9, plus six additional characters (typically A-F). Plessey uses a check digit, but the check digit may be calculated several different ways. To allow the user some flexibility, Cognitive printers do not calculate or print the check digit. You must calculate and enter the check digit manually, according to the requirements of your bar code system.

MSI is a modified Plessey code that uses two check digits. Cognitive printers automatically calculate and add the check digits to the bar code. Check digits are not printed in the human-readable bar code subtext.

MSI1 is another modified Plessey code that uses one check digit. Again, Cognitive printers automatically calculate and add the check digit. The check digits are not printed in the human-readable bar code subtext.

MAXICODE

MaxiCode is a fixed-size, two-dimensional bar code symbology developed by United Parcel Service, Inc. for parcel tracking and distribution. MaxiCode consists of a matrix of hexagonal elements arranged around a bull's-eye "finder pattern." It uses five code sets (designated A through E) to encode all 256 characters of the extended ASCII character set.

PDF417 (an abbreviation for Portable Data File 417), originally developed by Symbol Technologies, Inc., is a two-dimensional stacked bar code symbology. It is a highly compact medium for encoding any data representable by the 256 characters of the International Character Set.

PDF417 CodeThe codeword is the basic unit of a PDF417 bar code. All data encoded using PDF417 is first converted to a decimal value between 0 and 928 inclusive, since there are 928 discrete symbols that can be represented by the allowable pattern of bars and spaces in each codeword. The printer converts the raw data to a series of numeric values following rules that provide optimum data compression. PDF417 provides several different rule sets, or modes, for optimum data compression.

Table 1. PDF417 error correction performance
Security level Error limit
0 0
1 2
2 6
3 14
4 30
5 62
6 126
7 254
8 510

PDF417 provides error detection and correction within the bar code block. The thoroughness of the automatic error checking is called the security level of the code. There are eight security levels, numbered 0-8, as shown in Table 1.

As long as the number of unreadable or missing code words in the bar code block is less than the number indicated for the applicable security level, the code may be read without error.

A high security level provides very reliable data encoding. However, the bar code block gets bigger with increasing security, since more codewords are needed to provide the necessary error checking data. Processing speed also increases significantly with increasing security, since more error checking calculations are performed.

Cognitive printers automatically handle most of the decisions and tasks associated with printing PDF417 bar codes. The printer selects the best mode for the data, encodes it, and does all calculations associated with start and stop characters and error-checking.

Code 128 uses 106 unique characters in three character sets to represent the numerals 0 through 9, the English alphabet in both upper and lowercase, some punctuation, and some special characters. Cognitive printers automatically calculate and add the checksum character, as well as any required start and stop characters. Code 128A, Code 128B, and Code 128C are the three character sets of the Code 128 symbology.


CODE128A Code 128A can encode punctuation, the digits 0 through 9, the English alphabet in uppercase only, the standard ASCII control codes, and the special characters shown in Table 2.


CODE128B Code 128B can encode punctuation, digits 0 through 9, the English alphabet in both upper and lowercase, and the special characters shown in Table 2.


CODE128C Code 128C is numeric only, and encodes numbers 00 through 99 plus the special characters shown in Table 2. It encodes numbers more efficiently than Code 128A or Code 128B, since the numbers are encoded as double digits.

Most Cognitive printers support Code 128 Automode Switching. That is, if you specify Code 128 without the A, B, or C modifier the printer will automatically select and shift among the three symbology versions for optimum data compression. This will produce the smallest possible bar code.

Table 2. CODE128 special characters
2 Digit Code CODE128A CODE128B CODE128C
32 FNC3 FNC3 invalid
33 FNC2 FNC2 invalid
34 SHIFT SHIFT invalid
35 CODE C CODE C invalid
36 CODE B FNC4 CODE B
37 FNC4 CODE A CODE A
38 FNC1 FNC1 FNC1

 

Code 16K is a multi-row symbology based on Code 128. It offers the features of Code 128 with the added density of a two-dimensional bar code. Each Code 16K symbol consists of from two to sixteen rows. Each row consists of a leading quiet zone, a start character, a guard bar, five symbol characters, a stop character, and a trailing quiet zone. Rows are separated from each other by a separator bar, and there are separator bars at the top and bottom of the symbol as well.

 

CODE16K As with Code 128, Code 16K has three unique character sets. Cognitive printers automatically select the best character set for the encoded data when using Code 16K. The user does not need to specify the character set when programming Code 16K bar codes.

 

Table 3. CODE16K special characters
2 Digit Code Function
33 FNC3
34 FNC2
35 invalid
36 invalid
37 FNC4
38 FNC4
39 FNC1

Bar Code Printing Tips & Tricks

Many factors can affect bar code reliability, and the bar code printer does not control all of them. The printer programmer and user must assume responsibility for some aspects of bar code printing. Improper programming or improper printer use can produce bar codes that will not scan reliably.

Common errors resulting in unscannable or unreliable bar codes include:

  1. Using a bar code symbology that is incompatible with the encoded data.
  2. Trying to read a bar code with a scanner that will not accept the bar code symbology being used. (Remember, the bar code process involves two tasks - printing and reading - and the printer only affects one of them.)
  3. Using unsuitable print media for the job.
  4. Setting the printer darkness incorrectly.
  5. Using the wrong print speed for the job.
  6. Printing bar codes having insufficient bar width.
  7. Printing bar codes using incorrect bar and space proportions.
  8. Failing to encode start and stop characters or checksum characters correctly, for codes where these elements are not automatically calculated and printed.

You can avoid these errors with a little care. Follow these guidelines to produce reliable bar codes:

Always confirm that the chosen bar code symbology supports the characters you wish to encode. Keeping data on bar code symbology handy while writing label formats can help you avoid mistakes. The previous section covers the prominent features of most of the bar code symbologies supported by Cognitive printers.

Identify any bar code data that you must program manually. Sometimes you must include some hidden information, such as start and stop characters and checksum characters, along with the bar code data. The nature of such data depends on your printer and the chosen bar code symbology. Some printers automate many of these housekeeping chores, but nevertheless, you should be aware that:

  • UPCA requires you to specify the number system type and enter it as part of the bar code data.
  • I2OF5 uses a checksum, which you may have to calculate and enter as part of the bar code data.
  • CODE39 sometimes requires a checksum. If your implementation of CODE39 requires a checksum, you may need to calculate it and enter it as part of the bar code data.
  • CODABAR requires start and stop characters that you may need to enter as part of the bar code data.
  • PLESSEY requires a checksum digit that you may need to enter as part of the bar code data.

(Of course, if you are using a label printing software package, the software should handle all of these issues more-or-less automatically. We don't mean to imply that store clerks need to know how to calculate checksums.)

Use a "systems approach" when setting up your bar code printer, scanner, and host computer. Resolve compatibility issues early. Since Cognitive printers support most bar code symbologies, developing a system that is compatible with your requirements should not be difficult.

Always use high-quality print media, and make sure that the media is suited to the application and its environment. Use thermal transfer printing when you expect labels to be in place for extended periods, or where labels may be exposed to intense heat or direct sunlight. Use vinyl labels and rub proof ribbon in harsh environments.

Do not print bar codes in color; many scanners can't see color. Avoid printing bar codes on media that has a colored background. The background color may reduce the bar and space contrast, possibly below your scanner's detection threshold.

Print bar codes as large as possible. Avoid printing bar codes that have less than a 10 mil minimum bar width. There are several ways to program the size of bar codes. Probably the easiest way to assure yourself that all bar codes are at least 10 mils wide is to always use a print pitch of 100 dots per inch or less, if your printer will support it (most Cognitive printers do).

300 DPI printers can safely print higher density codes. Bar widths as small as 5 mils should scan when printed on Barcode Blaster SR or similar printers. But as a general rule, large bar codes scan more reliably than small ones.

Adjust printer speed and darkness for optimum label printing. These settings tend to interact to a certain degree. Reducing print speed will often improve print quality.

Cognitive printers are factory set for optimum results with most popular media, but may need adjustment for different media or as the printer ages. Experiment with print darkness to find the best setting. Use a bar code verifier to check print darkness, if possible.

When considering print darkness, there is a difference between printing text and bar codes, especially rotated bar codes: Labels having text, boxes, graphics, and the like that "look good" are often too dark for reliable bar codes. This is because heat buildup on the printhead and print media makes the bars print wider than you expect. This changes the width ratio of the bars and spaces. When printing labels that have mixed text and bar codes, try reducing darkness if the text looks very dark, even if it looks sharp. Printing labels as light as possible also helps reduce printhead wear.

Special Considerations for Rotated Bar Codes

Note: Our Blaster Advantage and Solus printers use an advanced "dot history" algorithm to greatly reduce problems with rotated codes. If you are using an Advantage or a Solus printer you probably do not need to concern yourself much about the information in this section. (But if you are using another manufacturer's printer, then read on.)

There is one characteristic of thermal printing that sets it apart from other printing techniques: It takes time for a thermal printhead and print media to change temperature. Each dot on the printhead must get very hot to darken the thermal print media, and the dots take a little while to heat and cool as the drive voltage is applied and removed. The print media is in motion continuously, so while the dots are heating and cooling the print media is still exposed to some heat. Areas of the label that theoretically should stay white will be subjected to temperatures close to the darkening temperature. This results in some unavoidable bleeding of dark areas into light areas.

The severity of the bleeding depends on several factors, the most critical of which are:

  • Print speed: As you increase the print speed, a larger area of the label will be exposed to heat during the cool-down period. This tends to increase bleeding.
  • Media quality: Different media types have different heat sensitivity. Media also has a response time. Some media types are more subject to bleeding than others.
  • Print temperature: The printer darkness setting controls print temperature. Up to a certain point, the higher the print temperature the darker the print will be. Excessive heat increases print bleeding.

Print bleeding affects rotated codes more than normal codes, because the bars of rotated codes travel perpendicular to the printhead as it heats and cools. With unrotated codes, the bars are traveling parallel to the printhead, so the width of the bars are subjected to heat for a shorter period of time. This is why unrotated codes generally look sharper and tend to scan more reliably than rotated codes.

Design labels using unrotated codes rather than rotated codes if you have a choice. If you must print rotated bar codes, there are several ways to improve scannability:

  1. Always use high quality print media.
  2. Print your labels at the slowest printer speed that is available and acceptable for the job requirements.
  3. Experiment with print darkness to find the best darkness/speed combination for your printer and print media.
  4. Print the bar codes as large as possible. Generally, the wider the bars the better the labels will scan.

 

 


 Discount POS Hardware

(Ask a Sales Rep for Details)


I&E Tech Support : 973-579-0009 -  8:30 to 5:00 Eastern Time. Mon.- Fri.
Tech Support Email: ietech@iepos.com


-


HOME
| PRODUCTS | COMPANY CONTACTS | ABOUT US | TECH SUPPORT | REQUEST FOR QUOTE   | CREDIT APPLICATIONONLINE ORDER FORM  | FREE CATALOG | SHIPMENT TRACKING | DIRECTIONS | E-MAIL | DISCOUNT INVENTORY

Instruments & Equipment Company  -  2 Wilson Drive  -  Unit 1  -  Sparta  -  NJ  -   07871  

Phone: 973-579-0009 or 800-432-1255  -  Fax: 973-579-6665  -  email: iepos@iepos.com

Copyright © 2004 Instruments & Equipment Co. All Rights Reserved