From bbad6d3d83335df57c0050ca8bb43097aad7f1ce Mon Sep 17 00:00:00 2001 From: gitlost Date: Sat, 8 Jul 2023 01:02:51 +0100 Subject: [PATCH] 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 --- ChangeLog | 1 + backend/output.c | 2 +- backend/tests/test_raster.c | 23 ++++----- backend/tests/test_vector.c | 2 +- docs/manual.pmd | 90 +++++++++++++++++++---------------- docs/manual.txt | 94 ++++++++++++++++++++----------------- frontend_qt/mainWindow.ui | 8 ++-- frontend_qt/mainwindow.cpp | 19 +++++++- frontend_qt/mainwindow.h | 3 +- 9 files changed, 141 insertions(+), 101 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1a4b209c..ba827a65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -98,6 +98,7 @@ Bugs - Composites: fix excess whitespace; fix quiet zone calcs to allow for linear shifting - 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) diff --git a/backend/output.c b/backend/output.c index 89921069..d30712d2 100644 --- a/backend/output.c +++ b/backend/output.c @@ -621,7 +621,7 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text case BARCODE_CODEONE: /* 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 */ - *left = *right = 1.0f; + *left = *right = *bottom = 1.0f; } done = 1; break; diff --git a/backend/tests/test_raster.c b/backend/tests/test_raster.c index 096873ee..a9f092da 100644 --- a/backend/tests/test_raster.c +++ b/backend/tests/test_raster.c @@ -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 }, /*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 */ - /*294*/ { BARCODE_CODEONE, BARCODE_QUIET_ZONES, -1, 9, -1, "1234", "", 0, 8, 8, 11, 26, 16, 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 }, - /*296*/ { BARCODE_GRIDMATRIX, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 18, 18, 18, 60, 60, 0 /*set*/, 0, 60, 0, 12 }, - /*297*/ { BARCODE_UPNQR, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 1 /*set*/, 0, 14, 0, 2 }, - /*298*/ { BARCODE_UPNQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 77, 77, 77, 170, 170, 0 /*set*/, 0, 170, 0, 8 }, - /*299*/ { BARCODE_ULTRA, -1, -1, -1, -1, "1234", "", 0, 13, 13, 15, 30, 26, 1 /*set*/, 0, 2, 0, 30 }, - /*300*/ { BARCODE_ULTRA, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 13, 13, 15, 34, 30, 0 /*set*/, 0, 2, 0, 34 }, - /*301*/ { BARCODE_RMQR, -1, -1, -1, -1, "1234", "", 0, 11, 11, 27, 54, 22, 1 /*set*/, 0, 14, 0, 2 }, - /*302*/ { BARCODE_RMQR, BARCODE_QUIET_ZONES, -1, -1, -1, "1234", "", 0, 11, 11, 27, 62, 30, 0 /*set*/, 0, 30, 0, 4 }, - /*303*/ { BARCODE_BC412, -1, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 204, 49, 1 /*set*/, 0, 32, 0, 2 }, - /*304*/ { BARCODE_BC412, BARCODE_QUIET_ZONES, -1, -1, -1, "1234567", "", 0, 16.5, 1, 102, 244, 49, 0 /*set*/, 0, 32, 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_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, -1, -1, -1, -1, "1234", "", 0, 18, 18, 18, 36, 36, 1 /*set*/, 0, 2, 0, 12 }, + /*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, -1, -1, -1, -1, "1234", "", 0, 77, 77, 77, 154, 154, 1 /*set*/, 0, 14, 0, 2 }, + /*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, -1, -1, -1, -1, "1234", "", 0, 13, 13, 15, 30, 26, 1 /*set*/, 0, 2, 0, 30 }, + /*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, -1, -1, -1, -1, "1234", "", 0, 11, 11, 27, 54, 22, 1 /*set*/, 0, 14, 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, -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 i, length, ret; diff --git a/backend/tests/test_vector.c b/backend/tests/test_vector.c index ac9f3c19..5877705e 100644 --- a/backend/tests/test_vector.c +++ b/backend/tests/test_vector.c @@ -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 }, /*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 */ - /*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 }, /*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 }, diff --git a/docs/manual.pmd b/docs/manual.pmd index 13cbe34b..e66b5ded 100644 --- a/docs/manual.pmd +++ b/docs/manual.pmd @@ -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. 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 -part of a Structured Append sequence of symbols. +Aztec Code symbol (see [6.6.8 Aztec Code (ISO 24778)]), selecting how its data is +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 @@ -385,14 +386,17 @@ meanings as given below: 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 ![Setting filenames for an exported sequence of barcode symbols](images/gui_export.png) -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 -can set the filename and the output image format. Note that the symbology, +The Export Dialog invoked by pressing the `"Export..."` button in the Sequence +Dialog sets the parameters for exporting the sequence of barcode images. Here +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. ## 3.9 CLI Equivalent Dialog @@ -750,32 +754,35 @@ Value 129 `BARCODE_CODE32` Code 32 - 130 `BARCODE_EANX_CC` Composite Symbol with EAN linear component - - 131`*` `BARCODE_GS1_128_CC` Composite Symbol with GS1-128 linear + 130 `BARCODE_EANX_CC` GS1 Composite Symbol with EAN linear 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 - 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 - 134`*` `BARCODE_DBAR_EXP_CC` Composite Symbol with GS1 DataBar Expanded - linear component + 134`*` `BARCODE_DBAR_EXP_CC` GS1 Composite Symbol with GS1 DataBar + Expanded linear component - 135 `BARCODE_UPCA_CC` Composite Symbol with UPC-A linear component - - 136 `BARCODE_UPCE_CC` Composite Symbol with UPC-E linear component - - 137`*` `BARCODE_DBAR_STK_CC` Composite Symbol with GS1 DataBar Stacked + 135 `BARCODE_UPCA_CC` GS1 Composite Symbol with UPC-A linear 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 - 139`*` `BARCODE_DBAR_EXPSTK_CC` Composite Symbol with GS1 DataBar Expanded - Stacked component + 139`*` `BARCODE_DBAR_EXPSTK_CC` GS1 Composite Symbol with GS1 DataBar + Expanded Stacked component 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 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 -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. 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 information. -\clearpage - #### 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 @@ -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) -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 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 @@ -3370,35 +3375,38 @@ encoding methods. Valid values are shown below. Numeric Name Barcode Name Value ------- ------------------------ --------------------------------------------- -130 `BARCODE_EANX_CC` Composite Symbol with EAN linear component - -131 `BARCODE_GS1_128_CC` Composite Symbol with GS1-128 linear +130 `BARCODE_EANX_CC` GS1 Composite Symbol with EAN linear 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 -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 -134 `BARCODE_DBAR_EXP_CC` Composite Symbol with GS1 DataBar Expanded - linear component +134 `BARCODE_DBAR_EXP_CC` GS1 Composite Symbol with GS1 DataBar + Expanded linear component -135 `BARCODE_UPCA_CC` Composite Symbol with UPC-A linear component - -136 `BARCODE_UPCE_CC` Composite Symbol with UPC-E linear component - -137 `BARCODE_DBAR_STK_CC` Composite Symbol with GS1 DataBar Stacked +135 `BARCODE_UPCA_CC` GS1 Composite Symbol with UPC-A linear 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 -139 `BARCODE_DBAR_EXPSTK_CC` Composite Symbol with GS1 DataBar Expanded - Stacked component +139 `BARCODE_DBAR_EXPSTK_CC` GS1 Composite Symbol with GS1 DataBar + 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 entered into a primary string with the data for the 2D component being entered @@ -4586,7 +4594,7 @@ company references in particular. May 2004) - AIM ITS/04-023 International Technical Standard - Extended Channel 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 Standard diff --git a/docs/manual.txt b/docs/manual.txt index 2ce5ecba..36741609 100644 --- a/docs/manual.txt +++ b/docs/manual.txt @@ -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. 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 -part of a Structured Append sequence of symbols. +Aztec Code symbol (see 6.6.8 Aztec Code (ISO 24778)), selecting how its data is +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 @@ -548,14 +549,17 @@ meanings as given below: : Table : 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 [Setting filenames for an exported sequence of barcode symbols] -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 can set -the filename and the output image format. Note that the symbology, colour and -other formatting information are taken from the main window. +The Export Dialog invoked by pressing the "Export..." button in the Sequence +Dialog sets the parameters for exporting the sequence of barcode images. Here +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. 3.9 CLI Equivalent Dialog @@ -886,33 +890,36 @@ underscores are optional. 129 BARCODE_CODE32 Code 32 - 130 BARCODE_EANX_CC Composite Symbol with EAN linear component - - 131* BARCODE_GS1_128_CC Composite Symbol with GS1-128 linear + 130 BARCODE_EANX_CC GS1 Composite Symbol with EAN linear 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 - 133* BARCODE_DBAR_LTD_CC Composite Symbol with GS1 DataBar Limited - linear component + 133* BARCODE_DBAR_LTD_CC GS1 Composite Symbol with GS1 DataBar + Limited linear component - 134* BARCODE_DBAR_EXP_CC Composite Symbol with GS1 DataBar Expanded - linear component + 134* BARCODE_DBAR_EXP_CC GS1 Composite Symbol with GS1 DataBar + Expanded linear component - 135 BARCODE_UPCA_CC Composite Symbol with UPC-A linear component - - 136 BARCODE_UPCE_CC Composite Symbol with UPC-E linear component - - 137* BARCODE_DBAR_STK_CC Composite Symbol with GS1 DataBar Stacked + 135 BARCODE_UPCA_CC GS1 Composite Symbol with UPC-A linear component - 138* BARCODE_DBAR_OMNSTK_CC Composite Symbol with GS1 DataBar Stacked - Omnidirectional component + 136 BARCODE_UPCE_CC GS1 Composite Symbol with UPC-E linear + 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 + 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 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 (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 -assumed (and doesn’t need to be set) for GS1-128, EAN-14, GS1 DataBar and +assumed (and doesn’t 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, 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) -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 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 @@ -3258,35 +3265,38 @@ encoding methods. Valid values are shown below. Numeric Name Barcode Name Value --------- ------------------------- -------------------------------------------- - 130 BARCODE_EANX_CC Composite Symbol with EAN linear component - - 131 BARCODE_GS1_128_CC Composite Symbol with GS1-128 linear + 130 BARCODE_EANX_CC GS1 Composite Symbol with EAN linear 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 - 133 BARCODE_DBAR_LTD_CC Composite Symbol with GS1 DataBar Limited - linear component + 133 BARCODE_DBAR_LTD_CC GS1 Composite Symbol with GS1 DataBar + Limited linear component - 134 BARCODE_DBAR_EXP_CC Composite Symbol with GS1 DataBar Expanded - linear component + 134 BARCODE_DBAR_EXP_CC GS1 Composite Symbol with GS1 DataBar + Expanded linear component - 135 BARCODE_UPCA_CC Composite Symbol with UPC-A linear component - - 136 BARCODE_UPCE_CC Composite Symbol with UPC-E linear component - - 137 BARCODE_DBAR_STK_CC Composite Symbol with GS1 DataBar Stacked + 135 BARCODE_UPCA_CC GS1 Composite Symbol with UPC-A linear component - 138 BARCODE_DBAR_OMNSTK_CC Composite Symbol with GS1 DataBar Stacked - Omnidirectional component + 136 BARCODE_UPCE_CC GS1 Composite Symbol with UPC-E linear + 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 + + 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 entered into a primary string with the data for the 2D component being entered @@ -4426,7 +4436,7 @@ company references in particular. May 2004) - AIM ITS/04-023 International Technical Standard - Extended Channel 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 Standard diff --git a/frontend_qt/mainWindow.ui b/frontend_qt/mainWindow.ui index 0cad61fb..1634b978 100644 --- a/frontend_qt/mainWindow.ui +++ b/frontend_qt/mainWindow.ui @@ -1883,7 +1883,7 @@ the barcode in X-dimensions - Gap between barcode and text + Gap between barcode and text in X-dimensions (ignored if disabled) @@ -1900,12 +1900,14 @@ the barcode in X-dimensions - Gap between barcode and text + Gap between barcode and text in X-dimensions (ignored if disabled) + + + X - 2 diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp index 93260a3b..2e1dda23 100644 --- a/frontend_qt/mainwindow.cpp +++ b/frontend_qt/mainwindow.cpp @@ -281,6 +281,7 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl) m_fgcolor_geometry = settings.value(QSL("studio/fgcolor_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"))); 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/fgcolor_geometry"), m_fgcolor_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/symbology"), bstyle->currentIndex()); settings.setValue(QSL("studio/ink/text"), m_fgstr); @@ -841,9 +843,24 @@ void MainWindow::preview_bg() color_dialog.setWindowTitle(tr("Set preview background colour")); color_dialog.setOptions(QColorDialog::DontUseNativeDialog); 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()) { m_previewBgColor = color_dialog.selectedColor(); - m_bc.setColor(m_previewBgColor); + } + m_previewbgcolor_geometry = color_dialog.saveGeometry(); + disconnect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this, + SLOT(previewbgcolor_changed(const QColor&))); + + m_bc.setColor(m_previewBgColor); + update_preview(); +} + +void MainWindow::previewbgcolor_changed(const QColor& color) +{ + if (color.isValid()) { + m_bc.setColor(color); update_preview(); } } diff --git a/frontend_qt/mainwindow.h b/frontend_qt/mainwindow.h index 7e3e029c..62b48cea 100644 --- a/frontend_qt/mainwindow.h +++ b/frontend_qt/mainwindow.h @@ -88,6 +88,7 @@ public slots: void about(); void help(); void preview_bg(); + void previewbgcolor_changed(const QColor& color); void quit_now(); void menu(); @@ -208,7 +209,7 @@ protected: private: 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; QColor m_previewBgColor; QWidget *m_optionWidget;