The only parameter that would technically be considered ignored is the orientation, as in, the orientation will stay the same regardless of its value. However model, magnification, error correction level, and mask all have default values if they are not specified. For example, ^BQN, 2, 10 specifies orientation (ignored), a model value of 2, and a magnification factor of 10. Since the error correction and mask value aren't provided, the default value is assigned to them.
I'm having trouble using parameters 4 (error correction level) and 5 (mask).
It might help to refer to the specific example below. It contains 12 QR codes in 3 columns; each column contains 4 QR codes. The first and second columns use 8 different mask values. The third column uses the 4 different error correction levels. I expected all of these QR codes to look different, but they all look exactly the same. This is why I assumed that these parameters are being ignored: because no matter what value I use, the output doesn't change. Can you provide a counter-example where the parameters do affect the output?
^FX first column
^FO100,100^FDMA,ABC^BQN,2,6,Q,0^FS ^FX mask 0
^FO100,300^FDMA,ABC^BQN,2,6,Q,1^FS ^FX mask 1
^FO100,500^FDMA,ABC^BQN,2,6,Q,2^FS ^FX mask 2
^FO100,700^FDMA,ABC^BQN,2,6,Q,3^FS ^FX mask 3
^FX second column
^FO300,100^FDMA,ABC^BQN,2,6,Q,4^FS ^FX mask 4
^FO300,300^FDMA,ABC^BQN,2,6,Q,5^FS ^FX mask 5
^FO300,500^FDMA,ABC^BQN,2,6,Q,6^FS ^FX mask 6
^FO300,700^FDMA,ABC^BQN,2,6,Q,7^FS ^FX mask 7
^FX third column
^FO500,100^FDA,ABC^BQN,2,6,H^FS ^FX error correction H
^FO500,300^FDA,ABC^BQN,2,6,Q^FS ^FX error correction Q
^FO500,500^FDA,ABC^BQN,2,6,M^FS ^FX error correction M
^FO500,700^FDA,ABC^BQN,2,6,L^FS ^FX error correction L
Have you had a chance to investigate? I'm completely unable to figure out how to use the last two parameters.
After some internal testing, we've found that we were able to print different bar code patterns with the same data, instead of the 12 identical bar codes from the original ZPL. It's important to note the order of commands. We see different QR codes print with the same data as long as:
1) The ^BQ command comes before the ^FD command
2) The required error correction value (H,Q,M,L) and data input setting of (A or M) immediately follow FD
According to the AIM QR Code Specification, mask has many different variables that can determine whether or not it can change a bar code pattern. ZebraDesigner software does not use a mask value in the ZPL it generates even though one can be selected. No value is specified for the mask allowing the default value of 7 to be used.
The print results from the updated code are driven by the error correction value and not the mask value. So as in your original post, the mask value is basically ignored, yes.
Mask values 0,1,2,3
Error correction H,Q,M,L
Mask values 4,5,6,7
Error correction H,Q,M,L
No mask value specified
Error correct H,Q,M,L
Thanks so much for the research and explanation!