`options_3`, allowing forcing of Base 256 or C40 mode a la BWIPP
for initial no. of characters specified in `option_1`, with 0
meaning all (CLI "--dmb256=" and "--dmc40=", GUI also (apart
from MAILMARK_2D, which may be added later);
export masks `DM_B256_C40_START_MASK` & `DM_SQUARE_DMRE_MASK` in
"zint.h"
ZBarcode_Encode_File: report filename (possibly truncated) in error
message on failed open
GUI: uniquify some accelerators and add some child widget getter
helpers to "mainwindow.cpp"
backend/DEVELOPER -> backend/README, with some expansion
debian/copyright: a few more fixes
BWIPP/pandoc: update to latest
tests/fuzz: adjust for new DATAMATRIX options
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
backend/tests/fuzz: update "fuzz.h" to take `option_3` min/max;
update `INPUT_MODE_MASK` & `OUTPUT_OPTIONS_MASK`;
set `height`, `border_width` & `output_options` from input
(removing `Z_FUZZ_SET_OUTPUT_OPTIONS` conditional) and call
`ZBarcode_Encode_and_Print()` instead of `ZBarcode_Encode()`;
support standalone builds of "fuzz_data" & "fuzz_gs1" with
`Z_FUZZ_MAIN_READ_ARGV_1` macro;
update "fuzz_gs1" & "fuzz_gs1.dict" to better test caret/raw
modes;
gen_corpora: add `output_options`, `height` & `border_width` &
find (3rd) from fuzz_data of BIND_TOP | BIND_BOX bug
just 2 digits
cmake: set `rpath` of CLI frontend on macOS install (ticket #346,
props Hagen Röwer)
cmake: make uninstall: update to use `-E rm` if available, warn
rather than fatal error if fail to remove, note if leaving
"/zint" directory unremoved (i.e. "lib/cmake/zint")
library: de-duplicate errtxt no.
test suite: update BWIPP to latest
test suite: test_bwipp: enable & fix dotcode random test
test suite: fuzz: gen_corpora fuzz_data 1st -> 2nd
switching mode or any FNC1 after manual C mode selected and no
other non-C data - found by fuzz test "fuzz_data" - 2nd ever
trophy!
qr.h: fix typo (props https://github.com/crate-ci/typos)
those in "backend/common.h", which are prefixed by `z_` - makes
symbol clashes more unlikely when zint is statically linked
(ticket #337, props Ulrich Becker)
DOTCODE: fix padding allowance (10 -> 52 - probable max 35) to
cover cases with large no. of columns requested and little data,
to prevent `codeword_array` buffer overflow
AZTEC/CODEONE: some code fiddling
general_field: prefix defines with `GF_`, shorten static funcs
prefix `general_field_` -> `gf_`
DOTCODE/GRIDMATRIX/HANXIN/MICROPDF417/MICROQR/PDF417/QRCODE/
RMQR/ULTRA: set `option_1/2/3` to values used in encodation
("Feedback options"), and add new access methods
`encodedOption1()` etc. to Qt Backend, and use in GUI to provide
better feedback on "Automatic" selections
- AZTEC: give more precise warnings in low ECC situations, and
indicate via `option_1` by setting to -1 (min 3 words), 0
(<5% + 3 words) (`ecc_ratio`)
- set_height: fix non-compliance false positives by using epsilon
in checks (prompted by CODABLOCKF non-compliant warning for
zint-generated compliant height - floating point `rows` mult !=
`zero_count` div; one test regression for CODE93);
better warning messages on non-compliant heights (min/max)
- manual/man page: fix DATAMATRIX Sizes tables "28 12x26" ->
"27 12x26"
- GUI: AZTEC/CODEONE: add Zint versions to comboboxes
- DOTCODE: improve error messages re size too small/large
- ULTRA: better ZINT_TEST codeword dump (ZINT_DEBUG_TEST)
- general: various tabs -> spaces; prettify main .rc files;
trailing spaces; small amount of code fiddling (CODE16K)
`BARCODE_PLAIN_HRT` option for `output_options` - for use
primarily by ZXing-C++ but may be generally useful;
centralize setting of HRT using new common `hrt_cpy_nochk()` etc.
routines to ensure `text_length` always set
PLESSEY: add show default check characters option
CODE32: ignore `option_2` (check digit options)
PZN: ignore `option_2` (check digit options) except when indicates
PZN7 only
DPD: exclude DEL from ident tag also
out_maybe_mkdir: fix `utf8_to_wide()` return (Windows only)
general: replace use of `strcpy()` etc. (except for test suite)
with `memcpy()`, `hrt_()` etc. in lib & `cpy_str()` etc. in CLI
& `cpy_bytearray_left()` in backend_qt
clang-tidy: update README reflecting above
backend_tcl: use sizeof(primary) to check length; tabs -> spaces
general: various code fiddling
docs: pandoc 3.6.2 -> 3.6.3