EAN/UPC: add quiet zone indicators option (API output_options

`EANUPC_GUARD_WHITESPACE`, CLI `--guardwhitespace`) (ticket #287)
EAN-2/EAN-5: HRT now at top instead of at bottom for standalones,
  following BWIPP
CLI: batch mode: don't close input if stdin
EAN/UPC: fix excess 1X to right of add-ons
Composites: fix excess whitespace; fix quiet zone calcs to allow
  for linear shifting
CLI: use own (Wine) version of `CommandLineToArgvW()` to avoid
  loading "shell32.dll"
Move "font.h" -> "raster_font.h"
EPS/SVG: use new `out_putsf()` func to output floats, avoiding
  trailing zeroes & locale dependency
EPS: simplify "TR" formula
SVG: change font from "Helvetica, sans serif" to "OCR-B, monospace";
  use single "<path>" instead of multiple "<rect>"s to draw boxes
  (reduces file size)
Add `EMBED_VECTOR_FONT` to `output_options` (CLI `--embedfont`) to
  enable embedding of font in vector output - currently only for
  SVG output of EAN/UPC
GUI: use "OCR-B" font for EAN/UPC and "Arimo" for all others (was
  "Helvetica" for both); paint background of screen preview light
  grey so as contrasts with whitespace and quiet zones
EMF: prefix funcs with `emf_`; simplify string `halign` handling
large: rename `large_int` -> `large_uint`
CODE128/common: move `c128_hrt_cpy_iso8859_1()` to
  `hrt_cpy_iso8859_1()` and add `ZINT_WARN_HRT_TRUNCATED` warning
  (for future use)
Various symbologies: replace `printf()` with `fputs()`
  (symbol->debug)
QRCODE: better assert(), removing a NOLINT (2 left)
CLI: add some more barcode synonyms for DBAR
common: various fiddlings
CMake: don't include png.c unless ZINT_USE_PNG (avoids clang
  warning)
This commit is contained in:
gitlost 2023-06-12 01:25:55 +01:00
parent 6d015d6a8f
commit 607e4ed33a
395 changed files with 11528 additions and 23016 deletions

View file

@ -1,80 +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="330" height="129" 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="330" height="129" fill="#FFFFFF" />
<rect x="18.00" y="6.00" width="2.00" height="110.00" />
<rect x="22.00" y="6.00" width="2.00" height="110.00" />
<rect x="26.00" y="6.00" width="2.00" height="110.00" />
<rect x="30.00" y="6.00" width="8.00" height="110.00" />
<rect x="42.00" y="6.00" width="4.00" height="100.00" />
<rect x="50.00" y="6.00" width="2.00" height="100.00" />
<rect x="54.00" y="6.00" width="2.00" height="100.00" />
<rect x="62.00" y="6.00" width="4.00" height="100.00" />
<rect x="70.00" y="6.00" width="4.00" height="100.00" />
<rect x="78.00" y="6.00" width="2.00" height="100.00" />
<rect x="82.00" y="6.00" width="2.00" height="100.00" />
<rect x="90.00" y="6.00" width="4.00" height="100.00" />
<rect x="98.00" y="6.00" width="4.00" height="100.00" />
<rect x="106.00" y="6.00" width="2.00" height="100.00" />
<rect x="110.00" y="6.00" width="2.00" height="110.00" />
<rect x="114.00" y="6.00" width="2.00" height="110.00" />
<rect x="118.00" y="6.00" width="4.00" height="100.00" />
<rect x="124.00" y="6.00" width="4.00" height="100.00" />
<rect x="132.00" y="6.00" width="2.00" height="100.00" />
<rect x="142.00" y="6.00" width="2.00" height="100.00" />
<rect x="146.00" y="6.00" width="2.00" height="100.00" />
<rect x="150.00" y="6.00" width="6.00" height="100.00" />
<rect x="160.00" y="6.00" width="2.00" height="100.00" />
<rect x="164.00" y="6.00" width="6.00" height="100.00" />
<rect x="174.00" y="6.00" width="4.00" height="100.00" />
<rect x="182.00" y="6.00" width="4.00" height="100.00" />
<rect x="188.00" y="6.00" width="2.00" height="110.00" />
<rect x="196.00" y="6.00" width="2.00" height="110.00" />
<rect x="202.00" y="6.00" width="2.00" height="110.00" />
<rect x="206.00" y="6.00" width="2.00" height="110.00" />
<rect x="226.00" y="22.90" width="2.00" height="83.10" />
<rect x="230.00" y="22.90" width="4.00" height="83.10" />
<rect x="236.00" y="22.90" width="4.00" height="83.10" />
<rect x="244.00" y="22.90" width="4.00" height="83.10" />
<rect x="250.00" y="22.90" width="2.00" height="83.10" />
<rect x="256.00" y="22.90" width="2.00" height="83.10" />
<rect x="262.00" y="22.90" width="4.00" height="83.10" />
<rect x="268.00" y="22.90" width="2.00" height="83.10" />
<rect x="272.00" y="22.90" width="2.00" height="83.10" />
<rect x="282.00" y="22.90" width="2.00" height="83.10" />
<rect x="286.00" y="22.90" width="2.00" height="83.10" />
<rect x="290.00" y="22.90" width="2.00" height="83.10" />
<rect x="298.00" y="22.90" width="4.00" height="83.10" />
<rect x="304.00" y="22.90" width="2.00" height="83.10" />
<rect x="308.00" y="22.90" width="4.00" height="83.10" />
<rect x="318.00" y="22.90" width="2.00" height="83.10" />
<rect x="0.00" y="0.00" width="330.00" height="6.00" />
<rect x="0.00" y="106.00" width="330.00" height="6.00" />
<text x="8.70" y="128.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" >
6
</text>
<text x="74.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" >
14141
</text>
<text x="152.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" >
23441
</text>
<text x="217.30" y="128.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" >
7
</text>
<text x="274.00" y="21.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" >
12345
</text>
</g>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="330" height="130" 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="330" height="130" fill="#FFFFFF"/>
<path d="M18 6h2v110h-2ZM22 6h2v110h-2ZM26 6h2v110h-2ZM30 6h8v110h-8ZM42 6h4v100h-4ZM50 6h2v100h-2ZM54 6h2v100h-2ZM62 6h4v100h-4ZM70 6h4v100h-4ZM78 6h2v100h-2ZM82 6h2v100h-2ZM90 6h4v100h-4ZM98 6h4v100h-4ZM106 6h2v100h-2ZM110 6h2v110h-2ZM114 6h2v110h-2ZM118 6h4v100h-4ZM124 6h4v100h-4ZM132 6h2v100h-2ZM142 6h2v100h-2ZM146 6h2v100h-2ZM150 6h6v100h-6ZM160 6h2v100h-2ZM164 6h6v100h-6ZM174 6h4v100h-4ZM182 6h4v100h-4ZM188 6h2v110h-2ZM196 6h2v110h-2ZM202 6h2v110h-2ZM206 6h2v110h-2ZM226 24h2v82h-2ZM230 24h4v82h-4ZM236 24h4v82h-4ZM244 24h4v82h-4ZM250 24h2v82h-2ZM256 24h2v82h-2ZM262 24h4v82h-4ZM268 24h2v82h-2ZM272 24h2v82h-2ZM282 24h2v82h-2ZM286 24h2v82h-2ZM290 24h2v82h-2ZM298 24h4v82h-4ZM304 24h2v82h-2ZM308 24h4v82h-4ZM318 24h2v82h-2ZM0 0h330v6h-330ZM0 106h330v6h-330Z"/>
<text x="8.7" y="129.2" text-anchor="end" font-family="OCRB, monospace" font-size="14">
6
</text>
<text x="74" y="129.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
14141
</text>
<text x="152" y="129.2" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
23441
</text>
<text x="217.3" y="129.2" text-anchor="start" font-family="OCRB, monospace" font-size="14">
7
</text>
<text x="274" y="21.6" text-anchor="middle" font-family="OCRB, monospace" font-size="20">
12345
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After