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

TELEPEN/TELEPEN_NUM: support AIM-defined Start/Stop characters

with option "--vers=1" (API `option_2 = 1`);
  define minimum height based on AIM USS Telepen
TELEPEN_NUM: support switching to Full ASCII mode with DLE;
  max digits 136 -> 138
TELEPEN: support switching to Compressed Numeric Mode with DLE
  if AIM-defined Start/Stop enabled
CLI: make args for  "--dmb256", "--dmc40", "--scalexdimdp" and
  "--scmvv" optional
library: new escape sequences `\L`, `\F`, `\N`, & refactor parsing
  to use `escs` table
ZBarcode_Scale_From_XdimDp: allow TXT filetype (so "--dump" test
  works)
output: Telepen default quiet zone confirmed as 10X
aztec/dmatrix: fix source line too long
man page: embolden options and emphasize args;
  add barcode names to standards; various other fixes
This commit is contained in:
gitlost
2026-05-26 20:32:51 +01:00
parent 07777d044a
commit 771a1b3cdd
34 changed files with 2167 additions and 1155 deletions
+5 -5
View File
@@ -1,12 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="461" height="193" version="1.1" xmlns="http://www.w3.org/2000/svg">
<svg width="615" height="193" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="461" height="193" fill="#FFFFFF"/>
<path d="M0 0h4.8v153.6h-4.8ZM9.6 0h4.8v153.6h-4.8ZM19.2 0h4.8v153.6h-4.8ZM28.8 0h4.8v153.6h-4.8ZM38.4 0h4.8v153.6h-4.8ZM48 0h14.4v153.6h-14.4ZM76.8 0h14.4v153.6h-14.4ZM105.6 0h4.8v153.6h-4.8ZM115.2 0h4.8v153.6h-4.8ZM124.8 0h14.4v153.6h-14.4ZM153.6 0h14.4v153.6h-14.4ZM172.8 0h4.8v153.6h-4.8ZM192 0h4.8v153.6h-4.8ZM201.6 0h4.8v153.6h-4.8ZM220.8 0h4.8v153.6h-4.8ZM230.4 0h14.4v153.6h-14.4ZM249.6 0h14.4v153.6h-14.4ZM268.8 0h4.8v153.6h-4.8ZM278.4 0h4.8v153.6h-4.8ZM288 0h14.4v153.6h-14.4ZM307.2 0h14.4v153.6h-14.4ZM326.4 0h4.8v153.6h-4.8ZM336 0h4.8v153.6h-4.8ZM345.6 0h4.8v153.6h-4.8ZM355.2 0h4.8v153.6h-4.8ZM364.8 0h14.4v153.6h-14.4ZM384 0h14.4v153.6h-14.4ZM412.8 0h4.8v153.6h-4.8ZM422.4 0h4.8v153.6h-4.8ZM432 0h4.8v153.6h-4.8ZM441.6 0h4.8v153.6h-4.8ZM451.2 0h4.8v153.6h-4.8Z"/>
<text x="230.4" y="185.63" text-anchor="middle" font-family="Arimo, Arial, sans-serif" font-size="33.6">
Z80
<rect x="0" y="0" width="615" height="193" fill="#FFFFFF"/>
<path d="M0 0h4.8v153.6h-4.8ZM9.6 0h4.8v153.6h-4.8ZM19.2 0h4.8v153.6h-4.8ZM28.8 0h4.8v153.6h-4.8ZM38.4 0h4.8v153.6h-4.8ZM48 0h14.4v153.6h-14.4ZM76.8 0h14.4v153.6h-14.4ZM105.6 0h4.8v153.6h-4.8ZM115.2 0h4.8v153.6h-4.8ZM124.8 0h14.4v153.6h-14.4ZM153.6 0h14.4v153.6h-14.4ZM172.8 0h4.8v153.6h-4.8ZM192 0h4.8v153.6h-4.8ZM201.6 0h4.8v153.6h-4.8ZM220.8 0h4.8v153.6h-4.8ZM230.4 0h14.4v153.6h-14.4ZM249.6 0h14.4v153.6h-14.4ZM268.8 0h4.8v153.6h-4.8ZM278.4 0h4.8v153.6h-4.8ZM288 0h14.4v153.6h-14.4ZM307.2 0h14.4v153.6h-14.4ZM326.4 0h14.4v153.6h-14.4ZM345.6 0h4.8v153.6h-4.8ZM355.2 0h4.8v153.6h-4.8ZM364.8 0h14.4v153.6h-14.4ZM384 0h14.4v153.6h-14.4ZM403.2 0h14.4v153.6h-14.4ZM422.4 0h4.8v153.6h-4.8ZM432 0h4.8v153.6h-4.8ZM441.6 0h14.4v153.6h-14.4ZM460.8 0h4.8v153.6h-4.8ZM470.4 0h4.8v153.6h-4.8ZM480 0h4.8v153.6h-4.8ZM499.2 0h4.8v153.6h-4.8ZM518.4 0h4.8v153.6h-4.8ZM528 0h4.8v153.6h-4.8ZM537.6 0h14.4v153.6h-14.4ZM566.4 0h4.8v153.6h-4.8ZM576 0h4.8v153.6h-4.8ZM585.6 0h4.8v153.6h-4.8ZM595.2 0h4.8v153.6h-4.8ZM604.8 0h4.8v153.6h-4.8Z"/>
<text x="307.2" y="185.63" text-anchor="middle" font-family="Arimo, Arial, sans-serif" font-size="33.6">
Z8000
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="538" height="193" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="538" height="193" fill="#FFFFFF"/>
<path d="M0 0h4.8v153.6h-4.8ZM9.6 0h4.8v153.6h-4.8ZM19.2 0h4.8v153.6h-4.8ZM28.8 0h14.4v153.6h-14.4ZM48 0h4.8v153.6h-4.8ZM57.6 0h4.8v153.6h-4.8ZM76.8 0h14.4v153.6h-14.4ZM105.6 0h4.8v153.6h-4.8ZM115.2 0h4.8v153.6h-4.8ZM124.8 0h14.4v153.6h-14.4ZM153.6 0h14.4v153.6h-14.4ZM172.8 0h14.4v153.6h-14.4ZM192 0h4.8v153.6h-4.8ZM201.6 0h14.4v153.6h-14.4ZM220.8 0h4.8v153.6h-4.8ZM230.4 0h4.8v153.6h-4.8ZM240 0h4.8v153.6h-4.8ZM249.6 0h14.4v153.6h-14.4ZM278.4 0h4.8v153.6h-4.8ZM288 0h4.8v153.6h-4.8ZM297.6 0h4.8v153.6h-4.8ZM307.2 0h4.8v153.6h-4.8ZM316.8 0h4.8v153.6h-4.8ZM326.4 0h4.8v153.6h-4.8ZM345.6 0h4.8v153.6h-4.8ZM364.8 0h14.4v153.6h-14.4ZM384 0h4.8v153.6h-4.8ZM403.2 0h4.8v153.6h-4.8ZM412.8 0h4.8v153.6h-4.8ZM432 0h14.4v153.6h-14.4ZM451.2 0h4.8v153.6h-4.8ZM460.8 0h14.4v153.6h-14.4ZM480 0h4.8v153.6h-4.8ZM489.6 0h4.8v153.6h-4.8ZM508.8 0h4.8v153.6h-4.8ZM518.4 0h4.8v153.6h-4.8ZM528 0h4.8v153.6h-4.8Z"/>
<text x="268.8" y="185.63" text-anchor="middle" font-family="Arimo, Arial, sans-serif" font-size="33.6">
Z8000
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="538" height="193" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="538" height="193" fill="#FFFFFF"/>
<path d="M0 0h4.8v153.6h-4.8ZM9.6 0h4.8v153.6h-4.8ZM19.2 0h4.8v153.6h-4.8ZM28.8 0h4.8v153.6h-4.8ZM38.4 0h4.8v153.6h-4.8ZM48 0h14.4v153.6h-14.4ZM76.8 0h4.8v153.6h-4.8ZM86.4 0h4.8v153.6h-4.8ZM96 0h4.8v153.6h-4.8ZM105.6 0h14.4v153.6h-14.4ZM124.8 0h4.8v153.6h-4.8ZM134.4 0h14.4v153.6h-14.4ZM153.6 0h14.4v153.6h-14.4ZM172.8 0h14.4v153.6h-14.4ZM192 0h4.8v153.6h-4.8ZM201.6 0h14.4v153.6h-14.4ZM220.8 0h4.8v153.6h-4.8ZM230.4 0h4.8v153.6h-4.8ZM240 0h14.4v153.6h-14.4ZM259.2 0h14.4v153.6h-14.4ZM278.4 0h14.4v153.6h-14.4ZM307.2 0h14.4v153.6h-14.4ZM336 0h14.4v153.6h-14.4ZM355.2 0h14.4v153.6h-14.4ZM384 0h14.4v153.6h-14.4ZM403.2 0h4.8v153.6h-4.8ZM412.8 0h14.4v153.6h-14.4ZM432 0h14.4v153.6h-14.4ZM460.8 0h14.4v153.6h-14.4ZM489.6 0h4.8v153.6h-4.8ZM499.2 0h4.8v153.6h-4.8ZM508.8 0h4.8v153.6h-4.8ZM518.4 0h4.8v153.6h-4.8ZM528 0h4.8v153.6h-4.8Z"/>
<text x="268.8" y="185.63" text-anchor="middle" font-family="Arimo, Arial, sans-serif" font-size="33.6">
12AB
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="461" height="193" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="461" height="193" fill="#FFFFFF"/>
<path d="M0 0h4.8v153.6h-4.8ZM9.6 0h4.8v153.6h-4.8ZM19.2 0h4.8v153.6h-4.8ZM28.8 0h4.8v153.6h-4.8ZM38.4 0h4.8v153.6h-4.8ZM48 0h14.4v153.6h-14.4ZM76.8 0h4.8v153.6h-4.8ZM86.4 0h4.8v153.6h-4.8ZM96 0h4.8v153.6h-4.8ZM105.6 0h14.4v153.6h-14.4ZM124.8 0h4.8v153.6h-4.8ZM134.4 0h14.4v153.6h-14.4ZM153.6 0h14.4v153.6h-14.4ZM172.8 0h14.4v153.6h-14.4ZM192 0h4.8v153.6h-4.8ZM201.6 0h14.4v153.6h-14.4ZM220.8 0h4.8v153.6h-4.8ZM230.4 0h4.8v153.6h-4.8ZM240 0h4.8v153.6h-4.8ZM249.6 0h14.4v153.6h-14.4ZM268.8 0h4.8v153.6h-4.8ZM278.4 0h4.8v153.6h-4.8ZM288 0h14.4v153.6h-14.4ZM307.2 0h4.8v153.6h-4.8ZM316.8 0h14.4v153.6h-14.4ZM345.6 0h4.8v153.6h-4.8ZM355.2 0h14.4v153.6h-14.4ZM374.4 0h4.8v153.6h-4.8ZM384 0h14.4v153.6h-14.4ZM412.8 0h4.8v153.6h-4.8ZM422.4 0h4.8v153.6h-4.8ZM432 0h4.8v153.6h-4.8ZM441.6 0h4.8v153.6h-4.8ZM451.2 0h4.8v153.6h-4.8Z"/>
<text x="230.4" y="185.63" text-anchor="middle" font-family="Arimo, Arial, sans-serif" font-size="33.6">
123
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+351 -255
View File
File diff suppressed because it is too large Load Diff
+54 -13
View File
@@ -1,6 +1,6 @@
% Zint Barcode Generator and Zint Barcode Studio User Manual
% Version 2.16.0.9
% April 2026
% May 2026
[//]: # ( vim: set ts=4 sw=4 et : )
@@ -560,12 +560,18 @@ Sequence Equivalent
`\r` 0x0D `CR` Carriage Return
`\L` 0x10 `DLE` Data Link Escape
`\e` 0x1B `ESC` Escape
`\F` 0x1C `FS` File Separator
`\G` 0x1D `GS` Group Separator
`\R` 0x1E `RS` Record Separator
`\N` 0x1F `US` Unit Separator
`\(` 0x28 `(` Opening parenthesis (only with `--gs1parens`)
`\)` 0x29 `)` Closing parenthesis (only with `--gs1parens`)
@@ -619,7 +625,7 @@ Sequence
Table: Extra Escape Sequences {#tbl:extra_escapes}
Currently the only special character recognized is the Function Code 1 character
Currently the only special character recognised is the Function Code 1 character
`FNC1`. If your data contains the sequence "`\^`" then it must be escaped using
the extra escape sequence "`\^^`", i.e. by doubling the caret.
@@ -1176,21 +1182,21 @@ account, is to specify measurable units using the `--scalexdimdp` option, which
has the format
```
--scalexdimdp=X[,R]
--scalexdimdp[=X[,R]]
```
where `X` is the X-dimension (in mm by default) and `R` is the resolution (in
dpmm, dots per mm, by default). `R` is optional, and defaults to 12 dpmm, and
`X` may be zero, in which case it uses a symbology-specific default. The units
may be given in inches for `X` by appending `"in"`, and in dpi (dots per inch)
for `R` by appending `"dpi"`. For example
`X` is optional or may be zero, in which case it uses a symbology-specific
default. The units may be given in inches for `X` by appending `"in"`, and in
dpi (dots per inch) for `R` by appending `"dpi"`. For example
```bash
zint -d "1234" --scalexdimdp=0.013in,300dpi
```
Explicit metric units may also be given by appending `"mm"` and `"dpmm"` as
appropriate, and may be mixed with U.S. units:
Explicit metric units may also be given (for clarity) by appending `"mm"` and
`"dpmm"` as appropriate, and may be mixed with U.S. units:
```bash
zint -d "1234" --scalexdimdp=0.33mm,300dpi
@@ -1212,7 +1218,7 @@ This will result in output of 37.29mm x 25.56mm (WxH) at 12 dpmm. The same
result can be achieved using the `--scalexdimdp` option with
```bash
zint -b EAN13 -d "501234567890" --compliantheight --scalexdimdp=0
zint -b EAN13 -d "501234567890" --compliantheight --scalexdimdp
```
as 0.33mm is the default X-dimension for EAN, and 12 dpmm the default
@@ -3325,20 +3331,47 @@ Telepen Alpha was developed in 1972 by SB Electronic Systems Limited and can
encode ASCII text input, up to a maximum of 69 characters. Telepen includes a
hidden modulo-127 check digit, added by Zint.
![`zint -b TELEPEN --compliantheight -d "Z80"`](images/telepen.svg){.lin}
![`zint -b TELEPEN --compliantheight -d "Z8000"`](images/telepen.svg){.lin}
Full ASCII + Compressed Numeric Mode, which uses different AIM-defined
Start/Stop characters, may be enabled by setting `--vers=1` (API
`option_2 = 1`). In this mode control character `DLE` (ASCII 16, escape sequence
`\L`) indicates a switch from Full ASCII to Compressed Numeric, where each
symbol character encodes a digit pair:
![`zint -b TELEPEN --compliantheight -d
"Z\L8000" -esc --vers=1`](images/telepen_aim.svg){.lin}
However not all barcode readers recognise this mode so check before using.
#### 6.1.6.2 Telepen Numeric
Telepen Numeric allows compression of numeric data into a Telepen symbol. Data
can consist of pairs of numbers or pairs consisting of a numerical digit
followed an X character. For example: 466333 and 466X33 are valid codes whereas
46X333 is not (the digit pair `"X3"` is not valid). Up to 136 digits can be
46X333 is not (the digit pair `"X3"` is not valid). Up to 138 digits can be
encoded. Telepen Numeric includes a hidden modulo-127 check digit which is added
by Zint.
![`zint -b TELEPEN_NUM --compliantheight -d
"466X33"`](images/telepen_num.svg){.lin}
Trailing ASCII characters may also be encoded by prefixing them with a `DLE`
control character (ASCII 16, escape sequence `\L`) and appending them to the
numeric data:
![`zint -b TELEPEN_NUM --compliantheight -d
"12\LAB"` --esc](images/telepen_num_asc.svg){.lin}
This method allows odd numbers to be encoded without a leading zero:
![`zint -b TELEPEN_NUM --compliantheight -d
"123\L4"` --esc](images/telepen_num_odd.svg){.lin}
AIM-defined Start/Stop characters may be enabled by setting `--vers=1` (API
`option_2 = 1`). This allows barcode readers that recognise them to detect
Compressed Numeric data automatically.
### 6.1.7 Code 39
#### 6.1.7.1 Standard Code 39 (ISO 16388)
@@ -5286,13 +5319,13 @@ international standards:
- AIM Uniform Symbology Specification Code One (1994)
- ISO/IEC 16022:2024 Information technology - Automatic identification and data
capture techniques - Data Matrix bar code symbology specification
- ISO/IEC 21471:2020 Information technology - Automatic identification and data
- ISO/IEC 21471:2025 Information technology - Automatic identification and data
capture techniques - Extended rectangular data matrix (DMRE) bar code
symbology specification
- AIM TSC1705001 (v 4.0 Draft 0.15) - Information technology - Automatic
identification and data capture techniques - Bar code symbology
specification - DotCode (Revised 28th May 2019)
- ISO/IEC 15420:2009 Information technology - Automatic identification and data
- ISO/IEC 15420:2025 Information technology - Automatic identification and data
capture techniques - EAN/UPC bar code symbology specification
- AIMD014 (v 1.63) - Information technology, Automatic identification and data
capture techniques - Bar code symbology specification - Grid Matrix
@@ -5316,6 +5349,7 @@ international standards:
- ISO/IEC 23941:2022 Information technology - Automatic identification and data
capture techniques - Rectangular Micro QR Code (rMQR) bar code symbology
specification
- AIM Europe X-25 - Uniform Symbology Specification Telepen (1991)
- AIMD/TSC15032-43 (v 0.99c) - International Technical Specification - Ultracode
Symbology (Draft) (Released 4th Nov 2015)
@@ -5334,6 +5368,13 @@ company references in particular.
- GS1 General Specifications Release 26.0 (Jan 2026)
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
Standard
- ANSI/HIBC 1.3-2010 - The Health Industry Bar Code (HIBC) Provider Applications
Standard
- ISO/IEC 15424:2025 Information technology - Automatic identification and data
capture techniques - Data carrier identifiers (including symbology
identifiers)
- ISO/IEC 15434:2019 Information technology — Automatic identification and data
capture techniques — Syntax for high-capacity ADC media
# Annex A. Character Encoding
+94 -44
View File
@@ -1,6 +1,6 @@
Zint Barcode Generator and Zint Barcode Studio User Manual
Version 2.16.0.9
April 2026
May 2026
*******************************************************************************
* For reference the following is a text-only version of the Zint manual, *
@@ -716,12 +716,18 @@ sequences are shown in the table below.
\r 0x0D CR Carriage Return
\L 0x10 DLE Data Link Escape
\e 0x1B ESC Escape
\F 0x1C FS File Separator
\G 0x1D GS Group Separator
\R 0x1E RS Record Separator
\N 0x1F US Unit Separator
\( 0x28 ( Opening parenthesis (only with --gs1parens)
\) 0x29 ) Closing parenthesis (only with --gs1parens)
@@ -771,7 +777,7 @@ the sequence backslash caret (“\^”):
Table 3: Extra Escape Sequences
Currently the only special character recognized is the Function Code 1 character
Currently the only special character recognised is the Function Code 1 character
FNC1. If your data contains the sequence “\^” then it must be escaped using the
extra escape sequence “\^^”, i.e. by doubling the caret.
@@ -1278,18 +1284,18 @@ An alternative way to specify the scale, which takes the above details into
account, is to specify measurable units using the --scalexdimdp option, which
has the format
--scalexdimdp=X[,R]
--scalexdimdp[=X[,R]]
where X is the X-dimension (in mm by default) and R is the resolution (in dpmm,
dots per mm, by default). R is optional, and defaults to 12 dpmm, and X may be
zero, in which case it uses a symbology-specific default. The units may be given
in inches for X by appending "in", and in dpi (dots per inch) for R by appending
"dpi". For example
dots per mm, by default). R is optional, and defaults to 12 dpmm, and X is
optional or may be zero, in which case it uses a symbology-specific default. The
units may be given in inches for X by appending "in", and in dpi (dots per inch)
for R by appending "dpi". For example
zint -d "1234" --scalexdimdp=0.013in,300dpi
Explicit metric units may also be given by appending "mm" and "dpmm" as
appropriate, and may be mixed with U.S. units:
Explicit metric units may also be given (for clarity) by appending "mm" and
"dpmm" as appropriate, and may be mixed with U.S. units:
zint -d "1234" --scalexdimdp=0.33mm,300dpi
@@ -1306,7 +1312,7 @@ pixels, or 4 pixels rounding to the nearest pixel:
This will result in output of 37.29mm x 25.56mm (WxH) at 12 dpmm. The same
result can be achieved using the --scalexdimdp option with
zint -b EAN13 -d "501234567890" --compliantheight --scalexdimdp=0
zint -b EAN13 -d "501234567890" --compliantheight --scalexdimdp
as 0.33mm is the default X-dimension for EAN, and 12 dpmm the default
resolution.
@@ -3190,19 +3196,43 @@ Telepen Alpha was developed in 1972 by SB Electronic Systems Limited and can
encode ASCII text input, up to a maximum of 69 characters. Telepen includes a
hidden modulo-127 check digit, added by Zint.
[zint -b TELEPEN --compliantheight -d "Z80"]
[zint -b TELEPEN --compliantheight -d "Z8000"]
Full ASCII + Compressed Numeric Mode, which uses different AIM-defined
Start/Stop characters, may be enabled by setting --vers=1 (API option_2 = 1). In
this mode control character DLE (ASCII 16, escape sequence \L) indicates a
switch from Full ASCII to Compressed Numeric, where each symbol character
encodes a digit pair:
[zint -b TELEPEN --compliantheight -d "Z\L8000" -esc --vers=1]
However not all barcode readers recognise this mode so check before using.
6.1.6.2 Telepen Numeric
Telepen Numeric allows compression of numeric data into a Telepen symbol. Data
can consist of pairs of numbers or pairs consisting of a numerical digit
followed an X character. For example: 466333 and 466X33 are valid codes whereas
46X333 is not (the digit pair "X3" is not valid). Up to 136 digits can be
46X333 is not (the digit pair "X3" is not valid). Up to 138 digits can be
encoded. Telepen Numeric includes a hidden modulo-127 check digit which is added
by Zint.
[zint -b TELEPEN_NUM --compliantheight -d "466X33"]
Trailing ASCII characters may also be encoded by prefixing them with a DLE
control character (ASCII 16, escape sequence \L) and appending them to the
numeric data:
[zint -b TELEPEN_NUM --compliantheight -d "12\LAB" esc]
This method allows odd numbers to be encoded without a leading zero:
[zint -b TELEPEN_NUM --compliantheight -d "123\L4" esc]
AIM-defined Start/Stop characters may be enabled by setting --vers=1 (API
option_2 = 1). This allows barcode readers that recognise them to detect
Compressed Numeric data automatically.
6.1.7 Code 39
6.1.7.1 Standard Code 39 (ISO 16388)
@@ -5054,13 +5084,13 @@ international standards:
- AIM Uniform Symbology Specification Code One (1994)
- ISO/IEC 16022:2024 Information technology - Automatic identification and data
capture techniques - Data Matrix bar code symbology specification
- ISO/IEC 21471:2020 Information technology - Automatic identification and data
- ISO/IEC 21471:2025 Information technology - Automatic identification and data
capture techniques - Extended rectangular data matrix (DMRE) bar code
symbology specification
- AIM TSC1705001 (v 4.0 Draft 0.15) - Information technology - Automatic
identification and data capture techniques - Bar code symbology
specification - DotCode (Revised 28th May 2019)
- ISO/IEC 15420:2009 Information technology - Automatic identification and data
- ISO/IEC 15420:2025 Information technology - Automatic identification and data
capture techniques - EAN/UPC bar code symbology specification
- AIMD014 (v 1.63) - Information technology, Automatic identification and data
capture techniques - Bar code symbology specification - Grid Matrix (Released
@@ -5084,6 +5114,7 @@ international standards:
- ISO/IEC 23941:2022 Information technology - Automatic identification and data
capture techniques - Rectangular Micro QR Code (rMQR) bar code symbology
specification
- AIM Europe X-25 - Uniform Symbology Specification Telepen (1991)
- AIMD/TSC15032-43 (v 0.99c) - International Technical Specification - Ultracode
Symbology (Draft) (Released 4th Nov 2015)
@@ -5102,6 +5133,13 @@ company references in particular.
- GS1 General Specifications Release 26.0 (Jan 2026)
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
Standard
- ANSI/HIBC 1.3-2010 - The Health Industry Bar Code (HIBC) Provider Applications
Standard
- ISO/IEC 15424:2025 Information technology - Automatic identification and data
capture techniques - Data carrier identifiers (including symbology
identifiers)
- ISO/IEC 15434:2019 Information technology — Automatic identification and data
capture techniques — Syntax for high-capacity ADC media
Annex A. Character Encoding
@@ -5253,7 +5291,7 @@ configured barcode is updated when the "Generate" button is pressed.
Annex D. Man Page ZINT(1)
% ZINT(1) Version 2.16.0.9 % % April 2026
% ZINT(1) Version 2.16.0.9 % % May 2026
NAME
@@ -5368,7 +5406,7 @@ OPTIONS
the barcodes specification, or if --height is not given, default to the
height specified by the specification (if any).
-d, --data=DATA
-d DATA, --data=DATA
Specify the input DATA to encode. The --esc option may be used to enter
non-printing characters using escape sequences. The DATA should be UTF-8,
@@ -5379,15 +5417,15 @@ OPTIONS
Send output to stdout, which in most cases should be re-directed to a pipe
or a file. Use --filetype to specify output format.
--dmb256=INTEGER
--dmb256[=INTEGER]
For Data Matrix symbols, encode the first INTEGER input characters in Base
256 mode. 0 means all input.
For Data Matrix symbols, encode the first INTEGER (optional, 0 if not given)
input characters in Base 256 mode. 0 means all input.
--dmc40=INTEGER
--dmc40[=INTEGER]
For Data Matrix symbols, encode the first INTEGER input characters in C40
mode. 0 means all input.
For Data Matrix symbols, encode the first INTEGER (optional, 0 if not given)
input characters in C40 mode. 0 means all input.
--dmiso144
@@ -5445,9 +5483,12 @@ OPTIONS
\v (0x0B) VT Vertical Tab
\f (0x0C) FF Form Feed
\r (0x0D) CR Carriage Return
\L (0x10) DLE Data Link Escape
\e (0x1B) ESC Escape
\F (0x1C) FS File Separator
\G (0x1D) GS Group Separator
\R (0x1E) RS Record Separator
\N (0x1F) US Unit Separator
\( (0x28) ( Opening parenthesis (only with
--gs1parens)
\) (0x29) ) Closing parenthesis (only with
@@ -5475,8 +5516,8 @@ OPTIONS
--fast
Use faster if less optimal encodation or other shortcuts (affects Data
Matrix, MicroPDF417, PDF417, QRCODE & UPNQR only).
Use faster if less optimal encodation or other shortcuts (affects Aztec
Code, Data Matrix, MicroPDF417, PDF417, QR Code & UPNQR only).
--fg=COLOUR
@@ -5550,7 +5591,7 @@ OPTIONS
Treat height as per-row. Affects Codablock F, Code 16K, Code 49, GS1 DataBar
Expanded Stacked (DBAR_EXPSTK), MicroPDF417 and PDF417.
-i, --input=FILE
-i FILE, --input=FILE
Read the input data from FILE. Specify a single hyphen (-) for FILE to read
from stdin.
@@ -5602,7 +5643,7 @@ OPTIONS
Remove the Human Readable Text (HRT).
-o, --output=FILE
-o FILE, --output=FILE
Send the output to FILE. When not in batch mode, the default is “out.png”
(or “out.gif” if zint built without PNG support). When in batch mode
@@ -5654,22 +5695,23 @@ OPTIONS
See also --scalexdimdp below.
--scalexdimdp=X[,R]
--scalexdimdp[=X[,R]]
Scale the image according to X-dimension X and resolution R, where X is in
mm and R is in dpmm (dots per mm). X and R may be floating-point. R is
optional and defaults to 12 dpmm (approximately 300 dpi). X may be zero in
which case a symbology-specific default is used.
optional and defaults to 12 dpmm (approximately 300 dpi). X is optional or
may be zero in which case a symbology-specific default is used.
The scaling takes into account the output filetype, and deals with all the
details mentioned above. Units may be specified for X by appending “in”
(inch) or “mm”, and for R by appending “dpi” (dots per inch) or “dpmm” -
e.g. --scalexdimdp=0.013in,300dpi.
details mentioned above in --scale. Units may be specified for X by
appending “in” (inch) or “mm”, and for R by appending “dpi” (dots per inch)
or “dpmm” - e.g. --scalexdimdp=0.013in,300dpi.
--scmvv=INTEGER
--scmvv[=INTEGER]
For MaxiCode, prefix the Structured Carrier Message (SCM) with
"[)>\R01\Gvv", where vv is a 2-digit INTEGER.
"[)>\R01\Gvv", where vv is an optional 2-digit INTEGER. If INTEGER is
omitted it defaults to 96 (ASC MH10/SC 8).
--secure=INTEGER
@@ -5711,7 +5753,8 @@ OPTIONS
number of symbols in the sequence, and ID, which is optional, is the
identifier that all symbols in the sequence share. Structured Append is
supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix,
MaxiCode, MicroPDF417, PDF417, QR Code and Ultracode.
MaxiCode, MicroPDF417, PDF417, QR Code and Ultracode. Code One, DotCode and
MaxiCode do not support an ID.
-t, --types
@@ -5870,12 +5913,14 @@ OPTIONS
5, 6 (mod-11 NCR, mod-11 NCR + mod-10)
+10 (hide)
For a few other symbologies, it specifies other characteristics:
For some other symbologies, it specifies other characteristics:
Channel Code 3 to 8 (no. of channels)
DAFT 50 to 900 (permille tracker ratio)
DPD 1 (relabel)
PZN 1 (PZN7 instead of default PZN8)
Telepen 1 (use AIM-defined Start/Stop)
Telepen Numeric 1 (use AIM-defined Start/Stop)
Ultracode 2 (revision 2)
VIN 1 (add international prefix)
@@ -5888,7 +5933,7 @@ OPTIONS
Set the height of vertical whitespace above and below the barcode, where
INTEGER is in integral multiples of the X-dimension.
-w, --whitesp=INTEGER
-w INTEGER, --whitesp=INTEGER
Set the width of horizontal whitespace either side of the barcode, where
INTEGER is in integral multiples of the X-dimension.
@@ -5987,13 +6032,18 @@ CONFORMING TO
Zint is designed to be compliant with a number of international standards,
including:
ISO/IEC 24778:2024, ANSI/AIM BC12-1998, EN 798:1996, AIM ISS-X-24 (1995),
ISO/IEC 15417:2007, EN 12323:2005, ISO/IEC 16388:2023, ANSI/AIM BC6-2000,
ANSI/AIM BC5-1995, AIM USS Code One (1994), ISO/IEC 16022:2024, ISO/IEC
21471:2019, ISO/IEC 15420:2009, AIMD014 (v 1.63) (2008), ISO/IEC 24723:2010,
ISO/IEC 24724:2011, ISO/IEC 20830:2021, 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)
ISO/IEC 24778:2024 (Aztec Code), SEMI T1-95 (1996) (BC412), ANSI/AIM BC12-1998
(Channel Code), EN 798:1996 (Codabar), AIM ISS-X-24 (1995) (Codablock F),
ISO/IEC 15417:2007 (Code 128), EN 12323:2005 (Code 16K), ISO/IEC 16388:2023
(Code 39), ANSI/AIM BC6-2000 (Code 49), ANSI/AIM BC5-1995 (Code 93), AIM USS
Code One (1994), ISO/IEC 16022:2024 (Data Matrix), ISO/IEC 21471:2025 (DMRE),
AIM TSC1705001 (2019) (DotCode), ISO/IEC 15420:2025 (EAN/UPC), AIMD014 (v 1.63)
(2008) (Grid Matrix), ISO/IEC 24723:2010 (GS1 Composite), ISO/IEC 24724:2011
(GS1 DataBar), ISO/IEC 20830:2021 (Han Xin Code), ISO/IEC 16390:2007
(Interleaved 2 of 5), ISO/IEC 16023:2000 (MaxiCode), ISO/IEC 24728:2006
(MicroPDF417), ISO/IEC 15438:2015 (PDF417), ISO/IEC 18004:2024 (QR Code),
ISO/IEC 23941:2022 (rMQR), AIM Europe X-25 (1991) (Telepen), AIMD/TSC15032-43
(2015) (Ultracode)
COPYRIGHT
+168 -142
View File
@@ -1,15 +1,15 @@
.\" Automatically generated by Pandoc 3.9.0.2
.\"
.TH "ZINT" "1" "April 2026" "Version 2.16.0.9"
.TH "ZINT" "1" "May 2026" "Version 2.16.0.9"
.SH NAME
\f[CR]zint\f[R] \- encode data as a barcode image
.SH SYNOPSIS
.PP
\f[CR]zint\f[R] [\f[CR]\-h\f[R] | \f[CR]\-\-help\f[R]]
\f[B]\f[CB]zint\f[B]\f[R] [\f[CR]\-h\f[R] | \f[CR]\-\-help\f[R]]
.PD 0
.P
.PD
\f[CR]zint\f[R] [\f[I]options\f[R]]
\f[B]\f[CB]zint\f[B]\f[R] [\f[I]options\f[R]]
.SH DESCRIPTION
zint takes input data from the command line or a file to encode in a
barcode which is then output to an image file.
@@ -28,29 +28,31 @@ Format (\f[CR]PNG\f[R]), Scalable Vector Graphic (\f[CR]SVG\f[R]), or
Tagged Image File Format (\f[CR]TIF\f[R]).
.SH OPTIONS
.TP
\f[CR]\-h\f[R], \f[CR]\-\-help\f[R]
\f[B]\f[CB]\-h\f[B]\f[R], \f[B]\f[CB]\-\-help\f[B]\f[R]
Print usage information summarizing command line options.
.TP
\f[CR]\-b TYPE\f[R], \f[CR]\-\-barcode=TYPE\f[R]
\f[B]\f[CB]\-b\f[B]\f[R] \f[I]\f[CI]TYPE\f[I]\f[R], \f[B]\f[CB]\-\-barcode=\f[B]\f[R]\f[I]\f[CI]TYPE\f[I]\f[R]
Set the barcode symbology that will be used to encode the data.
\f[I]TYPE\f[R] is the number or name of the barcode symbology.
\f[I]\f[CI]TYPE\f[I]\f[R] is the number or name of the barcode
symbology.
If not given, the symbology defaults to 20 (Code 128).
To see what types are available, use the \f[CR]\-t\f[R] |
\f[CR]\-\-types\f[R] option.
Type names are case\-insensitive, and non\-alphanumerics are ignored.
.TP
\f[CR]\-\-addongap=INTEGER\f[R]
\f[B]\f[CB]\-\-addongap=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
For EAN/UPC symbologies, set the gap between the main data and the
add\-on.
\f[I]INTEGER\f[R] is in integral multiples of the X\-dimension.
\f[I]\f[CI]INTEGER\f[I]\f[R] 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.
.TP
\f[CR]\-\-azfull\f[R]
\f[B]\f[CB]\-\-azfull\f[B]\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]
\f[B]\f[CB]\-\-batch\f[B]\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
for each one.
@@ -58,18 +60,18 @@ The barcode images are outputted by default to numbered filenames
starting with \(lq00001.png\(rq, \(lq00002.png\(rq etc., which can be
changed by using the \f[CR]\-o\f[R] | \f[CR]\-\-output\f[R] option.
.TP
\f[CR]\-\-bg=COLOUR\f[R]
Specify a background (paper) colour where \f[I]COLOUR\f[R] is in
hexadecimal \f[CR]RRGGBB\f[R] or \f[CR]RRGGBBAA\f[R] format or in
\f[B]\f[CB]\-\-bg=\f[B]\f[R]\f[I]\f[CI]COLOUR\f[I]\f[R]
Specify a background (paper) colour where \f[I]\f[CI]COLOUR\f[I]\f[R] is
in hexadecimal \f[CR]RRGGBB\f[R] or \f[CR]RRGGBBAA\f[R] format or in
decimal \f[CR]C,M,Y,K\f[R] percentages format.
.TP
\f[CR]\-\-binary\f[R]
\f[B]\f[CB]\-\-binary\f[B]\f[R]
Treat input data as raw 8\-bit binary data instead of the default
UTF\-8.
Automatic code page translation to an ECI page is disabled, and no
validation of the data\(cqs character encoding takes place.
.TP
\f[CR]\-\-bind\f[R]
\f[B]\f[CB]\-\-bind\f[B]\f[R]
Add horizontal boundary bars (also known as bearer bars) to the symbol.
The width of the boundary bars is specified by the \f[CR]\-\-border\f[R]
option.
@@ -78,105 +80,108 @@ symbols stacked with multiple \f[CR]\-d\f[R] | \f[CR]\-\-data\f[R]
inputs, in which case the width of the separator bars is specified with
the \f[CR]\-\-separator\f[R] option.
.TP
\f[CR]\-\-bindtop\f[R]
\f[B]\f[CB]\-\-bindtop\f[B]\f[R]
Add a horizontal boundary bar to the top of the symbol.
The width of the boundary bar is specified by the \f[CR]\-\-border\f[R]
option.
.TP
\f[CR]\-\-bold\f[R]
\f[B]\f[CB]\-\-bold\f[B]\f[R]
Use a bold font for the Human Readable Text (HRT).
.TP
\f[CR]\-\-border=INTEGER\f[R]
\f[B]\f[CB]\-\-border=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the width of boundary bars (\f[CR]\-\-bind\f[R] or
\f[CR]\-\-bindtop\f[R]) or box borders (\f[CR]\-\-box\f[R]), where
\f[I]INTEGER\f[R] is in integral multiples of the X\-dimension.
\f[I]\f[CI]INTEGER\f[I]\f[R] is in integral multiples of the
X\-dimension.
The default is zero.
.TP
\f[CR]\-\-box\f[R]
\f[B]\f[CB]\-\-box\f[B]\f[R]
Add a box around the symbol.
The width of the borders is specified by the \f[CR]\-\-border\f[R]
option.
.TP
\f[CR]\-\-cmyk\f[R]
\f[B]\f[CB]\-\-cmyk\f[B]\f[R]
Use the CMYK colour space when outputting to Encapsulated PostScript
(EPS) or TIF files.
.TP
\f[CR]\-\-cols=INTEGER\f[R]
Set the number of data columns in the symbol to \f[I]INTEGER\f[R].
\f[B]\f[CB]\-\-cols=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the number of data columns in the symbol to
\f[I]\f[CI]INTEGER\f[I]\f[R].
Affects Codablock F, DotCode, GS1 DataBar Expanded Stacked
(DBAR_EXPSTK), MicroPDF417 and PDF417 symbols.
.TP
\f[CR]\-\-compliantheight\f[R]
\f[B]\f[CB]\-\-compliantheight\f[B]\f[R]
Warn if the height specified by the \f[CR]\-\-height\f[R] option is not
compliant with the barcode\(cqs specification, or if
\f[CR]\-\-height\f[R] is not given, default to the height specified by
the specification (if any).
.TP
\f[CR]\-d\f[R], \f[CR]\-\-data=DATA\f[R]
Specify the input \f[I]DATA\f[R] to encode.
\f[B]\f[CB]\-d\f[B]\f[R] \f[I]\f[CI]DATA\f[I]\f[R], \f[B]\f[CB]\-\-data=\f[B]\f[R]\f[I]\f[CI]DATA\f[I]\f[R]
Specify the input \f[I]\f[CI]DATA\f[I]\f[R] to encode.
The \f[CR]\-\-esc\f[R] option may be used to enter non\-printing
characters using escape sequences.
The \f[I]DATA\f[R] should be UTF\-8, unless the \f[CR]\-\-binary\f[R]
option is given, in which case it can be anything.
The \f[I]\f[CI]DATA\f[I]\f[R] should be UTF\-8, unless the
\f[CR]\-\-binary\f[R] option is given, in which case it can be anything.
.TP
\f[CR]\-\-direct\f[R]
\f[B]\f[CB]\-\-direct\f[B]\f[R]
Send output to stdout, which in most cases should be re\-directed to a
pipe or a file.
Use \f[CR]\-\-filetype\f[R] to specify output format.
.TP
\f[CR]\-\-dmb256=INTEGER\f[R]
For Data Matrix symbols, encode the first \f[I]INTEGER\f[R] input
characters in Base 256 mode.
\f[B]\f[CB]\-\-dmb256[=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]\f[CR]]\f[R]
For Data Matrix symbols, encode the first \f[I]\f[CI]INTEGER\f[I]\f[R]
(optional, 0 if not given) input characters in Base 256 mode.
0 means all input.
.TP
\f[CR]\-\-dmc40=INTEGER\f[R]
For Data Matrix symbols, encode the first \f[I]INTEGER\f[R] input
characters in C40 mode.
\f[B]\f[CB]\-\-dmc40[=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]\f[CR]]\f[R]
For Data Matrix symbols, encode the first \f[I]\f[CI]INTEGER\f[I]\f[R]
(optional, 0 if not given) input characters in C40 mode.
0 means all input.
.TP
\f[CR]\-\-dmiso144\f[R]
\f[B]\f[CB]\-\-dmiso144\f[B]\f[R]
For Data Matrix symbols, use the standard ISO/IEC codeword placement for
144 x 144 (\f[CR]\-\-vers=24\f[R]) sized symbols, instead of the default
\(lqde facto\(rq placement (which rotates the placement of ECC
codewords).
.TP
\f[CR]\-\-dmre\f[R]
\f[B]\f[CB]\-\-dmre\f[B]\f[R]
For Data Matrix symbols, allow Data Matrix Rectangular Extended (DMRE)
sizes when considering automatic sizes.
See also \f[CR]\-\-square\f[R].
.TP
\f[CR]\-\-dotsize=NUMBER\f[R]
\f[B]\f[CB]\-\-dotsize=\f[B]\f[R]\f[I]\f[CI]NUMBER\f[I]\f[R]
Set the radius of the dots in dotty mode (\f[CR]\-\-dotty\f[R]).
\f[I]NUMBER\f[R] is in X\-dimensions, and may be floating\-point.
\f[I]\f[CI]NUMBER\f[I]\f[R] is in X\-dimensions, and may be
floating\-point.
The default is 0.8.
.TP
\f[CR]\-\-dotty\f[R]
\f[B]\f[CB]\-\-dotty\f[B]\f[R]
Use dots instead of squares for matrix symbols.
DotCode is always in dotty mode.
.TP
\f[CR]\-\-dump\f[R]
\f[B]\f[CB]\-\-dump\f[B]\f[R]
Dump a hexadecimal representation of the symbol\(cqs encodation to
stdout.
The same representation may be outputted to a file by using a
\f[CR].txt\f[R] extension with \f[CR]\-o\f[R] | \f[CR]\-\-output\f[R] or
by specifying \f[CR]\-\-filetype=txt\f[R].
.TP
\f[CR]\-e\f[R], \f[CR]\-\-ecinos\f[R]
\f[B]\f[CB]\-e\f[B]\f[R], \f[B]\f[CB]\-\-ecinos\f[B]\f[R]
Display the table of ECIs (Extended Channel Interpretations).
.TP
\f[CR]\-\-eci=INTEGER\f[R]
Set the ECI code for the input data to \f[I]INTEGER\f[R].
\f[B]\f[CB]\-\-eci=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the ECI code for the input data to \f[I]\f[CI]INTEGER\f[I]\f[R].
See \f[CR]\-e\f[R] | \f[CR]\-\-ecinos\f[R] for a list of the ECIs
available.
ECIs are supported by Aztec Code, Code One, Data Matrix, DotCode, Grid
Matrix, Han Xin Code, MaxiCode, MicroPDF417, PDF417, QR Code, rMQR and
Ultracode.
.TP
\f[CR]\-\-embedfont\f[R]
\f[B]\f[CB]\-\-embedfont\f[B]\f[R]
For vector output, embed the font in the file for portability.
Currently only available for SVG output.
.TP
\f[CR]\-\-esc\f[R]
\f[B]\f[CB]\-\-esc\f[B]\f[R]
Process escape characters in the input data.
The escape sequences are:
.RS
@@ -191,9 +196,12 @@ The escape sequences are:
\(rsv (0x0B) VT Vertical Tab
\(rsf (0x0C) FF Form Feed
\(rsr (0x0D) CR Carriage Return
\(rsL (0x10) DLE Data Link Escape
\(rse (0x1B) ESC Escape
\(rsF (0x1C) FS File Separator
\(rsG (0x1D) GS Group Separator
\(rsR (0x1E) RS Record Separator
\(rsN (0x1F) US Unit Separator
\(rs( (0x28) ( Opening parenthesis (only with
\-\-gs1parens)
\(rs) (0x29) ) Closing parenthesis (only with
@@ -212,7 +220,7 @@ The escape sequences are:
.EE
.RE
.TP
\f[CR]\-\-extraesc\f[R]
\f[B]\f[CB]\-\-extraesc\f[B]\f[R]
As well as processing the normal escape sequences above, process the
special escape sequences beginning with \f[CR]\(rs\(ha\f[R].
For Aztec Code, Code 128 and Data Matrix, process the escape sequence
@@ -224,26 +232,26 @@ For Code 128 only, process the escape sequences \f[CR]\(rs\(haA\f[R],
that allow manual switching of Code Sets.
The sequence \f[CR]\(rs\(ha\(at\f[R] turns off manual switching.
.TP
\f[CR]\-\-fast\f[R]
Use faster if less optimal encodation or other shortcuts (affects Data
Matrix, MicroPDF417, PDF417, QRCODE & UPNQR only).
\f[B]\f[CB]\-\-fast\f[B]\f[R]
Use faster if less optimal encodation or other shortcuts (affects Aztec
Code, Data Matrix, MicroPDF417, PDF417, QR Code & UPNQR only).
.TP
\f[CR]\-\-fg=COLOUR\f[R]
Specify a foreground (ink) colour where \f[I]COLOUR\f[R] is in
hexadecimal \f[CR]RRGGBB\f[R] or \f[CR]RRGGBBAA\f[R] format or in
\f[B]\f[CB]\-\-fg=\f[B]\f[R]\f[I]\f[CI]COLOUR\f[I]\f[R]
Specify a foreground (ink) colour where \f[I]\f[CI]COLOUR\f[I]\f[R] is
in hexadecimal \f[CR]RRGGBB\f[R] or \f[CR]RRGGBBAA\f[R] format or in
decimal \f[CR]C,M,Y,K\f[R] percentages format.
.TP
\f[CR]\-\-filetype=TYPE\f[R]
Set the output file type to \f[I]TYPE\f[R], which is one of
\f[B]\f[CB]\-\-filetype=\f[B]\f[R]\f[I]\f[CI]TYPE\f[I]\f[R]
Set the output file type to \f[I]\f[CI]TYPE\f[I]\f[R], which is one of
\f[CR]BMP\f[R], \f[CR]EMF\f[R], \f[CR]EPS\f[R], \f[CR]GIF\f[R],
\f[CR]PCX\f[R], \f[CR]PNG\f[R], \f[CR]SVG\f[R], \f[CR]TIF\f[R],
\f[CR]TXT\f[R].
.TP
\f[CR]\-\-fullmultibyte\f[R]
\f[B]\f[CB]\-\-fullmultibyte\f[B]\f[R]
Use the multibyte modes of Grid Matrix, Han Xin and QR Code for
non\-ASCII data.
.TP
\f[CR]\-\-gs1\f[R]
\f[B]\f[CB]\-\-gs1\f[B]\f[R]
Treat input as GS1 compatible data.
A number of input formats are available.
Application Identifiers (AIs) may be placed in square brackets
@@ -255,18 +263,18 @@ For matrix symbologies, GS1 Digital Link URIs (unverified) may be given.
Further input options are available with \f[CR]\-\-gs1parens\f[R] and
\f[CR]\-\-gs1raw\f[R].
.TP
\f[CR]\-\-gs1nocheck\f[R]
\f[B]\f[CB]\-\-gs1nocheck\f[B]\f[R]
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]
\f[B]\f[CB]\-\-gs1parens\f[B]\f[R]
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]\-\-gs1raw\f[R]
\f[B]\f[CB]\-\-gs1raw\f[B]\f[R]
Treat input as GS1 compatible data (as \f[CR]\-\-gs1\f[R]), but process
literally, with any required \f[CR]FNC1\f[R]s represented by
\f[CR]GS\f[R] (0x1D).
@@ -276,55 +284,55 @@ AIs are not delimited by brackets (\f[CR]\(dq[]\(dq\f[R] or
except using \f[CR]GS\f[R]s instead of carets, and without any initial
\f[CR]GS\f[R].)
.TP
\f[CR]\-\-gs1strict\f[R]
\f[B]\f[CB]\-\-gs1strict\f[B]\f[R]
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]
\f[B]\f[CB]\-\-gssep\f[B]\f[R]
For Data Matrix in GS1 mode, use \f[CR]GS\f[R] (0x1D) as the GS1 data
separator instead of \f[CR]FNC1\f[R].
.TP
\f[CR]\-\-guarddescent=NUMBER\f[R]
\f[B]\f[CB]\-\-guarddescent=\f[B]\f[R]\f[I]\f[CI]NUMBER\f[I]\f[R]
For EAN/UPC symbols, set the height the guard bars descend below the
main bars, where \f[I]NUMBER\f[R] is in X\-dimensions.
\f[I]NUMBER\f[R] may be floating\-point.
main bars, where \f[I]\f[CI]NUMBER\f[I]\f[R] is in X\-dimensions.
\f[I]\f[CI]NUMBER\f[I]\f[R] may be floating\-point.
.TP
\f[CR]\-\-guardwhitespace\f[R]
\f[B]\f[CB]\-\-guardwhitespace\f[B]\f[R]
For EAN/UPC symbols, add quiet zone indicators \f[CR]\(dq<\(dq\f[R]
and/or \f[CR]\(dq>\(dq\f[R] to HRT where applicable.
.TP
\f[CR]\-\-height=NUMBER\f[R]
\f[B]\f[CB]\-\-height=\f[B]\f[R]\f[I]\f[CI]NUMBER\f[I]\f[R]
Set the height of the symbol in X\-dimensions.
\f[I]NUMBER\f[R] may be floating\-point.
\f[I]\f[CI]NUMBER\f[I]\f[R] may be floating\-point.
.TP
\f[CR]\-\-heightperrow\f[R]
\f[B]\f[CB]\-\-heightperrow\f[B]\f[R]
Treat height as per\-row.
Affects Codablock F, Code 16K, Code 49, GS1 DataBar Expanded Stacked
(DBAR_EXPSTK), MicroPDF417 and PDF417.
.TP
\f[CR]\-i\f[R], \f[CR]\-\-input=FILE\f[R]
Read the input data from \f[I]FILE\f[R].
Specify a single hyphen (\f[CR]\-\f[R]) for \f[I]FILE\f[R] to read from
stdin.
\f[B]\f[CB]\-i\f[B]\f[R] \f[I]\f[CI]FILE\f[I]\f[R], \f[B]\f[CB]\-\-input=\f[B]\f[R]\f[I]\f[CI]FILE\f[I]\f[R]
Read the input data from \f[I]\f[CI]FILE\f[I]\f[R].
Specify a single hyphen (\f[CR]\-\f[R]) for \f[I]\f[CI]FILE\f[I]\f[R] to
read from stdin.
.TP
\f[CR]\-\-init\f[R]
\f[B]\f[CB]\-\-init\f[B]\f[R]
Create a Reader Initialisation (Programming) symbol.
.TP
\f[CR]\-\-mask=INTEGER\f[R]
\f[B]\f[CB]\-\-mask=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the masking pattern to use for DotCode, Han Xin or QR Code to
\f[I]INTEGER\f[R], overriding the automatic selection.
\f[I]\f[CI]INTEGER\f[I]\f[R], overriding the automatic selection.
.TP
\f[CR]\-\-mirror\f[R]
\f[B]\f[CB]\-\-mirror\f[B]\f[R]
Use the batch data to determine the filename in batch mode
(\f[CR]\-\-batch\f[R]).
The \f[CR]\-o\f[R] | \f[CR]\-\-output\f[R] option can be used to specify
an output directory (any filename will be ignored).
.TP
\f[CR]\-\-mode=INTEGER\f[R]
\f[B]\f[CB]\-\-mode=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
For MaxiCode and GS1 Composite symbols, set the encoding mode to
\f[I]INTEGER\f[R].
\f[I]\f[CI]INTEGER\f[I]\f[R].
.RS
.PP
For MaxiCode (SCM is Structured Carrier Message, with 3 fields:
@@ -349,17 +357,17 @@ i.e.\ \f[CR]EAN8_CC\f[R], \f[CR]EAN13_CC\f[R], \f[CR]GS1_128_CC\f[R],
.EE
.RE
.TP
\f[CR]\-\-nobackground\f[R]
\f[B]\f[CB]\-\-nobackground\f[B]\f[R]
Remove the background colour (EMF, EPS, GIF, PNG, SVG and TIF only).
.TP
\f[CR]\-\-noquietzones\f[R]
\f[B]\f[CB]\-\-noquietzones\f[B]\f[R]
Disable any quiet zones for symbols that define them by default.
.TP
\f[CR]\-\-notext\f[R]
\f[B]\f[CB]\-\-notext\f[B]\f[R]
Remove the Human Readable Text (HRT).
.TP
\f[CR]\-o\f[R], \f[CR]\-\-output=FILE\f[R]
Send the output to \f[I]FILE\f[R].
\f[B]\f[CB]\-o\f[B]\f[R] \f[I]\f[CI]FILE\f[I]\f[R], \f[B]\f[CB]\-\-output=\f[B]\f[R]\f[I]\f[CI]FILE\f[I]\f[R]
Send the output to \f[I]\f[CI]FILE\f[I]\f[R].
When not in batch mode, the default is \(lqout.png\(rq (or
\(lqout.gif\(rq if zint built without PNG support).
When in batch mode (\f[CR]\-\-batch\f[R]), special characters can be
@@ -374,33 +382,34 @@ Any other Insert literally
.EE
.RE
.TP
\f[CR]\-\-primary=STRING\f[R]
\f[B]\f[CB]\-\-primary=\f[B]\f[R]\f[I]STRING\f[R]
For MaxiCode, set the content of the primary message.
For GS1 Composite symbols, set the content of the linear symbol.
.TP
\f[CR]\-\-quietzones\f[R]
\f[B]\f[CB]\-\-quietzones\f[B]\f[R]
Add compliant quiet zones for symbols that specify them.
This is in addition to any whitespace specified by \f[CR]\-w\f[R] |
\f[CR]\-\-whitesp\f[R] or \f[CR]\-\-vwhitesp\f[R].
.TP
\f[CR]\-r\f[R], \f[CR]\-\-reverse\f[R]
\f[B]\f[CB]\-r\f[B]\f[R], \f[B]\f[CB]\-\-reverse\f[B]\f[R]
Reverse the foreground and background colours (white on black).
Known as \(lqreflectance reversal\(rq or \(lqreversed reflectance\(rq.
.TP
\f[CR]\-\-rotate=INTEGER\f[R]
Rotate the symbol by \f[I]INTEGER\f[R] degrees, where \f[I]INTEGER\f[R]
can be 0, 90, 270 or 360.
\f[B]\f[CB]\-\-rotate=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Rotate the symbol by \f[I]\f[CI]INTEGER\f[I]\f[R] degrees, where
\f[I]\f[CI]INTEGER\f[I]\f[R] can be 0, 90, 270 or 360.
.TP
\f[CR]\-\-rows=INTEGER\f[R]
Set the number of rows for Codablock F or PDF417 to \f[I]INTEGER\f[R].
\f[B]\f[CB]\-\-rows=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the number of rows for Codablock F or PDF417 to
\f[I]\f[CI]INTEGER\f[I]\f[R].
It will also set the minimum number of rows for Code 16K or Code 49, and
the maximum number of rows for GS1 DataBar Expanded Stacked
(DBAR_EXPSTK).
.TP
\f[CR]\-\-scale=NUMBER\f[R]
\f[B]\f[CB]\-\-scale=\f[B]\f[R]\f[I]\f[CI]NUMBER\f[I]\f[R]
Adjust the size of the X\-dimension.
\f[I]NUMBER\f[R] may be floating\-point, and is multiplied by 2 (except
for MaxiCode) before being applied.
\f[I]\f[CI]NUMBER\f[I]\f[R] may be floating\-point, and is multiplied by
2 (except for MaxiCode) before being applied.
The default scale is 1.
.RS
.PP
@@ -415,30 +424,34 @@ less than 1.
See also \f[CR]\-\-scalexdimdp\f[R] below.
.RE
.TP
\f[CR]\-\-scalexdimdp=X[,R]\f[R]
Scale the image according to X\-dimension \f[I]X\f[R] and resolution
\f[I]R\f[R], where \f[I]X\f[R] is in mm and \f[I]R\f[R] is in dpmm (dots
per mm).
\f[I]X\f[R] and \f[I]R\f[R] may be floating\-point.
\f[I]R\f[R] is optional and defaults to 12 dpmm (approximately 300 dpi).
\f[I]X\f[R] may be zero in which case a symbology\-specific default is
used.
\f[B]\f[CB]\-\-scalexdimdp[=\f[B]\f[R]\f[I]\f[CI]X\f[I]\f[R]\f[CR][,\f[R]\f[I]\f[CI]R\f[I]\f[R]\f[CR]]]\f[R]
Scale the image according to X\-dimension \f[I]\f[CI]X\f[I]\f[R] and
resolution \f[I]\f[CI]R\f[I]\f[R], where \f[I]\f[CI]X\f[I]\f[R] is in mm
and \f[I]\f[CI]R\f[I]\f[R] is in dpmm (dots per mm).
\f[I]\f[CI]X\f[I]\f[R] and \f[I]\f[CI]R\f[I]\f[R] may be
floating\-point.
\f[I]\f[CI]R\f[I]\f[R] is optional and defaults to 12 dpmm
(approximately 300 dpi).
\f[I]\f[CI]X\f[I]\f[R] is optional or may be zero in which case a
symbology\-specific default is used.
.RS
.PP
The scaling takes into account the output filetype, and deals with all
the details mentioned above.
the details mentioned above in \f[CR]\-\-scale\f[R].
Units may be specified for \f[I]X\f[R] by appending \(lqin\(rq (inch) or
\(lqmm\(rq, and for \f[I]R\f[R] by appending \(lqdpi\(rq (dots per inch)
or \(lqdpmm\(rq \- e.g.\ \f[CR]\-\-scalexdimdp=0.013in,300dpi\f[R].
.RE
.TP
\f[CR]\-\-scmvv=INTEGER\f[R]
\f[B]\f[CB]\-\-scmvv[=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]\f[CR]]\f[R]
For MaxiCode, prefix the Structured Carrier Message (SCM) with
\f[CR]\(dq[)>\(rsR01\(rsGvv\(dq\f[R], where \f[CR]vv\f[R] is a 2\-digit
\f[I]INTEGER\f[R].
\f[CR]\(dq[)>\(rsR01\(rsGvv\(dq\f[R], where \f[CR]vv\f[R] is an optional
2\-digit \f[I]\f[CI]INTEGER\f[I]\f[R].
If \f[I]\f[CI]INTEGER\f[I]\f[R] is omitted it defaults to 96 (ASC
MH10/SC 8).
.TP
\f[CR]\-\-secure=INTEGER\f[R]
Set the error correction level (ECC) to \f[I]INTEGER\f[R].
\f[B]\f[CB]\-\-secure=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the error correction level (ECC) to \f[I]\f[CI]INTEGER\f[I]\f[R].
The meaning is specific to the following matrix symbols (all except
PDF417 are approximate):
.RS
@@ -455,52 +468,56 @@ Ultracode 1 to 6 (0%, 5%, 9%, 17%, 25%, 33%)
.EE
.RE
.TP
\f[CR]\-\-segN=ECI,DATA\f[R]
Set the \f[I]ECI\f[R] & \f[I]DATA\f[R] content for segment N, where N is
1 to 9.
\f[B]\f[CB]\-\-segN=\f[B]\f[R]\f[I]\f[CI]ECI\f[I]\f[R]\f[CR],\f[R]\f[I]\f[CI]DATA\f[I]\f[R]
Set the \f[I]\f[CI]ECI\f[I]\f[R] & \f[I]\f[CI]DATA\f[I]\f[R] content for
segment N, where N is 1 to 9.
\f[CR]\-d\f[R] | \f[CR]\-\-data\f[R] must still be given, and counts as
segment 0, its ECI given by \f[CR]\-\-eci\f[R].
Segments must be consecutive.
.TP
\f[CR]\-\-separator=INTEGER\f[R]
\f[B]\f[CB]\-\-separator=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the height of row separator bars for stacked symbologies, where
\f[I]INTEGER\f[R] is in integral multiples of the X\-dimension.
\f[I]\f[CI]INTEGER\f[I]\f[R] is in integral multiples of the
X\-dimension.
The default is zero.
.TP
\f[CR]\-\-small\f[R]
\f[B]\f[CB]\-\-small\f[B]\f[R]
Use a smaller font for Human Readable Text (HRT).
.TP
\f[CR]\-\-square\f[R]
\f[B]\f[CB]\-\-square\f[B]\f[R]
For Data Matrix symbols, exclude rectangular sizes when considering
automatic sizes.
See also \f[CR]\-\-dmre\f[R].
.TP
\f[CR]\-\-structapp=I,C[,ID]\f[R]
Set Structured Append info, where \f[I]I\f[R] is the 1\-based index,
\f[I]C\f[R] is the total number of symbols in the sequence, and
\f[I]ID\f[R], which is optional, is the identifier that all symbols in
the sequence share.
\f[B]\f[CB]\-\-structapp=\f[B]\f[R]\f[I]\f[CI]I\f[I]\f[R]\f[CR],\f[R]\f[I]\f[CI]C\f[I]\f[R]\f[CR][,\f[R]\f[I]\f[CI]ID\f[I]\f[R]\f[CR]]\f[R]
Set Structured Append info, where \f[I]\f[CI]I\f[I]\f[R] is the 1\-based
index, \f[I]\f[CI]C\f[I]\f[R] is the total number of symbols in the
sequence, and \f[I]\f[CI]ID\f[I]\f[R], which is optional, is the
identifier that all symbols in the sequence share.
Structured Append is supported by Aztec Code, Code One, Data Matrix,
DotCode, Grid Matrix, MaxiCode, MicroPDF417, PDF417, QR Code and
Ultracode.
Code One, DotCode and MaxiCode do not support an
\f[I]\f[CI]ID\f[I]\f[R].
.TP
\f[CR]\-t\f[R], \f[CR]\-\-types\f[R]
\f[B]\f[CB]\-t\f[B]\f[R], \f[B]\f[CB]\-\-types\f[B]\f[R]
Display the table of barcode types (symbologies).
The numbers or names can be used with \f[CR]\-b\f[R] |
\f[CR]\-\-barcode\f[R].
.TP
\f[CR]\-\-textgap=NUMBER\f[R]
\f[B]\f[CB]\-\-textgap=\f[B]\f[R]\f[I]\f[CI]NUMBER\f[I]\f[R]
Adjust the gap between the barcode and the Human Readable Text (HRT).
\f[I]NUMBER\f[R] is in X\-dimensions, and may be floating\-point.
\f[I]\f[CI]NUMBER\f[I]\f[R] is in X\-dimensions, and may be
floating\-point.
Maximum is 10 and minimum is \-5.
The default is 1.
.TP
\f[CR]\-\-verbose\f[R]
\f[B]\f[CB]\-\-verbose\f[B]\f[R]
Output debug information to stdout.
.TP
\f[CR]\-\-vers=INTEGER\f[R]
\f[B]\f[CB]\-\-vers=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the symbol version (size, check digits, other options) to
\f[I]INTEGER\f[R].
\f[I]\f[CI]INTEGER\f[I]\f[R].
The meaning is symbol\-specific.
.RS
.PP
@@ -646,30 +663,34 @@ MSI Plessey 0 to 6 (none to various visible options)
+10 (hide)
.EE
.PP
For a few other symbologies, it specifies other characteristics:
For some other symbologies, it specifies other characteristics:
.IP
.EX
Channel Code 3 to 8 (no. of channels)
DAFT 50 to 900 (permille tracker ratio)
DPD 1 (relabel)
PZN 1 (PZN7 instead of default PZN8)
Telepen 1 (use AIM\-defined Start/Stop)
Telepen Numeric 1 (use AIM\-defined Start/Stop)
Ultracode 2 (revision 2)
VIN 1 (add international prefix)
.EE
.RE
.TP
\f[CR]\-v\f[R], \f[CR]\-\-version\f[R]
\f[B]\f[CB]\-v\f[B]\f[R], \f[B]\f[CB]\-\-version\f[B]\f[R]
Display zint version.
.TP
\f[CR]\-\-vwhitesp=INTEGER\f[R]
\f[B]\f[CB]\-\-vwhitesp=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the height of vertical whitespace above and below the barcode, where
\f[I]INTEGER\f[R] is in integral multiples of the X\-dimension.
\f[I]\f[CI]INTEGER\f[I]\f[R] is in integral multiples of the
X\-dimension.
.TP
\f[CR]\-w\f[R], \f[CR]\-\-whitesp=INTEGER\f[R]
\f[B]\f[CB]\-w\f[B]\f[R] \f[I]\f[CI]INTEGER\f[I]\f[R], \f[B]\f[CB]\-\-whitesp=\f[B]\f[R]\f[I]\f[CI]INTEGER\f[I]\f[R]
Set the width of horizontal whitespace either side of the barcode, where
\f[I]INTEGER\f[R] is in integral multiples of the X\-dimension.
\f[I]\f[CI]INTEGER\f[I]\f[R] is in integral multiples of the
X\-dimension.
.TP
\f[CR]\-\-werror\f[R]
\f[B]\f[CB]\-\-werror\f[B]\f[R]
Convert all warnings into errors.
.SH EXIT STATUS
.TP
@@ -772,14 +793,19 @@ and at
Zint is designed to be compliant with a number of international
standards, including:
.PP
ISO/IEC 24778:2024, ANSI/AIM BC12\-1998, EN 798:1996, AIM ISS\-X\-24
(1995), ISO/IEC 15417:2007, EN 12323:2005, ISO/IEC 16388:2023, ANSI/AIM
BC6\-2000, ANSI/AIM BC5\-1995, AIM USS Code One (1994), ISO/IEC
16022:2024, ISO/IEC 21471:2019, ISO/IEC 15420:2009, AIMD014 (v 1.63)
(2008), ISO/IEC 24723:2010, ISO/IEC 24724:2011, ISO/IEC 20830:2021,
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)
ISO/IEC 24778:2024 (Aztec Code), SEMI T1\-95 (1996) (BC412), ANSI/AIM
BC12\-1998 (Channel Code), EN 798:1996 (Codabar), AIM ISS\-X\-24 (1995)
(Codablock F), ISO/IEC 15417:2007 (Code 128), EN 12323:2005 (Code 16K),
ISO/IEC 16388:2023 (Code 39), ANSI/AIM BC6\-2000 (Code 49), ANSI/AIM
BC5\-1995 (Code 93), AIM USS Code One (1994), ISO/IEC 16022:2024 (Data
Matrix), ISO/IEC 21471:2025 (DMRE), AIM TSC1705001 (2019) (DotCode),
ISO/IEC 15420:2025 (EAN/UPC), AIMD014 (v 1.63) (2008) (Grid Matrix),
ISO/IEC 24723:2010 (GS1 Composite), ISO/IEC 24724:2011 (GS1 DataBar),
ISO/IEC 20830:2021 (Han Xin Code), ISO/IEC 16390:2007 (Interleaved 2 of
5), ISO/IEC 16023:2000 (MaxiCode), ISO/IEC 24728:2006 (MicroPDF417),
ISO/IEC 15438:2015 (PDF417), ISO/IEC 18004:2024 (QR Code), ISO/IEC
23941:2022 (rMQR), AIM Europe X\-25 (1991) (Telepen), AIMD/TSC15032\-43
(2015) (Ultracode)
.SH COPYRIGHT
Copyright © 2026 Robin Stuart.
Released under GNU GPL 3.0 or later.
+146 -136
View File
@@ -1,6 +1,6 @@
% ZINT(1) Version 2.16.0.9
%
% April 2026
% May 2026
[//]: # ( vim: set ts=4 sw=4 et : )
@@ -10,8 +10,8 @@
# SYNOPSIS
| `zint` [`-h` | `--help`]
| `zint` [*options*]
| **`zint`** [`-h` | `--help`]
| **`zint`** [*options*]
# DESCRIPTION
@@ -28,138 +28,140 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
# OPTIONS
`-h`, `--help`
**`-h`**, **`--help`**
: Print usage information summarizing command line options.
`-b TYPE`, `--barcode=TYPE`
**`-b`** *`TYPE`*, **`--barcode=`***`TYPE`*
: Set the barcode symbology that will be used to encode the data. *TYPE* is the number or name of the barcode
: Set the barcode symbology that will be used to encode the data. *`TYPE`* is the number or name of the barcode
symbology. If not given, the symbology defaults to 20 (Code 128). To see what types are available, use the `-t` |
`--types` option. Type names are case-insensitive, and non-alphanumerics are ignored.
`--addongap=INTEGER`
**`--addongap=`***`INTEGER`*
: For EAN/UPC symbologies, set the gap between the main data and the add-on. *INTEGER* is in integral multiples of
: 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`
**`--azfull`**
: For Aztec Code symbols, exclude Compact versions when considering automatic sizes (i.e. consider Full versions
only).
`--batch`
**`--batch`**
: Treat each line of an input file specified with `-i` | `--input` as a separate data set and produce a barcode
image for each one. The barcode images are outputted by default to numbered filenames starting with "00001.png",
"00002.png" etc., which can be changed by using the `-o` | `--output` option.
`--bg=COLOUR`
**`--bg=`***`COLOUR`*
: Specify a background (paper) colour where *COLOUR* is in hexadecimal `RRGGBB` or `RRGGBBAA` format or in decimal
: Specify a background (paper) colour where *`COLOUR`* is in hexadecimal `RRGGBB` or `RRGGBBAA` format or in decimal
`C,M,Y,K` percentages format.
`--binary`
**`--binary`**
: Treat input data as raw 8-bit binary data instead of the default UTF-8. Automatic code page translation to an ECI
page is disabled, and no validation of the data's character encoding takes place.
`--bind`
**`--bind`**
: Add horizontal boundary bars (also known as bearer bars) to the symbol. The width of the boundary bars is
specified by the `--border` option. `--bind` can also be used to add row separator bars to symbols stacked with
multiple `-d` | `--data` inputs, in which case the width of the separator bars is specified with the `--separator`
option.
`--bindtop`
**`--bindtop`**
: Add a horizontal boundary bar to the top of the symbol. The width of the boundary bar is specified by the
`--border` option.
`--bold`
**`--bold`**
: Use a bold font for the Human Readable Text (HRT).
`--border=INTEGER`
**`--border=`***`INTEGER`*
: Set the width of boundary bars (`--bind` or `--bindtop`) or box borders (`--box`), where *INTEGER* is in integral
multiples of the X-dimension. The default is zero.
: Set the width of boundary bars (`--bind` or `--bindtop`) or box borders (`--box`), where *`INTEGER`* is in
integral multiples of the X-dimension. The default is zero.
`--box`
**`--box`**
: Add a box around the symbol. The width of the borders is specified by the `--border` option.
`--cmyk`
**`--cmyk`**
: Use the CMYK colour space when outputting to Encapsulated PostScript (EPS) or TIF files.
`--cols=INTEGER`
**`--cols=`***`INTEGER`*
: Set the number of data columns in the symbol to *INTEGER*. Affects Codablock F, DotCode, GS1 DataBar Expanded
: Set the number of data columns in the symbol to *`INTEGER`*. Affects Codablock F, DotCode, GS1 DataBar Expanded
Stacked (DBAR_EXPSTK), MicroPDF417 and PDF417 symbols.
`--compliantheight`
**`--compliantheight`**
: Warn if the height specified by the `--height` option is not compliant with the barcode's specification, or if
`--height` is not given, default to the height specified by the specification (if any).
`-d`, `--data=DATA`
**`-d`** *`DATA`*, **`--data=`***`DATA`*
: Specify the input *DATA* to encode. The `--esc` option may be used to enter non-printing characters using escape
sequences. The *DATA* should be UTF-8, unless the `--binary` option is given, in which case it can be anything.
: Specify the input *`DATA`* to encode. The `--esc` option may be used to enter non-printing characters using escape
sequences. The *`DATA`* should be UTF-8, unless the `--binary` option is given, in which case it can be anything.
`--direct`
**`--direct`**
: Send output to stdout, which in most cases should be re-directed to a pipe or a file. Use `--filetype` to specify
output format.
`--dmb256=INTEGER`
**`--dmb256[=`***`INTEGER`*`]`
: For Data Matrix symbols, encode the first *INTEGER* input characters in Base 256 mode. 0 means all input.
: For Data Matrix symbols, encode the first *`INTEGER`* (optional, 0 if not given) input characters in Base 256
mode. 0 means all input.
`--dmc40=INTEGER`
**`--dmc40[=`***`INTEGER`*`]`
: For Data Matrix symbols, encode the first *INTEGER* input characters in C40 mode. 0 means all input.
: For Data Matrix symbols, encode the first *`INTEGER`* (optional, 0 if not given) input characters in C40 mode. 0
means all input.
`--dmiso144`
**`--dmiso144`**
: For Data Matrix symbols, use the standard ISO/IEC codeword placement for 144 x 144 (`--vers=24`) sized symbols,
instead of the default "de facto" placement (which rotates the placement of ECC codewords).
`--dmre`
**`--dmre`**
: For Data Matrix symbols, allow Data Matrix Rectangular Extended (DMRE) sizes when considering automatic sizes. See
also `--square`.
`--dotsize=NUMBER`
**`--dotsize=`***`NUMBER`*
: Set the radius of the dots in dotty mode (`--dotty`). *NUMBER* is in X-dimensions, and may be floating-point. The
default is 0.8.
: Set the radius of the dots in dotty mode (`--dotty`). *`NUMBER`* is in X-dimensions, and may be floating-point.
The default is 0.8.
`--dotty`
**`--dotty`**
: Use dots instead of squares for matrix symbols. DotCode is always in dotty mode.
`--dump`
**`--dump`**
: Dump a hexadecimal representation of the symbol's encodation to stdout. The same representation may be outputted
to a file by using a `.txt` extension with `-o` | `--output` or by specifying `--filetype=txt`.
`-e`, `--ecinos`
**`-e`**, **`--ecinos`**
: Display the table of ECIs (Extended Channel Interpretations).
`--eci=INTEGER`
**`--eci=`***`INTEGER`*
: Set the ECI code for the input data to *INTEGER*. See `-e` | `--ecinos` for a list of the ECIs available. ECIs are
supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, Han Xin Code, MaxiCode, MicroPDF417, PDF417,
QR Code, rMQR and Ultracode.
: Set the ECI code for the input data to *`INTEGER`*. See `-e` | `--ecinos` for a list of the ECIs available. ECIs
are supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, Han Xin Code, MaxiCode, MicroPDF417,
PDF417, QR Code, rMQR and Ultracode.
`--embedfont`
**`--embedfont`**
: For vector output, embed the font in the file for portability. Currently only available for SVG output.
`--esc`
**`--esc`**
: Process escape characters in the input data. The escape sequences are:
@@ -172,9 +174,12 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
\v (0x0B) VT Vertical Tab
\f (0x0C) FF Form Feed
\r (0x0D) CR Carriage Return
\L (0x10) DLE Data Link Escape
\e (0x1B) ESC Escape
\F (0x1C) FS File Separator
\G (0x1D) GS Group Separator
\R (0x1E) RS Record Separator
\N (0x1F) US Unit Separator
\( (0x28) ( Opening parenthesis (only with
--gs1parens)
\) (0x29) ) Closing parenthesis (only with
@@ -191,100 +196,101 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
\UNNNNNN (U+NNNNNN) Any 21-bit Unicode character
where NNNNNN is hexadecimal
`--extraesc`
**`--extraesc`**
: As well as processing the normal escape sequences above, process the special escape sequences beginning with `\^`.
For Aztec Code, Code 128 and Data Matrix, process the escape sequence `\^1` that inserts an `FNC1` character, and
the escaping sequence `\^^` that encodes a literal `\^`. For Code 128 only, process the escape sequences `\^A`,
`\^B`, `\^C` and `\^@` that allow manual switching of Code Sets. The sequence `\^@` turns off manual switching.
`--fast`
**`--fast`**
: Use faster if less optimal encodation or other shortcuts (affects Data Matrix, MicroPDF417, PDF417, QRCODE & UPNQR
only).
: Use faster if less optimal encodation or other shortcuts (affects Aztec Code, Data Matrix, MicroPDF417, PDF417, QR
Code & UPNQR only).
`--fg=COLOUR`
**`--fg=`***`COLOUR`*
: Specify a foreground (ink) colour where *COLOUR* is in hexadecimal `RRGGBB` or `RRGGBBAA` format or in decimal
: Specify a foreground (ink) colour where *`COLOUR`* is in hexadecimal `RRGGBB` or `RRGGBBAA` format or in decimal
`C,M,Y,K` percentages format.
`--filetype=TYPE`
**`--filetype=`***`TYPE`*
: Set the output file type to *TYPE*, which is one of `BMP`, `EMF`, `EPS`, `GIF`, `PCX`, `PNG`, `SVG`, `TIF`, `TXT`.
: Set the output file type to *`TYPE`*, which is one of `BMP`, `EMF`, `EPS`, `GIF`, `PCX`, `PNG`, `SVG`, `TIF`,
`TXT`.
`--fullmultibyte`
**`--fullmultibyte`**
: Use the multibyte modes of Grid Matrix, Han Xin and QR Code for non-ASCII data.
`--gs1`
**`--gs1`**
: Treat input as GS1 compatible data. A number of input formats are available. Application Identifiers (AIs) may be
placed in square brackets `"[]"`. Alternatively the GS1 Syntax Engine "Unbracketed AI" format may be used, which
starts with a caret (`^`) and uses carets to indicate required `FNC1`s. For matrix symbologies, GS1 Digital Link
URIs (unverified) may be given. Further input options are available with `--gs1parens` and `--gs1raw`.
`--gs1nocheck`
**`--gs1nocheck`**
: Treat input as GS1 compatible data (as `--gs1`) but do not check the validity of the data.
`--gs1parens`
**`--gs1parens`**
: 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 (`"\("`).
`--gs1raw`
**`--gs1raw`**
: Treat input as GS1 compatible data (as `--gs1`), but process literally, with any required `FNC1`s represented by
`GS` (0x1D). AIs are not delimited by brackets (`"[]"` or `"()"`). (Similar to the GS1 Syntax Engine "Unbracketed
AI" entry mode except using `GS`s instead of carets, and without any initial `GS`.)
`--gs1strict`
**`--gs1strict`**
: 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`
**`--gssep`**
: For Data Matrix in GS1 mode, use `GS` (0x1D) as the GS1 data separator instead of `FNC1`.
`--guarddescent=NUMBER`
**`--guarddescent=`***`NUMBER`*
: For EAN/UPC symbols, set the height the guard bars descend below the main bars, where *NUMBER* is in X-dimensions.
*NUMBER* may be floating-point.
: For EAN/UPC symbols, set the height the guard bars descend below the main bars, where *`NUMBER`* is in
X-dimensions. *`NUMBER`* may be floating-point.
`--guardwhitespace`
**`--guardwhitespace`**
: For EAN/UPC symbols, add quiet zone indicators `"<"` and/or `">"` to HRT where applicable.
`--height=NUMBER`
**`--height=`***`NUMBER`*
: Set the height of the symbol in X-dimensions. *NUMBER* may be floating-point.
: Set the height of the symbol in X-dimensions. *`NUMBER`* may be floating-point.
`--heightperrow`
**`--heightperrow`**
: Treat height as per-row. Affects Codablock F, Code 16K, Code 49, GS1 DataBar Expanded Stacked (DBAR_EXPSTK),
MicroPDF417 and PDF417.
`-i`, `--input=FILE`
**`-i`** *`FILE`*, **`--input=`***`FILE`*
: Read the input data from *FILE*. Specify a single hyphen (`-`) for *FILE* to read from stdin.
: Read the input data from *`FILE`*. Specify a single hyphen (`-`) for *`FILE`* to read from stdin.
`--init`
**`--init`**
: Create a Reader Initialisation (Programming) symbol.
`--mask=INTEGER`
**`--mask=`***`INTEGER`*
: Set the masking pattern to use for DotCode, Han Xin or QR Code to *INTEGER*, overriding the automatic selection.
: Set the masking pattern to use for DotCode, Han Xin or QR Code to *`INTEGER`*, overriding the automatic selection.
`--mirror`
**`--mirror`**
: Use the batch data to determine the filename in batch mode (`--batch`). The `-o` | `--output` option can be used
to specify an output directory (any filename will be ignored).
`--mode=INTEGER`
**`--mode=`***`INTEGER`*
: For MaxiCode and GS1 Composite symbols, set the encoding mode to *INTEGER*.
: For MaxiCode and GS1 Composite symbols, set the encoding mode to *`INTEGER`*.
For MaxiCode (SCM is Structured Carrier Message, with 3 fields: postcode, 3-digit ISO 3166-1 country code, 3-digit
service code):
@@ -301,21 +307,21 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
2 CC-B
3 CC-C (GS1_128_CC only)
`--nobackground`
**`--nobackground`**
: Remove the background colour (EMF, EPS, GIF, PNG, SVG and TIF only).
`--noquietzones`
**`--noquietzones`**
: Disable any quiet zones for symbols that define them by default.
`--notext`
**`--notext`**
: Remove the Human Readable Text (HRT).
`-o`, `--output=FILE`
**`-o`** *`FILE`*, **`--output=`***`FILE`*
: Send the output to *FILE*. When not in batch mode, the default is "out.png" (or "out.gif" if zint built without
: Send the output to *`FILE`*. When not in batch mode, the default is "out.png" (or "out.gif" if zint built without
PNG support). When in batch mode (`--batch`), special characters can be used to format the output filenames:
~ Insert a number or 0
@@ -323,33 +329,33 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
@ Insert a number or * (+ on Windows)
Any other Insert literally
`--primary=STRING`
**`--primary=`***STRING*
: For MaxiCode, set the content of the primary message. For GS1 Composite symbols, set the content of the linear
symbol.
`--quietzones`
**`--quietzones`**
: Add compliant quiet zones for symbols that specify them. This is in addition to any whitespace specified by `-w` |
`--whitesp` or `--vwhitesp`.
`-r`, `--reverse`
**`-r`**, **`--reverse`**
: Reverse the foreground and background colours (white on black). Known as "reflectance reversal" or "reversed
reflectance".
`--rotate=INTEGER`
**`--rotate=`***`INTEGER`*
: Rotate the symbol by *INTEGER* degrees, where *INTEGER* can be 0, 90, 270 or 360.
: Rotate the symbol by *`INTEGER`* degrees, where *`INTEGER`* can be 0, 90, 270 or 360.
`--rows=INTEGER`
**`--rows=`***`INTEGER`*
: Set the number of rows for Codablock F or PDF417 to *INTEGER*. It will also set the minimum number of rows for
: Set the number of rows for Codablock F or PDF417 to *`INTEGER`*. It will also set the minimum number of rows for
Code 16K or Code 49, and the maximum number of rows for GS1 DataBar Expanded Stacked (DBAR_EXPSTK).
`--scale=NUMBER`
**`--scale=`***`NUMBER`*
: Adjust the size of the X-dimension. *NUMBER* may be floating-point, and is multiplied by 2 (except for MaxiCode)
: Adjust the size of the X-dimension. *`NUMBER`* may be floating-point, and is multiplied by 2 (except for MaxiCode)
before being applied. The default scale is 1.
For MaxiCode, the scale is multiplied by 10 for raster output, by 40 for EMF output, and by 2 otherwise.
@@ -359,23 +365,24 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
See also `--scalexdimdp` below.
`--scalexdimdp=X[,R]`
**`--scalexdimdp[=`***`X`*`[,`*`R`*`]]`
: Scale the image according to X-dimension *X* and resolution *R*, where *X* is in mm and *R* is in dpmm (dots per
mm). *X* and *R* may be floating-point. *R* is optional and defaults to 12 dpmm (approximately 300 dpi). *X* may
be zero in which case a symbology-specific default is used.
: Scale the image according to X-dimension *`X`* and resolution *`R`*, where *`X`* is in mm and *`R`* is in dpmm
(dots per mm). *`X`* and *`R`* may be floating-point. *`R`* is optional and defaults to 12 dpmm (approximately 300
dpi). *`X`* is optional or may be zero in which case a symbology-specific default is used.
The scaling takes into account the output filetype, and deals with all the details mentioned above. Units may be
specified for *X* by appending "in" (inch) or "mm", and for *R* by appending "dpi" (dots per inch) or "dpmm" -
e.g. `--scalexdimdp=0.013in,300dpi`.
The scaling takes into account the output filetype, and deals with all the details mentioned above in `--scale`.
Units may be specified for *X* by appending "in" (inch) or "mm", and for *R* by appending "dpi" (dots per inch) or
"dpmm" - e.g. `--scalexdimdp=0.013in,300dpi`.
`--scmvv=INTEGER`
**`--scmvv[=`***`INTEGER`*`]`
: For MaxiCode, prefix the Structured Carrier Message (SCM) with `"[)>\R01\Gvv"`, where `vv` is a 2-digit *INTEGER*.
: For MaxiCode, prefix the Structured Carrier Message (SCM) with `"[)>\R01\Gvv"`, where `vv` is an optional 2-digit
*`INTEGER`*. If *`INTEGER`* is omitted it defaults to 96 (ASC MH10/SC 8).
`--secure=INTEGER`
**`--secure=`***`INTEGER`*
: Set the error correction level (ECC) to *INTEGER*. The meaning is specific to the following matrix symbols (all
: Set the error correction level (ECC) to *`INTEGER`*. The meaning is specific to the following matrix symbols (all
except PDF417 are approximate):
Aztec Code 1 to 4 (10%, 23%, 36%, 50%)
@@ -387,47 +394,47 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
rMQR 2 or 4 (15% or 30%) (M or H)
Ultracode 1 to 6 (0%, 5%, 9%, 17%, 25%, 33%)
`--segN=ECI,DATA`
**`--segN=`***`ECI`*`,`*`DATA`*
: Set the *ECI* & *DATA* content for segment N, where N is 1 to 9. `-d` | `--data` must still be given, and counts
as segment 0, its ECI given by `--eci`. Segments must be consecutive.
: Set the *`ECI`* & *`DATA`* content for segment N, where N is 1 to 9. `-d` | `--data` must still be given, and
counts as segment 0, its ECI given by `--eci`. Segments must be consecutive.
`--separator=INTEGER`
**`--separator=`***`INTEGER`*
: Set the height of row separator bars for stacked symbologies, where *INTEGER* is in integral multiples of the
: Set the height of row separator bars for stacked symbologies, where *`INTEGER`* is in integral multiples of the
X-dimension. The default is zero.
`--small`
**`--small`**
: Use a smaller font for Human Readable Text (HRT).
`--square`
**`--square`**
: For Data Matrix symbols, exclude rectangular sizes when considering automatic sizes. See also `--dmre`.
`--structapp=I,C[,ID]`
**`--structapp=`***`I`*`,`*`C`*`[,`*`ID`*`]`
: Set Structured Append info, where *I* is the 1-based index, *C* is the total number of symbols in the sequence,
and *ID*, which is optional, is the identifier that all symbols in the sequence share. Structured Append is
supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, MaxiCode, MicroPDF417, PDF417, QR Code and
Ultracode.
: Set Structured Append info, where *`I`* is the 1-based index, *`C`* is the total number of symbols in the
sequence, and *`ID`*, which is optional, is the identifier that all symbols in the sequence share. Structured
Append is supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, MaxiCode, MicroPDF417, PDF417, QR
Code and Ultracode. Code One, DotCode and MaxiCode do not support an *`ID`*.
`-t`, `--types`
**`-t`**, **`--types`**
: Display the table of barcode types (symbologies). The numbers or names can be used with `-b` | `--barcode`.
`--textgap=NUMBER`
**`--textgap=`***`NUMBER`*
: Adjust the gap between the barcode and the Human Readable Text (HRT). *NUMBER* is in X-dimensions, and may be
: Adjust the gap between the barcode and the Human Readable Text (HRT). *`NUMBER`* is in X-dimensions, and may be
floating-point. Maximum is 10 and minimum is -5. The default is 1.
`--verbose`
**`--verbose`**
: Output debug information to stdout.
`--vers=INTEGER`
**`--vers=`***`INTEGER`*
: Set the symbol version (size, check digits, other options) to *INTEGER*. The meaning is symbol-specific.
: Set the symbol version (size, check digits, other options) to *`INTEGER`*. The meaning is symbol-specific.
For most matrix symbols, it specifies size:
@@ -566,30 +573,32 @@ Paintbrush (`PCX`), Portable Network Format (`PNG`), Scalable Vector Graphic (`S
5, 6 (mod-11 NCR, mod-11 NCR + mod-10)
+10 (hide)
For a few other symbologies, it specifies other characteristics:
For some other symbologies, it specifies other characteristics:
Channel Code 3 to 8 (no. of channels)
DAFT 50 to 900 (permille tracker ratio)
DPD 1 (relabel)
PZN 1 (PZN7 instead of default PZN8)
Telepen 1 (use AIM-defined Start/Stop)
Telepen Numeric 1 (use AIM-defined Start/Stop)
Ultracode 2 (revision 2)
VIN 1 (add international prefix)
`-v`, `--version`
**`-v`**, **`--version`**
: Display zint version.
`--vwhitesp=INTEGER`
**`--vwhitesp=`***`INTEGER`*
: Set the height of vertical whitespace above and below the barcode, where *INTEGER* is in integral multiples of the
X-dimension.
: Set the height of vertical whitespace above and below the barcode, where *`INTEGER`* is in integral multiples of
the X-dimension.
`-w`, `--whitesp=INTEGER`
**`-w`** *`INTEGER`*, **`--whitesp=`***`INTEGER`*
: Set the width of horizontal whitespace either side of the barcode, where *INTEGER* is in integral multiples of the
X-dimension.
: Set the width of horizontal whitespace either side of the barcode, where *`INTEGER`* is in integral multiples of
the X-dimension.
`--werror`
**`--werror`**
: Convert all warnings into errors.
@@ -684,14 +693,15 @@ and at
Zint is designed to be compliant with a number of international standards, including:
ISO/IEC 24778:2024, ANSI/AIM BC12-1998, EN 798:1996,
AIM ISS-X-24 (1995), ISO/IEC 15417:2007, EN 12323:2005,
ISO/IEC 16388:2023, ANSI/AIM BC6-2000, ANSI/AIM BC5-1995,
AIM USS Code One (1994), ISO/IEC 16022:2024, ISO/IEC 21471:2019,
ISO/IEC 15420:2009, AIMD014 (v 1.63) (2008), ISO/IEC 24723:2010,
ISO/IEC 24724:2011, ISO/IEC 20830:2021, 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)
ISO/IEC 24778:2024 (Aztec Code), SEMI T1-95 (1996) (BC412), ANSI/AIM BC12-1998 (Channel Code),
EN 798:1996 (Codabar), AIM ISS-X-24 (1995) (Codablock F), ISO/IEC 15417:2007 (Code 128),
EN 12323:2005 (Code 16K), ISO/IEC 16388:2023 (Code 39), ANSI/AIM BC6-2000 (Code 49),
ANSI/AIM BC5-1995 (Code 93), AIM USS Code One (1994), ISO/IEC 16022:2024 (Data Matrix),
ISO/IEC 21471:2025 (DMRE), AIM TSC1705001 (2019) (DotCode), ISO/IEC 15420:2025 (EAN/UPC),
AIMD014 (v 1.63) (2008) (Grid Matrix), ISO/IEC 24723:2010 (GS1 Composite), ISO/IEC 24724:2011 (GS1 DataBar),
ISO/IEC 20830:2021 (Han Xin Code), ISO/IEC 16390:2007 (Interleaved 2 of 5), ISO/IEC 16023:2000 (MaxiCode),
ISO/IEC 24728:2006 (MicroPDF417), ISO/IEC 15438:2015 (PDF417), ISO/IEC 18004:2024 (QR Code),
ISO/IEC 23941:2022 (rMQR), AIM Europe X-25 USS Telepen (1991), AIMD/TSC15032-43 (2015) (Ultracode)
# COPYRIGHT
+4 -1
View File
@@ -62,8 +62,11 @@ zint -b EAN_2ADDON --compliantheight -d "12" --scale=$SCALE_UPCEAN -o images/ean
zint -b EAN_5ADDON --compliantheight -d "54321" --guardwhitespace --scale=$SCALE_UPCEAN -o images/ean_5addon_gws.svg
zint -b PLESSEY -d "C64" --scale=$SCALE_LINEAR -o images/plessey.svg
zint -b MSI_PLESSEY -d "6502" --vers=2 --scale=$SCALE_LINEAR -o images/msi_plessey.svg
zint -b TELEPEN --compliantheight -d "Z80" --scale=$SCALE_LINEAR -o images/telepen.svg
zint -b TELEPEN --compliantheight -d "Z8000" --scale=$SCALE_LINEAR -o images/telepen.svg
zint -b TELEPEN --compliantheight -d "Z\L8000" --esc --vers=1 --scale=$SCALE_LINEAR -o images/telepen_aim.svg
zint -b TELEPEN_NUM --compliantheight -d "466X33" --scale=$SCALE_LINEAR -o images/telepen_num.svg
zint -b TELEPEN_NUM --compliantheight -d "12\LAB" --esc --scale=$SCALE_LINEAR -o images/telepen_num_asc.svg
zint -b TELEPEN_NUM --compliantheight -d "12\L3" --esc --scale=$SCALE_LINEAR -o images/telepen_num_odd.svg
zint -b CODE39 --compliantheight -d "1A" --vers=1 --scale=$SCALE_LINEAR -o images/code39.svg
zint -b EXCODE39 --compliantheight -d "123.45#@fd" --scale=$SCALE_LINEAR -o images/excode39.svg
zint -b CODE93 --compliantheight -d "C93" --scale=$SCALE_LINEAR -o images/code93.svg