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