Boost Error Correction Level¶
If the user does not provide any --version
or
version
keyword parameter for segno.make()
,
Segno uses the minimal possible (Micro) QR Code symbol with a maximal error
correction level. The QR Code version dominates, meaning that Segno will never
choose a better error correction level if this choice requires a higher (Micro)
QR Code version.
If the user provides the --error
(or
error
keyword for segno.make()
), the error
correction level is treated as minimal error correction level.
To prevent any error correction level enhancement, Segno provides the
--no-error-boost
option and
boost_error=False
option for segno.make()
.
It’s recommended to keep the error level correction boosting, because a better error correction level improves the probability that the QR Code can be read by average QR Code decoders under all circumstances.
Examples¶
Keeping the default (boost error level on):
>>> import segno
>>> qr = segno.make('The Long and Winding Road')
>>> qr.designator
'2-M'
Segno returns a 2-M QR Code (version 2, error correction level “M”).
If the user does not allow any enhancement of the error correction level, Segno returns a 2-L QR Code (version 2, error correction level “L”) which does not optimally exploit the possible error corrections:
>>> import segno
>>> qr = segno.make('The Long and Winding Road', boost_error=False)
>>> qr.designator
'2-L'
As shown, both QR codes use the same version (and are therefore have the same size). However, the first QR code uses a better error correction level (15% vs. 7%) and should be easier to read.