@sythos/js_barcode_universal 1.1.0 → 1.3.1
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 +24 -18
- package/NOTICE.md +27 -22
- package/README.md +596 -460
- package/bundle/sythos-barcode.esm.js +4606 -228
- package/bundle/sythos-barcode.js +4586 -228
- package/examples/create.html +1011 -731
- package/licenses/README.md +23 -18
- package/licenses/aztec-code.license +9 -7
- package/licenses/codabar.license +16 -13
- package/licenses/code-11.license +11 -9
- package/licenses/code-128.license +8 -6
- package/licenses/code-39.license +8 -6
- package/licenses/code-93.license +13 -11
- package/licenses/data-matrix.license +11 -9
- package/licenses/ean-13.license +7 -5
- package/licenses/ean-8.license +7 -5
- package/licenses/frameqr.license +84 -0
- package/licenses/gs1-128.license +7 -5
- package/licenses/isbn.license +8 -6
- package/licenses/itf-14.license +7 -5
- package/licenses/itf.license +7 -5
- package/licenses/micro-qr.license +79 -0
- package/licenses/micropdf417.license +81 -0
- package/licenses/msi-plessey.license +12 -10
- package/licenses/pdf417.license +78 -0
- package/licenses/pharmacode.license +13 -11
- package/licenses/qr-code.license +7 -5
- package/licenses/rmqr.license +79 -0
- package/licenses/upc-a.license +9 -7
- package/licenses/upc-e.license +7 -5
- package/package.json +104 -88
- package/src/core/reed-solomon.js +326 -312
- package/src/datamatrix/decoder.js +262 -262
- package/src/datamatrix/detector.js +225 -225
- package/src/datamatrix/encoder.js +191 -191
- package/src/datamatrix/index.js +42 -42
- package/src/datamatrix/tables.js +123 -123
- package/src/frameqr/decoder.js +239 -0
- package/src/frameqr/detector.js +192 -0
- package/src/frameqr/encoder.js +156 -0
- package/src/frameqr/index.js +42 -0
- package/src/frameqr/tables.js +270 -0
- package/src/index.js +166 -3
- package/src/micropdf417/compaction.js +116 -0
- package/src/micropdf417/decoder.js +183 -0
- package/src/micropdf417/detector.js +149 -0
- package/src/micropdf417/encoder.js +209 -0
- package/src/micropdf417/error-correction.js +55 -0
- package/src/micropdf417/index.js +49 -0
- package/src/micropdf417/tables.js +184 -0
- package/src/microqr/decoder.js +245 -0
- package/src/microqr/detector.js +355 -0
- package/src/microqr/encoder.js +269 -0
- package/src/microqr/index.js +36 -0
- package/src/microqr/tables.js +316 -0
- package/src/oned/index.js +59 -59
- package/src/pdf417/compaction.js +298 -0
- package/src/pdf417/decoder.js +75 -0
- package/src/pdf417/detector.js +468 -0
- package/src/pdf417/encoder.js +91 -0
- package/src/pdf417/error-correction.js +47 -0
- package/src/pdf417/index.js +6 -0
- package/src/pdf417/tables.js +317 -0
- package/src/rmqr/decoder.js +101 -0
- package/src/rmqr/detector.js +90 -0
- package/src/rmqr/encoder.js +172 -0
- package/src/rmqr/index.js +37 -0
- package/src/rmqr/tables.js +154 -0
package/LICENSE
CHANGED
|
@@ -31,17 +31,18 @@ READ THIS FIRST
|
|
|
31
31
|
**Nothing in this appendix applies to, encumbers, or imposes any obligation on
|
|
32
32
|
the software distributed under the MIT License above.**
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
The implementation and integration work in this package is original work by
|
|
35
|
+
Sythos. It has ZERO runtime dependencies. No third-party barcode source code
|
|
36
|
+
is copied into or shipped by the distributed artifact. Public or normative
|
|
37
|
+
format values may be represented in original Sythos data structures with
|
|
38
|
+
provenance and legal-review status recorded where required.
|
|
38
39
|
|
|
39
40
|
This appendix exists only because barcode symbologies carry a history of
|
|
40
41
|
specification copyrights, expired patents and live trademarks, and it is useful
|
|
41
42
|
to have that history inventoried in one place. It is an ENGINEERING INVENTORY,
|
|
42
|
-
NOT LEGAL ADVICE.
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
NOT LEGAL ADVICE. Scoped review labels identify items that need current legal or
|
|
44
|
+
registry confirmation. If your use case is commercially sensitive, consult a
|
|
45
|
+
qualified attorney.
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
1. THE DISTRIBUTED PACKAGE
|
|
@@ -53,7 +54,7 @@ use case is commercially sensitive, consult a qualified attorney.
|
|
|
53
54
|
Effective license ............... MIT, in full, as stated above
|
|
54
55
|
|
|
55
56
|
|
|
56
|
-
2. DEVELOPMENT-TIME TOOLS (NOT DISTRIBUTED
|
|
57
|
+
2. DEVELOPMENT-TIME TOOLS (NOT DISTRIBUTED OR LINKED)
|
|
57
58
|
-------------------------------------------------------------------
|
|
58
59
|
|
|
59
60
|
Tool License Role
|
|
@@ -64,16 +65,14 @@ use case is commercially sensitive, consult a qualified attorney.
|
|
|
64
65
|
|
|
65
66
|
THE PROJECT RULE, STATED PRECISELY:
|
|
66
67
|
|
|
67
|
-
These tools may be
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
These tools and public technical materials may be consulted during
|
|
69
|
+
implementation or testing. No third-party barcode source code is copied
|
|
70
|
+
into this project's output.
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
the opposite of source copying — it is how originality is PROVEN rather than
|
|
76
|
-
merely asserted.
|
|
72
|
+
Their outputs may be compared against ours as testing evidence. Public or
|
|
73
|
+
normative values are represented in original Sythos structures with provenance
|
|
74
|
+
and legal review where required. None of this is a legal conclusion about
|
|
75
|
+
derivative works or license obligations.
|
|
77
76
|
|
|
78
77
|
typescript (tsc) is not a barcode library and carries no symbology logic at
|
|
79
78
|
all. It is an optional generator: it reads the JSDoc annotations already
|
|
@@ -136,6 +135,9 @@ INDEPENDENTLY VERIFIED BY THE AUTHOR. Treat every entry as a research pointer.
|
|
|
136
135
|
rMQR DENSO WAVE standardised 2022 — MUCH NEWER; do NOT
|
|
137
136
|
assume the older QR position covers it
|
|
138
137
|
[TO VERIFY — PRIORITY]
|
|
138
|
+
DENSO FrameQR DENSO WAVE proprietary product; public
|
|
139
|
+
material is not a native implementation
|
|
140
|
+
[LEGAL REVIEW]
|
|
139
141
|
Data Matrix orig. RVSI/CiMatrix ECC200 reported released for
|
|
140
142
|
public use [TO VERIFY]
|
|
141
143
|
PDF417 orig. Symbol Tech. reported released for
|
|
@@ -167,6 +169,7 @@ names and presents itself.
|
|
|
167
169
|
----------------------- -----------------------------------
|
|
168
170
|
QR Code(R) DENSO WAVE INCORPORATED
|
|
169
171
|
Micro QR, rMQR DENSO WAVE INCORPORATED
|
|
172
|
+
FrameQR(R) DENSO WAVE INCORPORATED [LEGAL REVIEW]
|
|
170
173
|
Aztec Code originally Welch Allyn [TO VERIFY]
|
|
171
174
|
MaxiCode United Parcel Service of America
|
|
172
175
|
GS1, GS1 DataBar,
|
|
@@ -198,6 +201,9 @@ status too unclear to redistribute an implementation with confidence:
|
|
|
198
201
|
Bokode .................. research project, unclear status
|
|
199
202
|
Softstrip ............... obsolete, unclear status
|
|
200
203
|
Ultracode ............... status unresolved [TO VERIFY]
|
|
204
|
+
DENSO FrameQR ........... proprietary format; this project implements
|
|
205
|
+
only a separate Sythos Canvas QR profile
|
|
206
|
+
[LEGAL REVIEW]
|
|
201
207
|
|
|
202
208
|
If any of these is later confirmed to be freely implementable and
|
|
203
209
|
redistributable, it may move into scope — and this section must be updated in
|
|
@@ -212,4 +218,4 @@ change to the dependency set, the oracle tools, or the implemented format list
|
|
|
212
218
|
MUST update this file in the same commit. A "[TO VERIFY]" marker may only be
|
|
213
219
|
removed together with a citation recorded in NOTICE.md.
|
|
214
220
|
|
|
215
|
-
Last reviewed: 2026-08-
|
|
221
|
+
Last reviewed: 2026-08-13
|
package/NOTICE.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Origin of this code
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
The JavaScript implementation and integration work in this repository is
|
|
6
|
+
original work by Sythos. No third-party barcode source code is copied into or
|
|
7
|
+
shipped by this package. Public or normative format values may be represented
|
|
8
|
+
in original Sythos data structures, with provenance and legal-review status
|
|
9
|
+
recorded where required.
|
|
10
10
|
|
|
11
11
|
The symbologies are implemented from **published descriptions of the formats**
|
|
12
12
|
(which are systems and facts, not works of authorship) and from **constant
|
|
@@ -22,24 +22,23 @@ is derivable rather than arbitrary.
|
|
|
22
22
|
| Third-party licenses applying to the distributed package | **none** |
|
|
23
23
|
|
|
24
24
|
The `LICENSE` file carries the full MIT text plus an informational appendix
|
|
25
|
-
inventorying
|
|
26
|
-
surround these symbologies.
|
|
27
|
-
|
|
25
|
+
inventorying specification copyrights, patent history and trademarks that
|
|
26
|
+
surround these symbologies. The appendix is an engineering record, not legal
|
|
27
|
+
advice, and does not resolve obligations in every jurisdiction.
|
|
28
28
|
|
|
29
29
|
## Where other barcode libraries may and may not appear
|
|
30
30
|
|
|
31
|
-
The line is drawn at **invoke vs.
|
|
31
|
+
The line is drawn at **invoke vs. incorporate**:
|
|
32
32
|
|
|
33
33
|
| | |
|
|
34
34
|
|---|---|
|
|
35
35
|
| Running an independent implementation during **testing**, comparing its output to ours | **allowed** |
|
|
36
|
-
|
|
|
36
|
+
| Copying its source code into this project | **not done** |
|
|
37
|
+
| Consulting public technical material or an implementation during review | allowed with provenance |
|
|
37
38
|
|
|
38
|
-
Such outputs are facts about a published symbology
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
independently agrees with several unrelated ones, byte for byte, is evidently
|
|
42
|
-
correct and evidently not a copy of any of them.
|
|
39
|
+
Such outputs are facts about a published symbology. Comparing against them is a
|
|
40
|
+
testing activity; it does not place their code in the distributed package and
|
|
41
|
+
is not a legal conclusion about derivative works.
|
|
43
42
|
|
|
44
43
|
No third-party barcode code is a runtime dependency, and none of it ships in the
|
|
45
44
|
published package. See `LICENSE` §2.
|
|
@@ -69,7 +68,7 @@ worked example exists in the format's public documentation, its intermediate
|
|
|
69
68
|
values are checked — not copied code, just the arithmetic any correct
|
|
70
69
|
implementation must reproduce.
|
|
71
70
|
|
|
72
|
-
**4. The real world — the decisive test.** `examples/create.html` renders any
|
|
71
|
+
**4. The real world — the decisive test.** `git/examples/create.html` renders any
|
|
73
72
|
symbol to the screen; a phone camera or a supermarket scanner reads it or does
|
|
74
73
|
not. This is the strongest oracle available and the one that actually matters,
|
|
75
74
|
because it tests against the installed base of real scanners rather than
|
|
@@ -80,7 +79,8 @@ write.**
|
|
|
80
79
|
**5. Differential testing against independent implementations.** Random
|
|
81
80
|
payloads across every version and ECC level are encoded here and decoded by
|
|
82
81
|
several unrelated third-party barcode implementations — and vice versa. These
|
|
83
|
-
are invoked as black boxes
|
|
82
|
+
are invoked as black boxes; their source and tables are not shipped by this
|
|
83
|
+
project.
|
|
84
84
|
Agreement across implementations that share no lineage is strong evidence of
|
|
85
85
|
correctness; disagreement localises a bug immediately.
|
|
86
86
|
|
|
@@ -96,11 +96,16 @@ Records any constant table whose values were transcribed from a documented
|
|
|
96
96
|
source rather than generated by `tools/`. Each entry names the source and the
|
|
97
97
|
date of transcription.
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
| PDF417 pattern ordering | AIM USS-PDF417 public reference ([reference copy](https://www.expresscorp.com/uploads/specifications/44/USS-PDF-417.pdf)), Appendix H / Table H1, transcribed for `src/pdf417/tables.js`; accessed 2026-08-11. The reference copy is attributed here; its copyright and redistribution terms remain under legal review. |
|
|
100
|
+
| PDF417 black-box verification | ZXing Java 3.5.3 and bwip-js 4.5.1 were invoked as external black boxes on 2026-08-11 for bidirectional Text/Numeric/UTF-8 vectors. Their source and tables are not shipped. |
|
|
101
|
+
| PDF417 device evidence | User-provided 6/6 continuous-camera attestations on Pixel 10/Android 17/Chrome and iPhone 17/Safari, including printed Brother MFC-L2710DW symbols, low light/flash, blur and motion; recorded as user evidence, not independently captured by this repository. |
|
|
102
|
+
| MicroPDF417 technical and provenance review | [ISO/IEC 24728:2006](https://www.iso.org/standard/38838.html), [Wikipedia overview](https://en.wikipedia.org/wiki/MicroPDF417), [US 6,047,892 record](https://patents.google.com/patent/US6047892A/en) and its [direct PDF](https://patentimages.storage.googleapis.com/0a/79/f5/e8d374043414f3/US6047892.pdf) were consulted on 2026-08-11. ZXing-C++, Zint and bwip-js were consulted for implementation/review or black-box validation. No third-party source code is copied or shipped; normative/public values are represented in original Sythos data structures, with provenance and legal review pending. |
|
|
103
|
+
| Micro QR technical and interoperability review | ISO/IEC 18004 public technical material, DENSO WAVE's [Micro QR overview](https://www.qrcode.com/en/codes/microqr.html), Segno and ZXing-C++ were consulted on 2026-08-12 for format rules, fixture checks and black-box comparison. No third-party source code is copied or shipped; Micro QR values are represented in original Sythos structures. ECI, FNC1 and Structured Append are outside the current Micro QR API scope. Standard copyright, patent and trademark questions remain subject to legal review. |
|
|
104
|
+
| rMQR technical and interoperability review | ISO/IEC 23941:2022 public metadata, DENSO WAVE's [rMQR overview](https://www.denso-wave.com/en/adcd/fundamental/2dcode/qrc/rmqr.html), and ZXing-C++ were consulted on 2026-08-12 for the 32 geometry/ECC layouts and black-box checks. No third-party source code is copied or shipped; rMQR values are represented in original Sythos structures. Standard copyright, patent and trademark questions remain subject to legal review. |
|
|
105
|
+
| Frame QR / Sythos Canvas QR profile | DENSO WAVE's [FrameQR overview](https://www.qrcode.com/en/codes/frameqr.html), [product page](https://www.denso-wave.com/en/system/qr/product/frame.html) and [public announcement](https://www.denso-wave.com/en/adcd/info/detail__272.html) were consulted on 2026-08-13. The public material is used only to document the proprietary-format boundary; the distributed implementation is the separate non-certified `sythos-canvas-qr/1` profile. ZXing Java 3.5.3 was used only as an independent black-box runtime check: QR Model 2 control passed, `FRAME_QR` native capability was unavailable, and the profile was decoded as ordinary QR. No ZXing source code or tables are copied or shipped; native DENSO interoperability is not claimed. |
|
|
101
106
|
|
|
102
107
|
## Verification log
|
|
103
108
|
|
|
104
|
-
Records
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
Records the scoped review labels used by the inventory. Current labels include
|
|
110
|
+
`[VERIFIED FACT]`, `[REGISTRY CHECK REQUIRED]`, `[PATENT FAMILY REVIEW REQUIRED]`,
|
|
111
|
+
`[LICENSE TERMS REVIEW REQUIRED]` and `[LEGAL REVIEW]`.
|