Commit graph

1771 commits

Author SHA1 Message Date
Axel Waggershauser
b423e260b9 dxfilmedge: make raw_segs consistent with zxing-cpp
Details see here:
https://github.com/zxing-cpp/zxing-cpp/issues/883#issuecomment-2776593838
2025-04-05 01:26:35 +01:00
gitlost
789e049945 DBAR_OMN/DBAR_LTD/DBAR_STK/DBAR_OMNSTK: prefix raw_segs with
implicit "01" prefix (see ZXing-C++ issue 883);
  allow and ignore prefixes "01", "[01]" and "(01)" if check digit
  given (ticket #333, props Axel Waggershauser);
CODE128/PDF417: suppress some clang-tidy-20.1 warnings
general: add `ZUCP()`, `ZCUCP()`, `ZCCP()` macro shorthands to
  cast away char pointer signedness
2025-04-05 00:19:13 +01:00
gitlost
01c9b82504 Revert "[[fallthrough]]" -> "fall through" to avoid gcc warning 2025-04-04 09:35:55 +01:00
gitlost
5b74903da4 ZINT_CAP_STACKABLE: missed CODABLOCKF/HIBC_BLOCKF previously - not
stackable
2025-04-03 17:21:44 +01:00
gitlost
a74871a7de - CODABLOCKF: fix misencodation of extended ASCII 0xB0-0xB9 when
followed by digit (ignore 2nd byte of FNC4 when categorizing
  Code C characters)
- New `ZBarcode_Cap()` flag `ZINT_CAP_BINDABLE`, differentiated
  from `ZINT_CAP_STACKABLE`, and new Qt Backend method
  `isBindable()`
- CLI: fix `separator` check to use new `ZINT_CAP_BINDABLE` instead
  of `ZINT_CAP_STACKABLE`
- ZBarcode_Cap: add missing symbologies to `ZINT_CAP_BINDABLE` (was
  `ZINT_CAP_STACKABLE`)
- DOTCODE: pad rows if given number of columns instead of failing
  if rows below min (5)
- DBAR/composites: ensure stacked symbologies and composites are
  not stacked (set `symbol->rows` to 0)
- test suite: move `test_perf` routines into single test
  "test_perf";
  new "test_random" (based on "test_bwipp") to test various
  symbologies with random binary - discovered CODABLOCKF bug;
  expand "test_bwipp"
manual: Feeback: mention AZTEC -1 meaning min & MICROPDF417:
  doc new `ZINT_CAP_BINDABLE`
general: various code fiddlings and re-formattings
2025-04-03 16:08:15 +01:00
gitlost
2370fbfbb7 test_common: rt_cpy etc.: zeroize symbol 2025-03-28 11:19:40 +00:00
gitlost
59becc6e0a github: macOS: ctest -VV 2025-03-28 10:49:05 +00:00
gitlost
a6c225447e general: change BARCODE_RAW_TEXT to write to new zint_symbol
fields `raw_segs` and `raw_seg_count` instead of `text`, and to
  do so for all symbologies, using new common funcs `rt_cpy()` etc.
MICROPDF417: return ECC percentage in top byte of `option_1`
DBAR_EXP_STK: return `option_2`/`option_3` feedback
CLI: change warning text "ignoring" -> "**IGNORED**"
GUI: show feedback for DBAR_EXP_STK, MICROPDF417, UPNQR
ctest: fix recent inability to run tests via "ctest" on Windows
  (MSVC) by using cmake 3.22 feature `ENVIRONMENT_MODIFICATION`
manual: document feedback and RAW_TEXT in new "Feedback" section;
  rephrase some symbology descriptions
test suite: new general-use arg "-a"; add `func_name` to context;
  new "test_bwipp" test for testing BWIPP against ZXing-C++
2025-03-28 10:02:19 +00:00
gitlost
d1bf02e156 gs1: csumalpha: improve warning, report both checksum chars
(ticket #332, props Harald Oehlmann)
2025-03-18 18:47:04 +00:00
gitlost
de8a62ca2a UPU_S10: fix Service Indicator warning re "H" (ticket #331, props
Milton Neal), which is valid;
  quote invalid Service Indicator, Country Code in warnings
2025-03-18 03:03:27 +00:00
gitlost
e12c5ed3ba DBAR_STK/DBAR_OMNSTK/DBAR_EXPSTK (including composites): output HRT
if `BARCODE_RAW_TEXT`
manual: default to always making html
2025-03-10 01:22:52 +00:00
gitlost
64fd01c73f - composite/MAXICODE: set option_1/2 to values used in encodation
("Feedback options"), and for composites use in GUI to give
  feedback on CC type automatically selected
- composite: warn if CC type upped from requested
- set_height: give up on giving minimal height in warning for now
  as too messy to calc and just report too small
2025-03-09 02:08:41 +00:00
gitlost
0d1f878661 - set_height: fix min warning message - need to multiply
`min_row_height` by `zero_count`; use new precision modifier
- errtxtf: add processing of precision modifier for "%f"/"%g"
- test_qzint: fix "BARCODE_QRCODE no text" `encodedOption1()`
  default 0 -> -1
2025-03-07 22:13:08 +00:00
gitlost
d222add96d - AZTEC/CHANNEL/CODABLOCKF/CODE16K/CODE49/CODEONE/DATAMATRIX/
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)
2025-03-07 16:51:36 +00:00
gitlost
d0465375bb Add convenience API funcs ZBarcode_UTF8_To_ECI() and
`ZBarcode_Dest_Len_ECI()`, primarily for ZXingC++ but also useful
  in general
2025-03-02 20:50:55 +00:00
gitlost
99f94b1027 AZTEC: fix GS1 mode with Structured Append (wasn't outputting
initial FNC1 (FLG(0))
2025-02-28 18:21:51 +00:00
gitlost
81308f4957 Reinstate BARCODE_RAW_TEXT (note forgot to remove mention of
`ZINT_WARN_HRT_RAW_TEXT` in man page zint.1.pmd last time)
2025-02-25 16:45:28 +00:00
gitlost
d24ba5edc0 Bump to version 2.15.0.9 (dev) 2025-02-25 15:29:08 +00:00
gitlost
4896136bdb Version 2.15.0
To be released tomorrow 2025-02-25
2025-02-24 20:21:03 +00:00
gitlost
f747de3684 CODE39/PLESSEY/POSTNET/PLANET/TELEPEN: suppress MSVC6 warning C4761
(`hrt_cat_chr_nochk(`))
2025-02-24 18:12:12 +00:00
gitlost
d9aebc1c72 CODABLOCKF: suppress clang-tidy-20 warning
clang-analyzer-core.UndefinedBinaryOperatorResult
2025-02-24 15:46:13 +00:00
gitlost
e4663e48cf Temporarily disable BARCODE_RAW_TEXT prior to 2.15.0 release, as
it's not stable yet. `text_length` is kept.
2025-02-24 14:11:03 +00:00
gitlost
c11ab5528d general: suppress some CodeQL warnings
CODABLOCKF: tidy some comments
2025-02-23 19:48:55 +00:00
gitlost
174bbf06a8 CODE128: ***2.14.0 regression fix***
set C1 start latch lengths to max (was 0) to prevent C1 being
  selected initially - was causing StartC to be omitted, e.g.
  for "12é"
2025-02-23 15:53:47 +00:00
gitlost
bfcc398c35 general: improve some wrong length error messages 2025-02-22 16:17:37 +00:00
gitlost
c499620ff6 upcean: BARCODE_RAW_TEST: need "+" separator for add-ons, else can't
differentiate between EAN-13 and EAN-8 + EAN-5
cli: append "Ital. Pharma" to Code 32 description
dxfilmedge: code fiddle
2025-02-20 22:57:54 +00:00
gitlost
8e7931b147 Rename BARCODE_PLAIN_HRT -> BARCODE_RAW_TEXT and add warning
`ZINT_WARN_HRT_RAW_TEXT` if set when outputting HRT (ZXing-C++
  issue 883, props Axel Waggershauser)
README: Pharmacode -> One-Track, Pharmacode 2-trace -> Two-Track
2025-02-20 02:10:19 +00:00
gitlost
888b4b5684 ZSANITIZEM: The 2 maybe issues due to -fsanitize=memory were
also false positives so surround with ZSANITIZEM conditional
gif.c: some code fiddling (remove unnecessary braces)
output.c: out_colour_char_to_rgb: take unsigned char
general: some casts
2025-02-19 17:51:23 +00:00
gitlost
c7cf006e71 general: cmake: add ZINT_SANITIZEM (clang -fsanitize=memory) option
and suppress errors in lib and backend tests (pretty sure they're
  nearly all false positives apart from maybe 2 non-initializations
  in "gif.c" (`pOut` buffer) and "raster.c" (`rotated_pixbuf`)
github: install de_DE.UTF-8 locale in ubuntu-debug also
2025-02-19 01:15:58 +00:00
gitlost
33135fc146 DXFILMEDGE: suppress gcc warning -Wmaybe-uninitialized
CMakeFile: don't disable -fno-var-tracking-assignments for gcc
github: try installing de_DE.UTF-8 locale (for test_filemem)
2025-02-16 16:05:21 +00:00
gitlost
f9878700ee DPD: fix no terminating NUL (required by c128_cost()), regression
introduced by last commit [fef8b0], and only picked up in a
  fairly random test on the mac build :(
2025-02-16 00:53:29 +00:00
gitlost
fef8b083b4 Add text_length (length of text) to zint_symbol, and new
`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
2025-02-15 20:32:55 +00:00
gitlost
ddedd00d2d iso4217: remove 191 (HRK), 694 (SLL), 931 (CUC); add 926 (VED) 2025-02-07 19:12:32 +00:00
gitlost
b753382353 man page: fix Code 93 --vers=1 hide -> show default check digits 2025-02-06 22:45:54 +00:00
gitlost
3dcf99175e Bump to version 2.14.0.9 (dev) 2025-02-05 10:07:03 +00:00
gitlost
18453bb5d2 run_zxingcpp_tests.sh: remove defunct best_supported_set (maxicode)
testcommon: comment BUILD_EXAMPLE_DECODER -> ZXING_EXAMPLE_DECODER
2025-02-05 09:16:07 +00:00
gitlost
b157911e78 manual: update other GUI images (no real change) 2025-02-04 20:36:36 +00:00
gitlost
8e72d1919d manual: update GUI images 2025-02-04 16:13:39 +00:00
Harald Oehlmann
336ab8dc9d Allow tcl demo to load zint from parent or neighbour foulder by default 2025-02-04 16:58:09 +01:00
gitlost
e38185121e Version 2.14.0
To be released tomorrow 2025-02-05
2025-02-04 15:17:47 +00:00
gitlost
01d72607c6 GUI: suppress shadow var warning (macOS); update year
zint.h: update year
man: mention no HRT for raster scale < 1
README.bsd: NetBSD 10.0 -> 10.1
README.linux: Fedora 40 -> 41
update_version.php: mention make manual.html
2025-02-02 09:58:41 +00:00
gitlost
8bd8802d44 iso4217: remove obsolete ZWL (932)
update_version.php: use `err_exit()`
2025-02-01 18:14:48 +00:00
gitlost
21ed7b48dd gs1: fix keyoff1() last commit [3f7cfd], error position does not
need adjusting (unfortunately no test possible currently as for
  AIs 00-03 lengths > 4 and `numeric()` catches it anyway)
2025-01-31 22:02:49 +00:00
gitlost
3f7cfd47c7 gs1: update to latest gs1-syntax-dictionary (new lint keyoff1());
in `key()` (& hence `keyoff1()`) check for GS1 Company Prefix
  length >= 4 (same as gs1-syntax-dictionary lints)
manual: update some standard years
2025-01-31 21:20:43 +00:00
gitlost
53cb29dbc6 backend_tcl/zint_tcl.vcsproj: put ZINT_VERSION in general defines
and remove from individual .c files;
  rename include dirs "C:\myprograms\tcl9.0" -> "C:\Tcl" and lib
  dirs "C:\myprograms\tcl9.0\lib" -> "C:\Tcl\lib";
  suppress some warnings
backend_tcl/zint.c: suppress some warnings
tools/update_version.php: update for "backend_tcl/zint_tcl.dsp" ->
  ".vcxproj"
manual.pmd: backend_tcl: fix "require package" -> "package require"
  and explain "C:\Tcl" may need adjusting
general: update copyright years in ".rc" files
library: remove needless `eci` zeroing in `set_symbol_defaults()`
  and make `barcode_seg_funcs` initialization consistent (147 now)
2025-01-29 16:54:59 +00:00
gitlost
b377b14360 general: reenable -Wpedantic for gcc by using __extension__ (ZEXT)
to suppress warnings about `errtxtf` operand number "%<n>$" args;
  enable some further warnings
test suite: enable -Wpedantic and fix/suppress any warnings
2025-01-27 11:03:33 +00:00
gitlost
a4b557786f backend_tcl: add "win/readme.txt"; fiddle with "readme.txt"
README:  copyright 2024 -> 2025; remove primarily Linux bit
manual: update Tcl instructions; copyright 2024 -> 2025;
  Data Matrix ECC200 -> ECC 200, mention previous standards by
  name;
manual/GUI: Pharmacode -> Pharmacode One-Track, 2-track Pharmacode
  -> Pharmacode Two-Track
backend/DEVELOPER: update
2025-01-22 08:13:42 +00:00
Harald Oehlmann
60e1c76858 Rebuild tcl windows build system 2025-01-21 18:07:19 +01:00
Harald Oehlmann
9e7b0290b4 Merge branch 'master' of ssh://git.code.sf.net/p/zint/code 2025-01-21 16:42:05 +01:00
Harald Oehlmann
e8ce194152 Add zint_tcl project files 2025-01-21 16:34:09 +01:00