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,6 +1,6 @@
/*
libzint - the open source barcode library
Copyright (C) 2020-2022 Robin Stuart <rstuart114@gmail.com>
Copyright (C) 2020-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@ -207,9 +207,9 @@ static void test_clz_u64(const testCtx *const p_ctx) {
static void test_load(const testCtx *const p_ctx) {
struct item {
large_int t;
large_int s;
large_int expected;
large_uint t;
large_uint s;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -244,10 +244,10 @@ static void test_load(const testCtx *const p_ctx) {
static void test_load_str_u64(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
const char *s;
int length;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -285,9 +285,9 @@ static void test_load_str_u64(const testCtx *const p_ctx) {
static void test_add_u64(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
uint64_t s;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -329,9 +329,9 @@ static void test_add_u64(const testCtx *const p_ctx) {
static void test_sub_u64(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
uint64_t s;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -373,9 +373,9 @@ static void test_sub_u64(const testCtx *const p_ctx) {
static void test_mul_u64(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
uint64_t s;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -431,10 +431,10 @@ static void test_div_u64(const testCtx *const p_ctx) {
uint64_t r;
struct item {
large_int t;
large_uint t;
uint64_t s;
uint64_t expected_r;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -557,9 +557,9 @@ static void test_div_u64(const testCtx *const p_ctx) {
static void test_unset_bit(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
int s;
large_int expected;
large_uint expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
@ -721,7 +721,7 @@ static void test_unset_bit(const testCtx *const p_ctx) {
static void test_uint_array(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
int size;
int bits;
unsigned int expected[130];
@ -810,7 +810,7 @@ static void test_uint_array(const testCtx *const p_ctx) {
static void test_dump(const testCtx *const p_ctx) {
struct item {
large_int t;
large_uint t;
char *expected;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */