1
mirror of https://gitlab.com/jessieh/qrprinter.git synced 2024-11-14 03:41:47 +00:00
qrprinter/README.md
2021-12-11 20:42:02 -05:00

2.1 KiB

qrprinter

A wrapper for libqrencode that provides an easy way of encoding and printing strings as QR codes from Lua.

This uses LuaJIT's FFI library, and so will not run in PUC Lua implementations.

Written in Fennel.

Test Status Code Coverage

Installation

Install dependencies:

# Debian/Ubuntu:
apt install libqrencode-dev

# Alpine:
apk add gcompat libqrencode-dev

Install with luarocks:

luarocks install qrprinter

For a list of available versions, see the luarocks module page.

Example Usage

Documentation

Encoding

qrprinter.encode_string

qrprinter.encode_string( string )

Encodes string into a table representing a QR code.
Returns a two-dimensional sequential table of true/false values representing black/white QR modules.

Printing

All print functions accept an optional table options that may contain two keys:

  • invert: If non-nil, the output colors will be inverted
  • padding: Number of blanks cells to print around the QR code (default 2)

qrprinter.print_qr

qrprinter.print_qr( qr, [options] )

Print qr to stdout using ANSI escape sequences.
Alias of qrprinter.print_qr_ansi.

qrprinter.print_qr_ascii

qrprinter.print_qr_ascii( qr, [options] )

Print qr to stdout using ASCII characters.

qrprinter.print_qr_ansi

qrprinter.print_qr_ansi( qr, [options] )

Print qr to stdout using ANSI escape sequences.

qrprinter.print_qr_utf8

qrprinter.print_qr_utf8( qr, [options] )

Print qr to stdout using UTF8 block elements.

Testing

The Fennel code needs to be compiled before tests can be run:

# Build the project:
luarocks build

# Now you can run tests:
luarocks test