Commit Graph

181 Commits

Author SHA1 Message Date
gitlost
fab7435fac Performance improvements for linear encoding and raster output
- use fixed-length string tables (mostly) instead of (char *) pointer ones
   (saves ~40K)
 - re-use C128Table for CODABLOCKF and CODE16K
   (required removal of Stop character and extra CODE16K-only entry)
 - use pointer to destination and copy (memcpy/strcpy(), bin_append_posn())
   instead of concatenating (strcat()) (mostly)
 - replace last remaining bin_append()s with bin_append_posn();
   bin_append() removed
 - add length arg to toupper() and expand() (avoids strlen())
 - change is_sane() to use table-based flags (avoids an iteration)
 - rename lookup() to is_sane_lookup() and change to check and return posns
   and use in pointer to destination loops (avoids strcat()s)
 - remove special case PHARMA in expand() (dealt with in pharma())
 - make #define SILVER/CALCIUM/TECHNETIUM/KRSET etc static strings
 - replace strchr() -> posn()
 - CODE128: populate destination once in checksum loop; re-use and export
   some more routines (c128_set_a/b/c(), c128_put_in_set()) for sharing;
   prefix defines (SHIFTA -> C128_SHIFTA etc) and existing exported routines
 - use factor XOR toggle trick in checksum calcs (avoids branch)
 - raster.c: fill out single 1-pixel row and copy using new draw_bar_line(),
   copy_bar_line() routines; similarly in buffer_plot compare previous line &
   copy if same (same technique as used to improve non-half-integer scaling,
   significant performance increase, (c) codemonkey82);
   also done for PNG (BMP/GIF/PCX/TIFF not done)
 - raster/vector/output.c: shorten "output_" prefix -> "out_";
   sync vector to other raster changes to try to keep source files similar
 - 2of5.c: prefix "c25_"
JAPANPOST: return error if input data truncated (backward incompatible)
DAFT: max chars 50 -> 100
common.c: istwodigit() -> is_twodigit()
common.c/emf.c/output.c: use some further stripf()s (MSVC6 float variations)
library.c: new check_output_args() helper
zint.h: add BARCODE_LAST marker and use in library.c
QRCODE: remove a NOLINT (requires clang-tidy-13), one remaining
CMake: separate no-optimize from ZINT_DEBUG into new ZINT_NOOPT option
2021-10-20 23:05:30 +01:00
gitlost
e8b59aa696 height max 500 -> 2000 to allow for 44 row CODABLOCKF at 45X each 2021-10-18 14:05:51 +01:00
gitlost
0b8c488853 GUI: fix quietzones, compliantheight per symbology setting/saving
GUI: DATAMATRIX: move automatic size checkboxs to under Size and add label
2021-10-13 15:31:28 +01:00
gitlost
72eac41c34 Add compliant height, using ZINT_COMPLIANT_HEIGHT flag for back-compatibility
Rename barcode funcs to same as BARCODE_XXX name
library: barcode funcs array for dispatch, used for ZBarcode_ValidID() also
general: change is_sane() comparison to nonzero from ZINT_ERROR_INVALID_OPTION
MAILMARK: fuller error messages
CODABAR: add option to show check character in HRT
zint.h: use 0xNNNN for OR-able defines
GUI: add guard descent height reset button, add Zint version to window title,
  static get_zint_version() method, use QStringLiteral (QSL shorthand),
  use SIGNAL(toggled()), add errtxt "popup" and status bar, add icons,
  add saveAs shortcut, add main menu, context menus and actions, add help,
  reset_view() -> reset_colours(), add copy to clipboard as EMF/GIF/PNG/TIF,
  lessen triggering of update_preview(), shorten names of getters/setters,
  simplify/shorten some update_preview() logic in switch,
  CODEONE disable structapp for Version S
qzint.cpp: add on_errored signal, add missing getters, add test
2021-10-09 00:13:39 +01:00
gitlost
206ae26d20 ULTRA: add revision 2 support (based on BWIPP 2021-09-28 update)
GUI: DMATRIX: disable DMRE if SQUARE checked; ULTRA: Size/Ecc buttongroup
2021-09-29 16:25:59 +01:00
gitlost
c0791ad85e Add Structured Append support for AZTEC, CODEONE, DATAMATRIX, DOTCODE,
GRIDMATRIX, MAXICODE, MICROPDF417, PDF417, QRCODE, ULTRA
DOTCODE: use pre-calculated generator poly coeffs in Reed-Solomon for
  performance improvement
PDF417/MICROPDF417: use common routine pdf417_initial()
GUI: code lines <= 118, shorthand widget_obj(),
  shorten calling upcean_addon_gap(), upcean_guard_descent()
various backend: var name debug -> debug_print
2021-09-28 21:42:44 +01:00
gitlost
9884875fd5 GUI: fix dot size label position 2021-09-25 14:44:32 +01:00
gitlost
4284f3c578 Add output_options BARCODE_QUIET_ZONES and BARCODE_NO_QUIET_ZONES 2021-09-24 13:21:24 +01:00
gitlost
da80d44196 GUI: fix setting guard descent for UPC-A ([4009c8]) 2021-09-24 11:06:15 +01:00
gitlost
4009c86c5f UPC/EAN: Add guard_bar descent (guard_descent)
zint.h: Adjust field order to improve alignments; encoded_data 143 -> 144
2021-09-22 00:04:15 +01:00
gitlost
9bae0b86f9 - raster.c: Need ceilf(symbol->height * si) to avoid heap-buffer-overflow;
also avoid distributive multiplication with floats to lessen chances of
  platform variation (#204 ARM-Cortex crash)
- raster.c: Don't allow for text if scale < 1.0
- raster.c: Cast some indexes to (size_t) to allow for large scale
- vector.c: Check malloc()s and return ZINT_ERROR_MEMORY on fail
- raster/vector.c: various var name changes & other code fiddling
- library.c: Check that scale/height/whitespace/border are reasonable values:
  scale (0.01-100), height (0-500), whitespace_width/height (0-100),
  border_width (0-100)
- CLI: allow both e.g. '-height' and '--height' (getopt_long_only())
- gif.c: fix GIF_ZLW_PAGE_SIZE -> GIF_LZW_PAGE_SIZE
- GUI: allow whitespace/scale to 100
2021-09-20 14:56:27 +01:00
gitlost
537990e32e GUI: Add missing grpC93.ui ([bd0640]) 2021-09-16 10:09:29 +01:00
gitlost
bd06400a5b CODE93: add option_2 = 1 to display check chars in HRT 2021-09-13 18:49:25 +01:00
gitlost
f84f82d9a2 GUI: Separate out SCM fields for MAXICODE (Ticket #212)
vector.c: Enforce minimum scale 0.1 and allow down to 0.1 in GUI
2021-09-09 21:50:02 +01:00
gitlost
492d9a41c5 GUI: remove refs to AspectRatioMode and mark as legacy (#243) 2021-09-05 21:52:00 +01:00
gitlost
67b2a9c99d RMQR: add ECI support; GUI/CLI: fix dev version test 2021-08-20 16:50:39 +01:00
gitlost
62cc9e49f5 Bump version to 2.10.0.9 (dev) 2021-08-14 16:11:25 +01:00
gitlost
a4c67174cd frontend(_qt)/CMakeLists.txt: add Windows rc files 2021-08-12 14:54:21 +01:00
gitlost
546114ed1e backend_tcl/lib/zint/pkgIndex.tcl: fix version, props HaO; run autoconf
ChangeLog: fix version number/date, props HaO
GUI: remove "Windows port by..." and place in thanks
2021-08-11 19:39:39 +01:00
gitlost
a04a44f1e6 Update zint version to 2.10.0 2021-08-10 16:14:10 +01:00
gitlost
14d1140d09 CODABLOCKF: prevent cols > 62; fix pTestList buffer overflow
RMQR: update to new draft ISO/IEC JTC1/SC31N000 (Draft 2019-6-24);
  allow for righthand vertical timing pattern in populate_grid()
ULTRA: update max size and min cols based on BWIPP 2021-07-14 update
backend_tcl/zint_tcl.dsp: use /MD instead of /MT for tcl lib compat;
  change include/lib path to more standard one
manual.txt: highlight that rMQR is still in development
GUI: use cross-platform smaller font func instead of explicit values for notes
2021-08-10 12:04:25 +01:00
gitlost
b015e38da0 composite: fix buffer overflow for large linear, small composite (500 -> 1000)
composite: clear errtxt when bumping from CC-A -> CC-B -> CC-C
composite: CC-C adjustment 53 -> 52 (same as BWIPP) with proper explanation
composite: remove unneeded > 11805 length check
CODEONE: remove unneeded extended ASCII check in C40 count
GS1_128/CODE16K: remove unneeded initial GS1 mode '[' check
PDF417: remove unneeded second option_2 > 30 check
Document some "Not reached" lines (code coverage)
Update bwipp_dump.ps
GUI: window/tab height +5 so 2 full lines for composite edit box (Ubuntu)
manual: dash -> hyphen, PDF417 "check digit" -> "error correction", DMRE ref
tests: further test cases for CODEONE/CODE16K/common/composite/DATAMATRIX/
DOTCODE/gs1/MAXICODE/PDF417/postal/QRCODE
2021-08-05 16:34:45 +01:00
gitlost
f0bfb8d920 zint-qt: About: thanks to Alonso Schaich, Andre Maute 2021-07-27 10:25:17 +01:00
gitlost
2e84fd5157 Replace WARN_ZPL_COMPAT with GS1NOCHECK_MODE 2021-07-13 17:39:03 +01:00
atom
3e995c70fb Simpily CMakeLists 2021-07-07 12:39:21 +03:00
gitlost
3c1869b032 library: compat symbology 39 fix; ISBN: "X" check
WARN_FAIL_ALL: always return error: ZINT_ERROR_USES_ECI/NON_COMPLIANT
Fuller error messages; more comments zint.h
mainwindow.cpp: replace metaobject ENUM with array
  (suppresses virtual in constructor warning)
2021-07-06 19:53:31 +01:00
gitlost
4d3aae45d0 testcommon: fix sizeof bug; AZTEC/QR: suppress cppcheck warnings (#233) 2021-07-06 12:13:34 +01:00
gitlost
54947fb435 Restore backend_qt - static only now; qzint: legacy support for renamed methods 2021-06-24 18:31:08 +01:00
gitlost
c693482aa1 Change height and row_height array to floats; DAFT tracker ratio 2021-06-19 13:11:23 +01:00
gitlost
4a8cac2a5a CODEONE/DATAMATRIX/MAILMARK/PLESSEY: fix some 32-bit/portability bugs
PLESSEY: add options NCR weighted mod-10, hide check digit(s) in HRT
test suite: now runnable under MSVC 2019, 2017, 2015, MinGW/MSYS
win32/README: update with MSVC 2019 and CMake instructions
2021-06-10 11:15:39 +01:00
gitlost
9b63e2ae22 DOTCODE: allow for max 200 cols in CLI, GUI, Tcl; more detailed size error messages 2021-05-28 15:05:06 +01:00
gitlost
00e8cb0904 Add whitespace_height to zint_symbol (vertical whitespace) 2021-05-25 20:42:26 +01:00
gitlost
ed761e897d Use zint-64.svg - add missing frontend_qt/res/zint-qt.ico 2021-05-23 13:19:54 +01:00
gitlost
8e9e007b52 Use zint-64.svg - add zint-qt.svg and zint_black.svg 2021-05-20 18:47:41 +01:00
gitlost
cfcb586f4b Use zint-64.svg from https://github.com/frhun/flathub for smoother icons, props frhun 2021-05-20 18:22:57 +01:00
gitlost
f3a94f0c0c C25STANDARD/C25INTER/C25IATA/C25LOGIC/C25IND: add check digit option (#216) 2021-05-17 20:04:00 +01:00
gitlost
79d3c1dc7a Add GS1PARENS_MODE (input_mode) to allow inputting GS1 AIs in parentheses 2021-05-15 12:23:46 +01:00
gitlost
7f74414666 eci.c: fix bad bug in Korean, return EUC-KR instead of raw KS X 1001 2021-03-20 14:36:21 +00:00
gitlost
2c053c325a tif.c: Use palette/bilevel/LZW to reduce file size, alpha/CMYK support 2021-03-19 13:09:21 +00:00
gitlost
badd9e59ad Fix UPCEAN small font ignored/disabled (introduced [1adba1]) 2021-03-19 00:12:13 +00:00
gitlost
c875371289 #221 Use cmake import targets for the Qt dependency (Xml), props Schaich Alonso 2021-03-11 11:41:13 +00:00
gitlost
6274140c73 CODEONE: various fixes, ECI support; #209 2021-02-05 23:55:24 +00:00
gitlost
94ece47f08 GUI: suppress "Qt WebEngine seems to be initialized from a plugin" warning 2021-01-28 20:43:26 +00:00
gitlost
f6bed3acb2 DOTCODE: Fix best_mask -> high_score prime test; manual mask 2021-01-22 18:07:59 +00:00
gitlost
7fe930b4dc eci: Add support for all ECIs (Big5, Korean, UCS-2BE) 2021-01-11 18:11:41 +00:00
Harald Oehlmann
e9c55847cf make qtzint on WIndows: Instructions updated.
Martin provided the attached frontend_qt.pro file which includes the zint library (Thanks !)
2021-01-05 17:34:50 +01:00
gitlost
2b85585e69 MAXICODE: scmvv option #212; postcode needn't be space-filled 2020-12-19 17:13:35 +00:00
gitlost
3e93968781 AZTEC: add "X Layers" to GUI "Adjust Size To"; buttongroup Size/ECC 2020-12-17 15:12:56 +00:00
gitlost
cd214addba HANXIN: 0xFFE terminator; reedsol/AZTEC: stack-based; AZTEC/HANXIN/QR/GRIDMATRIX speedups; #209 2020-11-27 12:54:44 +00:00
gitlost
4b7561ab29 Remove further refs to QZint; win32/README; add zintconfig.h to Win make files 2020-11-24 22:22:12 +00:00
Robin Stuart
f9b639ed9c Move QZint class into frontend binary 2020-11-22 20:17:46 +00:00
Robin Stuart
3eb31fe3f8 Take version information from CmakeLists.txt
Warning: potential incompatibility because version number is no longer stored in zint.h
2020-11-22 11:29:45 +00:00
gitlost
6bdd7e8509 GUI: Retab data/export/sequencewindow.cpp (no code changes) 2020-10-27 15:21:50 +00:00
gitlost
d2f86e01e6 GUI: Use UTF-8 for QSettings (non-ASCII was getting garbled on restore) 2020-10-27 15:11:33 +00:00
gitlost
943ba79866 AZTEC: fix bit-stuffing; AZTECRUNE: fix >= 128; DATAMATRIX: eod shift -> 0 pad; Qt6 2020-10-26 12:21:43 +00:00
gitlost
0617a5fec0 GUI: tooltip tables too spaced; tests: Ultracode READER_INIT, more signedness fixes 2020-10-04 14:27:28 +01:00
gitlost
e37a82a8f1 Tabs/typo in zint.h; PostNet -> POSTNET; ui: shortcuts, tooltips; tests inkscape -> libreoffice 2020-10-03 22:51:08 +01:00
gitlost
36c19053d7 vector.c: string halign; POSTNET/PLANET: 1 module space; ZBarcode_Cap(); GUI settings 2020-09-30 12:19:12 +01:00
gitlost
ac7b5dd282 #206 build: version to 2.9.1.9; ZINT_VERSION_BUILD (9 dev); tools/update_version.php 2020-09-04 16:38:11 +01:00
Robin Stuart
88d6f955ab Bugfix: Code16k selects GS1 mode by default in GUI 2020-08-09 08:21:21 +01:00
Harald Oehlmann
b78fa8cf2f - Compile-able with MS-VC6
- Compile-able with MS-VC2015+QT5.18
- transbarency in TCL backend
- correct TCL demo
- README changes
2020-08-04 15:49:25 +02:00
Robin Stuart
fd9aa785ab Make alpha channel available from GUI 2020-08-03 21:08:48 +01:00
Robin Stuart
3639072605 Add DPD to GUI 2020-08-03 17:27:42 +01:00
gitlost
18e3b41e0f #201 raster/vector: bind/box check border_width > 0 2020-07-31 22:56:41 +01:00
Robin Stuart
e9652df70c Change PDF417TRUNC -> PDF417COMP and version 2.8 -> 2.9 2020-07-29 22:35:31 +01:00
Robin Stuart
0004cfb35a Change symbol names e.g. RSS > GS-1 DataBar
Preserves old names in zint.h to retain backwards compatability.
2020-07-29 20:43:08 +01:00
gitlost
dd2bdb4335 CODE128: hrt always UTF-8; CODE128/EXCODE39/CODE93: blank same NUL/ctrl/DEL chars 2020-07-19 00:13:03 +01:00
gitlost
74ad80976e PDF417TRUNC: stop pattern; PDF417: no default mode codeword 900 if 1st 2020-07-17 16:39:01 +01:00
gitlost
2a19b883a5 UPC/EAN, ITF14: quiet zones, addongap; raster/vector: sync code, use double 2020-07-15 19:00:12 +01:00
gitlost
c1fb51ba42 rss.c: some fixes for separators, allow check digit, refactoring; bwipp_dump.ps 2020-07-10 19:39:32 +01:00
gitlost
9db5dd15c2 Windows: #196 Visual Studio 2017 Zint Studio instructions 2020-06-17 20:46:18 +01:00
gitlost
6242e02638 CODEONE/ULTRA overrun fixes; TELEPEN fixes; CODEONE/LOGMARS/VIN/CODABAR options; GUI updates; tests 2020-06-04 18:45:25 +01:00
gitlost
7be63a00b6 CODE16K fixes; separator default 1; raster/vector.c quiet_zones, output.c; #191 2020-05-21 18:22:28 +01:00
gitlost
8dcd09406c CODABLOCKF and CODE128 fixes; row separator height option_3; #191 2020-05-16 10:22:33 +01:00
Robin Stuart
4b584a6344 Add Ultracode options to UI 2020-04-07 18:09:53 +01:00
Robin Stuart
0628e3ee4d Update version 2.7.1 > 2.8.0 2020-04-07 17:27:45 +01:00
Robin Stuart
0d26948baa Merge branch Ultra 2020-04-06 17:05:22 +01:00
Robin Stuart
a63f3af6a4 Add Ultracode to Qt frontend 2020-04-06 16:37:34 +01:00
Harald Oehlmann
0c5dc4d030 Set version to 2.7.1 2020-02-01 19:36:50 +01:00
Harald Oehlmann
dd6de21008 Add changes since 2.7.0. Update InnoSetup file. 2020-01-27 08:51:53 +01:00
gitlost
b00b227b4f PDF417 no longer uses option_3 for no. codewords so set default 0 & remove from Studio 2019-12-19 20:29:11 +00:00
Harald Oehlmann
e03d03c877 Update version to 2.7.0 2019-12-05 20:16:39 +01:00
Harald Oehlmann
045a9e3b00 Make zint compile on MS-VC6. Adopt makefiles to new file list. 2019-12-05 19:19:37 +01:00
Robin Stuart
05784fb9cf Add UI options for rMQR
And update manual to include rMQR
2019-11-27 16:54:03 +00:00
Robin Stuart
ac00e381a6 Add rMQR to Barcode Studio
and perform some code beautifying at the same time
2019-11-25 21:20:21 +00:00
Harald Oehlmann
23ec0d48fc Make compile with ms-vc6 (zint, tcl) and VS2015 (qzint) 2019-11-17 19:30:55 +01:00
gitlost
3b87cd4ec6 EAN128_CC ecc, cc_width, rows and alignment adjustments 2019-11-05 14:16:48 +00:00
Robin Stuart
1564cd7a34 Add Automatic Height option to UI and enable by default
Brings UI default settings in line with CLI default settings
2019-10-21 08:29:21 +01:00
Harald Oehlmann
6e1283ccd8 2019-10-07 2.6.7 HaO Set version to 2.6.7, documentation, readme 2019-10-07 11:57:35 +02:00
Harald Oehlmann
6751a816a6 2019-09-19 HaO Set Version to 2.6.6 2019-09-18 11:58:57 +02:00
Harald Oehlmann
5c5bf9f635 Merge /u/gitlost/zint/ branch microqr_version_option into master
https://sourceforge.net/p/zint/code/merge-requests/10/
2019-09-02 12:20:00 +00:00
gitlost
c5b03f665a Fix microqr version option out-by-one 2019-09-02 11:43:14 +01:00
Harald Oehlmann
40aab7908b 2018-08-30 2.6.5 HaO Set version to 2.6.5 2019-09-02 12:37:01 +02:00
Harald Oehlmann
6949143419 2018-08-30 2.6.4 HaO Set version to 2.6.4 2019-08-30 19:18:14 +02:00
Harald Oehlmann
202acd9d3e 2018-08-30 HaO Change qzint DMRE titels to DMRE only (not ISO/DIN) 2019-08-30 18:47:18 +02:00
Harald Oehlmann
0a55f5839e 2018-08-30 HaO Change DMRE from AIM standard to ISO/EC29158 DMRE (not backward compatible) 2019-08-30 18:41:58 +02:00
Robin Stuart
ffd1ed2d6b Update version number to 2.6.3 2018-02-15 10:46:02 +00:00
Robin Stuart
389bcce10f Add Royal Mail Mailmark to front end 2018-02-09 20:55:17 +00:00
Robin Stuart
c55340f4f3 Remove DMatrix option bug in UI
Do not change value of option3 if user has selected a Data Matrix symbol size.
If a warning is generated when saving, make this visible to user.
Fixes #85 reported by Harald Oehlmann
2017-12-19 22:01:45 +00:00
Harald Oehlmann
9f50714b44 Added DMRE size 26x40 2017-12-19 19:00:33 +01:00