Closing parentheses may also be escaped for clarity.
For matrix symbologies, a GS1 Digital Link URI may be used:
zint -b AZTEC -d "https://example.com/01/09520123456788/10/BATCH4/21/07" --gs1
+class="sourceCode bash">zint -b AZTEC -d "https://example.com/01/09520123456788/10/BCH4/21/07" --gs1
A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax
Engine format that uses carets (^)
@@ -3101,13 +3108,13 @@ to indicate any required FNC1s.
The data must start with a caret:
zint -b AZTEC -d "^010952012345678810BATCH4^2107" --gs1
+class="sourceCode bash">zint -b AZTEC -d "^010952012345678810BCH4^2107" --gs1
The final way to specify input is the related “raw” mode using the
--gs1raw option. Here FNC1s are indicated by
Group Separators (GS, ASCII 29, escape sequence
\G). It does not start with a GS:
zint -b AZTEC -d "010952012345678810BATCH4\G2107" --esc --gs1raw
+class="sourceCode bash">zint -b AZTEC -d "010952012345678810BCH4\G2107" --esc --gs1raw
4.11.3.2 GS1 Options
Apart from --gs1, --gs1parens and
--gs1raw discussed above, there are two other GS1
diff --git a/docs/manual.pmd b/docs/manual.pmd
index 9090904a..41e77d35 100644
--- a/docs/manual.pmd
+++ b/docs/manual.pmd
@@ -1,6 +1,6 @@
% Zint Barcode Generator and Zint Barcode Studio User Manual
% Version 2.16.0.9
-% May 2026
+% June 2026
[//]: # ( vim: set ts=4 sw=4 et : )
@@ -1508,24 +1508,43 @@ zint -b QRCODE --binary -d "UTF-8 data"
The following symbologies accept GS1 data:
-Symbology Implicit AI? Assumed? Supports Composite?
-------------- ------------ -------- -------------------
-Aztec Code No No No
-Code 16K No No No
-Code 49 No No No
-Code One No No No
-Data Matrix No No No
-DotCode No No No
-EAN-13, EAN-8 Yes (01) Yes Yes
-EAN-14 Yes (01) Yes No
-GS1-128 No Yes Yes
-GS1 DataBar Expanded (Stacked) No Yes Yes
-GS1 DataBar (all others) Yes (01) Yes Yes
-NVE-18 Yes (00) Yes No
-QR Code No No No
-rMQR No No No
-Ultracode No No No
-UPC-A, UPC-E Yes (01) Yes Yes
+----------------------------------------------------------
+Symbology Implicit GS1 Data Supports GS1
+ AI? Assumed? Composite?
+------------- -------- -------- ------------
+Aztec Code No No No
+
+Code 16K No No No
+
+Code 49 No No No
+
+Code One No No No
+
+Data Matrix No No No
+
+DotCode No No No
+
+EAN-13, EAN-8 Yes (01) Yes Yes
+
+EAN-14 Yes (01) Yes No
+
+GS1-128 No Yes Yes
+
+GS1 DataBar Expanded No Yes Yes
+(including Stacked)
+
+GS1 DataBar (all others) Yes (01) Yes Yes
+
+NVE-18 Yes (00) Yes No
+
+QR Code No No No
+
+rMQR No No No
+
+Ultracode No No No
+
+UPC-A, UPC-E Yes (01) Yes Yes
+----------------------------------------------------------
Table: GS1-Enabled Symbologies
@@ -1542,7 +1561,7 @@ The traditional way in Zint of specifying GS1 data for these cases is to delimit
the GS1 AIs in square brackets:
```bash
-zint -b AZTEC -d "[01]09520123456788[10]BATCH4[21]07" --gs1
+zint -b AZTEC -d "[01]09520123456788[10]BCH4[21]07" --gs1
```
(Note that for the matrix symbologies the `--gs1` option must be given.)
@@ -1551,7 +1570,7 @@ Parentheses (round brackets) may be used instead by giving the `--gs1parens`
option:
```bash
-zint -b AZTEC -d "(01)09520123456788(10)BATCH4(21)07" --gs1parens
+zint -b AZTEC -d "(01)09520123456788(10)BCH4(21)07" --gs1parens
```
If the data includes opening parentheses when using the latter format, they must
@@ -1566,7 +1585,7 @@ Closing parentheses may also be escaped for clarity.
For matrix symbologies, a GS1 Digital Link URI may be used:
```bash
-zint -b AZTEC -d "https://example.com/01/09520123456788/10/BATCH4/21/07" --gs1
+zint -b AZTEC -d "https://example.com/01/09520123456788/10/BCH4/21/07" --gs1
```
A further way to specify GS1 input is "Unbracketed AI", a GS1 Syntax Engine
@@ -1574,7 +1593,7 @@ format[^10] that uses carets (`^`) to indicate any required `FNC1`s.[^11] The
data must start with a caret:
```bash
-zint -b AZTEC -d "^010952012345678810BATCH4^2107" --gs1
+zint -b AZTEC -d "^010952012345678810BCH4^2107" --gs1
```
[^10]: For more information on the "Unbracketed AI" format for GS1 data entry,
@@ -1594,7 +1613,7 @@ option. Here `FNC1`s are indicated by Group Separators (`GS`, ASCII 29, escape
sequence `\G`). It does not start with a `GS`:
```bash
-zint -b AZTEC -d "010952012345678810BATCH4\G2107" --esc --gs1raw
+zint -b AZTEC -d "010952012345678810BCH4\G2107" --esc --gs1raw
```
#### 4.11.3.2 GS1 Options
diff --git a/docs/manual.txt b/docs/manual.txt
index 51c4eefb..0bcb7027 100644
--- a/docs/manual.txt
+++ b/docs/manual.txt
@@ -1,6 +1,6 @@
Zint Barcode Generator and Zint Barcode Studio User Manual
Version 2.16.0.9
-May 2026
+June 2026
*******************************************************************************
* For reference the following is a text-only version of the Zint manual, *
@@ -9,206 +9,206 @@ May 2026
* however this text file is more likely to be up-to-date. *
*******************************************************************************
-- 1. Introduction
- - 1.1 Glossary
-- 2. Installing Zint
- - 2.1 Linux
- - 2.2 BSD
- - 2.3 Microsoft Windows
- - 2.4 Apple macOS
- - 2.5 Zint Tcl Backend
-- 3. Using Zint Barcode Studio
- - 3.1 Main Window and Data Tab
- - 3.2 GS1 Composite Groupbox
- - 3.3 Additional ECI/Data Segments Groupbox
- - 3.4 Symbology-specific Groupbox
- - 3.5 Symbology-specific Tab
- - 3.6 Appearance Tab
- - 3.7 Data Dialog
- - 3.8 Sequence Dialog
- - 3.9 Export Dialog
- - 3.10 CLI Equivalent Dialog
-- 4. Using the Command Line
- - 4.1 Inputting Data
- - 4.2 Directing Output
- - 4.3 Selecting Barcode Type
- - 4.4 Adjusting Height
- - 4.5 Adjusting Whitespace
- - 4.6 Adding Boundary Bars and Boxes
- - 4.7 Using Colour
- - 4.8 Rotating the Symbol
- - 4.9 Adjusting Image Size (X-dimension)
- - 4.9.1 Scaling by X-dimension and Resolution
- - 4.9.2 Scaling Example
- - 4.9.3 MaxiCode Raster Scaling
- - 4.10 Human Readable Text (HRT) Options
- - 4.11 Input Modes
- - 4.11.1 Unicode, Data, and GS1 Modes
- - 4.11.2 Input Modes and ECI
- - 4.11.2.1 Input Modes and ECI Example 1
- - 4.11.2.2 Input Modes and ECI Example 2
- - 4.11.2.3 Input Modes and ECI Example 3
- - 4.11.3 GS1 Data Entry and Options
- - 4.11.3.1 GS1 Data Entry
- - 4.11.3.2 GS1 Options
- - 4.12 Batch Processing
- - 4.13 Direct Output to stdout
- - 4.14 Automatic Filenames
- - 4.15 Working with Dots
- - 4.16 Multiple Segments
- - 4.17 Structured Append
- - 4.18 Help Options
- - 4.19 Other Options
-- 5. Using the API
- - 5.1 Creating and Deleting Symbols
- - 5.2 Encoding and Saving to File
- - 5.3 Encoding and Printing Functions in Depth
- - 5.4 Buffering Symbols in Memory (raster)
- - 5.5 Buffering Symbols in Memory (vector)
- - 5.6 Buffering Symbols in Memory (memfile)
- - 5.7 Setting Options
- - 5.8 Handling Errors
- - 5.9 Specifying a Symbology
- - 5.10 Adjusting Output Options
- - 5.11 Setting the Input Mode
- - 5.12 Multiple Segments
- - 5.13 Scaling Helpers
- - 5.14 Verifying Symbology Availability
- - 5.15 Checking Symbology Capabilities
- - 5.16 Feedback
- - 5.17 UTF-8 to ECI convenience functions
- - 5.18 Zint Version
- - 5.19 Debug Info
-- 6. Types of Symbology
- - 6.1 One-Dimensional Symbols
- - 6.1.1 Code 11
- - 6.1.2 Code 2 of 5
- - 6.1.2.1 Standard Code 2 of 5
- - 6.1.2.2 IATA Code 2 of 5
- - 6.1.2.3 Industrial Code 2 of 5
- - 6.1.2.4 Interleaved Code 2 of 5 (ISO 16390)
- - 6.1.2.5 Code 2 of 5 Data Logic
- - 6.1.2.6 ITF-14
- - 6.1.2.7 Deutsche Post Leitcode
- - 6.1.2.8 Deutsche Post Identcode
- - 6.1.3 UPC (Universal Product Code) (ISO 15420)
- - 6.1.3.1 UPC Version A
- - 6.1.3.2 UPC Version E
- - 6.1.4 EAN (European Article Number) (ISO 15420)
- - 6.1.4.1 EAN-13
- - 6.1.4.2 EAN-8
- - 6.1.4.3 ISBN (including SBN and ISBN-13)
- - 6.1.4.4 EAN/UPC Add-Ons (standalone)
- - 6.1.5 Plessey
- - 6.1.5.1 UK Plessey
- - 6.1.5.2 MSI Plessey
- - 6.1.6 Telepen
- - 6.1.6.1 Telepen Alpha
- - 6.1.6.2 Telepen Numeric
- - 6.1.7 Code 39
- - 6.1.7.1 Standard Code 39 (ISO 16388)
- - 6.1.7.2 Extended Code 39
- - 6.1.7.3 Code 93
- - 6.1.7.4 PZN (Pharmazentralnummer)
- - 6.1.7.5 LOGMARS
- - 6.1.7.6 Code 32
- - 6.1.7.7 HIBC Code 39
- - 6.1.7.8 Vehicle Identification Number (VIN)
- - 6.1.8 Codabar (EN 798)
- - 6.1.9 Pharmacode One-Track
- - 6.1.10 Code 128
- - 6.1.10.1 Standard Code 128 (ISO 15417)
- - 6.1.10.2 Code 128 Suppress Code Set C (Code Sets A and B only)
- - 6.1.10.3 GS1-128
- - 6.1.10.4 EAN-14
- - 6.1.10.5 NVE-18 (SSCC-18)
- - 6.1.10.6 HIBC Code 128
- - 6.1.10.7 DPD Code
- - 6.1.10.8 UPU S10
- - 6.1.11 GS1 DataBar (ISO 24724)
- - 6.1.11.1 GS1 DataBar Omnidirectional and GS1 DataBar Truncated
- - 6.1.11.2 GS1 DataBar Limited
- - 6.1.11.3 GS1 DataBar Expanded
- - 6.1.12 Korea Post Barcode
- - 6.1.13 Channel Code
- - 6.1.14 BC412 (SEMI T1-95)
- - 6.2 Stacked Symbologies
- - 6.2.1 Basic Symbol Stacking
- - 6.2.2 Codablock F
- - 6.2.3 Code 16K (EN 12323)
- - 6.2.4 PDF417 (ISO 15438)
- - 6.2.5 Compact PDF417 (ISO 15438)
- - 6.2.6 MicroPDF417 (ISO 24728)
- - 6.2.7 GS1 DataBar Stacked (ISO 24724)
- - 6.2.7.1 GS1 DataBar Stacked
- - 6.2.7.2 GS1 DataBar Stacked Omnidirectional
- - 6.2.7.3 GS1 DataBar Expanded Stacked
- - 6.2.8 Code 49
- - 6.3 GS1 Composite Symbols (ISO 24723)
- - 6.3.1 CC-A
- - 6.3.2 CC-B
- - 6.3.3 CC-C
- - 6.4 Two-Track Symbols
- - 6.4.1 Pharmacode Two-Track
- - 6.4.2 POSTNET
- - 6.4.3 PLANET
- - 6.4.4 Brazilian CEPNet
- - 6.4.5 DX Film Edge Barcode
- - 6.5 4-State Postal Codes
- - 6.5.1 Australia Post 4-State Symbols
- - 6.5.1.1 Customer Barcodes
- - 6.5.1.2 Reply Paid Barcode
- - 6.5.1.3 Routing Barcode
- - 6.5.1.4 Redirect Barcode
- - 6.5.2 Dutch Post KIX Code
- - 6.5.3 Royal Mail 4-State Customer Code (RM4SCC)
- - 6.5.4 Royal Mail 4-State Mailmark
- - 6.5.5 USPS Intelligent Mail
- - 6.5.6 Japanese Postal Code
- - 6.5.7 DAFT Code
- - 6.6 Matrix Symbols
- - 6.6.1 Data Matrix (ISO 16022)
- - 6.6.2 Royal Mail 2D Mailmark (CMDM) (Data Matrix)
- - 6.6.3 QR Code (ISO 18004)
- - 6.6.4 Micro QR Code (ISO 18004)
- - 6.6.5 Rectangular Micro QR Code (rMQR) (ISO 23941)
- - 6.6.6 UPNQR (Univerzalnega Plačilnega Naloga QR)
- - 6.6.7 MaxiCode (ISO 16023)
- - 6.6.8 Aztec Code (ISO 24778)
- - 6.6.9 Aztec Runes (ISO 24778)
- - 6.6.10 Code One
- - 6.6.11 Grid Matrix
- - 6.6.12 DotCode
- - 6.6.13 Han Xin Code (ISO 20830)
- - 6.6.14 Ultracode
- - 6.7 Other Barcode-Like Markings
- - 6.7.1 Facing Identification Mark (FIM)
- - 6.7.2 Flattermarken
-- 7. Legal and Version Information
- - 7.1 License
- - 7.2 Patent Issues
- - 7.3 Version Information
- - 7.4 Sources of Information
- - 7.5 Standards Compliance
- - 7.5.1 Symbology Standards
- - 7.5.2 General Standards
-- Annex A. Character Encoding
- - A.1 ASCII Standard
- - A.2 Latin Alphabet No. 1 (ISO/IEC 8859-1)
-- Annex B. Qt Backend QZint
-- Annex C. Tcl Backend Binding
-- Annex D. Man Page ZINT(1)
-- NAME
-- SYNOPSIS
-- DESCRIPTION
-- OPTIONS
-- EXIT STATUS
-- EXAMPLES
-- BUGS
-- SEE ALSO
-- CONFORMING TO
-- COPYRIGHT
-- AUTHOR
+- 1. Introduction
+ - 1.1 Glossary
+- 2. Installing Zint
+ - 2.1 Linux
+ - 2.2 BSD
+ - 2.3 Microsoft Windows
+ - 2.4 Apple macOS
+ - 2.5 Zint Tcl Backend
+- 3. Using Zint Barcode Studio
+ - 3.1 Main Window and Data Tab
+ - 3.2 GS1 Composite Groupbox
+ - 3.3 Additional ECI/Data Segments Groupbox
+ - 3.4 Symbology-specific Groupbox
+ - 3.5 Symbology-specific Tab
+ - 3.6 Appearance Tab
+ - 3.7 Data Dialog
+ - 3.8 Sequence Dialog
+ - 3.9 Export Dialog
+ - 3.10 CLI Equivalent Dialog
+- 4. Using the Command Line
+ - 4.1 Inputting Data
+ - 4.2 Directing Output
+ - 4.3 Selecting Barcode Type
+ - 4.4 Adjusting Height
+ - 4.5 Adjusting Whitespace
+ - 4.6 Adding Boundary Bars and Boxes
+ - 4.7 Using Colour
+ - 4.8 Rotating the Symbol
+ - 4.9 Adjusting Image Size (X-dimension)
+ - 4.9.1 Scaling by X-dimension and Resolution
+ - 4.9.2 Scaling Example
+ - 4.9.3 MaxiCode Raster Scaling
+ - 4.10 Human Readable Text (HRT) Options
+ - 4.11 Input Modes
+ - 4.11.1 Unicode, Data, and GS1 Modes
+ - 4.11.2 Input Modes and ECI
+ - 4.11.2.1 Input Modes and ECI Example 1
+ - 4.11.2.2 Input Modes and ECI Example 2
+ - 4.11.2.3 Input Modes and ECI Example 3
+ - 4.11.3 GS1 Data Entry and Options
+ - 4.11.3.1 GS1 Data Entry
+ - 4.11.3.2 GS1 Options
+ - 4.12 Batch Processing
+ - 4.13 Direct Output to stdout
+ - 4.14 Automatic Filenames
+ - 4.15 Working with Dots
+ - 4.16 Multiple Segments
+ - 4.17 Structured Append
+ - 4.18 Help Options
+ - 4.19 Other Options
+- 5. Using the API
+ - 5.1 Creating and Deleting Symbols
+ - 5.2 Encoding and Saving to File
+ - 5.3 Encoding and Printing Functions in Depth
+ - 5.4 Buffering Symbols in Memory (raster)
+ - 5.5 Buffering Symbols in Memory (vector)
+ - 5.6 Buffering Symbols in Memory (memfile)
+ - 5.7 Setting Options
+ - 5.8 Handling Errors
+ - 5.9 Specifying a Symbology
+ - 5.10 Adjusting Output Options
+ - 5.11 Setting the Input Mode
+ - 5.12 Multiple Segments
+ - 5.13 Scaling Helpers
+ - 5.14 Verifying Symbology Availability
+ - 5.15 Checking Symbology Capabilities
+ - 5.16 Feedback
+ - 5.17 UTF-8 to ECI convenience functions
+ - 5.18 Zint Version
+ - 5.19 Debug Info
+- 6. Types of Symbology
+ - 6.1 One-Dimensional Symbols
+ - 6.1.1 Code 11
+ - 6.1.2 Code 2 of 5
+ - 6.1.2.1 Standard Code 2 of 5
+ - 6.1.2.2 IATA Code 2 of 5
+ - 6.1.2.3 Industrial Code 2 of 5
+ - 6.1.2.4 Interleaved Code 2 of 5 (ISO 16390)
+ - 6.1.2.5 Code 2 of 5 Data Logic
+ - 6.1.2.6 ITF-14
+ - 6.1.2.7 Deutsche Post Leitcode
+ - 6.1.2.8 Deutsche Post Identcode
+ - 6.1.3 UPC (Universal Product Code) (ISO 15420)
+ - 6.1.3.1 UPC Version A
+ - 6.1.3.2 UPC Version E
+ - 6.1.4 EAN (European Article Number) (ISO 15420)
+ - 6.1.4.1 EAN-13
+ - 6.1.4.2 EAN-8
+ - 6.1.4.3 ISBN (including SBN and ISBN-13)
+ - 6.1.4.4 EAN/UPC Add-Ons (standalone)
+ - 6.1.5 Plessey
+ - 6.1.5.1 UK Plessey
+ - 6.1.5.2 MSI Plessey
+ - 6.1.6 Telepen
+ - 6.1.6.1 Telepen Alpha
+ - 6.1.6.2 Telepen Numeric
+ - 6.1.7 Code 39
+ - 6.1.7.1 Standard Code 39 (ISO 16388)
+ - 6.1.7.2 Extended Code 39
+ - 6.1.7.3 Code 93
+ - 6.1.7.4 PZN (Pharmazentralnummer)
+ - 6.1.7.5 LOGMARS
+ - 6.1.7.6 Code 32
+ - 6.1.7.7 HIBC Code 39
+ - 6.1.7.8 Vehicle Identification Number (VIN)
+ - 6.1.8 Codabar (EN 798)
+ - 6.1.9 Pharmacode One-Track
+ - 6.1.10 Code 128
+ - 6.1.10.1 Standard Code 128 (ISO 15417)
+ - 6.1.10.2 Code 128 Suppress Code Set C (Code Sets A and B only)
+ - 6.1.10.3 GS1-128
+ - 6.1.10.4 EAN-14
+ - 6.1.10.5 NVE-18 (SSCC-18)
+ - 6.1.10.6 HIBC Code 128
+ - 6.1.10.7 DPD Code
+ - 6.1.10.8 UPU S10
+ - 6.1.11 GS1 DataBar (ISO 24724)
+ - 6.1.11.1 GS1 DataBar Omnidirectional and GS1 DataBar Truncated
+ - 6.1.11.2 GS1 DataBar Limited
+ - 6.1.11.3 GS1 DataBar Expanded
+ - 6.1.12 Korea Post Barcode
+ - 6.1.13 Channel Code
+ - 6.1.14 BC412 (SEMI T1-95)
+ - 6.2 Stacked Symbologies
+ - 6.2.1 Basic Symbol Stacking
+ - 6.2.2 Codablock F
+ - 6.2.3 Code 16K (EN 12323)
+ - 6.2.4 PDF417 (ISO 15438)
+ - 6.2.5 Compact PDF417 (ISO 15438)
+ - 6.2.6 MicroPDF417 (ISO 24728)
+ - 6.2.7 GS1 DataBar Stacked (ISO 24724)
+ - 6.2.7.1 GS1 DataBar Stacked
+ - 6.2.7.2 GS1 DataBar Stacked Omnidirectional
+ - 6.2.7.3 GS1 DataBar Expanded Stacked
+ - 6.2.8 Code 49
+ - 6.3 GS1 Composite Symbols (ISO 24723)
+ - 6.3.1 CC-A
+ - 6.3.2 CC-B
+ - 6.3.3 CC-C
+ - 6.4 Two-Track Symbols
+ - 6.4.1 Pharmacode Two-Track
+ - 6.4.2 POSTNET
+ - 6.4.3 PLANET
+ - 6.4.4 Brazilian CEPNet
+ - 6.4.5 DX Film Edge Barcode
+ - 6.5 4-State Postal Codes
+ - 6.5.1 Australia Post 4-State Symbols
+ - 6.5.1.1 Customer Barcodes
+ - 6.5.1.2 Reply Paid Barcode
+ - 6.5.1.3 Routing Barcode
+ - 6.5.1.4 Redirect Barcode
+ - 6.5.2 Dutch Post KIX Code
+ - 6.5.3 Royal Mail 4-State Customer Code (RM4SCC)
+ - 6.5.4 Royal Mail 4-State Mailmark
+ - 6.5.5 USPS Intelligent Mail
+ - 6.5.6 Japanese Postal Code
+ - 6.5.7 DAFT Code
+ - 6.6 Matrix Symbols
+ - 6.6.1 Data Matrix (ISO 16022)
+ - 6.6.2 Royal Mail 2D Mailmark (CMDM) (Data Matrix)
+ - 6.6.3 QR Code (ISO 18004)
+ - 6.6.4 Micro QR Code (ISO 18004)
+ - 6.6.5 Rectangular Micro QR Code (rMQR) (ISO 23941)
+ - 6.6.6 UPNQR (Univerzalnega Plačilnega Naloga QR)
+ - 6.6.7 MaxiCode (ISO 16023)
+ - 6.6.8 Aztec Code (ISO 24778)
+ - 6.6.9 Aztec Runes (ISO 24778)
+ - 6.6.10 Code One
+ - 6.6.11 Grid Matrix
+ - 6.6.12 DotCode
+ - 6.6.13 Han Xin Code (ISO 20830)
+ - 6.6.14 Ultracode
+ - 6.7 Other Barcode-Like Markings
+ - 6.7.1 Facing Identification Mark (FIM)
+ - 6.7.2 Flattermarken
+- 7. Legal and Version Information
+ - 7.1 License
+ - 7.2 Patent Issues
+ - 7.3 Version Information
+ - 7.4 Sources of Information
+ - 7.5 Standards Compliance
+ - 7.5.1 Symbology Standards
+ - 7.5.2 General Standards
+- Annex A. Character Encoding
+ - A.1 ASCII Standard
+ - A.2 Latin Alphabet No. 1 (ISO/IEC 8859-1)
+- Annex B. Qt Backend QZint
+- Annex C. Tcl Backend Binding
+- Annex D. Man Page ZINT(1)
+ - NAME
+ - SYNOPSIS
+ - DESCRIPTION
+ - OPTIONS
+ - EXIT STATUS
+ - EXAMPLES
+ - BUGS
+ - SEE ALSO
+ - CONFORMING TO
+ - COPYRIGHT
+ - AUTHOR
1. Introduction
@@ -225,14 +225,14 @@ to encode data in over 50 barcode symbologies (types of barcode), for each of
which it is possible to translate that data from either UTF-8 (Unicode) or a raw
8-bit data stream. The image can be rendered as a
-- Windows Bitmap (BMP),
-- Enhanced Metafile Format (EMF),
-- Encapsulated PostScript (EPS),
-- Graphics Interchange Format (GIF),
-- ZSoft Paintbrush (PCX) image,
-- Portable Network Graphic (PNG) image,
-- Tagged Image File Format (TIF), or a
-- Scalable Vector Graphic (SVG).
+- Windows Bitmap (BMP),
+- Enhanced Metafile Format (EMF),
+- Encapsulated PostScript (EPS),
+- Graphics Interchange Format (GIF),
+- ZSoft Paintbrush (PCX) image,
+- Portable Network Graphic (PNG) image,
+- Tagged Image File Format (TIF), or a
+- Scalable Vector Graphic (SVG).
Many options are available for setting the characteristics of the output image
including the size and colour of the image, the amount of error correction used
@@ -395,8 +395,8 @@ For Microsoft Windows, Zint is distributed as a binary executable. Simply
download the ZIP file, then right-click on the ZIP file and "Extract All". A new
folder will be created within which are two binary files:
-- qtZint.exe - Zint Barcode Studio
-- zint.exe - Command Line Interface
+- qtZint.exe - Zint Barcode Studio
+- zint.exe - Command Line Interface
For fresh releases you will get a warning message from Microsoft Defender
SmartScreen that this is an ‘unrecognised app’. This happens because Zint is a
@@ -1565,25 +1565,43 @@ by default and do not support ECI. In this case supply UTF-8 data and use the
The following symbologies accept GS1 data:
- Symbology Implicit AI? Assumed? Supports Composite?
- -------------------------------- -------------- ---------- -------------------
---
- Aztec Code No No No
- Code 16K No No No
- Code 49 No No No
- Code One No No No
- Data Matrix No No No
- DotCode No No No
- EAN-13, EAN-8 Yes (01) Yes Yes
- EAN-14 Yes (01) Yes No
- GS1-128 No Yes Yes
- GS1 DataBar Expanded (Stacked) No Yes Yes
- GS1 DataBar (all others) Yes (01) Yes Yes
- NVE-18 Yes (00) Yes No
- QR Code No No No
- rMQR No No No
- Ultracode No No No
- UPC-A, UPC-E Yes (01) Yes Yes
+ ------------------------------------------------------------
+ Symbology Implicit GS1 Data Supports GS1
+ AI? Assumed? Composite?
+ ------------------------- ---------- ---------- ------------
+ Aztec Code No No No
+
+ Code 16K No No No
+
+ Code 49 No No No
+
+ Code One No No No
+
+ Data Matrix No No No
+
+ DotCode No No No
+
+ EAN-13, EAN-8 Yes (01) Yes Yes
+
+ EAN-14 Yes (01) Yes No
+
+ GS1-128 No Yes Yes
+
+ GS1 DataBar Expanded No Yes Yes
+ (including Stacked)
+
+ GS1 DataBar (all others) Yes (01) Yes Yes
+
+ NVE-18 Yes (00) Yes No
+
+ QR Code No No No
+
+ rMQR No No No
+
+ Ultracode No No No
+
+ UPC-A, UPC-E Yes (01) Yes Yes
+ ------------------------------------------------------------
Table 10: GS1-Enabled Symbologies
@@ -1599,14 +1617,14 @@ encode multiple AIs, require markup in the data to distinguish AIs.
The traditional way in Zint of specifying GS1 data for these cases is to delimit
the GS1 AIs in square brackets:
- zint -b AZTEC -d "[01]09520123456788[10]BATCH4[21]07" --gs1
+ zint -b AZTEC -d "[01]09520123456788[10]BCH4[21]07" --gs1
(Note that for the matrix symbologies the --gs1 option must be given.)
Parentheses (round brackets) may be used instead by giving the --gs1parens
option:
- zint -b AZTEC -d "(01)09520123456788(10)BATCH4(21)07" --gs1parens
+ zint -b AZTEC -d "(01)09520123456788(10)BCH4(21)07" --gs1parens
If the data includes opening parentheses when using the latter format, they must
be escaped and the --esc option given:
@@ -1617,39 +1635,39 @@ Closing parentheses may also be escaped for clarity.
For matrix symbologies, a GS1 Digital Link URI may be used:
- zint -b AZTEC -d "https://example.com/01/09520123456788/10/BATCH4/21/07" --g
-s1
+ zint -b AZTEC -d "https://example.com/01/09520123456788/10/BCH4/21/07" --gs1
A further way to specify GS1 input is “Unbracketed AI”, a GS1 Syntax Engine
format[10] that uses carets (^) to indicate any required FNC1s.[11] The data
must start with a caret:
- zint -b AZTEC -d "^010952012345678810BATCH4^2107" --gs1
+ zint -b AZTEC -d "^010952012345678810BCH4^2107" --gs1
The final way to specify input is the related “raw” mode using the --gs1raw
option. Here FNC1s are indicated by Group Separators (GS, ASCII 29, escape
sequence \G). It does not start with a GS:
- zint -b AZTEC -d "010952012345678810BATCH4\G2107" --esc --gs1raw
+ zint -b AZTEC -d "010952012345678810BCH4\G2107" --esc --gs1raw
4.11.3.2 GS1 Options
Apart from --gs1, --gs1parens and --gs1raw discussed above, there are two other
GS1 options.
-- --gs1strict, which enables the use the GS1 Syntax Engine to strictly validate
- GS1 data, including GS1 Digital Link URIs (by default Zint does not validate
- Digital Links at all). It requires that the gs1encoders library was present
- when Zint was built, otherwise the default built-in validation will be used.
+- --gs1strict, which enables the use the GS1 Syntax Engine to strictly
+ validate GS1 data, including GS1 Digital Link URIs (by default Zint does not
+ validate Digital Links at all). It requires that the gs1encoders library was
+ present when Zint was built, otherwise the default built-in validation will
+ be used.
-- --gs1nocheck, for use with legacy systems that have data that does not conform
- to the current GS1 standard. Printable ASCII input is still checked for, as is
- the validity of GS1 data specified without AIs (e.g. linear data for GS1
- DataBar Omnidirectional/Limited/etc.). Also checked is GS1 DataBar Expanded
- and GS1 Composite input that is not in the GS1 encodable character set 82 (see
- GS1 General Specifications 26.0 Table 7-2 “GS1 AI encodable character set
- 82”), otherwise encodation would fail. In “Unbracketed AI” and raw mode,
- overlong AI data will also fail.
+- --gs1nocheck, for use with legacy systems that have data that does not
+ conform to the current GS1 standard. Printable ASCII input is still checked
+ for, as is the validity of GS1 data specified without AIs (e.g. linear data
+ for GS1 DataBar Omnidirectional/Limited/etc.). Also checked is GS1 DataBar
+ Expanded and GS1 Composite input that is not in the GS1 encodable character
+ set 82 (see GS1 General Specifications 26.0 Table 7-2 “GS1 AI encodable
+ character set 82”), otherwise encodation would fail. In “Unbracketed AI” and
+ raw mode, overlong AI data will also fail.
All the GS1 options imply --gs1 (unlike their API equivalents, for which see
5.11 Setting the Input Mode).
@@ -4103,10 +4121,10 @@ 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
@@ -5043,24 +5061,24 @@ See "ChangeLog" in the project root directory for information on all releases.
Below is a list of some of the sources used in rough chronological order:
-- Nick Johnson’s Barcode Specifications
-- Bar Code 1 Specification Source Page
-- SB Electronic Systems Telepen website
-- Pharmacode specifications from Laetus
-- Morovia RM4SCC specification
-- Australia Post’s ‘A Guide to Printing the 4-State Barcode’ and bcsample source
- code
-- Plessey algorithm from GNU-Barcode v0.98 by Leonid A. Broukhis
-- GS1 General Specifications v 8.0 Issue 2
-- PNG: The Definitive Guide and wpng source code by Greg Reolofs
-- PDF417 specification and pdf417 source code by Grand Zebu
-- Barcode Reference, TBarCode/X User Documentation and TBarCode/X demonstration
- program from TEC-IT
-- IEC16022 source code by Stefan Schmidt et al
-- United States Postal Service Specification USPS-B-3200
-- Adobe Systems Incorporated Encapsulated PostScript File Format Specification
-- BSI Online Library
-- Libdmtx Data Matrix ECC200 decoding library
+- Nick Johnson’s Barcode Specifications
+- Bar Code 1 Specification Source Page
+- SB Electronic Systems Telepen website
+- Pharmacode specifications from Laetus
+- Morovia RM4SCC specification
+- Australia Post’s ‘A Guide to Printing the 4-State Barcode’ and bcsample
+ source code
+- Plessey algorithm from GNU-Barcode v0.98 by Leonid A. Broukhis
+- GS1 General Specifications v 8.0 Issue 2
+- PNG: The Definitive Guide and wpng source code by Greg Reolofs
+- PDF417 specification and pdf417 source code by Grand Zebu
+- Barcode Reference, TBarCode/X User Documentation and TBarCode/X
+ demonstration program from TEC-IT
+- IEC16022 source code by Stefan Schmidt et al
+- United States Postal Service Specification USPS-B-3200
+- Adobe Systems Incorporated Encapsulated PostScript File Format Specification
+- BSI Online Library
+- Libdmtx Data Matrix ECC200 decoding library
7.5 Standards Compliance
@@ -5069,56 +5087,57 @@ international standards:
7.5.1 Symbology Standards
-- ISO/IEC 24778:2024 Information technology - Automatic identification and data
- capture techniques - Aztec Code bar code symbology specification
-- SEMI T1-95 Specification for Back Surface Bar Code Marking of Silicon Wafers
- (BC412) (1996)
-- ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code
-- BS EN 798:1996 Bar coding - Symbology specifications - ‘Codabar’
-- 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
-- BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K
-- ISO/IEC 16388:2023 Information technology - Automatic identification and data
- capture techniques - Code 39 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:2024 Information technology - Automatic identification and data
- capture techniques - Data Matrix bar code symbology specification
-- 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: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
- 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 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 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:2024 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
-- 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)
+- ISO/IEC 24778:2024 Information technology - Automatic identification and
+ data capture techniques - Aztec Code bar code symbology specification
+- SEMI T1-95 Specification for Back Surface Bar Code Marking of Silicon Wafers
+ (BC412) (1996)
+- ANSI/AIM BC12-1998 - Uniform Symbology Specification Channel Code
+- BS EN 798:1996 Bar coding - Symbology specifications - ‘Codabar’
+- 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
+- BS EN 12323:2005 AIDC technologies - Symbology specifications - Code 16K
+- ISO/IEC 16388:2023 Information technology - Automatic identification and
+ data capture techniques - Code 39 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:2024 Information technology - Automatic identification and
+ data capture techniques - Data Matrix bar code symbology specification
+- 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: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 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 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 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:2024 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
+- 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)
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,
@@ -5127,21 +5146,21 @@ 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 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
+- 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 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
@@ -5293,7 +5312,7 @@ configured barcode is updated when the "Generate" button is pressed.
Annex D. Man Page ZINT(1)
-% ZINT(1) Version 2.16.0.9 % % May 2026
+% ZINT(1) Version 2.16.0.9 % % June 2026
NAME
diff --git a/docs/zint-qt.1 b/docs/zint-qt.1
index 72bd0b60..95d32b61 100644
--- a/docs/zint-qt.1
+++ b/docs/zint-qt.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pandoc 3.9.0.2
+.\" Automatically generated by Pandoc 3.10
.\"
.TH "ZINT\-QT" "1" "March 2026" "Version 2.16.0.9"
.SH NAME
diff --git a/docs/zint.1 b/docs/zint.1
index bb72b6bc..4bbcdc6f 100644
--- a/docs/zint.1
+++ b/docs/zint.1
@@ -1,6 +1,6 @@
-.\" Automatically generated by Pandoc 3.9.0.2
+.\" Automatically generated by Pandoc 3.10
.\"
-.TH "ZINT" "1" "May 2026" "Version 2.16.0.9"
+.TH "ZINT" "1" "June 2026" "Version 2.16.0.9"
.SH NAME
\f[CR]zint\f[R] \- encode data as a barcode image
.SH SYNOPSIS
diff --git a/docs/zint.1.pmd b/docs/zint.1.pmd
index 4c7b976c..7b65f17a 100644
--- a/docs/zint.1.pmd
+++ b/docs/zint.1.pmd
@@ -1,6 +1,6 @@
% ZINT(1) Version 2.16.0.9
%
-% May 2026
+% June 2026
[//]: # ( vim: set ts=4 sw=4 et : )