Hi, with this correction, output barcodes match what I'm seeing with other codabar outputs. Found in Debian: Author: Chris Howie Description: Following codabar specification (Closes: #320908). Upstream-Status: Submitted [http://lists.gnu.org/archive/html/bug-barcode/2014-01/msg00000.html] --- codabar.c.orig 2015-10-19 19:48:14.000000000 +0200 +++ codabar.c 2015-10-19 19:49:50.000000000 +0200 @@ -28,10 +28,11 @@ /* this is ordered in decades to simplify encoding */ static char alphabet[] = - "0123456789" "-$:/.+ABCD"; + "0123456789" "-$:/.+ABCDTN*E"; #define CODE_A 16 #define CODE_B 17 +#define CODE_T 20 #define NARROW 12 #define WIDE 14 @@ -167,13 +168,13 @@ } if (!startpresent) { if (usesum) { - /* if no start character specified, B is used as a stop char */ - checksum += CODE_B; + /* if no start character specified, T is used as a stop char */ + checksum += CODE_T; checksum = (checksum + 15) / 16 * 16 - checksum; add_one(ptr, checksum); ptr += strlen(ptr); } - add_one(ptr, CODE_B); + add_one(ptr, CODE_T); } bc->partial = partial; bc->textinfo = textinfo;