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_`
CODE49: Better error message on ZINT_ERROR_TOO_LONG
manual: Use floating pt notation for floating pt args on options
backend/tools/data: Remove overlooked "GB2312.TXT" from git
raster: `size2` -> `prev_size`; one line `malloc()`s
C25/CODE128: some code fiddling
tests/PNG: Add some more text examples
from ZXing (props Alex Geller) - about 25-60% slower depending on
data & stack heavy but does improve some outcomes when FNC1s
present (GS1_MODE or manual) although not much else it appears
(the previous algorithm was very good), but has a logical clarity
the other lacked - funcs `c128_dxsmooth()` etc shared with
CODE16K now moved there and renamed as `c16k_`;
also fix extended char latching when exactly 4 extended chars
at end
also manual code set switching now honoured exactly even if
immediate shift required;
manual: make explicit that AI "(00)" and "(01)" prefixes added by
Zint are HRT-only
general: add `extern "C"` wrappers to a few header files
spanning Text segments to avoid affecting 1st char of 2nd segment
- PDF417/MICROPDF417: add optimized encoding, FAST_MODE for
previous scheme; formatting changes
- common.c/h: add `cnt_digits()`, comments in include and make more
consistent, minor code fiddling
- DOTCODE: replace `dc_n_digits()` with new `cnt_digits()`
- test_qr: fix `test_qr_perf()`
- composite: minor code fiddling
- library: debug dump HIBC-processed input
- BWIPP: update to latest
GRIDMATRIX, HANXIN, MAXICODE, MICROPDF417, PDF417, QRCODE, RMQR, ULTRA
RMQR: fix ECI encoding (wrong bit length for indicator)
MICROQR: check versions M1 and M2 for allowed characters so as to give
better error messages
DOTCODE: some small optimizations
common.c: add is_chr(), segs_length(), segs_cpy()
CODEONE/CODE128/DOTCODE/GRIDMATRIX/HANXIN/MAXICODE/QRCODE/ULTRA: add
namespace prefixes to static funcs/data
includes: use Z_ prefix, unuse double underscore prefixes (guard defines)
manual.txt: compress some tables using double/treble column sets
add specify rows option (option_3) (#204);
warn if cols increased from specified (back-incompatible);
move table definitions from "pdf417.h" to new "pdf417_tabs.h" and
make INTERNAL_DATA and share with composite.c (saves ~10K);
prefix routines and tables with "pdf_";
some small performance improvements through if/elses, pdf_textprocess()
& pdf_numbprocess() loop simplifications
MICROQR: fix debug access crash on printing non-NUL-terminating binary
DATAMATRIX: fix missing ++ from "[tp]" at C40/TEXT EOD processing of GS1
(though probably never reached); use "[tp++]" throughout
Add const to static tables missing it and also to some variables
Change "debug" -> "debug_print" throughout