Skip to content

Commit e4fa713

Browse files
Update Scribus and AsciiDoc docs for 2026-06-13
1 parent a2ab442 commit e4fa713

5 files changed

Lines changed: 3644 additions & 2510 deletions

File tree

adoc/bwipp-options.adoc

Lines changed: 179 additions & 186 deletions
Large diffs are not rendered by default.

adoc/bwipp-symbologies.adoc

Lines changed: 512 additions & 517 deletions
Large diffs are not rendered by default.

scribus/bwipp-gs1ai.html

Lines changed: 66 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,35 @@
55
<meta name="robots" content="noindex, nofollow" />
66
<title>GS1 AI Standard Format</title>
77
<style>
8-
@import "../manual.css";
9-
</style>
8+
@import "../manual.css"</style>
109
</head>
1110
<body>
12-
<h2 id="gs1-application-identifier-standard-format">GS1 Application Identifier Standard Format</h2>
13-
<p>Certain barcode symbologies (including <a href="bwipp-symbologies.html#gs1-128">GS1-128</a>, <a href="bwipp-symbologies.html#gs1-databar-expanded">GS1 DataBar Expanded</a>, <a href="bwipp-symbologies.html#gs1-datamatrix">GS1 DataMatrix</a>, <a href="bwipp-symbologies.html#gs1-qr-code">GS1 QR Code</a> and <a href="bwipp-symbologies.html#gs1-composite-symbols">GS1 Composite Symbols</a>) represent standardized GS1 data and require that their data field is provided in GS1 Application Identifier standard format, consisting of a concatenated string of <em>AIs</em> along with their corresponding values.</p>
14-
<p>The AIs are a set of approximately one hundred two-, three- or four-digit prefixes written within parentheses that represent physical attributes and business information, e.g.</p>
11+
<h2 id="gs1-application-identifier-standard-format">GS1 Application
12+
Identifier Standard Format</h2>
13+
<p>Certain barcode symbologies (including <a href="bwipp-symbologies.html#gs1-128">GS1-128</a>, <a href="bwipp-symbologies.html#gs1-databar-expanded">GS1 DataBar
14+
Expanded</a>, <a href="bwipp-symbologies.html#gs1-datamatrix">GS1
15+
DataMatrix</a>, <a href="bwipp-symbologies.html#gs1-qr-code">GS1 QR
16+
Code</a> and <a href="bwipp-symbologies.html#gs1-composite-symbols">GS1
17+
Composite Symbols</a>) represent standardized GS1 data and require that
18+
their data field is provided in GS1 Application Identifier standard
19+
format, consisting of a concatenated string of <em>AIs</em> along with
20+
their corresponding values.</p>
21+
<p>The AIs are a set of approximately one hundred two-, three- or
22+
four-digit prefixes written within parentheses that represent physical
23+
attributes and business information, e.g.</p>
1524
<ul>
1625
<li><em>(00)</em> is an eighteen-digit SSCC.</li>
1726
<li><em>(01)</em> is a fourteen-digit GTIN.</li>
1827
<li><em>(403)</em> is a variable-length routing code.</li>
1928
</ul>
20-
<p>The following input represents GTIN-14 <em>09521234543213</em>; Expiration Date <em>1 January 2010</em>; Batch <em>123ABC</em>; Serial <em>1234567890</em>:</p>
21-
<pre><code>(01)09521234543213(17)100101(10)123ABC(21)1234567890
22-
</code></pre>
23-
<p>Encoders for barcode symbologies that expect data in GS1 Application Identifier standard format will take care of parsing the input and inserting any necessary <em>FNC1</em> characters to delimit variable length fields.</p>
29+
<p>The following input represents GTIN-14 <em>09521234543213</em>;
30+
Expiration Date <em>1 January 2010</em>; Batch <em>123ABC</em>; Serial
31+
<em>1234567890</em>:</p>
32+
<pre><code>(01)09521234543213(17)100101(10)123ABC(21)1234567890</code></pre>
33+
<p>Encoders for barcode symbologies that expect data in GS1 Application
34+
Identifier standard format will take care of parsing the input and
35+
inserting any necessary <em>FNC1</em> characters to delimit variable
36+
length fields.</p>
2437
<pre><code>Input to GS1-based encoder: (01)09521234543213(17)100101(10)123ABC(21)1234567890
2538
|
2639
[ BWIPP encodes barcode message... ]
@@ -33,33 +46,58 @@ <h2 id="gs1-application-identifier-standard-format">GS1 Application Identifier S
3346
V
3447
Application receives: ]Nm095212345432131710010110123ABC{GS}211234567890
3548

36-
(Where &quot;]Nm&quot; is the symbology specific AIM Symbology Identifier.)
37-
</code></pre>
38-
<h4 id="encoding-parentheses-within-application-identifier-data-values">Encoding parentheses within Application Identifier data values</h4>
39-
<p>Instances of parentheses, <code>(</code> and <code>)</code>, within Application Identifier data values must be escaped using the <a href="bwipp-options.html#parse"><code>parse</code> option</a> as <code>^040</code> and <code>^041</code>, respectively.</p>
40-
<h4 id="gs1-application-identifier-linting">GS1 Application Identifier Linting</h4>
41-
<p>The input is checked against the structural rules for the GS1 Application Identifiers, as described in <a href="https://www.linkedin.com/pulse/gs1-application-identifier-syntax-dictionary-terry-burton/">this article</a>, unless the <strong>dontlint</strong> option is given. The Application Identifier definitions are provided in the <a href="http://www.gs1.org/barcodes-epcrfid-id-keys/gs1-general-specifications">GS1 General Specifications</a>.</p>
42-
<h4 id="use-of-group-separator-character-gs-ascii-29-as-an-ai-separator">Use of Group Separator character (GS; ASCII 29) as an AI separator</h4>
43-
<p>FNC1 is the canonical separator that is used in GS1 symbols when encoding Application Identifier based data.</p>
44-
<p>The transfer protocol for FNC1 characters is defined by the fundamental ISO/IEC barcode symbology standards and is not something that an application standard can legitimately redefine whilst claiming conformance with the fundamental standards.</p>
45-
<p>Encoding a GS (ASCII value 29) directly within a barcode message is incorrect and may lead to larger symbol sizes since they may not be encoded as efficiently and FNC1. However, because the transfer protocol for barcode scanners converts FNC1 non-data characters in third and subsequent characters positions to GS data characters for transmission, the host is generally unable to determine whether FNC1 or GS was used in the barcode message.</p>
46-
<p>Because of this ambiguity, the use of GS characters of AI separation is tolerated by the GS1 standards, but not encouraged.</p>
47-
<p>BWIPP will always correctly encode the barcode message using FNC1 characters.</p>
48-
<p>If you wish to do the wrong thing then you can manually encode the data and use a general (non-GS1) instance of the encoder, for example:</p>
49+
(Where &quot;]Nm&quot; is the symbology specific AIM Symbology Identifier.)</code></pre>
50+
<h4 id="encoding-parentheses-within-application-identifier-data-values">Encoding
51+
parentheses within Application Identifier data values</h4>
52+
<p>Instances of parentheses, <code>(</code> and <code>)</code>, within
53+
Application Identifier data values must be escaped using the <a href="bwipp-options.html#parse"><code>parse</code> option</a> as
54+
<code>^040</code> and <code>^041</code>, respectively.</p>
55+
<h4 id="gs1-application-identifier-linting">GS1 Application Identifier
56+
Linting</h4>
57+
<p>The input is checked against the structural rules for the GS1
58+
Application Identifiers, as described in <a href="https://www.linkedin.com/pulse/gs1-application-identifier-syntax-dictionary-terry-burton/">this
59+
article</a>, unless the <strong>dontlint</strong> option is given. The
60+
Application Identifier definitions are provided in the <a href="http://www.gs1.org/barcodes-epcrfid-id-keys/gs1-general-specifications">GS1
61+
General Specifications</a>.</p>
62+
<h4 id="use-of-group-separator-character-gs-ascii-29-as-an-ai-separator">Use
63+
of Group Separator character (GS; ASCII 29) as an AI separator</h4>
64+
<p>FNC1 is the canonical separator that is used in GS1 symbols when
65+
encoding Application Identifier based data.</p>
66+
<p>The transfer protocol for FNC1 characters is defined by the
67+
fundamental ISO/IEC barcode symbology standards and is not something
68+
that an application standard can legitimately redefine whilst claiming
69+
conformance with the fundamental standards.</p>
70+
<p>Encoding a GS (ASCII value 29) directly within a barcode message is
71+
incorrect and may lead to larger symbol sizes since they may not be
72+
encoded as efficiently and FNC1. However, because the transfer protocol
73+
for barcode scanners converts FNC1 non-data characters in third and
74+
subsequent characters positions to GS data characters for transmission,
75+
the host is generally unable to determine whether FNC1 or GS was used in
76+
the barcode message.</p>
77+
<p>Because of this ambiguity, the use of GS characters of AI separation
78+
is tolerated by the GS1 standards, but not encouraged.</p>
79+
<p>BWIPP will always correctly encode the barcode message using FNC1
80+
characters.</p>
81+
<p>If you wish to do the wrong thing then you can manually encode the
82+
data and use a general (non-GS1) instance of the encoder, for
83+
example:</p>
4984
<p>Instead of auto-encoding with canonical use of FNC1 separators:</p>
5085
<pre><code>Encoder: GS1 DataMatrix
5186
Data: (01)09521234543213(17)100101(10)123ABC(21)1234567890
52-
Options:
53-
</code></pre>
87+
Options:</code></pre>
5488
<p>Manually encode with the non-canonical use of GS separators:</p>
5589
<pre><code>Encoder: Data Matrix
5690
Data: ^FNC1095212345432131710010110123ABC^GS211234567890
57-
Options: parse parsefnc
58-
</code></pre>
91+
Options: parse parsefnc</code></pre>
5992
<p>Note however that:</p>
6093
<ul>
61-
<li>The rules for encoding Application Identifier based data are nuanced. FNC1/GS separators are not merely separators and their necessity is unrelated to whether the AIs are fixed or variable length, as many sources falsely claim.</li>
62-
<li>You will not benefit from BWIPP&#39;s comprehensive validation of AI-based data if you choose to encode data manually rather than let BWIPP take care of it.</li>
94+
<li>The rules for encoding Application Identifier based data are
95+
nuanced. FNC1/GS separators are not merely separators and their
96+
necessity is unrelated to whether the AIs are fixed or variable length,
97+
as many sources falsely claim.</li>
98+
<li>You will not benefit from BWIPP&#39;s comprehensive validation of
99+
AI-based data if you choose to encode data manually rather than let
100+
BWIPP take care of it.</li>
63101
</ul>
64102
</body>
65103
</html>

0 commit comments

Comments
 (0)