Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
qrencode
Self-contained high-level bindings to libqrencode. Does not support structured appending at the moment.
Requirements
None
Documentation
[procedure] (QR-encode-string string [version] [level] [encoding] [case-sensitive?])[procedure] (MQR-encode-string string [version] [level] [encoding] [case-sensitive?])
Encodes the given string into a QR code. Returns two values: a u8vector containing the pixel values of the QR code (255 for white and 0 for black) and the number of pixels per row/column of the code. version is the desired QR version (between 0 and 40 or 0 and 4 for Micro QR, with 0 being automatic, defaults to 0). level is the level of error correction (between 0 and 3, defaults to 2). encoding is the encoding type and should be one of #:numeric, #:alpha-numeric, #:8-bit, #:kanji, #:eci, #:fnc-first, or #:fnc-second (defaults to #:8-bit). case-sensitive? is a boolean, defaulting to #t.
The string must be short enough to be encoded using the given version, level, encoding, and case-sensitive?. Otherwise an error will be thrown.
MQR-encode-string is the Micro QR version of QR-encode-string.
[procedure] (MQR-encode-string-8bit string [version] [level])[procedure] (QR-encode-string-8bit string [version] [level])
Encodes the given string into a QR code in 8 bit mode. Returns two values: a u8vector containing the pixel values of the QR code (255 for white and 0 for black) and the number of pixels per row/column of the code. version is the desired QR version (between 0 and 40 or 0 and 4 for Micro QR, with 0 being automatic, defaults to 0). level is the level of error correction (between 0 and 3, defaults to 2).
The string must be short enough to be encoded using the given version and level. Otherwise an error will be thrown.
MQR-encode-string-8bit is the Micro QR version of QR-encode-string-8bit.
[procedure] (QR-encode-data u8vector [version] [level])[procedure] (MQR-encode-data u8vector [version] [level])
Encodes the given u8vector into a QR code. Returns two values: a u8vector containing the pixel values of the QR code (255 for white and 0 for black) and the number of pixels per row/column of the code. version is the desired QR version (between 0 and 40 or 0 and 4 for Micro QR, with 0 being automatic, defaults to 0). level is the level of error correction (between 0 and 3, defaults to 2).
The data must be short enough to be encoded using the given version and level. Otherwise an error will be thrown.
MQR-encode-data is the Micro QR version of QR-encode-data.
Examples
(QR-encode-string "hello world!")
You can also try running ./examples/encode-ascii.scm "STRING TO ENCODE" to create an ASCII QR code, like so:
############## ## ######## ############## ## ## ## ## #### ## ## ## ###### ## ## ######## ## ###### ## ## ###### ## ## ## ## #### ## ###### ## ## ###### ## #### ######## ## ###### ## ## ## ## #### ## ## ############## ## ## ## ## ## ############## #### ######## ## #### ###### ###### ## #### ###### ## ## ## #### ## ## ## ## ######## #### ########## #### ## ###### ## ## ###### ## #### ## #### ## ## ## ###### ## ## #### ## ## #### ## ######## ## ###################### ## ######## ## #### ## ###### ######## ######## ## ## ###### ## ############ ## ## ## ## ## ## ## ############## ## #### #### ## #### ## ## ## #### ## ## ## #### ## ###### ## ###### ################ #### ## ###### ## ######## ## ## #### ## ## ###### ## ## ## ###### #### ## ## #### ## #### #### ###### ############## ###### #### ## ##########
Version history
Version 0.1.0
- Initial release
Source repository
Source available on GitHub.
Bug reports and patches welcome! Bugs can be reported via GitHub or to alex.n.charlton at gmail.
Author
Alex Charlton
License
BSD-2-Clause