Skip to content
libqrencode bindings for CHICKEN Scheme
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
qrencode
.gitignore
LICENCE.txt
README.md
qrencode.meta
qrencode.release-info
qrencode.scm
qrencode.setup

README.md

qrencode

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

Installation

This repository is a CHICKEN Scheme egg.

It is part of the CHICKEN egg index and can be installed with chicken-install qrencode.

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

You can’t perform that action at this time.