@sythos/js_barcode_universal 1.5.13 → 1.5.15
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/LICENSE +22 -4
- package/NOTICE.md +10 -1
- package/README.md +416 -22
- package/bundle/sythos-barcode.esm.js +22176 -11991
- package/bundle/sythos-barcode.js +22059 -11991
- package/licenses/README.md +12 -1
- package/licenses/codablockf.license +51 -0
- package/licenses/code16k.license +52 -0
- package/licenses/code25.license +58 -0
- package/licenses/code32.license +51 -0
- package/licenses/dotcode.license +66 -0
- package/licenses/gs1-composite.license +106 -0
- package/licenses/gs1-databar.license +21 -14
- package/licenses/hanxin.license +95 -0
- package/licenses/maxicode.license +62 -0
- package/licenses/postal.license +61 -0
- package/licenses/pzn.license +53 -0
- package/licenses/telepen.license +73 -0
- package/llms.txt +62 -6
- package/package.json +47 -3
- package/src/index.d.ts +111 -6
- package/src/index.js +362 -13
- package/src/js/codablockf/decoder.js +198 -0
- package/src/js/codablockf/encoder.js +97 -0
- package/src/js/codablockf/index.js +3 -0
- package/src/js/code16k/decoder.js +303 -0
- package/src/js/code16k/detector.js +187 -0
- package/src/js/code16k/encoder.js +153 -0
- package/src/js/code16k/index.js +14 -0
- package/src/js/code16k/tables.js +152 -0
- package/src/js/composite/index.js +570 -0
- package/src/js/core/detection-contract.js +185 -0
- package/src/js/core/symbol-layout.js +155 -0
- package/src/js/databar/expanded.js +968 -0
- package/src/js/databar/index.js +4 -0
- package/src/js/databar/layout.js +192 -0
- package/src/js/databar/limited.js +533 -0
- package/src/js/databar/stacked-omnidirectional.js +548 -0
- package/src/js/databar/stacked.js +528 -0
- package/src/js/dotcode/decoder.js +548 -0
- package/src/js/dotcode/detector.js +251 -0
- package/src/js/dotcode/encoder.js +453 -0
- package/src/js/dotcode/index.js +34 -0
- package/src/js/dotcode/tables.js +168 -0
- package/src/js/hanxin/decoder.js +299 -0
- package/src/js/hanxin/detector.js +122 -0
- package/src/js/hanxin/encoder.js +259 -0
- package/src/js/hanxin/index.js +16 -0
- package/src/js/hanxin/tables.js +316 -0
- package/src/js/image/height-coded.js +164 -0
- package/src/js/maxicode/decoder.js +275 -0
- package/src/js/maxicode/detector.js +118 -0
- package/src/js/maxicode/encoder.js +438 -0
- package/src/js/maxicode/index.js +34 -0
- package/src/js/maxicode/tables.js +132 -0
- package/src/js/oned/code25.js +148 -0
- package/src/js/oned/index.js +21 -3
- package/src/js/oned/postal.js +889 -0
- package/src/js/oned/reader.js +272 -7
- package/src/js/oned/telepen.js +361 -0
- package/src/js/oned/writers.js +186 -12
- package/src/js/stacked128/common.js +208 -0
- package/src/ts/codablockf/decoder.ts +212 -0
- package/src/ts/codablockf/encoder.ts +128 -0
- package/src/ts/codablockf/index.d.ts +31 -0
- package/src/ts/codablockf/index.ts +6 -0
- package/src/ts/code16k/decoder.d.ts +25 -0
- package/src/ts/code16k/decoder.ts +313 -0
- package/src/ts/code16k/detector.d.ts +21 -0
- package/src/ts/code16k/detector.ts +203 -0
- package/src/ts/code16k/encoder.d.ts +26 -0
- package/src/ts/code16k/encoder.ts +198 -0
- package/src/ts/code16k/index.d.ts +10 -0
- package/src/ts/code16k/index.ts +47 -0
- package/src/ts/code16k/tables.d.ts +54 -0
- package/src/ts/code16k/tables.ts +195 -0
- package/src/ts/composite/index.d.ts +74 -0
- package/src/ts/composite/index.ts +547 -0
- package/src/ts/core/detection-contract.d.ts +119 -0
- package/src/ts/core/detection-contract.ts +267 -0
- package/src/ts/core/symbol-layout.d.ts +108 -0
- package/src/ts/core/symbol-layout.ts +236 -0
- package/src/ts/databar/expanded.d.ts +40 -0
- package/src/ts/databar/expanded.ts +948 -0
- package/src/ts/databar/index.d.ts +48 -0
- package/src/ts/databar/index.ts +48 -0
- package/src/ts/databar/layout.d.ts +122 -0
- package/src/ts/databar/layout.ts +275 -0
- package/src/ts/databar/limited.d.ts +85 -0
- package/src/ts/databar/limited.ts +553 -0
- package/src/ts/databar/stacked-omnidirectional.d.ts +128 -0
- package/src/ts/databar/stacked-omnidirectional.ts +559 -0
- package/src/ts/databar/stacked.d.ts +96 -0
- package/src/ts/databar/stacked.ts +549 -0
- package/src/ts/dotcode/decoder.d.ts +58 -0
- package/src/ts/dotcode/decoder.ts +467 -0
- package/src/ts/dotcode/detector.d.ts +63 -0
- package/src/ts/dotcode/detector.ts +263 -0
- package/src/ts/dotcode/encoder.d.ts +69 -0
- package/src/ts/dotcode/encoder.ts +427 -0
- package/src/ts/dotcode/index.d.ts +37 -0
- package/src/ts/dotcode/index.ts +72 -0
- package/src/ts/dotcode/tables.d.ts +74 -0
- package/src/ts/dotcode/tables.ts +174 -0
- package/src/ts/hanxin/decoder.d.ts +48 -0
- package/src/ts/hanxin/decoder.ts +314 -0
- package/src/ts/hanxin/detector.d.ts +45 -0
- package/src/ts/hanxin/detector.ts +124 -0
- package/src/ts/hanxin/encoder.d.ts +41 -0
- package/src/ts/hanxin/encoder.ts +290 -0
- package/src/ts/hanxin/index.d.ts +16 -0
- package/src/ts/hanxin/index.ts +18 -0
- package/src/ts/hanxin/tables.d.ts +80 -0
- package/src/ts/hanxin/tables.ts +348 -0
- package/src/ts/image/height-coded.d.ts +101 -0
- package/src/ts/image/height-coded.ts +227 -0
- package/src/ts/index.d.ts +46 -2
- package/src/ts/index.ts +380 -13
- package/src/ts/maxicode/decoder.ts +265 -0
- package/src/ts/maxicode/detector.ts +109 -0
- package/src/ts/maxicode/encoder.ts +414 -0
- package/src/ts/maxicode/index.d.ts +96 -0
- package/src/ts/maxicode/index.ts +44 -0
- package/src/ts/maxicode/tables.ts +136 -0
- package/src/ts/oned/code25.d.ts +42 -0
- package/src/ts/oned/code25.ts +170 -0
- package/src/ts/oned/index.d.ts +7 -2
- package/src/ts/oned/index.ts +45 -3
- package/src/ts/oned/postal.d.ts +44 -0
- package/src/ts/oned/postal.ts +819 -0
- package/src/ts/oned/reader.d.ts +35 -0
- package/src/ts/oned/reader.ts +261 -7
- package/src/ts/oned/telepen.d.ts +65 -0
- package/src/ts/oned/telepen.ts +368 -0
- package/src/ts/oned/writers.d.ts +32 -0
- package/src/ts/oned/writers.ts +184 -13
- package/src/ts/stacked128/common.ts +225 -0
package/licenses/README.md
CHANGED
|
@@ -28,16 +28,27 @@ appendix carries the consolidated inventory these files expand on.
|
|
|
28
28
|
| Code 93 | [`code-93.license`](code-93.license) | 2 |
|
|
29
29
|
| ITF (Interleaved 2 of 5) | [`itf.license`](itf.license) | 2 |
|
|
30
30
|
| ITF-14 | [`itf-14.license`](itf-14.license) | 2 |
|
|
31
|
+
| Code 25, Industrial 2 of 5 and IATA 2 of 5 | [`code25.license`](code25.license) | 2 |
|
|
31
32
|
| Codabar | [`codabar.license`](codabar.license) | 2 |
|
|
32
33
|
| Code 11 | [`code-11.license`](code-11.license) | 2 |
|
|
33
34
|
| MSI Plessey | [`msi-plessey.license`](msi-plessey.license) | 2 |
|
|
35
|
+
| Telepen (Alpha and Numeric) | [`telepen.license`](telepen.license) | 2 |
|
|
34
36
|
| Pharmacode | [`pharmacode.license`](pharmacode.license) | 2 |
|
|
37
|
+
| Code 32 (Italian Pharmacode) | [`code32.license`](code32.license) | 2 |
|
|
38
|
+
| PZN-7 and PZN-8 | [`pzn.license`](pzn.license) | 2 |
|
|
35
39
|
| EAN-2 supplement | [`ean-2.license`](ean-2.license) | 2 |
|
|
36
40
|
| EAN-5 supplement | [`ean-5.license`](ean-5.license) | 2 |
|
|
37
41
|
| Micro QR Code | [`micro-qr.license`](micro-qr.license) | 2 |
|
|
38
42
|
| rMQR Code | [`rmqr.license`](rmqr.license) | 2 |
|
|
39
43
|
| Frame QR / Sythos Canvas QR profile | [`frameqr.license`](frameqr.license) | 2 |
|
|
40
|
-
| GS1 DataBar Omnidirectional / Truncated | [`gs1-databar.license`](gs1-databar.license) | 2 |
|
|
44
|
+
| GS1 DataBar Omnidirectional / Truncated, Limited, Stacked, Stacked Omnidirectional and Expanded | [`gs1-databar.license`](gs1-databar.license) | 2 |
|
|
45
|
+
| MaxiCode | [`maxicode.license`](maxicode.license) | 2 |
|
|
46
|
+
| Postal 4-state family (POSTNET, PLANET, RM4SCC, KIX, Australia Post, Japan Post and IMb) | [`postal.license`](postal.license) | 2 |
|
|
47
|
+
| Codablock-F | [`codablockf.license`](codablockf.license) | 2 |
|
|
48
|
+
| Code 16K | [`code16k.license`](code16k.license) | 2 |
|
|
49
|
+
| DotCode | [`dotcode.license`](dotcode.license) | 2 |
|
|
50
|
+
| Han Xin Code | [`hanxin.license`](hanxin.license) | 2 |
|
|
51
|
+
| GS1 DataBar Composite (bounded profile) | [`gs1-composite.license`](gs1-composite.license) | 2 |
|
|
41
52
|
|
|
42
53
|
## On the `[TO VERIFY]` markers
|
|
43
54
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Codablock-F — format provenance and usability
|
|
2
|
+
================================================
|
|
3
|
+
|
|
4
|
+
This file records the public engineering basis for the Codablock-F support in
|
|
5
|
+
Sythos Barcode Universal. It is not legal advice and does not grant a patent,
|
|
6
|
+
trademark or standards licence.
|
|
7
|
+
|
|
8
|
+
Format background
|
|
9
|
+
-----------------
|
|
10
|
+
|
|
11
|
+
Codablock-F is a stacked 2D barcode built from Code 128 symbols. Public format
|
|
12
|
+
descriptions identify a row count of 2–44, a row-level Code 128 check and two
|
|
13
|
+
overall modulo-86 checks. The implementation uses those structural properties
|
|
14
|
+
with original Sythos TypeScript and generated JavaScript.
|
|
15
|
+
|
|
16
|
+
Patent and trademark status
|
|
17
|
+
---------------------------
|
|
18
|
+
|
|
19
|
+
[REGISTRY CHECK REQUIRED] The project has not established a definitive current
|
|
20
|
+
patent-family, term or trademark position for every Codablock-F jurisdiction.
|
|
21
|
+
The format name is used descriptively. Users with a regulated or commercial
|
|
22
|
+
deployment must obtain their own legal and standards review.
|
|
23
|
+
|
|
24
|
+
Implementation boundary
|
|
25
|
+
----------------------
|
|
26
|
+
|
|
27
|
+
The writer and reader are original MIT-licensed Sythos work. They share the
|
|
28
|
+
project's Code 128 alphabet and enforce row framing, row checks, overall checks
|
|
29
|
+
and complete-row reconstruction. The implementation is intentionally
|
|
30
|
+
conservative: clean integer-scale symbols are supported, while arbitrary
|
|
31
|
+
perspective, severe damage and multi-symbol scenes are not promised.
|
|
32
|
+
|
|
33
|
+
Third-party software such as ZXing or BWIPP, when used by maintainers, is used
|
|
34
|
+
only as an independent black-box validation tool. No third-party source code,
|
|
35
|
+
tables or runtime dependency is copied or shipped in this SDK. Please open a
|
|
36
|
+
GitHub issue with any contrary note, patent concern or format correction so it
|
|
37
|
+
can be reviewed and recorded.
|
|
38
|
+
|
|
39
|
+
License of this implementation
|
|
40
|
+
-------------------------------
|
|
41
|
+
|
|
42
|
+
The original implementation is distributed under the MIT License in the
|
|
43
|
+
repository root. The format's external names and rights remain separate from
|
|
44
|
+
the SDK licence.
|
|
45
|
+
|
|
46
|
+
References
|
|
47
|
+
----------
|
|
48
|
+
|
|
49
|
+
- Public Codablock-F symbology descriptions, including row and check layout.
|
|
50
|
+
- Code 128 public descriptions for the underlying symbol alphabet.
|
|
51
|
+
- `NOTICE.md` attribution and verification log in this repository.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Code 16K — format provenance and usability
|
|
2
|
+
================================================
|
|
3
|
+
|
|
4
|
+
This file records the public engineering basis for the Code 16K support in
|
|
5
|
+
Sythos Barcode Universal. It is not legal advice and does not grant a patent,
|
|
6
|
+
trademark or standards licence.
|
|
7
|
+
|
|
8
|
+
Format background
|
|
9
|
+
-----------------
|
|
10
|
+
|
|
11
|
+
Code 16K is a compact stacked barcode that uses Code 128 symbol characters in
|
|
12
|
+
multiple rows. Public descriptions, including the USS Code 16K reference,
|
|
13
|
+
describe the row framing, row count, Code 128 data sets and the two modulo-107
|
|
14
|
+
check characters. The implementation uses those structural properties with
|
|
15
|
+
original Sythos TypeScript and generated JavaScript.
|
|
16
|
+
|
|
17
|
+
Patent and trademark status
|
|
18
|
+
---------------------------
|
|
19
|
+
|
|
20
|
+
[REGISTRY CHECK REQUIRED] The project has not established a definitive current
|
|
21
|
+
patent-family, term or trademark position for every Code 16K jurisdiction.
|
|
22
|
+
The format name is used descriptively. Users with a regulated or commercial
|
|
23
|
+
deployment must obtain their own legal and standards review.
|
|
24
|
+
|
|
25
|
+
Implementation boundary
|
|
26
|
+
----------------------
|
|
27
|
+
|
|
28
|
+
The writer, reader and detector are original MIT-licensed Sythos work. They
|
|
29
|
+
validate every row, the row framing, both global check characters and complete
|
|
30
|
+
geometry before returning a result. The implementation supports the bounded
|
|
31
|
+
Code 128 A/B/C and optional GS1 profiles documented in the format guide; modes
|
|
32
|
+
that need a dedicated shift encoder are rejected rather than guessed.
|
|
33
|
+
|
|
34
|
+
Third-party software such as ZXing or BWIPP, when used by maintainers, is used
|
|
35
|
+
only as an independent black-box validation tool. No third-party source code,
|
|
36
|
+
tables or runtime dependency is copied or shipped in this SDK. Please open a
|
|
37
|
+
GitHub issue with any contrary note, patent concern or format correction so it
|
|
38
|
+
can be reviewed and recorded.
|
|
39
|
+
|
|
40
|
+
License of this implementation
|
|
41
|
+
-------------------------------
|
|
42
|
+
|
|
43
|
+
The original implementation is distributed under the MIT License in the
|
|
44
|
+
repository root. The format's external names and rights remain separate from
|
|
45
|
+
the SDK licence.
|
|
46
|
+
|
|
47
|
+
References
|
|
48
|
+
----------
|
|
49
|
+
|
|
50
|
+
- USS Code 16K public reference for row framing and check-character structure.
|
|
51
|
+
- Code 128 public descriptions for the underlying symbol alphabet.
|
|
52
|
+
- `NOTICE.md` attribution and verification log in this repository.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
Code 25, Industrial 2 of 5 and IATA 2 of 5 — format provenance and usability
|
|
2
|
+
=============================================================================
|
|
3
|
+
|
|
4
|
+
This file records the engineering provenance and redistribution boundary for
|
|
5
|
+
the Code 25 family implemented by Sythos Barcode Universal.
|
|
6
|
+
|
|
7
|
+
It is an engineering inventory, not legal advice. Patent, copyright and
|
|
8
|
+
trademark conclusions still need independent review for the jurisdiction and
|
|
9
|
+
the intended product. Items marked [TO VERIFY] remain open questions.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
FORMAT AND IMPLEMENTATION BASIS
|
|
13
|
+
-------------------------------
|
|
14
|
+
|
|
15
|
+
Code 25 (often called Standard 2 of 5) and Industrial 2 of 5 use one numeric
|
|
16
|
+
digit grammar: ten alternating bar/space elements with exactly two wide bars.
|
|
17
|
+
The Industrial 2 of 5 frame is the canonical Code 25 frame in this SDK. IATA 2
|
|
18
|
+
of 5 uses the same digit grammar with its shorter start/stop frame. The API
|
|
19
|
+
keeps all three names explicit and supports an opt-in modulo-10 check digit.
|
|
20
|
+
|
|
21
|
+
The run-width descriptions are represented as original Sythos data and
|
|
22
|
+
expanded algorithmically for the selected wide-bar ratio. The reader validates
|
|
23
|
+
the full start/data/stop structure, quiet-zone boundary and optional check
|
|
24
|
+
digit before returning a value. No third-party source code, lookup table or
|
|
25
|
+
binary asset is copied into this repository.
|
|
26
|
+
|
|
27
|
+
The runtime is original Sythos TypeScript with generated JavaScript output and
|
|
28
|
+
is distributed under the MIT License. The format names are descriptive and do
|
|
29
|
+
not imply certification by an industrial, logistics or aviation organisation.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
PATENT AND TRADEMARK REVIEW
|
|
33
|
+
---------------------------
|
|
34
|
+
|
|
35
|
+
Historical Code 25 patent families, jurisdiction-specific licensing statements
|
|
36
|
+
and current registrations for the family names have not been independently
|
|
37
|
+
cleared here. [TO VERIFY] This project makes no unconditional patent-free,
|
|
38
|
+
public-domain or trademark-clearance claim.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
INDEPENDENT VALIDATION BOUNDARY
|
|
42
|
+
-------------------------------
|
|
43
|
+
|
|
44
|
+
BWIPP/bwip-js was used only as a local, independent black-box oracle to compare
|
|
45
|
+
Code 25, Industrial 2 of 5 and IATA 2 of 5 renderings. It was used solely for
|
|
46
|
+
verification and counter-checking of which published format behaviour could be
|
|
47
|
+
used in comparable conditions. Its source, tables and runtime are not copied
|
|
48
|
+
into or shipped by this SDK, and it is not a runtime dependency. The comparison
|
|
49
|
+
is an engineering check, not a legal opinion or a conformance certificate.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
CONCLUSION
|
|
53
|
+
----------
|
|
54
|
+
|
|
55
|
+
The original Sythos Code 25-family implementation is MIT-licensed. If a rights
|
|
56
|
+
holder or user identifies a conflicting notice about the available material,
|
|
57
|
+
please open a GitHub issue with the reference so it can be reviewed and
|
|
58
|
+
recorded.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Code 32 (Italian Pharmacode) — format provenance and usability
|
|
2
|
+
===============================================================
|
|
3
|
+
|
|
4
|
+
This file records the engineering provenance and redistribution boundary for
|
|
5
|
+
the Code 32 implementation shipped by Sythos Barcode Universal.
|
|
6
|
+
|
|
7
|
+
It is an engineering inventory, not legal advice. Patent, copyright and
|
|
8
|
+
trademark conclusions still need independent review for the jurisdiction and
|
|
9
|
+
the intended product. Items marked [TO VERIFY] remain open questions.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
FORMAT AND IMPLEMENTATION BASIS
|
|
13
|
+
-------------------------------
|
|
14
|
+
|
|
15
|
+
Code 32 is a decimal pharmaceutical identifier rendered through a six-symbol
|
|
16
|
+
base-32 payload and a Code 39-compatible carrier. The implementation keeps the
|
|
17
|
+
numeric eight-digit body, computes the published modulo-10 check digit, and
|
|
18
|
+
derives the printed alphabet by applying the documented vowel-skipping rule.
|
|
19
|
+
The reader validates the carrier, base-32 conversion and check digit before it
|
|
20
|
+
returns data. No Code 32 source code, lookup table or binary asset from another
|
|
21
|
+
project is copied into this repository.
|
|
22
|
+
|
|
23
|
+
The runtime is original Sythos TypeScript with generated JavaScript output and
|
|
24
|
+
is distributed under the MIT License. The name is used descriptively and does
|
|
25
|
+
not imply certification by an industry body or a pharmaceutical authority.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
PATENT AND TRADEMARK REVIEW
|
|
29
|
+
---------------------------
|
|
30
|
+
|
|
31
|
+
Historical pharmaceutical-identification patents, national patent families
|
|
32
|
+
and any current Code 32 trademark registrations have not been independently
|
|
33
|
+
cleared here. [TO VERIFY] This project makes no unconditional patent-free,
|
|
34
|
+
public-domain or trademark-clearance claim.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
INDEPENDENT VALIDATION BOUNDARY
|
|
38
|
+
-------------------------------
|
|
39
|
+
|
|
40
|
+
BWIPP/bwip-js was used only as a local, independent black-box oracle to compare
|
|
41
|
+
rendered Code 32 symbols. Its source, tables and runtime are not copied into or
|
|
42
|
+
shipped by this SDK, and it is not a runtime dependency. The comparison is an
|
|
43
|
+
engineering check, not a legal opinion or a conformance certificate.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
CONCLUSION
|
|
47
|
+
----------
|
|
48
|
+
|
|
49
|
+
The original Sythos Code 32 implementation is MIT-licensed. If a rights holder
|
|
50
|
+
or user identifies a conflicting notice about the available material, please
|
|
51
|
+
open a GitHub issue with the reference so it can be reviewed and recorded.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
DotCode format provenance and implementation licence
|
|
2
|
+
======================================================
|
|
3
|
+
|
|
4
|
+
This file records the public engineering basis for DotCode support in Sythos
|
|
5
|
+
Barcode Universal. It is not legal advice and it does not grant a patent,
|
|
6
|
+
trademark or standards licence.
|
|
7
|
+
|
|
8
|
+
Implementation licence
|
|
9
|
+
----------------------
|
|
10
|
+
|
|
11
|
+
The DotCode writer, reader, detector, tables and tests in this repository are
|
|
12
|
+
original Sythos work and are distributed under the MIT License in the
|
|
13
|
+
repository root. The TypeScript sources are authoritative; generated
|
|
14
|
+
JavaScript and declaration files are part of the same implementation.
|
|
15
|
+
|
|
16
|
+
The implementation is dependency-free at runtime. It does not include or
|
|
17
|
+
link to ZXing, Zint, BWIPP or another third-party barcode implementation.
|
|
18
|
+
|
|
19
|
+
Public material and validation boundary
|
|
20
|
+
----------------------------------------
|
|
21
|
+
|
|
22
|
+
The implementation uses public descriptions of the DotCode layout, its
|
|
23
|
+
five-of-nine dot assignment, code sets, masking and error-correction
|
|
24
|
+
procedure. Public AIM and GS1 resources, the DotCode overview on Wikipedia
|
|
25
|
+
and Zint's public DotCode backend were consulted for format understanding and
|
|
26
|
+
interoperability cross-checking. Zint, ZXing and any other third-party
|
|
27
|
+
software are used only as independent black-box validation or documentation
|
|
28
|
+
references. No third-party source code, generated lookup table or runtime
|
|
29
|
+
dependency has been copied into or shipped with this SDK.
|
|
30
|
+
|
|
31
|
+
Patent and trademark review
|
|
32
|
+
---------------------------
|
|
33
|
+
|
|
34
|
+
The repository does not claim that every DotCode patent, patent application,
|
|
35
|
+
standard, certification or trademark question has been resolved in every
|
|
36
|
+
country. The format name is used descriptively. Users remain responsible for
|
|
37
|
+
their own standards, patent, trademark and commercial due diligence before a
|
|
38
|
+
regulated or high-volume deployment.
|
|
39
|
+
|
|
40
|
+
The MIT licence covers this original implementation only. It does not grant
|
|
41
|
+
rights that may belong to a standards body, patent holder or trademark owner.
|
|
42
|
+
If you have a contrary legal notice, format correction or rights concern,
|
|
43
|
+
please open a GitHub issue with the relevant public reference so it can be
|
|
44
|
+
reviewed and recorded.
|
|
45
|
+
|
|
46
|
+
Implementation limits
|
|
47
|
+
---------------------
|
|
48
|
+
|
|
49
|
+
This release intentionally rejects unsupported structured append, ECI,
|
|
50
|
+
macro/AI 17 and FNC2/FNC3 control sequences rather than returning a partial or
|
|
51
|
+
guessed payload. The detector is limited to clean binary rasters, integer
|
|
52
|
+
module scales, bounded dimensions and quarter-turn orientations. These are
|
|
53
|
+
documented product boundaries, not claims about the complete DotCode standard.
|
|
54
|
+
|
|
55
|
+
References
|
|
56
|
+
----------
|
|
57
|
+
|
|
58
|
+
- AIM standards and technical symbology resources:
|
|
59
|
+
https://www.aimglobal.org/standards/
|
|
60
|
+
- DotCode overview:
|
|
61
|
+
https://en.wikipedia.org/wiki/DotCode
|
|
62
|
+
- GS1 General Specifications:
|
|
63
|
+
https://ref.gs1.org/standards/genspecs/
|
|
64
|
+
- Zint DotCode backend, consulted only as an independent interoperability
|
|
65
|
+
reference:
|
|
66
|
+
https://github.com/zint/zint/blob/master/backend/dotcode.c
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
GS1 DataBar Composite — bounded profile provenance and usability
|
|
2
|
+
===============================================================
|
|
3
|
+
|
|
4
|
+
This file records the engineering and redistribution boundary for the
|
|
5
|
+
`gs1composite` profile shipped by Sythos Barcode Universal. It is an
|
|
6
|
+
ENGINEERING INVENTORY, NOT LEGAL ADVICE. Patent, copyright, trademark and
|
|
7
|
+
standards conclusions require independent review for the jurisdiction and use
|
|
8
|
+
case involved.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
FORMAT AND SPECIFICATION
|
|
12
|
+
------------------------
|
|
13
|
+
|
|
14
|
+
GS1 DataBar Composite symbols combine a linked GS1 DataBar linear component
|
|
15
|
+
with a two-dimensional CC-A or CC-B component. The relevant standards include
|
|
16
|
+
ISO/IEC 24723 and GS1 General Specifications. The standard text is copyrighted
|
|
17
|
+
by its publishers and is not reproduced or redistributed here.
|
|
18
|
+
|
|
19
|
+
This SDK ships a deliberately bounded Sythos profile: one validated DataBar
|
|
20
|
+
host (Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Limited or
|
|
21
|
+
Expanded) is composed with one strict MicroPDF417-derived component. The
|
|
22
|
+
profile uses an internal marker and one deterministic geometry so a detector
|
|
23
|
+
never pairs two unrelated symbols merely because they are near each other. It
|
|
24
|
+
does not claim complete ISO/IEC 24723 conformance, certification or scanner
|
|
25
|
+
interoperability for every composite layout.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
PATENT AND TRADEMARK STATUS
|
|
29
|
+
---------------------------
|
|
30
|
+
|
|
31
|
+
GS1, GS1 DataBar and the composite symbology names may be protected marks or
|
|
32
|
+
subject to usage rules. The current ownership, patent and licensing position
|
|
33
|
+
for every composite component requires jurisdiction-specific review. No patent
|
|
34
|
+
clearance, public-domain conclusion, GS1 certification or endorsement is
|
|
35
|
+
asserted here. [TO VERIFY]
|
|
36
|
+
|
|
37
|
+
The format names are used descriptively to identify the engineering profile.
|
|
38
|
+
The MIT licence below covers original Sythos code only; it does not grant any
|
|
39
|
+
rights in standards text, marks, patents, certification programmes or external
|
|
40
|
+
specification material. [TO VERIFY]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
IMPLEMENTATION BASIS
|
|
44
|
+
--------------------
|
|
45
|
+
|
|
46
|
+
The encoder, decoder, detector, layout checks and tests are original Sythos
|
|
47
|
+
TypeScript with generated JavaScript runtime modules. Existing Sythos GS1
|
|
48
|
+
element-string and DataBar validators provide the linear side. The companion
|
|
49
|
+
component reuses the project's own MicroPDF417 runtime primitives and strict
|
|
50
|
+
error correction, then verifies a private profile marker, linkage flag,
|
|
51
|
+
separator and shared integer module scale before returning data.
|
|
52
|
+
|
|
53
|
+
No ZXing, BWIPP, Zint or other third-party source code, table or runtime
|
|
54
|
+
dependency is copied into or shipped by this package. Independent software,
|
|
55
|
+
when consulted, is used only as a black-box engineering check and is not part
|
|
56
|
+
of this distribution.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
MIT LICENCE FOR ORIGINAL WORK
|
|
60
|
+
-----------------------------
|
|
61
|
+
|
|
62
|
+
The original implementation in `src/ts/composite/` and its generated runtime
|
|
63
|
+
in `src/js/composite/` are distributed under the MIT License:
|
|
64
|
+
|
|
65
|
+
Copyright (c) 2026 Sythos (https://www.sythos.net)
|
|
66
|
+
|
|
67
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
68
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
69
|
+
in the Software without restriction, including without limitation the rights
|
|
70
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
71
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
72
|
+
furnished to do so, subject to the following conditions:
|
|
73
|
+
|
|
74
|
+
The above copyright notice and this permission notice shall be included in all
|
|
75
|
+
copies or substantial portions of the Software.
|
|
76
|
+
|
|
77
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
78
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
79
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
80
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
81
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
82
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
83
|
+
SOFTWARE.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
CONCLUSION
|
|
87
|
+
----------
|
|
88
|
+
|
|
89
|
+
The MIT License covers the original Sythos implementation and does not turn
|
|
90
|
+
this bounded profile into a licence for ISO/IEC, GS1 or any third-party rights.
|
|
91
|
+
Applications requiring certified GS1 DataBar Composite interoperability must
|
|
92
|
+
validate their target scanner, obtain any required permissions and perform
|
|
93
|
+
their own legal review before deployment.
|
|
94
|
+
|
|
95
|
+
Any concern about the available material, a conflicting rights notice or a
|
|
96
|
+
possible format limitation should be reported through a GitHub issue with a
|
|
97
|
+
public reference so it can be reviewed and recorded.
|
|
98
|
+
|
|
99
|
+
References relied upon:
|
|
100
|
+
|
|
101
|
+
- ISO/IEC 24723, GS1 Composite bar code symbology specification
|
|
102
|
+
- GS1 General Specifications: https://ref.gs1.org/standards/genspecs/
|
|
103
|
+
- GS1 DataBar overview: https://www.gs1.org/standards/barcodes/databar
|
|
104
|
+
- Sythos MicroPDF417 provenance inventory: `licenses/micropdf417.license`
|
|
105
|
+
- Independent black-box checks, when used, are recorded in `NOTICE.md` and do
|
|
106
|
+
not contribute source code
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
GS1 DataBar
|
|
2
|
-
|
|
1
|
+
GS1 DataBar physical variants — format provenance and usability
|
|
2
|
+
===============================================================
|
|
3
3
|
|
|
4
4
|
This file records where the GS1 DataBar Omnidirectional / Truncated symbology comes from, what governs
|
|
5
5
|
it, and the basis on which this project implements and redistributes it.
|
|
@@ -13,9 +13,10 @@ ORIGIN
|
|
|
13
13
|
|
|
14
14
|
GS1 DataBar is a family of seven GS1 linear symbologies defined by ISO/IEC
|
|
15
15
|
24724 and GS1 specifications. This release contains original GTIN and GS1
|
|
16
|
-
element-string data-layer codecs plus physical Omnidirectional
|
|
17
|
-
|
|
18
|
-
outside the package
|
|
16
|
+
element-string data-layer codecs plus physical Omnidirectional, Truncated,
|
|
17
|
+
Limited, Stacked, Stacked Omnidirectional and Expanded readers and writers.
|
|
18
|
+
Expanded is the linear variant; Expanded Stacked remains outside the package
|
|
19
|
+
scope.
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
SPECIFICATION
|
|
@@ -55,21 +56,27 @@ branding — how a product names and presents itself.
|
|
|
55
56
|
IMPLEMENTATION BASIS IN THIS PROJECT
|
|
56
57
|
--------------------------------------------------------------------------
|
|
57
58
|
|
|
58
|
-
GS1 DataBar
|
|
59
|
-
which are systems and facts rather than works of
|
|
60
|
-
code or constant table from any other barcode
|
|
61
|
-
shipped. Public technical material and independent
|
|
62
|
-
consulted for engineering review or black-box
|
|
63
|
-
recorded in NOTICE.md.
|
|
59
|
+
The shipped GS1 DataBar physical variants are implemented here from published
|
|
60
|
+
descriptions of the format, which are systems and facts rather than works of
|
|
61
|
+
authorship. No source code or constant table from any other barcode
|
|
62
|
+
implementation is copied or shipped. Public technical material and independent
|
|
63
|
+
implementations may be consulted for engineering review or black-box
|
|
64
|
+
verification; provenance is recorded in NOTICE.md. Expanded uses the normative
|
|
65
|
+
finder sequence, constrained 17-module characters and checksum weights; the
|
|
66
|
+
reader additionally accepts the common compressed GTIN-14 method while keeping
|
|
67
|
+
the detector conservative and single-symbol.
|
|
64
68
|
|
|
65
69
|
|
|
66
70
|
CONCLUSION
|
|
67
71
|
--------------------------------------------------------------------------
|
|
68
72
|
|
|
69
73
|
Only original Sythos DataBar code is distributed under the MIT License.
|
|
70
|
-
Omnidirectional
|
|
71
|
-
checksum-validated
|
|
72
|
-
|
|
74
|
+
Omnidirectional, Truncated, Limited, Stacked, Stacked Omnidirectional and
|
|
75
|
+
Expanded image support is exposed after checksum-validated geometry and
|
|
76
|
+
black-box verification. Expanded Stacked remains outside this capability; the
|
|
77
|
+
separate bounded GS1 Composite profile is documented in
|
|
78
|
+
`licenses/gs1-composite.license` and does not claim complete ISO/IEC 24723
|
|
79
|
+
interoperability.
|
|
73
80
|
[LEGAL REVIEW]
|
|
74
81
|
|
|
75
82
|
References relied upon:
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
Han Xin Code — format provenance and usability
|
|
2
|
+
================================================
|
|
3
|
+
|
|
4
|
+
This file records the engineering basis and redistribution boundary for the
|
|
5
|
+
Han Xin Code implementation shipped by Sythos Barcode Universal.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Patent, copyright and
|
|
8
|
+
trademark conclusions require independent review for the jurisdiction and use
|
|
9
|
+
case involved.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
FORMAT AND SPECIFICATION
|
|
13
|
+
------------------------
|
|
14
|
+
|
|
15
|
+
Han Xin Code is a two-dimensional barcode symbology documented by public
|
|
16
|
+
technical descriptions and the ISO/IEC 20830 family of specifications. The
|
|
17
|
+
standard text is copyrighted by its publisher and is not reproduced or
|
|
18
|
+
redistributed here. This milestone implements only the compact, alignment-free
|
|
19
|
+
versions 1–3 and the explicitly documented numeric, text and byte profile.
|
|
20
|
+
|
|
21
|
+
The implementation does not assert that this bounded profile is a complete
|
|
22
|
+
implementation of every Han Xin version or character-set mode.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
PATENT AND TRADEMARK STATUS
|
|
26
|
+
---------------------------
|
|
27
|
+
|
|
28
|
+
The current ownership, registration and patent status associated with Han Xin
|
|
29
|
+
Code require jurisdiction-specific legal review. No patent clearance,
|
|
30
|
+
public-domain conclusion or endorsement is asserted here. “Han Xin Code” is
|
|
31
|
+
used descriptively to identify the format and does not imply certification by,
|
|
32
|
+
or affiliation with, a standards body or mark owner. [LEGAL REVIEW]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
IMPLEMENTATION BASIS
|
|
36
|
+
--------------------
|
|
37
|
+
|
|
38
|
+
The original implementation is Sythos TypeScript with generated JavaScript
|
|
39
|
+
runtime modules. It uses format facts such as the compact finder geometry,
|
|
40
|
+
function information, masks, codeword ordering and Reed–Solomon rules. No
|
|
41
|
+
third-party source code, lookup table or binary asset is copied into or shipped
|
|
42
|
+
by this project, and the SDK has no runtime dependency for Han Xin.
|
|
43
|
+
|
|
44
|
+
Public technical descriptions and independent implementations may be used only
|
|
45
|
+
for engineering review or black-box interoperability checks. They are not
|
|
46
|
+
runtime dependencies, and their source code and licenses are not part of this
|
|
47
|
+
distribution.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
MIT LICENCE FOR ORIGINAL WORK
|
|
51
|
+
-----------------------------
|
|
52
|
+
|
|
53
|
+
The original Sythos implementation in `src/ts/hanxin/` and its generated
|
|
54
|
+
runtime in `src/js/hanxin/` are distributed under the MIT License:
|
|
55
|
+
|
|
56
|
+
Copyright (c) 2026 Sythos (https://www.sythos.net)
|
|
57
|
+
|
|
58
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
59
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
60
|
+
in the Software without restriction, including without limitation the rights
|
|
61
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
62
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
63
|
+
furnished to do so, subject to the following conditions:
|
|
64
|
+
|
|
65
|
+
The above copyright notice and this permission notice shall be included in all
|
|
66
|
+
copies or substantial portions of the Software.
|
|
67
|
+
|
|
68
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
69
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
70
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
71
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
72
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
73
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
74
|
+
SOFTWARE.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
CONCLUSION
|
|
78
|
+
----------
|
|
79
|
+
|
|
80
|
+
The MIT License covers the original code in this repository. It does not grant
|
|
81
|
+
rights in any external standard, mark or patent. Users remain responsible for
|
|
82
|
+
their own compliance review, especially when a deployment relies on a Han Xin
|
|
83
|
+
variant outside the supported profile or is commercially sensitive.
|
|
84
|
+
|
|
85
|
+
Any concern about the available material, a conflicting rights notice or a
|
|
86
|
+
possible format limitation should be reported through a GitHub issue so it can
|
|
87
|
+
be reviewed and recorded.
|
|
88
|
+
|
|
89
|
+
References relied upon:
|
|
90
|
+
|
|
91
|
+
- ISO/IEC 20830 family, Han Xin Code bar code symbology specification
|
|
92
|
+
- Public Han Xin Code technical descriptions consulted for implementation
|
|
93
|
+
review
|
|
94
|
+
- Independent black-box interoperability checks, when used, are recorded in
|
|
95
|
+
the project provenance notice and do not contribute source code
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
MaxiCode — format provenance and usability
|
|
2
|
+
==========================================
|
|
3
|
+
|
|
4
|
+
This file records the engineering provenance and redistribution boundary for
|
|
5
|
+
the MaxiCode implementation shipped by Sythos Barcode Universal.
|
|
6
|
+
|
|
7
|
+
It is an ENGINEERING INVENTORY, NOT LEGAL ADVICE. Patent, copyright and
|
|
8
|
+
trademark conclusions require independent review for the jurisdiction and use
|
|
9
|
+
case involved.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
ORIGIN AND SPECIFICATION
|
|
13
|
+
------------------------
|
|
14
|
+
|
|
15
|
+
MaxiCode is a fixed two-dimensional symbology specified by ISO/IEC 16023.
|
|
16
|
+
The standard text is copyrighted by its publisher and is not reproduced or
|
|
17
|
+
redistributed here. The implementation uses the published symbol geometry,
|
|
18
|
+
codeword rules, modes 2–5 and error-correction behavior as engineering input.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
PATENT AND TRADEMARK STATUS
|
|
22
|
+
---------------------------
|
|
23
|
+
|
|
24
|
+
Historical MaxiCode patent families, licensing declarations and current
|
|
25
|
+
trademark ownership require a jurisdiction-specific review. This project
|
|
26
|
+
makes no unconditional patent-free, public-domain or endorsement claim.
|
|
27
|
+
“MaxiCode” is used descriptively to identify the symbology and does not imply
|
|
28
|
+
certification by, or affiliation with, its standards body or mark owner.
|
|
29
|
+
[LEGAL REVIEW]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
IMPLEMENTATION BASIS
|
|
33
|
+
--------------------
|
|
34
|
+
|
|
35
|
+
The fixed 30×33 module placement, finder/orientation handling, Modes 2–5
|
|
36
|
+
primary and secondary data paths, ISO-8859-1 Code Sets A–E and Reed–Solomon
|
|
37
|
+
correction are original Sythos TypeScript code with generated JavaScript
|
|
38
|
+
runtime files. No source code, lookup table or binary asset from a third-party
|
|
39
|
+
barcode implementation is copied into or shipped by this project.
|
|
40
|
+
|
|
41
|
+
Independent implementations and public technical material may be consulted
|
|
42
|
+
only for engineering review and black-box interoperability checks. Those tools
|
|
43
|
+
are not runtime dependencies and their source, tables and licenses are not
|
|
44
|
+
part of this distribution. The clean detector intentionally handles one
|
|
45
|
+
prominent 30×33 symbol and does not claim arbitrary perspective, severe
|
|
46
|
+
occlusion or multi-symbol scene support.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
CONCLUSION
|
|
50
|
+
----------
|
|
51
|
+
|
|
52
|
+
The original Sythos MaxiCode implementation is distributed under the MIT
|
|
53
|
+
License. This engineering note is not a conformance certificate, patent
|
|
54
|
+
clearance or legal opinion. Any concern about use of the available materials
|
|
55
|
+
or a conflicting rights notice should be reported through a GitHub issue so it
|
|
56
|
+
can be reviewed and recorded.
|
|
57
|
+
|
|
58
|
+
References relied upon:
|
|
59
|
+
|
|
60
|
+
- ISO/IEC 16023, MaxiCode bar code symbology specification
|
|
61
|
+
- Public MaxiCode technical descriptions consulted for implementation review
|
|
62
|
+
- Independent black-box validation recorded in NOTICE.md
|