Warning, /frameworks/prison/README.md is written in an unsupported language. File is not indexed.

0001 # Prison
0002 
0003 A barcode abstraction layer providing uniform access to generation of barcodes with data
0004 
0005 ## Introduction
0006 
0007 Prison has a Prison::AbstractBarcode, which is the base class for the actual
0008 barcode generators. Prison currently implements barcode generators for the following formats:
0009 
0010 - QRCode
0011 - Data Matrix
0012 - Aztec
0013 - Code39
0014 - Code93
0015 - [Code128](https://en.wikipedia.org/wiki/Code_128)
0016 - [PDF417](https://en.wikipedia.org/wiki/PDF417) (ISO/IEC 15438)
0017 - [EAN13](https://en.wikipedia.org/wiki/International_Article_Number)
0018 
0019 Prison currently ships the org.kde.prison.Barcode QML element that can be used to render barcodes in QML code.
0020 
0021 ## Supported Barcode types
0022 
0023 There are basically two types of barcodes:
0024 * barcodes that carry the data
0025 * barcodes that carry a lookup number, and require a specific server to
0026   look up the actual data.
0027 
0028 Prison isn't as such designed for the latter, it will probably work, but
0029 patches implementing barcode support for such barcodes will not be accepted.
0030 An example is [EZCode](https://en.wikipedia.org/wiki/EZcode).
0031 
0032 Prison is currently using [libdmtx](https://github.com/dmtx/libdmtx) for generation of
0033 [DataMatrix](https://en.wikipedia.org/wiki/Datamatrix) barcodes,
0034 [libqrencode](https://fukuchi.org/works/qrencode/) for generation
0035 of [QRCode](https://en.wikipedia.org/wiki/QR_Code) barcodes and
0036 [ZXing](https://github.com/nu-book/zxing-cpp) for generating
0037 [EAN13 and PDF417](https://en.wikipedia.org/wiki/PDF417) barcodes.
0038 
0039 # Prison Scanner
0040 
0041 A barcode scanner consuming a live video feed from QtMultimedia.
0042 
0043 ## Introduction
0044 
0045 Prison's barcode scanner can be used from C++ code using the Prison::VideoScanner
0046 class, or from QML using the org.kde.prison.scanner.VideoScanner QML element.
0047 
0048 There are standalone QML examples in tests/scanner-qt(5|6).qml demonstrating
0049 the QML API.
0050 
0051 ## Supported barcode formats
0052 
0053 Barcode detection is implemented using the [ZXing](https://github.com/nu-book/zxing-cpp)
0054 library, all formats supported by ZXing can be detected.