CODEONE: fix S/T quiet zone 1X bottom (props BWIPP issue #245 doc)

GUI: fix Text Gap suffix, add "in X-dimensions" to tooltip;
  save/restore Preview Background color dialog geometry &
  dynamically show colour in preview on changing
manual: Composite -> GS1 Composite; add some verbiage re Symbology
  tab & Sequence Dialog
This commit is contained in:
gitlost 2023-07-08 01:02:51 +01:00
parent 71914ba99f
commit bbad6d3d83
9 changed files with 141 additions and 101 deletions

View File

@ -98,6 +98,7 @@ Bugs
- Composites: fix excess whitespace; fix quiet zone calcs to allow for linear - Composites: fix excess whitespace; fix quiet zone calcs to allow for linear
shifting shifting
- GUI: fix not enabling font combo "Small Bold (vector only)" by default - GUI: fix not enabling font combo "Small Bold (vector only)" by default
- CODEONE: fix S/T quiet zone 1X bottom (props BWIPP issue #245 doc)
Version 2.12.0 (2022-12-12) Version 2.12.0 (2022-12-12)

View File

@ -621,7 +621,7 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
case BARCODE_CODEONE: case BARCODE_CODEONE:
/* USS Code One AIM 1994 Section 2.2.4 No quiet zone required for Versions A to H */ /* USS Code One AIM 1994 Section 2.2.4 No quiet zone required for Versions A to H */
if (symbol->option_2 == 9 || symbol->option_2 == 10) { /* Section 2.3.2 Versions S & T */ if (symbol->option_2 == 9 || symbol->option_2 == 10) { /* Section 2.3.2 Versions S & T */
*left = *right = 1.0f; *left = *right = *bottom = 1.0f;
} }
done = 1; done = 1;
break; break;

View File

@ -1769,17 +1769,18 @@ static void test_quiet_zones(const testCtx *const p_ctx) {
/*291*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 1 /*set*/, 0, 6, 0, 2 }, /*291*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 1 /*set*/, 0, 6, 0, 2 },
/*292*/ { BARCODE_CODEONE, BARCODE_NO_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 1 /*set*/, 0, 6, 0, 2 }, /*292*/ { BARCODE_CODEONE, BARCODE_NO_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 1 /*set*/, 0, 6, 0, 2 },
/*293*/ { BARCODE_CODEONE, -1, -1, 9, -1, "1234", "", 0, 8, 8, 11, 22, 16, 1 /*set*/, 10, 16, 0, 2 }, /* Version S (& T) have quiet zones */ /*293*/ { BARCODE_CODEONE, -1, -1, 9, -1, "1234", "", 0, 8, 8, 11, 22, 16, 1 /*set*/, 10, 16, 0, 2 }, /* Version S (& T) have quiet zones */
/*294*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 16, 0 /*set*/, 0, 16, 0, 2 }, /*294*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 18, 0 /*set*/, 0, 16, 0, 2 },
/*295*/ { BARCODE_GRIDMATRIX, -1, -1, -1, -1, "1234", "", 0, 18, 18, 18, 36, 36, 1 /*set*/, 0, 2, 0, 12 }, /*295*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 18, 0 /*set*/, 16, 18, 0, 26 }, /* Bottom 1X */
/*296*/ { BARCODE_GRIDMATRIX, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 18, 18, 18, 60, 60, 0 /*set*/, 0, 60, 0, 12 }, /*296*/ { BARCODE_GRIDMATRIX, -1, -1, -1, -1, "1234", "", 0, 18, 18, 18, 36, 36, 1 /*set*/, 0, 2, 0, 12 },
/*297*/ { BARCODE_UPNQR, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 1 /*set*/, 0, 14, 0, 2 }, /*297*/ { BARCODE_GRIDMATRIX, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 18, 18, 18, 60, 60, 0 /*set*/, 0, 60, 0, 12 },
/*298*/ { BARCODE_UPNQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 77, 77, 77, 170, 170, 0 /*set*/, 0, 170, 0, 8 }, /*298*/ { BARCODE_UPNQR, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 1 /*set*/, 0, 14, 0, 2 },
/*299*/ { BARCODE_ULTRA, -1, -1, -1, -1, "1234", "", 0, 13, 13, 15, 30, 26, 1 /*set*/, 0, 2, 0, 30 }, /*299*/ { BARCODE_UPNQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 77, 77, 77, 170, 170, 0 /*set*/, 0, 170, 0, 8 },
/*300*/ { BARCODE_ULTRA, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 13, 13, 15, 34, 30, 0 /*set*/, 0, 2, 0, 34 }, /*300*/ { BARCODE_ULTRA, -1, -1, -1, -1, "1234", "", 0, 13, 13, 15, 30, 26, 1 /*set*/, 0, 2, 0, 30 },
/*301*/ { BARCODE_RMQR, -1, -1, -1, -1, "1234", "", 0, 11, 11, 27, 54, 22, 1 /*set*/, 0, 14, 0, 2 }, /*301*/ { BARCODE_ULTRA, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 13, 13, 15, 34, 30, 0 /*set*/, 0, 2, 0, 34 },
/*302*/ { BARCODE_RMQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 11, 11, 27, 62, 30, 0 /*set*/, 0, 30, 0, 4 }, /*302*/ { BARCODE_RMQR, -1, -1, -1, -1, "1234", "", 0, 11, 11, 27, 54, 22, 1 /*set*/, 0, 14, 0, 2 },
/*303*/ { BARCODE_BC412, -1, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 204, 49, 1 /*set*/, 0, 32, 0, 2 }, /*303*/ { BARCODE_RMQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 11, 11, 27, 62, 30, 0 /*set*/, 0, 30, 0, 4 },
/*304*/ { BARCODE_BC412, BARCODE_QUIET_ZONES, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 244, 49, 0 /*set*/, 0, 32, 0, 2 }, /*304*/ { BARCODE_BC412, -1, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 204, 49, 1 /*set*/, 0, 32, 0, 2 },
/*305*/ { BARCODE_BC412, BARCODE_QUIET_ZONES, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 244, 49, 0 /*set*/, 0, 32, 0, 2 },
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;

View File

@ -1996,7 +1996,7 @@ static void test_quiet_zones(const testCtx *const p_ctx) {
/*283*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 0, 0, 2, 2 }, /*283*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 0, 0, 2, 2 },
/*284*/ { BARCODE_CODEONE, BARCODE_NO_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 0, 0, 2, 2 }, /*284*/ { BARCODE_CODEONE, BARCODE_NO_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 16, 16, 18, 36, 32, 0, 0, 2, 2 },
/*285*/ { BARCODE_CODEONE, -1, -1, 9, -1, "1234", "", 0, 8, 8, 11, 22, 16, 10, 0, 2, 2 }, /* Version S (& T) have quiet zones */ /*285*/ { BARCODE_CODEONE, -1, -1, 9, -1, "1234", "", 0, 8, 8, 11, 22, 16, 10, 0, 2, 2 }, /* Version S (& T) have quiet zones */
/*286*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 16, 12, 0, 2, 2 }, /*286*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 18, 12, 0, 2, 2 },
/*287*/ { BARCODE_GRIDMATRIX, -1, -1, -1, -1, "123", "", 0, 18, 18, 18, 36, 36, 0, 0, 12, 2 }, /*287*/ { BARCODE_GRIDMATRIX, -1, -1, -1, -1, "123", "", 0, 18, 18, 18, 36, 36, 0, 0, 12, 2 },
/*288*/ { BARCODE_GRIDMATRIX, BARCODE_QUIET_ZONES, -1, -1, -1, "123", "", 0, 18, 18, 18, 60, 60, 12, 12, 12, 2 }, /*288*/ { BARCODE_GRIDMATRIX, BARCODE_QUIET_ZONES, -1, -1, -1, "123", "", 0, 18, 18, 18, 60, 60, 12, 12, 12, 2 },
/*289*/ { BARCODE_UPNQR, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 0, 0, 14, 2 }, /*289*/ { BARCODE_UPNQR, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 0, 0, 14, 2 },

View File

@ -302,8 +302,9 @@ For a number of symbologies extra options are available to fine-tune the format,
appearance and content of the symbol generated. These are given in a second tab. appearance and content of the symbol generated. These are given in a second tab.
Here the method is shown for adjusting the size or error correction level of an Here the method is shown for adjusting the size or error correction level of an
Aztec Code symbol, selecting how its data is to be treated, and setting it as Aztec Code symbol (see [6.6.8 Aztec Code (ISO 24778)]), selecting how its data is
part of a Structured Append sequence of symbols. to be treated (see [4.10 Input Modes]), and setting it as part of a Structured
Append sequence of symbols (see [4.16 Structured Append]).
## 3.5 Appearance Tab ## 3.5 Appearance Tab
@ -385,14 +386,17 @@ meanings as given below:
Table: {#tbl:sequence_format_characters tag=": Sequence Format Characters"} Table: {#tbl:sequence_format_characters tag=": Sequence Format Characters"}
Once you're happy with the Sequence Data, click the `"Export..."` button to
bring up the Export Dialog, discussed next.
## 3.8 Export Dialog ## 3.8 Export Dialog
![Setting filenames for an exported sequence of barcode ![Setting filenames for an exported sequence of barcode
symbols](images/gui_export.png) symbols](images/gui_export.png)
The Export Dialog invoked by pressing the `"Export"` button in the Sequence The Export Dialog invoked by pressing the `"Export..."` button in the Sequence
Dialog sets the parameters for exporting a sequence of barcode images. Here you Dialog sets the parameters for exporting the sequence of barcode images. Here
can set the filename and the output image format. Note that the symbology, you can set the filename and the output image format. Note that the symbology,
colour and other formatting information are taken from the main window. colour and other formatting information are taken from the main window.
## 3.9 CLI Equivalent Dialog ## 3.9 CLI Equivalent Dialog
@ -750,32 +754,35 @@ Value
129 `BARCODE_CODE32` Code 32 129 `BARCODE_CODE32` Code 32
130 `BARCODE_EANX_CC` Composite Symbol with EAN linear component 130 `BARCODE_EANX_CC` GS1 Composite Symbol with EAN linear
131`*` `BARCODE_GS1_128_CC` Composite Symbol with GS1-128 linear
component component
132`*` `BARCODE_DBAR_OMN_CC` Composite Symbol with GS1 DataBar 131`*` `BARCODE_GS1_128_CC` GS1 Composite Symbol with GS1-128 linear
component
132`*` `BARCODE_DBAR_OMN_CC` GS1 Composite Symbol with GS1 DataBar
Omnidirectional linear component Omnidirectional linear component
133`*` `BARCODE_DBAR_LTD_CC` Composite Symbol with GS1 DataBar Limited 133`*` `BARCODE_DBAR_LTD_CC` GS1 Composite Symbol with GS1 DataBar Limited
linear component linear component
134`*` `BARCODE_DBAR_EXP_CC` Composite Symbol with GS1 DataBar Expanded 134`*` `BARCODE_DBAR_EXP_CC` GS1 Composite Symbol with GS1 DataBar
linear component Expanded linear component
135 `BARCODE_UPCA_CC` Composite Symbol with UPC-A linear component 135 `BARCODE_UPCA_CC` GS1 Composite Symbol with UPC-A linear
136 `BARCODE_UPCE_CC` Composite Symbol with UPC-E linear component
137`*` `BARCODE_DBAR_STK_CC` Composite Symbol with GS1 DataBar Stacked
component component
138`*` `BARCODE_DBAR_OMNSTK_CC` Composite Symbol with GS1 DataBar Stacked 136 `BARCODE_UPCE_CC` GS1 Composite Symbol with UPC-E linear
component
137`*` `BARCODE_DBAR_STK_CC` GS1 Composite Symbol with GS1 DataBar Stacked
component
138`*` `BARCODE_DBAR_OMNSTK_CC` GS1 Composite Symbol with GS1 DataBar Stacked
Omnidirectional component Omnidirectional component
139`*` `BARCODE_DBAR_EXPSTK_CC` Composite Symbol with GS1 DataBar Expanded 139`*` `BARCODE_DBAR_EXPSTK_CC` GS1 Composite Symbol with GS1 DataBar
Stacked component Expanded Stacked component
140 `BARCODE_CHANNEL` Channel Code 140 `BARCODE_CHANNEL` Channel Code
@ -1133,7 +1140,7 @@ GS1 data can be encoded in a number of symbologies. Application Identifiers
(AIs) should be enclosed in `[square brackets]` followed by the data to be (AIs) should be enclosed in `[square brackets]` followed by the data to be
encoded (see [6.1.10.3 GS1-128]). To encode GS1 data use the `--gs1` option. encoded (see [6.1.10.3 GS1-128]). To encode GS1 data use the `--gs1` option.
GS1 mode is assumed (and doesn't need to be set) for GS1-128, EAN-14, GS1 GS1 mode is assumed (and doesn't need to be set) for GS1-128, EAN-14, GS1
DataBar and Composite symbologies but is also available for Aztec Code, Code DataBar and GS1 Composite symbologies but is also available for Aztec Code, Code
16K, Code 49, Code One, Data Matrix, DotCode, QR Code and Ultracode. 16K, Code 49, Code One, Data Matrix, DotCode, QR Code and Ultracode.
Health Industry Barcode (HIBC) data may also be encoded in the symbologies Aztec Health Industry Barcode (HIBC) data may also be encoded in the symbologies Aztec
@ -1243,8 +1250,6 @@ Nevertheless, for ECI Code 3, this is not usually required, as this is the
default encoding for most barcodes, which is also active without any ECI default encoding for most barcodes, which is also active without any ECI
information. information.
\clearpage
#### 4.10.2.1 Input Modes and ECI Example 1 #### 4.10.2.1 Input Modes and ECI Example 1
The Euro sign U+20AC can be encoded in ISO/IEC 8859-15. The Euro sign has the The Euro sign U+20AC can be encoded in ISO/IEC 8859-15. The Euro sign has the
@ -3357,7 +3362,7 @@ minimum number of rows to use can be set using the `--rows` option (API
## 6.3 GS1 Composite Symbols (ISO 24723) ## 6.3 GS1 Composite Symbols (ISO 24723)
Composite symbols employ a mixture of components to give more comprehensive GS1 Composite symbols employ a mixture of components to give more comprehensive
information about a product. The permissible contents of a composite symbol is information about a product. The permissible contents of a composite symbol is
determined by the terms of the GS1 General Specifications. Composite symbols determined by the terms of the GS1 General Specifications. Composite symbols
consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar
@ -3370,35 +3375,38 @@ encoding methods. Valid values are shown below.
Numeric Name Barcode Name Numeric Name Barcode Name
Value Value
------- ------------------------ --------------------------------------------- ------- ------------------------ ---------------------------------------------
130 `BARCODE_EANX_CC` Composite Symbol with EAN linear component 130 `BARCODE_EANX_CC` GS1 Composite Symbol with EAN linear
131 `BARCODE_GS1_128_CC` Composite Symbol with GS1-128 linear
component component
132 `BARCODE_DBAR_OMN_CC` Composite Symbol with GS1 DataBar 131 `BARCODE_GS1_128_CC` GS1 Composite Symbol with GS1-128 linear
component
132 `BARCODE_DBAR_OMN_CC` GS1 Composite Symbol with GS1 DataBar
Omnidirectional linear component Omnidirectional linear component
133 `BARCODE_DBAR_LTD_CC` Composite Symbol with GS1 DataBar Limited 133 `BARCODE_DBAR_LTD_CC` GS1 Composite Symbol with GS1 DataBar Limited
linear component linear component
134 `BARCODE_DBAR_EXP_CC` Composite Symbol with GS1 DataBar Expanded 134 `BARCODE_DBAR_EXP_CC` GS1 Composite Symbol with GS1 DataBar
linear component Expanded linear component
135 `BARCODE_UPCA_CC` Composite Symbol with UPC-A linear component 135 `BARCODE_UPCA_CC` GS1 Composite Symbol with UPC-A linear
136 `BARCODE_UPCE_CC` Composite Symbol with UPC-E linear component
137 `BARCODE_DBAR_STK_CC` Composite Symbol with GS1 DataBar Stacked
component component
138 `BARCODE_DBAR_OMNSTK_CC` Composite Symbol with GS1 DataBar Stacked 136 `BARCODE_UPCE_CC` GS1 Composite Symbol with UPC-E linear
component
137 `BARCODE_DBAR_STK_CC` GS1 Composite Symbol with GS1 DataBar Stacked
component
138 `BARCODE_DBAR_OMNSTK_CC` GS1 Composite Symbol with GS1 DataBar Stacked
Omnidirectional component Omnidirectional component
139 `BARCODE_DBAR_EXPSTK_CC` Composite Symbol with GS1 DataBar Expanded 139 `BARCODE_DBAR_EXPSTK_CC` GS1 Composite Symbol with GS1 DataBar
Stacked component Expanded Stacked component
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Table: {#tbl:composite_symbologies tag=": Composite Symbology Values"} Table: {#tbl:composite_symbologies tag=": GS1 Composite Symbology Values"}
The data to be encoded in the linear component of a composite symbol should be The data to be encoded in the linear component of a composite symbol should be
entered into a primary string with the data for the 2D component being entered entered into a primary string with the data for the 2D component being entered
@ -4586,7 +4594,7 @@ company references in particular.
May 2004) May 2004)
- AIM ITS/04-023 International Technical Standard - Extended Channel - AIM ITS/04-023 International Technical Standard - Extended Channel
Interpretations Part 3: Register (Version 2, February 2022) Interpretations Part 3: Register (Version 2, February 2022)
- GS1 General Specifications Release 22.0 (Jan 2022) - GS1 General Specifications Release 23.0 (Jan 2023)
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling - ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
Standard Standard

View File

@ -466,8 +466,9 @@ For a number of symbologies extra options are available to fine-tune the format,
appearance and content of the symbol generated. These are given in a second tab. appearance and content of the symbol generated. These are given in a second tab.
Here the method is shown for adjusting the size or error correction level of an Here the method is shown for adjusting the size or error correction level of an
Aztec Code symbol, selecting how its data is to be treated, and setting it as Aztec Code symbol (see 6.6.8 Aztec Code (ISO 24778)), selecting how its data is
part of a Structured Append sequence of symbols. to be treated (see 4.10 Input Modes), and setting it as part of a Structured
Append sequence of symbols (see 4.16 Structured Append).
3.5 Appearance Tab 3.5 Appearance Tab
@ -548,14 +549,17 @@ meanings as given below:
: Table : Sequence Format Characters: : Table : Sequence Format Characters:
Once youre happy with the Sequence Data, click the "Export..." button to bring
up the Export Dialog, discussed next.
3.8 Export Dialog 3.8 Export Dialog
[Setting filenames for an exported sequence of barcode symbols] [Setting filenames for an exported sequence of barcode symbols]
The Export Dialog invoked by pressing the "Export" button in the Sequence Dialog The Export Dialog invoked by pressing the "Export..." button in the Sequence
sets the parameters for exporting a sequence of barcode images. Here you can set Dialog sets the parameters for exporting the sequence of barcode images. Here
the filename and the output image format. Note that the symbology, colour and you can set the filename and the output image format. Note that the symbology,
other formatting information are taken from the main window. colour and other formatting information are taken from the main window.
3.9 CLI Equivalent Dialog 3.9 CLI Equivalent Dialog
@ -886,33 +890,36 @@ underscores are optional.
129 BARCODE_CODE32 Code 32 129 BARCODE_CODE32 Code 32
130 BARCODE_EANX_CC Composite Symbol with EAN linear component 130 BARCODE_EANX_CC GS1 Composite Symbol with EAN linear
131* BARCODE_GS1_128_CC Composite Symbol with GS1-128 linear
component component
132* BARCODE_DBAR_OMN_CC Composite Symbol with GS1 DataBar 131* BARCODE_GS1_128_CC GS1 Composite Symbol with GS1-128 linear
component
132* BARCODE_DBAR_OMN_CC GS1 Composite Symbol with GS1 DataBar
Omnidirectional linear component Omnidirectional linear component
133* BARCODE_DBAR_LTD_CC Composite Symbol with GS1 DataBar Limited 133* BARCODE_DBAR_LTD_CC GS1 Composite Symbol with GS1 DataBar
linear component Limited linear component
134* BARCODE_DBAR_EXP_CC Composite Symbol with GS1 DataBar Expanded 134* BARCODE_DBAR_EXP_CC GS1 Composite Symbol with GS1 DataBar
linear component Expanded linear component
135 BARCODE_UPCA_CC Composite Symbol with UPC-A linear component 135 BARCODE_UPCA_CC GS1 Composite Symbol with UPC-A linear
136 BARCODE_UPCE_CC Composite Symbol with UPC-E linear component
137* BARCODE_DBAR_STK_CC Composite Symbol with GS1 DataBar Stacked
component component
138* BARCODE_DBAR_OMNSTK_CC Composite Symbol with GS1 DataBar Stacked 136 BARCODE_UPCE_CC GS1 Composite Symbol with UPC-E linear
Omnidirectional component component
139* BARCODE_DBAR_EXPSTK_CC Composite Symbol with GS1 DataBar Expanded 137* BARCODE_DBAR_STK_CC GS1 Composite Symbol with GS1 DataBar
Stacked component Stacked component
138* BARCODE_DBAR_OMNSTK_CC GS1 Composite Symbol with GS1 DataBar
Stacked Omnidirectional component
139* BARCODE_DBAR_EXPSTK_CC GS1 Composite Symbol with GS1 DataBar
Expanded Stacked component
140 BARCODE_CHANNEL Channel Code 140 BARCODE_CHANNEL Channel Code
141 BARCODE_CODEONE Code One 141 BARCODE_CODEONE Code One
@ -1213,7 +1220,7 @@ Interpretations) mechanism to encode the data if the symbology supports it - see
GS1 data can be encoded in a number of symbologies. Application Identifiers GS1 data can be encoded in a number of symbologies. Application Identifiers
(AIs) should be enclosed in [square brackets] followed by the data to be encoded (AIs) should be enclosed in [square brackets] followed by the data to be encoded
(see 6.1.10.3 GS1-128). To encode GS1 data use the --gs1 option. GS1 mode is (see 6.1.10.3 GS1-128). To encode GS1 data use the --gs1 option. GS1 mode is
assumed (and doesnt need to be set) for GS1-128, EAN-14, GS1 DataBar and assumed (and doesnt need to be set) for GS1-128, EAN-14, GS1 DataBar and GS1
Composite symbologies but is also available for Aztec Code, Code 16K, Code 49, Composite symbologies but is also available for Aztec Code, Code 16K, Code 49,
Code One, Data Matrix, DotCode, QR Code and Ultracode. Code One, Data Matrix, DotCode, QR Code and Ultracode.
@ -3245,7 +3252,7 @@ with values from 2 to 8.
6.3 GS1 Composite Symbols (ISO 24723) 6.3 GS1 Composite Symbols (ISO 24723)
Composite symbols employ a mixture of components to give more comprehensive GS1 Composite symbols employ a mixture of components to give more comprehensive
information about a product. The permissible contents of a composite symbol is information about a product. The permissible contents of a composite symbol is
determined by the terms of the GS1 General Specifications. Composite symbols determined by the terms of the GS1 General Specifications. Composite symbols
consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar
@ -3258,35 +3265,38 @@ encoding methods. Valid values are shown below.
Numeric Name Barcode Name Numeric Name Barcode Name
Value Value
--------- ------------------------- -------------------------------------------- --------- ------------------------- --------------------------------------------
130 BARCODE_EANX_CC Composite Symbol with EAN linear component 130 BARCODE_EANX_CC GS1 Composite Symbol with EAN linear
131 BARCODE_GS1_128_CC Composite Symbol with GS1-128 linear
component component
132 BARCODE_DBAR_OMN_CC Composite Symbol with GS1 DataBar 131 BARCODE_GS1_128_CC GS1 Composite Symbol with GS1-128 linear
component
132 BARCODE_DBAR_OMN_CC GS1 Composite Symbol with GS1 DataBar
Omnidirectional linear component Omnidirectional linear component
133 BARCODE_DBAR_LTD_CC Composite Symbol with GS1 DataBar Limited 133 BARCODE_DBAR_LTD_CC GS1 Composite Symbol with GS1 DataBar
linear component Limited linear component
134 BARCODE_DBAR_EXP_CC Composite Symbol with GS1 DataBar Expanded 134 BARCODE_DBAR_EXP_CC GS1 Composite Symbol with GS1 DataBar
linear component Expanded linear component
135 BARCODE_UPCA_CC Composite Symbol with UPC-A linear component 135 BARCODE_UPCA_CC GS1 Composite Symbol with UPC-A linear
136 BARCODE_UPCE_CC Composite Symbol with UPC-E linear component
137 BARCODE_DBAR_STK_CC Composite Symbol with GS1 DataBar Stacked
component component
138 BARCODE_DBAR_OMNSTK_CC Composite Symbol with GS1 DataBar Stacked 136 BARCODE_UPCE_CC GS1 Composite Symbol with UPC-E linear
Omnidirectional component component
139 BARCODE_DBAR_EXPSTK_CC Composite Symbol with GS1 DataBar Expanded 137 BARCODE_DBAR_STK_CC GS1 Composite Symbol with GS1 DataBar
Stacked component Stacked component
138 BARCODE_DBAR_OMNSTK_CC GS1 Composite Symbol with GS1 DataBar
Stacked Omnidirectional component
139 BARCODE_DBAR_EXPSTK_CC GS1 Composite Symbol with GS1 DataBar
Expanded Stacked component
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
: Table : Composite Symbology Values: : Table : GS1 Composite Symbology Values:
The data to be encoded in the linear component of a composite symbol should be The data to be encoded in the linear component of a composite symbol should be
entered into a primary string with the data for the 2D component being entered entered into a primary string with the data for the 2D component being entered
@ -4426,7 +4436,7 @@ company references in particular.
May 2004) May 2004)
- AIM ITS/04-023 International Technical Standard - Extended Channel - AIM ITS/04-023 International Technical Standard - Extended Channel
Interpretations Part 3: Register (Version 2, February 2022) Interpretations Part 3: Register (Version 2, February 2022)
- GS1 General Specifications Release 22.0 (Jan 2022) - GS1 General Specifications Release 23.0 (Jan 2023)
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling - ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
Standard Standard

View File

@ -1883,7 +1883,7 @@ the barcode in X-dimensions</string>
<item row="7" column="0"> <item row="7" column="0">
<widget class="QLabel" name="lblTextGap"> <widget class="QLabel" name="lblTextGap">
<property name="toolTip"> <property name="toolTip">
<string>Gap between barcode and text <string>Gap between barcode and text in X-dimensions
(ignored if disabled)</string> (ignored if disabled)</string>
</property> </property>
<property name="text"> <property name="text">
@ -1900,12 +1900,14 @@ the barcode in X-dimensions</string>
<item row="7" column="1"> <item row="7" column="1">
<widget class="QDoubleSpinBox" name="spnTextGap"> <widget class="QDoubleSpinBox" name="spnTextGap">
<property name="toolTip"> <property name="toolTip">
<string>Gap between barcode and text <string>Gap between barcode and text in X-dimensions
(ignored if disabled)</string> (ignored if disabled)</string>
</property> </property>
<property name="prefix">
<string/>
</property>
<property name="suffix"> <property name="suffix">
<string> X</string> <string> X</string>
<string/>
</property> </property>
<property name="decimals"> <property name="decimals">
<number>2</number> <number>2</number>

View File

@ -281,6 +281,7 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
m_fgcolor_geometry = settings.value(QSL("studio/fgcolor_geometry")).toByteArray(); m_fgcolor_geometry = settings.value(QSL("studio/fgcolor_geometry")).toByteArray();
m_bgcolor_geometry = settings.value(QSL("studio/bgcolor_geometry")).toByteArray(); m_bgcolor_geometry = settings.value(QSL("studio/bgcolor_geometry")).toByteArray();
m_previewbgcolor_geometry = settings.value(QSL("studio/previewbgcolor_geometry")).toByteArray();
btnScale->setIcon(QIcon(QSL(":res/scaling.svg"))); btnScale->setIcon(QIcon(QSL(":res/scaling.svg")));
fgcolor->setIcon(QIcon(QSL(":res/black-eye.svg"))); fgcolor->setIcon(QIcon(QSL(":res/black-eye.svg")));
@ -446,6 +447,7 @@ MainWindow::~MainWindow()
settings.setValue(QSL("studio/window_geometry"), saveGeometry()); settings.setValue(QSL("studio/window_geometry"), saveGeometry());
settings.setValue(QSL("studio/fgcolor_geometry"), m_fgcolor_geometry); settings.setValue(QSL("studio/fgcolor_geometry"), m_fgcolor_geometry);
settings.setValue(QSL("studio/bgcolor_geometry"), m_bgcolor_geometry); settings.setValue(QSL("studio/bgcolor_geometry"), m_bgcolor_geometry);
settings.setValue(QSL("studio/previewbgcolor_geometry"), m_previewbgcolor_geometry);
settings.setValue(QSL("studio/tab_index"), tabMain->currentIndex()); settings.setValue(QSL("studio/tab_index"), tabMain->currentIndex());
settings.setValue(QSL("studio/symbology"), bstyle->currentIndex()); settings.setValue(QSL("studio/symbology"), bstyle->currentIndex());
settings.setValue(QSL("studio/ink/text"), m_fgstr); settings.setValue(QSL("studio/ink/text"), m_fgstr);
@ -841,11 +843,26 @@ void MainWindow::preview_bg()
color_dialog.setWindowTitle(tr("Set preview background colour")); color_dialog.setWindowTitle(tr("Set preview background colour"));
color_dialog.setOptions(QColorDialog::DontUseNativeDialog); color_dialog.setOptions(QColorDialog::DontUseNativeDialog);
color_dialog.setCurrentColor(m_previewBgColor); color_dialog.setCurrentColor(m_previewBgColor);
color_dialog.restoreGeometry(m_previewbgcolor_geometry);
connect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this,
SLOT(previewbgcolor_changed(const QColor&)));
if (color_dialog.exec() && color_dialog.selectedColor().isValid()) { if (color_dialog.exec() && color_dialog.selectedColor().isValid()) {
m_previewBgColor = color_dialog.selectedColor(); m_previewBgColor = color_dialog.selectedColor();
}
m_previewbgcolor_geometry = color_dialog.saveGeometry();
disconnect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this,
SLOT(previewbgcolor_changed(const QColor&)));
m_bc.setColor(m_previewBgColor); m_bc.setColor(m_previewBgColor);
update_preview(); update_preview();
} }
void MainWindow::previewbgcolor_changed(const QColor& color)
{
if (color.isValid()) {
m_bc.setColor(color);
update_preview();
}
} }
QLineEdit *MainWindow::get_seg_textbox(int seg_no) QLineEdit *MainWindow::get_seg_textbox(int seg_no)

View File

@ -88,6 +88,7 @@ public slots:
void about(); void about();
void help(); void help();
void preview_bg(); void preview_bg();
void previewbgcolor_changed(const QColor& color);
void quit_now(); void quit_now();
void menu(); void menu();
@ -208,7 +209,7 @@ protected:
private: private:
QString m_fgstr, m_bgstr; QString m_fgstr, m_bgstr;
QByteArray m_fgcolor_geometry, m_bgcolor_geometry; QByteArray m_fgcolor_geometry, m_bgcolor_geometry, m_previewbgcolor_geometry;
BarcodeItem m_bc; BarcodeItem m_bc;
QColor m_previewBgColor; QColor m_previewBgColor;
QWidget *m_optionWidget; QWidget *m_optionWidget;