@sythos/js_barcode_universal 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AI_USAGE.md +33 -0
- package/LICENSE +4 -2
- package/NOTICE.md +10 -5
- package/README.md +95 -31
- package/bundle/sythos-barcode.esm.js +11552 -8877
- package/bundle/sythos-barcode.js +11469 -8877
- package/examples/create.html +2 -1
- package/examples/read.html +6 -0
- package/licenses/README.md +5 -0
- package/licenses/aztec-rune.license +76 -0
- package/licenses/compact-pdf417.license +76 -0
- package/licenses/ean-2.license +75 -0
- package/licenses/ean-5.license +75 -0
- package/licenses/gs1-databar.license +84 -0
- package/package.json +16 -4
- package/src/aztec/decoder.js +1 -0
- package/src/aztec/detector.js +1 -0
- package/src/aztec/encoder.js +1 -0
- package/src/aztec/high-level.js +1 -0
- package/src/aztec/index.js +1 -0
- package/src/aztec/tables.js +1 -0
- package/src/aztecrune/decoder.js +156 -0
- package/src/aztecrune/detector.js +167 -0
- package/src/aztecrune/encoder.js +122 -0
- package/src/aztecrune/index.js +50 -0
- package/src/aztecrune/tables.js +138 -0
- package/src/compactpdf417/decoder.js +129 -0
- package/src/compactpdf417/detector.js +140 -0
- package/src/compactpdf417/encoder.js +141 -0
- package/src/compactpdf417/index.js +22 -0
- package/src/compactpdf417/tables.js +174 -0
- package/src/core/bit-buffer.js +1 -0
- package/src/core/bit-matrix.js +1 -0
- package/src/core/errors.js +1 -0
- package/src/core/galois-field.js +1 -0
- package/src/core/index.js +1 -0
- package/src/core/reed-solomon.js +1 -0
- package/src/databar/codec.js +182 -0
- package/src/databar/decoder.js +216 -0
- package/src/databar/encoder.js +97 -0
- package/src/databar/gs1.js +178 -0
- package/src/databar/index.js +69 -0
- package/src/databar/patterns.js +144 -0
- package/src/databar/tables.js +125 -0
- package/src/datamatrix/decoder.js +1 -0
- package/src/datamatrix/detector.js +1 -0
- package/src/datamatrix/encoder.js +1 -0
- package/src/datamatrix/index.js +1 -0
- package/src/datamatrix/tables.js +1 -0
- package/src/frameqr/decoder.js +16 -15
- package/src/frameqr/detector.js +3 -2
- package/src/frameqr/encoder.js +8 -7
- package/src/frameqr/index.js +1 -0
- package/src/frameqr/tables.js +11 -10
- package/src/image/binarizer.js +1 -0
- package/src/image/grid-sampler.js +1 -0
- package/src/image/index.js +1 -0
- package/src/image/luminance.js +1 -0
- package/src/image/perspective.js +1 -0
- package/src/index.js +101 -12
- package/src/micropdf417/compaction.js +1 -0
- package/src/micropdf417/decoder.js +1 -0
- package/src/micropdf417/detector.js +1 -0
- package/src/micropdf417/encoder.js +1 -0
- package/src/micropdf417/error-correction.js +1 -0
- package/src/micropdf417/index.js +1 -0
- package/src/micropdf417/tables.js +1 -0
- package/src/microqr/decoder.js +1 -0
- package/src/microqr/detector.js +1 -0
- package/src/microqr/encoder.js +1 -0
- package/src/microqr/index.js +1 -0
- package/src/microqr/tables.js +1 -0
- package/src/oned/addons.js +421 -0
- package/src/oned/index.js +21 -3
- package/src/oned/patterns.js +1 -0
- package/src/oned/reader.js +330 -11
- package/src/oned/writers.js +6 -0
- package/src/pdf417/compaction.js +1 -0
- package/src/pdf417/decoder.js +1 -0
- package/src/pdf417/detector.js +1 -0
- package/src/pdf417/encoder.js +1 -0
- package/src/pdf417/error-correction.js +1 -0
- package/src/pdf417/index.js +5 -0
- package/src/pdf417/tables.js +1 -0
- package/src/qr/decoder.js +1 -0
- package/src/qr/detector.js +1 -0
- package/src/qr/encoder.js +1 -0
- package/src/qr/index.js +1 -0
- package/src/qr/tables.js +1 -0
- package/src/render/image-data.js +1 -0
- package/src/render/index.js +1 -0
- package/src/render/options.js +1 -0
- package/src/render/png.js +1 -0
- package/src/render/svg.js +1 -0
- package/src/render/webgl.js +1 -0
- package/src/render/webgpu.js +1 -0
- package/src/rmqr/decoder.js +1 -0
- package/src/rmqr/detector.js +1 -0
- package/src/rmqr/encoder.js +1 -0
- package/src/rmqr/index.js +1 -0
- package/src/rmqr/tables.js +1 -0
package/examples/create.html
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
<!--
|
|
8
8
|
Sythos Barcode Suite — example
|
|
9
9
|
Copyright (c) 2026 Sythos
|
|
10
|
+
SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
10
11
|
SPDX-License-Identifier: MIT
|
|
11
12
|
|
|
12
13
|
Loads the IIFE bundle with a plain <script> tag, so this page works when
|
|
@@ -161,7 +162,7 @@
|
|
|
161
162
|
</div>
|
|
162
163
|
|
|
163
164
|
<div id="frameOpts" style="display:none">
|
|
164
|
-
<p class="hint">
|
|
165
|
+
<p class="hint">FrameQR Code</p>
|
|
165
166
|
<label for="frameCanvasShape">Canvas shape</label>
|
|
166
167
|
<select id="frameCanvasShape">
|
|
167
168
|
<option value="square" selected>Square</option>
|
package/examples/read.html
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
<!--
|
|
8
8
|
Sythos Barcode Suite — example
|
|
9
9
|
Copyright (c) 2026 Sythos
|
|
10
|
+
SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
10
11
|
SPDX-License-Identifier: MIT
|
|
11
12
|
|
|
12
13
|
File input first, camera second — deliberately.
|
|
@@ -97,6 +98,11 @@
|
|
|
97
98
|
Sythos Barcode Suite — 100% original JavaScript, zero dependencies, MIT.
|
|
98
99
|
See also <a href="create.html">create.html</a>.
|
|
99
100
|
</p>
|
|
101
|
+
<p class="sub">
|
|
102
|
+
Image reading includes Code 11, MSI Plessey, GS1-128, GS1 DataBar
|
|
103
|
+
Omnidirectional/Truncated and EAN-2/EAN-5 supplements attached to an EAN/UPC
|
|
104
|
+
parent. Pharmacode remains intentionally write-only for generic autodetection.
|
|
105
|
+
</p>
|
|
100
106
|
</header>
|
|
101
107
|
|
|
102
108
|
<div class="layout">
|
package/licenses/README.md
CHANGED
|
@@ -13,8 +13,10 @@ appendix carries the consolidated inventory these files expand on.
|
|
|
13
13
|
| Aztec Code | [`aztec-code.license`](aztec-code.license) | 2 |
|
|
14
14
|
| QR Code | [`qr-code.license`](qr-code.license) | 2 |
|
|
15
15
|
| Data Matrix ECC 200 | [`data-matrix.license`](data-matrix.license) | 2 |
|
|
16
|
+
| Aztec Rune | [`aztec-rune.license`](aztec-rune.license) | 2 |
|
|
16
17
|
| PDF417 | [`pdf417.license`](pdf417.license) | 2 |
|
|
17
18
|
| MicroPDF417 | [`micropdf417.license`](micropdf417.license) | 2 |
|
|
19
|
+
| Compact PDF417 | [`compact-pdf417.license`](compact-pdf417.license) | 2 |
|
|
18
20
|
| EAN-13 | [`ean-13.license`](ean-13.license) | 2 |
|
|
19
21
|
| EAN-8 | [`ean-8.license`](ean-8.license) | 2 |
|
|
20
22
|
| UPC-A | [`upc-a.license`](upc-a.license) | 2 |
|
|
@@ -30,9 +32,12 @@ appendix carries the consolidated inventory these files expand on.
|
|
|
30
32
|
| Code 11 | [`code-11.license`](code-11.license) | 2 |
|
|
31
33
|
| MSI Plessey | [`msi-plessey.license`](msi-plessey.license) | 2 |
|
|
32
34
|
| Pharmacode | [`pharmacode.license`](pharmacode.license) | 2 |
|
|
35
|
+
| EAN-2 supplement | [`ean-2.license`](ean-2.license) | 2 |
|
|
36
|
+
| EAN-5 supplement | [`ean-5.license`](ean-5.license) | 2 |
|
|
33
37
|
| Micro QR Code | [`micro-qr.license`](micro-qr.license) | 2 |
|
|
34
38
|
| rMQR Code | [`rmqr.license`](rmqr.license) | 2 |
|
|
35
39
|
| Frame QR / Sythos Canvas QR profile | [`frameqr.license`](frameqr.license) | 2 |
|
|
40
|
+
| GS1 DataBar Omnidirectional / Truncated | [`gs1-databar.license`](gs1-databar.license) | 2 |
|
|
36
41
|
|
|
37
42
|
## On the `[TO VERIFY]` markers
|
|
38
43
|
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Aztec Rune — format provenance and usability
|
|
2
|
+
==========================================================================
|
|
3
|
+
|
|
4
|
+
This file records where the Aztec Rune symbology comes from, what governs
|
|
5
|
+
it, and the basis on which this project implements and redistributes it.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Items marked [TO VERIFY]
|
|
8
|
+
have not been independently confirmed by the author.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ORIGIN
|
|
12
|
+
--------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
Aztec Rune is the fixed 11-module, eight-bit companion form of the Aztec
|
|
15
|
+
Code family. This implementation is limited to the published Rune value
|
|
16
|
+
range 0-255.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
SPECIFICATION
|
|
20
|
+
--------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
ISO/IEC 24778:2024 — Aztec Code bar code symbology specification.
|
|
23
|
+
ZXing-C++ was used only as an independent black-box runtime oracle; no
|
|
24
|
+
source code or table is copied or shipped.
|
|
25
|
+
|
|
26
|
+
Specification TEXT is copyrighted by its publisher. The SYMBOLOGY it
|
|
27
|
+
describes is not — an encoding scheme is a system, not a work of
|
|
28
|
+
authorship. This project implements the symbology; it does not reproduce,
|
|
29
|
+
redistribute or excerpt any specification document.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PATENT STATUS
|
|
33
|
+
--------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
Historical public-domain reports exist for Aztec symbologies, but no
|
|
36
|
+
primary AIM waiver or complete patent-family review was located for Rune
|
|
37
|
+
specifically. [LEGAL REVIEW]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
TRADEMARK
|
|
41
|
+
--------------------------------------------------------------------------
|
|
42
|
+
|
|
43
|
+
The current registration status and ownership of "Aztec Rune" have not
|
|
44
|
+
been independently established. [LEGAL REVIEW] The name is used
|
|
45
|
+
descriptively and does not imply endorsement.
|
|
46
|
+
|
|
47
|
+
A trademark does not restrict implementing a symbology. It restricts
|
|
48
|
+
branding — how a product names and presents itself.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
52
|
+
--------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
Aztec Rune is implemented here from published descriptions of the format,
|
|
55
|
+
which are systems and facts rather than works of authorship. No source
|
|
56
|
+
code or constant table from any other barcode implementation is copied or
|
|
57
|
+
shipped. Public technical material and independent implementations may be
|
|
58
|
+
consulted for engineering review or black-box verification; provenance is
|
|
59
|
+
recorded in NOTICE.md.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
CONCLUSION
|
|
63
|
+
--------------------------------------------------------------------------
|
|
64
|
+
|
|
65
|
+
This project's original Aztec Rune implementation is distributed under the
|
|
66
|
+
MIT License. This inventory is not a legal opinion that every historical
|
|
67
|
+
or current patent claim is exhausted. [LEGAL REVIEW]
|
|
68
|
+
|
|
69
|
+
References relied upon:
|
|
70
|
+
- ISO/IEC 24778:2024, ISO/IEC
|
|
71
|
+
- ZXing-C++ black-box validation, https://github.com/zxing-cpp/zxing-cpp
|
|
72
|
+
- Aztec Rune patent and trademark scope [LEGAL REVIEW]
|
|
73
|
+
|
|
74
|
+
This is an engineering assessment, not legal advice. Items marked
|
|
75
|
+
[TO VERIFY] have not been independently confirmed by the author. If your
|
|
76
|
+
use is commercially sensitive, obtain your own legal review.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Compact PDF417 — format provenance and usability
|
|
2
|
+
==========================================================================
|
|
3
|
+
|
|
4
|
+
This file records where the Compact PDF417 symbology comes from, what governs
|
|
5
|
+
it, and the basis on which this project implements and redistributes it.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Items marked [TO VERIFY]
|
|
8
|
+
have not been independently confirmed by the author.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ORIGIN
|
|
12
|
+
--------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
Compact PDF417 is the truncated PDF417 geometry: the standard PDF417 data
|
|
15
|
+
and error-correction family with the right row indicator omitted and a
|
|
16
|
+
reduced stop pattern.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
SPECIFICATION
|
|
20
|
+
--------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
ISO/IEC 15438:2015 — PDF417 bar code symbology specification.
|
|
23
|
+
Independent runtimes were used only as black-box verification tools; no
|
|
24
|
+
third-party source code or table is shipped.
|
|
25
|
+
|
|
26
|
+
Specification TEXT is copyrighted by its publisher. The SYMBOLOGY it
|
|
27
|
+
describes is not — an encoding scheme is a system, not a work of
|
|
28
|
+
authorship. This project implements the symbology; it does not reproduce,
|
|
29
|
+
redistribute or excerpt any specification document.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PATENT STATUS
|
|
33
|
+
--------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
Compact PDF417 inherits the historical PDF417 patent landscape. US
|
|
36
|
+
5,243,655 and US 5,304,786 and related families require a
|
|
37
|
+
jurisdiction-by-jurisdiction review. [LEGAL REVIEW]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
TRADEMARK
|
|
41
|
+
--------------------------------------------------------------------------
|
|
42
|
+
|
|
43
|
+
The current registration status and ownership of "Compact PDF417" have not
|
|
44
|
+
been independently established. [LEGAL REVIEW]
|
|
45
|
+
|
|
46
|
+
A trademark does not restrict implementing a symbology. It restricts
|
|
47
|
+
branding — how a product names and presents itself.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
51
|
+
--------------------------------------------------------------------------
|
|
52
|
+
|
|
53
|
+
Compact PDF417 is implemented here from published descriptions of the format,
|
|
54
|
+
which are systems and facts rather than works of authorship. No source
|
|
55
|
+
code or constant table from any other barcode implementation is copied or
|
|
56
|
+
shipped. Public technical material and independent implementations may be
|
|
57
|
+
consulted for engineering review or black-box verification; provenance is
|
|
58
|
+
recorded in NOTICE.md.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
CONCLUSION
|
|
62
|
+
--------------------------------------------------------------------------
|
|
63
|
+
|
|
64
|
+
This project's original Compact PDF417 implementation is distributed under
|
|
65
|
+
the MIT License. The engineering implementation is not a certification or
|
|
66
|
+
legal clearance. [LEGAL REVIEW]
|
|
67
|
+
|
|
68
|
+
References relied upon:
|
|
69
|
+
- ISO/IEC 15438:2015, ISO/IEC
|
|
70
|
+
- ZXing-C++ black-box validation, https://github.com/zxing-cpp/zxing-cpp
|
|
71
|
+
- US 5,243,655, USPTO patent record
|
|
72
|
+
- US 5,304,786, USPTO patent record
|
|
73
|
+
|
|
74
|
+
This is an engineering assessment, not legal advice. Items marked
|
|
75
|
+
[TO VERIFY] have not been independently confirmed by the author. If your
|
|
76
|
+
use is commercially sensitive, obtain your own legal review.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
EAN-2 supplement — format provenance and usability
|
|
2
|
+
==========================================================================
|
|
3
|
+
|
|
4
|
+
This file records where the EAN-2 supplement symbology comes from, what governs
|
|
5
|
+
it, and the basis on which this project implements and redistributes it.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Items marked [TO VERIFY]
|
|
8
|
+
have not been independently confirmed by the author.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ORIGIN
|
|
12
|
+
--------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
EAN-2 is the two-digit EAN/UPC add-on symbol used as a supplement to a
|
|
15
|
+
primary EAN or UPC symbol. This project exposes its parity and guard
|
|
16
|
+
geometry as a writable add-on.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
SPECIFICATION
|
|
20
|
+
--------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
ISO/IEC 15420 — EAN/UPC bar code symbology specification.
|
|
23
|
+
GS1 General Specifications, GS1 AISBL — freely published; redistribution
|
|
24
|
+
terms are GS1's own [LEGAL REVIEW]
|
|
25
|
+
|
|
26
|
+
Specification TEXT is copyrighted by its publisher. The SYMBOLOGY it
|
|
27
|
+
describes is not — an encoding scheme is a system, not a work of
|
|
28
|
+
authorship. This project implements the symbology; it does not reproduce,
|
|
29
|
+
redistribute or excerpt any specification document.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PATENT STATUS
|
|
33
|
+
--------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
The originating patents date from the 1970s-1980s and are understood to
|
|
36
|
+
have expired long ago. [LEGAL REVIEW]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
TRADEMARK
|
|
40
|
+
--------------------------------------------------------------------------
|
|
41
|
+
|
|
42
|
+
"GS1" and its symbology names are trademarks of GS1 AISBL.
|
|
43
|
+
|
|
44
|
+
A trademark does not restrict implementing a symbology. It restricts
|
|
45
|
+
branding — how a product names and presents itself.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
49
|
+
--------------------------------------------------------------------------
|
|
50
|
+
|
|
51
|
+
EAN-2 supplement is implemented here from published descriptions of the format,
|
|
52
|
+
which are systems and facts rather than works of authorship. No source
|
|
53
|
+
code or constant table from any other barcode implementation is copied or
|
|
54
|
+
shipped. Public technical material and independent implementations may be
|
|
55
|
+
consulted for engineering review or black-box verification; provenance is
|
|
56
|
+
recorded in NOTICE.md.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
CONCLUSION
|
|
60
|
+
--------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
The original add-on implementation is distributed under the MIT License.
|
|
63
|
+
Image reading is intentionally parent-bound: the generic reader accepts
|
|
64
|
+
EAN-2 only when attached to a validated EAN/UPC symbol; it is not a
|
|
65
|
+
standalone retail-symbol detector.
|
|
66
|
+
|
|
67
|
+
References relied upon:
|
|
68
|
+
- ISO/IEC 15420, ISO/IEC
|
|
69
|
+
- GS1 General Specifications, GS1 AISBL — freely published;
|
|
70
|
+
redistribution terms are GS1's own [LEGAL REVIEW]
|
|
71
|
+
- ZXing-C++ add-on black-box check, https://github.com/zxing-cpp/zxing-cpp
|
|
72
|
+
|
|
73
|
+
This is an engineering assessment, not legal advice. Items marked
|
|
74
|
+
[TO VERIFY] have not been independently confirmed by the author. If your
|
|
75
|
+
use is commercially sensitive, obtain your own legal review.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
EAN-5 supplement — format provenance and usability
|
|
2
|
+
==========================================================================
|
|
3
|
+
|
|
4
|
+
This file records where the EAN-5 supplement symbology comes from, what governs
|
|
5
|
+
it, and the basis on which this project implements and redistributes it.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Items marked [TO VERIFY]
|
|
8
|
+
have not been independently confirmed by the author.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ORIGIN
|
|
12
|
+
--------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
EAN-5 is the five-digit EAN/UPC add-on symbol used as a supplement to a
|
|
15
|
+
primary EAN or UPC symbol. This implementation covers the published 3/9
|
|
16
|
+
checksum, parity and guard geometry.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
SPECIFICATION
|
|
20
|
+
--------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
ISO/IEC 15420 — EAN/UPC bar code symbology specification.
|
|
23
|
+
GS1 General Specifications, GS1 AISBL — freely published; redistribution
|
|
24
|
+
terms are GS1's own [LEGAL REVIEW]
|
|
25
|
+
|
|
26
|
+
Specification TEXT is copyrighted by its publisher. The SYMBOLOGY it
|
|
27
|
+
describes is not — an encoding scheme is a system, not a work of
|
|
28
|
+
authorship. This project implements the symbology; it does not reproduce,
|
|
29
|
+
redistribute or excerpt any specification document.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PATENT STATUS
|
|
33
|
+
--------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
The originating patents date from the 1970s-1980s and are understood to
|
|
36
|
+
have expired long ago. [LEGAL REVIEW]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
TRADEMARK
|
|
40
|
+
--------------------------------------------------------------------------
|
|
41
|
+
|
|
42
|
+
"GS1" and its symbology names are trademarks of GS1 AISBL.
|
|
43
|
+
|
|
44
|
+
A trademark does not restrict implementing a symbology. It restricts
|
|
45
|
+
branding — how a product names and presents itself.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
49
|
+
--------------------------------------------------------------------------
|
|
50
|
+
|
|
51
|
+
EAN-5 supplement is implemented here from published descriptions of the format,
|
|
52
|
+
which are systems and facts rather than works of authorship. No source
|
|
53
|
+
code or constant table from any other barcode implementation is copied or
|
|
54
|
+
shipped. Public technical material and independent implementations may be
|
|
55
|
+
consulted for engineering review or black-box verification; provenance is
|
|
56
|
+
recorded in NOTICE.md.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
CONCLUSION
|
|
60
|
+
--------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
The original add-on implementation is distributed under the MIT License.
|
|
63
|
+
Image reading is intentionally parent-bound: the generic reader accepts
|
|
64
|
+
EAN-5 only when attached to a validated EAN/UPC symbol; it is not a
|
|
65
|
+
standalone retail-symbol detector.
|
|
66
|
+
|
|
67
|
+
References relied upon:
|
|
68
|
+
- ISO/IEC 15420, ISO/IEC
|
|
69
|
+
- GS1 General Specifications, GS1 AISBL — freely published;
|
|
70
|
+
redistribution terms are GS1's own [LEGAL REVIEW]
|
|
71
|
+
- ZXing-C++ add-on black-box check, https://github.com/zxing-cpp/zxing-cpp
|
|
72
|
+
|
|
73
|
+
This is an engineering assessment, not legal advice. Items marked
|
|
74
|
+
[TO VERIFY] have not been independently confirmed by the author. If your
|
|
75
|
+
use is commercially sensitive, obtain your own legal review.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
GS1 DataBar Omnidirectional / Truncated — format provenance and usability
|
|
2
|
+
==========================================================================
|
|
3
|
+
|
|
4
|
+
This file records where the GS1 DataBar Omnidirectional / Truncated symbology comes from, what governs
|
|
5
|
+
it, and the basis on which this project implements and redistributes it.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Items marked [TO VERIFY]
|
|
8
|
+
have not been independently confirmed by the author.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ORIGIN
|
|
12
|
+
--------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
GS1 DataBar is a family of seven GS1 linear symbologies defined by ISO/IEC
|
|
15
|
+
24724 and GS1 specifications. This release contains original GTIN and GS1
|
|
16
|
+
element-string data-layer codecs plus physical Omnidirectional and
|
|
17
|
+
Truncated pattern readers and writers; other physical variants remain
|
|
18
|
+
outside the package scope.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
SPECIFICATION
|
|
22
|
+
--------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
ISO/IEC 24724 — GS1 DataBar bar code symbology specification.
|
|
25
|
+
GS1 General Specifications, GS1 AISBL — freely published; redistribution
|
|
26
|
+
terms are GS1's own [LEGAL REVIEW]
|
|
27
|
+
GS1 public DataBar overview,
|
|
28
|
+
https://www.gs1.org/standards/barcodes/databar
|
|
29
|
+
|
|
30
|
+
Specification TEXT is copyrighted by its publisher. The SYMBOLOGY it
|
|
31
|
+
describes is not — an encoding scheme is a system, not a work of
|
|
32
|
+
authorship. This project implements the symbology; it does not reproduce,
|
|
33
|
+
redistribute or excerpt any specification document.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
PATENT STATUS
|
|
37
|
+
--------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
GS1's intellectual-property policy and third-party patent declarations
|
|
40
|
+
require a dedicated review for deployed implementations. No unconditional
|
|
41
|
+
patent-free or public-domain claim is made. [LEGAL REVIEW]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
TRADEMARK
|
|
45
|
+
--------------------------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
"GS1" and its symbology names are trademarks of GS1 AISBL. "GS1 DataBar"
|
|
48
|
+
is used descriptively with attribution and does not imply endorsement or
|
|
49
|
+
certification.
|
|
50
|
+
|
|
51
|
+
A trademark does not restrict implementing a symbology. It restricts
|
|
52
|
+
branding — how a product names and presents itself.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
56
|
+
--------------------------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
GS1 DataBar Omnidirectional / Truncated is implemented here from published descriptions of the format,
|
|
59
|
+
which are systems and facts rather than works of authorship. No source
|
|
60
|
+
code or constant table from any other barcode implementation is copied or
|
|
61
|
+
shipped. Public technical material and independent implementations may be
|
|
62
|
+
consulted for engineering review or black-box verification; provenance is
|
|
63
|
+
recorded in NOTICE.md.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
CONCLUSION
|
|
67
|
+
--------------------------------------------------------------------------
|
|
68
|
+
|
|
69
|
+
Only original Sythos DataBar code is distributed under the MIT License.
|
|
70
|
+
Omnidirectional and Truncated image support is exposed after
|
|
71
|
+
checksum-validated black-box verification; Limited, Stacked and Expanded
|
|
72
|
+
physical variants remain intentionally outside the completed capability.
|
|
73
|
+
[LEGAL REVIEW]
|
|
74
|
+
|
|
75
|
+
References relied upon:
|
|
76
|
+
- ISO/IEC 24724, ISO/IEC
|
|
77
|
+
- GS1 General Specifications, GS1 AISBL — freely published;
|
|
78
|
+
redistribution terms are GS1's own [LEGAL REVIEW]
|
|
79
|
+
- GS1 DataBar overview, https://www.gs1.org/standards/barcodes/databar
|
|
80
|
+
- GS1 IP policy, https://ref.gs1.org/gs1/ip-policy/
|
|
81
|
+
|
|
82
|
+
This is an engineering assessment, not legal advice. Items marked
|
|
83
|
+
[TO VERIFY] have not been independently confirmed by the author. If your
|
|
84
|
+
use is commercially sensitive, obtain your own legal review.
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sythos/js_barcode_universal",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Read and write barcodes in JavaScript with zero runtime dependencies. QR Code, Micro QR, rMQR,
|
|
5
|
-
"author":
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "Read and write barcodes in JavaScript with zero runtime dependencies. QR Code, Micro QR, rMQR, FrameQR Code, Aztec Code and Rune, PDF417 variants, GS1 DataBar Omnidirectional/Truncated, EAN supplements and one-dimensional formats.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Sythos",
|
|
7
|
+
"url": "https://www.sythos.net"
|
|
8
|
+
},
|
|
6
9
|
"license": "MIT",
|
|
7
10
|
"type": "module",
|
|
8
11
|
"main": "./src/index.js",
|
|
@@ -24,8 +27,11 @@
|
|
|
24
27
|
"./oned": "./src/oned/index.js",
|
|
25
28
|
"./qr": "./src/qr/index.js",
|
|
26
29
|
"./datamatrix": "./src/datamatrix/index.js",
|
|
30
|
+
"./databar": "./src/databar/index.js",
|
|
27
31
|
"./aztec": "./src/aztec/index.js",
|
|
32
|
+
"./aztecrune": "./src/aztecrune/index.js",
|
|
28
33
|
"./pdf417": "./src/pdf417/index.js",
|
|
34
|
+
"./compactpdf417": "./src/compactpdf417/index.js",
|
|
29
35
|
"./micropdf417": "./src/micropdf417/index.js",
|
|
30
36
|
"./microqr": "./src/microqr/index.js",
|
|
31
37
|
"./rmqr": "./src/rmqr/index.js",
|
|
@@ -45,13 +51,19 @@
|
|
|
45
51
|
"licenses",
|
|
46
52
|
"LICENSE",
|
|
47
53
|
"NOTICE.md",
|
|
48
|
-
"README.md"
|
|
54
|
+
"README.md",
|
|
55
|
+
"AI_USAGE.md"
|
|
49
56
|
],
|
|
50
57
|
"keywords": [
|
|
51
58
|
"barcode",
|
|
52
59
|
"datamatrix",
|
|
53
60
|
"ecc200",
|
|
54
61
|
"aztec",
|
|
62
|
+
"aztec-rune",
|
|
63
|
+
"compact-pdf417",
|
|
64
|
+
"gs1-databar",
|
|
65
|
+
"ean2",
|
|
66
|
+
"ean5",
|
|
55
67
|
"aztec-code",
|
|
56
68
|
"pdf417",
|
|
57
69
|
"pdf-417",
|
package/src/aztec/decoder.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|
package/src/aztec/detector.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|
package/src/aztec/encoder.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|
package/src/aztec/high-level.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|
package/src/aztec/index.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|
package/src/aztec/tables.js
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
* SOFTWARE.
|
|
25
25
|
*
|
|
26
|
+
* SPDX-FileCopyrightText: 2026 Sythos (https://www.sythos.net)
|
|
26
27
|
* SPDX-License-Identifier: MIT
|
|
27
28
|
*
|
|
28
29
|
* Original work. No code from any other barcode implementation.
|