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.