mirror of
https://git.code.sf.net/p/zint/code
synced 2025-05-21 18:55:11 -04:00
RMQR: update to ISO/IEC 23941:2022 - R13x77 numeric cclens change 8 -> 7
QRCODE: use stricter interpretation of ZINT_FULL_MULTIBYTE, excluding certain trailing bytes libzint: fix some confusing error messages introduced by segment stuff general: new escape chars \U, \d and \o backend_qt: fudge rendering of border rectangles due to scaling/translation rounding errors TODO: better fudge GUI: foreground/background colours -> text boxes and icon buttons, add swap button, independently movable picker (NULL parent), preview colour changes, preview Data Window changes, add clear data (del) buttons, add zap button and Factory Reset menu option, various other fixes libzint: remove STATIC_UNLESS_ZINT_TEST, use wrappers CMake: add find package QtSvg, remove QtXml manual: split symbology and general specs and sort, move DAFT to 4-state, UPC/EAN -> EAN/UPC, DataBar -> GS1 DataBar always, expand MAILMARK info, various other fiddlings man page: options or -> |, expand MSI Plessey check digit options README.linux: add packages info license: add SPDX-License-Identifier to touched files
This commit is contained in:
parent
fcd8492629
commit
e30e1f9651
71 changed files with 2739 additions and 1027 deletions
381
docs/manual.pmd
381
docs/manual.pmd
|
@ -1,6 +1,6 @@
|
|||
% Zint Barcode Generator and Zint Barcode Studio User Manual
|
||||
% Version 2.11.0.9
|
||||
% May 2022
|
||||
% June 2022
|
||||
|
||||
# 1. Introduction
|
||||
|
||||
|
@ -28,35 +28,35 @@ used in the symbol and the orientation of the image.
|
|||
Some of the words and phrases used in this document are specific to barcoding,
|
||||
and so a brief explanation is given to help understanding:
|
||||
|
||||
symbol:
|
||||
symbol
|
||||
|
||||
: A symbol is an image which encodes data according to one of the standards.
|
||||
This encompasses barcodes (linear symbols) as well as any of the other
|
||||
methods of representing data used in this program.
|
||||
|
||||
symbology:
|
||||
symbology
|
||||
|
||||
: A method of encoding data to create a certain type of symbol.
|
||||
|
||||
linear:
|
||||
linear
|
||||
|
||||
: A linear or one-dimensional symbol is one which consists of bars and spaces,
|
||||
and is what most people associate with the term 'barcode'. Examples include
|
||||
Code 128.
|
||||
|
||||
stacked:
|
||||
stacked
|
||||
|
||||
: A stacked symbol consists of multiple linear symbols placed one above
|
||||
another and which together hold the message, usually alongside some error
|
||||
correction data. Examples include PDF417.
|
||||
|
||||
matrix:
|
||||
matrix
|
||||
|
||||
: A matrix symbol is one based on a (usually square) grid of elements called
|
||||
modules. Examples include Data Matrix, but MaxiCode and DotCode are also
|
||||
considered matrix symbologies.
|
||||
|
||||
composite:
|
||||
composite
|
||||
|
||||
: A composite symbology is one which is made up of elements which are both
|
||||
linear and stacked. Those currently supported are made up of a linear
|
||||
|
@ -64,7 +64,7 @@ composite:
|
|||
PDF417 symbology. These symbols also have a separator which separates the
|
||||
linear and the stacked components.
|
||||
|
||||
X-dimension:
|
||||
X-dimension
|
||||
|
||||
: The X-dimension of a symbol is the size (usually the width) of the smallest
|
||||
element. For a linear symbology this is the width of the smallest bar. For
|
||||
|
@ -74,13 +74,13 @@ X-dimension:
|
|||
most matrix symbologies have a fixed width-to-height ratio where the height
|
||||
is determined by the width.
|
||||
|
||||
GS1 data:
|
||||
GS1 data
|
||||
|
||||
: This is a structured way of representing information which consists of
|
||||
'chunks' of data, each of which starts with an Application Identifier (AI).
|
||||
The AI identifies what type of information is being encoded.
|
||||
|
||||
Reader Initialisation (Programming):
|
||||
Reader Initialisation (Programming)
|
||||
|
||||
: Some symbologies allow a special character to be included which can be
|
||||
detected by the scanning equipment as signifying that the data is used to
|
||||
|
@ -89,7 +89,7 @@ Reader Initialisation (Programming):
|
|||
should only be used if you are familiar with the programming codes relevant
|
||||
to your scanner.
|
||||
|
||||
ECI:
|
||||
ECI
|
||||
|
||||
: The Extended Channel Interpretations (ECI) mechanism allows for
|
||||
multi-language data to be encoded in symbols which would usually support
|
||||
|
@ -99,14 +99,14 @@ ECI:
|
|||
|
||||
Two other concepts that are important are raster and vector.
|
||||
|
||||
raster:
|
||||
raster
|
||||
|
||||
: A low level bitmap representation of an image. BMP, GIF, PCX, PNG and TIF
|
||||
are raster file formats.
|
||||
|
||||
vector:
|
||||
vector
|
||||
|
||||
: A high level command- or data-based representation of an image. EMF, EPS
|
||||
: A high level command- or data-based representation of an image. EMF, EPS
|
||||
and SVG are vector file formats. They require renderers to turn them into
|
||||
bitmaps.
|
||||
|
||||
|
@ -248,9 +248,9 @@ contain `"mail"` or `"post"` (or both).
|
|||
The `"BMP"` and `"SVG"` buttons at the bottom will copy the image to the
|
||||
clipboard in BMP format and SVG format respectively. Further copy-to-clipboard
|
||||
formats are available by clicking the `"Menu"` button, along with
|
||||
`"CLI Equivalent"`, `"Save As"`, `"Help"`, `"About"` and `"Quit"` options. Most
|
||||
of the options are also available in a context menu by right-clicking the
|
||||
preview.
|
||||
`"CLI Equivalent"`, `"Save As"`, `"Factory Reset"`, `"Help"`, `"About"` and
|
||||
`"Quit"` options. Most of the options are also available in a context menu by
|
||||
right-clicking the preview.
|
||||
|
||||

|
||||
|
@ -293,16 +293,18 @@ The Appearance tab can be used to adjust the dimensions and other properties of
|
|||
the symbol. The `"Height"` value affects the height of symbologies which do not
|
||||
have a fixed width-to-height ratio, i.e. those other than matrix symbologies.
|
||||
Boundary bars (`"Border Type"`) can be added and adjusted (`"Border Width"`) and
|
||||
the size of the saved image (`"Printing Scale"`) can be determined.
|
||||
the size of the saved image (`"Printing Scale"`) can be specified.
|
||||
|
||||
## 3.6 Colour Dialog
|
||||
|
||||

|
||||
|
||||
A colour dialog is used to adjust the colour of the foreground and background of
|
||||
the generated image. In the Appearance tab click on the `"Foreground"` or
|
||||
`"Background"` button respectively. The colours can be reset to black-on-white
|
||||
using the `"Reset"` button.
|
||||
the generated image. In the Appearance tab click on the foreground eye
|
||||
 or background eye
|
||||
 button respectively. The colours can be reset
|
||||
to black-on-white using the `"Reset"` button, and exchanged one for the other
|
||||
using the swap  button next to it.
|
||||
|
||||
## 3.7 Data Dialog
|
||||
|
||||
|
@ -427,41 +429,46 @@ Non-printing characters can be entered on the command line using backslash (`\`)
|
|||
as an escape character in combination with the `--esc` switch. Permissible
|
||||
sequences are shown in the table below.
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Escape ASCII Name Interpretation
|
||||
Sequence Equivalent
|
||||
-------- ---------- ----- -------------------------------------------
|
||||
`\0` 0x00 `NUL` Null character
|
||||
---------------------------------------------------------------------------
|
||||
Escape ASCII Name Interpretation
|
||||
Sequence Equivalent
|
||||
---------- ---------- ----- -------------------------------------------
|
||||
`\0` 0x00 `NUL` Null character
|
||||
|
||||
`\E` 0x04 `EOT` End of Transmission
|
||||
`\E` 0x04 `EOT` End of Transmission
|
||||
|
||||
`\a` 0x07 `BEL` Bell
|
||||
`\a` 0x07 `BEL` Bell
|
||||
|
||||
`\b` 0x08 `BS` Backspace
|
||||
`\b` 0x08 `BS` Backspace
|
||||
|
||||
`\t` 0x09 `HT` Horizontal Tab
|
||||
`\t` 0x09 `HT` Horizontal Tab
|
||||
|
||||
`\n` 0x0A `LF` Line Feed
|
||||
`\n` 0x0A `LF` Line Feed
|
||||
|
||||
`\v` 0x0B `VT` Vertical Tab
|
||||
`\v` 0x0B `VT` Vertical Tab
|
||||
|
||||
`\f` 0x0C `FF` Form Feed
|
||||
`\f` 0x0C `FF` Form Feed
|
||||
|
||||
`\r` 0x0D `CR` Carriage Return
|
||||
`\r` 0x0D `CR` Carriage Return
|
||||
|
||||
`\e` 0x1B `ESC` Escape
|
||||
`\e` 0x1B `ESC` Escape
|
||||
|
||||
`\G` 0x1D `GS` Group Separator
|
||||
`\G` 0x1D `GS` Group Separator
|
||||
|
||||
`\R` 0x1E `RS` Record Separator
|
||||
`\R` 0x1E `RS` Record Separator
|
||||
|
||||
`\\` 0x5C `\` Backslash
|
||||
`\\` 0x5C `\` Backslash
|
||||
|
||||
`\xNN` 0xNN Any 8-bit character where NN is hexadecimal
|
||||
`\dNNN` NNN Any 8-bit character where NNN is decimal (0-255)
|
||||
|
||||
`\uNNNN` Any 16-bit Unicode BMP[^1] character where
|
||||
NNNN is hexadecimal
|
||||
-------------------------------------------------------------------------
|
||||
`\xNN` 0xNN Any 8-bit character where NN is hexadecimal
|
||||
|
||||
`\uNNNN` Any 16-bit Unicode BMP[^1] character where
|
||||
NNNN is hexadecimal
|
||||
|
||||
`\UNNNNNN` Any 20-bit Unicode character where NNNNNN
|
||||
is hexadecimal (maximum 0x10FFFF)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
Table: {#tbl:escape_sequences tag=": Escape Sequences"}
|
||||
|
||||
|
@ -846,7 +853,8 @@ particular horizontal whitespace values. Special considerations apply to ITF-14
|
|||
The default colours of a symbol are a black symbol on a white background. Zint
|
||||
allows you to change this. The `-r` or `--reverse` switch allows the default
|
||||
colours to be inverted so that a white symbol is shown on a black background
|
||||
(known as reflectance reversal). For example the command
|
||||
(known as "reflectance reversal" or "reversed reflectance"). For example the
|
||||
command
|
||||
|
||||
```bash
|
||||
zint -r -d "This Text"
|
||||
|
@ -1082,8 +1090,8 @@ by the default character set then you should check that the resulting barcode
|
|||
can be understood by your target barcode reader.
|
||||
|
||||
The ECI value may be specified with the `--eci` switch, followed by the value in
|
||||
the column `"ECI Code"`. The input data should be UTF-8 formatted. Zint
|
||||
automatically translates the data into the target encoding.
|
||||
the column `"ECI Code"` in the table below. The input data should be UTF-8
|
||||
formatted. Zint automatically translates the data into the target encoding.
|
||||
|
||||
ECI Code Character Encoding Scheme (ISO/IEC 8859 schemes include ASCII)
|
||||
-------- --------------------------------------------------------------
|
||||
|
@ -1702,7 +1710,7 @@ Variable Name Type Meaning Default Value
|
|||
|
||||
`option_3` integer Symbol specific options. 0
|
||||
|
||||
`show_hrt` integer Set to 0 to hide text 1
|
||||
`show_hrt` integer Set to 0 to hide text. 1
|
||||
|
||||
`input_mode` integer Set encoding of input `DATA_MODE`
|
||||
data (see [5.10 Setting the
|
||||
|
@ -1715,7 +1723,7 @@ Variable Name Type Meaning Default Value
|
|||
dotty mode.
|
||||
|
||||
`guard_descent` float Height of guard bar 5.0
|
||||
descent (UPC/EAN only)
|
||||
descent (EAN/UPC only).
|
||||
|
||||
`structapp` Structured Mark a symbol as part of a count 0
|
||||
Append sequence of symbols. (disabled)
|
||||
|
@ -1764,7 +1772,7 @@ Variable Name Type Meaning Default Value
|
|||
`alphamap` pointer to Pointer to array (output only)
|
||||
unsigned representing alpha channel
|
||||
character (or `NULL` if no alpha
|
||||
array channel needed)
|
||||
array channel needed).
|
||||
|
||||
`bitmap_byte_length` integer Size of BMP bitmap data. (output only)
|
||||
|
||||
|
@ -2174,7 +2182,7 @@ Value Meaning
|
|||
`ZINT_CAP_STACKABLE` Is the symbology stackable?
|
||||
|
||||
`ZINT_CAP_EXTENDABLE` Is the symbology extendable with add-on data? (i.e.
|
||||
is it UPC/EAN?)
|
||||
is it EAN/UPC?)
|
||||
|
||||
`ZINT_CAP_COMPOSITE` Does the symbology support composite data? (see [6.3
|
||||
GS1 Composite Symbols (ISO 24723)] below)
|
||||
|
@ -2262,10 +2270,10 @@ before using these standards.
|
|||
|
||||

|
||||
|
||||
Also known as Code 2 of 5 Matrix this is a self-checking code used in industrial
|
||||
applications and photo development. Standard Code 2 of 5 will encode numeric
|
||||
input (digits 0-9) up to a maximum of 80 digits. No check digit is added by
|
||||
default. To add a check digit, set `--vers=1` (API `option_2 = 1`). To add a
|
||||
Also known as Code 2 of 5 Matrix, this is a self-checking code used in
|
||||
industrial applications and photo development. Standard Code 2 of 5 will encode
|
||||
numeric input (digits 0-9) up to a maximum of 80 digits. No check digit is added
|
||||
by default. To add a check digit, set `--vers=1` (API `option_2 = 1`). To add a
|
||||
check digit but not show it in the Human Readable Text, set `--vers=2` (API
|
||||
`option_2 = 2`).
|
||||
|
||||
|
@ -2354,11 +2362,10 @@ the data 12345 use the command:
|
|||
zint -b UPCA -d 72527270270+12345
|
||||
```
|
||||
|
||||
or encode a data string with the + character included:
|
||||
or using the API encode a data string with the + character included:
|
||||
|
||||
```c
|
||||
my_symbol->symbology = BARCODE_UPCA;
|
||||
|
||||
error = ZBarcode_Encode_and_Print(my_symbol, "72527270270+12345", 0, 0);
|
||||
```
|
||||
|
||||
|
@ -2393,7 +2400,6 @@ or
|
|||
|
||||
```c
|
||||
my_symbol->symbology = BARCODE_UPCE;
|
||||
|
||||
error = ZBarcode_Encode_and_Print(my_symbol, "1123456", 0, 0);
|
||||
```
|
||||
|
||||
|
@ -2581,7 +2587,7 @@ Zint.
|
|||
|
||||

|
||||
|
||||
This option adds a leading `'+'` character and a trailing modulo-49 check digit
|
||||
This variant adds a leading `'+'` character and a trailing modulo-49 check digit
|
||||
to a standard Code 39 symbol as required by the Health Industry Barcode
|
||||
standards.
|
||||
|
||||
|
@ -2702,12 +2708,12 @@ standards.
|
|||
"%000393206219912345678101040"`](images/dpd.svg)
|
||||
|
||||
Another variation of Code 128 as used by DPD (Deutsher Paket Dienst). Requires
|
||||
a 28 character alphanumeric input. Zint formats Human Readable Text as
|
||||
a 28 character alphanumeric input. Zint formats the Human Readable Text as
|
||||
specified by DPD and adds a modulo-36 check character.
|
||||
|
||||
### 6.1.11 GS1 DataBar (ISO 24724)
|
||||
|
||||
Previously known as RSS (Reduced Spaced Symbology) these symbols are due to
|
||||
Previously known as RSS (Reduced Spaced Symbology), these symbols are due to
|
||||
replace GS1-128 symbols in accordance with the GS1 General Specifications. If a
|
||||
GS1 DataBar symbol is to be printed with a 2D component as specified in ISO/IEC
|
||||
24723 set `--mode=2` (API `option_1 = 2`). See [6.3 GS1 Composite Symbols (ISO
|
||||
|
@ -2720,10 +2726,11 @@ GS1 DataBar symbol is to be printed with a 2D component as specified in ISO/IEC
|
|||
Previously known as RSS-14 this standard encodes a 13-digit item code. A check
|
||||
digit and Application Identifier of (01) are added by Zint. (A 14-digit code
|
||||
that appends the check digit may be given, in which case the check digit will be
|
||||
verified.) To produce a truncated symbol set the symbol height to a value
|
||||
between 13 and 32. Truncated symbols may not be scannable by omnidirectional
|
||||
scanners. Normal DataBar Omnidirectional symbols should have a height of 33 or
|
||||
greater.
|
||||
verified.)
|
||||
|
||||
GS1 DataBar Omnidirectional symbols should have a height of 33 or greater. To
|
||||
produce a GS1 DataBar Truncated symbol set the symbol height to a value between
|
||||
13 and 32. Truncated symbols may not be scannable by omnidirectional scanners.
|
||||
|
||||

|
||||
|
||||
|
@ -2732,11 +2739,11 @@ greater.
|
|||

|
||||
|
||||
Previously known as RSS Limited this standard encodes a 13-digit item code and
|
||||
can be used in the same way as DataBar Omnidirectional above. DataBar Limited,
|
||||
however, is limited to data starting with digits 0 and 1 (i.e. numbers in the
|
||||
range 0 to 1999999999999). As with DataBar Omnidirectional a check digit and
|
||||
Application Identifier of (01) are added by Zint, and a 14-digit code may be
|
||||
given in which case the check digit will be verified.
|
||||
can be used in the same way as GS1 DataBar Omnidirectional above. GS1 DataBar
|
||||
Limited, however, is limited to data starting with digits 0 and 1 (i.e. numbers
|
||||
in the range 0 to 1999999999999). As with GS1 DataBar Omnidirectional a check
|
||||
digit and Application Identifier of (01) are added by Zint, and a 14-digit code
|
||||
may be given in which case the check digit will be verified.
|
||||
|
||||
#### 6.1.11.3 GS1 DataBar Expanded
|
||||
|
||||
|
@ -2745,17 +2752,16 @@ given in which case the check digit will be verified.
|
|||
|
||||
Previously known as RSS Expanded this is a variable length symbology capable of
|
||||
encoding data from a number of AIs in a single symbol. AIs should be encased in
|
||||
[square brackets] in the input data. This will be converted to parentheses
|
||||
(round brackets) before it is included in the Human Readable Text attached to
|
||||
[square brackets] in the input data, which will be converted to parentheses
|
||||
(round brackets) before being included in the Human Readable Text attached to
|
||||
the symbol. This method allows the inclusion of parentheses in the data to be
|
||||
encoded. If the data does not include parentheses, the AIs may alternatively
|
||||
be encased in parentheses using the `--gs1parens` switch. See [6.1.10.3
|
||||
GS1-128].
|
||||
encoded. If the data does not include parentheses, the AIs may alternatively be
|
||||
encased in parentheses using the `--gs1parens` switch. See [6.1.10.3 GS1-128].
|
||||
|
||||
GTIN data AI (01) should also include the check digit data as this is not
|
||||
calculated by Zint when this symbology is encoded. Fixed length data should be
|
||||
entered at the appropriate length for correct encoding. The following is an
|
||||
example of a valid DataBar Expanded input:
|
||||
example of a valid GS1 DataBar Expanded input:
|
||||
|
||||
```bash
|
||||
zint -b 31 -d "[01]98898765432106[3202]012345[15]991231"
|
||||
|
@ -2839,7 +2845,7 @@ zint --bind --notext --separator=2 -d "This" -d "That"
|
|||
"That"`](images/code128_stacked_sep2.svg)
|
||||
|
||||
A more sophisticated method is to use some type of line indexing which indicates
|
||||
to the barcode reader which order the symbols should be read in. This is
|
||||
to the barcode reader which order the stacked symbols should be read in. This is
|
||||
demonstrated by the symbologies below.
|
||||
|
||||
### 6.2.2 Codablock-F
|
||||
|
@ -2912,7 +2918,7 @@ for PDF417 above.
|
|||
|
||||
A variation of the PDF417 standard, MicroPDF417 is intended for applications
|
||||
where symbol size needs to be kept to a minimum. 34 predefined symbol sizes are
|
||||
available with 1 - 4 columns and 4 - 44 rows. The maximum size a MicroPDF417
|
||||
available with 1 - 4 columns and 4 - 44 rows. The maximum amount a MicroPDF417
|
||||
symbol can hold is 250 alphanumeric characters or 366 digits. The amount of
|
||||
error correction used is dependent on symbol size. The number of columns used
|
||||
can be determined using the `--cols` switch (API `option_2`) as with PDF417.
|
||||
|
@ -2930,7 +2936,7 @@ Structured Append the same as PDF417, for which see details.
|
|||
|
||||
A stacked variation of the GS1 DataBar Truncated symbol requiring the same input
|
||||
(see [6.1.11.1 GS1 DataBar Omnidirectional and GS1 DataBar Truncated]), this
|
||||
symbol is the same as the following DataBar Stacked Omnidirectional symbol
|
||||
symbol is the same as the following GS1 DataBar Stacked Omnidirectional symbol
|
||||
except that its height is reduced, making it suitable for small items when
|
||||
omnidirectional scanning is not required. It can be generated with a
|
||||
two-dimensional component to make a composite symbol.
|
||||
|
@ -2958,7 +2964,7 @@ Expanded]). In addition the width of the symbol can be altered using the
|
|||
to 11) relates to the number of character pairs on each row of the symbol.
|
||||
Alternatively the `--rows` switch (API `option_3`) can be used to specify the
|
||||
maximum number of rows (values 2 to 11), and the number of columns will be
|
||||
adjusted accordingly. This symbol can be generated with a two-dimensional
|
||||
adjusted accordingly. This symbol can be generated with a two-dimensional
|
||||
component to make a composite symbol. For symbols with a 2D component the number
|
||||
of columns must be at least 2.
|
||||
|
||||
|
@ -2982,10 +2988,10 @@ Composite symbols employ a mixture of components to give more comprehensive
|
|||
information about a product. The permissible contents of a composite symbol is
|
||||
determined by the terms of the GS1 General Specifications. Composite symbols
|
||||
consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar
|
||||
symbol, a 2D component which is based on PDF417 or MicroPDF417, and a separator
|
||||
pattern. The type of linear component to be used is determined using the `-b` or
|
||||
`--barcode` switch (API `symbology`) as with other encoding methods. Valid
|
||||
values are shown below.
|
||||
symbol, a two-dimensional (2D) component which is based on PDF417 or
|
||||
MicroPDF417, and a separator pattern. The type of linear component to be used is
|
||||
determined using the `-b` or `--barcode` switch (API `symbology`) as with other
|
||||
encoding methods. Valid values are shown below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Numeric Name Barcode Name
|
||||
|
@ -3107,7 +3113,8 @@ used for encoding zip-codes on mail items. POSTNET uses numerical input data
|
|||
and includes a modulo-10 check digit. While Zint will encode POSTNET symbols of
|
||||
up to 38 digits in length, standard lengths as used by USPS were `PostNet6`
|
||||
(5-digit ZIP input), `PostNet10` (5-digit ZIP + 4-digit user data) and
|
||||
`PostNet12` (5-digit ZIP + 6-digit user data).
|
||||
`PostNet12` (5-digit ZIP + 6-digit user data), and a warning will be issued if
|
||||
the input length is not one of these.
|
||||
|
||||
### 6.4.3 PLANET
|
||||
|
||||
|
@ -3118,7 +3125,8 @@ Numeric Encoding Technique) barcode was used for encoding routing data on mail
|
|||
items. PLANET uses numerical input data and includes a modulo-10 check digit.
|
||||
While Zint will encode PLANET symbols of up to 38 digits in length, standard
|
||||
lengths used by USPS were `Planet12` (11-digit input) and `Planet14` (13-digit
|
||||
input).
|
||||
input), and as with POSTNET a warning will be issued if the length is not one of
|
||||
these.
|
||||
|
||||
\clearpage
|
||||
|
||||
|
@ -3203,9 +3211,24 @@ generated by Zint.
|
|||
Developed in 2014 as a replacement for RM4SCC this 4-state symbol includes
|
||||
Reed Solomon error correction. Input is a pre-formatted alphanumeric string of
|
||||
22 (for Barcode C) or 26 (for Barcode L) characters, producing a symbol with
|
||||
66 or 78 bars respectively. Some of the permitted inputs include a number of
|
||||
trailing space characters - these will be appended by Zint if not included in
|
||||
the input data.
|
||||
66 or 78 bars respectively. The rules for the input data are complex, as
|
||||
summarized in the following table.
|
||||
|
||||
Format Version ID Class Supply Chain ID Item ID Destination+DPS
|
||||
------- ---------- ------- --------------- -------- -----------------
|
||||
1 digit 1 digit 1 alphanum. 2 digits (C) or 8 digits 9 alphanumerics
|
||||
(0-4) (0-3) (0-9A-E) 6 digits (L) (1 of 6 patterns)
|
||||
|
||||
Table: {#tbl:mailmark_input_fields tag=": Royal Mail Mailmark Input Fields"}
|
||||
|
||||
The 6 Destination+DPS (Destination Post Code plus Delivery Point Suffix)
|
||||
patterns are `'FNFNLLNLS'`, `'FFNNLLNLS'`, `'FFNNNLLNL'`, `'FFNFNLLNL'`,
|
||||
`'FNNLLNLSS'` and `'FNNNLLNLS'`, where `'F'` stands for full alphabetic (A-Z),
|
||||
`'L'` for limited alphabetic (A-Z less `'CIKMOV'`), `'N'` for numeric (0-9), and
|
||||
`'S'` for space.
|
||||
|
||||
Four of the permitted patterns include a number of trailing space characters -
|
||||
these will be appended by Zint if not included in the input data.
|
||||
|
||||
### 6.5.5 USPS Intelligent Mail
|
||||
|
||||
|
@ -3220,15 +3243,10 @@ consists of a 20-digit tracking code, followed by a dash (`-`), followed by a
|
|||
delivery point zip-code which can be 0, 5, 9 or 11 digits in length. For example
|
||||
all of the following inputs are valid data entries:
|
||||
|
||||
```
|
||||
"01234567094987654321"
|
||||
|
||||
"01234567094987654321-01234"
|
||||
|
||||
"01234567094987654321-012345678"
|
||||
|
||||
"01234567094987654321-01234567891"
|
||||
```
|
||||
- `"01234567094987654321"`
|
||||
- `"01234567094987654321-01234"`
|
||||
- `"01234567094987654321-012345678"`
|
||||
- `"01234567094987654321-01234567891"`
|
||||
|
||||
### 6.5.6 Japanese Postal Code
|
||||
|
||||
|
@ -3238,6 +3256,32 @@ all of the following inputs are valid data entries:
|
|||
Used for address data on mail items for Japan Post. Accepted values are 0-9,
|
||||
A-Z and dash (`-`). A modulo 19 check digit is added by Zint.
|
||||
|
||||
### 6.5.7 DAFT Code
|
||||
|
||||

|
||||
|
||||
This is a method for creating 4-state codes where the data encoding is provided
|
||||
by an external program. Input data should consist of the letters `'D'`, `'A'`,
|
||||
`'F'` and `'T'` where these refer to descender, ascender, full (ascender and
|
||||
descender) and tracker (neither ascender nor descender) respectively. All other
|
||||
characters are invalid. The ratio of the tracker size to full height can be
|
||||
given in thousandths (permille) using the `--vers` option (API `option_2`). The
|
||||
default value is 250 (25%).
|
||||
|
||||
For example the following
|
||||
|
||||
```bash
|
||||
zint -b DAFT -d AAFDTTDAFADTFTTFFFDATFTADTTFFTDAFAFDTF --height=8.494 --vers=256
|
||||
```
|
||||
|
||||
produces the same barcode (see [6.5.3 Royal Mail 4-State Customer Code
|
||||
(RM4SCC)]) as
|
||||
|
||||
```bash
|
||||
zint -b RM4SCC --compliantheight -d "W1J0TR01"
|
||||
```
|
||||
|
||||
\clearpage
|
||||
|
||||
## 6.6 Matrix Symbols
|
||||
|
@ -3252,10 +3296,10 @@ in partnership with the US DoD and NASA. The symbol can encode a large amount
|
|||
of data in a small area. Data Matrix encodes characters in the Latin-1 set by
|
||||
default but also supports encoding in other character sets using the ECI
|
||||
mechanism. It can also encode GS1 data. The size of the generated symbol can
|
||||
also be adjusted using the `--vers` option (API `option_2`) as shown in the
|
||||
table below. A separate symbology ID (`BARCODE_HIBC_DM`) can be used to encode
|
||||
Health Industry Barcode (HIBC) data. Note that only ECC200 encoding is
|
||||
supported, the older standards have now been removed from Zint.
|
||||
be adjusted using the `--vers` option (API `option_2`) as shown in the table
|
||||
below. A separate symbology ID (`BARCODE_HIBC_DM`) can be used to encode Health
|
||||
Industry Barcode (HIBC) data. Note that only ECC200 encoding is supported, the
|
||||
older standards have now been removed from Zint.
|
||||
|
||||
Input Symbol Size Input Symbol Size Input Symbol Size
|
||||
----- ----------- -- ----- ----------- -- ----- -----------
|
||||
|
@ -3440,14 +3484,12 @@ option_3 = ZINT_FULL_MULTIBYTE | (N + 1) << 8
|
|||
|
||||

|
||||
|
||||
A rectangular version of QR Code, it is still under development, so it is
|
||||
recommended it should not yet be used for a production environment. Like QR
|
||||
Code, rMQR supports encoding of GS1 data, and either Latin-1 characters or Shift
|
||||
JIS characters, and other encodings using the ECI mechanism. As with other
|
||||
symbologies data should be entered as UTF-8 with conversion being handled by
|
||||
Zint. The amount of ECC codewords can be adjusted using the `--secure` option
|
||||
(API `option_1`), however only ECC levels M and H are valid for this type of
|
||||
symbol.
|
||||
A rectangular version of QR Code, rMQR supports encoding of GS1 data, and either
|
||||
Latin-1 characters or Shift JIS characters, and other encodings using the ECI
|
||||
mechanism. As with other symbologies data should be entered as UTF-8 with
|
||||
conversion being handled by Zint. The amount of ECC codewords can be adjusted
|
||||
using the `--secure` option (API `option_1`), however only ECC levels M and H
|
||||
are valid for this type of symbol.
|
||||
|
||||
Input ECC Level Error Correction Capacity Recovery Capacity
|
||||
----- --------- ------------------------- -----------------
|
||||
|
@ -3934,33 +3976,6 @@ not a true barcode symbol and requires precise knowledge of the position of the
|
|||
mark on the page. The Flattermarken system can encode numeric data up to a
|
||||
maximum of 90 digits and does not include a check digit.
|
||||
|
||||
### 6.7.3 DAFT Code
|
||||
|
||||

|
||||
|
||||
|
||||
This is a method for creating 4-state codes where the data encoding is provided
|
||||
by an external program. Input data should consist of the letters `'D'`, `'A'`,
|
||||
`'F'` and `'T'` where these refer to descender, ascender, full (ascender and
|
||||
descender) and tracker (neither ascender nor descender) respectively. All other
|
||||
characters are invalid. The ratio of the tracker size to full height can be
|
||||
given in thousandths (permille) using the `--vers` option (API `option_2`). The
|
||||
default value is 250 (25%).
|
||||
|
||||
For example the following
|
||||
|
||||
```bash
|
||||
zint -b DAFT -d AAFDTTDAFADTFTTFFFDATFTADTTFFTDAFAFDTF --height=8.494 --vers=256
|
||||
```
|
||||
|
||||
produces the same barcode (see [6.5.3 Royal Mail 4-State Customer Code
|
||||
(RM4SCC)]) as
|
||||
|
||||
```bash
|
||||
zint -b RM4SCC --compliantheight -d "W1J0TR01"
|
||||
```
|
||||
|
||||
|
||||
# 7. Legal and Version Information
|
||||
|
||||
|
@ -3968,15 +3983,17 @@ zint -b RM4SCC --compliantheight -d "W1J0TR01"
|
|||
|
||||
Zint, libzint and Zint Barcode Studio are Copyright © 2022 Robin Stuart. All
|
||||
historical versions are distributed under the GNU General Public License
|
||||
version 3 or later. Version 2.5 (and later) is released under a dual license:
|
||||
the encoding library is released under the BSD license whereas the GUI, Zint
|
||||
Barcode Studio, is released under the GNU General Public License version 3 or
|
||||
later.
|
||||
version 3 or later. Versions 2.5 and later are released under a dual license:
|
||||
the encoding library is released under the BSD (3 clause) license whereas the
|
||||
GUI, Zint Barcode Studio, and the CLI are released under the GNU General Public
|
||||
License version 3 or later.
|
||||
|
||||
Telepen is a trademark of SB Electronic Systems Ltd.
|
||||
|
||||
QR Code is a registered trademark of Denso Wave Incorporated.
|
||||
|
||||
Mailmark is a registered trademark of Royal Mail Group Ltd.
|
||||
|
||||
Microsoft, Windows and the Windows logo are either registered trademarks or
|
||||
trademarks of Microsoft Corporation in the United States and/or other countries.
|
||||
|
||||
|
@ -4036,61 +4053,71 @@ Below is a list of some of the sources used in rough chronological order:
|
|||
Zint was developed to provide compliance with the following British and
|
||||
international standards:
|
||||
|
||||
### 7.5.1 Symbology Standards
|
||||
|
||||
- ISO/IEC 24778:2008 Information technology - Automatic identification and data
|
||||
capture techniques - Aztec Code bar code symbology specification
|
||||
- ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code
|
||||
- BS EN 798:1996 Bar coding - Symbology specifications - 'Codabar'
|
||||
- BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K
|
||||
- ISO/IEC 15420:2009 Information technology - Automatic identification and data
|
||||
capture techniques - EAN/UPC bar code symbology specification
|
||||
- AIM Europe ISS-X-24 - Uniform Symbology Specification Codablock-F (1995)
|
||||
- ISO/IEC 15417:2007 Information technology - Automatic identification and data
|
||||
capture techniques - Code 128 bar code symbology specification
|
||||
- ISO/IEC 15438:2015 Information technology - Automatic identification and data
|
||||
capture techniques - PDF417 bar code symbology specification
|
||||
- ISO/IEC 16022:2006 Information technology - Automatic identification and data
|
||||
capture techniques - Data Matrix ECC200 bar code symbology specification
|
||||
- ISO/IEC 16023:2000 Information technology - International symbology
|
||||
specification - MaxiCode
|
||||
- BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K
|
||||
- ISO/IEC 16388:2007 Information technology - Automatic identification and data
|
||||
capture techniques - Code 39 bar code symbology specification
|
||||
- ISO/IEC 18004:2015 Information technology - Automatic identification and data
|
||||
capture techniques - QR Code bar code symbology specification
|
||||
- ISO/IEC 20830:2021 Information technology - Automatic identification and data
|
||||
capture techniques - Han Xin Code bar code symbology specification
|
||||
- ANSI/AIM BC6-2000 - Uniform Symbology Specification Code 49
|
||||
- ANSI/AIM BC5-1995 - Uniform Symbology Specification Code 93
|
||||
- AIM Uniform Symbology Specification Code One (1994)
|
||||
- ISO/IEC 16022:2006 Information technology - Automatic identification and data
|
||||
capture techniques - Data Matrix ECC200 bar code symbology specification
|
||||
- ISO/IEC 21471:2020 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
|
||||
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 9th Dec 2008)
|
||||
- ISO/IEC 24723:2010 Information technology - Automatic identification and data
|
||||
capture techniques - GS1 Composite bar code symbology specification
|
||||
- ISO/IEC 24724:2011 Information technology - Automatic identification and data
|
||||
capture techniques - GS1 DataBar bar code symbology specification
|
||||
- ISO/IEC 24728:2006 Information technology - Automatic identification and data
|
||||
capture techniques - MicroPDF417 bar code symbology specification
|
||||
- ISO/IEC 24778:2008 Information technology - Automatic identification and data
|
||||
capture techniques - Aztec Code bar code symbology specification
|
||||
- ISO/IEC JTC1/SC31N000 (Draft 2019-6-24) Information technology - Automatic
|
||||
identification and data capture techniques - Rectangular Micro QR Code
|
||||
(rMQR) bar code symbology specification
|
||||
- ISO/IEC 20830:2021 Information technology - Automatic identification and data
|
||||
capture techniques - Han Xin Code bar code symbology specification
|
||||
- ISO/IEC 16390:2007 Information technology - Automatic identification and data
|
||||
capture techniques - Interleaved 2 of 5 bar code symbology specification
|
||||
- ISO/IEC 21471:2020 Information technology - Automatic identification and data
|
||||
capture techniques - Extended rectangular data matrix (DMRE) bar code
|
||||
symbology specification
|
||||
- AIM Uniform Symbology Specification Code One (1994)
|
||||
- ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code
|
||||
- ANSI/AIM BC6-2000 - Uniform Symbology Specification Code 49
|
||||
- ANSI/AIM BC5-1995 - Uniform Symbology Specification Code 93
|
||||
- AIM Europe ISS-X-24 - Uniform Symbology Specification Codablock-F (1995)
|
||||
- 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)
|
||||
- AIMD014 (v 1.63) - Information technology, Automatic identification and data
|
||||
capture techniques - Bar code symbology specification - Grid Matrix
|
||||
(Released 9th Dec 2008)
|
||||
- ISO/IEC 16023:2000 Information technology - International symbology
|
||||
specification - MaxiCode
|
||||
- ISO/IEC 24728:2006 Information technology - Automatic identification and data
|
||||
capture techniques - MicroPDF417 bar code symbology specification
|
||||
- ISO/IEC 15438:2015 Information technology - Automatic identification and data
|
||||
capture techniques - PDF417 bar code symbology specification
|
||||
- ISO/IEC 18004:2015 Information technology - Automatic identification and data
|
||||
capture techniques - QR Code bar code symbology specification
|
||||
- ISO/IEC 23941:2022 Information technology - Automatic identification and data
|
||||
capture techniques - Rectangular Micro QR Code (rMQR) bar code symbology
|
||||
specification
|
||||
- AIMD/TSC15032-43 (v 0.99c) - International Technical Specification -
|
||||
Ultracode Symbology (Draft) (Released 4th Nov 2015)
|
||||
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
|
||||
Standard
|
||||
- GS1 General Specifications Release 22.0 (Jan 2022)
|
||||
|
||||
A number of other specification documents have also been referenced, such as
|
||||
MIL-STD-1189 Rev. B (1989) (LOGMARS), USPS DMM 300 2006 (2011) (POSTNET, PLANET,
|
||||
FIM) and USPS-B-3200 (2015) (IMAIL). Those not named include postal and delivery
|
||||
company references in particular.
|
||||
|
||||
### 7.5.2 General Standards
|
||||
|
||||
- AIM ITS/04-001 International Technical Standard - Extended Channel
|
||||
Interpretations Part 1: Identification Schemes and Protocol (Released 24th
|
||||
May 2004)
|
||||
- AIM ITS/04-023 International Technical Standard - Extended Channel
|
||||
Interpretations Part 3: Register (Version 2, February 2022)
|
||||
- GS1 General Specifications Release 22.0 (Jan 2022)
|
||||
- ANSI/HIBC 2.6-2016 - The Health Industry Bar Code (HIBC) Supplier Labeling
|
||||
Standard
|
||||
|
||||
|
||||
# Annex A. Character Encoding
|
||||
|
@ -4155,4 +4182,4 @@ F `¯` `¿` `Ï` `ß` `ï` `ÿ`
|
|||
|
||||
Table: {#tbl:iso_iec_8869_1 tag=": ISO/IEC 8859-1"}
|
||||
|
||||
# Annex B. zint(1) Man Page
|
||||
# Annex B. Man Page ZINT(1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue