1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-01-12 22:46:03 +00:00

- Add new symbologies BARCODE_EAN8, BARCODE_EAN_2ADDON,

`BARCODE_EAN_5ADDON`, `BARCODE_EAN13`, `BARCODE_EAN8_CC` and
  `BARCODE_EAN13_CC` as replacements for `BARCODE_EANX`,
  `BARCODE_EANX_CHK` and `BARCODE_EANX_CC` and use in CLI/GUI
  (`BARCODE_EANX` etc. marked as legacy)
- For EAN/UPC accept space as alternative add-on separator to '+',
  and accept GTIN-13 format with & without 2-digit or 5-digit
  add-on (no separator)
- Buffer length of member `errtxt` in `zint_symbol` extended 100
  -> 160 (will be sufficient for eventual translation and
  gs1-syntax-dictionary errors hopefully)
- UPC-E: warn if first digit of 7 (or 8 if check digit given) not
  '0' or '1'
- manual: update for new EAN symbologies and mention EANX now
  legacy but still supported
This commit is contained in:
gitlost
2025-04-16 22:26:43 +01:00
parent 9265abd9e1
commit 3592edd64e
51 changed files with 6995 additions and 4949 deletions

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

21
docs/images/ean13_2.svg Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="552" height="313" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="552" height="313" fill="#FFFFFF"/>
<path d="M44 0h4v296.97h-4ZM52 0h4v296.97h-4ZM60 0h8v276.97h-8ZM80 0h4v276.97h-4ZM88 0h8v276.97h-8ZM104 0h8v276.97h-8ZM120 0h4v276.97h-4ZM132 0h8v276.97h-8ZM144 0h16v276.97h-16ZM164 0h4v276.97h-4ZM176 0h12v276.97h-12ZM192 0h4v276.97h-4ZM200 0h12v276.97h-12ZM220 0h4v276.97h-4ZM228 0h4v296.97h-4ZM236 0h4v296.97h-4ZM244 0h4v276.97h-4ZM252 0h4v276.97h-4ZM272 0h4v276.97h-4ZM288 0h4v276.97h-4ZM300 0h4v276.97h-4ZM312 0h4v276.97h-4ZM328 0h12v276.97h-12ZM344 0h4v276.97h-4ZM356 0h12v276.97h-12ZM376 0h4v276.97h-4ZM384 0h4v276.97h-4ZM392 0h4v276.97h-4ZM412 0h4v296.97h-4ZM420 0h4v296.97h-4ZM452 36h4v260.97h-4ZM460 36h8v260.97h-8ZM476 36h4v260.97h-4ZM488 36h8v260.97h-8ZM500 36h4v260.97h-4ZM508 36h8v260.97h-8ZM524 36h8v260.97h-8Z"/>
<text x="24.4" y="311.37" text-anchor="end" font-family="OCRB, monospace" font-size="40">
4
</text>
<text x="142" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
512345
</text>
<text x="326" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
678906
</text>
<text x="492" y="31.2" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
21
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="452" height="313" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="452" height="313" fill="#FFFFFF"/>
<path d="M44 0h4v286.97h-4ZM52 0h4v286.97h-4ZM60 0h8v276.97h-8ZM80 0h4v276.97h-4ZM88 0h8v276.97h-8ZM104 0h8v276.97h-8ZM120 0h4v276.97h-4ZM132 0h8v276.97h-8ZM144 0h16v276.97h-16ZM164 0h4v276.97h-4ZM176 0h12v276.97h-12ZM192 0h4v276.97h-4ZM200 0h12v276.97h-12ZM220 0h4v276.97h-4ZM228 0h4v286.97h-4ZM236 0h4v286.97h-4ZM244 0h4v276.97h-4ZM252 0h4v276.97h-4ZM272 0h4v276.97h-4ZM288 0h4v276.97h-4ZM300 0h4v276.97h-4ZM312 0h4v276.97h-4ZM328 0h12v276.97h-12ZM344 0h4v276.97h-4ZM356 0h12v276.97h-12ZM376 0h4v276.97h-4ZM384 0h4v276.97h-4ZM392 0h4v276.97h-4ZM412 0h4v286.97h-4ZM420 0h4v286.97h-4Z"/>
<text x="24.4" y="311.37" text-anchor="end" font-family="OCRB, monospace" font-size="40">
4
</text>
<text x="142" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
512345
</text>
<text x="326" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
678906
</text>
<text x="454" y="311.37" text-anchor="end" font-family="OCRB, monospace" font-size="40">
&gt;
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,18 +1,15 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="532" height="257" version="1.1" xmlns="http://www.w3.org/2000/svg">
<svg width="324" height="257" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="532" height="257" fill="#FFFFFF"/>
<path d="M28 0h4v240.97h-4ZM36 0h4v240.97h-4ZM44 0h12v220.97h-12ZM60 0h8v220.97h-8ZM72 0h4v220.97h-4ZM88 0h8v220.97h-8ZM100 0h16v220.97h-16ZM120 0h4v220.97h-4ZM132 0h4v220.97h-4ZM144 0h8v220.97h-8ZM156 0h4v240.97h-4ZM164 0h4v240.97h-4ZM172 0h4v220.97h-4ZM192 0h4v220.97h-4ZM200 0h4v220.97h-4ZM208 0h4v220.97h-4ZM228 0h4v220.97h-4ZM240 0h12v220.97h-12ZM256 0h4v220.97h-4ZM264 0h12v220.97h-12ZM284 0h4v240.97h-4ZM292 0h4v240.97h-4ZM324 36h4v204.97h-4ZM332 36h8v204.97h-8ZM344 36h12v204.97h-12ZM364 36h4v204.97h-4ZM372 36h4v204.97h-4ZM380 36h4v204.97h-4ZM396 36h8v204.97h-8ZM408 36h4v204.97h-4ZM416 36h4v204.97h-4ZM436 36h4v204.97h-4ZM444 36h4v204.97h-4ZM456 36h4v204.97h-4ZM468 36h8v204.97h-8ZM480 36h4v204.97h-4ZM492 36h8v204.97h-8ZM508 36h4v204.97h-4Z"/>
<rect x="0" y="0" width="324" height="257" fill="#FFFFFF"/>
<path d="M28 0h4v240.97h-4ZM36 0h4v240.97h-4ZM44 0h12v220.97h-12ZM60 0h8v220.97h-8ZM72 0h4v220.97h-4ZM88 0h8v220.97h-8ZM100 0h16v220.97h-16ZM120 0h4v220.97h-4ZM132 0h4v220.97h-4ZM144 0h8v220.97h-8ZM156 0h4v240.97h-4ZM164 0h4v240.97h-4ZM172 0h4v220.97h-4ZM192 0h4v220.97h-4ZM200 0h4v220.97h-4ZM208 0h4v220.97h-4ZM228 0h4v220.97h-4ZM240 0h12v220.97h-12ZM256 0h4v220.97h-4ZM264 0h12v220.97h-12ZM284 0h4v240.97h-4ZM292 0h4v240.97h-4Z"/>
<text x="98" y="255.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
7432
</text>
<text x="226" y="255.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
3654
</text>
<text x="420" y="31.2" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
54321
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1019 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="302" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="100" height="302" fill="#FFFFFF"/>
<path d="M0 36h4v265.45h-4ZM8 36h8v265.45h-8ZM24 36h8v265.45h-8ZM40 36h4v265.45h-4ZM48 36h4v265.45h-4ZM60 36h4v265.45h-4ZM72 36h8v265.45h-8Z"/>
<text x="40" y="31.2" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
12
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 614 B

View File

@@ -8,5 +8,8 @@
<text x="94" y="31.2" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
54321
</text>
<text x="210" y="31.2" text-anchor="end" font-family="OCRB, monospace" font-size="40">
&gt;
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 797 B

After

Width:  |  Height:  |  Size: 904 B

View File

@@ -4,15 +4,15 @@
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="268" height="313" fill="#FFFFFF"/>
<path d="M36 0h4v296.97h-4ZM44 0h4v296.97h-4ZM56 0h8v276.97h-8ZM72 0h4v276.97h-4ZM84 0h4v276.97h-4ZM96 0h8v276.97h-8ZM108 0h4v276.97h-4ZM128 0h4v276.97h-4ZM140 0h12v276.97h-12ZM156 0h4v276.97h-4ZM164 0h8v276.97h-8ZM184 0h4v276.97h-4ZM204 0h4v276.97h-4ZM212 0h4v276.97h-4ZM220 0h4v296.97h-4ZM228 0h4v296.97h-4ZM236 0h4v296.97h-4Z"/>
<path d="M36 0h4v296.97h-4ZM44 0h4v296.97h-4ZM52 0h8v276.97h-8ZM68 0h8v276.97h-8ZM84 0h4v276.97h-4ZM96 0h8v276.97h-8ZM108 0h16v276.97h-16ZM128 0h4v276.97h-4ZM140 0h12v276.97h-12ZM156 0h4v276.97h-4ZM164 0h12v276.97h-12ZM184 0h4v276.97h-4ZM192 0h4v276.97h-4ZM200 0h16v276.97h-16ZM220 0h4v296.97h-4ZM228 0h4v296.97h-4ZM236 0h4v296.97h-4Z"/>
<text x="17.4" y="311.37" text-anchor="end" font-family="OCRB, monospace" font-size="28">
1
0
</text>
<text x="134" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
123456
</text>
<text x="246.6" y="311.37" text-anchor="start" font-family="OCRB, monospace" font-size="28">
2
5
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -4,15 +4,15 @@
<desc>Zint Generated Symbol</desc>
<g id="barcode" fill="#000000">
<rect x="0" y="0" width="368" height="313" fill="#FFFFFF"/>
<path d="M36 0h4v296.97h-4ZM44 0h4v296.97h-4ZM56 0h8v276.97h-8ZM72 0h4v276.97h-4ZM84 0h4v276.97h-4ZM96 0h8v276.97h-8ZM108 0h4v276.97h-4ZM128 0h4v276.97h-4ZM140 0h12v276.97h-12ZM156 0h4v276.97h-4ZM164 0h8v276.97h-8ZM184 0h4v276.97h-4ZM204 0h4v276.97h-4ZM212 0h4v276.97h-4ZM220 0h4v296.97h-4ZM228 0h4v296.97h-4ZM236 0h4v296.97h-4ZM268 36h4v260.97h-4ZM276 36h8v260.97h-8ZM292 36h8v260.97h-8ZM308 36h4v260.97h-4ZM316 36h4v260.97h-4ZM328 36h4v260.97h-4ZM340 36h8v260.97h-8Z"/>
<path d="M36 0h4v296.97h-4ZM44 0h4v296.97h-4ZM52 0h8v276.97h-8ZM68 0h8v276.97h-8ZM84 0h4v276.97h-4ZM96 0h8v276.97h-8ZM108 0h16v276.97h-16ZM128 0h4v276.97h-4ZM140 0h12v276.97h-12ZM156 0h4v276.97h-4ZM164 0h12v276.97h-12ZM184 0h4v276.97h-4ZM192 0h4v276.97h-4ZM200 0h16v276.97h-16ZM220 0h4v296.97h-4ZM228 0h4v296.97h-4ZM236 0h4v296.97h-4ZM268 36h4v260.97h-4ZM276 36h8v260.97h-8ZM292 36h8v260.97h-8ZM308 36h4v260.97h-4ZM316 36h4v260.97h-4ZM328 36h4v260.97h-4ZM340 36h8v260.97h-8Z"/>
<text x="17.4" y="311.37" text-anchor="end" font-family="OCRB, monospace" font-size="28">
1
0
</text>
<text x="134" y="311.37" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
123456
</text>
<text x="246.6" y="311.37" text-anchor="start" font-family="OCRB, monospace" font-size="28">
2
5
</text>
<text x="308" y="31.2" text-anchor="middle" font-family="OCRB, monospace" font-size="40">
12

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB