1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-06-10 15:43:40 +00:00

pandoc: update to 3.10; add extension "four_space_rule" to

txt output to semi-restore previous behaviour;
  adjust GS1-Enabled table & command line so not > 80 chars;
  Fedora now requires tcolorbox install
BWIPP: update to latest
This commit is contained in:
gitlost
2026-06-05 19:17:58 +01:00
parent 919e7bf55c
commit 6f60fccd9a
9 changed files with 460 additions and 414 deletions
Binary file not shown.
+1 -1
View File
@@ -163,7 +163,7 @@ PDF_OPTS = --pdf-engine=xelatex \
-V csquotes=true --dpi=300 -V csquotes=true --dpi=300
TEX_MAN_PAGE = zint.1.tex TEX_MAN_PAGE = zint.1.tex
TXT_OPTS = --lua-filter=$(LUA_FILTER) \ TXT_OPTS = --lua-filter=$(LUA_FILTER) \
--columns 80 --eol=lf -t plain --columns 80 --eol=lf -t plain+four_space_rule
MAN_PAGE_OPTS = -s -t man MAN_PAGE_OPTS = -s -t man
all : $(OUT_PDF) $(OUT_TXT) $(OUT_MAN_PAGE) $(OUT_QT_MAN_PAGE) $(OUT_HTML) all : $(OUT_PDF) $(OUT_TXT) $(OUT_MAN_PAGE) $(OUT_QT_MAN_PAGE) $(OUT_HTML)
+7 -6
View File
@@ -1,4 +1,4 @@
% docs/README 2026-03-22 % docs/README 2026-06-05
% vim: set ts=4 sw=4 et : % vim: set ts=4 sw=4 et :
For generation of "docs/manual.html", "docs/manual.pdf" and "docs/manual.txt" from "manual.pmd" For generation of "docs/manual.html", "docs/manual.pdf" and "docs/manual.txt" from "manual.pmd"
@@ -7,8 +7,8 @@ using pandoc >= 3.8.2.
On Ubuntu/Debian (tested on Ubuntu 22.04 and Ubuntu 24.04) On Ubuntu/Debian (tested on Ubuntu 22.04 and Ubuntu 24.04)
wget https://github.com/jgm/pandoc/releases/download/3.9.0.2/pandoc-3.9.0.2-1-amd64.deb wget https://github.com/jgm/pandoc/releases/download/3.10/pandoc-3.10-1-amd64.deb
sudo dpkg -i pandoc-3.9.0.2-1-amd64.deb sudo dpkg -i pandoc-3.10-1-amd64.deb
sudo apt install librsvg2-bin sudo apt install librsvg2-bin
sudo apt install texlive-xetex sudo apt install texlive-xetex
sudo apt install texlive-lang-cjk sudo apt install texlive-lang-cjk
@@ -17,9 +17,9 @@ On Ubuntu/Debian (tested on Ubuntu 22.04 and Ubuntu 24.04)
On Fedora (tested on Fedora Linux 38 (Workstation Edition) and Fedora Linux 42 (Workstation Edition)) On Fedora (tested on Fedora Linux 38 (Workstation Edition) and Fedora Linux 42 (Workstation Edition))
wget https://github.com/jgm/pandoc/releases/download/3.9.0.2/pandoc-3.9.0.2-linux-amd64.tar.gz wget https://github.com/jgm/pandoc/releases/download/3.10/pandoc-3.10-linux-amd64.tar.gz
tar xf pandoc-3.9.0.2-linux-amd64.tar.gz tar xf pandoc-3.10-linux-amd64.tar.gz
sudo mv -i pandoc-3.9.0.2/bin/pandoc /usr/local/bin sudo mv -i pandoc-3.10/bin/pandoc /usr/local/bin
sudo dnf install librsvg2-tools.x86_64 sudo dnf install librsvg2-tools.x86_64
sudo dnf install texlive-xetex sudo dnf install texlive-xetex
sudo dnf install texlive-ctex.noarch sudo dnf install texlive-ctex.noarch
@@ -29,6 +29,7 @@ On Fedora (tested on Fedora Linux 38 (Workstation Edition) and Fedora Linux 42 (
sudo dnf install texlive-sectsty.noarch sudo dnf install texlive-sectsty.noarch
sudo dnf install texlive-xecjk.noarch sudo dnf install texlive-xecjk.noarch
sudo dnf install texlive-tex-gyre.noarch sudo dnf install texlive-tex-gyre.noarch
sudo dnf install texlive-tcolorbox.noarch
sudo dnf install wqy-microhei-fonts.noarch sudo dnf install wqy-microhei-fonts.noarch
make make
+50 -43
View File
@@ -334,7 +334,7 @@
<h1 class="title">Zint Barcode Generator and Zint Barcode Studio User <h1 class="title">Zint Barcode Generator and Zint Barcode Studio User
Manual</h1> Manual</h1>
<p class="author">Version 2.16.0.9</p> <p class="author">Version 2.16.0.9</p>
<p class="date">May 2026</p> <p class="date">June 2026</p>
</header> </header>
<nav id="TOC" role="doc-toc"> <nav id="TOC" role="doc-toc">
<ul> <ul>
@@ -2957,113 +2957,120 @@ alt="zint -b QRCODE --binary -d &quot;\xE2\x82\xAC\xE5\xB8\xB8&quot; --esc" />
<h3 id="gs1-data-entry-and-options">4.11.3 GS1 Data Entry and <h3 id="gs1-data-entry-and-options">4.11.3 GS1 Data Entry and
Options</h3> Options</h3>
<p>The following symbologies accept GS1 data:</p> <p>The following symbologies accept GS1 data:</p>
<table> <table style="width:82%;">
<caption><span class="table-label">Table 10:</span> GS1-Enabled <caption><span class="table-label">Table 10:</span> GS1-Enabled
Symbologies</caption> Symbologies</caption>
<colgroup>
<col style="width: 36%" />
<col style="width: 13%" />
<col style="width: 13%" />
<col style="width: 18%" />
</colgroup>
<thead> <thead>
<tr> <tr>
<th style="text-align: left;">Symbology</th> <th style="text-align: left;">Symbology</th>
<th>Implicit AI?</th> <th style="text-align: left;">Implicit AI?</th>
<th>Assumed?</th> <th>GS1 Data Assumed?</th>
<th>Supports Composite?</th> <th style="text-align: left;">Supports GS1 Composite?</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td style="text-align: left;">Aztec Code</td> <td style="text-align: left;">Aztec Code</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">Code 16K</td> <td style="text-align: left;">Code 16K</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">Code 49</td> <td style="text-align: left;">Code 49</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">Code One</td> <td style="text-align: left;">Code One</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">Data Matrix</td> <td style="text-align: left;">Data Matrix</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">DotCode</td> <td style="text-align: left;">DotCode</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">EAN-13, EAN-8</td> <td style="text-align: left;">EAN-13, EAN-8</td>
<td>Yes (01)</td> <td style="text-align: left;">Yes (01)</td>
<td>Yes</td>
<td>Yes</td> <td>Yes</td>
<td style="text-align: left;">Yes</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">EAN-14</td> <td style="text-align: left;">EAN-14</td>
<td>Yes (01)</td> <td style="text-align: left;">Yes (01)</td>
<td>Yes</td> <td>Yes</td>
<td>No</td> <td style="text-align: left;">No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">GS1-128</td> <td style="text-align: left;">GS1-128</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>Yes</td>
<td>Yes</td> <td>Yes</td>
<td style="text-align: left;">Yes</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">GS1 DataBar Expanded (Stacked)</td> <td style="text-align: left;">GS1 DataBar Expanded (including
<td>No</td> Stacked)</td>
<td>Yes</td> <td style="text-align: left;">No</td>
<td>Yes</td> <td>Yes</td>
<td style="text-align: left;">Yes</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">GS1 DataBar (all others)</td> <td style="text-align: left;">GS1 DataBar (all others)</td>
<td>Yes (01)</td> <td style="text-align: left;">Yes (01)</td>
<td>Yes</td>
<td>Yes</td> <td>Yes</td>
<td style="text-align: left;">Yes</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">NVE-18</td> <td style="text-align: left;">NVE-18</td>
<td>Yes (00)</td> <td style="text-align: left;">Yes (00)</td>
<td>Yes</td> <td>Yes</td>
<td>No</td> <td style="text-align: left;">No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">QR Code</td> <td style="text-align: left;">QR Code</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">rMQR</td> <td style="text-align: left;">rMQR</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">Ultracode</td> <td style="text-align: left;">Ultracode</td>
<td style="text-align: left;">No</td>
<td>No</td> <td>No</td>
<td>No</td> <td style="text-align: left;">No</td>
<td>No</td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left;">UPC-A, UPC-E</td> <td style="text-align: left;">UPC-A, UPC-E</td>
<td>Yes (01)</td> <td style="text-align: left;">Yes (01)</td>
<td>Yes</td>
<td>Yes</td> <td>Yes</td>
<td style="text-align: left;">Yes</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -3078,13 +3085,13 @@ distinguish AIs.</p>
<p>The traditional way in Zint of specifying GS1 data for these cases is <p>The traditional way in Zint of specifying GS1 data for these cases is
to delimit the GS1 AIs in square brackets:</p> to delimit the GS1 AIs in square brackets:</p>
<div class="sourceCode" id="cb48"><pre <div class="sourceCode" id="cb48"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;[01]09520123456788[10]BATCH4[21]07&quot;</span> <span class="at">--gs1</span></span></code></pre></div> class="sourceCode bash"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;[01]09520123456788[10]BCH4[21]07&quot;</span> <span class="at">--gs1</span></span></code></pre></div>
<p>(Note that for the matrix symbologies the <code>--gs1</code> option <p>(Note that for the matrix symbologies the <code>--gs1</code> option
must be given.)</p> must be given.)</p>
<p>Parentheses (round brackets) may be used instead by giving the <p>Parentheses (round brackets) may be used instead by giving the
<code>--gs1parens</code> option:</p> <code>--gs1parens</code> option:</p>
<div class="sourceCode" id="cb49"><pre <div class="sourceCode" id="cb49"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;(01)09520123456788(10)BATCH4(21)07&quot;</span> <span class="at">--gs1parens</span></span></code></pre></div> class="sourceCode bash"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;(01)09520123456788(10)BCH4(21)07&quot;</span> <span class="at">--gs1parens</span></span></code></pre></div>
<p>If the data includes opening parentheses when using the latter <p>If the data includes opening parentheses when using the latter
format, they must be escaped and the <code>--esc</code> option format, they must be escaped and the <code>--esc</code> option
given:</p> given:</p>
@@ -3093,7 +3100,7 @@ class="sourceCode bash"><code class="sourceCode bash"><span id="cb50-1"><a href=
<p>Closing parentheses may also be escaped for clarity.</p> <p>Closing parentheses may also be escaped for clarity.</p>
<p>For matrix symbologies, a GS1 Digital Link URI may be used:</p> <p>For matrix symbologies, a GS1 Digital Link URI may be used:</p>
<div class="sourceCode" id="cb51"><pre <div class="sourceCode" id="cb51"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;https://example.com/01/09520123456788/10/BATCH4/21/07&quot;</span> <span class="at">--gs1</span></span></code></pre></div> class="sourceCode bash"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;https://example.com/01/09520123456788/10/BCH4/21/07&quot;</span> <span class="at">--gs1</span></span></code></pre></div>
<p>A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax <p>A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax
Engine format<a href="#fn10" class="footnote-ref" id="fnref10" Engine format<a href="#fn10" class="footnote-ref" id="fnref10"
role="doc-noteref"><sup>10</sup></a> that uses carets (<code>^</code>) role="doc-noteref"><sup>10</sup></a> that uses carets (<code>^</code>)
@@ -3101,13 +3108,13 @@ to indicate any required <code>FNC1</code>s.<a href="#fn11"
class="footnote-ref" id="fnref11" role="doc-noteref"><sup>11</sup></a> class="footnote-ref" id="fnref11" role="doc-noteref"><sup>11</sup></a>
The data must start with a caret:</p> The data must start with a caret:</p>
<div class="sourceCode" id="cb52"><pre <div class="sourceCode" id="cb52"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;^010952012345678810BATCH4^2107&quot;</span> <span class="at">--gs1</span></span></code></pre></div> class="sourceCode bash"><code class="sourceCode bash"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;^010952012345678810BCH4^2107&quot;</span> <span class="at">--gs1</span></span></code></pre></div>
<p>The final way to specify input is the related “raw” mode using the <p>The final way to specify input is the related “raw” mode using the
<code>--gs1raw</code> option. Here <code>FNC1</code>s are indicated by <code>--gs1raw</code> option. Here <code>FNC1</code>s are indicated by
Group Separators (<code>GS</code>, ASCII 29, escape sequence Group Separators (<code>GS</code>, ASCII 29, escape sequence
<code>\G</code>). It does not start with a <code>GS</code>:</p> <code>\G</code>). It does not start with a <code>GS</code>:</p>
<div class="sourceCode" id="cb53"><pre <div class="sourceCode" id="cb53"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;010952012345678810BATCH4\G2107&quot;</span> <span class="at">--esc</span> <span class="at">--gs1raw</span></span></code></pre></div> class="sourceCode bash"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> AZTEC <span class="at">-d</span> <span class="st">&quot;010952012345678810BCH4\G2107&quot;</span> <span class="at">--esc</span> <span class="at">--gs1raw</span></span></code></pre></div>
<h4 id="gs1-options">4.11.3.2 GS1 Options</h4> <h4 id="gs1-options">4.11.3.2 GS1 Options</h4>
<p>Apart from <code>--gs1</code>, <code>--gs1parens</code> and <p>Apart from <code>--gs1</code>, <code>--gs1parens</code> and
<code>--gs1raw</code> discussed above, there are two other GS1 <code>--gs1raw</code> discussed above, there are two other GS1
+28 -9
View File
@@ -1,6 +1,6 @@
% Zint Barcode Generator and Zint Barcode Studio User Manual % Zint Barcode Generator and Zint Barcode Studio User Manual
% Version 2.16.0.9 % Version 2.16.0.9
% May 2026 % June 2026
[//]: # ( vim: set ts=4 sw=4 et : ) [//]: # ( vim: set ts=4 sw=4 et : )
@@ -1508,24 +1508,43 @@ zint -b QRCODE --binary -d "UTF-8 data"
The following symbologies accept GS1 data: The following symbologies accept GS1 data:
Symbology Implicit AI? Assumed? Supports Composite? ----------------------------------------------------------
------------- ------------ -------- ------------------- Symbology Implicit GS1 Data Supports GS1
AI? Assumed? Composite?
------------- -------- -------- ------------
Aztec Code No No No Aztec Code No No No
Code 16K No No No Code 16K No No No
Code 49 No No No Code 49 No No No
Code One No No No Code One No No No
Data Matrix No No No Data Matrix No No No
DotCode No No No DotCode No No No
EAN-13, EAN-8 Yes (01) Yes Yes EAN-13, EAN-8 Yes (01) Yes Yes
EAN-14 Yes (01) Yes No EAN-14 Yes (01) Yes No
GS1-128 No Yes Yes GS1-128 No Yes Yes
GS1 DataBar Expanded (Stacked) No Yes Yes
GS1 DataBar Expanded No Yes Yes
(including Stacked)
GS1 DataBar (all others) Yes (01) Yes Yes GS1 DataBar (all others) Yes (01) Yes Yes
NVE-18 Yes (00) Yes No NVE-18 Yes (00) Yes No
QR Code No No No QR Code No No No
rMQR No No No rMQR No No No
Ultracode No No No Ultracode No No No
UPC-A, UPC-E Yes (01) Yes Yes UPC-A, UPC-E Yes (01) Yes Yes
----------------------------------------------------------
Table: GS1-Enabled Symbologies Table: GS1-Enabled Symbologies
@@ -1542,7 +1561,7 @@ The traditional way in Zint of specifying GS1 data for these cases is to delimit
the GS1 AIs in square brackets: the GS1 AIs in square brackets:
```bash ```bash
zint -b AZTEC -d "[01]09520123456788[10]BATCH4[21]07" --gs1 zint -b AZTEC -d "[01]09520123456788[10]BCH4[21]07" --gs1
``` ```
(Note that for the matrix symbologies the `--gs1` option must be given.) (Note that for the matrix symbologies the `--gs1` option must be given.)
@@ -1551,7 +1570,7 @@ Parentheses (round brackets) may be used instead by giving the `--gs1parens`
option: option:
```bash ```bash
zint -b AZTEC -d "(01)09520123456788(10)BATCH4(21)07" --gs1parens zint -b AZTEC -d "(01)09520123456788(10)BCH4(21)07" --gs1parens
``` ```
If the data includes opening parentheses when using the latter format, they must If the data includes opening parentheses when using the latter format, they must
@@ -1566,7 +1585,7 @@ Closing parentheses may also be escaped for clarity.
For matrix symbologies, a GS1 Digital Link URI may be used: For matrix symbologies, a GS1 Digital Link URI may be used:
```bash ```bash
zint -b AZTEC -d "https://example.com/01/09520123456788/10/BATCH4/21/07" --gs1 zint -b AZTEC -d "https://example.com/01/09520123456788/10/BCH4/21/07" --gs1
``` ```
A further way to specify GS1 input is "Unbracketed AI", a GS1 Syntax Engine A further way to specify GS1 input is "Unbracketed AI", a GS1 Syntax Engine
@@ -1574,7 +1593,7 @@ format[^10] that uses carets (`^`) to indicate any required `FNC1`s.[^11] The
data must start with a caret: data must start with a caret:
```bash ```bash
zint -b AZTEC -d "^010952012345678810BATCH4^2107" --gs1 zint -b AZTEC -d "^010952012345678810BCH4^2107" --gs1
``` ```
[^10]: For more information on the "Unbracketed AI" format for GS1 data entry, [^10]: For more information on the "Unbracketed AI" format for GS1 data entry,
@@ -1594,7 +1613,7 @@ option. Here `FNC1`s are indicated by Group Separators (`GS`, ASCII 29, escape
sequence `\G`). It does not start with a `GS`: sequence `\G`). It does not start with a `GS`:
```bash ```bash
zint -b AZTEC -d "010952012345678810BATCH4\G2107" --esc --gs1raw zint -b AZTEC -d "010952012345678810BCH4\G2107" --esc --gs1raw
``` ```
#### 4.11.3.2 GS1 Options #### 4.11.3.2 GS1 Options
+88 -69
View File
@@ -1,6 +1,6 @@
Zint Barcode Generator and Zint Barcode Studio User Manual Zint Barcode Generator and Zint Barcode Studio User Manual
Version 2.16.0.9 Version 2.16.0.9
May 2026 June 2026
******************************************************************************* *******************************************************************************
* For reference the following is a text-only version of the Zint manual, * * For reference the following is a text-only version of the Zint manual, *
@@ -1565,25 +1565,43 @@ by default and do not support ECI. In this case supply UTF-8 data and use the
The following symbologies accept GS1 data: The following symbologies accept GS1 data:
Symbology Implicit AI? Assumed? Supports Composite? ------------------------------------------------------------
-------------------------------- -------------- ---------- ------------------- Symbology Implicit GS1 Data Supports GS1
-- AI? Assumed? Composite?
------------------------- ---------- ---------- ------------
Aztec Code No No No Aztec Code No No No
Code 16K No No No Code 16K No No No
Code 49 No No No Code 49 No No No
Code One No No No Code One No No No
Data Matrix No No No Data Matrix No No No
DotCode No No No DotCode No No No
EAN-13, EAN-8 Yes (01) Yes Yes EAN-13, EAN-8 Yes (01) Yes Yes
EAN-14 Yes (01) Yes No EAN-14 Yes (01) Yes No
GS1-128 No Yes Yes GS1-128 No Yes Yes
GS1 DataBar Expanded (Stacked) No Yes Yes
GS1 DataBar Expanded No Yes Yes
(including Stacked)
GS1 DataBar (all others) Yes (01) Yes Yes GS1 DataBar (all others) Yes (01) Yes Yes
NVE-18 Yes (00) Yes No NVE-18 Yes (00) Yes No
QR Code No No No QR Code No No No
rMQR No No No rMQR No No No
Ultracode No No No Ultracode No No No
UPC-A, UPC-E Yes (01) Yes Yes UPC-A, UPC-E Yes (01) Yes Yes
------------------------------------------------------------
Table 10: GS1-Enabled Symbologies Table 10: GS1-Enabled Symbologies
@@ -1599,14 +1617,14 @@ encode multiple AIs, require markup in the data to distinguish AIs.
The traditional way in Zint of specifying GS1 data for these cases is to delimit The traditional way in Zint of specifying GS1 data for these cases is to delimit
the GS1 AIs in square brackets: the GS1 AIs in square brackets:
zint -b AZTEC -d "[01]09520123456788[10]BATCH4[21]07" --gs1 zint -b AZTEC -d "[01]09520123456788[10]BCH4[21]07" --gs1
(Note that for the matrix symbologies the --gs1 option must be given.) (Note that for the matrix symbologies the --gs1 option must be given.)
Parentheses (round brackets) may be used instead by giving the --gs1parens Parentheses (round brackets) may be used instead by giving the --gs1parens
option: option:
zint -b AZTEC -d "(01)09520123456788(10)BATCH4(21)07" --gs1parens zint -b AZTEC -d "(01)09520123456788(10)BCH4(21)07" --gs1parens
If the data includes opening parentheses when using the latter format, they must If the data includes opening parentheses when using the latter format, they must
be escaped and the --esc option given: be escaped and the --esc option given:
@@ -1617,39 +1635,39 @@ Closing parentheses may also be escaped for clarity.
For matrix symbologies, a GS1 Digital Link URI may be used: For matrix symbologies, a GS1 Digital Link URI may be used:
zint -b AZTEC -d "https://example.com/01/09520123456788/10/BATCH4/21/07" --g zint -b AZTEC -d "https://example.com/01/09520123456788/10/BCH4/21/07" --gs1
s1
A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax Engine A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax Engine
format[10] that uses carets (^) to indicate any required FNC1s.[11] The data format[10] that uses carets (^) to indicate any required FNC1s.[11] The data
must start with a caret: must start with a caret:
zint -b AZTEC -d "^010952012345678810BATCH4^2107" --gs1 zint -b AZTEC -d "^010952012345678810BCH4^2107" --gs1
The final way to specify input is the related “raw” mode using the --gs1raw The final way to specify input is the related “raw” mode using the --gs1raw
option. Here FNC1s are indicated by Group Separators (GS, ASCII 29, escape option. Here FNC1s are indicated by Group Separators (GS, ASCII 29, escape
sequence \G). It does not start with a GS: sequence \G). It does not start with a GS:
zint -b AZTEC -d "010952012345678810BATCH4\G2107" --esc --gs1raw zint -b AZTEC -d "010952012345678810BCH4\G2107" --esc --gs1raw
4.11.3.2 GS1 Options 4.11.3.2 GS1 Options
Apart from --gs1, --gs1parens and --gs1raw discussed above, there are two other Apart from --gs1, --gs1parens and --gs1raw discussed above, there are two other
GS1 options. GS1 options.
- --gs1strict, which enables the use the GS1 Syntax Engine to strictly validate - --gs1strict, which enables the use the GS1 Syntax Engine to strictly
GS1 data, including GS1 Digital Link URIs (by default Zint does not validate validate GS1 data, including GS1 Digital Link URIs (by default Zint does not
Digital Links at all). It requires that the gs1encoders library was present validate Digital Links at all). It requires that the gs1encoders library was
when Zint was built, otherwise the default built-in validation will be used. present when Zint was built, otherwise the default built-in validation will
be used.
- --gs1nocheck, for use with legacy systems that have data that does not conform - --gs1nocheck, for use with legacy systems that have data that does not
to the current GS1 standard. Printable ASCII input is still checked for, as is conform to the current GS1 standard. Printable ASCII input is still checked
the validity of GS1 data specified without AIs (e.g. linear data for GS1 for, as is the validity of GS1 data specified without AIs (e.g. linear data
DataBar Omnidirectional/Limited/etc.). Also checked is GS1 DataBar Expanded for GS1 DataBar Omnidirectional/Limited/etc.). Also checked is GS1 DataBar
and GS1 Composite input that is not in the GS1 encodable character set 82 (see Expanded and GS1 Composite input that is not in the GS1 encodable character
GS1 General Specifications 26.0 Table 7-2 “GS1 AI encodable character set set 82 (see GS1 General Specifications 26.0 Table 7-2 “GS1 AI encodable
82”), otherwise encodation would fail. In “Unbracketed AI” and raw mode, character set 82”), otherwise encodation would fail. In “Unbracketed AI” and
overlong AI data will also fail. raw mode, overlong AI data will also fail.
All the GS1 options imply --gs1 (unlike their API equivalents, for which see All the GS1 options imply --gs1 (unlike their API equivalents, for which see
5.11 Setting the Input Mode). 5.11 Setting the Input Mode).
@@ -5048,14 +5066,14 @@ Below is a list of some of the sources used in rough chronological order:
- SB Electronic Systems Telepen website - SB Electronic Systems Telepen website
- Pharmacode specifications from Laetus - Pharmacode specifications from Laetus
- Morovia RM4SCC specification - Morovia RM4SCC specification
- Australia Posts A Guide to Printing the 4-State Barcode and bcsample source - Australia Posts A Guide to Printing the 4-State Barcode and bcsample
code source code
- Plessey algorithm from GNU-Barcode v0.98 by Leonid A. Broukhis - Plessey algorithm from GNU-Barcode v0.98 by Leonid A. Broukhis
- GS1 General Specifications v 8.0 Issue 2 - GS1 General Specifications v 8.0 Issue 2
- PNG: The Definitive Guide and wpng source code by Greg Reolofs - PNG: The Definitive Guide and wpng source code by Greg Reolofs
- PDF417 specification and pdf417 source code by Grand Zebu - PDF417 specification and pdf417 source code by Grand Zebu
- Barcode Reference, TBarCode/X User Documentation and TBarCode/X demonstration - Barcode Reference, TBarCode/X User Documentation and TBarCode/X
program from TEC-IT demonstration program from TEC-IT
- IEC16022 source code by Stefan Schmidt et al - IEC16022 source code by Stefan Schmidt et al
- United States Postal Service Specification USPS-B-3200 - United States Postal Service Specification USPS-B-3200
- Adobe Systems Incorporated Encapsulated PostScript File Format Specification - Adobe Systems Incorporated Encapsulated PostScript File Format Specification
@@ -5069,56 +5087,57 @@ international standards:
7.5.1 Symbology Standards 7.5.1 Symbology Standards
- ISO/IEC 24778:2024 Information technology - Automatic identification and data - ISO/IEC 24778:2024 Information technology - Automatic identification and
capture techniques - Aztec Code bar code symbology specification data capture techniques - Aztec Code bar code symbology specification
- SEMI T1-95 Specification for Back Surface Bar Code Marking of Silicon Wafers - SEMI T1-95 Specification for Back Surface Bar Code Marking of Silicon Wafers
(BC412) (1996) (BC412) (1996)
- ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code - ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code
- BS EN 798:1996 Bar coding - Symbology specifications - Codabar - BS EN 798:1996 Bar coding - Symbology specifications - Codabar
- AIM Europe ISS-X-24 - Uniform Symbology Specification Codablock F (1995) - AIM Europe ISS-X-24 - Uniform Symbology Specification Codablock F (1995)
- ISO/IEC 15417:2007 Information technology - Automatic identification and data - ISO/IEC 15417:2007 Information technology - Automatic identification and
capture techniques - Code 128 bar code symbology specification data capture techniques - Code 128 bar code symbology specification
- BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K - BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K
- ISO/IEC 16388:2023 Information technology - Automatic identification and data - ISO/IEC 16388:2023 Information technology - Automatic identification and
capture techniques - Code 39 bar code symbology specification data capture techniques - Code 39 bar code symbology specification
- ANSI/AIM BC6-2000 - Uniform Symbology Specification Code 49 - ANSI/AIM BC6-2000 - Uniform Symbology Specification Code 49
- ANSI/AIM BC5-1995 - Uniform Symbology Specification Code 93 - ANSI/AIM BC5-1995 - Uniform Symbology Specification Code 93
- AIM Uniform Symbology Specification Code One (1994) - AIM Uniform Symbology Specification Code One (1994)
- ISO/IEC 16022:2024 Information technology - Automatic identification and data - ISO/IEC 16022:2024 Information technology - Automatic identification and
capture techniques - Data Matrix bar code symbology specification data capture techniques - Data Matrix bar code symbology specification
- ISO/IEC 21471:2025 Information technology - Automatic identification and data - ISO/IEC 21471:2025 Information technology - Automatic identification and
capture techniques - Extended rectangular data matrix (DMRE) bar code data capture techniques - Extended rectangular data matrix (DMRE) bar code
symbology specification symbology specification
- AIM TSC1705001 (v 4.0 Draft 0.15) - Information technology - Automatic - AIM TSC1705001 (v 4.0 Draft 0.15) - Information technology - Automatic
identification and data capture techniques - Bar code symbology identification and data capture techniques - Bar code symbology
specification - DotCode (Revised 28th May 2019) specification - DotCode (Revised 28th May 2019)
- ISO/IEC 15420:2025 Information technology - Automatic identification and data - ISO/IEC 15420:2025 Information technology - Automatic identification and
capture techniques - EAN/UPC bar code symbology specification data capture techniques - EAN/UPC bar code symbology specification
- AIMD014 (v 1.63) - Information technology, Automatic identification and data - AIMD014 (v 1.63) - Information technology, Automatic identification and data
capture techniques - Bar code symbology specification - Grid Matrix (Released capture techniques - Bar code symbology specification - Grid Matrix
9th Dec 2008) (Released 9th Dec 2008)
- ISO/IEC 24723:2010 Information technology - Automatic identification and data - ISO/IEC 24723:2010 Information technology - Automatic identification and
capture techniques - GS1 Composite bar code symbology specification data capture techniques - GS1 Composite bar code symbology specification
- ISO/IEC 24724:2011 Information technology - Automatic identification and data - ISO/IEC 24724:2011 Information technology - Automatic identification and
capture techniques - GS1 DataBar bar code symbology specification data capture techniques - GS1 DataBar bar code symbology specification
- ISO/IEC 20830:2021 Information technology - Automatic identification and data - ISO/IEC 20830:2021 Information technology - Automatic identification and
capture techniques - Han Xin Code bar code symbology specification data capture techniques - Han Xin Code bar code symbology specification
- ISO/IEC 16390:2007 Information technology - Automatic identification and data - ISO/IEC 16390:2007 Information technology - Automatic identification and
capture techniques - Interleaved 2 of 5 bar code symbology specification data capture techniques - Interleaved 2 of 5 bar code symbology
specification
- ISO/IEC 16023:2000 Information technology - International symbology - ISO/IEC 16023:2000 Information technology - International symbology
specification - MaxiCode specification - MaxiCode
- ISO/IEC 24728:2006 Information technology - Automatic identification and data - ISO/IEC 24728:2006 Information technology - Automatic identification and
capture techniques - MicroPDF417 bar code symbology specification data capture techniques - MicroPDF417 bar code symbology specification
- ISO/IEC 15438:2015 Information technology - Automatic identification and data - ISO/IEC 15438:2015 Information technology - Automatic identification and
capture techniques - PDF417 bar code symbology specification data capture techniques - PDF417 bar code symbology specification
- ISO/IEC 18004:2024 Information technology - Automatic identification and data - ISO/IEC 18004:2024 Information technology - Automatic identification and
capture techniques - QR Code bar code symbology specification data capture techniques - QR Code bar code symbology specification
- ISO/IEC 23941:2022 Information technology - Automatic identification and data - ISO/IEC 23941:2022 Information technology - Automatic identification and
capture techniques - Rectangular Micro QR Code (rMQR) bar code symbology data capture techniques - Rectangular Micro QR Code (rMQR) bar code
specification symbology specification
- AIM Europe X-25 - Uniform Symbology Specification Telepen (1991) - AIM Europe X-25 - Uniform Symbology Specification Telepen (1991)
- AIMD/TSC15032-43 (v 0.99c) - International Technical Specification - Ultracode - AIMD/TSC15032-43 (v 0.99c) - International Technical Specification -
Symbology (Draft) (Released 4th Nov 2015) Ultracode Symbology (Draft) (Released 4th Nov 2015)
A number of other specification documents have also been referenced, such as A number of other specification documents have also been referenced, such as
MIL-STD-1189 Rev. B (1989) (LOGMARS), USPS DMM 300 2006 (2011) (POSTNET, PLANET, MIL-STD-1189 Rev. B (1989) (LOGMARS), USPS DMM 300 2006 (2011) (POSTNET, PLANET,
@@ -5128,20 +5147,20 @@ company references in particular.
7.5.2 General Standards 7.5.2 General Standards
- AIM ITS/04-001 International Technical Standard - Extended Channel - AIM ITS/04-001 International Technical Standard - Extended Channel
Interpretations Part 1: Identification Schemes and Protocol (Released 24th May Interpretations Part 1: Identification Schemes and Protocol (Released 24th
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 26.0 (Jan 2026) - GS1 General Specifications Release 26.0 (Jan 2026)
- 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
- ANSI/HIBC 1.3-2010 - The Health Industry Bar Code (HIBC) Provider Applications - ANSI/HIBC 1.3-2010 - The Health Industry Bar Code (HIBC) Provider
Standard Applications Standard
- ISO/IEC 15424:2025 Information technology - Automatic identification and data - ISO/IEC 15424:2025 Information technology - Automatic identification and
capture techniques - Data carrier identifiers (including symbology data capture techniques - Data carrier identifiers (including symbology
identifiers) identifiers)
- ISO/IEC 15434:2019 Information technology — Automatic identification and data - ISO/IEC 15434:2019 Information technology — Automatic identification and
capture techniques — Syntax for high-capacity ADC media data capture techniques — Syntax for high-capacity ADC media
Annex A. Character Encoding Annex A. Character Encoding
@@ -5293,7 +5312,7 @@ configured barcode is updated when the "Generate" button is pressed.
Annex D. Man Page ZINT(1) Annex D. Man Page ZINT(1)
% ZINT(1) Version 2.16.0.9 % % May 2026 % ZINT(1) Version 2.16.0.9 % % June 2026
NAME NAME
+1 -1
View File
@@ -1,4 +1,4 @@
.\" Automatically generated by Pandoc 3.9.0.2 .\" Automatically generated by Pandoc 3.10
.\" .\"
.TH "ZINT\-QT" "1" "March 2026" "Version 2.16.0.9" .TH "ZINT\-QT" "1" "March 2026" "Version 2.16.0.9"
.SH NAME .SH NAME
+2 -2
View File
@@ -1,6 +1,6 @@
.\" Automatically generated by Pandoc 3.9.0.2 .\" Automatically generated by Pandoc 3.10
.\" .\"
.TH "ZINT" "1" "May 2026" "Version 2.16.0.9" .TH "ZINT" "1" "June 2026" "Version 2.16.0.9"
.SH NAME .SH NAME
\f[CR]zint\f[R] \- encode data as a barcode image \f[CR]zint\f[R] \- encode data as a barcode image
.SH SYNOPSIS .SH SYNOPSIS
+1 -1
View File
@@ -1,6 +1,6 @@
% ZINT(1) Version 2.16.0.9 % ZINT(1) Version 2.16.0.9
% %
% May 2026 % June 2026
[//]: # ( vim: set ts=4 sw=4 et : ) [//]: # ( vim: set ts=4 sw=4 et : )