chickadee » qrencode

qrencode

Self-contained high-level bindings to libqrencode. Does not support structured appending at the moment.

Requirements

None

Documentation

(QR-encode-string string [version] [level] [encoding] [case-sensitive?]) procedure
(MQR-encode-string string [version] [level] [encoding] [case-sensitive?]) procedure

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.

(MQR-encode-string-8bit string [version] [level]) procedure
(QR-encode-string-8bit string [version] [level]) procedure

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.

(QR-encode-data u8vector [version] [level]) procedure
(MQR-encode-data u8vector [version] [level]) procedure

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

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

Contents »