codabar-18
The codabar-18 bar code type is similar to codabar-2, but uses an extended character set.
Codabar 18 can be used to encode text of variable length by using characters from this character set:
| Reference Number | Character | 
|---|---|
| 0 | 0 | 
| 1 | 1 | 
| 2 | 2 | 
| 3 | 3 | 
| 4 | 4 | 
| 5 | 5 | 
| 6 | 6 | 
| 7 | 7 | 
| 8 | 8 | 
| 9 | 9 | 
| 10 | - | 
| 11 | $ | 
| 12 | : | 
| 13 | / | 
| 14 | . | 
| 15 | + | 
| 16 | a | 
| 17 | b | 
| 18 | c | 
| 19 | d | 
| 16 | t | 
| 17 | n | 
| 18 | * | 
| 19 | e | 
The first character of any code must be either 'a', 'b', 'c' or 'd'. The last character of any code must be either 't', 'n', '*' or 'e'. All other characters must have an ordinal value less than 16.
The last but one character is the checksum character that is calculated as follows:CS=16-(Sum(i=1 to n of Ref(i))) mod 16) Where Ref(i) is the reference number of the character i, and n is the total number of characters. Example: codeValue="a37859n"CS=16-((16+3+7+8+5+9+17) mod 16),CS=16-(65 mod 16),CS=15 Looking up reference number 15 yields the character '+'. The full code value including checksum is therefore: codeValue="a37859+n"
When the system is supplied with a value that is one digit shorter than specified by noDigits then the check digit is automatically calculated.
The nominal height is 20mm. The nominal width of a thin bar is THINBARWIDTH=0.165mm. The width of a character is 2.095mm. Between digits a gap with the width GAPWIDTH=THINBARWIDTH/ thinToGapRelation is drawn. The padding on both sides measures 10*THINBARWIDTH.