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

35 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
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
eb6e5daa2d raster.c: need ceilf(large_bar_height * si) to avoid zero height rows;
also improve non-half-int interpolation performance
raster/vector.c: use new stripf() func in "common.c" to workaround gcc
  32-bit float calculation variations
gs1.c: allow dummy AI "[]" if GS1NOCHECK_MODE and has data (#204);
  also add note re TPX AI 235 and terminating FNC1
Remove trailing whitespace in various files
2021-09-26 23:55:16 +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
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
f62a678d0f #209 suppress CodeQL warnings except CODEONE; simplifications AZTEC_RUNE, MICROPDF417 2020-12-23 10:57:24 +00:00
Robin Stuart
5a8bbb28f0 Ultracode: Fix miscalculation of number of codewords when using reader initialisation 2020-10-04 10:32:57 +01:00
Robin Stuart
20f767c4b6 Force white squares (not same as bgcolour) in Ultracode 2020-08-12 12:19:26 +01:00
gitlost
d921cb11fb Windows: #196 MinGW/MSYS instructions; INTERNAL and printf %zu Windows-compat fixes 2020-06-18 15:51:57 +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
344ec06723 ULTRA: #191 suppress clang-tidy 11.0.0 warning 2020-04-28 21:00:43 +01:00
gitlost
107d64b5de ULTRA: #191 suppress clang-tidy warnings 2020-04-28 14:11:49 +01:00
gitlost
27e211f9d3 ULTRA: C43 latch, shift; double digit; ECI; tests, refresh EMFs 2020-04-20 19:17:15 +01:00
gitlost
bd654647c0 ULTRA: include secondary vertical clock track in DCC; ECC count, maxsize adjustment 2020-04-16 01:35:37 +01:00
Harald Oehlmann
ff8d8d3fb1 Call to "debug_test_codeword_dump_init" does not resolve without ZINT_TEST defined 2020-04-10 11:28:45 +02:00
gitlost
e04f662dc0 ULTRA: enable compression for GS1_MODE; compression changes; fixes; tests 2020-04-09 22:08:54 +01:00
Robin Stuart
752b1511b6 Allow user to select bgcolour in Ultracode 2020-04-08 20:53:58 +01:00
gitlost
9795ffe641 Ultracode missing parens around alloca length * sizeof 2020-04-08 10:42:05 +01:00
Harald Oehlmann
fe517a7a58 Make ultra.c compile on MS-VC 6 2020-04-07 17:54:21 +02:00
gitlost
111c819e43 ULTRA_COMPRESSION option_1 -> option_3 typo 2020-04-07 12:48:29 +01:00
Robin Stuart
0d26948baa Merge branch Ultra 2020-04-06 17:05:22 +01:00
Robin Stuart
c23b4b9ef1 Ultra: typos-- 2020-03-29 22:35:25 +01:00
Robin Stuart
b572bb513d Ultra: Disable code compression by default
Ensures symbols are valid until better version of specification is available
2020-03-29 22:23:07 +01: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
d370f3c0c7 Ultra: Correct clock pattern generation, add work around to avoid negative UCC and output to colour SVG 2019-12-18 18:33:18 +00:00
Robin Stuart
e6ab17086c Ultra: Add UCC, Correct ECC calculation for EC0, Expand ECI support to all values 2019-12-17 20:22:16 +00:00
Robin Stuart
ea6902c817 Ultra: Convert codewords to tiles and place in grid 2019-12-15 22:26:57 +00:00
Robin Stuart
cfdc7cc262 Ultra: Adjusted to allow 79-82 codeword range in 3-row symbols 2019-12-15 13:48:45 +00:00
Robin Stuart
77c8e76bfa Ultracode: Add error correction 2019-12-15 12:58:59 +00:00
Robin Stuart
7216202f06 Ultracode: Add FNC1 and 06 Macro support and calculate ECC capacity 2019-12-11 21:10:07 +00:00
Robin Stuart
edf7f9248e Ultracode codeword generation
Supports Reader Init, ECI, GS1 and handles switching between 8-bit, ASCII and C43 modes with C43 macros
2019-12-10 21:15:23 +00:00
Robin Stuart
ca24105ca0 Add placeholder for Ultracode 2019-03-21 09:14:24 +00:00