1
0
mirror of https://github.com/woo-j/zint.git synced 2024-12-23 01:33:55 +03:00
Commit Graph

1691 Commits

Author SHA1 Message Date
gitlost
fb3b3001aa - GS1: fix square brackets treated as FNC1 in GS1PARENS_MODE by
changing internal FNC1 marker '[' -> '\x1D' (GS), ticket #319,
  props Moli Sojet;
  also fix non-AI square brackets -> round brackets in GS1_128 HRT
- BWIPP: update to latest
2024-07-11 00:35:13 +01:00
gitlost
7246d67175 gs1/gs1_lint: update to latest gs1-syntax-dictionary, removing
`iso3166list` linter and adjusting all others to allow for
  multiple optional linters (by checking `data_len` vs `offset`)
library: change invalid `input_mode` reset to return warning;
  split func table into 2 - func declarations without prototype
  will be error in C23;
  make invalid symbology check a separate function using a table
  and call near beginning of `ZBarcode_Encode_Segs()`;
  in `ZBarcode_BarcodeName()` save some bytes by simplifying
  name table and removing "BARCODE_" prefix from entries
output: fix pack logic to use pragma by default (actually more
  portable than `__attribute__`)
common.h: remove C99 detection which was artifice of specifying
  "-std=", and rejig layout to be more logical
BWIPP: update to latest version
general: change `ZINT_VERSION_BUILD` tests to `#if`s
general: further fiddling with some tables to save a few bytes
CLI: change function arg `optarg` -> `arg` so doesn't shadow
  global
general: library now compilable with Comp Cert C (though as it
  doesn't support `alloca()` will have multiple memory leaks)
2024-06-27 23:00:13 +01:00
gitlost
d70edce067 iso4217: new ISO 4217 currency code 924 for ZWG (amendment no. 177)
(gs1-syntax-dictionary commit [d64e28d])
  TODO: remove 932 ZWL 1 Sept 2024
2024-06-21 16:31:19 +01:00
gitlost
d97fc7e110 CMake: use "GNUInstallDirs" instead of old (2008) KDE
"SetPaths.cmake" (removed) - resolves absolute paths in
  "zint-targets.cmake", ticket #318, props John Alexander;
  also remove "FindZint.cmake" install as not best practice
  (Daniel Pfeifer “Effective CMake"), but retain in tree for now;
  also remove APPLE stuff re UNIVERSAL build, obsolete, and
  setting of CMAKE_OSX_SYSROOT, seems unnecessary
2024-06-21 15:18:00 +01:00
gitlost
04e8cacb81 gs1: Update to latest version of gs1-syntax-dictionary with new AIs
7250-7259 (GSCN 22-246), new checkers `yyyymmdd()`, `iso5218()`,
  `posinseqslash()`; allow for new "?" flag in "gen_gs1_lint.php"
2024-05-29 22:52:34 +01:00
gitlost
83fe2f3fee getopt: fix previous #ifdef 1 -> #if 1 2024-05-28 02:48:08 +01:00
gitlost
a1aefdc50b test_library: suppress size_t -> int warning
getopt: suppress `-Wdeprecated-non-prototype` warnings
2024-05-28 02:39:49 +01:00
gitlost
eb035a6372 GUI: fix foreground/background picker invocations (broken
[f3a982c1dd])
AZTEC/CODE16K/CODEONE/DATAMATRIX/DBAR_EXP/GRIDMATRIX/HANXIN
/MAILMARK_4S/PDF417/MSI_PLESSEY/QRCODE/RMQR/TIF/ULTRA/USPS_IMAIL:
  lessen storage of some tables by using least integral size
  required (saves ~3K); reformat some tables, comments
AUSPOST/AZTEC: remove unnecessary int casts on array indexing
CODE11/CODE39: move start/stop chars into one entry in tables to
  save a few bytes; some reformatting, comments
CODEONE: add `c1_` prefixes
common: more precise compiler/version checks
composite: add `cc_` prefixes; UINT -> unsigned short; use
  `sizeof()` instead of `strlen()` for `in_linear_comp` static;
  some reformatting, comments
EMF: use table instead of string for `ultra_chars[]`
GIF: remove unnecessary cast
library: use `sizeof()` instead of `strlen()` for static;
  add `consts` to `escape_char_process()` & use unsigned for `ch`
DBAR: use `dbar_`, `dbar_ltd_`, `dbar_exp_` prefixes
docs: update pandoc version
2024-05-27 23:19:45 +01:00
gitlost
0a00d04ccc CMakeLists.txt: check against c not c++ (CheckCXX -> CheckC etc)
BMP/EMF/PCX/TIF: use more portable packed attribute instead of
  pragma if not MSVC
CHANNEL: pass ptr not struct to `channel_copy_precalc()`
2024-05-27 20:55:04 +01:00
gitlost
3960dfdbfc AZTEC: workaround MSVC optimizer deciding not to emit code for
inner top/right/bottom/left loops of `az_populate_map()` by
  jiggling them around a bit, ticket #317, props Andre Maute
frontend/tests: clean up any directories created in `test_input()`,
  ticket #316, props Andre Maute
2024-05-27 03:06:27 +01:00
Philip Ye
c8bb299908 Fix legacy width and security level getters/setters in Qt backend
Previously, width is option 2 and security level is option 1.
Seems like in 54947fb435, the definitions
swapped and that breaks the legacy Qt application using setWidth() and
setSecurityLevel().

I know a better solution is make Qt application use setOption2() and
setOption1() respectively, but it's good to keep these legacy APIs
backward-compatible.
2024-05-23 22:46:26 +12:00
gitlost
0eaa9f3e7d GUI: about box: display QSettings config location 2024-03-07 17:03:56 +00:00
gitlost
5390c0df92 GUI: factory reset: reset preview background colour also 2024-03-07 14:16:22 +00:00
gitlost
bdb4fcbcf8 README.macos/windows: fix modified date year 2014 -> 2024 2024-03-07 13:59:09 +00:00
gitlost
55a7369cd8 output: out_fopen() fix _WIN32 def check (ticket #313, props
Axel Waggershauser)
2024-03-05 22:15:00 +00:00
gitlost
624574a64c As get_best_eci() can no longer return 0 remove caller checks
library: simplify dealing one-letter escapes into one case;
  other fiddlings (`first_err` -> `warn_number`)
2024-03-05 22:09:05 +00:00
gitlost
11b3c18aed ECI: get_best_eci(): just assert is_valid_utf8() as checked
prior to being called
manual: update to latest GS1 General Specifications (v24), pandoc
  (3.1.12.1)
2024-02-28 02:57:43 +00:00
gitlost
f0d8901d9e QRCODE: check fopen() return in ZINTLOG debugging code
(ticket #181, props Stf Ortm)
CODE128: suppress gcc -Wmaybe-uninitialized false positive (Release
  only)
CLI: add "isbn" synonym; save a few bytes using `char[]` rather
  than `char *`
2024-02-27 13:36:13 +00:00
gitlost
f312cdf630 CODE128: simplify bitmask in qr_add_version_info() (ticket #110,
props Daniel Gredler);
  check for next shift rather than next in `c128_dxsmooth()` to
  improve encodation on A/B shifting, props Daniel Gredler (Okapi)
2024-02-10 16:08:18 +00:00
gitlost
e167f5b534 test suite: zxing-cpp: adjust for returnCodabarStartEnd no-op;
allow for old "libpng" (`png_set_scale_16()` not available)
general: Solaris compat
library: use proper function ptr instead of `void *` for function
  table; warning suppression "-Wpedantic" -> "-Wstrict-prototypes"
GRIDMATRIX/HANXIN/QRCODE: `xx_define_mode()`: multi-dim `char_modes`
2024-02-06 13:01:35 +00:00
gitlost
7b41dfbee2 - ITF14/DPLEIT/DPIDENT: ignore option_2 (check digit options)
- GUI: scalewindow: fix cropping resolution on initial setup
  (`spnResolution` max 1000 -> 254000) and bound X-dim to <= 10 in
  `set_maxima()`
- GUI: mainwindow: bound X-dim as above and clamp `m_xdimdpVars`
  members on initial load from INI
- GUI: undo `QString::mid()` -> `QString::midRef()` from clazy
  & explicitly include "QObject" in "qzint.h" (not Qt6 compatible)
2024-01-25 00:10:34 +00:00
gitlost
7c1bdba8ae output: use doubles when converting in out_colour_get_rgb()
and `out_colour_get_cmyk()`, to lessen chances of rounding
  errors (in particular for VC6)
test_large: fix regression in change to test for formatting
  `uint64_t` for `printf()`
win32/README: update MinGW/MSYS Qt version
2024-01-19 09:28:03 +00:00
gitlost
57fac4048d frontend/CMake: fix HAVE_GETOPT -> HAVE_GETOPT_LONG_ONLY 2024-01-17 22:04:18 +00:00
gitlost
1449866d18 CMake: check for getopt_long_only() instead of just getopt()
so behaviour of CLI same
general: AIX compat, suppress some warnings
2024-01-17 21:55:11 +00:00
gitlost
bead450f38 - BMP/EMF/PCX/TIF: fix endianness on big-endian machines (note TIF
now always written as little-endian - simplifies testing)
- READMEs: add date updated
2024-01-17 01:45:45 +00:00
gitlost
cf04ac15b0 general: use explicit float consts rather than calced ones
manual: remove extra tags from "manual.txt" and clean up table
  captions
2024-01-09 18:38:21 +00:00
gitlost
f3a982c1dd fuzz.h: fix upper/lowercase flags
GUI: suppress clazy warnings
2024-01-05 22:55:57 +00:00
gitlost
d42eb13841 AZTEC: change max byte count from assert() to if as overlong data
can trigger it (fuzz_data (1st))
2024-01-04 22:43:41 +00:00
gitlost
3cb724253b Add fuzz stuff ("backend/tests/fuzz"), including OSS-Fuzz
"Dockerfile" etc
PDF417: lessen some debug verbosity
gif: use "gif_" prefix; some code fiddling
2024-01-04 20:11:04 +00:00
gitlost
2a55ba0cef GUI/manual/man page: bump year 2023 -> 2024 2024-01-01 13:26:49 +00:00
gitlost
f37831bfef GUI: About box: make smaller so fits on screen in most situations
by removing "Currently supported standards" box (which was
  pretty unreadable anyway)
2024-01-01 13:07:53 +00:00
gitlost
3950b49050 filemem: fix fwrite() return check in fm_write();
test `ferror()` also in `fm_err()` if `err` zero and file
NetBSD: add instructions and some workarounds (`getopt_long_only()`
  in particular)
qzint: check `__GNUC__` version for "-Wstringop-truncation"
  suppression
2023-12-29 19:34:44 +00:00
gitlost
98f86727cc Add BARCODE_MEMORY_FILE to symbol->output_options to allow
outputting to in-memory buffer `symbol->memfile` instead of to
  file `symbol->outfile`, ticket #301
Add "README.clang-tidy" and ".clang-tidy" options file
Suppress some warnings
2023-12-27 19:20:19 +00:00
gitlost
070162214b - raster/BMP/GIF/PCX/TIF: fix dealing with very large data (use
`size_t` as appropriate)
- BMP: lessen heap memory usage by only `malloc()`ing a row, not
  whole file
- GIF: lessen heap memory usage by paging (also simplifies some
  function returns); use standard colour char map
- raster: add `raster_malloc()` to fail > 1GB (avoids very large
  output files that most systems can't handle; also lessens to
  some degree chances of being victim of OOM killer on Linux)
- GUI: printing scale dialog: set maxima on X-dim and resolution
  to keep scale <= 200
2023-12-22 21:29:54 +00:00
gitlost
6ff485e6fa Bump version to 2.13.0.9 (dev) 2023-12-18 10:28:14 +00:00
gitlost
a9b526be08 Version 2.13.0 2023-12-18 09:44:47 +00:00
gitlost
aba04df25e backend_tcl: add USE_TCL_STUBS & USE_TK_STUBS defines to
"zint_tcl.dsp"; remove previous note added to "readme.txt",
  props Harald Oehlmann
2023-12-18 08:57:49 +00:00
gitlost
27465451e2 backend_tcl: add "licence.txt"; add note to "readme.txt"
re LINK32 tcl/tk libs
update_version.php: add year replace for "licence.txt" above
2023-12-16 16:44:02 +00:00
gitlost
29a602c465 win32: add missing "zint.sln", "zint.vcxproj", "libzint.vcxproj"
update_version.php: remove "win32/vs2015/vsx/libzintMD.vcxproj"
2023-12-16 14:54:20 +00:00
gitlost
f59bad1e6d win32: update README, changing Visual Studio example from
2017 -> 2022 (2017 moved to "vs2017") and simplifying lpng
  build (use "nmake" - "libpng16_static.lib" -> "libpng.lib");
  update various ".sln", ".vcxproj" & "*.pro" files
update_version.php: update copyright year also in "*.rc" files
manual: note Ultracode 2023 now released but not yet supported
2023-12-16 13:06:48 +00:00
gitlost
c9f0e61d78 emf/eps: fix previous gws_left/right_fudge hack 2023-12-15 18:52:41 +00:00
gitlost
40a4bb9da0 vector: make sure BIND_TOP trumps BIND/BOX always (fixes extraneous
whjitespace at bottom of CODABLOCKF/CODE16K/CODE49 if BIND_TOP
  set); add left/right fudge to guard whitespace placements so
  appear closer to edge for SVG/qzint (undone by EMF/EPS)
2023-12-15 10:51:51 +00:00
gitlost
ecbd582cae manual: pandoc latest release (3.1.10)
test suite: UPNQR: input zxing-cpp
2023-12-14 11:03:50 +00:00
Harald Oehlmann
2e350232de Extend stubs require string to an open string 2023-12-11 19:03:24 +01:00
Harald Oehlmann
03948c1d28 Comply to TCL/Tk 9 C library. See https://core.tcl-lang.org/tcl/wiki?name=Migrating+C+extensions+to+Tcl+9 2023-12-11 18:51:21 +01:00
gitlost
406fa0b086 test suite: zxing_cpp: -hints -> -opts
BWIPP: update to latest version
2023-12-11 12:21:31 +00:00
gitlost
0a6280dd80 HANXIN/QRCODE: fix incorrect numeric costings (out-by-1) in
`qr_in_numeric()`/`hx_in_numeric()` (restrict to 3, not 4),
  ticket #300 (#16), props Andre Maute
manual: "Maxicode" -> "MaxiCode"; add max capacities for matrix
  barcodes
2023-12-09 10:07:11 +00:00
gitlost
4a340ab614 manual: CODABLOCKF: min/max for rows/cols 2023-12-07 13:53:26 +00:00
gitlost
de90de99ae man page: line separate --vers matrix tables
test suite: zxingcpp "rMQR" -> "RMQRCode"
2023-12-06 12:05:45 +00:00
gitlost
fe56c030b0 QRCODE: refactor last commit to separate out GS1 branch in
`qr_in_alpha()`
2023-12-05 22:47:46 +00:00