Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/zint/ChangeLog @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/zint/ChangeLog Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,1177 @@ +Version 2.13.0.9 (dev) not released yet (2024-12-23) +==================================================== + +**Incompatible changes** +------------------------ +- New `memfile` & `memfile_size` fields in `symbol` for use with new output + option `BARCODE_MEMORY_FILE` +- Buffer length of member `text` (HRT) in `zint_symbol` extended 200 -> 256 + (client buffers may need checking/extending) +- Invalid `input_mode` now returns warning +- Aztec Code symbols that due to input length & user-requested version have less + than recommended 5% error correction codewords now return warning +- New CODE128-only special extra escapes beginning `\^` +- Add-ons for UPC-A and UPC-E now descend to be level with the main symbol guard + bars, and the righthand outside digit is now placed 1X less from main symbol + to avoid touching any add-on +- GS1-128 symbols now warn if READER_INIT option used + +Changes +------- +- BMP: lessen heap memory usage by only `malloc()`ing a row +- GIF: lessen heap memory usage by paging; use standard colour char map +- Add `BARCODE_MEMORY_FILE` to `symbol->output_options` to allow outputting to + in-memory buffer `symbol->memfile` instead of to file `symbol->outfile`, + ticket #301 +- CODE16K (was for CODE128): improve encodation on A/B shifting, props Daniel + Gredler (Okapi) +- CODE128: add new extra escape `\^1` for manual insertion of FNC1s, ticket + #324, props Jim Shank; + new extra escapes `\^A`, `\^B`, `\^C` and `\^@` for manual switching of + Code Sets; + add minimal encodation algorithm, props Alex Geller (ZXing) and Bue Jensen + (BWIPP); +- library: return warning on invalid `input_mode` reset +- library/CLI: expanded error messages +- GS1: new AIs 7250-7259 (GSCN 22-246); + iso4217: new ISO 4217 currency code 924; + new AIs 7041 (GSCN 23-272) (packagetype) and 716 (GSCN-24-157) +- AZTEC: workaround MSVC 2022 optimizer bug in `az_populate_map()` loops, + ticket #317, props Andre Maute; + return warning if ECC < 5% (due to bit-stuffing when version given) +- MAXICODE: zero-pad US postcodes that lack "+4" (Annex B.1.4a), from + OkapiBarcode, props Daniel Gredler; + add minimal encodation algorithm, props Bue Jensen (BWIPP) +- GUI: use X11 (xcb) as platform instead of Wayland on Linux to avoid various + weird behaviours; + in "grpDATF.ui" use "PlainText" rather than "RichText" for tracker ratio + examples as height of text messing up sometimes +- UPCA/UPCE: descend add-ons to same level as guards and adjust righthand + outside digit to be 4X/2X instead of 5X/3X away from main symbol so as not to + touch add-on TODO: revisit when standard clarified +- manual: make explicit that AI "(00)" and "(01)" prefixes added by Zint are + HRT-only; clarify Codablock-F length maximum & add examples +- add DXFILMEDGE (MR #159, props Antoine Mérino) + +Bugs +---- +- raster/BMP/GIF/PCX/TIF: fix dealing with very large data (use `size_t`) +- raster: add `raster_malloc()` to fail > 1GB (avoids very large output files; + also lessens to some degree chances of being victim of OOM killer on Linux) +- GUI: printing scale dialog: set maxima on X-dim and resolution to keep scale + <= 200 +- BMP/EMF/PCX/TIF: fix endianness on big-endian machines (note TIF now always + written as little-endian - simplifies testing) +- ITF14/DPLEIT/DPIDENT: ignore `option_2` (check digit options) +- GUI: scalewindow: fix cropping of initial resolution and bound X-dim <= 10 +- GUI: factory reset: reset preview background colour also +- GUI: cliwindow: `#if _WIN32` -> `#ifdef _WIN32` +- QZint: fix legacy width and security level getters/setters, MR #158, props + Philip Ye +- CODE128: fix extended char latching when exactly 3 extended chars at end +- library: need to check for valid UTF-8 after de-escaping +- MAXICODE: maintain current set between segments + + +Version 2.13.0 (2023-12-18) +=========================== + +**Incompatible changes** +------------------------ +- Buffer lengths of members `fgcolour` and `bgcolour` in `zint_symbol` extended + 10 -> 16 to allow for "C,M,Y,K" comma-separated decimal percentage strings +- CMYK values for EPS (slightly) and TIF (significantly) have changed - now use + the same RGB -> CMYK formula +- Text (HRT) placement for vector (EMF/EPS/SVG) output changed - for EAN/UPC + slightly further away from barcode, for all others slightly nearer. Some + horizontal alignments of EAN/UPC vector text also tweaked +- Text (HRT) for standalone EAN-2 and EAN-5 now at top of symbol + (was at bottom) +- Text height (font size) for SMALL_TEXT vector output reduced +- For Windows, filenames are now assumed to be UTF-8 encoded. Affects `outfile` + in `zint_symbol` and all API filename arguments +- Never-used `fontsize` member removed from `zint_symbol` +- Buffer length of member `text` (HRT) in `zint_symbol` extended 128 -> 200 + (client buffers may need checking/extending) +- Font of text of SVG vector output now "OCRB, monospace" (EAN/UPC) or + "Arimo, Arial, sans-serif" (all others) + (was "Helvetica, sans-serif" for both) +- Unintended excess horizontal whitespace of Composite symbols removed, and + quiet zone settings respected exactly, and centring of HRT (if any) now + relative to linear part of symbol only rather than whole symbol +- Unlikely-to-be-used `bitmap_byte_length` member removed from `zint_symbol` + (was only set on BMP output to length of BMP pixel array) +- EXCODE39 now defaults to displaying check digit in Human Readable Text (HRT) +- GS1_128 now warns if data > 48 (GS1 General Specifications max) + +Changes +------- +- BMP/EMF/EPS/GIF/PCX/PNG/SVG/TIF/TXT: check for errors on writing to output + file (ticket #275) +- manual/man page: document octal escape; Code 128 subset/mode -> Code Set +- Add special symbology-specific escape sequences (Code 128 only) for manual + Code Set switching via `input_mode` flag `EXTRA_ESCAPE_MODE` (CLI --extraesc) + (ticket #204) +- GUI: disable "Reset" colour if default; add "Unset" to Printing Scale dialog + (allows unsetting of X-dim/resolution settings without having to zap) +- API/CLI/GUI: allow foreground/background colours to be specified as + comma-separated decimal percentage strings "C,M,Y,K" where "C", "M" etc. are + 0-100 (ticket #281, 3rd point) +- PCX: add alpha support +- GUI: rearrange some Appearance tab inputs (Border Type <-> Width, Show Text + <-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally; + save button "Save As..." -> "Save..." and add icon +- Add `text_gap` option to allow adjustment of vertical gap between barcode and + text (HRT) +- DAFT: up max to 250 chars +- CLI: use own (Wine) version of `CommandLineToArgvW()` to avoid loading + "shell32.dll" +- EAN/UPC: add quiet zone indicators option (API `output_options` + `EANUPC_GUARD_WHITESPACE`, CLI `--guardwhitespace`) (ticket #287) +- EAN-2/EAN-5: HRT now at top instead of at bottom for standalones, following + BWIPP +- EPS/SVG: use new `out_putsf()` func to output floats, avoiding trailing zeroes + & locale dependency +- EPS: simplify "TR" formula +- SVG: change font from "Helvetica, sans-serif" to "OCRB, monospace" for EAN/UPC + and "Arimo, Arial, sans-serif" for all others; + use single "<path>" instead of multiple "<rect>"s to draw boxes (reduces file + size) +- Add `EMBED_VECTOR_FONT` to `output_options` (CLI `--embedfont`) to enable + embedding of font in vector output - currently only for SVG output +- GUI: use "OCRB" font for EAN/UPC and "Arimo" for all others (was "Helvetica" + for both); add preview background colour option (default light grey) so as + whitespace will show up in contrast (access via preview context menu) +- CODE128/common: add `ZINT_WARN_HRT_TRUNCATED` warning +- QRCODE: better assert(), removing a NOLINT (2 left) +- CLI: add some more barcode synonyms for DBAR +- CMake: don't include png.c unless ZINT_USE_PNG (avoids clang warning) +- vector: reduce SMALL_TEXT font height 6 -> 5 to be more like raster; + reduce antialiasing allowance for `textoffset`; + adjust text to baseline using values for Arimo rather than percentage +- manual: expand size/alpha details in Section "5.4 Buffering Symbols in Memory + (raster)" (cf ticket #291); add BSD info +- EXCODE39: change to display check digit in HRT by default +- CODE39/EXCODE39/LOGMARS: new hidden check digit option +- GUI: move some symbology-specific options into Data Tab so separate tab + unnecessary +- DATAMATRIX: add `DM_ISO_144` (--dmiso144) option for ISO placement of ECC + codewords instead of default "de facto" +- manual: add annexes on Qt and Tcl backends +- CODE128: increase no. symbol chars max 60 -> 99 +- frontend: truncate overlong `--primary` instead of ignoring +- man page: list size detail for matrix symbols (`--vers`) +- CODE11/C25XXX/CODE39/EXCODE39/HIBC_39/CODE93/CODABAR/PLESSEY/MSI_PLESSEY/FLAT/ + DAFT/TELEPEN/TELEPEN_NUM: increase allowed lengths +- API: add `ZBarcode_Reset()` to fully restore `zint_symbol` to default state + +Bugs +---- +- CEPNET: fix no HRT (library: `has_hrt()`) +- man page: fix Code 11 check digit info +- CMake: allow ctest to be run without having to install zint or manually set + LD_LIBRARY_PATH and PATH (ticket #279, props Alexey Dokuchaev) +- GUI: fg/bgcolor text edit: fix right-click context menu not working properly + by checking for it on FocusOut +- GUI: fix fg/bgcolor icon background not being reset on zap +- EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC +- EMF/EPS/SVG: fix addon bars placement/length when text hidden +- For Windows, assume `outfile` & API filename args are in UTF-8, + & use xxxW() APIs accordingly, ticket #288, props Marcel + **Backwards-incompatible change** +- GUI: fix `save_to_file()` `filename.toLatin1()` -> `toUtf8()` +- CLI: batch mode: don't close input if stdin +- EAN/UPC: fix excess 1X to right of add-ons +- Composites: fix excess whitespace; fix quiet zone calcs to allow for linear + shifting +- GUI: fix not enabling font combo "Small Bold (vector only)" by default +- CODEONE: fix S/T quiet zone 1X bottom (props BWIPP issue #245 doc) +- EAN-2/EAN-5: fix `BARCODE_BIND_TOP/BIND/BOX` output +- library: fix 21-bit Unicode conversion in `escape_char_process()`; fix + restricting escaped data length by using de-escaped length to check +- AZTEC: fix out-of-bounds crash when user-specified size given, ticket #300, + props Andre Maute; fix 4-layer compact block max (76 -> 64); fix encoding of + byte-blocks > 11-bit limit +- CODABLOCKF: fix crash due to `columns` overflow, ticket #300, props Andre + Maute +- CODEONE: fix out-of-bounds crash in `c1_c40text_cnt()` and looping on latch + crash in `c1_encode()` and too small buffer for Version T, ticket #300, props + Andre Maute +- EANX_CC/UPCA_CC: fix crash in `dbar_date()` on not checking length and crash + in `gs1_verify()` on not checking length, ticket #300, props Andre Maute +- GS1_128_CC: fix divide-by-zero crash in `calc_padding_ccc()`, ticket #300, + props Andre Maute +- HANXIN: fix incorrect numeric costings (out-by-1) in `hx_in_numeric()`, ticket + #300 (#16), props Andre Maure +- PDF417: fix out-of-bounds crash in `pdf_text_submode_length()` and + out-of-bounds crash on overrunning string and codeword buffers, ticket #300, + props Andre Maute +- QRCODE: fix out-of-bounds crash due to incorrect mode costings for GS1 + percents in `qr_in_alpha()`; fix incorrect numeric costings (out-by-1) in + `qr_in_numeric()`; ticket #300 (#14, #15; #16), props Andre Maute +- GS1: fix square brackets treated as FNC1 in GS1PARENS_MODE by changing + internal FNC1 marker '[' -> '\x1D' (GS), ticket #319, props Moli Sojet; + also fix non-AI square brackets -> round brackets in GS1_128 HRT + + +Version 2.12.0 (2022-12-12) +=========================== + +**Incompatible changes** +------------------------ +- DOTCODE, QRCODE, RMQR: now return warning if ECI or Structured Append used in + GS1 mode +- CLI now returns an error if unknown option given or if option is missing its + argument + NOTE: previously printed error messages but continued without returning an + error +- DPD now adds top boundary bar by default and returns warnings if input is not + compliant +- Legacy and never-used output option BARCODE_NO_ASCII removed (value now used + by new output option BARCODE_BIND_TOP) +- Symbology BARCODE_CODE128B (Suppress subset C) renamed to BARCODE_CODE128AB + to more accurately reflect its behaviour (old name still recognised, except in + Tcl backend) +- Symbology BARCODE_MAILMARK renamed to BARCODE_MAILMARK_4S due to introduction + of BARCODE_MAILMARK_2D (old name still recognised, except in Tcl backend) +- CLI now expects floating point arguments to be in simple decimal point + notation (i.e. not scientific notation) with a maximum of 7 significant digits + +Changes +------- +- bwipp_dump.ps: convert patch file to cat file as BWIPP now honours `dontdraw` + for composite symbologies +- DOTCODE, QRCODE, RMQR: return warning if ECI or Structured Append used in GS1 + mode, ticket #271 +- CLI: improve `getopt_long_only()` processing, printing own message if bad arg + and returning error if so rather than continuing to process +- manual: MSE typo -> MSI; adjust SVG scaling for PDF manual; pandoc 2.19.2 +- manual/man page/GUI: Code 16k -> Code 16K +- PDF417/MICROPDF417: add optimized encoding, FAST_MODE for previous; formatting + changes +- common.c/h: add `cnt_digits()`; comments in include; minor fiddling +- API/CLI/Tcl/GUI: new output option BARCODE_BIND_TOP / `--bindtop` / "Bind Top" +- DPD: add top boundary (width 3X) by default, using new BARCODE_BIND_TOP; + "relabel" option; some compliance checks +- manual: fuller DPD doc; some spelling typos, formatting +- cmake: fixes for static build and install directories, props koprok +- cmake: remove zintconfig.h.in for now as incompatible with MSVC project builds + (will add back in future if go fully CMake) +- NO_PNG -> ZINT_NO_PNG and new API function `Zint_NoPng()` to determine if no + PNG support in libzint; replace use in GUI with backend_qt method `noPng()` +- API: add new zint_symbol `dpmm` field for output resolution (BMP/EMF/PCX/PNG/ + TIF only, i.e. excluding EPS, GIF & SVG) +- Add support for specifying scale by X-dimension and resolution with new option + `--scalexdimdp` for CLI/Tcl & new API function `ZBarcode_Scale_From_XdimDp()` + (plus `ZBarcode_XdimDp_From_Scale()` and `ZBarcode_Default_Xdim()`) and new + GUI popup; manual: document +- BMP/EMF/PCX/PNG/TIF: use new `dpmm` resolution field (for EMF following + Inkscape) +- backend_qt: add `dpmm()`, `vectorWidth()`, `vectorHeight()`, `noPng()`, + `getVersion()`, `takesGS1AIData()`, & `XdimDp` stuff incl. new `QZintXdimDp` + struct for passing around scale vars & use in `getAsCLI()`; add comments +- Raise `scale` limit to 200 (from 100) to allow for large dpmm +- output: create directories & subdirectories as necessary for output path using + new function `out_fopen()` and use in BMP/EMF/EPS/GIF/PCX/PNG/SVG/TIF +- DPLEIT/DPIDENT: format HRT according to (incomplete) documentation, and set + default height to 72X (from 50X) +- CODE128B renamed to CODE128AB as can use subsets A and/or B +- MAILMARK: better error message if input < 14 characters +- GUI: add "Default" button for DAFT tracker ratio & enable/disable various + default buttons; use new `takesGS1AIData()` to enable/disable GS1-specific + checkboxes +- CLI: use new `validate_float()` to parse float options (7 significant digits + allowed only, no scientific notation) +- CLI: mirror: use -o directory if any (ticket #193) +- QRCODE/UPNQR: add FAST_MODE (try 4 not 8 masks automatically) +- GS1: add new AI 7011 (GSCN 22-163) +- Add new symbology BARCODE_MAILMARK_2D (Royal Mail 2D Mailmark), renaming + previous BARCODE_MAILMARK (Royal Mail 4-State Mailmark) to BARCODE_MAILMARK_4S +- Add new symbology BARCODE_UPU_S10 +- PZN: allow check digit to be given; add space after hyphen in HRT; PZN7 option +- backend_tcl: update TEA +- DATAMATRIX/GRIDMATRIX/PDF417/QR/ULTRA: micro-optimize structapp ID parse +- library/CLI: fiddle with static asserts (make CHAR_BIT sensitive, supposedly) +- win32/README: update building libpng (assembly removed) +- README.linux: document incompatibility of Qt6 >= 6.3 +- manual: expand Barcode Studio waffle +- test suite: change range separator to hyphen and allow multiple excludes + +Bugs +---- +- test suite: fix `test_library` test to allow for running from root; + fix `test_args` test to allow for re-running (remove junk) (tickets #268, + #269) +- common.h: define ZINT_IS_C89 as __STDC_VERSION__ not defined by MSVC, and use + when checking whether to include <alloca.h> (MR #152) +- common.c: ensure `stripf()` not inlined to prevent optimizer undoing effect + (ticket #269) +- GUI: fix "Border Width" ampersand shortcut +- CODE128: allow for extended latching (double FNC4) spanning intermediate + CodeC sequence by setting `f_state` only if in CodeA/B & checking before + adding extended mode switch (cf OkapiBarcode commit [9ce6dcc], props Daniel + Gredler) +- DATAMATRIX: in FAST_MODE re-process any buffered X12 characters when mode + changes from X12 (cf OkapiBarcode commit [fb7981e], props Daniel Gredler) +- CODABLOCKF: allow for FNC4 when estimating no. of rows required +- CODE16K: make sure row calculation accurate by dispensing with glyph estimate + & using actual codeword count +- CODE16K: ensure initial mode selection allows for extended characters +- vector.c: add `z_alloca()` cast for `first_row_rects` (ticket #272) +- MSVC project files: remove incorrect "CompileAsCpp" setting from libzint + project files (ticket #272) +- bwipp_dump.ps: fix 2/4-track processing; update to latest BWIPP +- PDF417/MICROPDF417: use latch not ps shift for padding when spanning + Text segments to avoid affecting 1st char of 2nd segment +- GUI: only skip encoded/errored signal processing if active modal ExportDialog + (wasn't clearing/setting error text bar correctly) +- CODABAR: fix minimum height calc +- EMF: fix indexing of handles (zero-based not 1-based) +- GUI: fix symbology zap (previous technique of clearing and re-loading settings + without doing a sync no longer works); fix UPCEAN guard descent enable + + +Version 2.11.1 (2022-08-22) +=========================== + +**Incompatible changes** +------------------------ + - None + +Changes +------- +- GUI: sequence export dialog: add Postfix field for filename (#252) +- eci.c: replace libiconv-adapted code with own implementations so + as to fully comply with libzint's BSD license +- GUI: CODE39/EXCODE39: show/hide HIBC check digit option +- RMQR: update to ISO/IEC 23941:2022 - R13x77 numeric cclens change 8 -> 7 +- QRCODE: use stricter interpretation of ZINT_FULL_MULTIBYTE, excluding + certain trailing bytes +- GUI: foreground/background colours -> text boxes and icon buttons, add swap + button, independently movable picker (NULL parent), preview colour changes, + preview Data Window changes, add clear data (del) buttons, add zap button + and Factory Reset menu option, various other fixes +- 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 +- frontend: batch: for @ use + instead of * on Windows as * not allowed + in filenames +- Add new symbology BC412 (SEMI T1-95) +- backend: use alloca() (z_alloca()) for both Unix and Windows +- GS1: new AI 4309 with latlong checker, new currency code 925 +- GUI: add automatic info feedback to "Automatic" combo item of size/row/height + comboboxes +- PDF417: encodation now simpler and closer to ISO/IEC 15438:2015 Annex N + algorithm, props Jeff Skaistis +- Add new symbology CEPNet + +Bugs +---- +- frontend/test_args.c: don't use WIFEXITED(), WEXITSTATUS() on Windows +- libzint: fix some confusing error messages introduced by segment stuff +- GUI: remove unnecessary tabMain min size (better layout rendering on + Windows/Fedora) +- library: check symbol->primary for escape sequences also +- GUI: error message GS1_MODE -> GS1 mode +- GUI: sequence window: fix initial clear button status +- GUI: NO_PNG: allow for Qt not parsing #if's in slots +- frontend: batch mode: fix default "~~~~~" output (github issue #65) +- vector: ensure separators don't overlap with other rectangles so that + they render correctly when have RGBA alpha channel +- GUI: update_preview() after Data Dialog return to ensure preview in sync +- PDF417: fix invalid numeric -> byte shift transitions, MR #151, props Jeff + Skaistis +- PDF417: fix extraneous text latch after a byte shift, MR #151, props Jeff + Skaistis + + +Version 2.11.0 (2022-05-24) +=========================== + +**Incompatible changes** +------------------------ +- Add width to struct zint_vector_circle + NOTE: backward incompatible drawing of MaxiCode finder (bullseye) +- Check that scale/height/whitespace/border are reasonable values + NOTE: will return error if values outside ranges +- raster.c: Bug fix for heap-buffer-overflow (#204 ARM-Cortex) + NOTE: may cause single-pixel changes to height depending on height/scale used +- JAPANPOST: return error if input data would be truncated + NOTE: previously was silently truncated +- PDF417: return warning if specified cols increased + NOTE: previously no warning was returned +- Matrix symbols: horizontal boundary bars appear outside any vertical + whitespace + NOTE: previously appeared inside vertical whitespace +- ECI 29 now GB 2312 only; GB 18030 is new ECI 32 + NOTE: previously ECI 29 was GB 18030 for HANXIN, GB 2312 otherwise +- HANXIN, QRCODE/RMQR now warn when convert to GB 18030, Shift JIS resp. + and no ECI given +- GRIDMATRIX no longer attempts Latin-1 conversion when no ECI given +- CLI now returns ZINT_ERROR_INVALID_OPTION (8) on its failed option checks + and ZINT_WARN_INVALID_OPTION (2) on ignored options + NOTE: previously returned 1 and 0 respectively + +Changes +------- +- RMQR: add ECI support +- CODE93: don't display check characters in HRT (as per standard Figure B1) + unless option_2 = 1 or vers=1 +- GUI: separate out MAXICODE Structured Carrier Message fields +- library.c: Check that scale/height/whitespace/border are reasonable values: + scale (0.01-100), height (0-2000), whitespace_width/height (0-100), + border_width (0-100) +- CLI: allow both e.g. '-height' and '--height' (getopt_long_only()) +- UPC/EAN: add guard_descent +- Add output_options BARCODE_QUIET_ZONES and BARCODE_NO_QUIET_ZONES +- Allow dummy AI "[]" if GS1NOCHECK_MODE and has data (#204) +- raster.c: improve non-half-integer interpolation performance +- Add Structured Append support for AZTEC, CODEONE, DATAMATRIX, DOTCODE, + GRIDMATRIX, MAXICODE, MICROPDF417, PDF417, QRCODE, ULTRA +- ULTRA: add revision 2 support (based on BWIPP 2021-09-28 update) +- Add compliant height +- GUI: add Menu, copy to clipboard EMF/GIF/PNG/TIF, errtxt bar and status bar, + icons (feathericons) +- CODABAR: add show check digit option +- DAFT: max chars 50 -> 100 +- CMake: separate no-optimize from ZINT_DEBUG into new ZINT_NOOPT option +- PDF417: add specify rows option +- Add HEIGHTPERROW_MODE input mode flag +- DBAR_EXPSTK: add max rows option +- CODE16K/CODE49: add min rows option +- GUI: add CLI equivalent dialog (#163) +- Add ZBarcode_BarcodeName() +- GUI: data dialog: convert Line Feeds if escaping on input, escape on output +- DATAMATRIX: new algorithm for (near-)optimal encoding, props Alex Geller +- CLI/GUI/Tcl: add --fast option to select faster but less optimal DATAMATRIX + algorithm (previous default) +- Matrix symbols: change horizontal boundary bars to appear outside any + vertical whitespace, as they're decorative rather than functional (#247) +- FIM: Add support for FIM E +- Updated ECIs to AIM ITS/04-023:2022 (ECI Part 3: Register) +- HANXIN: removed alternating filler in function information +- GRIDMATRIX/HANXIN/QRCODE/RMQR: warn if auto-conversion (i.e. no ECI given) + occurs to resp. specialized char sets (GB 2312/GB 18030/Shift JIS) +- Add multiple segments support for AZTEC, CODEONE, DATAMATRIX, DOTCODE, + GRIDMATRIX, HANXIN, MAXICODE, MICROPDF417, PDF417, QRCODE, RMQR, ULTRA +- MICROQR: check versions M1 and M2 for allowed characters so as to give better + error messages +- 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 +- 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 +- CLI: return ZINT_ERROR_INVALID_OPTION instead of 1 on bad option and + ZINT_WARN_INVALID_OPTION instead of 0 on ignored option + +Bugs +---- +- GUI/CLI: fix dev version test +- library.c: error_tag(): check error_number < ZINT_ERROR on WARN_FAIL_ALL +- vector.c: enforce minimum scale >= 0.1 and allow in GUI +- Suppress some pedantic warnings, props codemonkey82 (#204) +- gs1.c: Allow 0-length AI data if GS1NOCHECK_MODE, props codemonkey82 (#204) +- raster.c: avoid distributive multiplication with floats to lessen chances of + platform variation (#204 ARM-Cortex crash) +- common/emf/output/raster/vector.c: use new stripf() func to workaround + float variations +- raster.c: Don't add height offset for text if scale < 1.0 (as won't print) +- ISBNX: fix not returning error number (warning) correctly +- *.rc: fix VER_FILEVERSION_STR format (, -> .), props Jeff Skaistis +- PDF417: fix cols/rows calculation to require multiple <= 928 codewords +- raster.c: fix possible blank rows appearing in CODE16K, CODE49, PHARMA_TWO, + PDF417 & CODABLOCKF due to height/scale rounding, props codemonkey82 (#204) +- library.c: check for stacking symbols >= 200 +- DATAMATRIX: fix mis-encoding of non-encodables in X12 and EDIFACT modes, + props Alex Geller +- DATAMATRIX: fix mis-encoding of FNC1/GS in EDIFACT in GS1 mode +- Allow for dot overspill in height of vertical box sides (dotty mode) +- HANXIN: fix gate-posts on codeword limits +- GUI: cater for HiDPI display, props bitaround (#257) +- RMQR: fix ECI encoding (wrong bit length for indicator) +- CLI/tcl: fix version check (need <= 999 for DAFT permille) +- UPNQR: fix required binary mode using mode_preset +- 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 + + +Version 2.10.0 2021-08-14 +========================= + +**Incompatible changes** +------------------------ +- Add halign (horizontal align) to struct zint_vector_string + NOTE: backward incompatible text drawing for UPC/EAN +- Change height and row_height array to floats + NOTE: may cause changes in heights + +Changes +------- +- Move project history/version from manual.txt and backend/README into this file +- Command line switches -d or -i for code data may now be at any position. +- Add rotation for vector formats +- Change double to float for performance in many internal places +- Ticket 197: optimize raster scaling for 0.5 substeps; + ignore raster scaling < 0.5 as pixels lost. +- Ticket 197: add output option to bypass time-intensive buffer_plot() + (OUT_BUFFER_INTERMEDIATE) +- Reduce BMP size by using 1 bit per pixel (except Ultracode) +- New warn_level field, WARN_FAIL_ALL +- Add GS1NOCHECK_MODE to input_mode (note was ZPL compatibility mode + WARN_ZPL_COMPAT to warn_level) +- Remove version info from zint.h and put in zintconfig.h via zintconfig.h.in +- Add ZBarcode_Cap() +- Add GUI symbology filter, separate settings for each symbology +- Require cmake 3.5, use PNG::PNG and add Qt6 build option +- Make library fully stack-based so reentrant apart from file operations +- Performance improvements (large data) for AZTEC/HANXIN/GRIDMATRIX/PDF417/QR +- Option scmvv for MaxiCode #212; postcode needn't be space-filled +- eci: Add support for all ECIs (Big5, Korean, UCS-2BE) +- CLI: Handle UTF-8 args on Windows; -b <barcode name> +- DATAMATRIX: make EOD encodation strictly ISO 16022 compliant +- png.c: Use palette for file size savings +- tif.c: Use palette/bilevel/LZW to reduce file size, alpha/CMYK support +- Option gs1parens (GS1PARENS_MODE) +- MAXICODE: Rejig raster output to more closely match ISO 16023:2000 +- C25STANDARD/C25INTER/C25IATA/C25LOGIC/C25IND: add check digit option (#216) +- Use zint-64.svg for smoother icons, props frhun +- Add whitespace_height to zint_symbol (vertical whitespace) +- AZTEC: optimize populate_map (good for small data) - avoids MSVC bug also +- Various workarounds for other MSVC bugs +- CMake: Windows compatible, backend/tests & frontend/tests now subprojects + using new zint_add_test.cmake file, static build, new ZINT_USE_PNG and + ZINT_USE_QT options, getopt moved to subproject and getopt detection, + sanitizer flag detection, and many other improvements, props Alonso Schaich +- PLESSEY: add options NCR weighted mod-10, hide check digit(s) in HRT +- Fuller error messages; more comments zint.h +- CMake: simplication and modernization, Qt5/6 version, props Null Void (atom) +- POSTNET/PLANET: allow up to 38 chars (ZINT_WARN_NONCOMPLIANT) (see [d7ac9c]) +- RMQR: update to new draft ISO/IEC JTC1/SC31N000 (Draft 2019-6-24) +- ULTRA: update max size and min cols based on BWIPP 2021-07-14 update + +Bugs +---- +- Code16k selects GS1 mode by default in GUI +- Ultracode: use white pixels instead background for white modules. +- EMF: fix Ultracode colours. +- Ultracode: fix count of codewords when using reader init mode +- Databar Limited: add 5 right guard spaces (ISO/IEC 24723:2010 6.2 (e)) +- Data Matrix: avoid unnecessary latch in X12 mode at end of data, #208 +- Data Matrix: fix eod shift -> 0 pad +- POSTNET/PLANET: remove extra 1 module space +- Aztec: fix bit-stuffing (again!) and Aztec Rune: fix for data >= 128 +- EAN composite: allow for check digit + buffer overflow for too long add-on +- Han Xin fix 0xFFE terminator +- GUI: Use UTF-8 for QSettings (non-ASCII was getting garbled on restore) +- DOTCODE: Fix best_mask -> high_score prime test +- CODEONE: various fixes, ECI support +- #218 Prevent buffer overflow in ean_leading_zeroes by checking max lengths +- MAXICODE: fix mask typos for ECI 3/4 bytes +- Fix UPCEAN small font ignored/disabled (introduced [1adba1]) +- get_best_eci: check UTF-8 before returning 26 +- MAXICODE: fix shifting from sets C/D/E to A/B (only latch available) +- EAN14, NVE18: fix checksum calc for zero-filled input +- png: ULTRA: allow for fgcolour if bind/box (MR #111) +- DOTCODE: allow for max 200 cols in CLI, GUI, Tcl +- CODEONE/DATAMATRIX/MAILMARK/PLESSEY: fix some 32-bit/portability bugs +- CODABAR: fix CALCIUM define address use, props Alonso Schaich +- DATAMATRIX/CODEONE: Use LCM in look ahead tests to avoid floats (#228) +- raster/output: use new isfintf() to test floats integral (CodeQL) +- ZBarcode_Encode: don't reinit symbol->outfile, props Alonso Schaich +- CODEONE: is_last_single_ascii() out-of-bounds, #232 CI-Fuzz, props Jan Schrewe +- library: compat symbology 39 fix; ISBN: "X" check +- backend/CMakeLists.txt: output dir for zintconfig.h, props Andre Maute (#238) +- UPCE/UPCE_CC: allow check digit (same as UPCA/UPCA_CC) so selecting composite + doesn't give error +- bmp/emf/ps.c: allow for foreground colour in ULTRA +- bmp/gif/pcx.c: allow for BARCODE_STDOUT (fflush/fclose) +- ps.c: fix buffer overflow on colour_to_pscolor() CMYK +- composite: fix buffer overflow for large linear and small composite +- composite: clear errtxt when bumping from CC-A -> CC-B -> CC-C +- CODABLOCKF: prevent cols > 62; fix pTestList buffer overflow +- RMQR: allow for righthand vertical timing pattern in populate_grid() + + +Version 2.9.1 2020-08-04 +======================== + +Changes +------- +- Ticket 122: Implement transparency support + - Ticket 129: -nobackground option added + - -fg and -bg may contain an alpha channel + - structure zint_symbol may now contain an alpha channel as output +- Added DPD Symbology +- Add support for Unicode escape characters + +Bugs +---- +- EMF text colour does not change +- Fix QPainterPath dependency for Visual Studio + + +Version 2.9.0 2020-07-31 +======================== + +Changes +------- +- Dotcode: adapt to AIM DOC Revision 4 +- New option "-separator=" for zint to specify the separator height of stacked + symbologies. +- make internal routines invisible by a static function definition. +- CODE11: make adding check digits an option, selectable to 2 (default as now), + 1 or none +- LOGMARS restrict max length to 30 per MIL-STD-1189 Rev. B; make check digit + optional +- CODE39/EXCODE39: max length now 85 +- VIN code extended to international licence plates +- CODABAR: 3 data characters minimum (plus start/stop), check digit option added +- Channel Code: performance improvement +- QT GUI: + - GRIDMATRIX/HX/MQR/QRCODE/RMQR: allow separate selection of size/ECC + - add DAFT and VIN Symbologies + - Separarator option for DATAMATRIX + - Ticket 162: parse escape sequences + - gui element reassigments +- UPC/EAN/ITF-14 Composite: Ticket 72: new option --addongap (default:9) to set + the gap between code and composite. +- TCL Backend: The following symbology names were renamed: + - Matrix2of5 -> Standard2of5 + - PDF417Trunc -> PDF417Compact + - RSS14Stacked -> GS1DataBarStacked + - RSS14Stacked -> GS1DataBarStacked + - RSS14StackedOmni -> GS1DataBarSstackedOmni + - RSS14ExpandedStacked -> GS1DataBarExpandedStacked + - OneCode -> USPSIntelligentMail + - EAN128-CC -> GS1-128-CC + - RSS14-CC -> GS1DataBarOmni-CC + - RSSLimited-CC -> GS1DataBarLimited-CC + - RSSExpandedStacked-CC -> GS1DataBarExpanded-CC + - RSSEXPanded-CC -> GS1DataBarExpanded-CC + - RSS14Stacked-CC -> GS1DataBarStacked-CC + - RSS14Omni-CC -> GS1DataBarStackedOmni-CC + - RSSExpandedStacked-CC -> GS1DataBarExpandedStacked-CC + ** Potential incompatibility ** +- API Symbol names changed but old names preserved in zint.h + - BARCODE_C25MATRIX -> BARCODE_C25STANDARD + - BARCODE_EAB128_CC -> BARCODE_GS1_128 + - BARCODE_RSS14 -> BARCODE_DBAR_OMN + - BARCODE_RSS_LTD -> BARCODE_DBAR_LTD + - BARCODE_RSS_EXP -> BARCODE_DBAR_EXP + - BARCODE_PDF417TRUNC -> BARCODE_PDF417COMP + - BARCODE_RSS14STACK -> BARCODE_DBAR_STK + - BARCODE_RSS14STACK_OMNI -> BARCODE_DBAR_OMNSTK + - BARCODE_RSS_EXPSTACK -> BARCODE_DBAR_EXPSTK + - BARCODE_ONECODE -> BARCODE_USPS_IMAIL + - BARCODE_EAN128_CC -> BARCODE_GS1_128_CC + - BARCODE_RSS14_CC -> BARCODE_DBAR_OMN_CC + - BARCODE_RSS_LTD_CC -> BARCODE_DBAR_LTD_CC + - BARCODE_RSS_EXP_CC -> BARCODE_DBAR_EXP_CC + - BARCODE_RSS14STACK_CC -> BARCODE_DBAR_STK_CC + - BARCODE_RSS_EXPSTACK_CC -> BARCODE_DBAR_EXPSTK_CC + +Bugs +---- +- Ticket 185 EMF export corrections + - fine scaling by the use of float arithmetic + - full header (extension1&2) with correct size field +- Ticket 190: Aztec buffer overrun fixed +- Ticket 191 suppress clang-tidy warnings: raster.c, composite.c, qr.c +- Ultracode internal encoding bugs, ECI 899 +- GS1 data: exclude DEL character +- Ticket 192: missing malloc.h include for Windows compilers. +- Correct GS1 AI 253 & 255 length from 14 to 13 +- Codablock F changes: + - FNC4 may not be split over rows. + - Use Code128 routine for one line Codablock FIM + - Correct column range to 9 ... 62 + - allow new options: row count and column count, border_width and HIBC mode + - pad correctly empty and last row + - separator length correction +- Code128 changes: + - Correctly encode CodeA charset with control-character only data + - Improve coding of Extended ASCII (FNC4) + - Checksum calculation overflow protection + - EAN128 may reduce length +- Check for incomplete escape sequences on data specification: "\" without + following character. +- Code16K fixes: remove extended ASCII latch, pad character +- Restructuring to have common code centralized: + - Code128 routines for Codablock&Code16K + - output.c has common routines from raster.c and symbologies. +- HIBC_39: restrict max length to 68 otherwise to avoid overrun +- Code One: protect agains overrun +- Telepen: allow DEL +- GS1 Databar/ GS1-128 Composite: + - Separator bar corrections + - Ticket 200: spurious additional row + - Correct names in GUI +- Compact PDF417: + - Add missing stop pattern. + - Rename in GUI: "PDF417 Truncated" to "Compact PDF417". +- PDF417: Optimize text compaction mode switch. +- Human readable representation: Code128, Code39, Code93 special characters + are shown by a blank. +- ITF14: Ticket 201: allow bind option + + +Version 2.8.0 2020-04-10 +======================== + +Changes +------- +(New) Tests for auspost, codablock, composite, dotcode, general, telepen, + upcean, all output formats +- QR, Han Xin, Grid Matrix: the multi byte compaction schemes (ex: Kanji) + are used by some decoders as codepage information (Ex: GB2312) and output + may be translated to UTF-8. This may destroy the data in a not controlable + manner. + In consequence, multibyte compaction schemes are disabled by default. + The new option --fullmultibyte (option_3 = ZINT_FULL_MULTIBYTE) enables this + optimisation. +- Add new symbology "Ultra Code" with the ability to output colour codes. + +Bugs +---- +- Ticket 181 penetration test found many bugs: + - Auspost: null bytes in content caused segfault + - Codablock: data 0x1a..0x1f caused segfault + - Dotcode: overrun in binary mode, overrun in codeword_array buffer + Correct encoding of HT/FS/GS/RS when shifting to code set B + - empty or unreadable input file + - telepen: buffer overflow + - EANUCC: buffer overflow on multiple + (multiple extension bars) + - Maxicode: index overrun on numeric compaction + - CodeOne: Simple i indexing not sp + i in C1_ASCII numeric latch loop. + - Aztec: free memory +- Ticket 183: Databar stacked separator correction +- Ticket 182: Output bitmap type was char, where some targets assigned 0 + if pixel colour >127 (e.g. negative). API change to use unsigned char. +- HanXin: wrong codepage, gb2312 instead gb18030. +- PDF417: corrected alloced sizes to max characters +- Ticket 189: FNC1 encodation fixed (FLG(0) missing after FLG(n)) +- PCX format: added missing bytes_per_line if bitmap width is odd. + + +Version 2.7.1 2020-02-01 +======================== + +Changes +------- +- QR encoding optimized to get smaller code matrix results +- PDF417: remove obsolete codeword number option in qzint. + Option removed in qtzint. +- Removed annex B (3 digit country codes) and annex C (GS1 General + Specification) from the manual. This material may be found elsewhere. +- MAC homebrew remark added to the documentation +- Correct cmake file to match BSD-3-clause licence + +Bugs +---- +- Correct uninitialized warning in gridmatrix.call +- do not export internal functions +- raster painting of UPC-A bound check +- pdf417 documentation corrected: change flag -security to -secure +- Dot Code encoding ECI number corrected +- Corrected postscript plotting error +- Datamatrix: corrected possible buffer overrun in 3 characters to 2 byte + encodings. +- In 2.7.0 removed interface "ZBarcode_Render" still declared +- vc6 make was missing (trivial) resource.h + + +Version 2.7.0 2019-12-05 +======================== + +Changes +------- +- Automatic height option added to qzint +- DotCode in line with new specification +- New GS1 AIs 7240, 235, 417, 7040, 8026, updated checks for 7007, 8008 +- New Symbology rMQR +- QR and Qridmatrix optimisation for GB2312 +- removed depreciated interface for gLabels program. Please use current + interface. + +Fixed bugs +---------- +- Many improvements in composite codes +- SVG output corrected for messages containing "<" and "&". +- GS1-128 and RSS may only be used with GS1 contents +- Han Xin chinese character handling + + +Version 2.6.7 2019-10-07 +======================== + +Changes +------- +Ticket 127: Allow to code ECI 3 if explicitly given for debug purposes. +**Incompatible change** +"--eci 3" now leads to included ECI information. +"--eci 0" may now be used to not include any ECI information. +The default of the parameter changed from 3 to 0. + +Fixed bugs +---------- +Ticket 146, 165: fix wrong encoding of RSS composite codes + + +Version 2.6.6 2019-09-18 +======================== + +Fixed bugs +---------- +Ticket 161: PDF row size may be set +Ticket 155: PDF numeric compaction +Ticket 164: crash due to call of svg_plot withnull vector +Ticket 119: Crash on bullseye raster drawing +qtzint: Micro-QR version option choice corrected (+1 missing). +Datamatrix: code corruption when ECI was encoded and base256 encoding was +automatically chosen. + + +Version 2.6.5 2019-09-02 +======================== + +Fixed bugs +---------- +backend/main.c was missing +Maxicode bullseye rastering for scale = 0.5 +Crash in utf to eci. +eci ISO 8859-16 table missing data line +upce check for 7 digit input (causes crash) and BARCODE_UPCE_CHK -> BARCODE_UPCE +mapping removed +US imail check for invalid barcode identifier and allow 0/5/9/11 length zip +maxicode code set correction +cmake flags for debugging and sanitize options +unit tests for the changes, with a simple test suite based on qrencode/tests + + +Version 2.6.4 2019-08-30 +======================== +Fixed bugs: EMF output, maxicode plot/content +Datamatrix DMRE updated to the ISO/IEC29158 version. This is incompatible in the +way that the old -vers numbers for DMRE are re-assigned. +The separator of GS1-datamatrix may be switched from FNC1 to GS. +GS1 field length check AI 8009 and 7230 to 7239 currected. + + +Version 2.6.3 2018-02-15 +======================== +New symbology Royal Mail 4-state Mailmark. Added North America VIN verification. +Bugfixes for TIF and EMF output and escape character handling. + + +Version 2.6.2 2017-10-22 +======================== +Further bugfixes in Aztec and DotCode. Expand escape sequence support +to API and GUI. Handle UTF BOM. Bugfix raster images of Maxicode. + + +Version 2.6.1 2017-08-27 +======================== +Library bugfixes: EDIFACT unlatch in Data Matrix, Add UPNQR, Improved Aztec +data compression, Detect Code 128 data too long, Make error codes consistent. +GUI improvements: Additional clipboard options, remove border width bug, +remove changing background colour bug, remember more settings and make GUI +more consistent with user expectations. All windows now resizable and more +information given when batch processing. + + +Version 2.6.0 2017-05-12 +======================== +Update front end to Qt5. Output to EMF and TIF. Copy to clipboard. Update +to latest draft of DMRE. Usual bugfixes. + + +Version 2.5.1 2017-04-03 +======================== +Numerous bugfixes, especially with Data Matrix thanks to extensive testing +by brunt@SF + + +Version 2.5 2016-11-13 +====================== +Support for DotCode and Han Xin code. ECI code processing. Output to BMP, GIF +and PCX. Added bold and small text options. Reintroduction of Codablock-F. +Many minor fixes and improvements. + + +Version 2.4.3 2011-05-16 +======================== +Includes minor bugfixes + + +Version 2.4.1 2011-04-19 & 2.4.2 2011-05-04 +=========================================== +A whole host of bugfixes including correction of ECC routines +for Code-1 and addition of batch processing at the command line. + + +Version 2.4 2010-09-13 +====================== +Built extensions to the API for integrating with glabels with thanks to +Sam Lown and Jim Evins. Added code optimisation and input from stdin thanks to +Ismael Luceno. Reinstated escape character input. Simplification of Barcode +Studio. + + +Version 2.3.2 2010-05-29 +======================== +Corrected many bugs in GS1 DataBar Extended thanks to the careful +study of the code by Pablo Orduña at the PIRAmIDE project. Similarly corrected +some bugs in Maxicode thanks to Monica Swanson at Source Technologies. Also +minor bugfixes for ISBN and Aztec Code, and added some small features like a +--square option in the CLI. + + +Version 2.3.1 2010-04-07 +======================== +Removed Codablock-F. Redesigned scale function so that human readable +text and Maxicode symbols can be scaled consistently. Corrected encoding bugs +with Code 128/Code 16k and Data Matrix ECC200 ECC 050. Added --notext option to +CLI. + + +Version 2.3 2009-11-23 +====================== +Fixed problems with Micro QR Code and rebuilt QR Code support removing +dependence on libqrencode. Improved Kanji character support for QR Code and +Micro QR Code which now auto-detects and automatically converts to Shift-JIS. +Added Grid Matrix symbology with Kanji character support and automatic +conversion to GB 2312. Removed no_qr compile option. Advanced Barcode Studio +version number to match library version number. + + +Version 2.2.2 2009-09-29 +======================== +A beta release previewing the new API structure. Better NULL character +support with "nullchar" value removed. Added loading from file and sequence +dialogs in Barcode Studio. + + +Version 2.2.1 2009-08-06 +======================== +Data encoding bugfixes for Aztec Code, Data Matrix ECC200, USPS One +Code and PDF417. Symbol plotting bugfixes for MicroPDF417 and 2D components of +composite symbols. Text formatting bugfix for Qt renderer and a couple of +compiler fixes for MSVC PNG image output. + + +Version 2.2 2009-07-18 +====================== +Added Code One and GS1 support in Code 49. Changed GUI binary name to +zint-qt and brought GUI up to version 1.0. Made some minor bugfixes to Code 39, +ITF-14, Aztec Code, Code 128 and Code 16K. Added 'rest' button to GUI. Included +.spec file from Radist. + + +Version 2.1.4 2009-06-19 +======================== +Many stability improvements including removal of buffer overruns in +Code 39, LOGMARS, PZN, Aztec Code and Composite CC-A. Addition of files for +compiling on MS Windows platform - tested successfully on XP and Vista. + + +Version 2.1.3 2009-05-19 +======================== +Many improvements to the QZint GUI which is now renamed "Zint Barcode +Studio 0.2". Added Japanese Postal Barcode, Code 49 and Channel Code and made +corrections to Data Matrix ECC200 (Binary mode data compression terminates too +soon), Aztec Code (Bug when automatically resizing after removing "all 0" and +"all 1" codewords) and Code 128 (Extended ASCII characters become corrupt). + + +Version 2.1.2 2009-03-01 +======================== +Added SVG output option. Improved Japanese character support including +Unicode > Shift-JIS capability. Bugfixes for Data Matrix ECC200 (missing +characters at end of string) and Codablock-F (K1/K2 check digit and row +indicators above row 6). + + +Version 2.1.1 2009-02-10 +======================== +Minor Data Matrix ECC200 bugfix and added HIBC options. + + +Version 2.1 2009-01-31 +====================== +Reinstated Korea Post barcodes, harmonised bind and box options, moved +Unicode handling into backend and added input_mode option, added size options +to Data Matrix ECC200, added NULL character handling for Codablock-F, Code 128, +Code 16k, Extended Code 39, Code 93, Telepen, Maxicode, Data Matrix ECC200 ECC +200, PDF417 and MicroPDF417. Added GS1 support for Code 16k, Codablock-F and +Aztec Code. Added scale and direct to stdout options. Rebult Data Matrix ECC200 +ECC 200 encoding algorithms to support NULL encoding and GS1 data encoding. + + +Version 2.0 2008-11-18 +====================== +Made corrections to Aztec Code and tested output with bcTester. Added +Aztec Runes, Micro QR Code and Data Matrix ECC200 ECC 000-140. Updated e-mail +information. + + +Version 2.0 beta r2 2008-10-19 +============================== +Many corrections and bugfixes. (Code 11, Code 128, EAN-128, +Aztec Code, Codablock-F, Code 16k, POSTNET, PLANET, NVE-18, PZN, Data Matrix +ECC200, Maxicode and QR Code) + + +Version 2.0 beta 2008-09-29 +=========================== +Added support for Aztec Code, Codablock-F, Code 32, EAN-14 and DAFT +Code. Rearranged symbology numbers to match Tbarcode v8. Corrected a never +ending loop bug in EAN-128. + + +Version 1.6.2 2008-07-28 +======================== +Added KIX Code support and PNG image rotation. Corrected a bug +affecting extended ASCII support in Code 128 and Code 16k. + + +Version 1.6.1 2008-07-08 +======================== +Major restructuring of PNG generating code: Now draws UPCA and EAN +symbols properly and puts human readable text into the image. Also corrected +some nasty 'never ending loop' bugs in Code 128 and check digit bugs in PostNet +and Planet. + + +Version 1.6 2008-04-22 +====================== +Data Matrix ECC200, Maxicode and Australia Post now use common +Reed-Solomon functions – this also fixes a bug in Maxicode error correction and +replaces the last of the Lien code. Added PNG output for Maxicode symbols. +Removed some useless code. Updated QR support for libqrencode v2.0.0. + + +Version 1.5.5 2008-03-09 +======================== +Added composite symbology support. Corrected errors with GS1-128 and +PDF417/MicroPDF417 byte processing. Transferred licence to GPL version 3. + + +Version 1.5.4 2007-11-26 +======================== +Added GS1 DataBar (Reduced Space Symbology) support. + + +Version 1.5.3 2007-10-10 +======================== +Made huge corrections to Maxicode support by removing and re-writing +much of John's code. Maxicode now supports extended ASCII and modes 4, 5 and 6. + + +Version 1.5.2 2007-09-26 +======================== +Added extended ASCII support to Code 16k. Corrected Code 128 error. +Added Maxicode support by integrating code by John Lien. + + +Version 1.5.1 2007-09-03 +======================== +Added formatting code to EPS output of EAN and UPC symbols according +to EN 797:1996. Checked against and, where appropriate, altered or corrected to +comply with ISO 16388 and ISO 15417 including Latin-1 support. Altered default +image settings, added automatic ITF border. Corrected error with USPS OneCode. +Tidied up Code 39 quite a bit, added Mod 43 options. + + +Version 1.5 2007-08-12 +====================== +Pulled everything together to make an API. Corrected errors with EAN-13, +PDF417 and LOGMARS. Added EPS output. Added QR Code support using libqrencode. +Corrected ISBN verification error. Re-compiled documentation in HTML form. Put +in place proper error handling routines. --font option removed. Encoding is now +done with a restructured zint_symbol structure. Added make install option and +optional QR Code support to Makefile. Corrected minor problem with 4-State +Codes. Restructured code into fewer source code files. Added MicroPDF417 +support. + + +Version 1.4 2007-06-20 +====================== +Added NVE-18 support. Corrected some problems with compilation and input +verification. Command line option handling now uses getopt(), and all the +switches have changed. Added –font option. + + +Version 1.3 2007-06-13 +====================== +Supports USPS OneCode and LOGMARS. Brought all usage information into +one User Manual document. + + +Version 1.2 2007-05-28 +====================== +Supports Data Matrix ECC200 (by absorption of IEC16022 code by Stefan +Schmidt et al). Added reverse colours, FIM, MSI/Plessey Modulo 11 and Modulo +11/10. Corrected Code 16k check digit calculation. + + +Version 1.1 2007-04-26 +====================== +Added more derivatives (Code 2 of 5 Matrix, IATA and Data Logic, +Truncated PDF417, Deutsche Post Leitcode and Identcode, Pharmazentralnummer, +Planet) and Flattermarken. Tidied up 2 of 5 code. + + +Version 1.0 2007-04-20 +====================== +Corrected problem with escape character codes. Supports PDF417. This +completes the list of features I originally wanted (plus a few more), hence +skip to version 1.0. + + +Version 0.6 2007-04-01 +====================== +Added Plessey and some derivative codes (EAN-128, Code 128 subset B, +Auspost Reply, Auspost Routing, Auspost Redirect, ITF-14). Tidied up code +again: separated symbologies into more files and put all lookup tables into +arrays (much reducing the amount of code, especially for Code 39e and Code 93). +Errors now output to stderr. Added proper input verification. Distribution now +packs with HTML pages instead of separate README. Outputs to PNG. Outputs +colour. User variable whitespace and border width. Box option. Fixed EAN add-on +bug. Added whitespace and height options. Project name changed to Zint to avoid +conflict with extant trade name. Added escape character input. + + +Version 0.5 2007-02-28 +====================== +Added Australia Post 4-State Barcodes and Pharmacode (1 and 2 track). +4-state codes now draw with correct height/width ratio. + + +Version 0.4 2007-01-15 +====================== +Added barcode stacking (now stacks up to 16 barcodes) and Code16k (stub). + + +Version 0.3 2006-12-30 +====================== +Added MSI/Plessey Mod 10 check and 2 x Mod 10 check options, Telepen +ASCII and Telepen numeric, Postnet, RM4SCC. Code has been tidied up quite a +bit. Bind option added. + + +Version 0.2 2006-12-12 +====================== +Added Code 128 (which is now the default), Code 11, Code 2 of 5, Add-on +codes EAN-2 and EAN-5 parity and MSI/Plessey without check digit. + + +Version 0.1 (as Zebar) 2006-11-13 +================================= +Draws UPC-A. UPC-E, EAN-8, EAN-13, Interlaced 2 of 5, +Codabar, Code 39, Extended Code 39 and Code 93 barcodes and Add-on codes EAN-2 +and EAN-5 without parity. + +# vim: syntax=off :
