Bar Code Structure
All one dimensional (1D) barcodes are constructed from a series of bars and intervening spaces. The relative size of these bars and spaces and the number of them is decided by the specification for the symbology (or bar code type) which is being used. Recently, other types of barcode which encode information both horizontally and vertically (2D) have entered the mainstream. There are a number of symbologies in common use. Each symbology differs in the way data is encoded and often also in the type or amount of data. Generally speaking, only one symbology is chosen for a particular application.
To ensure compatibility of systems, it is important that all users of a barcode agree on the way in which it is used and how data is encoded. In a small system such as the tracking of documents within a single office, it is easy to control the type of bar code that is used. However, in a large and complex system such as the retail supply chain, the agreement and control is much more problematical.
For this reason the use of barcodes within certain fields is administered and controlled by official (or semi-official) bodies. Such bodies will publish specifications stating which bar code symbology is to be used for a particular application , what limits are applied to size and quality, and the numbering system that is used. In the case of bar codes which identify an article, the official body will issue the numbers that are used so that conflicts do not occur.
Here a just a few of the official bodies and the areas they administer:
GS1(Associations in most countries)
UK ISBN Agency
The British Library/Periodicals Barcoding Association
There are many other bodies covering such fields as transport, blood banking, pharmaceuticals and the automotive industry.
Those involved in bar coding should understand the relationship between the Bar Code Symbology and it's Application Specification.
A symbology is not specific to a particular application or numbering system. It is simply the rules that govern the construction of the bar code and its operational limits.
The Application Specification adopts a particular symbology and defines how articles will be numbered. Certain Application Specifications administer the coding of items within a particular area but adopt the symbology and application spec of another larger sector.
For example, book coding in the U.K, falls under the ISBN (International Standard Book Numbering) system, but has been incorporated into the EAN/UPC implementation administered by GS1.
Most bar code symbologies have certain common features:
Human Readable Characters
Many newcomers to barcoding have misconceptions about the information a bar code contains. They are familiar with the use of bar codes in retail stores and assume that the bar code contains the price of the item. This is hardly ever the case. The bar code will carry only the unique number which identifies that item. At the supermarket check-out the number is read by the scanner and the price extracted from a "look-up" table on the stores main computer.
In almost all cases all of the useful information is printed in "human-readable" form, usually at the base of the code. A standard font is recommended for the human readable characters (HRC's) in most symbologies. While this font is usually OCR-B or OCR-A, both fonts which were designed to be readable by a machine, in practice the HRC's are not machine read and a standard font is used simply for uniformity of appearance.
All bar code types require a certain amount of light space to the left and right of the bar code. This enables the scanner to differentiate between the bar code and surrounding graphics. Should the wrong type of graphic image intrude on the light margin, there is a risk that the bar code will not decode, or worse, will decode incorrectly.
One of the most common causes of bad reads is light margin incursion. For this reason, some symbologies employ a method of protecting the quiet zone. For example, an unbroken rule or box may be defined around the code. As UPC codes have human readable characters left and right of the main code, the quiet zones are generally well protected. With the EAN13 code a human readable character appears to the left of the code but not on the right. The specifications recommend that a light margin indicator be placed on the right of the code to dissuade designers from placing graphics within the quiet zone.
Bar Code Dimensions
The method of describing bar code size varies between symbologies. Code types such as UPC and EAN use a magnification factor based around the standard size (100% magnification). All dimensions are scaled proportionally as the magnification factor changes. Although there is a recommended height for each magnification factor, this is sometimes adjusted in practice.
Other symbologies employ a size definition based on the width of the narrowest bar in the code.
Many symbol types are modular, that is the width of all bars and spaces are derived from the narrow bar (or X dimension). In such codes the wide bars and spaces are constructed from 2, 3 or more narrow bars according to the encodation rules which apply. Therefore, to describe the size of the bar code it is only necessary to define the narrow bar width and the height of the code.
Code 39 differs from the above in that while it defines narrow bar width, it also defines the ratio between wide and narrow bars (between 2:1 and 3:1). As there are many possible combinations of narrow bar width and wide/narrow ratio, users of Code39 find it convenient to talk in terms of characters per inch (c.p.i.), that is the number of digits which could be encoded by a code of 1" width.
* One complication to the above rule is the adjustment of 1/13 of a narrow bar to certain parts of UPC and EAN codes. This is undertaken to give an even distribution of bar width tolerances and improve the scanability of the code.
Start and Stop Characters
It is usual for a symbology to have a start and stop pattern at each end of the bar code symbol. This special bar/space arrangement may simply tell the scanner that the read was complete. In the case of variable length bar codes, if a start/stop pattern was not used it would be possible for a scanner to read part of the code and assume it had read the complete code.
A start and stop pattern may also indicate the orientation of the bar code. By having a differing pattern on the left from the right the scanner can detect if the code was scanned upside-down.