2008/4/4 coyotegrin <CoyoteG
...@gmail.com>:
> I was testing out the QR code in Micro mode and ran across a couple of
> issues. Using the 'H' error correction level in M4 version of the QR
> code does not produce a barcode, no matter what data I put in.
Hi.
Thanks for this test case, however the code is behaving correctly -
according to the specification no Micro QR Code symbols support the H
error correction mode.
The list of supported modes for Micro QR code is as follows:
M1 - L (actually it is not referred to a "L" in the specification, but
since level L is our default eclevel it makes sense to map it to this)
M2 - L M
M3 - L M
M4 - L M Q
> Secondly, I noticed that the 'format=' option gets ignored when I put
> in a 'version=' and 'eclevel=' options. Its not as critical, since I
> can just use the "version=M4" option to acchieve the same output, but
> I thought I'd point it out. The following code should produce a micro
> barcode, but instead produces a full QR.
> eg:
> 245 140 moveto (0010001100111001101001100000000000) (format=micro
> version=4 eclevel=L) qrcode barcode
This is almost the intended behaviour, but I perhaps need to ensure
that the documentation is clear (when I get around to writing it ;-).
A "version 4" symbol means precisely a "full QR Code version 4"
symbol. I am declaring that "version" is a unique _string_ that maps
to one particular type of symbol, since it would be technically
incorrect to refer to an M4 symbol as a "version 4" symbol. The main
reason for this clear separation is due to the way that the inputs
must be encoded varying between full and micro types (and even between
different micro versions). For now, I prefer that the user specify
explicitly the micro QR code symbol that they require, although once
we handle the entire encoding process we may be able to relax this
situation.
I will however update the code so that is bombs out if a set of
conflicting options such as this is given, but I'll not commit that
until I have more changes to put into a release.
> I'm continuing the tests, and will tell you if I find anything else!
Excellent, I shall look forward to the results.
It would be good it you could test the M1 and M3 symbols since these
have the peculiarity that the last data codeword is 4 bits rather than
8 which requires some kludging of the final codeword and all error
correction codewords for these symbols - I think that I've done it
right but I do not have the equipment or sufficient examples to
confirm.
Thanks for the good work!
Tez