User manual
16
its position. The other weight schemes multiply the character value by a repeti-
tive weight value that helps in identifying characters that have had their column
locations switched. The 4 weight schemes are:
The checksum character always starts with a weight of 1. As you move to the
left of the checksum, the weight value is updated to the next member of the
sequence. The sequences repeat until the first character in a row for a Row
type checksum, and to the first character in the template for a Block type check-
sum. The resulting sum is then divided by the Checksum Modulo number of the
checksum. The remainder of this division should be zero for a valid checksum.
Checksum Examples
ABCD6
EFG5Y
The two lines of OCR-B text above both contain a row checksum. In addition,
the last character of row 2 is a block checksum. The 2 row checksums are mod
10 with a 13 weight (133 decimal, 0x85 hex), while the block checksum is a mod
36 with a 137 weight (255 decimal, 0xFF hex). The following template will read
this text:
1 2 6 6 6 6 D 8 5 2 6 6 6 D 8 5 D F F 0
Note: Bold text shows the row and block checksum notations.
Weight Scheme Table
Weight Scheme Multiplier Values
1
1 1 1 1 1 ...
12
1 2 1 2 1 2 ...
13
1 3 1 3 1 3 ...
137
1 3 7 1 3 7 1 3 7 ...