15b8024712
- library: check symbol->primary for escape sequences also - GUI: error message GS1_MODE -> GS1 mode - GUI: sequence window: fix initial clear button status - GUI: make acceptable for macOS; add iconset for macOS, install - manual: update macOS Homebrew install info; add README.macos - GUI: export window: add no. of sequences to results label
gitlost
2022-06-16 16:47:34 +01:00
a232dec4ff
composite: less confusing error message for no linear data GUI: restore mainWindow min width to allow squashability GUI/manual: use EAN and UPC initials first rather than long names (easier to spot)
gitlost
2022-06-11 12:28:48 +01:00
ab3cf4f395
eci.c: replace libiconv-adapted code with own implementations so as to fully comply with BSD license (for why Library GPL 2+ not compatible see https://opensource.stackexchange.com/a/6701), ~3% slower (maybe), +~6K extra in data (gb18030.c, gb2313.c & sjis.c removed, mapping .TXT files moved to backend/tools/data & extra ones added, 2 new PHP generators) GUI: CODE39/EXCODE39: show/hide HIBC check digit option in addition to enable/disable (less confusing) CLI: batch: pedantic check for EOF using intChar in newline fgetc() loop test_args.c: don't use WIFEXITED(), WEXITSTATUS() on Windows manual: lessen some copy/paste verbiage by referring back, other small tweaks/typos
gitlost
2022-06-02 20:32:25 +01:00
d9f2e85246
GUI: export dialog: add postfix field for filename (#252) man page: expand --scale spiel, mention MaxiCode exceptionalism manual: make MaxiCode scale exceptionalism a bit clearer
gitlost
2022-05-25 13:44:45 +01:00
9ae4e347d7
CLI: return ZINT_ERROR_INVALID_OPTION instead of 1 on bad option and ZINT_WARN_INVALID_OPTION instead of 0 on ignored option; more barcode synonyms manual: append man page zint.1.pmd instead of CLI help; various tweaks and fiddlings; rMQR add ISO 23941 (released the other day but haven't got yet) man page: expand and tweak doc/Makefile: add HTML demo
gitlost
2022-05-22 21:33:45 +01:00
7a32402b93
docs/zint.1: don't gzip, add to repo; remove zint.1.gz, manual.pdf from repo
gitlost
2022-05-19 21:31:40 +01:00
1c642614ba
docs/Makefile: fix sed expression; manual: 2D not same as matrix
gitlost
2022-05-19 19:39:03 +01:00
719613d4c3
GRIDMATRIX: default char set is GB 2312 only, not Latin-1 with GB 2312 alt HANXIN/QRCODE: use Hanzi/Kanji modes when compatible ECIs given manual: one true source now manual.pmd from which manual.txt is generated CLI: man page moved from frontend/zint.1.gz to docs/zint.1.gz, now generated from docs/zint.1.pmd add README.linux to root dir
gitlost
2022-05-19 10:17:51 +01:00
9aae557cdc
CLI/Tcl: fix version check (need <= 999 for DAFT permille) UPNQR: fix required binary mode using mode_preset UPNQR: allow mask to be manually specified GUI: use non-native QColorDialog on Unix also; no noEXE for CLI equivalent; add shortcuts for copy-to-clipboard and CLI equivalent CLI: new --version option to print Zint version
gitlost
2022-05-12 20:35:06 +01:00
f58c80e290
Add multiple segments support for AZTEC, CODEONE, DATAMATRIX, DOTCODE, GRIDMATRIX, HANXIN, MAXICODE, MICROPDF417, PDF417, QRCODE, RMQR, ULTRA RMQR: fix ECI encoding (wrong bit length for indicator) MICROQR: check versions M1 and M2 for allowed characters so as to give better error messages DOTCODE: some small optimizations common.c: add is_chr(), segs_length(), segs_cpy() CODEONE/CODE128/DOTCODE/GRIDMATRIX/HANXIN/MAXICODE/QRCODE/ULTRA: add namespace prefixes to static funcs/data includes: use Z_ prefix, unuse double underscore prefixes (guard defines) manual.txt: compress some tables using double/treble column sets
gitlost
2022-05-09 19:50:50 +01:00
3b9d989894
Merge /u/gitlost/zint/ branch eci_part3_2022 into master
b'Git Lost
2022-04-12 13:23:23 +00:00
d9b6284a67
gs1_lint.h: update to latest gs1-format-spec.txt, new AI 715
gitlost
2022-02-10 22:18:35 +00:00
e9d5bf8d88
FIM: add support for FIM E; update bwipp_dump.ps
gitlost
2022-01-02 23:22:22 +00:00
25807ad43c
Matrix symbols: change horizontal boundary bars to appear outside any vertical whitespace, as they're decorative rather than functional (#247) Allow for dot overspill in height of vertical box sides (dotty mode) Move is_dotty(), is_fixed_ratio() from library.c to common.c
gitlost
2022-01-01 15:24:59 +00:00
b36fba8ba6
DATAMATRIX: new algorithm for (near-)minimal encoding, props Alex Geller Add FAST_MODE input_mode flag and --fast CLI/Tcl option that selects older faster ISO algorithm (may be used by other symbologies in the future) and "Fast Encoding" checkbox to Data Matrix GUI GUI: adds Zint version numbers to DATAMATRIX sizes.
gitlost
2021-12-18 16:22:02 +00:00
caadc87f7e
Add support for ZXing-C++ verification (zxingcppdecoder) DMATAMATRIX: fix look ahead BASE256 use of dm_text_sp_cnt() on switching; simplify dm_add_tail() GUI: check suffixes on save so don't go into error state; use native path for Save As clipboard message CODE128: use gs1_check_digit() for NVE18 and EAN14
gitlost
2021-12-08 18:12:20 +00:00
41a05077bc
gs1_lint.h: update to latest gs1-format-spec.txt; fix some bugs in gen_gs1_lint.php
gitlost
2021-11-26 17:54:22 +00:00
f5f363b22f
Add a test that checks the qZint generated barcodes are equal to those generated by libzint. Whether or not those barcodes are correct should be validated in the test suite for libzint, for qZint it's good enough to produce the same printouts that libzint does, which isn't trivial, especially as some API names have different meanings, such as qZint ``text` is libzint `data``. Props Alonso Schaich <alonso@freebsd.org>
gitlost
2021-11-26 12:20:54 +00:00
f943893d6d
GUI: data dialog: convert Line Feeds if escaping on input, escape on output and set Escaped flag; fix tooltip that they're converted to spaces; sequence dialog: re-organize to put Create Sequence stuff only in groupbox and put Import -> From File and Clear at bottom, similar to data dialog; mainwindow: use new Escaped flag from data dialog and set checkbox and statusbar message accordingly
gitlost
2021-11-25 20:24:02 +00:00
c0e1af9859
fix function warning for testcommon.c and testcommon.h
liufanmin
2021-11-25 20:09:30 +08:00
96cf5aa668
DATAMATRIX: re [e9b8ee] add dm_text_sp_cnt() & dm_switch_mode() to get around exiting B256 if have less than break-even sequence of TEXT chars; rename some vars to be more consistent
gitlost
2021-11-16 18:37:51 +00:00
e9b8ee9c1b
DATAMATRIX: some changes to dm_look_ahead_test to allow exiting from B256 other than for digits (worse for TEX 7-11 embedded in extended) and for returning X12/EDI at EOD - will cause changes in encodation; allow for GS1 GS in B256 (should never happen); some re-jigging of dm200encode and fiddling with dm_isXXX; remove some DM_DEBUG from dm_placementbit
gitlost
2021-11-14 12:09:51 +00:00
21d015a84a
TELEPEN: fix stop length (14 -> 12) reedsol.c: some performance gain by stashing generated poly logs and pre-checking if has a zero coeff to avoid inner loop branch
gitlost
2021-11-11 13:30:58 +00:00
6c7f3300a0
DATAMATRIX: fix mis-encoding of FNC1/GS in EDIFACT in GS1 mode (was writing a literal ']'); improve performance by removing use of intermediate grid array; DEBUG -> DM_DEBUG
gitlost
2021-11-09 13:43:56 +00:00
68566fefd2
DATAMATRIX: fix mis-encodation of X12 and EDIFACT non-encodables by checking in main dm200encode() loop, props Alex Geller; prefix routines and tables with "dm_" reedsol.c: add const to a few variables
gitlost
2021-11-08 13:05:37 +00:00
f7ad0ed1e3
raster.c: fix possible blank rows appearing in CODE16K, CODE49, PHARMA_TWO, PDF417 & CODABLOCKF due to height/scale rounding by changing out_large_bar_height() to return scaled int values for raster, props codemonkey82 (#204) raster/vector.c: const some vars vector.c: rect_count, last_start_row UPC/EAN only library.c: check for stacking symbols >= 200
gitlost
2021-11-07 00:21:02 +00:00
4e72a541f7
PDF417: fix cols/rows calculation to require multiple <= 928 codewords; add specify rows option (option_3) (#204); warn if cols increased from specified (back-incompatible); move table definitions from "pdf417.h" to new "pdf417_tabs.h" and make INTERNAL_DATA and share with composite.c (saves ~10K); prefix routines and tables with "pdf_"; some small performance improvements through if/elses, pdf_textprocess() & pdf_numbprocess() loop simplifications MICROQR: fix debug access crash on printing non-NUL-terminating binary DATAMATRIX: fix missing ++ from "[tp]" at C40/TEXT EOD processing of GS1 (though probably never reached); use "[tp++]" throughout Add const to static tables missing it and also to some variables Change "debug" -> "debug_print" throughout
gitlost
2021-10-30 22:00:31 +01:00
706f021637
gs1_verify(): fix zero-length AI no data and single-digit AI checks
gitlost
2021-10-28 12:05:54 +01:00
6c8338bda9
GUI: change "General" tab name to "Data"; adjust accelerators
gitlost
2021-10-27 18:59:51 +01:00
9c3a346dbd
Merge /u/gitlost/zint/ branch perf_is_sane into master
b'Git Lost
2021-10-21 23:00:40 +00:00
270ebe9656
Update tools/update_version.php re VER_FILEVERSION_STR change
gitlost
2021-10-21 22:34:19 +01:00
1f4691fbbb
Fix version number format for STRINGFILEINFO resources.
Jeff Skaistis
2021-10-21 15:39:46 -05:00
d151f29ee5
Add .rc file to Windows backend build.
Jeff Skaistis
2021-10-21 09:53:22 -05:00
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
gitlost
2021-10-20 23:05:30 +01:00
e8b59aa696
height max 500 -> 2000 to allow for 44 row CODABLOCKF at 45X each
gitlost
2021-10-18 14:05:51 +01:00
0b8c488853
GUI: fix quietzones, compliantheight per symbology setting/saving GUI: DATAMATRIX: move automatic size checkboxs to under Size and add label
gitlost
2021-10-13 15:31:28 +01:00
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
gitlost
2021-10-09 00:13:39 +01:00
206ae26d20
ULTRA: add revision 2 support (based on BWIPP 2021-09-28 update) GUI: DMATRIX: disable DMRE if SQUARE checked; ULTRA: Size/Ecc buttongroup
gitlost
2021-09-29 16:25:59 +01:00
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
gitlost
2021-09-26 23:55:16 +01:00
4009c86c5f
UPC/EAN: Add guard_bar descent (guard_descent) zint.h: Adjust field order to improve alignments; encoded_data 143 -> 144
gitlost
2021-09-22 00:04:15 +01:00
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
gitlost
2021-09-20 14:56:27 +01:00
5766b39845
gif.c: use malloc instead of alloca for LZW buffer as fails for large scale
gitlost
2021-09-18 17:15:16 +01:00
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
gitlost
2021-09-09 21:50:02 +01:00
492d9a41c5
GUI: remove refs to AspectRatioMode and mark as legacy (#243)
gitlost
2021-09-05 21:52:00 +01:00
67b2a9c99d
RMQR: add ECI support; GUI/CLI: fix dev version test
gitlost
2021-08-20 16:50:39 +01:00
62cc9e49f5
Bump version to 2.10.0.9 (dev)
gitlost
2021-08-14 16:11:25 +01:00
942518d085
ChangLog: some small changes/additions to 2.10.0
2.10.0
gitlost
2021-08-14 15:03:24 +01:00
363a860241
manual.txt: add current version; rejig ECI info a bit; typos
gitlost
2021-08-13 15:05:35 +01:00
a4c67174cd
frontend(_qt)/CMakeLists.txt: add Windows rc files
gitlost
2021-08-12 14:54:21 +01:00
71af3b530e
win32/zint_cmdline_vc6/zint.rc, backend/libzint.rc: update copyright year
gitlost
2021-08-11 21:46:57 +01:00
eca84eaab7
frontend/zint.rc: update copyright year
gitlost
2021-08-11 21:38:59 +01:00
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
gitlost
2021-08-11 19:39:39 +01:00
a04a44f1e6
Update zint version to 2.10.0
gitlost
2021-08-10 16:14:10 +01:00