diff --git a/backend/composite.c b/backend/composite.c
index 4807429a..cfb1564e 100644
--- a/backend/composite.c
+++ b/backend/composite.c
@@ -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 */
}
diff --git a/backend/tests/test_composite.c b/backend/tests/test_composite.c
index 581d007e..d8a0711a 100644
--- a/backend/tests/test_composite.c
+++ b/backend/tests/test_composite.c
@@ -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
diff --git a/backend/tests/test_library.c b/backend/tests/test_library.c
index bafdd49e..e4e596ad 100644
--- a/backend/tests/test_library.c
+++ b/backend/tests/test_library.c
@@ -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);
diff --git a/docs/images/gui_appearance.png b/docs/images/gui_appearance.png
index 28d23095..eac79608 100644
Binary files a/docs/images/gui_appearance.png and b/docs/images/gui_appearance.png differ
diff --git a/docs/images/gui_aztec.png b/docs/images/gui_aztec.png
index 3220a558..d99d41e4 100644
Binary files a/docs/images/gui_aztec.png and b/docs/images/gui_aztec.png differ
diff --git a/docs/images/gui_composite.png b/docs/images/gui_composite.png
index 4c739be2..fa78b8ef 100644
Binary files a/docs/images/gui_composite.png and b/docs/images/gui_composite.png differ
diff --git a/docs/images/gui_main.png b/docs/images/gui_main.png
index f11d01c4..0430e9c3 100644
Binary files a/docs/images/gui_main.png and b/docs/images/gui_main.png differ
diff --git a/docs/images/gui_segs.png b/docs/images/gui_segs.png
index 178e7a7f..366067bf 100644
Binary files a/docs/images/gui_segs.png and b/docs/images/gui_segs.png differ
diff --git a/docs/manual.pmd b/docs/manual.pmd
index 90a89092..8119ab5c 100644
--- a/docs/manual.pmd
+++ b/docs/manual.pmd
@@ -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
diff --git a/docs/manual.txt b/docs/manual.txt
index 246f3b32..104feb4f 100644
--- a/docs/manual.txt
+++ b/docs/manual.txt
@@ -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 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
@@ -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
diff --git a/frontend_qt/mainWindow.ui b/frontend_qt/mainWindow.ui
index 1e80564a..b0c51c06 100644
--- a/frontend_qt/mainWindow.ui
+++ b/frontend_qt/mainWindow.ui
@@ -11,6 +11,12 @@
0
+
+
+ 360
+ 0
+
+
Zint Barcode Studio
@@ -512,7 +518,7 @@ for this symbology to defaults
GS1 Composite symbol settings
- GS1 Composite Code
+ GS1 Composite
-
@@ -1818,7 +1824,8 @@ in X-dimensions
-
- Image scale when output to file
+ Image scale when output to file
+(adjusts the X-dimension)
&Printing Scale:
@@ -1834,7 +1841,8 @@ in X-dimensions
-
- Image scale when output to file
+ Image scale when output to file
+(adjusts the X-dimension)
diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp
index 39aaf2df..9aded534 100644
--- a/frontend_qt/mainwindow.cpp
+++ b/frontend_qt/mainwindow.cpp
@@ -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 },