1
0
mirror of https://git.code.sf.net/p/zint/code synced 2025-12-17 18:07:02 +00:00
Commit Graph

1797 Commits

Author SHA1 Message Date
gitlost
e340a60adb And in tests cmake 2025-09-12 04:40:03 +01:00
gitlost
2084b33d5e cmake: fix GS1SE NOTFOUND test 2025-09-12 04:32:52 +01:00
gitlost
0650d5798e Integrate GS1 Syntax Engine 2025-09-12 04:20:55 +01:00
gitlost
ad95d8f2b0 general: fix some typos using https://github.com/crate-ci/typos
(see gs1-syntax-engine PR #15, props Viktor Szépe)
2025-09-07 17:40:43 +01:00
gitlost
9b4d097516 RAW_TEXT: change source to be unconverted, i.e. UTF-8 (unless
`DATA_MODE`); allows ZXing-C++ to be built in writer-only mode
  without needing "libzueci"
library: in GS1 mode check that ECI if any is ASCII compatible
general: some code fiddling, `mode` -> `modes`
2025-09-05 17:23:18 +01:00
gitlost
44e2099a65 library: use "filemem" for TXT dump_plot() -> txt_hex_plot()
filemem: remove NOLINTS (clang-tidy-20 bug fixed)
QRCODE: eliminate NOLINTs using some more asserts (clang-tidy-20);
  some "de-branching" of loops
general: various code fiddlings, in particular lessen no. of
  redundant parenthesized expressions, especially in conditionals,
  which reduce rather than aid readibility IMNSHO
manual: mention "--dump" option
2025-08-28 20:34:56 +01:00
gitlost
36364b4912 Tcl: run "autoconfig" and "./configure" after committing PR #9
"changes to build for non-standard Tcl/TkF", props Oleh Oliinyk
2025-08-27 00:25:36 +01:00
ooa64
5699dae022 backend_tcl: add tcl 9.0 compatibility define (CONST) 2025-08-27 00:22:34 +01:00
ooa64
be10559208 backend_tcl: configure tk 2025-08-27 00:22:34 +01:00
gitlost
39380d6767 general: prefix all INTERNAL funcs/tables with zint_, except
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_`
2025-08-26 23:48:00 +01:00
gitlost
e18b047a45 gs1: update to latest gs1-syntax-dictionary (key -> gcppos1,
keyoff1 -> gcppos2)
2025-06-05 13:48:50 +01:00
gitlost
766fbd98bb gs1: update to latest gs1-syntax-dictionary (keyoff1 for 8006/8026) 2025-05-31 15:21:27 +01:00
gitlost
18096a25a7 AZTEC/PDF417: stripf ecc feedback (was getting 32-bit difference)
test suite: test for `arc4random_uniform()` before including
  "test_bwipp" & "test_random" in build
github/ci: try enabling Qt test for ubuntu
2025-05-24 02:51:18 +01:00
gitlost
578d3e4df9 iso4217: add 396 (XAD) ISO 4217 AMENDMENT NUMBER 179 2025-05-19 14:35:40 +01:00
gitlost
effb13cab8 DBAR_OMN/LTD: replace unnecessary large_uint with uint64_t
DBAR_OMN/LTD/EXP: add helpers `dbar_xxx_group()` to calc groups;
  `dbar_widths()` -> dbar_getWidths()` & make `noNarrow` boolean;
  new helper `dbar_widths()` interleaves;
  various other refactorings, fiddlings etc.
DBAR_EXP: `dbar_date()` -> `dbar_exp_date()`
upcean: make `cc_rows` const
2025-04-28 16:18:13 +01:00
gitlost
fcb3f9b422 GS1PARENS_MODE: allow parentheses in AI data if backslashed and
in `ESCAPE_MODE`
composite: empty primary now returns `ZINT_ERROR_INVALID_DATA`
  rather than `ZINT_ERROR_INVALID_OPTION`;
  check that primary NUL-terminated
library: check that `outfile` NUL-terminated
gs1: preface all routines and linters with "gs1_"
general: some code fiddling
2025-04-24 18:40:50 +01:00
gitlost
51ebca182c Re commit [789e04] and [86363f] allow prefixes without check digit 2025-04-21 18:45:23 +01:00
gitlost
3592edd64e - Add new symbologies BARCODE_EAN8, BARCODE_EAN_2ADDON,
`BARCODE_EAN_5ADDON`, `BARCODE_EAN13`, `BARCODE_EAN8_CC` and
  `BARCODE_EAN13_CC` as replacements for `BARCODE_EANX`,
  `BARCODE_EANX_CHK` and `BARCODE_EANX_CC` and use in CLI/GUI
  (`BARCODE_EANX` etc. marked as legacy)
- For EAN/UPC accept space as alternative add-on separator to '+',
  and accept GTIN-13 format with & without 2-digit or 5-digit
  add-on (no separator)
- Buffer length of member `errtxt` in `zint_symbol` extended 100
  -> 160 (will be sufficient for eventual translation and
  gs1-syntax-dictionary errors hopefully)
- UPC-E: warn if first digit of 7 (or 8 if check digit given) not
  '0' or '1'
- manual: update for new EAN symbologies and mention EANX now
  legacy but still supported
2025-04-16 22:26:43 +01:00
Sandro Jäckel
9265abd9e1 Fix installation of cmake files
When binaries, libs and development files like include or cmake files
are installed to different target directories then those where before
relatively installed to the binary and not in the correct directory
where other development related files where installed.

Tested inside of nixpkgs with zxing using the system library of zint.
2025-04-13 17:51:37 +01:00
gitlost
8758ebd420 test suite: testcommon.c: NOLINT clang-tidy-20.1.2 false positive 2025-04-13 17:45:19 +01:00
gitlost
0b7103e21e EAN-8: specify in check digit error
test suite: deal with ZXing-C++ changes re DBAR and EAN/UPC with
  add-ons
2025-04-13 17:25:13 +01:00
gitlost
26805338f8 RAW_TEXT: expand UPC-A, UPC-E to EAN-13, and EAN-8 if has add-on,
and place any add-on data directly after (no separator)
EAN-8 + add-on: warn as non-compliant (see ZXing-C++ issue #883,
  https://github.com/zxing-cpp/zxing-cpp/issues/883)
test suite: BWIPP: use new EAN-8 + add-on option "permitaddon";
  fix dumps of RAW_TEXT `memcmp()`s fails; various re-formatting
bwipp_dump.ps: update to latest BWIPP
2025-04-11 13:02:59 +01:00
gitlost
182c84fa4d MAILMARK_2D: fix postcode validation: no limited alphanumerics,
spaced-out DPS "outward"-only allowed, all-blank DPS allowed
  (ticket #334, props Milton Neal)
2025-04-09 00:10:51 +01:00
gitlost
86363ff0f7 ITF-14/EAN-14/NVE-18: allow check digit to be given and then
verified;
  allow and ignore prefixes "01", "[01]" and "(01)" (or "00" etc
  if NVE-18) if check digit given, following commit [789e04]
  (ticket #333)
2025-04-07 17:25:44 +01:00
gitlost
d886ecf5c7 test suite: test_upcean: fix test_hrt not actually testing
`BARCODE_RAW_TEXT`
2025-04-07 13:32:56 +01:00
gitlost
8c09123d8b Re last commit, keep line length <= 118. 2025-04-05 01:35:42 +01:00
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
2.15.0
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