ZXing.Net icon indicating copy to clipboard operation
ZXing.Net copied to clipboard

MSI barcode reading fails

Open rob313663 opened this issue 2 years ago • 0 comments

Hi!

Short version: ZXing fails reading MSI barcodes (generated with SkiaSharp without antialiasing) that the Zebra TC52 Android device can read.

Longer version:

I am writing some code for generating barcodes (just as a hobby project, not open source yet since it is very early and I suck at git).

For the MSI code, I have managed to generate codes with the following checksum variants (hopefully correctly implemented):

public enum MSICheckCharacterAlgorithm { None, Modulo10, IBMModulo11, NCRModulo11, Modulo1010, IBMModulo1110, NCRModulo1110, }

I have managed to verify my output on a Zebra TC52 Android device when using the follow checksum variants (since they are the only ones supported by the device):

Modulo10 (1 checksum char) Modulo1010 (2 checksum chars) IBMModulo1110 (2 checksum chars)

I have tried ZXing 0.16.9 with no check character and with mod 10, but can't get it to read the MSI barcode.

I have looked at MSIReader.cs but the code is a bit too advanced for me too see what could be wrong.

I have also tested MSI codes generated at https://barcode.tec-it.com/ with the TC52 (it can only do mod 10 check characters). I have not tried the images generated by that site in ZXing yet.

I would be happy to help in trying to make ZXing do MSI barcodes better, I could supply images, my source so far, testing with Zebra TC52 and Honeywell CT40.

/rob

rob313663 avatar Sep 22 '23 18:09 rob313663