New issue 538 by dfarinet: Barcode scanner does not recognize CODABAR
format barcode used for library card
http://code.google.com/p/zxing/issues/detail?id=538
What steps will reproduce the problem?
1. Tried to scan the barcode directly on my library card - no recognition
2. Using online free barcode generator, recreated my library barcode in a
larger image and tried to scan that on computer screen- still no
recognition of the Codabar barcode
3. tried printing the barcode image in a larger size and scan with Barcode
Scanner, still no recognition of Codabar barcode
What is the expected output? What do you see instead?
Just recognize the codabar barcode so I can store it in a card bank
What version of the product are you using? On what operating system?
latest version v3.4, HTC Incredible, Android version Froyo 2.2
Please provide any additional information below.
example of Codabar barcode attached
Attachments:
radTEST.png 1016 bytes
Comment #1 on issue 538 by sro...@gmail.com: Barcode scanner does not
recognize CODABAR format barcode used for library card
http://code.google.com/p/zxing/issues/detail?id=538
Codabar is not enabled in Android mostly because it is almost never used
and might hurt performance slightly. I don't know if there's plan to change
that, though it's simple to make a build that also searches for Codabar if
you like, for your own use.
I needed to do same thing today, so I'm attaching diff which adds CODABAR
to Android.
Hopefully this will save an hour-or-two of poking around to someone who
stumbles upon this issue as I did :-)
Attachments:
zxing-android-codabar-enable.diff 1.2 KB
Yup that's it. How well does it work? Then only reason it could be harmful
is if it causes false positive recognition in other scans. Let me know how
it goes for you.
I'm using zxing on my phone with CODABAR enabled for few weeks now and
haven't seen false positive yet, but I'm mostly testing with CODABAR
barcodes which we have on books in our library.
I'm using changes in comment 2, it works perfectly, don't even need to
change core code
I'm using changes in comment 2 by dpavlin, it works perfectly, don't even
need to change core code, thanks.
Hi, I work for the Contra Costa County Library and we are developing the
ability to check books out using a smart phone. In order to do this, the
phone needs to be able to read our 14 digit codabar barcodes. from reading
the comments above, it looks like the code has already been developed but
may not be included in the current release. Can I ask someone if that is
correct and how I might get you to release the code?
I've see other comments about codabar being problematic because it doesn't
require a check digit. I don't really know much about the standard, but the
barcodes used by most library systems use a 14 digit number with a check
digit. This site gives the information on how the check digit is used for
most library systems: http://www.makebarcode.com/specs/codabar.html
It is included, but not turned on, since it will result in too many false
positives when scanning other formats. You can write an app that asks it to
scan for only ITF, using Intents.
Could a setting be added for users to turn it on, instead of just telling
them to write their own apps?
We require Codabar on Android, iOS and Windows phones but it seems to be disabled on iOS by zxing. Is the Apple phone somehow inferior to 1960's technology for scanning?
Is there a way to turn on/off codes that we want to use/ignore - perhaps even to reduce application size - that we could use to turn it back on?
We want to maintain a single unified code base for all 3 phones and we thought we found it with zxing, but not being able to read across all devices seems to be a non-starter for zxing - is there another way to use zxing to accomplish reading both QR and Codabar on all 3 phones?
I added Codabar some years ago but during testing we also found out it generates a lot of false positives because it is very similar to other 1D barcodes and does not have any minimum length or checksums build in.
That is why it was disabled, besides the fact that it is not as popular as other types.
If you maintain your own codebase you might consider forking the project and just building it yourself with the codabar settings turned on.
You could also try to send a request to have to iOS version updated so that it works in the same way as Android. Those settings should be similar.