composite: less confusing error message for no linear data

GUI: restore mainWindow min width to allow squashability
GUI/manual: use EAN and UPC initials first rather than long names
  (easier to spot)
This commit is contained in:
gitlost 2022-06-11 12:28:48 +01:00
parent 270f1d136c
commit a232dec4ff
12 changed files with 39 additions and 31 deletions

View file

@ -1298,7 +1298,7 @@ INTERNAL int composite(struct zint_symbol *symbol, unsigned char source[], int l
error_number = 0;
pri_len = (int) strlen(symbol->primary);
if (pri_len == 0) {
strcpy(symbol->errtxt, "445: No primary (linear) message in 2D composite");
strcpy(symbol->errtxt, "445: No primary (linear) message");
return ZINT_ERROR_INVALID_OPTION; /* TODO: change to more appropiate ZINT_ERROR_INVALID_DATA */
}

View file

@ -3397,7 +3397,7 @@ static void test_input(int index, int debug) {
/* 94*/ { BARCODE_DBAR_OMNSTK_CC, GS1NOCHECK_MODE, -1, -1, -1, "12345678901231", "[20]1A", 0, 11, 56, "" },
/* 95*/ { BARCODE_DBAR_OMNSTK_CC, -1, -1, -1, -1, "12345678901231", "[02]12345678901234", ZINT_WARN_NONCOMPLIANT, 11, 56, "Warning 261: AI (02) position 14: Bad checksum '4', expected '1' in 2D component" },
/* 96*/ { BARCODE_DBAR_OMNSTK_CC, GS1NOCHECK_MODE, -1, -1, -1, "12345678901231", "[02]12345678901234", 0, 11, 56, "" },
/* 97*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, "", "[20]12", ZINT_ERROR_INVALID_OPTION, -1, -1, "Error 445: No primary (linear) message in 2D composite" },
/* 97*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, "", "[20]12", ZINT_ERROR_INVALID_OPTION, -1, -1, "Error 445: No primary (linear) message" },
/* 98*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, "[01]12345678901231", "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, 31, 273, "" }, // Tries CC-A then CC-B then CC-C - ensure errtxt empty
/* 99*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, "[01]12345678901231[90]123456789012345678901234567890[91]1234567890123456789012345678901234567890123456789012345678901234", "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[94]123456789012345678901234567890123456789012345678901234567890123", 0, 29, 702, "" }, // Max linear and CC-C input
/*100*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1,"[01]12345678901231[90]123456789012345678901234567890[91]1234567890123456789012345678901234567890123456789012345678901234", "[91]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[92]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[93]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[94]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[95]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[96]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[97]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[98]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[99]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[91]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[92]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[93]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[94]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[95]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL[96]ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL", ZINT_ERROR_TOO_LONG, -1, -1, "Error 442: Input too long for selected 2D component" }, // Max linear and oversized CC-C input

View file

@ -350,7 +350,7 @@ static void test_input_data(int index, int debug) {
/* 2*/ { BARCODE_GS1_128, -1, "", -1, "", ZINT_ERROR_INVALID_DATA, "Error 778: No input data" },
/* 3*/ { BARCODE_GS1_128_CC, -1, "[01]12345678901231", -1, "[10]121212", 0, "" },
/* 4*/ { BARCODE_GS1_128_CC, -1, "[01]12345678901231", -1, "", ZINT_ERROR_INVALID_DATA, "Error 779: No composite data in 2D component" },
/* 5*/ { BARCODE_GS1_128_CC, -1, "", -1, "[10]121212", ZINT_ERROR_INVALID_OPTION, "Error 445: No primary (linear) message in 2D composite" },
/* 5*/ { BARCODE_GS1_128_CC, -1, "", -1, "[10]121212", ZINT_ERROR_INVALID_OPTION, "Error 445: No primary (linear) message" },
/* 6*/ { BARCODE_DATAMATRIX, -1, "", -1, "", ZINT_ERROR_INVALID_DATA, "Error 778: No input data (segment 0 empty)" },
};
int data_size = ARRAY_SIZE(data);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 272 KiB

View file

@ -545,7 +545,7 @@ Value
9 `BARCODE_EXCODE39` Extended Code 3 of 9 (Code 39+)
13 `BARCODE_EANX` EAN (including EAN-8 and EAN-13)
13 `BARCODE_EANX` EAN (EAN-2, EAN-5, EAN-8 and EAN-13)
14 `BARCODE_EANX_CHK` EAN + Check Digit
@ -811,9 +811,9 @@ A `--quietzones` option is also available which adds quiet zones compliant with
the symbology's specification. This is in addition to any whitespace specified
with the `--whitesp` or `--vwhitesp` switches.
Note that Codablock-F, Code 16K, Code 49, ITF-14, EAN-13, EAN-8, EAN-5, EAN-2,
ISBN, UPC-A and UPC-E have compliant quiet zones added by default. This can be
disabled with the option `--noquietzones`.
Note that Codablock-F, Code 16K, Code 49, ITF-14, EAN-2 to EAN-13, ISBN, UPC-A
and UPC-E have compliant quiet zones added by default. This can be disabled with
the option `--noquietzones`.
## 4.6 Adding Boundary Bars and Boxes
@ -1986,8 +1986,8 @@ Table: API `output_options` Values {#tbl:api_output_options tag="$ $"}
[^6]: The `BARCODE_BIND` flag is always set for Codablock-F, Code 16K and Code
49. Special considerations apply to ITF-14 - see [6.1.2.6 ITF-14].
[^7]: Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN, ITF-14,
UPC-A and UPC-E have compliant quiet zones added by default.
[^7]: Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN, ITF-14, UPC-A and
UPC-E have compliant quiet zones added by default.
\clearpage
@ -2346,7 +2346,7 @@ Identcode is based on Interleaved Code 2 of 5 and is used by Deutsche Post for
mailing purposes. Identcode requires an 11-digit numerical input and includes a
check digit.
### 6.1.3 Universal Product Code (ISO 15420)
### 6.1.3 UPC (Universal Product Code) (ISO 15420)
#### 6.1.3.1 UPC Version A
@ -2413,7 +2413,7 @@ the X-dimension by setting `--addongap` (API `option_2`) to a value between 7
the main bars can be adjusted by setting `--guarddescent` (API `guard_descent`)
to a value between 0 and 20 (default 5).
### 6.1.4 European Article Number (ISO 15420)
### 6.1.4 EAN (European Article Number) (ISO 15420)
#### 6.1.4.1 EAN-2, EAN-5, EAN-8 and EAN-13
@ -3051,8 +3051,8 @@ ZBarcode_Encode_and_Print(my_symbol, "[99]1234-abcd", 0, 0);
```
EAN-2 and EAN-5 add-on data can be used with EAN and UPC symbols using the +
symbol as described in sections [6.1.3 Universal Product Code (ISO 15420)] and
[6.1.4 European Article Number (ISO 15420)].
symbol as described in sections [6.1.3 UPC (Universal Product Code) (ISO 15420)]
and [6.1.4 EAN (European Article Number) (ISO 15420)].
The 2D component of a composite symbol can use one of three systems: CC-A, CC-B
and CC-C, as described below. The 2D component type can be selected

View file

@ -80,10 +80,10 @@ June 2022
- 6.1.2.6 ITF-14
- 6.1.2.7 Deutsche Post Leitcode
- 6.1.2.8 Deutsche Post Identcode
- 6.1.3 Universal Product Code (ISO 15420)
- 6.1.3 UPC (Universal Product Code) (ISO 15420)
- 6.1.3.1 UPC Version A
- 6.1.3.2 UPC Version E
- 6.1.4 European Article Number (ISO 15420)
- 6.1.4 EAN (European Article Number) (ISO 15420)
- 6.1.4.1 EAN-2, EAN-5, EAN-8 and EAN-13
- 6.1.4.2 SBN, ISBN and ISBN-13
- 6.1.5 Plessey
@ -683,7 +683,7 @@ underscores are optional.
9 BARCODE_EXCODE39 Extended Code 3 of 9 (Code 39+)
13 BARCODE_EANX EAN (including EAN-8 and EAN-13)
13 BARCODE_EANX EAN (EAN-2, EAN-5, EAN-8 and EAN-13)
14 BARCODE_EANX_CHK EAN + Check Digit
@ -928,9 +928,9 @@ A --quietzones option is also available which adds quiet zones compliant with
the symbologys specification. This is in addition to any whitespace specified
with the --whitesp or --vwhitesp switches.
Note that Codablock-F, Code 16K, Code 49, ITF-14, EAN-13, EAN-8, EAN-5, EAN-2,
ISBN, UPC-A and UPC-E have compliant quiet zones added by default. This can be
disabled with the option --noquietzones.
Note that Codablock-F, Code 16K, Code 49, ITF-14, EAN-2 to EAN-13, ISBN, UPC-A
and UPC-E have compliant quiet zones added by default. This can be disabled with
the option --noquietzones.
4.6 Adding Boundary Bars and Boxes
@ -2338,7 +2338,7 @@ Identcode is based on Interleaved Code 2 of 5 and is used by Deutsche Post for
mailing purposes. Identcode requires an 11-digit numerical input and includes a
check digit.
6.1.3 Universal Product Code (ISO 15420)
6.1.3 UPC (Universal Product Code) (ISO 15420)
6.1.3.1 UPC Version A
@ -2396,7 +2396,7 @@ and 12. The height in X-dimensions that the guard bars descend below the main
bars can be adjusted by setting --guarddescent (API guard_descent) to a value
between 0 and 20 (default 5).
6.1.4 European Article Number (ISO 15420)
6.1.4 EAN (European Article Number) (ISO 15420)
6.1.4.1 EAN-2, EAN-5, EAN-8 and EAN-13
@ -2995,8 +2995,8 @@ be achieved using the API as shown below:
ZBarcode_Encode_and_Print(my_symbol, "[99]1234-abcd", 0, 0);
EAN-2 and EAN-5 add-on data can be used with EAN and UPC symbols using the +
symbol as described in sections 6.1.3 Universal Product Code (ISO 15420) and
6.1.4 European Article Number (ISO 15420).
symbol as described in sections 6.1.3 UPC (Universal Product Code) (ISO 15420)
and 6.1.4 EAN (European Article Number) (ISO 15420).
The 2D component of a composite symbol can use one of three systems: CC-A, CC-B
and CC-C, as described below. The 2D component type can be selected

View file

@ -11,6 +11,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>360</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
<string>Zint Barcode Studio</string>
</property>
@ -512,7 +518,7 @@ for this symbology to defaults</string>
<string>GS1 Composite symbol settings</string>
</property>
<property name="title">
<string>GS1 Composite Code</string>
<string>GS1 Composite</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
@ -1818,7 +1824,8 @@ in X-dimensions</string>
<item row="5" column="0">
<widget class="QLabel" name="lblScale">
<property name="toolTip">
<string>Image scale when output to file</string>
<string>Image scale when output to file
(adjusts the X-dimension)</string>
</property>
<property name="text">
<string>&amp;Printing Scale:</string>
@ -1834,7 +1841,8 @@ in X-dimensions</string>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="spnScale">
<property name="toolTip">
<string>Image scale when output to file</string>
<string>Image scale when output to file
(adjusts the X-dimension)</string>
</property>
<property name="suffix">
<string/>

View file

@ -96,9 +96,9 @@ static const struct bstyle_item bstyle_items[] = {
{ QSL("DotCode"), BARCODE_DOTCODE },
{ QSL("DPD Code"), BARCODE_DPD },
{ QSL("Dutch Post KIX"), BARCODE_KIX },
{ QSL("EAN (EAN-2, EAN-5, EAN-8 and EAN-13) (ISO 15420)"), BARCODE_EANX },
{ QSL("EAN-14"), BARCODE_EAN14 },
{ QSL("European Article Number (EAN) (ISO 15420)"), BARCODE_EANX },
{ QSL("Facing Identification Mark (FIM)"), BARCODE_FIM },
{ QSL("FIM (Facing Identification Mark)"), BARCODE_FIM },
{ QSL("Flattermarken"), BARCODE_FLAT },
{ QSL("Grid Matrix"), BARCODE_GRIDMATRIX },
{ QSL("GS1 DataBar Expanded (ISO 24724)"), BARCODE_DBAR_EXP },
@ -108,7 +108,7 @@ static const struct bstyle_item bstyle_items[] = {
{ QSL("GS1 DataBar Stacked (ISO 24724)"), BARCODE_DBAR_STK },
{ QSL("GS1 DataBar Stacked Omnidirectional (ISO 24724)"), BARCODE_DBAR_OMNSTK },
{ QSL("Han Xin (Chinese Sensible) Code (ISO 20830)"), BARCODE_HANXIN },
{ QSL("International Standard Book Number (ISBN)"), BARCODE_ISBNX },
{ QSL("ISBN (International Standard Book Number)"), BARCODE_ISBNX },
{ QSL("ITF-14"), BARCODE_ITF14 },
{ QSL("Japanese Postal Barcode"), BARCODE_JAPANPOST },
{ QSL("Korean Postal Barcode"), BARCODE_KOREAPOST },
@ -132,8 +132,8 @@ static const struct bstyle_item bstyle_items[] = {
{ QSL("Telepen Numeric"), BARCODE_TELEPEN_NUM },
{ QSL("UK Plessey"), BARCODE_PLESSEY },
{ QSL("Ultracode"), BARCODE_ULTRA },
{ QSL("Universal Product Code (UPC-A) (ISO 15420)"), BARCODE_UPCA },
{ QSL("Universal Product Code (UPC-E) (ISO 15420)"), BARCODE_UPCE },
{ QSL("UPC-A (ISO 15420)"), BARCODE_UPCA },
{ QSL("UPC-E (ISO 15420)"), BARCODE_UPCE },
{ QSL("UPNQR"), BARCODE_UPNQR },
{ QSL("USPS Intelligent Mail (OneCode)"), BARCODE_USPS_IMAIL },
{ QSL("VIN (Vehicle Identification Number)"), BARCODE_VIN },