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
+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.