1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-07-31 10:29:52 +00:00

AZTEC: add almost optimal encoding algorithm, previous algorithm

available via "--fast" (input_mode |= FAST_MODE) (ticket #347);
  add new option "--azfull" (option_3 = ZINT_AZTEC_FULL) to only
  consider Full symbols (not Compact ones) on automatic sizing
GUI: adjust Aztec tab to show feedback by selecting combos and
  shorten message to just actual ECC;
  grpCodabar min width
library: debug source input dump 200 -> 2000
common: some code fiddling (c -> ch, flg -> flag)
backend_tcl: add "-azfull" option & make capitalization of
  help more consistent
general: remove some trailing whitespace
manual: make Aztec ECCs more precise, i.e. ">=" rather than ">"
  (similarly in GUI)
CLI: code fiddling c -> opt
This commit is contained in:
gitlost
2026-02-02 14:20:10 +00:00
parent cf5ef9ec20
commit bcb3ceefe1
33 changed files with 4430 additions and 927 deletions
+17 -7
View File
@@ -334,7 +334,7 @@
<h1 class="title">Zint Barcode Generator and Zint Barcode Studio User
Manual</h1>
<p class="author">Version 2.16.0.9</p>
<p class="date">December 2025</p>
<p class="date">February 2026</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
@@ -7478,30 +7478,35 @@ Correction Modes</caption>
<tbody>
<tr>
<td>1</td>
<td>&gt;10% + 3 codewords</td>
<td>&gt;=10% + 3 codewords</td>
</tr>
<tr>
<td>2</td>
<td>&gt;23% + 3 codewords</td>
<td>&gt;=23% + 3 codewords</td>
</tr>
<tr>
<td>3</td>
<td>&gt;36% + 3 codewords</td>
<td>&gt;=36% + 3 codewords</td>
</tr>
<tr>
<td>4</td>
<td>&gt;50% + 3 codewords</td>
<td>&gt;=50% + 3 codewords</td>
</tr>
</tbody>
</table>
<p>It is not possible to select both symbol size and error correction
capacity for the same symbol. If both options are selected then the
error correction capacity selection will be ignored.</p>
<p>Compact symbols can be excluded from consideration on automatic
sizing by specifying <code>--azfull</code> (API
<code>symbol-&gt;option_3 = ZINT_AZTEC_FULL</code>).</p>
<p>Aztec Code supports ECI encoding and can encode up to a maximum
length of approximately 3823 numeric or 3067 alphabetic characters or
1914 bytes of data. A separate symbology ID
(<code>BARCODE_HIBC_AZTEC</code>) can be used to encode Health Industry
Barcode (HIBC) data.</p>
<p>For a faster but less optimal encodation, the <code>--fast</code>
option (API <code>input_mode |= FAST_MODE</code>) may be used.</p>
<p>Aztec Code supports Structured Append of up to 26 symbols and an
optional alphanumeric ID of up to 32 characters, which can be set by
using the <code>--structapp</code> option (see <a
@@ -8291,7 +8296,7 @@ alt="zint -b FLAT -d &quot;1304056&quot;" />
Information</h1>
<h2 id="license">7.1 License</h2>
<p>Zint, <code>libzint</code> and Zint Barcode Studio are Copyright ©
2025 Robin Stuart. All historical versions are distributed under the GNU
2026 Robin Stuart. All historical versions are distributed under the GNU
General Public License version 3 or later. Versions 2.5 and later are
released under a dual license: the encoding library is released under
the BSD (3 clause) license whereas the GUI, Zint Barcode Studio, and the
@@ -8977,6 +8982,11 @@ add-on. <em>INTEGER</em> is in integral multiples of the X-dimension.
The maximum gap that can be set is 12. The minimum is 7, except for
UPC-A, when the minimum is 9.</p>
</dd>
<dt><code>--azfull</code></dt>
<dd>
<p>For Aztec Code symbols, exclude Compact versions when considering
automatic sizes (i.e. consider Full versions only).</p>
</dd>
<dt><code>--batch</code></dt>
<dd>
<p>Treat each line of an input file specified with <code>-i</code> |
@@ -9681,7 +9691,7 @@ ISO/IEC 16390:2007, ISO/IEC 16023:2000, ISO/IEC 24728:2006, ISO/IEC
15438:2015, ISO/IEC 18004:2024, ISO/IEC 23941:2022, AIM ITS/04-023
(2022)</p>
<h2 id="copyright">COPYRIGHT</h2>
<p>Copyright © 2025 Robin Stuart. Released under GNU GPL 3.0 or
<p>Copyright © 2026 Robin Stuart. Released under GNU GPL 3.0 or
later.</p>
<h2 id="author">AUTHOR</h2>
<p>Robin Stuart <a href="mailto:robin@zint.org.uk"
+12 -6
View File
@@ -1,6 +1,6 @@
% Zint Barcode Generator and Zint Barcode Studio User Manual
% Version 2.16.0.9
% December 2025
% February 2026
# 1. Introduction
@@ -4708,10 +4708,10 @@ the `--secure` option (API `option_1`) to a value from the following table.
Mode Error Correction Capacity
---- -------------------------
1 >10% + 3 codewords
2 >23% + 3 codewords
3 >36% + 3 codewords
4 >50% + 3 codewords
1 >=10% + 3 codewords
2 >=23% + 3 codewords
3 >=36% + 3 codewords
4 >=50% + 3 codewords
Table: Aztec Code Error Correction Modes {#tbl:aztec_eccs}
@@ -4719,11 +4719,17 @@ It is not possible to select both symbol size and error correction capacity for
the same symbol. If both options are selected then the error correction capacity
selection will be ignored.
Compact symbols can be excluded from consideration on automatic sizing by
specifying `--azfull` (API `symbol->option_3 = ZINT_AZTEC_FULL`).
Aztec Code supports ECI encoding and can encode up to a maximum length of
approximately 3823 numeric or 3067 alphabetic characters or 1914 bytes of data.
A separate symbology ID (`BARCODE_HIBC_AZTEC`) can be used to encode Health
Industry Barcode (HIBC) data.
For a faster but less optimal encodation, the `--fast` option (API `input_mode
|= FAST_MODE`) may be used.
Aztec Code supports Structured Append of up to 26 symbols and an optional
alphanumeric ID of up to 32 characters, which can be set by using the
`--structapp` option (see [4.17 Structured Append]) (API `structapp`). The ID
@@ -5019,7 +5025,7 @@ maximum of 128 digits and does not include a check digit.
## 7.1 License
Zint, `libzint` and Zint Barcode Studio are Copyright © 2025 Robin Stuart. All
Zint, `libzint` and Zint Barcode Studio are Copyright © 2026 Robin Stuart. All
historical versions are distributed under the GNU General Public License version
3 or later. Versions 2.5 and later are released under a dual license: the
encoding library is released under the BSD (3 clause) license whereas the GUI,
+19 -8
View File
@@ -1,6 +1,6 @@
Zint Barcode Generator and Zint Barcode Studio User Manual
Version 2.16.0.9
December 2025
February 2026
*******************************************************************************
* For reference the following is a text-only version of the Zint manual, *
@@ -4510,10 +4510,10 @@ recommended, and anything less than 5% + 3 codewords will result in a warning).
Mode Error Correction Capacity
------ ---------------------------
1 >10% + 3 codewords
2 >23% + 3 codewords
3 >36% + 3 codewords
4 >50% + 3 codewords
1 >=10% + 3 codewords
2 >=23% + 3 codewords
3 >=36% + 3 codewords
4 >=50% + 3 codewords
Table 39: Aztec Code Error Correction Modes
@@ -4521,11 +4521,17 @@ It is not possible to select both symbol size and error correction capacity for
the same symbol. If both options are selected then the error correction capacity
selection will be ignored.
Compact symbols can be excluded from consideration on automatic sizing by
specifying --azfull (API symbol->option_3 = ZINT_AZTEC_FULL).
Aztec Code supports ECI encoding and can encode up to a maximum length of
approximately 3823 numeric or 3067 alphabetic characters or 1914 bytes of data.
A separate symbology ID (BARCODE_HIBC_AZTEC) can be used to encode Health
Industry Barcode (HIBC) data.
For a faster but less optimal encodation, the --fast option (API
input_mode |= FAST_MODE) may be used.
Aztec Code supports Structured Append of up to 26 symbols and an optional
alphanumeric ID of up to 32 characters, which can be set by using the
--structapp option (see 4.17 Structured Append) (API structapp). The ID cannot
@@ -4813,7 +4819,7 @@ maximum of 128 digits and does not include a check digit.
7.1 License
Zint, libzint and Zint Barcode Studio are Copyright © 2025 Robin Stuart. All
Zint, libzint and Zint Barcode Studio are Copyright © 2026 Robin Stuart. All
historical versions are distributed under the GNU General Public License version
3 or later. Versions 2.5 and later are released under a dual license: the
encoding library is released under the BSD (3 clause) license whereas the GUI,
@@ -5105,7 +5111,7 @@ configured barcode is updated when the "Generate" button is pressed.
Annex D. Man Page ZINT(1)
% ZINT(1) Version 2.16.0.9 % % December 2025
% ZINT(1) Version 2.16.0.9 % % February 2026
NAME
@@ -5152,6 +5158,11 @@ OPTIONS
INTEGER is in integral multiples of the X-dimension. The maximum gap that
can be set is 12. The minimum is 7, except for UPC-A, when the minimum is 9.
--azfull
For Aztec Code symbols, exclude Compact versions when considering automatic
sizes (i.e. consider Full versions only).
--batch
Treat each line of an input file specified with -i | --input as a separate
@@ -5819,7 +5830,7 @@ AIM ITS/04-023 (2022)
COPYRIGHT
Copyright © 2025 Robin Stuart. Released under GNU GPL 3.0 or later.
Copyright © 2026 Robin Stuart. Released under GNU GPL 3.0 or later.
AUTHOR
+6 -2
View File
@@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.8.3
.\"
.TH "ZINT" "1" "December 2025" "Version 2.16.0.9"
.TH "ZINT" "1" "February 2026" "Version 2.16.0.9"
.SH NAME
\f[CR]zint\f[R] \- encode data as a barcode image
.SH SYNOPSIS
@@ -46,6 +46,10 @@ add\-on.
The maximum gap that can be set is 12.
The minimum is 7, except for UPC\-A, when the minimum is 9.
.TP
\f[CR]\-\-azfull\f[R]
For Aztec Code symbols, exclude Compact versions when considering
automatic sizes (i.e.\ consider Full versions only).
.TP
\f[CR]\-\-batch\f[R]
Treat each line of an input file specified with \f[CR]\-i\f[R] |
\f[CR]\-\-input\f[R] as a separate data set and produce a barcode image
@@ -746,7 +750,7 @@ ISO/IEC 16390:2007, ISO/IEC 16023:2000, ISO/IEC 24728:2006, ISO/IEC
15438:2015, ISO/IEC 18004:2024, ISO/IEC 23941:2022, AIM ITS/04\-023
(2022)
.SH COPYRIGHT
Copyright © 2025 Robin Stuart.
Copyright © 2026 Robin Stuart.
Released under GNU GPL 3.0 or later.
.SH AUTHOR
Robin Stuart \c
+7 -2
View File
@@ -1,6 +1,6 @@
% ZINT(1) Version 2.16.0.9
%
% December 2025
% February 2026
# NAME
@@ -41,6 +41,11 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
: For EAN/UPC symbologies, set the gap between the main data and the add-on. *INTEGER* is in integral multiples of
the X-dimension. The maximum gap that can be set is 12. The minimum is 7, except for UPC-A, when the minimum is 9.
`--azfull`
: For Aztec Code symbols, exclude Compact versions when considering automatic sizes (i.e. consider Full versions
only).
`--batch`
: Treat each line of an input file specified with `-i` | `--input` as a separate data set and produce a barcode
@@ -668,7 +673,7 @@ ISO/IEC 18004:2024, ISO/IEC 23941:2022, AIM ITS/04-023 (2022)
# COPYRIGHT
Copyright © 2025 Robin Stuart. Released under GNU GPL 3.0 or later.
Copyright © 2026 Robin Stuart. Released under GNU GPL 3.0 or later.
# AUTHOR