Open semireg opened 4 years ago
Please show the options/values used in bwip-js to generate the barcode.
Hi @metafloor, they are linked in the URL above.
https://bwipjs-api.metafloor.com/?bcid=qrcode&text=EX-JEBAJLDLENIALE-2_JB&eclevel=L&scale=2
Please verify the following barcode with your scanner:
I've submitted to my customer. I'll report back when I hear from them. π Thank you!
@metafloor, the customer reports this barcode is not scannable with their scanner. Hmm. π€
@terryburton: Hope you are following this. Comparing the debug output provided for the BWIPP/bwip-js generated symbol:
extractData bytes in (34) = 64,2,9,169,126,144,160,78,171,190,119,240,116,235,169,240,144,13,125,41,8,0,236,17,236,17,236,17,236,17,236,17,236,17
extractData mode = 4
extract charcount = 0
extractData mode = 2
extractAlphanum charcount = 19
extractData mode = 4
extract charcount = 3
extractData mode = 0
Against the TEC-IT symbol:
extractData bytes in (34) = 32,154,151,233,10,4,234,187,231,127,7,78,186,159,9,0,215,210,144,128,236,17,236,17,236,17,236,17,236,17,236,17,236,17
extractData mode = 2
extractAlphanum charcount = 19
extractData mode = 4
extract charcount = 3
extractData mode = 0
Note how the BWIPP symbol starts in mode 4 and encodes zero bytes, then switches to mode 2. I am wondering if that bit of oddness is what the scanner is glitching on. That last barcode that I had the OP check was produced by BWIPP's online generator. It has identical encoding as the original bwip-js symbol. (bwip-js doesn't have all the new ECI updates you've recently added.)
@metafloor:I suspect your analysis is correct. I'm working on the optimisation code now...
@semireg Please could you ask the customer to test the following which has been generated using https://github.com/bwipp/postscriptbarcode/commit/cad3e87bbbff84cdca870cbf914bf7776cc0fbba which fixes the erroneous byte-mode selection for the start:
@terryburton Will do!
The user has confirmed they can scan the latest barcode in this thread. π
The user has confirmed they can scan the latest barcode in this thread.
Good. BWIPP 2020-10-02 released.
Looks like the PS to JS trace compiler is having issues with some of the new code constructs. Will need to do some sleuthing this weekend to track it down...
Working through the PS/JS translation issue is going to take more time than I have right now. So I have patched the current version of BWIPP that is being used by bwip-js with the additional optimization check that was added to the latest release. This is the barcode image produced by the patched version of bwip-js:
It is different from the one Terry uploaded as it is missing the ECI mode (not needed for ASCII data).
@semireg: Please have the customer verify against their scanner.
@terryburton: Thank you for the quick response!
It is different from the one Terry uploaded as it is missing the ECI mode (not needed for ASCII data).
@metafloor LGTM. The only difference it that your symbol is generated with eclevel=L
whereas mine is eclevel=M
.
@metafloor, if you push to a feature branch I'll build a beta for my user to test on Monday morning. Thank you so much.
Not sure why github auto-closed this issue. The patch passes all tests so pushing to the master branch. Please give it a try.
Hi,
I have an interesting bug reported by a user.
Consider these two QR Codes:
Created with BWIP
Created with TEC-IT
As far as I can tell, these should be the "same" but the BWIP version doesn't scan using a "Socket Mobile S740 barcode scanner." For what it's worth, these both scan using built-in iPhone QR scanner.
Here's where it gets interesting ... Using this online decoder/debugger https://qrlogo.kaarposoft.dk/qrdecode.html we see some interesting differences.
BWIP version:
TEC-IT version:
Same decoded bytes... but the thing that caught my eye is BWIP's possibly superfluous:
According to Wikipedia QR Encoding:
4 == 0100 == Byte encoding
Thoughts on this?