mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
Add UI options for rMQR
And update manual to include rMQR
This commit is contained in:
parent
ac00e381a6
commit
05784fb9cf
@ -325,6 +325,7 @@ Numeric Value | Barcode Name
|
||||
141 | Code One
|
||||
142 | Grid Matrix
|
||||
143 | UPNQR (Univerzalnega Plačilnega Naloga QR)
|
||||
145 | Rectangular Micro QR Code (rMQR)
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
4.4 Adjusting height
|
||||
@ -1034,6 +1035,7 @@ Value |
|
||||
141 | BARCODE_CODEONE | Code One
|
||||
142 | BARCODE_GRIDMATRIX | Grid Matrix
|
||||
143 | BARCODE_UPNQR | UPNQR (Univerzalnega Plačilnega Naloga QR)
|
||||
145 | BARCODE_RMQR | Rectangular Micro QR Code (rMQR)
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
5.8 Adjusting other output options
|
||||
@ -1963,7 +1965,71 @@ Input | Version | Symbol Size
|
||||
4 | M4 | 17 x 17
|
||||
---------------------------------
|
||||
|
||||
6.6.4 UPNQR (Univerzalnega Plačilnega Naloga QR)
|
||||
6.6.4 Rectangular Micro QR Code (rMQR)
|
||||
--------------------------------------
|
||||
A rectangular version of QR Code. Like QR code rMQR supports encoding of
|
||||
GS-1 data, Latin-1 and Kanji characters in the Shift-JIS encoding scheme.
|
||||
It does not support other ISO 8859 character sets or Unicode. As with other
|
||||
symbologies data should be entered as UTF-8 with the conversion to Shift-JIS
|
||||
being handled by Zint. The amount of ECC codewords can be adjusted using
|
||||
--secure=, however only ECC levels M and H are valid for this type of symbol.
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Input | ECC Level | Error Correction Capacity | Recovery Capacity
|
||||
-------------------------------------------------------------------------
|
||||
2 | M (default) | Approx 37% of symbol | Approx 15%
|
||||
4 | H | Approx 65% of symbol | Approx 30%
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
The preferred symbol sizes can be selected using the --vers= option as shown
|
||||
in the table below. Input values between 33 and 38 fix the height of the
|
||||
symbol while allowing Zint to determine the minimum symbol width.
|
||||
|
||||
---------------------------------
|
||||
Input | Version | Symbol Size
|
||||
---------------------------------
|
||||
1 | R7x43 | 7 x 73
|
||||
2 | R7x59 | 7 x 59
|
||||
3 | R7x77 | 7 x 77
|
||||
4 | R7x99 | 7 x 99
|
||||
5 | R7x139 | 7 x 139
|
||||
6 | R9x43 | 9 x 43
|
||||
7 | R9x59 | 9 x 59
|
||||
8 | R9x77 | 9 x 77
|
||||
9 | R9x99 | 9 x 99
|
||||
10 | R9x139 | 9 x 139
|
||||
11 | R11x27 | 11 x 27
|
||||
12 | R11x43 | 11 x 43
|
||||
13 | R11x59 | 11 x 59
|
||||
14 | R11x77 | 11 x 77
|
||||
15 | R11x99 | 11 x 99
|
||||
16 | R11x139 | 11 x 139
|
||||
17 | R13x27 | 13 x 27
|
||||
18 | R13x43 | 13 x 43
|
||||
19 | R13x59 | 13 x 59
|
||||
20 | R13x77 | 13 x 77
|
||||
21 | R13x99 | 13 x 99
|
||||
22 | R13x139 | 13 x 139
|
||||
23 | R15x43 | 15 x 43
|
||||
24 | R15x59 | 15 x 59
|
||||
25 | R15x77 | 15 x 77
|
||||
26 | R15x99 | 15 x 99
|
||||
27 | R15x139 | 15 x 139
|
||||
28 | R17x43 | 17 x 43
|
||||
29 | R17x59 | 17 x 59
|
||||
30 | R17x77 | 17 x 77
|
||||
31 | R17x99 | 17 x 99
|
||||
32 | R17x139 | 17 x 139
|
||||
---------------------------------
|
||||
33 | Fixed height 7
|
||||
34 | Fixed height 9
|
||||
35 | Fixed height 11
|
||||
36 | Fixed height 13
|
||||
37 | Fixed height 15
|
||||
38 | Fixed height 17
|
||||
---------------------------------
|
||||
|
||||
6.6.5 UPNQR (Univerzalnega Plačilnega Naloga QR)
|
||||
------------------------------------------------
|
||||
A variation of QR Code used by Združenje Bank Slovenije (Bank Association of
|
||||
Slovenia). The size, error correction level and ECI are set by Zint and do not
|
||||
@ -1976,7 +2042,7 @@ The following example creates a symbol from data saved as an ISO-8859-2 file:
|
||||
|
||||
zint -o upnqr.png -b 143 --border=5 --scale=3 --binary -i ./upn.txt
|
||||
|
||||
6.6.5 Maxicode (ISO 16023)
|
||||
6.6.6 Maxicode (ISO 16023)
|
||||
--------------------------
|
||||
Developed by UPS the Maxicode symbology employs a grid of hexagons surrounding
|
||||
a 'bulls-eye' finder pattern. This symbology is designed for the identification
|
||||
@ -2034,7 +2100,7 @@ Mode | Maximum Data Lenth | Maximum Data Length | Number of Error
|
||||
-----------------------------------------------------------------------------
|
||||
* - secondary only
|
||||
|
||||
6.6.6 Aztec Code (ISO 24778)
|
||||
6.6.7 Aztec Code (ISO 24778)
|
||||
----------------------------
|
||||
Invented by Andrew Longacre at Welch Allyn Inc in 1995 the Aztec Code symbol is
|
||||
a matrix symbol with a distinctive bulls-eye finder pattern. Zint can generate
|
||||
@ -2116,13 +2182,13 @@ A separate symbology ID can be used to encode Health Industry Barcode (HIBC)
|
||||
data which adds a leading '+' character and a modulo-49 check digit to the
|
||||
encoded data.
|
||||
|
||||
6.6.7 Aztec Runes
|
||||
6.6.8 Aztec Runes
|
||||
-----------------
|
||||
A truncated version of compact Aztec Code for encoding whole integers between 0
|
||||
and 255. Includes Reed-Solomon error correction. As defined in ISO/IEC 24778
|
||||
Annex A.
|
||||
|
||||
6.6.8 Code One
|
||||
6.6.9 Code One
|
||||
--------------
|
||||
A matrix symbology developed by Ted Williams in 1992 which encodes data in a
|
||||
way similar to Data Matrix ECC200. Code One is able to encode the Latin-1
|
||||
@ -2150,7 +2216,7 @@ Input | Version | Size | Numeric | Alphanumeric
|
||||
Version S symbols can only encode numeric data. The width of version S and
|
||||
version T symbols is determined by the length of the input data.
|
||||
|
||||
6.6.9 Grid Matrix
|
||||
6.6.10 Grid Matrix
|
||||
-----------------
|
||||
By default Grid Matrix supports encoding in Latin-1 and Chinese characters
|
||||
within the GB 2312 standard set to be encoded in a checkerboard pattern. Input
|
||||
@ -2191,7 +2257,7 @@ Mode | Error Correction Capacity
|
||||
5 | Approximately 50%
|
||||
----------------------------------
|
||||
|
||||
6.6.10 DotCode
|
||||
6.6.11 DotCode
|
||||
-------------
|
||||
DotCode uses a grid of dots in a rectangular formation to encode characters up
|
||||
to a maximum of approximately 450 characters (or 900 numeric digits). The
|
||||
@ -2203,7 +2269,7 @@ the image to a larger value than the default (e.g. approx 10) for the dots to
|
||||
be plotted correctly. Approximately 33% of the resulting symbol is comprised of
|
||||
error correction codewords.
|
||||
|
||||
6.6.11 Han Xin Code
|
||||
6.6.12 Han Xin Code
|
||||
-------------------
|
||||
Also known as Chinese Sensible Code, Han Xin is a symbology which is still
|
||||
under
|
||||
|
344
frontend_qt/grpRMQR.ui
Normal file
344
frontend_qt/grpRMQR.ui
Normal file
@ -0,0 +1,344 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>grpRMQR</class>
|
||||
<widget class="QWidget" name="grpRMQR">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>441</width>
|
||||
<height>238</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="grpRMQROptions">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="radRMQRAuto">
|
||||
<property name="text">
|
||||
<string>A&utomatic Resizing</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="radRMQRSize">
|
||||
<property name="text">
|
||||
<string>Adjust Si&ze To:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="cmbRMQRSize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x27</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x27</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17x43</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17x59</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17x77</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17x99</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17x139</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R7x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R9x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R11x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R13x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R15 x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>R17 x Automatic Width</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="radRMQRECC">
|
||||
<property name="text">
|
||||
<string>Add &Error Correction:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="cmbRMQRECC">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>~37% (Level M)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>~65% (Level H)</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="grpRMQRMode">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Data Encoding</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="gridLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>411</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="radRMQRStand">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>S&tandard Mode</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QRadioButton" name="radRMQRGS1">
|
||||
<property name="text">
|
||||
<string>&GS-1 Data Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>radRMQRSize</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>cmbRMQRSize</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>89</x>
|
||||
<y>39</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>255</x>
|
||||
<y>46</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>radRMQRECC</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>cmbRMQRECC</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>95</x>
|
||||
<y>79</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>308</x>
|
||||
<y>79</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
@ -101,7 +101,7 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl)
|
||||
"PLANET",
|
||||
"Postnet",
|
||||
"QR Code (ISO 18004)",
|
||||
"Reduced Micro QR (rMQR)",
|
||||
"Rectangular Micro QR (rMQR)",
|
||||
"Royal Mail 4-state Barcode",
|
||||
"Royal Mail 4-state Mailmark",
|
||||
"Telepen",
|
||||
@ -567,6 +567,23 @@ void MainWindow::change_options()
|
||||
connect(m_optionWidget->findChild<QObject*>("radQRHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
}
|
||||
|
||||
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_RMQR)
|
||||
{
|
||||
QFile file(":/grpRMQR.ui");
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
return;
|
||||
m_optionWidget=uiload.load(&file);
|
||||
file.close();
|
||||
tabMain->insertTab(1,m_optionWidget,tr("rMQR Code"));
|
||||
connect(m_optionWidget->findChild<QObject*>("radRMQRAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("radRMQRSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("radRMQRECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("cmbRMQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("cmbRMQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("radRMQRStand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
connect(m_optionWidget->findChild<QObject*>("radRMQRGS1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
|
||||
}
|
||||
|
||||
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_HANXIN)
|
||||
{
|
||||
QFile file (":/grpHX.ui");
|
||||
@ -979,6 +996,19 @@ void MainWindow::update_preview()
|
||||
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbMQRECC")->currentIndex() + 1);
|
||||
break;
|
||||
|
||||
case BARCODE_RMQR:
|
||||
m_bc.bc.setSymbol(BARCODE_RMQR);
|
||||
|
||||
if(m_optionWidget->findChild<QRadioButton*>("radRMQRGS1")->isChecked())
|
||||
m_bc.bc.setInputMode(GS1_MODE);
|
||||
|
||||
if(m_optionWidget->findChild<QRadioButton*>("radRMQRSize")->isChecked())
|
||||
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbRMQRSize")->currentIndex() + 1);
|
||||
|
||||
if(m_optionWidget->findChild<QRadioButton*>("radRMQRECC")->isChecked())
|
||||
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbRMQRECC")->currentIndex() * 2 + 2);
|
||||
break;
|
||||
|
||||
case BARCODE_GRIDMATRIX:
|
||||
m_bc.bc.setSymbol(BARCODE_GRIDMATRIX);
|
||||
if(m_optionWidget->findChild<QRadioButton*>("radGridSize")->isChecked())
|
||||
|
@ -24,5 +24,6 @@
|
||||
<file>grpHX.ui</file>
|
||||
<file>grpDotCode.ui</file>
|
||||
<file>grpCodablockF.ui</file>
|
||||
<file>grpRMQR.ui</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Loading…
Reference in New Issue
Block a user