raster/vector: EAN/UPC: fix calculation of image/vector height to
allow for heights smaller than `textoffset` when have add-on (buffer overflow for raster, outside vector height for vector) raster: EAN/UPC: make sure don't overwrite add-on stuff when line-copying guard descenders by limiting copy width ZBarcode_Encode_Segs: allow for multiple (stacked) rows when setting absolute minimum height; state stacked symbols max in error message DBAR_EXP: check length on encoding method 6 before trying to parse 3-digit currency string with `z_to_int()` CLI: stop looping over data args when have error; suppress taint warning by using fixed `malloc()` size for `arg_opts` instead of `argc` general: use `vsnprintf()` instead of `vsprintf()` if not C89 ULTRACODE: don't call `ult_generate_codewords()` if `length` 0 from fragment processing (avoids `assert()`) clang-tidy -> 23 & suppress some warnings test suite: fuzz: leave Z_FUZZ_DEBUG to compiler, fix comment general: some minor code-formatting on touched files README.deb -> README.debian (avoid confusion with actual ".deb") BWIPP: update to latest
BIN
backend/tests/data/png/ean8_2addon_h1.png
Normal file
|
After Width: | Height: | Size: 260 B |
BIN
backend/tests/data/png/ean8_2addon_h1_notext.png
Normal file
|
After Width: | Height: | Size: 122 B |
BIN
backend/tests/data/png/upca_2addon_h1.png
Normal file
|
After Width: | Height: | Size: 399 B |
BIN
backend/tests/data/png/upca_2addon_h1_notext.png
Normal file
|
After Width: | Height: | Size: 134 B |
BIN
backend/tests/data/png/upce_cc_2addon_h3.png
Normal file
|
After Width: | Height: | Size: 390 B |
BIN
backend/tests/data/png/upce_cc_2addon_h3_notext.png
Normal file
|
After Width: | Height: | Size: 194 B |
18
backend/tests/data/svg/ean8_2addon_h1.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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="188" height="20" 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="188" height="20" fill="#FFFFFF"/>
|
||||
<path d="M0 0h2v12h-2ZM4 0h2v12h-2ZM12 0h4v2h-4ZM18 0h2v2h-2ZM26 0h4v2h-4ZM32 0h2v2h-2ZM40 0h4v2h-4ZM46 0h2v2h-2ZM54 0h4v2h-4ZM60 0h2v2h-2ZM64 0h2v12h-2ZM68 0h2v12h-2ZM72 0h6v2h-6ZM82 0h2v2h-2ZM86 0h6v2h-6ZM96 0h2v2h-2ZM100 0h6v2h-6ZM110 0h2v2h-2ZM114 0h6v2h-6ZM124 0h2v2h-2ZM128 0h2v12h-2ZM132 0h2v12h-2ZM148 18h2v2h-2ZM152 18h4v2h-4ZM160 18h4v2h-4ZM168 18h2v2h-2ZM172 18h2v2h-2ZM176 18h2v2h-2ZM180 18h8v2h-8Z"/>
|
||||
<text x="35" y="19.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
0000
|
||||
</text>
|
||||
<text x="99" y="19.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
0000
|
||||
</text>
|
||||
<text x="168" y="15.6" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
16
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
9
backend/tests/data/svg/ean8_2addon_h1_notext.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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="188" height="20" 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="188" height="20" fill="#FFFFFF"/>
|
||||
<path d="M0 0h2v12h-2ZM4 0h2v12h-2ZM12 0h4v2h-4ZM18 0h2v2h-2ZM26 0h4v2h-4ZM32 0h2v2h-2ZM40 0h4v2h-4ZM46 0h2v2h-2ZM54 0h4v2h-4ZM60 0h2v2h-2ZM64 0h2v12h-2ZM68 0h2v12h-2ZM72 0h6v2h-6ZM82 0h2v2h-2ZM86 0h6v2h-6ZM96 0h2v2h-2ZM100 0h6v2h-6ZM110 0h2v2h-2ZM114 0h6v2h-6ZM124 0h2v2h-2ZM128 0h2v12h-2ZM132 0h2v12h-2ZM148 18h2v2h-2ZM152 18h4v2h-4ZM160 18h4v2h-4ZM168 18h2v2h-2ZM172 18h2v2h-2ZM176 18h2v2h-2ZM180 18h8v2h-8Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 775 B |
24
backend/tests/data/svg/upca_2addon_h1.svg
Normal file
@@ -0,0 +1,24 @@
|
||||
<?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="266" height="20" 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="266" height="20" fill="#FFFFFF"/>
|
||||
<path d="M18 0h2v12h-2ZM22 0h2v12h-2ZM30 0h4v12h-4ZM36 0h2v12h-2ZM42 0h4v2h-4ZM50 0h2v2h-2ZM56 0h2v2h-2ZM62 0h4v2h-4ZM68 0h8v2h-8ZM78 0h2v2h-2ZM82 0h2v2h-2ZM90 0h4v2h-4ZM96 0h4v2h-4ZM106 0h2v2h-2ZM110 0h2v12h-2ZM114 0h2v12h-2ZM118 0h2v2h-2ZM122 0h2v2h-2ZM132 0h2v2h-2ZM140 0h2v2h-2ZM146 0h2v2h-2ZM152 0h2v2h-2ZM160 0h6v2h-6ZM168 0h2v2h-2ZM174 0h6v2h-6ZM184 0h2v2h-2ZM188 0h2v12h-2ZM194 0h6v12h-6ZM202 0h2v12h-2ZM206 0h2v12h-2ZM226 18h2v2h-2ZM230 18h4v2h-4ZM238 18h2v2h-2ZM244 18h4v2h-4ZM250 18h2v2h-2ZM254 18h2v2h-2ZM262 18h4v2h-4Z"/>
|
||||
<text x="8.7" y="19.2" text-anchor="end" font-family="OCRB, monospace" font-size="14">
|
||||
0
|
||||
</text>
|
||||
<text x="74" y="19.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
12345
|
||||
</text>
|
||||
<text x="152" y="19.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
67890
|
||||
</text>
|
||||
<text x="215.3" y="19.2" text-anchor="start" font-family="OCRB, monospace" font-size="14">
|
||||
5
|
||||
</text>
|
||||
<text x="246" y="15.6" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
24
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
9
backend/tests/data/svg/upca_2addon_h1_notext.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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="248" height="20" 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="248" height="20" fill="#FFFFFF"/>
|
||||
<path d="M0 0h2v12h-2ZM4 0h2v12h-2ZM12 0h4v12h-4ZM18 0h2v12h-2ZM24 0h4v2h-4ZM32 0h2v2h-2ZM38 0h2v2h-2ZM44 0h4v2h-4ZM50 0h8v2h-8ZM60 0h2v2h-2ZM64 0h2v2h-2ZM72 0h4v2h-4ZM78 0h4v2h-4ZM88 0h2v2h-2ZM92 0h2v12h-2ZM96 0h2v12h-2ZM100 0h2v2h-2ZM104 0h2v2h-2ZM114 0h2v2h-2ZM122 0h2v2h-2ZM128 0h2v2h-2ZM134 0h2v2h-2ZM142 0h6v2h-6ZM150 0h2v2h-2ZM156 0h6v2h-6ZM166 0h2v2h-2ZM170 0h2v12h-2ZM176 0h6v12h-6ZM184 0h2v12h-2ZM188 0h2v12h-2ZM208 18h2v2h-2ZM212 18h4v2h-4ZM220 18h2v2h-2ZM226 18h4v2h-4ZM232 18h2v2h-2ZM236 18h2v2h-2ZM244 18h4v2h-4Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 891 B |
21
backend/tests/data/svg/upce_cc_2addon_h3.svg
Normal 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="184" height="52" 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="184" height="52" fill="#FFFFFF"/>
|
||||
<path d="M12 0h4v20h-4ZM18 0h4v16h-4ZM26 0h4v4h-4ZM32 0h8v4h-8ZM42 0h6v4h-6ZM50 0h2v4h-2ZM54 0h10v4h-10ZM66 0h2v4h-2ZM70 0h2v4h-2ZM78 0h2v4h-2ZM86 0h8v4h-8ZM100 0h8v4h-8ZM110 0h2v8h-2ZM114 0h2v16h-2ZM120 0h2v20h-2ZM24 4h6v4h-6ZM32 4h6v4h-6ZM40 4h4v4h-4ZM52 4h2v4h-2ZM60 4h4v4h-4ZM66 4h6v4h-6ZM76 4h2v8h-2ZM80 4h2v4h-2ZM84 4h6v4h-6ZM100 4h6v16h-6ZM24 8h4v4h-4ZM32 8h4v4h-4ZM42 8h2v4h-2ZM46 8h10v4h-10ZM58 8h6v4h-6ZM66 8h8v4h-8ZM86 8h2v8h-2ZM92 8h2v4h-2ZM108 8h4v4h-4ZM24 12h2v8h-2ZM32 12h2v4h-2ZM38 12h6v4h-6ZM46 12h6v4h-6ZM56 12h8v4h-8ZM66 12h6v8h-6ZM76 12h8v4h-8ZM90 12h6v4h-6ZM108 12h2v8h-2ZM18 16h2v8h-2ZM32 16h4v4h-4ZM40 16h4v4h-4ZM48 16h2v4h-2ZM62 16h2v4h-2ZM74 16h2v4h-2ZM82 16h4v4h-4ZM88 16h8v4h-8ZM114 16h4v4h-4ZM118 20h2v4h-2ZM16 24h2v4h-2ZM120 24h2v4h-2ZM18 28h2v15h-2ZM118 28h2v15h-2ZM22 32h2v11h-2ZM32 32h2v1h-2ZM36 32h2v1h-2ZM40 32h4v1h-4ZM50 32h2v1h-2ZM56 32h6v1h-6ZM64 32h2v1h-2ZM68 32h8v1h-8ZM78 32h2v1h-2ZM84 32h4v1h-4ZM90 32h4v1h-4ZM98 32h4v1h-4ZM106 32h2v1h-2ZM110 32h2v11h-2ZM114 32h2v11h-2ZM134 50h2v2h-2ZM138 50h4v2h-4ZM144 50h4v2h-4ZM150 50h6v2h-6ZM158 50h2v2h-2ZM164 50h2v2h-2ZM168 50h6v2h-6Z"/>
|
||||
<text x="8.7" y="50.2" text-anchor="end" font-family="OCRB, monospace" font-size="14">
|
||||
0
|
||||
</text>
|
||||
<text x="67" y="50.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
654321
|
||||
</text>
|
||||
<text x="123.3" y="50.2" text-anchor="start" font-family="OCRB, monospace" font-size="14">
|
||||
7
|
||||
</text>
|
||||
<text x="154" y="47.6" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
|
||||
89
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
9
backend/tests/data/svg/upce_cc_2addon_h3_notext.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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="184" height="52" 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="184" height="52" fill="#FFFFFF"/>
|
||||
<path d="M12 0h4v20h-4ZM18 0h4v16h-4ZM26 0h4v4h-4ZM32 0h8v4h-8ZM42 0h6v4h-6ZM50 0h2v4h-2ZM54 0h10v4h-10ZM66 0h2v4h-2ZM70 0h2v4h-2ZM78 0h2v4h-2ZM86 0h8v4h-8ZM100 0h8v4h-8ZM110 0h2v8h-2ZM114 0h2v16h-2ZM120 0h2v20h-2ZM24 4h6v4h-6ZM32 4h6v4h-6ZM40 4h4v4h-4ZM52 4h2v4h-2ZM60 4h4v4h-4ZM66 4h6v4h-6ZM76 4h2v8h-2ZM80 4h2v4h-2ZM84 4h6v4h-6ZM100 4h6v16h-6ZM24 8h4v4h-4ZM32 8h4v4h-4ZM42 8h2v4h-2ZM46 8h10v4h-10ZM58 8h6v4h-6ZM66 8h8v4h-8ZM86 8h2v8h-2ZM92 8h2v4h-2ZM108 8h4v4h-4ZM24 12h2v8h-2ZM32 12h2v4h-2ZM38 12h6v4h-6ZM46 12h6v4h-6ZM56 12h8v4h-8ZM66 12h6v8h-6ZM76 12h8v4h-8ZM90 12h6v4h-6ZM108 12h2v8h-2ZM18 16h2v8h-2ZM32 16h4v4h-4ZM40 16h4v4h-4ZM48 16h2v4h-2ZM62 16h2v4h-2ZM74 16h2v4h-2ZM82 16h4v4h-4ZM88 16h8v4h-8ZM114 16h4v4h-4ZM118 20h2v4h-2ZM16 24h2v4h-2ZM120 24h2v4h-2ZM18 28h2v15h-2ZM118 28h2v15h-2ZM22 32h2v11h-2ZM32 32h2v1h-2ZM36 32h2v1h-2ZM40 32h4v1h-4ZM50 32h2v1h-2ZM56 32h6v1h-6ZM64 32h2v1h-2ZM68 32h8v1h-8ZM78 32h2v1h-2ZM84 32h4v1h-4ZM90 32h4v1h-4ZM98 32h4v1h-4ZM106 32h2v1h-2ZM110 32h2v11h-2ZM114 32h2v11h-2ZM134 50h2v2h-2ZM138 50h4v2h-4ZM144 50h4v2h-4ZM150 50h6v2h-6ZM158 50h2v2h-2ZM164 50h2v2h-2ZM168 50h6v2h-6Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |