1
0
mirror of https://git.code.sf.net/p/zint/code synced 2025-12-17 09:57:02 +00:00

CLI: --gs1XXX args now imply `--gs1

GUI: fix chkGS1Strict enabling on startup regression from previous
  commit; update CLI equivalence with --gs1strict & adjust for
  implied --gs1; add tests
CMake: allow lpng/zlib and gs1encoders to take paths (for Windows)
win32/README: simplify locating lpng/zlib/gs1encoders for cmake
  using above; add note on 64-bit build
manual/man page: adjust for various above changes
This commit is contained in:
gitlost
2025-09-16 10:10:30 +01:00
parent e4e6143d87
commit 5138d0703c
12 changed files with 219 additions and 123 deletions

View File

@@ -2582,12 +2582,14 @@ Modes and ECI</a> below.</p>
<p>GS1 data can be encoded in a number of symbologies. Application
Identifiers (AIs) should be enclosed in <code>[square brackets]</code>
followed by the data to be encoded (see <a href="#gs1-128">6.1.10.3
GS1-128</a>). GS1 Digital Link URIs are also supported. To encode GS1
data use the <code>--gs1</code> option. Also recommended is the
<code>--gs1strict</code> option, which verifies the GS1 data. GS1 mode
is 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, Code One, Data Matrix, DotCode, QR Code and Ultracode.</p>
GS1-128</a>). For matrix symbologies, GS1 Digital Link URIs are also
supported. To encode GS1 data use the <code>--gs1</code> option.
Alternatively, use the <code>--gs1strict</code> option, which strictly
verifies the GS1 data.</p>
<p>GS1 mode is 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, Code One, Data Matrix, DotCode, QR Code
and Ultracode.</p>
<p>Health Industry Barcode (HIBC) data may also be encoded in the
symbologies Aztec Code, Codablock-F, Code 128, Code 39, Data Matrix,
MicroPDF417, PDF417 and QR Code. Within this mode, the leading
@@ -4052,7 +4054,7 @@ sequences.</td>
<td style="text-align: left;"><code>GS1PARENS_MODE</code></td>
<td style="text-align: left;">Parentheses (round brackets) used in GS1
data instead of square brackets to delimit Application Identifiers
(parentheses in the data must be escaped).</td>
(opening parentheses in the data must be escaped).</td>
</tr>
<tr>
<td style="text-align: left;"><code>GS1NOCHECK_MODE</code></td>
@@ -5097,9 +5099,9 @@ data without escaping.</p>
<p>For compatibility with data entry in other systems, the option
<code>--gs1parens</code> (API <code>input_mode |= GS1PARENS_MODE</code>)
may be used to signal that AIs are encased in parentheses. If there are
any parentheses in the AI data, they must be escaped with a backslash
(<code>\(</code> or <code>\)</code>) and the option <code>--esc</code>
(API <code>input_mode |= ESCAPE_MODE</code>) selected.</p>
any opening parentheses in the AI data, they must be escaped with a
backslash (<code>\(</code>). Optionally, for clarity, closing
parentheses may also be escaped,</p>
<p>Fixed length data should be entered at the appropriate length for
correct encoding. GS1-128 does not support extended ASCII (ISO/IEC
8859-1) characters. Check digits for GTIN data AI (01) are not generated
@@ -9213,23 +9215,27 @@ non-ASCII data.</p>
<dd>
<p>Treat input as GS1 compatible data. Application Identifiers (AIs)
should be placed in square brackets <code>"[]"</code> (but see
<code>--gs1parens</code>).</p>
<code>--gs1parens</code>). Also accepts GS1 Digital Link URIs
(unverified) for matrix symbologies.</p>
</dd>
<dt><code>--gs1nocheck</code></dt>
<dd>
<p>Do not check the validity of GS1 data.</p>
<p>Treat input as GS1 compatible data (as <code>--gs1</code>) but do not
check the validity of the data.</p>
</dd>
<dt><code>--gs1parens</code></dt>
<dd>
<p>Process parentheses <code>"()"</code> as GS1 AI delimiters, rather
than square brackets <code>"[]"</code>. If the AI data contains
parentheses, they must be backslashed (<code>"\("</code> or
<code>"\)"</code>) and the <code>--esc</code> option selected.</p>
<p>Treat input as GS1 compatible data (as <code>--gs1</code>) but
process parentheses <code>"()"</code> as GS1 AI delimiters, rather than
square brackets <code>"[]"</code>. If the AI data contains opening
parentheses, they must be backslashed (<code>"\("</code>).</p>
</dd>
<dt><code>--gs1strict</code></dt>
<dd>
<p>Uses the GS1 Syntax Engine (if available) to strictly verify GS1
data. Ignored if <code>--gs1nocheck</code> also given.</p>
<p>Treat input as GS1 compatible data (as <code>--gs1</code>) and use
the GS1 Syntax Engine (if available) to strictly verify the GS1 data,
including GS1 Digital Link URIs. Ignored if <code>--gs1nocheck</code>
also given.</p>
</dd>
<dt><code>--gssep</code></dt>
<dd>

View File

@@ -1280,12 +1280,13 @@ 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]). GS1 Digital Link URIs are also supported. To
encode GS1 data use the `--gs1` option. Also recommended is the `--gs1strict`
option, which verifies the GS1 data. GS1 mode is 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.
encoded (see [6.1.10.3 GS1-128]). For matrix symbologies, GS1 Digital Link URIs
are also supported. To encode GS1 data use the `--gs1` option. Alternatively,
use the `--gs1strict` option, which strictly verifies the GS1 data.
GS1 mode is 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.
Health Industry Barcode (HIBC) data may also be encoded in the symbologies Aztec
Code, Codablock-F, Code 128, Code 39, Data Matrix, MicroPDF417, PDF417 and QR
@@ -2393,7 +2394,7 @@ Value Effect
`GS1PARENS_MODE` Parentheses (round brackets) used in GS1 data instead
of square brackets to delimit Application Identifiers
(parentheses in the data must be escaped).
(opening parentheses in the data must be escaped).
`GS1NOCHECK_MODE` Do not check GS1 data for validity, i.e. suppress
checks for valid AIs and data lengths. Invalid
@@ -3355,9 +3356,9 @@ inclusion of parentheses in the AI data without escaping.
For compatibility with data entry in other systems, the option `--gs1parens`
(API `input_mode |= GS1PARENS_MODE`) may be used to signal that AIs are encased
in parentheses. If there are any parentheses in the AI data, they must be
escaped with a backslash (`\(` or `\)`) and the option `--esc` (API `input_mode
|= ESCAPE_MODE`) selected.
in parentheses. If there are any opening parentheses in the AI data, they must
be escaped with a backslash (`\(`). Optionally, for clarity, closing parentheses
may also be escaped,
Fixed length data should be entered at the appropriate length for correct
encoding. GS1-128 does not support extended ASCII (ISO/IEC 8859-1) characters.

View File

@@ -1353,12 +1353,13 @@ 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). GS1 Digital Link URIs are also supported. To encode GS1
data use the --gs1 option. Also recommended is the --gs1strict option, which
verifies the GS1 data. GS1 mode is 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, Code One, Data Matrix, DotCode, QR Code and
Ultracode.
(see 6.1.10.3 GS1-128). For matrix symbologies, GS1 Digital Link URIs are also
supported. To encode GS1 data use the --gs1 option. Alternatively, use the
--gs1strict option, which strictly verifies the GS1 data.
GS1 mode is 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, Code One, Data Matrix, DotCode, QR Code and Ultracode.
Health Industry Barcode (HIBC) data may also be encoded in the symbologies Aztec
Code, Codablock-F, Code 128, Code 39, Data Matrix, MicroPDF417, PDF417 and QR
@@ -2368,7 +2369,7 @@ member. Valid values are shown in the table below.
GS1PARENS_MODE Parentheses (round brackets) used in GS1 data instead
of square brackets to delimit Application Identifiers
(parentheses in the data must be escaped).
(opening parentheses in the data must be escaped).
GS1NOCHECK_MODE Do not check GS1 data for validity, i.e. suppress
checks for valid AIs and data lengths. Invalid
@@ -3226,9 +3227,9 @@ inclusion of parentheses in the AI data without escaping.
For compatibility with data entry in other systems, the option --gs1parens (API
input_mode |= GS1PARENS_MODE) may be used to signal that AIs are encased in
parentheses. If there are any parentheses in the AI data, they must be escaped
with a backslash (\( or \)) and the option --esc (API input_mode |= ESCAPE_MODE)
selected.
parentheses. If there are any opening parentheses in the AI data, they must be
escaped with a backslash (\(). Optionally, for clarity, closing parentheses may
also be escaped,
Fixed length data should be entered at the appropriate length for correct
encoding. GS1-128 does not support extended ASCII (ISO/IEC 8859-1) characters.
@@ -5259,22 +5260,25 @@ OPTIONS
--gs1
Treat input as GS1 compatible data. Application Identifiers (AIs) should be
placed in square brackets "[]" (but see --gs1parens).
placed in square brackets "[]" (but see --gs1parens). Also accepts GS1
Digital Link URIs (unverified) for matrix symbologies.
--gs1nocheck
Do not check the validity of GS1 data.
Treat input as GS1 compatible data (as --gs1) but do not check the validity
of the data.
--gs1parens
Process parentheses "()" as GS1 AI delimiters, rather than square brackets
"[]". If the AI data contains parentheses, they must be backslashed ("\(" or
"\)") and the --esc option selected.
Treat input as GS1 compatible data (as --gs1) but process parentheses "()"
as GS1 AI delimiters, rather than square brackets "[]". If the AI data
contains opening parentheses, they must be backslashed ("\(").
--gs1strict
Uses the GS1 Syntax Engine (if available) to strictly verify GS1 data.
Ignored if --gs1nocheck also given.
Treat input as GS1 compatible data (as --gs1) and use the GS1 Syntax Engine
(if available) to strictly verify the GS1 data, including GS1 Digital Link
URIs. Ignored if --gs1nocheck also given.
--gssep

View File

@@ -231,19 +231,23 @@ non\-ASCII data.
Treat input as GS1 compatible data.
Application Identifiers (AIs) should be placed in square brackets
\f[CR]\(dq[]\(dq\f[R] (but see \f[CR]\-\-gs1parens\f[R]).
Also accepts GS1 Digital Link URIs (unverified) for matrix symbologies.
.TP
\f[CR]\-\-gs1nocheck\f[R]
Do not check the validity of GS1 data.
Treat input as GS1 compatible data (as \f[CR]\-\-gs1\f[R]) but do not
check the validity of the data.
.TP
\f[CR]\-\-gs1parens\f[R]
Process parentheses \f[CR]\(dq()\(dq\f[R] as GS1 AI delimiters, rather
than square brackets \f[CR]\(dq[]\(dq\f[R].
If the AI data contains parentheses, they must be backslashed
(\f[CR]\(dq\(rs(\(dq\f[R] or \f[CR]\(dq\(rs)\(dq\f[R]) and the
\f[CR]\-\-esc\f[R] option selected.
Treat input as GS1 compatible data (as \f[CR]\-\-gs1\f[R]) but process
parentheses \f[CR]\(dq()\(dq\f[R] as GS1 AI delimiters, rather than
square brackets \f[CR]\(dq[]\(dq\f[R].
If the AI data contains opening parentheses, they must be backslashed
(\f[CR]\(dq\(rs(\(dq\f[R]).
.TP
\f[CR]\-\-gs1strict\f[R]
Uses the GS1 Syntax Engine (if available) to strictly verify GS1 data.
Treat input as GS1 compatible data (as \f[CR]\-\-gs1\f[R]) and use the
GS1 Syntax Engine (if available) to strictly verify the GS1 data,
including GS1 Digital Link URIs.
Ignored if \f[CR]\-\-gs1nocheck\f[R] also given.
.TP
\f[CR]\-\-gssep\f[R]

View File

@@ -204,20 +204,21 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
`--gs1`
: Treat input as GS1 compatible data. Application Identifiers (AIs) should be placed in square brackets `"[]"` (but
see `--gs1parens`).
see `--gs1parens`). Also accepts GS1 Digital Link URIs (unverified) for matrix symbologies.
`--gs1nocheck`
: Do not check the validity of GS1 data.
: Treat input as GS1 compatible data (as `--gs1`) but do not check the validity of the data.
`--gs1parens`
: Process parentheses `"()"` as GS1 AI delimiters, rather than square brackets `"[]"`. If the AI data contains
parentheses, they must be backslashed (`"\("` or `"\)"`) and the `--esc` option selected.
: Treat input as GS1 compatible data (as `--gs1`) but process parentheses `"()"` as GS1 AI delimiters, rather than
square brackets `"[]"`. If the AI data contains opening parentheses, they must be backslashed (`"\("`).
`--gs1strict`
: Uses the GS1 Syntax Engine (if available) to strictly verify GS1 data. Ignored if `--gs1nocheck` also given.
: Treat input as GS1 compatible data (as `--gs1`) and use the GS1 Syntax Engine (if available) to strictly verify
the GS1 data, including GS1 Digital Link URIs. Ignored if `--gs1nocheck` also given.
`--gssep`