Commit Graph

870 Commits

Author SHA1 Message Date
gitlost
0f5deccfb6 #181 OSS-Fuzz ZBarcode_Encode_File fix, allow for zero-length file, free buffer on error 2020-03-26 22:17:37 +00:00
gitlost
027e8a775d #181 OSS-Fuzz TELEPEN fix, allow for 16 char nul encodings in buffer 2020-03-26 14:22:27 +00:00
gitlost
62995f18d2 #181 OSS-Fuzz UPC/EAN fix, allow max 6 chars add-on in ean_leading_zeroes() 2020-03-26 09:35:04 +00:00
gitlost
bee8794cda #181 OSS-Fuzz DOTCODE fix, check length before accessing in binary() 2020-03-25 22:31:59 +00:00
gitlost
54bd024266 Add missing test file 2020-03-25 19:33:20 +00:00
gitlost
556dea1f88 #181 OSS-Fuzz CODABLOCKF fix, allow for full control chars range in GetPossibleCharacterSet 2020-03-25 19:27:34 +00:00
gitlost
c245a11da2 #181 auspost fix, check input immediately; test for EANX double + fix 2020-03-25 15:40:13 +00:00
Robin Stuart
ee291e45d6 UPCEAN: Check for multiple + characters in input
Fixes #181 reported by Christian Hartlage
2020-02-15 21:28:40 +00:00
Harald Oehlmann
0c5dc4d030 Set version to 2.7.1 2020-02-01 19:36:50 +01:00
Robin Stuart
c57b74a7e6 Ultra: add colour output to EMF 2020-01-13 19:24:01 +00:00
Robin Stuart
6d945ca2a1 Remove obsolete function declaration
Fixes #178 reported by Christian Wolf
2020-01-13 14:47:55 +00:00
gitlost
d513a68222 #147 Datamatrix buffer test from Opaki; encode examples from ISO 16022 2020-01-07 18:23:26 +00:00
Robin Stuart
5861ad3c3b Ultra: Extend colour support to PNG PCX BMP and TIF
Implementation needs improvement, but colour output is now achieved in most formats
2020-01-06 20:01:48 +00:00
Robin Stuart
6181885e2e Ultra: Add colour rectangle output to EPS 2020-01-06 18:00:43 +00:00
Robin Stuart
257da3fff5 Prevent Data Matrix buffer overflow bug
Fixes #176 reported by Daniel Gredler at OkapiBarcode
2020-01-05 12:35:16 +00:00
Robin Stuart
6954497fc1 Correct postscript plotting error
Report and fix by Matthieu LARIGALDIE
2020-01-05 11:27:24 +00:00
Robin Stuart
2faff4e76f Correct ECI but in DotCode
Avoid creating codewords > 112
Fixes #174 reported by Milton Neal
2019-12-26 17:57:29 +00: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
gitlost
fa9af12fc6 raster.c: check bounds on calculating block width for UPCA 2019-12-19 00:59:51 +00:00
gitlost
bca82ecc0d libzint.so: suppress exporting INTERNAL functions to the shared library; ZINT_TEST 2019-12-19 00:37:55 +00:00
gitlost
c524d32227 GRIDMATRIX: suppress maybe-uninitialized warning by initializing nondigit_posn 2019-12-18 20:04:05 +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
gitlost
3209b32087 QR optimize encoding mode: remove extraneous newlines 2019-12-16 17:50:58 +00:00
gitlost
e331fd1e90 QR optimize encoding modes 2019-12-16 17:31:52 +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
gitlost
64c078605e HANXIN minor code changes (cm_row -> cm_i), avoid divide in in_numeric() 2019-12-08 20:22:10 +00:00
gitlost
889e786d95 HANXIN ECI conversion, GB 18030 LIBICONV port; some codeword fixes; optimized encoding modes 2019-12-08 16:15:34 +00:00
Harald Oehlmann
ce8aa92846 Include malloc.h only for MS_VC. Other platforms have it in stdlib.h 2019-12-06 14:09:39 +01:00
Harald Oehlmann
e03d03c877 Update version to 2.7.0 2019-12-05 20:16:39 +01:00
Harald Oehlmann
34c33b45b5 Correct mistake of last commit: restore order of blocks 2019-12-05 19:36:00 +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
gitlost
5fe97772cb GRIDMATRIX optimization wasn't adding in cost of double-byte properly 2019-12-04 14:07:55 +00:00
gitlost
b1f4a12c78 GRIDMATRIX codeword fixes, Project Nayuki optimized encoding modes 2019-12-04 13:45:01 +00:00
Robin Stuart
8295883987 Merge rMQR support in to master 2019-12-01 15:17:08 +00:00
Robin Stuart
f9d969cdd6 Remove depreciated gLabels render code 2019-12-01 14:09:46 +00:00
gitlost
8be13283db ECI conversion for GRIDMATRIX; GB 2312 LIBICONV port 2019-11-28 19:15:29 +00:00
Robin Stuart
ade31c41fb rMQR bugfix - cater for data lengths which are not multiples of 8 when calculating symbol size 2019-11-27 19:32:40 +00:00
gitlost
fed7378675 Handle UNICODE_MODE ECI conversion for reduced charset barcodes and QRCODE/MICROQR 2019-11-27 16:16:14 +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
Robin Stuart
ad28de1819 Initial implementation of rMQR
According to draft dated June 2018
2019-11-25 19:08:25 +00:00
Harald Oehlmann
23ec0d48fc Make compile with ms-vc6 (zint, tcl) and VS2015 (qzint) 2019-11-17 19:30:55 +01:00
Robin Stuart
1fa7f2b804 Correct Chinese char encoding in Han Xin
Testing revealed a couple of bugs with encoding Chinese characters, also added more useful debug info
2019-11-17 14:56:43 +00:00
gitlost
793a990c01 EANX/UPCA/UPCE_CHK handling + various raster/vector fixes; ISBNX add-ons 2019-11-11 21:38:21 +00:00
gitlost
42587c2d21 gs1_verify: additional AIs 7240, 235, 417, 7040, 8026; updated checks 7007, 8008 2019-11-10 00:27:24 +00:00
gitlost
3b87cd4ec6 EAN128_CC ecc, cc_width, rows and alignment adjustments 2019-11-05 14:16:48 +00:00
Robin Stuart
fac9b94f1b Further refinement to SVG
More research revealed frasl entity should not be implemented, but apos should
Thanks to Ian Jeffray
2019-11-03 11:51:12 +00:00
Robin Stuart
1a5eb573cf Minor Dotcode tweaks
Slight modification brings code inline with latest version of draft standard.
Thanks to input from Terry Burton at BWIPP
2019-10-31 13:27:36 +00:00
gitlost
c87c86e30a Remove redundant numeric mode check in last digit processing 2019-10-31 02:31:55 +00:00
gitlost
1dd4b08986 Uses general_field_encode in rss_binary_string; min 4 chars; bottom separator 2019-10-31 02:01:42 +00:00
Robin Stuart
0fe9051324 Improved HTML entity handling
Now handles quot and frasl as suggested by Ian Jeffray and also allocates memory properly, preventing SIGSEGV for Code 128 full of ampersands.
2019-10-30 08:40:26 +00:00
Robin Stuart
7bcc0252a9 Supress malloc warning using gcc 8
Explicitly prevents malloc with negative number to supress -Walloc-size-larger-than
Fixes #168 reported by Ian Jeffray
2019-10-30 07:46:36 +00:00
gitlost
03d99ceb23 Composite changes encodation 10, 11, general field, CC-A/B shift 2019-10-29 22:54:18 +00:00
gitlost
739793a215 Always parse input as GS1 for EAN128 and RSS_EXP 2019-10-17 10:06:21 +01:00
Robin Stuart
b1113db942 Make text elements compatable with HTML in SVG
Correctly encodes less-than, greater-than and ampersand.
Fixes #167 reported by Ian Jeffray
2019-10-16 18:42:22 +01:00
gitlost
d8b576164f Use zero-padded field to determine EANX type for composites 2019-10-14 22:20:16 +01:00
gitlost
433046abbf KOREAPOST missing from is_linear; tests update 2019-10-14 09:49:15 +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
Robin Stuart
15ae99ee11 Allow explicit ECI 3
Setting ECI to 3 now causes Zint to include ECI 3 in symbol, and allows entry of data formatted in ISO 8859_1
Fixes #127 requested by Harald Oehlmann
2019-10-06 17:39:54 +01:00
Robin Stuart
ff2ceea361 Allow selection of GS1 mode on GS1 symbols
Because some symbols require GS1 data, selecting GS1 mode for them would result in GS1 parsing being done twice, corrupting the data.
Fixes #165 reported by Gregory Van Vooren
2019-10-06 11:30:21 +01:00
Robin Stuart
eb3a004ace Always latch to non-numeric in general-purpose field
Would not include latch to alphanumeric or ISO/IEC mode if required at the beginning of a general-purpose compaction field.
Fixes #146 reported by Gregory Van Vooren
2019-10-05 12:48:55 +01:00
Robin Stuart
ae737ea019 Don't include LeftRAP with CC-A
Implement missed rule from ISO 24723 section 8.2 - 3-column CC-A components have the left Row Address Pattern omitted.
Partially resolves #146 reported by Gregory Van Vooren
2019-10-05 11:08:58 +01:00
Harald Oehlmann
6751a816a6 2019-09-19 HaO Set Version to 2.6.6 2019-09-18 11:58:57 +02:00
Harald Oehlmann
5c9d127ad1 2019-09-19 HaO DM: when encoding ECI, data scrambled when base256 encoding was chosen. The ECI codeword 241 was missing in the binary marker array and thus, the binrary length was inserted before the latch to binary resulting in very corrupt data. 2019-09-18 10:51:01 +02:00
Harald Oehlmann
2fbbbeec12 2019-09-11 HaO Document svg_plot vector= null crash has ticket number #164
Start Version release notes.
2019-09-11 10:14:42 +02:00
Harald Oehlmann
4dfc090416 2019-09-11 HaO E-Mail Christian Schmitz 2019-09-10: svg_plot: check for null symbol->vector.
Reason is unknown.
2019-09-11 09:51:05 +02:00
Robin Stuart
faeb20dcd7 Don't stretch PDF unless expressly requested by user
Now default height is 50 only for linear symbols and those with linear component (such as GS1 composite)
Restores default behaviour changed by commit [f2262f]
2019-09-04 21:57:54 +01:00
Robin Stuart
be9e2fd87a Allow PDF to latch into numeric compaction
Logic error prevented numeric compaction in PDF417 and MicroPDF417
Fixes #155 reported by Michelle Dupuis
2019-09-04 21:34:20 +01:00
Robin Stuart
f2262f2616 Reinstate height adjustment for PDF
Allows height adjustment of PDF417 and MicroPDF417 symbols.
Fixes #161 reported by 'DigitalResident'
2019-09-03 19:53:01 +01:00
Robin Stuart
833877fb2f Remove Maxicode segfault bug
Missing punctuation causes Maxicode plotting in raster image to segfault
2019-09-02 20:25:17 +01: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
b5aaf308a3 2019-09-01 Codemonkey82 Draw Maxicode bullseye for scale = 0.5 Ticket #119 (Commit correction) 2019-09-02 12:05:08 +02:00
Harald Oehlmann
b86a7e6560 2019-09-01 Codemonkey82 Draw Maxicode bullseye for scale = 0.5 Ticket #119 2019-09-02 11:26:30 +02:00
gitlost
251a7d99c4 New files 2019-09-01 21:09:47 +01:00
gitlost
d76cdd615b Fixes for eci, binary div, upce, other 2019-09-01 20:23:15 +01:00
Harald Oehlmann
89c2ee6f1d 2019-09-01 HaO maxicode sizeof issue fixed by Christian Schmitz 2019-09-01 18:14:21 +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
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
Harald Oehlmann
efa4a8f435 2018-08-30 HaO Maxicode "input to long" error. Backport from okapi by Remi. Ticket #148 2019-08-30 16:40:44 +02:00
Harald Oehlmann
cb3eea2ba0 2018-08-30 HaO Implemented GS separator for Datamatrix (--gssep option). Ticket #139 2019-08-30 16:14:17 +02:00
Robin Stuart
ca24105ca0 Add placeholder for Ultracode 2019-03-21 09:14:24 +00:00
Harald Oehlmann
7239d2249c Merge /u/schnider/zint/ branch master into master
https://sourceforge.net/p/zint/code/merge-requests/8/
2019-03-20 16:28:33 +00:00
Robin Stuart
1debb132af Revert last change
This functionality already exists - note to self: read code thoroughly before committing
2019-03-18 19:36:03 +00:00
Robin Stuart
b531abf9b4 Try to protect from malformed colours 2019-03-18 17:36:36 +00:00
Roman Schnider
dcf0cbef97 Enhanced data length checks for GS1 data
Brought up to date with revision 19 of the GS1 General Specifications
2019-03-18 17:24:07 +01:00
Robin Stuart
32b6bbaf0e Plot hexagons in Maxicode even when scale < 1.0
Fixes #119 reported by codemonkey82
2019-03-16 15:47:08 +00:00
Robin Stuart
a6c93f1989 Recognise spaces as valid mode 2 character
Fixes #116 reported by Grzegorz Krukar
2019-03-15 19:15:47 +00:00
Robin Stuart
0738c3fa2f Fix format info grid initialization typo
Fixes #108 reported by Daniel Gredler
2019-03-15 17:54:12 +00:00
Robin Stuart
b3c03b4769 Fix EOF bug in EMF output
Bug reported by 与 忘 <ly_xy@outlook.com>
2019-03-14 11:02:17 +00:00
Harald Oehlmann
d96079a327 Comment spelling corrected 2019-02-08 17:38:49 +01:00
Harald Oehlmann
cbd4610d0c Ticket [125]: set type of text_height and text_offset to float as they are only used as such and one is multiplied by 0.8. In addition, silence all compiler warnings about possible data loss due to int->float and double->float conversions 2019-02-02 19:42:02 +01:00
Harald Oehlmann
dc2e0b35a6 2018-01-07 HaO Make compile with MS-VC2017 [Ticket 135] 2019-01-07 11:03:37 +01:00
Harald Oehlmann
eda3f4b114 Chnaged formatting and set "git config core.autocrlf false" to avoid warning that it will be transformed to crlf. No idea what it does. 2018-12-12 10:09:17 +01:00
Harald Oehlmann
934d2d8bc8 Ticket 132: add targets to mingw makefile. git wants to transform lf line endings in crlf, don't know why... 2018-12-12 09:56:12 +01:00
Harald Oehlmann
9684bdb556 Ticket 134: do some CMake corrections told to be ok by the ticket author. No test by me. 2018-12-12 09:37:56 +01:00
Harald Oehlmann
cdc7778880 Ticket #109: rename datastream in fullstream, as this is the name of the more global variable 2018-11-02 10:33:18 +01:00
Harald Oehlmann
5c00c7893e Make it compile with MS-VC6++ 2018-11-02 09:09:38 +01:00
Robin Stuart
58398bc754 Enforce length of GSRN
Fixes #115 reported by Daniel Gredler
2018-07-05 21:45:11 +01:00
Robin Stuart
c83bea4ae0 Enforce maximum length of document type identifier
Fixes #113 reported by Daniel Gredler
2018-07-05 21:27:26 +01:00
Robin Stuart
951209331a Set max coupon code length to 70
Fixes #112 reported by Daniel Gredler
2018-07-05 21:22:27 +01:00
Robin Stuart
2642a418b9 Ensure maxium error correction capacity in QR Code
Fixes #107 reported by Daniel Gredler
2018-06-21 00:03:55 +01:00
Robin Stuart
628078021b Fix typo in estimating lenth of binary data in QR Code
Fixes #106 reported by Daniel Gredler
2018-06-20 23:48:32 +01:00
Robin Stuart
23a990c37c Ensure ECI encoding doesn't corrupt binary data in Data Matrix
Fixes #105 reported by Daniel Gredler
2018-06-20 23:47:06 +01:00
Robin Stuart
8fcde380f8 Increase character count for percentages in alphanumeric mode 2018-06-20 23:07:48 +01:00
Robin Stuart
04b08eb39c Allocate more memory for percentages in Alphanumeric mode in QR Code
Fixes #104 reported by Daniel Gredler <sdanig@users.sourceforge.net>
2018-06-20 03:38:50 +01:00
Robin Stuart
91d933adb7 Select symbol with unforced corners if none meets threshold 2018-06-20 00:40:36 +01:00
Robin Stuart
053c83d036 Implement new mask grading with forced corners in Dot Code 2018-06-20 00:10:30 +01:00
Robin Stuart
7409399438 Correct reader init bug in Code 128 2018-06-19 21:14:02 +01:00
Robin Stuart
3ed1b5692f Adjust vector border to place bottom border above text 2018-06-19 03:56:44 +01:00
Robin Stuart
656c8132a8 Use internal vector format in Qt backend 2018-06-18 02:36:40 +01:00
Robin Stuart
30fcd7986c Plot vector graphics using linked list structure
Simplifies the implementation of individual vector graphic file formats
2018-06-10 09:16:18 +01:00
Robin Stuart
dddf2934fc Allow escape character processing
Fixes #101 reported by Martin Zizka
Converts \xNN characters > 0x7c to UTF-8 if appropriate
Removes some redundant legacy code
2018-04-22 14:25:39 +01:00
Robin Stuart
909e307636 Prevent latch to incorrect mode when GTIN starts with 9
Fixes #97 reported by Karl Karlsson
2018-04-18 20:24:21 +01:00
Robin Stuart
e749872e7d Resolve Visual Studio compatability bugs
Includes bugfix for Item ID calculation in Mailmark as reported by Milton Neal
2018-04-09 21:46:20 +01:00
Harald Oehlmann
3853897d88 Do not apply rect/dmre options if concrete size is given. E.g. "zint -b72 --vers 31" will ignore eventual option "--square or --dmre". 2018-04-08 20:20:56 +02:00
Robin Stuart
68fdae09c3 Prevent possible buffer overrun
Spotted by Milton Neal
2018-04-06 10:50:19 +01:00
Robin Stuart
75803e8aa2 Enhanced data length checks for GS1 data
Brought up to date with revision 18 of the GS1 General Specifications
Enhancement suggested by Roman Schnider <r.schnider@cab.de>
2018-03-30 18:46:33 +01:00
Robin Stuart
e6618f1a1b Allow escape character processing in batch mode
Suggested by Martin Zizka, Fixes #96
2018-03-30 11:40:44 +01:00
Robin Stuart
9a5e5f3a9a Rename variable to avoid keyword in VS 2018-03-30 09:46:54 +01: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
749eb55321 Merge branch 'master' of ssh://git.code.sf.net/p/zint/code
Thanks to work being done at SF!
2018-02-15 10:47:59 +00:00
Robin Stuart
ffd1ed2d6b Update version number to 2.6.3 2018-02-15 10:46:02 +00:00
Robin Stuart
8bd26f5e83 Open EMF files in binary mode 2018-02-13 18:32:26 +00:00
Harald Oehlmann
ee763cb135 Do not free _alloca data 2018-02-13 16:53:12 +01:00
Robin Stuart
fa3c150610 Force TIFF to always use more than one strip 2018-02-11 13:01:43 +00:00
Robin Stuart
78d85bd72e Add font size option for SVG and EPS 2018-02-11 09:55:28 +00:00
Robin Stuart
8bb4d2ce86 Improved binary multiplication for large numbers 2018-02-11 08:00:32 +00:00
Robin Stuart
f655eabc12 Add trailing spaces to Mailmark if not present in input data 2018-02-10 07:26:33 +00:00
Robin Stuart
389bcce10f Add Royal Mail Mailmark to front end 2018-02-09 20:55:17 +00:00
Robin Stuart
59116f689d Add new symbology: Royal Mail Mailmark 2018-02-06 20:57:01 +00:00
Robin Stuart
37d3e60c3a Allow lowercase input for VIN codes 2018-02-04 08:42:01 +00:00
Robin Stuart
e737f992b5 Add verification for North America VIN (Vehicle Identification Number) 2018-02-03 18:44:01 +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
Robin Stuart
3aeb1ea70a Make EAN and UPC symbols resizable in glabels in accordance with EN 797:1996
As requested by Sebastien Marie <semarie@online.fr>
2018-01-29 19:12:30 +00:00
Robin Stuart
0d4af7a462 Resolve further error message and warning idiosyncrasies 2018-01-21 18:10:42 +00:00
Robin Stuart
d2161ffb20 Make CLI errors more consistent
Should now output errors and warnings in a consistent and predictable fashion. This is not a neat solution, but functional for now.
2018-01-21 14:33:54 +00:00
Robin Stuart
ae57d413bf UTF duplication error
Removes error duplicating UTF data when using ECI 26
2018-01-21 11:50:49 +00:00
Harald Oehlmann
7cb5eec35a Fix -esc crash for windows 2018-01-14 17:47:02 +01:00
Robin Stuart
782a3a6f39 Include terminator in esc processed string
Attempts to fix #89 reported by Matt Johnson
2018-01-13 15:45:26 +00:00
Robin Stuart
670000b7ea Improve wording of error 227
Fixes #87 reported by Ken Yap
2017-12-24 14:51:12 +00:00
Harald Oehlmann
9f50714b44 Added DMRE size 26x40 2017-12-19 19:00:33 +01:00
Robin Stuart
d7ac9cc00f Enforce PostNet and PLANET lengths
Fix suggested by Milton Neal
2017-12-10 19:42:02 +00:00
Robin Stuart
1057bb9fa5 Fix free memory when not allocated
Bug fix by Alex Haley <ahaley@meditech.com>
2017-11-07 20:26:00 +00:00
Robin Stuart
58537edf0a Remove debug message 2017-11-05 14:32:42 +00:00