How do Barcodes work?

Barcode systems are not designed to duplicate the human visual capabilities, like OCR (Optical Character Recognition) systems which require complex imaging and recognition schemes, but to replace it with components designed with readily available and low cost technology.

Human Vision vs Barcode Scanners

A human visual system is capable of identifying and deciphering very complex images. It can decipher a symbol completely illegible to a scanner. But the same visual system has great difficulty in taking large quantities of simple information, such as that represented by a barcode symbol, and reducing it to a single character. On the other end of the spectrum, the limited operational range of a scanner dictates that it operates under a very rigid and simple set of conditions. It can process huge quantities of simple information but requires very definable elements. A scanner is very poor at deciding if what was seen was a bar or a space with some garbage in it. To compensate for this deficiency, barcode label printers are optimized for printing simple symbols such as the "bars" in a barcode.
 

Human Text vs Barcodes

Human text fonts are designed to fit the needs of the human that is interpreting them. The curlicues and serifs hanging off the end of the characters in human text font make it easier for the eye to string them together into words. Barcode scanners in contrast see little use in anything that does not contain their information, they like nice straight edges and consistent spacing. For example, a simple matrix font formed from dots is sufficient to convey the necessary information. Barcode printers are designed to produce these simple character elements that can be easily read by a scanner.

Sample of a thermal label with barcodes