Commit Graph

41 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
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
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
c693482aa1 Change height and row_height array to floats; DAFT tracker ratio 2021-06-19 13:11:23 +01:00
gitlost
f62a678d0f #209 suppress CodeQL warnings except CODEONE; simplifications AZTEC_RUNE, MICROPDF417 2020-12-23 10:57:24 +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
c245a11da2 #181 auspost fix, check input immediately; test for EANX double + fix 2020-03-25 15:40:13 +00:00
gitlost
bca82ecc0d libzint.so: suppress exporting INTERNAL functions to the shared library; ZINT_TEST 2019-12-19 00:37:55 +00:00
Robin Stuart
57075248ff Remove error correction bug for Australia Post symbols
Bug found by Milton Neal <miltonneal@bigpond.com>
2018-03-15 19:17:34 +00:00
Robin Stuart
38150ce931 Correctly add leading zeroes to Australia Post symbols
Bug fix by Erik Salaj <eriksalaj@gmail.com>
2018-02-03 11:41:35 +00:00
Boris Zentner
31cc0ae78a Remove spaces before EOL 2017-10-25 17:23:57 +01:00
Boris Zentner
45441a6da7 Fix mixed unix / windows EOL 2017-10-25 17:15:35 +01:00
Harald Oehlmann
f83e5b1501 Make compile with MS-VC6 2017-10-16 19:26:54 +02:00
Rodrigo Torres
4963a772db Refactor 2017-09-11 19:21:33 +01:00
Robin Stuart
1882d76b70 Update version to 2.6.1 2017-08-27 09:31:02 +01:00
Robin Stuart
608b4b9134 Audit of error codes 2017-07-27 16:01:53 +01:00
Robin Stuart
b3a1b24d18 help the compiler create more efficient code
Patch from Michael <virtual_worlds@gmx.de>
Full text: As usual I have modified only minor things to remove warnigs when compiled as C++ code, have added some const-specifiers where possible to help the compiler create more efficient code and added some static-specifiers to make functions invisible to other modules.
2017-05-29 10:43:47 +01:00
Robin Stuart
4561a66067 Add identifiers to error messages
To ease the debug process
2016-10-28 22:40:40 +01:00
Robin Stuart
2c2200a7cb modifications for VS2015, some
additional static/const's and a few bugfixes for HanXin and DotStream.

Patch by Michael <virtual_worlds@gmx.de>
2016-09-05 22:06:50 +01:00
Robin Stuart
f17f10fa7c Replace local concat() and roundup() with C library defaults
Patch by Oxy (Michael) <virtual_worlds@gmx.de>
Ref: https://sourceforge.net/p/zint/mailman/message/34896811/
2016-03-02 21:12:38 +00:00
Robin Stuart
5d9ce6f684 Improvements from Oxy patch
Original email reads...
It does not contain any fundamental changes or new functions but a lot of improvements which I have done over time (added several const/static specifiers, replaced repeated if-conditions by if-else, removed some warnings).
2016-02-29 19:42:32 +00:00
Robin Stuart
77cdf77690 Code format and audit, part 1
Update copyright info, remove unused code, etc.
2016-02-20 09:38:03 +00:00
Robin Stuart
2e59058615 Avoid possible confusion with Windows error code
Bugfix by Oxy Genic
Ref: https://sourceforge.net/p/zint/mailman/message/34857131/
2016-02-17 10:37:20 +00:00
Harald Oehlmann
f1f6d4ffc6 Remove unreachable statements.
From
8d2ab1bfcf
2015-10-16 14:26:13 +02:00
Harald Oehlmann
b7b7564457 Make command line version compile with MS-VC6 and QT-Version with MS-VC8 2015-08-18 13:50:42 +02:00
oxygenic
1a7863520b license changed with permission of original copyright holders (see mailing list for details) 2013-05-16 19:26:38 +02:00
openapc
bf2dbe7494 code reworked 2012-12-29 19:37:03 +01:00
Robin Stuart
cc5e18211b Tidy up error correction in Australia Post.
Thanks to Ismael Luceno.
2011-03-08 10:16:18 +00:00
hooper
2300a76a07 Add size restrictions for some barcode types
No longer allows symbols of size less than 2mm high or 2mm wide
Enforces correct sizing for Australia Post, Intelligent Mail, Royal Mail 4-State and KIX Code
Adjusts ascender/tracker/descender proportions on all 4-state codes to revised 3/2/3 standards
Enforces normative sizing for UPC and EAN
Enforces minimum sizing for Codabar and Code 49
Tidies up the code a bit so that all of the above makes some sense
2010-09-12 11:54:47 +01:00
hooper114
1ff9c0d472 Add corrections from tgotic 2009-10-06 19:03:00 +00:00
hooper114
04b9a99241 API overhaul part 1: removal of nullchar 2009-09-29 09:45:46 +00:00
hooper114
776154d3fe MSVC corrections thanks to Norbert Szabó 2009-08-06 18:48:42 +00:00
hooper114
cb0e4e27e8 Converted zint_symbol structure usage to a more compressed format 2009-05-31 20:33:54 +00:00
hooper114
a2c76b76ae Australia Code bugfix (concatinating unset string) 2008-12-24 21:26:38 +00:00
hooper114
88cc19bab1 Change of e-mail address 2008-11-17 08:47:42 +00:00
hooper114
3db0fa77e4 Add leading zeroes rather than fail 2008-10-12 21:05:53 +00:00
hooper114
944a754fee Corrected reed-solomon/Data Matrix bug 2008-10-12 18:52:54 +00:00
hooper114
844dfdebef Updated error handling 2008-10-05 05:51:58 +00:00
taipanromania
b1b43da367 warnings -- 2008-10-03 09:26:27 +00:00
hooper114
5b10d056c2 Reduced warnings about signedness 2008-09-30 15:05:53 +00:00
factor
52aa6fdb27 Initial revision 2008-07-13 21:15:55 +00:00