# Data Matrix
This is a software library that enables programs to write Data Matrix barcodes of the modern ECC200 variety.
## Installation
```exs
def deps do
[
{:data_matrix, "~> 0.1.0"}
]
end
```
## Rendering options
There are currently two formats available: `:svg` and `:text`.
### SVG options
| Option name | Default value |
| --- | --- |
| `width` | auto |
| `height` | auto |
| `viewbox` | `false` |
| `module_size` | `5` |
| `color` | `"black"` |
| `background` | `"white"` |
### Text options
| Option name | Default value |
| --- | --- |
| `zero` | `"0"` |
| `one` | `"1"` |
| `newline` | `"\n"` |
| `separator` | `""` |
## Example
```ex
data = "123456"
svg =
data
|> DataMatrix.encode()
|> DataMatrix.format(:svg, color: "#6e4a7e", background: "aliceblue", width: 200)
File.write!("square.svg", svg)
```
<img src="./docs/figures/example_square.svg" alt="Example square Data Matrix">
```ex
matrix = DataMatrix.encode("A1B2C3D4E5F6G7H8I9J0K1L2", quiet_zone: 2, type: :rectangle)
File.write("rectangular.svg", DataMatrix.format(matrix, :svg, module_size: 8))
```
<img src="./docs/figures/example_rectangular.svg" alt="Example rectangular Data Matrix">