Page 1 of 1

Code128 printing Check Digit in Human Readable Text

PostPosted: Tue Aug 18, 2009 5:24 pm
by lstarr
As I understand it, Code 128 (I am using character set A, but should be the same for all) requires a check digit (calculated as Modulus 103). Your product will calculate the check digit and include it in the barcode data. The barcode printed out in such a fashion can be scanned and the information returned will be the data - but not the check digit. This is fine.

The problem is that the Human Readable text underneath the barcode displays the check digit. This is problematic for me because I am trying to conform to HIBCC standards, and they want the last Human Readable (and scanned data) digit to be a Check39Mod43 digit, not the Code 128 check digit. Your font (MRVcode128MSA) works correctly for the barcode itself (not showing the code 128 check digit when scanned), but incorrectly in that it displays the check digit in the human readable text.

A little background info. I am printing out labels from MS Access, using reports. I utilize the Code128() function to calculate the final data for the barcode field, and then print it with a font of MRV128MSA. Any assistance would be appreciated.

Re: Code128 printing Check Digit in Human Readable Text

PostPosted: Wed Aug 19, 2009 4:11 pm
by glitch
lstarr,

It is not possible to generate correct human readable text in your case, because it is a font based solution and each pattern corresponds to one character. If the check character has corresponding HR text, it will appear.

Note that Mod43 check digit is not the same as Code128 check character. The Mod43 check digit is part of the data encoded into the barcode.

You can work around the problem by using a non-human readable font. This will eliminates the text below the barcode. To add human readable text, place a text box below the barcode and fill with the correct value.

The non-human readable fonts are those without trailing "A" at the end. For example, the corresponding non-human readable font for MRV Code128AMA is MRV Code128M.