mirror of
https://git.code.sf.net/p/zint/code
synced 2026-05-01 19:55:29 +00:00
DATAMATRIX: add manual FNC1 support
CODE128: error on unrecognized extra escape sequences instead of just passing them thru; fix possible shifting before manual FNC1 in 2nd position after single alpha (otherwise won't be recognized as AIM) fix not removing manual FNC1 in 1st/2nd position from content segs (as implied by symbology identifier) CLI: warn if both "--dmre" and "--square" given (as "--square" overwrites "--dmre") common: new routines `z_isalpha()`, `z_extra_escapes()` and `z_ct_set_seg_extra_escapes_eci()` library: new helper `supports_extra_escape_mode()`; fix some error_number dups BWIPP: update to latest, and allow for removal of DBAR_LTD_CC RHS quiet zones & extra row when have add-on in EAN/UPC composites test suite: fix BWIPP escaping manual/man/tcl: update for DATAMATRIX manual FNC1 support Windows: resource scripts: make more consistent (libzint, CLI, GUI) win32/README: update with MSVC 2026
This commit is contained in:
362
docs/manual.html
362
docs/manual.html
@@ -334,7 +334,7 @@
|
||||
<h1 class="title">Zint Barcode Generator and Zint Barcode Studio User
|
||||
Manual</h1>
|
||||
<p class="author">Version 2.16.0.9</p>
|
||||
<p class="date">March 2026</p>
|
||||
<p class="date">April 2026</p>
|
||||
</header>
|
||||
<nav id="TOC" role="doc-toc">
|
||||
<ul>
|
||||
@@ -1491,10 +1491,58 @@ is hexadecimal (000000-10FFFF)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>(Special escape sequences are available for Code 128 only to manually
|
||||
switch Code Sets and insert special <code>FNC1</code> characters - see
|
||||
<a href="#standard-code-128-iso-15417">6.1.10.1 Standard Code 128 (ISO
|
||||
15417)</a> for details.)</p>
|
||||
<p>Extra escape sequences are available for certain symbologies using
|
||||
the <code>--extraesc</code> option that allows the insertion of special
|
||||
characters or, in the case of Code 128 only, to manually switch Code
|
||||
Sets. Extra escapes begin with the sequence backslash caret
|
||||
(“<code>\^</code>”):</p>
|
||||
<table id="tbl:extra_escapes">
|
||||
<caption><span class="table-label">Table 3:</span> Extra Escape
|
||||
Sequences</caption>
|
||||
<colgroup>
|
||||
<col style="width: 27%" />
|
||||
<col style="width: 41%" />
|
||||
<col style="width: 31%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: left;">Extra Escape Sequence</th>
|
||||
<th style="text-align: left;">Interpretation</th>
|
||||
<th>Available for Symbology</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>\^1</code></td>
|
||||
<td style="text-align: left;">Insert <code>FNC1</code> character</td>
|
||||
<td>Code128, Data Matrix</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>\^^</code></td>
|
||||
<td style="text-align: left;">Literal <code>\^</code></td>
|
||||
<td>Code128, Data Matrix</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>\^A</code>, <code>\^B</code>,
|
||||
<code>\^C</code></td>
|
||||
<td style="text-align: left;">Select Code Set A, B or C
|
||||
respectively</td>
|
||||
<td>Code128 only</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>\^@</code></td>
|
||||
<td style="text-align: left;">Exit manual Code Set selection and resume
|
||||
automatic Code Set selection</td>
|
||||
<td>Code128 only</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Currently the only special character recognized is the Function Code
|
||||
1 character <code>FNC1</code>. If your data contains the sequence
|
||||
“<code>\^</code>” then it must be escaped using the extra escape
|
||||
sequence “<code>\^^</code>”, i.e. by doubling the caret.</p>
|
||||
<p>See <a href="#standard-code-128-iso-15417">6.1.10.1 Standard Code 128
|
||||
(ISO 15417)</a> for the details on manually switching Code Sets.</p>
|
||||
<p>Input data can be read directly from file using the <code>-i</code>
|
||||
or <code>--input</code> switch as shown below. The input file is assumed
|
||||
to be UTF-8 formatted unless an alternative mode is selected. This
|
||||
@@ -1521,7 +1569,7 @@ types:</p>
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> there.eps <span class="at">-d</span> <span class="st">"This Text"</span></span></code></pre></div>
|
||||
<p>The currently supported output file formats are:</p>
|
||||
<table id="tbl:output_file_formats">
|
||||
<caption><span class="table-label">Table 3:</span> Output File
|
||||
<caption><span class="table-label">Table 4:</span> Output File
|
||||
Formats</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -1588,7 +1636,7 @@ class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href=
|
||||
<p>Names are treated case-insensitively by the CLI, and the
|
||||
<code>BARCODE_</code> prefix and any underscores are optional.</p>
|
||||
<table id="tbl:barcode_types">
|
||||
<caption><span class="table-label">Table 4:</span> Barcode Types
|
||||
<caption><span class="table-label">Table 5:</span> Barcode Types
|
||||
(Symbologies)</caption>
|
||||
<colgroup>
|
||||
<col style="width: 11%" />
|
||||
@@ -2334,7 +2382,7 @@ X-dimension of 0.2 (or for MaxiCode EMF output, 4). The maximum scale
|
||||
for both raster and vector is 200.</p>
|
||||
<p>To summarize the more intricate details:</p>
|
||||
<table id="tbl:scaling_multipliers" style="width:92%;">
|
||||
<caption><span class="table-label">Table 5:</span> Scaling Multipliers
|
||||
<caption><span class="table-label">Table 6:</span> Scaling Multipliers
|
||||
and Minima</caption>
|
||||
<colgroup>
|
||||
<col style="width: 15%" />
|
||||
@@ -2491,7 +2539,7 @@ Chinese (Hanzi) characters which are also converted from UTF-8.</p>
|
||||
default character set is GB 2312 (Chinese); and UPNQR, whose default
|
||||
character set is Latin-2 (ISO/IEC 8859-2 plus ASCII).</p>
|
||||
<table id="tbl:default_character_sets">
|
||||
<caption><span class="table-label">Table 6:</span> Default Character
|
||||
<caption><span class="table-label">Table 7:</span> Default Character
|
||||
Sets</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -2626,11 +2674,11 @@ behaviour.</p>
|
||||
<p>If your data contains characters that are not in the default
|
||||
character set, you may encode it using an ECI-aware symbology and an ECI
|
||||
value from <span class="cross-ref-group"><a href="#tbl:eci_codes"
|
||||
class="cross-ref">Table 8: ECI Codes</a></span> below. The ECI
|
||||
class="cross-ref">Table 9: ECI Codes</a></span> below. The ECI
|
||||
information is added to your code symbol as prefix data. The symbologies
|
||||
that support ECI are:</p>
|
||||
<table id="tbl:eci_aware_symbologies">
|
||||
<caption><span class="table-label">Table 7:</span> ECI-Aware
|
||||
<caption><span class="table-label">Table 8:</span> ECI-Aware
|
||||
Symbologies</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -2661,7 +2709,7 @@ followed by the value in the column <code>"ECI Code"</code> in the table
|
||||
below. The input data should be UTF-8 formatted. Zint automatically
|
||||
translates the data into the target encoding.</p>
|
||||
<table id="tbl:eci_codes">
|
||||
<caption><span class="table-label">Table 8:</span> ECI Codes</caption>
|
||||
<caption><span class="table-label">Table 9:</span> ECI Codes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ECI Code</th>
|
||||
@@ -2809,7 +2857,7 @@ role="doc-noteref"><sup>9</sup></a></td>
|
||||
symbol (unless the data contains non-default character set characters).
|
||||
In this case, the default character set applies (see <span
|
||||
class="cross-ref-group"><a href="#tbl:default_character_sets"
|
||||
class="cross-ref">Table 6: Default Character Sets</a></span> above).</p>
|
||||
class="cross-ref">Table 7: Default Character Sets</a></span> above).</p>
|
||||
<p>If no ECI is specified or a value of 0 is given, and the data does
|
||||
contain characters other than in the default character set, then Zint
|
||||
will automatically insert the appropriate single-byte ECI if possible
|
||||
@@ -2892,7 +2940,7 @@ alt="zint -b QRCODE --binary -d "\xE2\x82\xAC\xE5\xB8\xB8" --esc" />
|
||||
Options</h3>
|
||||
<p>The following symbologies accept GS1 data:</p>
|
||||
<table>
|
||||
<caption><span class="table-label">Table 9:</span> GS1-Enabled
|
||||
<caption><span class="table-label">Table 10:</span> GS1-Enabled
|
||||
Symbologies</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -3084,7 +3132,7 @@ you that there is a problem.</p>
|
||||
behaviour specify the <code>-o</code> option using special characters in
|
||||
the output filename as shown in the table below:</p>
|
||||
<table id="tbl:batch_filename_formatting">
|
||||
<caption><span class="table-label">Table 10:</span> Batch Filename
|
||||
<caption><span class="table-label">Table 11:</span> Batch Filename
|
||||
Formatting</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -3117,7 +3165,7 @@ Formatting</caption>
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> EAN13 <span class="at">--batch</span> <span class="at">-i</span> ean13nos.txt <span class="at">-o</span> <span class="st">"file~~~.svg"</span></span></code></pre></div>
|
||||
<p>The following table shows some examples to clarify this method:</p>
|
||||
<table id="tbl:batch_filename_examples">
|
||||
<caption><span class="table-label">Table 11:</span> Batch Filename
|
||||
<caption><span class="table-label">Table 12:</span> Batch Filename
|
||||
Examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -3156,7 +3204,7 @@ Examples</caption>
|
||||
<p>The special characters can span directories also, which is useful
|
||||
when creating a large number of barcodes:</p>
|
||||
<table id="tbl:batch_dir_examples">
|
||||
<caption><span class="table-label">Table 12:</span> Batch Directory
|
||||
<caption><span class="table-label">Table 13:</span> Batch Directory
|
||||
Examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -3192,7 +3240,7 @@ required. For example:</p>
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> MICROPDF417 <span class="at">--direct</span> <span class="at">--filetype</span><span class="op">=</span>pcx <span class="at">-d</span> <span class="st">"Data to encode"</span></span></code></pre></div>
|
||||
<p>This command will output the symbol as a PCX file to stdout. For the
|
||||
supported output file formats see <span class="cross-ref-group"><a
|
||||
href="#tbl:output_file_formats" class="cross-ref">Table 3: Output File
|
||||
href="#tbl:output_file_formats" class="cross-ref">Table 4: Output File
|
||||
Formats</a></span>.</p>
|
||||
<hr />
|
||||
<p>CAUTION: Outputting binary files to the command shell without
|
||||
@@ -3236,7 +3284,7 @@ alt="zint -b CODEONE -d "123456789012345678" --dotty --vers=9" />
|
||||
input data, the <code>--seg1</code> to <code>--seg9</code> options can
|
||||
be used. Each option is of the form <code>--segN=ECI,data</code> where
|
||||
<code>ECI</code> is the ECI code (see <span class="cross-ref-group"><a
|
||||
href="#tbl:eci_codes" class="cross-ref">Table 8: ECI Codes</a></span>)
|
||||
href="#tbl:eci_codes" class="cross-ref">Table 9: ECI Codes</a></span>)
|
||||
and <code>data</code> is the data to which this applies. This is in
|
||||
addition to the ECI and data specified using the <code>--eci</code> and
|
||||
<code>-d</code> options which must still be present and which in effect
|
||||
@@ -3248,7 +3296,7 @@ ECI 7 (Cyrillic), and segment 2 with ECI 20 (Shift JIS). Segments must
|
||||
be consecutive.</p>
|
||||
<p>Naturally the symbology must be ECI-aware (see <span
|
||||
class="cross-ref-group"><a href="#tbl:eci_aware_symbologies"
|
||||
class="cross-ref">Table 7: ECI-Aware Symbologies</a></span>).</p>
|
||||
class="cross-ref">Table 8: ECI-Aware Symbologies</a></span>).</p>
|
||||
<figure>
|
||||
<img src="images/aztec_segs.svg" class="i2d"
|
||||
alt="zint -b AZTEC --eci=9 -d "Κείμενο" --seg1=7,"Текст" --seg2=20,"文章"" />
|
||||
@@ -3569,7 +3617,7 @@ is by altering the contents of the <code>zint_symbol</code> structure
|
||||
between the creation and encoding stages. The <code>zint_symbol</code>
|
||||
structure consists of the following members:</p>
|
||||
<table id="tbl:api_structure_zint_symbol">
|
||||
<caption><span class="table-label">Table 13:</span> API Structure
|
||||
<caption><span class="table-label">Table 14:</span> API Structure
|
||||
<code>zint_symbol</code></caption>
|
||||
<colgroup>
|
||||
<col style="width: 26%" />
|
||||
@@ -3913,7 +3961,7 @@ back to the calling application. In addition the <code>errtxt</code>
|
||||
member is set to a message detailing the nature of the error. The errors
|
||||
generated by Zint are:</p>
|
||||
<table id="tbl:api_warnings_errors">
|
||||
<caption><span class="table-label">Table 14:</span> API Warning and
|
||||
<caption><span class="table-label">Table 15:</span> API Warning and
|
||||
Error Return Values</caption>
|
||||
<colgroup>
|
||||
<col style="width: 39%" />
|
||||
@@ -4054,7 +4102,7 @@ below:</p>
|
||||
<h2 id="specifying-a-symbology">5.9 Specifying a Symbology</h2>
|
||||
<p>Symbologies can be specified by number or by name as listed in <span
|
||||
class="cross-ref-group"><a href="#tbl:barcode_types"
|
||||
class="cross-ref">Table 4: Barcode Types (Symbologies)</a></span>. For
|
||||
class="cross-ref">Table 5: Barcode Types (Symbologies)</a></span>. For
|
||||
example</p>
|
||||
<div class="sourceCode" id="cb74"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true" tabindex="-1"></a>symbol<span class="op">-></span>symbology <span class="op">=</span> BARCODE_LOGMARS<span class="op">;</span></span></code></pre></div>
|
||||
<h2 id="adjusting-output-options">5.10 Adjusting Output Options</h2>
|
||||
@@ -4064,7 +4112,7 @@ table below simply <code>OR</code> them together when adjusting this
|
||||
value:</p>
|
||||
<div class="sourceCode" id="cb75"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a>symbol<span class="op">-></span>output_options <span class="op">|=</span> BARCODE_BIND <span class="op">|</span> READER_INIT<span class="op">;</span></span></code></pre></div>
|
||||
<table id="tbl:api_output_options">
|
||||
<caption><span class="table-label">Table 15:</span> API
|
||||
<caption><span class="table-label">Table 16:</span> API
|
||||
<code>output_options</code> Values</caption>
|
||||
<colgroup>
|
||||
<col style="width: 34%" />
|
||||
@@ -4184,7 +4232,7 @@ href="#feedback">5.16 Feedback</a>).</td>
|
||||
<p>The way in which the input data is encoded can be set using the
|
||||
<code>input_mode</code> member:</p>
|
||||
<table id="tbl:api_input_mode">
|
||||
<caption><span class="table-label">Table 16:</span> API
|
||||
<caption><span class="table-label">Table 17:</span> API
|
||||
<code>input_mode</code> Values</caption>
|
||||
<colgroup>
|
||||
<col style="width: 30%" />
|
||||
@@ -4249,7 +4297,7 @@ other shortcuts if available (affects <code>AZTEC</code>,
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>EXTRA_ESCAPE_MODE</code></td>
|
||||
<td style="text-align: left;">Process special symbology-specific escape
|
||||
sequences (<code>CODE128</code> only).</td>
|
||||
sequences (<code>CODE128</code> and <code>DATAMATRIX</code> only).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left;"><code>GS1SYNTAXENGINE_MODE</code></td>
|
||||
@@ -4282,10 +4330,10 @@ optional. So, for example, you can set</p>
|
||||
<p>is not valid.</p>
|
||||
<p>Permissible escape sequences (<code>ESCAPE_MODE</code>) are listed in
|
||||
<span class="cross-ref-group"><a href="#tbl:escape_sequences"
|
||||
class="cross-ref">Table 2: Escape Sequences</a></span>, and the special
|
||||
Code 128-only <code>EXTRA_ESCAPE_MODE</code> escape sequences are given
|
||||
in <a href="#standard-code-128-iso-15417">6.1.10.1 Standard Code 128
|
||||
(ISO 15417)</a>.</p>
|
||||
class="cross-ref">Table 2: Escape Sequences</a></span>, and the extra
|
||||
escape sequences (<code>EXTRA_ESCAPE_MODE</code>) are listed in <span
|
||||
class="cross-ref-group"><a href="#tbl:extra_escapes"
|
||||
class="cross-ref">Table 3: Extra Escape Sequences</a></span>.</p>
|
||||
<p>The GS1 options <code>GS1PARENS_MODE</code> (CLI
|
||||
<code>--gs1parens</code>) , <code>GS1NOCHECK_MODE</code> (CLI
|
||||
<code>--gs1nocheck</code>), <code>GS1SYNTAXENGINE_MODE</code> (CLI
|
||||
@@ -4333,7 +4381,7 @@ contains. The <code>zint_seg</code> structure is of the form:</p>
|
||||
<span id="cb80-5"><a href="#cb80-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> eci<span class="op">;</span> <span class="co">/* Extended Channel Interpretation */</span></span>
|
||||
<span id="cb80-6"><a href="#cb80-6" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div>
|
||||
<p>The symbology must support ECIs (see <span class="cross-ref-group"><a
|
||||
href="#tbl:eci_aware_symbologies" class="cross-ref">Table 7: ECI-Aware
|
||||
href="#tbl:eci_aware_symbologies" class="cross-ref">Table 8: ECI-Aware
|
||||
Symbologies</a></span>). For example:</p>
|
||||
<div class="sourceCode" id="cb81"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im"><zint.h></span></span>
|
||||
<span id="cb81-2"><a href="#cb81-2" aria-hidden="true" tabindex="-1"></a><span class="dt">int</span> main<span class="op">(</span><span class="dt">int</span> argc<span class="op">,</span> <span class="dt">char</span> <span class="op">**</span>argv<span class="op">)</span></span>
|
||||
@@ -4423,7 +4471,7 @@ symbology. This can be determined using another additional function:</p>
|
||||
<p>by <code>OR</code>-ing the flags below in the <code>cap_flag</code>
|
||||
argument and checking the return to see which are set.</p>
|
||||
<table id="tbl:api_cap">
|
||||
<caption><span class="table-label">Table 17:</span> API Capability
|
||||
<caption><span class="table-label">Table 18:</span> API Capability
|
||||
Flags</caption>
|
||||
<colgroup>
|
||||
<col style="width: 35%" />
|
||||
@@ -4541,7 +4589,7 @@ class="footnote-ref" id="fnref19" role="doc-noteref"><sup>19</sup></a>
|
||||
return the actual ECC percentage used in <code>option_1</code> as
|
||||
<code>P << 8</code>, where P is the integer percentage, the low
|
||||
byte containing the values given in <span class="cross-ref-group"><a
|
||||
href="#tbl:aztec_eccs" class="cross-ref">Table 40: Aztec Code Error
|
||||
href="#tbl:aztec_eccs" class="cross-ref">Table 41: Aztec Code Error
|
||||
Correction Modes</a></span> (with the addition of <code>0</code> meaning
|
||||
less than 5% + 3 codewords and <code>-1</code> meaning minimum 3
|
||||
codewords). Micro PDF417 also will return the ECC percentage in
|
||||
@@ -4692,8 +4740,8 @@ alt="zint -b C25INTER --compliantheight -d "9212320967"" />
|
||||
<p>No check digit is added by default, but can be set the same as for <a
|
||||
href="#standard-code-2-of-5">6.1.2.1 Standard Code 2 of 5</a>.</p>
|
||||
<h4 id="code-2-of-5-data-logic">6.1.2.5 Code 2 of 5 Data Logic</h4>
|
||||
<p>Data Logic does not include a check digit by default and can encode
|
||||
numeric input (digits 0-9) up to a maximum of 113 digits.</p>
|
||||
<p>Data Logic can encode numeric input (digits 0-9) up to a maximum of
|
||||
113 digits.</p>
|
||||
<figure>
|
||||
<img src="images/c25logic.svg" class="lin"
|
||||
alt="zint -b C25LOGIC -d "9212320967"" />
|
||||
@@ -5003,7 +5051,7 @@ alt="zint -b MSI_PLESSEY -d "6502" --vers=2" />
|
||||
setting <code>--vers</code> (API <code>option_2</code>), shown in the
|
||||
table below:</p>
|
||||
<table id="tbl:msi_plessey_check_digits">
|
||||
<caption><span class="table-label">Table 18:</span> MSI Plessey Check
|
||||
<caption><span class="table-label">Table 19:</span> MSI Plessey Check
|
||||
Digit Options</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -5048,9 +5096,9 @@ Digit Options</caption>
|
||||
digits.</p>
|
||||
<h3 id="telepen">6.1.6 Telepen</h3>
|
||||
<h4 id="telepen-alpha">6.1.6.1 Telepen Alpha</h4>
|
||||
<p>Telepen Alpha was developed by SB Electronic Systems Limited and can
|
||||
encode ASCII text input, up to a maximum of 69 characters. Telepen
|
||||
includes a hidden modulo-127 check digit, added by Zint.</p>
|
||||
<p>Telepen Alpha was developed in 1972 by SB Electronic Systems Limited
|
||||
and can encode ASCII text input, up to a maximum of 69 characters.
|
||||
Telepen includes a hidden modulo-127 check digit, added by Zint.</p>
|
||||
<figure>
|
||||
<img src="images/telepen.svg" class="lin"
|
||||
alt="zint -b TELEPEN --compliantheight -d "Z80"" />
|
||||
@@ -5230,29 +5278,34 @@ Zint supports the encoding of ISO/IEC 8859-1 (non-English) characters in
|
||||
Code 128 symbols. The ISO/IEC 8859-1 character set is shown in Annex <a
|
||||
href="#a.2-latin-alphabet-no.-1-isoiec-8859-1">A.2 Latin Alphabet No. 1
|
||||
(ISO/IEC 8859-1)</a>.</p>
|
||||
<p>Manual switching of Code Sets is possible using the
|
||||
<p>Manual insertion of <code>FNC1</code> is possible using the
|
||||
<code>--extraesc</code> option (API
|
||||
<code>input_mode |= EXTRA_ESCAPE_MODE</code>), which apart from
|
||||
processing normal escape sequences also processes the Code 128-specific
|
||||
escapes <code>\^A</code>, <code>\^B</code>, <code>\^C</code> and
|
||||
processing normal escape sequences also processes the extra escape
|
||||
sequences given in <span class="cross-ref-group"><a
|
||||
href="#tbl:extra_escapes" class="cross-ref">Table 3: Extra Escape
|
||||
Sequences</a></span>. For instance</p>
|
||||
<div class="sourceCode" id="cb106"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"A\^1BC\^1DEF"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<p>encodes the data <code>"A<FNC1>BC<FNC1>DEF"</code>, where
|
||||
<code><FNC1></code> represents the <code>FNC1</code>
|
||||
character.</p>
|
||||
<p>If the data contains an extra escape sequence, it can be escaped by
|
||||
doubling the caret (<code>^</code>). For instance</p>
|
||||
<div class="sourceCode" id="cb107"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"A\^1BC\^^1DEF"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<p>will encode the data <code>"A<FNC1>BC\^1DEF"</code>.</p>
|
||||
<p>Manual switching of Code Sets is possible using the Code 128-specific
|
||||
extra escapes <code>\^A</code>, <code>\^B</code>, <code>\^C</code> and
|
||||
<code>\^@</code> (the latter turns off manual Code Set selection). For
|
||||
instance the following will force switching to Code Set B for the data
|
||||
<code>"5678"</code> (normally Code Set C would be used throughout):</p>
|
||||
<div class="sourceCode" id="cb106"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"1234\^B5678"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb108"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"1234\^B5678"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<p>The manually selected Code Set will apply until the next Code Set
|
||||
escape sequence or until a <code>\^@</code>, with the exception that
|
||||
data that cannot be represented in that Code Set will be switched as
|
||||
appropriate. If the data contains an extra escape sequence, it can be
|
||||
escaped by doubling the caret (<code>^</code>). For instance</p>
|
||||
<div class="sourceCode" id="cb107"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"\^AABC\^^BDEF"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<p>will encode the data <code>"ABC\^BDEF"</code> in Code Set A.</p>
|
||||
<p>There is also the extra escape <code>\^1</code>, which will encode a
|
||||
special Function Code 1 character (<code>FNC1</code>) anywhere you
|
||||
choose in the data, for instance</p>
|
||||
<div class="sourceCode" id="cb108"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> CODE128 <span class="at">-d</span> <span class="st">"A\^1BC\^1DEF"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
appropriate.</p>
|
||||
<p>Zint can encode a maximum of 102 symbol characters, which allows for
|
||||
e.g. 202 all-numeric or 101 all-uppercase characters. Sizes above 120
|
||||
digits (60 alphanumerics) are not recommended.</p>
|
||||
@@ -5342,7 +5395,7 @@ usually be <code>"%"</code> (ASCII 37). If 27 characters are supplied,
|
||||
“relabel”, see below). The rest of the 27-character input must be
|
||||
alphanumeric, and is of the form:</p>
|
||||
<table id="tbl:dpd_input_fields">
|
||||
<caption><span class="table-label">Table 19:</span> DPD Input
|
||||
<caption><span class="table-label">Table 20:</span> DPD Input
|
||||
Fields</caption>
|
||||
<colgroup>
|
||||
<col style="width: 26%" />
|
||||
@@ -5490,7 +5543,7 @@ alt="zint -b CHANNEL -d "453678" --compliantheight" />
|
||||
<p>The maximum values permitted depend on the number of channels used as
|
||||
shown in the table below:</p>
|
||||
<table id="tbl:channel_maxima">
|
||||
<caption><span class="table-label">Table 20:</span> Channel Value
|
||||
<caption><span class="table-label">Table 21:</span> Channel Value
|
||||
Ranges</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -5780,7 +5833,7 @@ pattern. The type of linear component to be used is determined using the
|
||||
<code>symbology</code>) as with other encoding methods. Valid values are
|
||||
shown below.</p>
|
||||
<table id="tbl:composite_symbologies">
|
||||
<caption><span class="table-label">Table 21:</span> GS1 Composite
|
||||
<caption><span class="table-label">Table 22:</span> GS1 Composite
|
||||
Symbology Values</caption>
|
||||
<colgroup>
|
||||
<col style="width: 11%" />
|
||||
@@ -6035,7 +6088,7 @@ input data. Reed-Solomon error correction data is generated by Zint.
|
||||
Encoding behaviour is determined by the length of the input data
|
||||
according to the formula shown in the following table.</p>
|
||||
<table id="tbl:auspost_input_formats" style="width:86%;">
|
||||
<caption><span class="table-label">Table 22:</span> Australia Post Input
|
||||
<caption><span class="table-label">Table 23:</span> Australia Post Input
|
||||
Formats</caption>
|
||||
<colgroup>
|
||||
<col style="width: 13%" />
|
||||
@@ -6157,7 +6210,7 @@ alt="zint -b MAILMARK_4S --compliantheight -d "21B2254800659JW5O9QA6Y"
|
||||
respectively. The rules for the input data are complex, as summarized in
|
||||
the following table.</p>
|
||||
<table id="tbl:mailmark_4s_input_fields">
|
||||
<caption><span class="table-label">Table 23:</span> Royal Mail 4-State
|
||||
<caption><span class="table-label">Table 24:</span> Royal Mail 4-State
|
||||
Mailmark Input Fields</caption>
|
||||
<colgroup>
|
||||
<col style="width: 11%" />
|
||||
@@ -6191,7 +6244,7 @@ Mailmark Input Fields</caption>
|
||||
<p>The 6 Destination+DPS (Destination Post Code plus Delivery Point
|
||||
Suffix) patterns are:</p>
|
||||
<table id="tbl:mailmark_4s_destination_dps">
|
||||
<caption><span class="table-label">Table 24:</span> Royal Mail 4-State
|
||||
<caption><span class="table-label">Table 25:</span> Royal Mail 4-State
|
||||
Mailmark Destination+DPS Patterns</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -6291,7 +6344,7 @@ ID (<code>BARCODE_HIBC_DM</code>) can be used to encode Health Industry
|
||||
Barcode (HIBC) data. Note that only ECC 200 symbols are supported, the
|
||||
older standards (ECC 000 to 140) have now been removed from Zint.</p>
|
||||
<table id="tbl:datamatrix_sizes">
|
||||
<caption><span class="table-label">Table 25:</span> Data Matrix
|
||||
<caption><span class="table-label">Table 26:</span> Data Matrix
|
||||
Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -6416,7 +6469,7 @@ symbols (versions 1-24) at the command line by using the option
|
||||
<p>Data Matrix Rectangular Extension (ISO/IEC 21471) codes may be
|
||||
generated with the following values as before:</p>
|
||||
<table id="tbl:dmre_sizes">
|
||||
<caption><span class="table-label">Table 26:</span> DMRE Sizes</caption>
|
||||
<caption><span class="table-label">Table 27:</span> DMRE Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Input</th>
|
||||
@@ -6498,6 +6551,22 @@ option <code>--dmre</code> (API <code>option_3 = DM_DMRE</code>).</p>
|
||||
<code>GS</code> (Group Separator, ASCII 29) as separator. Use the option
|
||||
<code>--gssep</code> to change to <code>GS</code> (API
|
||||
<code>output_options |= GS1_GS_SEPARATOR</code>).</p>
|
||||
<p>Manual insertion of <code>FNC1</code> is possible using the
|
||||
<code>--extraesc</code> option (API
|
||||
<code>input_mode |= EXTRA_ESCAPE_MODE</code>), which apart from
|
||||
processing normal escape sequences also processes the extra escape
|
||||
sequences given in <span class="cross-ref-group"><a
|
||||
href="#tbl:extra_escapes" class="cross-ref">Table 3: Extra Escape
|
||||
Sequences</a></span>. For instance</p>
|
||||
<div class="sourceCode" id="cb118"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb118-1"><a href="#cb118-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> DATAMATRIX <span class="at">-d</span> <span class="st">"A\^1BC\^1DEF"</span> <span class="at">--extraesc</span></span></code></pre></div>
|
||||
<p>encodes the data <code>"A<FNC1>BC<FNC1>DEF"</code>, where
|
||||
<code><FNC1></code> represents the <code>FNC1</code> character. If
|
||||
the data contains an extra escape sequence, it can be escaped by
|
||||
doubling the caret (<code>^</code>), i.e. <code>"\^^"</code> encodes
|
||||
<code>"\^"</code>. Note that if using ECIs with manual FNC1s then the
|
||||
ECIs must be ASCII compatible.<a href="#fn24" class="footnote-ref"
|
||||
id="fnref24" role="doc-noteref"><sup>24</sup></a></p>
|
||||
<p>By default Zint uses a “de facto” codeword placement for symbols of
|
||||
size 144 x 144 (version 24). To override this and use the now clarified
|
||||
ISO/IEC standard placement, use option <code>--dmiso144</code> (API
|
||||
@@ -6536,7 +6605,7 @@ href="#royal-mail-4-state-mailmark">6.5.4 Royal Mail 4-State
|
||||
Mailmark</a>, and offers space for customer data following an initial
|
||||
pre-formatted 45 character section, as summarized below.</p>
|
||||
<table id="tbl:mailmark_2d_input_fields">
|
||||
<caption><span class="table-label">Table 27:</span> Royal Mail 2D
|
||||
<caption><span class="table-label">Table 28:</span> Royal Mail 2D
|
||||
Mailmark Input Fields</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -6609,7 +6678,7 @@ alphabetic limitation (<code>'L'</code> versus <code>'A'</code>) does
|
||||
not apply, only the initial “outward” part is required (the rest can be
|
||||
blank), and the whole field can be blank:</p>
|
||||
<table id="tbl:mailmark_2d_destination_dps">
|
||||
<caption><span class="table-label">Table 28:</span> Royal Mail 2D
|
||||
<caption><span class="table-label">Table 29:</span> Royal Mail 2D
|
||||
Mailmark Destination+DPS Patterns</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -6636,7 +6705,7 @@ Mailmark Destination+DPS Patterns</caption>
|
||||
except without the DPS (<code>'NA'</code>), and the trailing “inward”
|
||||
part cannot be blank (although the whole field can be):</p>
|
||||
<table id="tbl:mailmark_2d_rts">
|
||||
<caption><span class="table-label">Table 29:</span> Royal Mail 2D
|
||||
<caption><span class="table-label">Table 30:</span> Royal Mail 2D
|
||||
Mailmark RTS Patterns</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -6652,7 +6721,7 @@ Mailmark RTS Patterns</caption>
|
||||
<p>Three sizes are defined, one rectangular, with varying maximum
|
||||
amounts of optional customer data:</p>
|
||||
<table id="tbl:mailmark_2d_sizes">
|
||||
<caption><span class="table-label">Table 30:</span> Royal Mail 2D
|
||||
<caption><span class="table-label">Table 31:</span> Royal Mail 2D
|
||||
Mailmark Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -6707,7 +6776,7 @@ alt="zint -b QRCODE -d "QR Code Symbol" --mask=5" />
|
||||
<code>--secure</code> option (API <code>option_1</code>) as shown in the
|
||||
following table.</p>
|
||||
<table id="tbl:qrcode_eccs">
|
||||
<caption><span class="table-label">Table 31:</span> QR Code ECC
|
||||
<caption><span class="table-label">Table 32:</span> QR Code ECC
|
||||
Levels</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -6749,7 +6818,7 @@ Levels</caption>
|
||||
version required (1-40). The size of symbol generated is shown in the
|
||||
table below.</p>
|
||||
<table id="tbl:qrcode_sizes">
|
||||
<caption><span class="table-label">Table 32:</span> QR Code
|
||||
<caption><span class="table-label">Table 33:</span> QR Code
|
||||
Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -6926,8 +6995,8 @@ be manually specified by using the <code>--mask</code> switch with
|
||||
values 0-7, or in the API by setting
|
||||
<code>option_3 = (N + 1) << 8</code> where N is 0-7. To use with
|
||||
<code>ZINT_FULL_MULTIBYTE</code> set</p>
|
||||
<div class="sourceCode" id="cb118"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb118-1"><a href="#cb118-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb119"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb119-1"><a href="#cb119-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<p>The <code>--fast</code> option (API
|
||||
<code>input_mode |= FAST_MODE</code>) may be used when leaving Zint to
|
||||
automatically select a mask to reduce the number of masks to try to four
|
||||
@@ -6955,7 +7024,7 @@ alt="zint -b MICROQR -d "01234567"" />
|
||||
table below. Note that versions M1 and M2 have restrictions on what
|
||||
characters can be encoded.</p>
|
||||
<table id="tbl:micrqr_sizes" style="width:93%;">
|
||||
<caption><span class="table-label">Table 33:</span> Micro QR Code
|
||||
<caption><span class="table-label">Table 34:</span> Micro QR Code
|
||||
Sizes</caption>
|
||||
<colgroup>
|
||||
<col style="width: 11%" />
|
||||
@@ -7006,7 +7075,7 @@ codewords can be adjusted using the <code>--secure</code> option (API
|
||||
<code>option_1</code>); however ECC level H is not available for any
|
||||
version, and ECC level Q is only available for version M4:</p>
|
||||
<table id="tbl:micrqr_eccs" style="width:99%;">
|
||||
<caption><span class="table-label">Table 34:</span> Micro QR ECC
|
||||
<caption><span class="table-label">Table 35:</span> Micro QR ECC
|
||||
Levels</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%" />
|
||||
@@ -7059,8 +7128,8 @@ be manually specified by using the <code>--mask</code> switch with
|
||||
values 0-3, or in the API by setting
|
||||
<code>option_3 = (N + 1) << 8</code> where N is 0-3. To use with
|
||||
<code>ZINT_FULL_MULTIBYTE</code> set</p>
|
||||
<div class="sourceCode" id="cb119"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb119-1"><a href="#cb119-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb120"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb120-1"><a href="#cb120-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<h3 id="rectangular-micro-qr-code-rmqr-iso-23941">6.6.5 Rectangular
|
||||
Micro QR Code (rMQR) (ISO 23941)</h3>
|
||||
<p>A rectangular version of QR Code, rMQR supports encoding of GS1 data,
|
||||
@@ -7077,7 +7146,7 @@ alt="zint -b RMQR -d "0123456"" />
|
||||
<code>--secure</code> option (API <code>option_1</code>), however only
|
||||
ECC levels M and H are valid for this type of symbol.</p>
|
||||
<table id="tbl:rmqr_eccs">
|
||||
<caption><span class="table-label">Table 35:</span> rMQR ECC
|
||||
<caption><span class="table-label">Table 36:</span> rMQR ECC
|
||||
Levels</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -7107,7 +7176,7 @@ Levels</caption>
|
||||
table below. Input values between 33 and 38 fix the height of the symbol
|
||||
while allowing Zint to determine the minimum symbol width.</p>
|
||||
<table id="tbl:rmqr_sizes">
|
||||
<caption><span class="table-label">Table 36:</span> rMQR Sizes</caption>
|
||||
<caption><span class="table-label">Table 37:</span> rMQR Sizes</caption>
|
||||
<colgroup>
|
||||
<col style="width: 9%" />
|
||||
<col style="width: 12%" />
|
||||
@@ -7325,8 +7394,8 @@ or if your data is already Latin-2 formatted use the
|
||||
<code>input_mode = DATA_MODE</code>).</p>
|
||||
<p>The following example creates a symbol from data saved as a Latin-2
|
||||
file:</p>
|
||||
<div class="sourceCode" id="cb120"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb120-1"><a href="#cb120-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> upnqr.png <span class="at">-b</span> UPNQR <span class="at">--scale</span><span class="op">=</span>3 <span class="at">--binary</span> <span class="at">-i</span> upn.txt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb121"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb121-1"><a href="#cb121-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> upnqr.png <span class="at">-b</span> UPNQR <span class="at">--scale</span><span class="op">=</span>3 <span class="at">--binary</span> <span class="at">-i</span> upn.txt</span></code></pre></div>
|
||||
<p>A mask may be manually specified and the <code>--fast</code> option
|
||||
used as with <a href="#qr-code-iso-18004">6.6.3 QR Code (ISO
|
||||
18004)</a>.</p>
|
||||
@@ -7348,7 +7417,7 @@ secondary message usually consists of address data in a data structure.
|
||||
The format of the primary message required by Zint is given in the
|
||||
following table.</p>
|
||||
<table id="tbl:maxicode_scm">
|
||||
<caption><span class="table-label">Table 37:</span> MaxiCode Structured
|
||||
<caption><span class="table-label">Table 38:</span> MaxiCode Structured
|
||||
Carrier Message Format</caption>
|
||||
<colgroup>
|
||||
<col style="width: 16%" />
|
||||
@@ -7384,9 +7453,9 @@ your parcel courier.</td>
|
||||
<p>The primary message can be set at the command prompt using the
|
||||
<code>--primary</code> switch (API <code>primary</code>). The secondary
|
||||
message uses the normal data entry method. For example:</p>
|
||||
<div class="sourceCode" id="cb121"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb121-1"><a href="#cb121-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> test.eps <span class="at">-b</span> MAXICODE <span class="at">--primary</span><span class="op">=</span><span class="st">"999999999840012"</span> <span class="dt">\</span></span>
|
||||
<span id="cb121-2"><a href="#cb121-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">"Secondary Message Here"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb122"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb122-1"><a href="#cb122-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> test.eps <span class="at">-b</span> MAXICODE <span class="at">--primary</span><span class="op">=</span><span class="st">"999999999840012"</span> <span class="dt">\</span></span>
|
||||
<span id="cb122-2"><a href="#cb122-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">"Secondary Message Here"</span></span></code></pre></div>
|
||||
<p>When using the API the primary message must be placed in the
|
||||
<code>primary</code> string. The secondary is entered in the same way as
|
||||
described in <a href="#encoding-and-saving-to-file">5.2 Encoding and
|
||||
@@ -7399,9 +7468,9 @@ to be prefixed by the ISO/IEC 15434 Format <code>"01"</code>
|
||||
<code>vv</code> is a 2-digit version, by using the <code>--scmvv</code>
|
||||
switch (API <code>option_2 = vv + 1</code>). For example to use the
|
||||
common version <code>"96"</code> (ASC MH10/SC 8):</p>
|
||||
<div class="sourceCode" id="cb122"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb122-1"><a href="#cb122-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> MAXICODE <span class="at">--primary</span><span class="op">=</span><span class="st">"152382802840001"</span> <span class="at">--scmvv</span><span class="op">=</span>96 <span class="at">--esc</span> <span class="at">-d</span> <span class="dt">\</span></span>
|
||||
<span id="cb122-2"><a href="#cb122-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"1Z00004951\GUPSN\G06X610\G159\G1234567\G1/1\G\GY\G1 MAIN ST\GNY\GNY\R\E"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb123"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> MAXICODE <span class="at">--primary</span><span class="op">=</span><span class="st">"152382802840001"</span> <span class="at">--scmvv</span><span class="op">=</span>96 <span class="at">--esc</span> <span class="at">-d</span> <span class="dt">\</span></span>
|
||||
<span id="cb123-2"><a href="#cb123-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"1Z00004951\GUPSN\G06X610\G159\G1234567\G1/1\G\GY\G1 MAIN ST\GNY\GNY\R\E"</span></span></code></pre></div>
|
||||
<p>will prefix <code>"[)>\R01\G96"</code> to the secondary message.
|
||||
(<code>\R</code>, <code>\G</code> and <code>\E</code> are the escape
|
||||
sequences for Record Separator, Group Separator and End of Transmission
|
||||
@@ -7411,8 +7480,8 @@ Sequences</a></span>.)</p>
|
||||
<p>Modes 4 to 6 can be accessed using the <code>--mode</code> switch
|
||||
(API <code>option_1</code>). Modes 4 to 6 do not have a primary message.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb123"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> test.eps <span class="at">-b</span> MAXICODE <span class="at">--mode</span><span class="op">=</span>4 <span class="at">-d</span> <span class="st">"A MaxiCode Message in Mode 4"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb124"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb124-1"><a href="#cb124-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-o</span> test.eps <span class="at">-b</span> MAXICODE <span class="at">--mode</span><span class="op">=</span>4 <span class="at">-d</span> <span class="st">"A MaxiCode Message in Mode 4"</span></span></code></pre></div>
|
||||
<p>Mode 6 is reserved for the maintenance of scanner hardware and should
|
||||
not be used to encode user data.</p>
|
||||
<p>This symbology uses Latin-1 character encoding by default but also
|
||||
@@ -7421,7 +7490,7 @@ can be placed in a MaxiCode symbol depends on the type of characters
|
||||
used in the text.</p>
|
||||
<p>Example maximum data lengths are given in the table below:</p>
|
||||
<table id="tbl:maxicode_data_length_maxima" style="width:100%;">
|
||||
<caption><span class="table-label">Table 38:</span> MaxiCode Data Length
|
||||
<caption><span class="table-label">Table 39:</span> MaxiCode Data Length
|
||||
Maxima</caption>
|
||||
<colgroup>
|
||||
<col style="width: 9%" />
|
||||
@@ -7505,7 +7574,7 @@ symbols, meaning they have a smaller bullseye pattern at the centre of
|
||||
the symbol.</li>
|
||||
</ol>
|
||||
<table id="tbl:aztec_sizes">
|
||||
<caption><span class="table-label">Table 39:</span> Aztec Code
|
||||
<caption><span class="table-label">Table 40:</span> Aztec Code
|
||||
Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -7653,7 +7722,7 @@ by setting the <code>--secure</code> option (API <code>option_1</code>)
|
||||
to a value from the following table.</li>
|
||||
</ol>
|
||||
<table id="tbl:aztec_eccs">
|
||||
<caption><span class="table-label">Table 40:</span> Aztec Code Error
|
||||
<caption><span class="table-label">Table 41:</span> Aztec Code Error
|
||||
Correction Modes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -7726,7 +7795,7 @@ are roughly square (versions A through to H) and variable-width versions
|
||||
(versions S and T). These can be selected by using <code>--vers</code>
|
||||
(API <code>option_2</code>) as shown in the table below:</p>
|
||||
<table id="tbl:codeone_sizes">
|
||||
<caption><span class="table-label">Table 41:</span> Code One
|
||||
<caption><span class="table-label">Table 42:</span> Code One
|
||||
Sizes</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%" />
|
||||
@@ -7848,7 +7917,7 @@ specified using the <code>--vers</code> option (API
|
||||
specified by using the <code>--secure</code> option (API
|
||||
<code>option_1</code>), according to the following tables.</p>
|
||||
<table id="tbl:gridmatrix_sizes">
|
||||
<caption><span class="table-label">Table 42:</span> Grid Matrix
|
||||
<caption><span class="table-label">Table 43:</span> Grid Matrix
|
||||
Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -7912,7 +7981,7 @@ Sizes</caption>
|
||||
</tbody>
|
||||
</table>
|
||||
<table id="tbl:gridmatrix_eccs">
|
||||
<caption><span class="table-label">Table 43:</span> Grid Matrix Error
|
||||
<caption><span class="table-label">Table 44:</span> Grid Matrix Error
|
||||
Correction Modes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -7996,7 +8065,7 @@ alt="zint -b HANXIN -d "Hanxin Code symbol"" />
|
||||
option (API <code>option_2</code>) to a value between 1 and 84 according
|
||||
to the following table.</p>
|
||||
<table id="tbl:hanxin_sizes">
|
||||
<caption><span class="table-label">Table 44:</span> Han Xin
|
||||
<caption><span class="table-label">Table 45:</span> Han Xin
|
||||
Sizes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -8300,7 +8369,7 @@ most capacious of all the barcodes supported by Zint.</p>
|
||||
Xin Code which can be set by using the <code>--secure</code> option (API
|
||||
<code>option_1</code>) to a value from the following table.</p>
|
||||
<table id="tbl:hanxin_eccs">
|
||||
<caption><span class="table-label">Table 45:</span> Han Xin Error
|
||||
<caption><span class="table-label">Table 46:</span> Han Xin Error
|
||||
Correction Modes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -8337,8 +8406,8 @@ be manually specified by using the <code>--mask</code> switch with
|
||||
values 0-3, or in the API by setting
|
||||
<code>option_3 = (N + 1) << 8</code> where N is 0-3. To use with
|
||||
<code>ZINT_FULL_MULTIBYTE</code> set</p>
|
||||
<div class="sourceCode" id="cb124"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb124-1"><a href="#cb124-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb125"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true" tabindex="-1"></a>option_3 <span class="op">=</span> ZINT_FULL_MULTIBYTE <span class="op">|</span> <span class="op">(</span>N <span class="op">+</span> <span class="dv">1</span><span class="op">)</span> <span class="op"><<</span> <span class="dv">8</span></span></code></pre></div>
|
||||
<h3 id="ultracode">6.6.14 Ultracode</h3>
|
||||
<p>This symbology uses a grid of coloured elements to encode data. ECI
|
||||
and GS1 modes are supported.</p>
|
||||
@@ -8352,7 +8421,7 @@ alt="zint -b ULTRA -d "HEIMASÍÐA KENNARAHÁSKÓLA ÍSLANDS"" />
|
||||
<code>--secure</code> option (API <code>option_1</code>) to a value as
|
||||
shown in the following table.</p>
|
||||
<table id="tbl:ultra_eccs">
|
||||
<caption><span class="table-label">Table 46:</span> Ultracode Error
|
||||
<caption><span class="table-label">Table 47:</span> Ultracode Error
|
||||
Correction Values</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -8396,8 +8465,8 @@ Correction Values</caption>
|
||||
</table>
|
||||
<p>Zint does not currently implement data compression by default, but
|
||||
this can be initiated through the API by setting</p>
|
||||
<div class="sourceCode" id="cb125"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true" tabindex="-1"></a>symbol<span class="op">-></span>option_3 <span class="op">=</span> ULTRA_COMPRESSION<span class="op">;</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb126"><pre
|
||||
class="sourceCode c"><code class="sourceCode c"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true" tabindex="-1"></a>symbol<span class="op">-></span>option_3 <span class="op">=</span> ULTRA_COMPRESSION<span class="op">;</span></span></code></pre></div>
|
||||
<p>With compression, up to 504 digits, 375 alphanumerics or 252 bytes
|
||||
can be encoded.</p>
|
||||
<p>Revision 2 of Ultracode (2023) may be specified using
|
||||
@@ -8426,7 +8495,7 @@ alt="zint -b FIM --compliantheight -d "C"" />
|
||||
<p>There are only 5 valid symbols which can be generated using the
|
||||
characters A-E as shown in the table below.</p>
|
||||
<table id="tbl:fim_characters">
|
||||
<caption><span class="table-label">Table 47:</span> Valid FIM
|
||||
<caption><span class="table-label">Table 48:</span> Valid FIM
|
||||
Characters</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -8639,7 +8708,7 @@ Latin Alphabet No. 1 (ISO/IEC 8859-1)</a>.</p>
|
||||
<p>The ubiquitous ASCII standard is well known to most computer users.
|
||||
It’s reproduced here for reference.</p>
|
||||
<table id="tbl:ascii">
|
||||
<caption><span class="table-label">Table 48:</span> ASCII</caption>
|
||||
<caption><span class="table-label">Table 49:</span> ASCII</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Hex</th>
|
||||
@@ -8838,11 +8907,11 @@ It’s reproduced here for reference.</p>
|
||||
European languages like French, German, Italian and Spanish. This
|
||||
extension is the default encoding of many barcodes (see <span
|
||||
class="cross-ref-group"><a href="#tbl:default_character_sets"
|
||||
class="cross-ref">Table 6: Default Character Sets</a></span>) when a
|
||||
class="cross-ref">Table 7: Default Character Sets</a></span>) when a
|
||||
codepoint above hex 9F is encoded. Note that codepoints hex 80 to 9F are
|
||||
not defined.</p>
|
||||
<table id="tbl:iso_iec_8869_1">
|
||||
<caption><span class="table-label">Table 49:</span> ISO/IEC
|
||||
<caption><span class="table-label">Table 50:</span> ISO/IEC
|
||||
8859-1</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -9048,28 +9117,28 @@ properties that correspond to the <code>zint_symbol</code> structure
|
||||
method <code>render()</code> which takes a Qt <code>QPainter</code> to
|
||||
paint with, and a <code>QRectF</code> rectangular area specifying where
|
||||
to paint into:</p>
|
||||
<div class="sourceCode" id="cb126"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Encode and display barcode in `paintRect` using `painter`.</span></span>
|
||||
<span id="cb126-2"><a href="#cb126-2" aria-hidden="true" tabindex="-1"></a><span class="co"> Note: legacy argument `mode` is not used */</span></span>
|
||||
<span id="cb126-3"><a href="#cb126-3" aria-hidden="true" tabindex="-1"></a><span class="dt">void</span> render<span class="op">(</span><span class="ex">QPainter</span><span class="op">&</span> painter<span class="op">,</span> <span class="at">const</span> <span class="ex">QRectF</span><span class="op">&</span> paintRect<span class="op">,</span></span>
|
||||
<span id="cb126-4"><a href="#cb126-4" aria-hidden="true" tabindex="-1"></a> AspectRatioMode mode <span class="op">=</span> IgnoreAspectRatio<span class="op">);</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb127"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb127-1"><a href="#cb127-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Encode and display barcode in `paintRect` using `painter`.</span></span>
|
||||
<span id="cb127-2"><a href="#cb127-2" aria-hidden="true" tabindex="-1"></a><span class="co"> Note: legacy argument `mode` is not used */</span></span>
|
||||
<span id="cb127-3"><a href="#cb127-3" aria-hidden="true" tabindex="-1"></a><span class="dt">void</span> render<span class="op">(</span><span class="ex">QPainter</span><span class="op">&</span> painter<span class="op">,</span> <span class="at">const</span> <span class="ex">QRectF</span><span class="op">&</span> paintRect<span class="op">,</span></span>
|
||||
<span id="cb127-4"><a href="#cb127-4" aria-hidden="true" tabindex="-1"></a> AspectRatioMode mode <span class="op">=</span> IgnoreAspectRatio<span class="op">);</span></span></code></pre></div>
|
||||
<p><code>render()</code> will emit one of two Qt signals -
|
||||
<code>encoded</code> on successful encoding and drawing, or
|
||||
<code>errored</code> on failure. The client can connect and act
|
||||
appropriately, for instance:</p>
|
||||
<div class="sourceCode" id="cb127"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb127-1"><a href="#cb127-1" aria-hidden="true" tabindex="-1"></a><span class="fu">connect</span><span class="op">(</span>qzint<span class="op">,</span> <span class="ex">SIGNAL</span><span class="op">(</span>encoded<span class="op">()),</span> <span class="ex">SLOT</span><span class="op">(</span>on_encoded<span class="op">()));</span></span>
|
||||
<span id="cb127-2"><a href="#cb127-2" aria-hidden="true" tabindex="-1"></a><span class="fu">connect</span><span class="op">(</span>qzint<span class="op">,</span> <span class="ex">SIGNAL</span><span class="op">(</span>errored<span class="op">()),</span> <span class="ex">SLOT</span><span class="op">(</span>on_errored<span class="op">()));</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb128"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb128-1"><a href="#cb128-1" aria-hidden="true" tabindex="-1"></a><span class="fu">connect</span><span class="op">(</span>qzint<span class="op">,</span> <span class="ex">SIGNAL</span><span class="op">(</span>encoded<span class="op">()),</span> <span class="ex">SLOT</span><span class="op">(</span>on_encoded<span class="op">()));</span></span>
|
||||
<span id="cb128-2"><a href="#cb128-2" aria-hidden="true" tabindex="-1"></a><span class="fu">connect</span><span class="op">(</span>qzint<span class="op">,</span> <span class="ex">SIGNAL</span><span class="op">(</span>errored<span class="op">()),</span> <span class="ex">SLOT</span><span class="op">(</span>on_errored<span class="op">()));</span></span></code></pre></div>
|
||||
<p>where <code>qzint</code> is an instance of <code>Zint::QZint</code>
|
||||
and <code>on_encoded()</code> and <code>on_error()</code> are Qt slot
|
||||
methods provided by the caller. On error, the error value and message
|
||||
can be retrieved by the methods <code>getError()</code> and
|
||||
<code>lastError()</code> respectively.</p>
|
||||
<p>The other main method is <code>save_to_file()</code>:</p>
|
||||
<div class="sourceCode" id="cb128"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb128-1"><a href="#cb128-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Encode and print barcode to file `filename`.</span></span>
|
||||
<span id="cb128-2"><a href="#cb128-2" aria-hidden="true" tabindex="-1"></a><span class="co"> Only sets `getError()` on error, not on warning */</span></span>
|
||||
<span id="cb128-3"><a href="#cb128-3" aria-hidden="true" tabindex="-1"></a><span class="dt">bool</span> save_to_file<span class="op">(</span><span class="at">const</span> <span class="ex">QString</span><span class="op">&</span> filename<span class="op">);</span> <span class="co">// `ZBarcode_Print()`</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb129"><pre
|
||||
class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb129-1"><a href="#cb129-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Encode and print barcode to file `filename`.</span></span>
|
||||
<span id="cb129-2"><a href="#cb129-2" aria-hidden="true" tabindex="-1"></a><span class="co"> Only sets `getError()` on error, not on warning */</span></span>
|
||||
<span id="cb129-3"><a href="#cb129-3" aria-hidden="true" tabindex="-1"></a><span class="dt">bool</span> save_to_file<span class="op">(</span><span class="at">const</span> <span class="ex">QString</span><span class="op">&</span> filename<span class="op">);</span> <span class="co">// `ZBarcode_Print()`</span></span></code></pre></div>
|
||||
<p>which takes a <code>filename</code> to output to. It too will emit an
|
||||
<code>errored</code> signal on failure, returning <code>false</code>
|
||||
(but nothing on success, which just returns <code>true</code>). Note
|
||||
@@ -9084,12 +9153,12 @@ symbology capabilities, and utility methods such as
|
||||
<h1 id="annex-c.-tcl-backend-binding">Annex C. Tcl Backend Binding</h1>
|
||||
<p>A Tcl binding is available in the <code>"backend_tcl</code>”
|
||||
sub-directory. To make on Unix:</p>
|
||||
<div class="sourceCode" id="cb129"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb129-1"><a href="#cb129-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> backend_tcl</span>
|
||||
<span id="cb129-2"><a href="#cb129-2" aria-hidden="true" tabindex="-1"></a><span class="fu">autoconf</span></span>
|
||||
<span id="cb129-3"><a href="#cb129-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./configure</span></span>
|
||||
<span id="cb129-4"><a href="#cb129-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span>
|
||||
<span id="cb129-5"><a href="#cb129-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> make install</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb130"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb130-1"><a href="#cb130-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> backend_tcl</span>
|
||||
<span id="cb130-2"><a href="#cb130-2" aria-hidden="true" tabindex="-1"></a><span class="fu">autoconf</span></span>
|
||||
<span id="cb130-3"><a href="#cb130-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./configure</span></span>
|
||||
<span id="cb130-4"><a href="#cb130-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span>
|
||||
<span id="cb130-5"><a href="#cb130-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> make install</span></code></pre></div>
|
||||
<p>For Windows, a Microsoft Visual C++ project file is available at
|
||||
<code>"backend_tcl\zint_tcl.vcxproj"</code>. Note that this assumes that
|
||||
Tcl/Tk is available in <code>"C:\Tcl"</code> and that the libraries are
|
||||
@@ -9100,21 +9169,21 @@ to match your setup. There is also a Visual Studio makefile available at
|
||||
<code>"backend_tcl\win\README.txt"</code>.</p>
|
||||
<p>Once built and installed, invoke the Tcl/Tk CLI
|
||||
<code>"wish"</code>:</p>
|
||||
<div class="sourceCode" id="cb130"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb130-1"><a href="#cb130-1" aria-hidden="true" tabindex="-1"></a><span class="ex">wish</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb131"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb131-1"><a href="#cb131-1" aria-hidden="true" tabindex="-1"></a><span class="ex">wish</span></span></code></pre></div>
|
||||
<p>and ignoring the Tk window click back to the command prompt
|
||||
<code>"%"</code> and type:</p>
|
||||
<div class="sourceCode" id="cb131"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb131-1"><a href="#cb131-1" aria-hidden="true" tabindex="-1"></a><span class="ex">package</span> require zint</span>
|
||||
<span id="cb131-2"><a href="#cb131-2" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> help</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb132"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb132-1"><a href="#cb132-1" aria-hidden="true" tabindex="-1"></a><span class="ex">package</span> require zint</span>
|
||||
<span id="cb132-2"><a href="#cb132-2" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> help</span></code></pre></div>
|
||||
<p>which will show the usage message, with options very similar to the
|
||||
Zint CLI. (One notable difference is that boolean options such as
|
||||
<code>-bold</code> take a <code>1</code> or <code>0</code> as an
|
||||
argument.)</p>
|
||||
<p>A demonstration Tcl/Tk program which is also useful in itself is
|
||||
available at <code>"backend_tcl/demo/demo.tcl"</code>. To run type:</p>
|
||||
<div class="sourceCode" id="cb132"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb132-1"><a href="#cb132-1" aria-hidden="true" tabindex="-1"></a><span class="ex">wish</span> demo/demo.tcl</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb133"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb133-1"><a href="#cb133-1" aria-hidden="true" tabindex="-1"></a><span class="ex">wish</span> demo/demo.tcl</span></code></pre></div>
|
||||
<p>which will display the following window.</p>
|
||||
<figure>
|
||||
<img src="images/tcl_demo.png" class="pop"
|
||||
@@ -9347,14 +9416,14 @@ are:</p>
|
||||
</dd>
|
||||
<dt><code>--extraesc</code></dt>
|
||||
<dd>
|
||||
<p>For Code 128 only, as well as processing the normal escape sequences
|
||||
above, process the special escape sequences <code>\^A</code>,
|
||||
<code>\^B</code>, <code>\^C</code> and <code>\^@</code> that allow
|
||||
manual switching of Code Sets, and the special escape sequence
|
||||
<code>\^1</code> that inserts an <code>FNC1</code> character. The
|
||||
sequence <code>\@</code> turns off manual switching. The sequence
|
||||
<code>\^^</code> can be used to encode data that contains special escape
|
||||
sequences.</p>
|
||||
<p>As well as processing the normal escape sequences above, process the
|
||||
special escape sequences beginning with <code>\^</code>. For Code 128
|
||||
and Data Matrix, process the escape sequence <code>\^1</code> that
|
||||
inserts an <code>FNC1</code> character, and the escaping sequence
|
||||
<code>\^^</code> that encodes a literal <code>\^</code>. For Code 128
|
||||
only, process the escape sequences <code>\^A</code>, <code>\^B</code>,
|
||||
<code>\^C</code> and <code>\^@</code> that allow manual switching of
|
||||
Code Sets. The sequence <code>\^@</code> turns off manual switching.</p>
|
||||
</dd>
|
||||
<dt><code>--fast</code></dt>
|
||||
<dd>
|
||||
@@ -9867,17 +9936,17 @@ Error counterpart of warning if <code>--werror</code> given
|
||||
<h2 id="examples">EXAMPLES</h2>
|
||||
<p>Create “out.png” (or “out.gif” if zint built without PNG support) in
|
||||
the current directory, as a Code 128 symbol.</p>
|
||||
<div class="sourceCode" id="cb141"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb141-1"><a href="#cb141-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-d</span> <span class="st">'This Text'</span></span></code></pre></div>
|
||||
<p>Create “qr.svg” in the current directory, as a QR Code symbol.</p>
|
||||
<div class="sourceCode" id="cb142"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> QRCode <span class="at">-d</span> <span class="st">'This Text'</span> <span class="at">-o</span> <span class="st">'qr.svg'</span></span></code></pre></div>
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-d</span> <span class="st">'This Text'</span></span></code></pre></div>
|
||||
<p>Create “qr.svg” in the current directory, as a QR Code symbol.</p>
|
||||
<div class="sourceCode" id="cb143"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> QRCode <span class="at">-d</span> <span class="st">'This Text'</span> <span class="at">-o</span> <span class="st">'qr.svg'</span></span></code></pre></div>
|
||||
<p>Use batch mode to read from an input file “ean13nos.txt” containing a
|
||||
list of 13-digit GTINs, each on a separate line, to create a series of
|
||||
EAN-13 barcodes, formatting the output filenames to “ean001.gif”,
|
||||
“ean002.gif” etc. using the special character “~”.</p>
|
||||
<div class="sourceCode" id="cb143"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> EAN13 <span class="at">--batch</span> <span class="at">-i</span> <span class="st">'ean13nos.txt'</span> <span class="at">-o</span> <span class="st">'ean~~~.gif'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb144"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb144-1"><a href="#cb144-1" aria-hidden="true" tabindex="-1"></a><span class="ex">zint</span> <span class="at">-b</span> EAN13 <span class="at">--batch</span> <span class="at">-i</span> <span class="st">'ean13nos.txt'</span> <span class="at">-o</span> <span class="st">'ean~~~.gif'</span></span></code></pre></div>
|
||||
<h2 id="bugs">BUGS</h2>
|
||||
<p>Please send bug reports to
|
||||
https://sourceforge.net/p/zint/tickets/.</p>
|
||||
@@ -9925,7 +9994,7 @@ file format BMP!<a href="#fnref3" class="footnote-back"
|
||||
role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn4"><p>The symbology names marked with an asterisk
|
||||
(<code>*</code>) in <span class="cross-ref-group"><a
|
||||
href="#tbl:barcode_types" class="cross-ref">Table 4: Barcode Types
|
||||
href="#tbl:barcode_types" class="cross-ref">Table 5: Barcode Types
|
||||
(Symbologies)</a></span> above used different names in previous versions
|
||||
of Zint. These names are now deprecated but are still recognised by
|
||||
Zint. Those marked with a dagger (<code>†</code>) are replacements for
|
||||
@@ -10022,6 +10091,11 @@ href="#fnref22" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
Film Database at <a
|
||||
href="https://thebigfilmdatabase.merinorus.com">https://thebigfilmdatabase.merinorus.com</a>.<a
|
||||
href="#fnref23" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn24"><p>ASCII-compatible ECIs are ECIs 3 to 18 and 21 to 27
|
||||
(see <span class="cross-ref-group"><a href="#tbl:eci_codes"
|
||||
class="cross-ref">Table 9: ECI Codes</a></span>). Note in particular
|
||||
that ECI 899, 8-bit binary, is not considered ASCII-compatible.<a
|
||||
href="#fnref24" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
</ol>
|
||||
</section>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user