Codabar was designed to be accurately read even when printed on dot-matrix printers for multi-part forms such as FedEx air bills and blood bank forms, where variants are still in use as of 2007. Codabar was developed for use in a variety of non-retail applications such as shipping, libraries, and the medical industry.
Although newer symbologies hold more information in a smaller space, Codabar has a large installed base in libraries. It is even possible to print Codabar codes using typewriter-like impact printers, which allows the creation of a large number of codes with subsequent numbers without having to use any digital equipment. After each printed code, the printer's stamp is mechanically turned to the next number, as for example in mechanical mile counters.
Since Codabar is self-checking, there is no established checksum digit. Should a specific application wish to implement a checksum digit for additional security, it is up to the implementer to define and handle same. However, keep in mind that other applications that read your barcode will interpret your checksum digit as part of the message itself.
Codabar can encode the digits 0 through 9, six symbols (- :.$/+), and the start/stop characters A, B, C or D. The start/stop characters must be used in matching pairs, selectable using the CodabarStartChar and CodabarStopChar properties, and may not appear elsewhere in the barcode.
There is no checksum defined as part of the Codabar standard, but A barcode will compute and add a modulo 16 check digit if you set AddCheckDigit to True.