@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.
Files changed (137) hide show
  1. package/LICENSE +22 -4
  2. package/NOTICE.md +10 -1
  3. package/README.md +416 -22
  4. package/bundle/sythos-barcode.esm.js +22176 -11991
  5. package/bundle/sythos-barcode.js +22059 -11991
  6. package/licenses/README.md +12 -1
  7. package/licenses/codablockf.license +51 -0
  8. package/licenses/code16k.license +52 -0
  9. package/licenses/code25.license +58 -0
  10. package/licenses/code32.license +51 -0
  11. package/licenses/dotcode.license +66 -0
  12. package/licenses/gs1-composite.license +106 -0
  13. package/licenses/gs1-databar.license +21 -14
  14. package/licenses/hanxin.license +95 -0
  15. package/licenses/maxicode.license +62 -0
  16. package/licenses/postal.license +61 -0
  17. package/licenses/pzn.license +53 -0
  18. package/licenses/telepen.license +73 -0
  19. package/llms.txt +62 -6
  20. package/package.json +47 -3
  21. package/src/index.d.ts +111 -6
  22. package/src/index.js +362 -13
  23. package/src/js/codablockf/decoder.js +198 -0
  24. package/src/js/codablockf/encoder.js +97 -0
  25. package/src/js/codablockf/index.js +3 -0
  26. package/src/js/code16k/decoder.js +303 -0
  27. package/src/js/code16k/detector.js +187 -0
  28. package/src/js/code16k/encoder.js +153 -0
  29. package/src/js/code16k/index.js +14 -0
  30. package/src/js/code16k/tables.js +152 -0
  31. package/src/js/composite/index.js +570 -0
  32. package/src/js/core/detection-contract.js +185 -0
  33. package/src/js/core/symbol-layout.js +155 -0
  34. package/src/js/databar/expanded.js +968 -0
  35. package/src/js/databar/index.js +4 -0
  36. package/src/js/databar/layout.js +192 -0
  37. package/src/js/databar/limited.js +533 -0
  38. package/src/js/databar/stacked-omnidirectional.js +548 -0
  39. package/src/js/databar/stacked.js +528 -0
  40. package/src/js/dotcode/decoder.js +548 -0
  41. package/src/js/dotcode/detector.js +251 -0
  42. package/src/js/dotcode/encoder.js +453 -0
  43. package/src/js/dotcode/index.js +34 -0
  44. package/src/js/dotcode/tables.js +168 -0
  45. package/src/js/hanxin/decoder.js +299 -0
  46. package/src/js/hanxin/detector.js +122 -0
  47. package/src/js/hanxin/encoder.js +259 -0
  48. package/src/js/hanxin/index.js +16 -0
  49. package/src/js/hanxin/tables.js +316 -0
  50. package/src/js/image/height-coded.js +164 -0
  51. package/src/js/maxicode/decoder.js +275 -0
  52. package/src/js/maxicode/detector.js +118 -0
  53. package/src/js/maxicode/encoder.js +438 -0
  54. package/src/js/maxicode/index.js +34 -0
  55. package/src/js/maxicode/tables.js +132 -0
  56. package/src/js/oned/code25.js +148 -0
  57. package/src/js/oned/index.js +21 -3
  58. package/src/js/oned/postal.js +889 -0
  59. package/src/js/oned/reader.js +272 -7
  60. package/src/js/oned/telepen.js +361 -0
  61. package/src/js/oned/writers.js +186 -12
  62. package/src/js/stacked128/common.js +208 -0
  63. package/src/ts/codablockf/decoder.ts +212 -0
  64. package/src/ts/codablockf/encoder.ts +128 -0
  65. package/src/ts/codablockf/index.d.ts +31 -0
  66. package/src/ts/codablockf/index.ts +6 -0
  67. package/src/ts/code16k/decoder.d.ts +25 -0
  68. package/src/ts/code16k/decoder.ts +313 -0
  69. package/src/ts/code16k/detector.d.ts +21 -0
  70. package/src/ts/code16k/detector.ts +203 -0
  71. package/src/ts/code16k/encoder.d.ts +26 -0
  72. package/src/ts/code16k/encoder.ts +198 -0
  73. package/src/ts/code16k/index.d.ts +10 -0
  74. package/src/ts/code16k/index.ts +47 -0
  75. package/src/ts/code16k/tables.d.ts +54 -0
  76. package/src/ts/code16k/tables.ts +195 -0
  77. package/src/ts/composite/index.d.ts +74 -0
  78. package/src/ts/composite/index.ts +547 -0
  79. package/src/ts/core/detection-contract.d.ts +119 -0
  80. package/src/ts/core/detection-contract.ts +267 -0
  81. package/src/ts/core/symbol-layout.d.ts +108 -0
  82. package/src/ts/core/symbol-layout.ts +236 -0
  83. package/src/ts/databar/expanded.d.ts +40 -0
  84. package/src/ts/databar/expanded.ts +948 -0
  85. package/src/ts/databar/index.d.ts +48 -0
  86. package/src/ts/databar/index.ts +48 -0
  87. package/src/ts/databar/layout.d.ts +122 -0
  88. package/src/ts/databar/layout.ts +275 -0
  89. package/src/ts/databar/limited.d.ts +85 -0
  90. package/src/ts/databar/limited.ts +553 -0
  91. package/src/ts/databar/stacked-omnidirectional.d.ts +128 -0
  92. package/src/ts/databar/stacked-omnidirectional.ts +559 -0
  93. package/src/ts/databar/stacked.d.ts +96 -0
  94. package/src/ts/databar/stacked.ts +549 -0
  95. package/src/ts/dotcode/decoder.d.ts +58 -0
  96. package/src/ts/dotcode/decoder.ts +467 -0
  97. package/src/ts/dotcode/detector.d.ts +63 -0
  98. package/src/ts/dotcode/detector.ts +263 -0
  99. package/src/ts/dotcode/encoder.d.ts +69 -0
  100. package/src/ts/dotcode/encoder.ts +427 -0
  101. package/src/ts/dotcode/index.d.ts +37 -0
  102. package/src/ts/dotcode/index.ts +72 -0
  103. package/src/ts/dotcode/tables.d.ts +74 -0
  104. package/src/ts/dotcode/tables.ts +174 -0
  105. package/src/ts/hanxin/decoder.d.ts +48 -0
  106. package/src/ts/hanxin/decoder.ts +314 -0
  107. package/src/ts/hanxin/detector.d.ts +45 -0
  108. package/src/ts/hanxin/detector.ts +124 -0
  109. package/src/ts/hanxin/encoder.d.ts +41 -0
  110. package/src/ts/hanxin/encoder.ts +290 -0
  111. package/src/ts/hanxin/index.d.ts +16 -0
  112. package/src/ts/hanxin/index.ts +18 -0
  113. package/src/ts/hanxin/tables.d.ts +80 -0
  114. package/src/ts/hanxin/tables.ts +348 -0
  115. package/src/ts/image/height-coded.d.ts +101 -0
  116. package/src/ts/image/height-coded.ts +227 -0
  117. package/src/ts/index.d.ts +46 -2
  118. package/src/ts/index.ts +380 -13
  119. package/src/ts/maxicode/decoder.ts +265 -0
  120. package/src/ts/maxicode/detector.ts +109 -0
  121. package/src/ts/maxicode/encoder.ts +414 -0
  122. package/src/ts/maxicode/index.d.ts +96 -0
  123. package/src/ts/maxicode/index.ts +44 -0
  124. package/src/ts/maxicode/tables.ts +136 -0
  125. package/src/ts/oned/code25.d.ts +42 -0
  126. package/src/ts/oned/code25.ts +170 -0
  127. package/src/ts/oned/index.d.ts +7 -2
  128. package/src/ts/oned/index.ts +45 -3
  129. package/src/ts/oned/postal.d.ts +44 -0
  130. package/src/ts/oned/postal.ts +819 -0
  131. package/src/ts/oned/reader.d.ts +35 -0
  132. package/src/ts/oned/reader.ts +261 -7
  133. package/src/ts/oned/telepen.d.ts +65 -0
  134. package/src/ts/oned/telepen.ts +368 -0
  135. package/src/ts/oned/writers.d.ts +32 -0
  136. package/src/ts/oned/writers.ts +184 -13
  137. package/src/ts/stacked128/common.ts +225 -0
@@ -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 Omnidirectional / Truncated — format provenance and usability
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 and
17
- Truncated pattern readers and writers; other physical variants remain
18
- outside the package scope.
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 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.
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 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.
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