Advice on modifying ZXing to bypass error correction checking

154 views
Skip to first unread message

Amhar Ford

unread,
Jul 14, 2018, 8:06:20 AM7/14/18
to zxing
Hi there,

I want to implement the ZXing library but with the modification to bypass error correction code checking on 2D formats that require this; I want to use more space for the actual data byte encoding. Although this is not fully in line with the ISO guidelines (in this case I'm working with DataMatrix so ISO 16022:2006), for the use case I am looking into there is very little risk of data erasure. So there's lots of space to be saved for data encoding by omitting error correction codewords. Which classes/functions do you think should be modified to achieve this? If it helps to narrow down I want to solve for the DataMatrix format for the time being.

Looking forward to any useful tips on how to achieve this. Many thanks.

Amhar Ford

unread,
Jul 18, 2018, 4:55:17 PM7/18/18
to zxing
Hi all,


Just a friendly nudge to anyone out there with the expertise who is willing to help me on this.

If you'd like some more context I'd be happy to catch up offline.

In the meantime I would greatly appreciate any advice. Many thanks

gjs

unread,
Jul 19, 2018, 4:11:04 AM7/19/18
to zxing
Hi,

According to https://en.m.wikipedia.org/wiki/Data_Matrix ec000 already supports no error correction mode so you'd just need to work out if zxing works with that variant.

And no I'm not interested in helping out, bypassing EC for extra data isn't worth the hassle of lost data integrity.

Regards

Zayin Krige

unread,
Jul 19, 2018, 11:32:47 AM7/19/18
to zxing
I would be interested in looking at this. I want to reduce error checking on pdf417 barcodes



Sent from a mobile device. Please excuse brevity, punctuation and grammar
> --
> You received this message because you are subscribed to the Google Groups "zxing" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to zxing+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Sean Owen

unread,
Jul 20, 2018, 2:47:45 PM7/20/18
to zxing
The library won't support it, because it's not in the spec and not a great idea. But you can hack the code to do what you want. Just take out the part that adds the EC codewords.

Zayin Krige

unread,
Jul 23, 2018, 1:15:47 AM7/23/18
to zxing
Out of interest, the South African drivers license barcode seems to
use this “broken” format as a feature. We’re trying to build something
that can reliably scan these licenses. I’ve attached a sample.

If anyone has any way of getting it to scan, I’m happy to pay for the
work needed to make zxing scan it
> --
> You received this message because you are subscribed to the Google Groups
> "zxing" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to zxing+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Zayin Krige
twitter : zkrige
http://www.apextechnology.co.za
barcode.png

Amhar Ford

unread,
Jul 23, 2018, 10:26:41 AM7/23/18
to Zayin Krige, zxing
Hi everyone, 

Sorry for the delay in getting back to you on this

@gjs; absolutely agree on the data integrity risk and thanks for emphasizing this. But this is a very experimental 'hacky' approach I am taking here. 

@srowen; thank you for the pointers, very much appreciated. Can I just clarify when you say the 'part that add EC codewords' can i confirm with you that you mean the datamatrix/decoder/Decoder.java class (line 87-122)?

@zayin; have a look here and here as PDF417 performs it error correction somewhat differently than other 'square' 2D barcodes.

Have a nice day

On Mon, Jul 23, 2018 at 7:15 AM, Zayin Krige <za...@krige.org> wrote:
Out of interest, the South African drivers license barcode seems to
use this “broken” format as a feature. We’re trying to build something
that can reliably scan these licenses. I’ve attached a sample.

If anyone has any way of getting it to scan, I’m happy to pay for the
work needed to make zxing scan it

On Fri, Jul 20, 2018 at 8:47 PM, Sean Owen <sro...@gmail.com> wrote:
> The library won't support it, because it's not in the spec and not a great
> idea. But you can hack the code to do what you want. Just take out the part
> that adds the EC codewords.
>
> --
> You received this message because you are subscribed to the Google Groups
> "zxing" group.
> To unsubscribe from this group and stop receiving emails from it, send an

> For more options, visit https://groups.google.com/d/optout.



--
Zayin Krige
twitter : zkrige
http://www.apextechnology.co.za
--
You received this message because you are subscribed to the Google Groups "zxing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zxing+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages