# <img src="../../raw/assets/icon.png" width=75> qrprinter

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

Written in [Fennel](https://fennel-lang.org).

## Installation

Install with [luarocks](https://luarocks.org):

```bash
luarocks install qrprinter
```

## Example Usage

<img src="../../raw/assets/demo.png" width=500>

## Documentation

### Encoding

#### qrprinter.encode_string
```
qrprinter.encode_string( string )
```
Encodes `string` into a table representing a QR code.

Returns a 2D 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.