Barcode Xpress for Linux v13.4 - Updated
Code 39 Extended
User Guide > Concepts > Barcode Specifications > Barcode Types > Code 39 Extended

Code 39 Extended was developed to provide a means of encoding additional characters that are not part of the Code 39 character set (for example, lowercase characters and additional symbols), and is essentially a superset of Code 39. Extended characters are encoded by using a pair of normal Code 39 characters. For example, a lowercase "a" is encoded by the character pair "+A". Code 39 Extended supports the full ASCII character set.

The ratio of wide to narrow bar width can be in the range of 1.8 to 3.4.The barcode engine Code 39 uses a 2:1 wide:narrow bar width ratio.

Code 39 Extended requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Since Code 39 is a self-checking barcode, it normally does not require a checksum. However, when necessary, an optional modulo 43 checksum may be used.

By default, Barcode Xpress for Linux will not write optional checksums. If a checksum is desired for Code 39, set the EnableCheckSum property to 1(TRUE) and the barcode engine will calculate and write the checksum.

If you don't set the reader BarcodeTypes property to specifically look for Code 32 barcodes, the barcode engine might confuse a Code 32 barcode with a Code 39 Extended barcode since Code 32 is a subset of Code 39 Extended and Barcode Xpress assumes the barcode is a Code 39 Extended when looking for Code 39 Extended or both.
By default, Barcode Xpress detects Code 39 Extended barcodes only with start and stop patterns. Use the Code39StartStopPatternsAreMandatory property to search for Code 39 Extended barcodes without start and stop patterns.

An example: