new routines `mirror_start()`, `mirror_outfile()` & limit
substitutions on Unix to backslash (Windows remains the same);
restrict "borderwidth", "textgap", "vwhitesp", "whitesp" < 100
CODEONE: fix `ceilf()` -> `C1_MULT_CEIL()` in FAST_MODE encodation
(improves/changes some encodation)
composite: preserve `gs1_verify()` warning using `warn_level` hack;
fix wrong name `zint_dbar_omnstk_set_height()` ->
`zint_dbar_stk_set_height()`;
use new `zint_micropdf_variant()` & `zint_micropdf_expand()`
routines (see below)
MICROPDF417: move variant determination into new shareable routine
`zint_micropdf_variant()` & expansion into `zint_micropdf_expand()`
qzint: add helper methods `setbordertypevalue()`,
`encodedinputmode()`, `encodedoutputoptions()`,
`ecivaluetoeciindex()` and `eciindextoecivalue()`
dbar: for performance pre-calculate `combins()` as array
coverage: add `malloc()`-type failure testing to AZTEC,
CONTENT_SEGS, MEMORY_FILE, raster, Reed-Solomon & vector;
numerous changes to remove unused code and test more branches
common: add `isxdigit()`
general: various code fiddlings
manual: add char names to sequence and batch format char tables;
mention long options can be shortened (& use "--compliantheight"
-> "--compliant");
expand mirror explanation & document substitutions in footnote;
workaround xecjk putting space after double quote when quoting
cjk chars & rejig input mode examples;
workaround html alignment bug in table gs1-enabled symbologies by
adding extra rh dashes to header cols;
add "figure nn: " to txt image tags via sed:
various other small fixes and rephrasings
template, props Dmitry Smirnov (ticket #147, props John Crisp);
TODO: enable building with the GS1 Syntax Engine;
this involved auditing copyrights which prompted the next item
re "tif.c" and will prompt the next next item "pdf417.c"
tif.c: replaced LZW compression with tree-based one due to
"tif_lzw.h"'s original BSD-TAHOE license which has the equivalent
of the "advertising clause", new implementation (which is much
faster anyway) props Harald Kuhr and Bob Montgomery
pdf417.c: TODO: Replace all code adapted from "pdf417.frm" as it
was released under GPL v2.0 or later
pdf417.h: replace unnecessary "pdf417.frm" references with ISO/IEC
standard as 1st step re above, some expanded comments
general: Codablock-F -> Codablock F (i.e. lose hyphen)
cmake: frontend/frontend_qt: go back to only setting RPATH on macOS
as not Debian compatible and it seems it's not a good idea on
Linux anyway; TODO: check BSD + other Unixes
CLI/GUI: make "--verbose" option official and document
tools/gen_eci_sb_h.php/gen_eci_mb_h.php: add SPDX Unicode-3.0;
update haible.de/bruno tarball info - "GB18030.TXT" no longer in
"jdk-1.4.2/" so mention "libiconv-1.11/" version instead (same)
general: add various SPDXs and normalize some Copyrights
reedsol.c: malloced `logt`/`alog` tables int -> short (slight
performance improvement)
aztec.c: add copyrights, some code fiddling
BWIPP: update to latest
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_`
Patch from Michael <virtual_worlds@gmx.de>
Full text: As usual I have modified only minor things to remove warnigs when compiled as C++ code, have added some const-specifiers where possible to help the compiler create more efficient code and added some static-specifiers to make functions invisible to other modules.
Original email reads...
It does not contain any fundamental changes or new functions but a lot of improvements which I have done over time (added several const/static specifiers, replaced repeated if-conditions by if-else, removed some warnings).