Updated: zint/-qt, libQZint-devel, libzint-devel/2.16 2.16 - multi-format barcode encoder

Brian Inglis via Cygwin-announce <[email protected]>
Newsgroups gmane.os.cygwin.announce
Message-ID <[email protected]>
Zint does easy barcode data encoding in a wide range of
standard formats and supports integration into programs.

For more information see the project home page:

	https://zint.org.uk

The following packages have been upgraded in the Cygwin distribution:

- zint-qt		2.16
- zint			2.16
- libQZint-devel	2.16
- libzint-devel		2.16
- libzint2.16		2.16

For changes since the previous Cygwin release see below,
or read /usr/share/doc/zint/ChangeLog after installation:


2025-12-19	2.16

Incompatible changes

- In `UNICODE_MODE`, ECI 899 Binary input now interpreted as UTF-8 (previously
  treated as-is, i.e. as binary bytes - this now requires `DATA_MODE`)
- Buffer length of member `errtxt` in `zint_symbol` extended 100 -> 160
  (client buffers may need checking/extending)
- New `content_segs` & `content_seg_count` fields in `zint_symbol` for use with
  new output option `BARCODE_CONTENT_SEGS`
- Symbol structure members `option_1`, `option_2` and `option_3` now updated
  after `ZBarcode_Encode()` and variants are called, and there are three new
  methods in the Qt Backend to access to them
- New Qt Backend method `isBindable()` for new flag `ZINT_CAP_BINDABLE`
- New Qt Backend methods `gs1SyntaxEngine()`, `setGS1SyntaxEngine()` and
  `haveGS1SyntaxEngine()` to access newly added GS1 Syntax Engine support
- GS1 Composites now return warning if CC type upped from requested due to size
  of composite data
- EAN-8 with add-on now returns warning that it's non-standard
- UPC-E now returns warning if first digit of 7 digits ignored (not '0' or '1')
- For GS1 Composite, no primary (linear component) now returns
  `ZINT_ERROR_INVALID_DATA` (previously returned `ZINT_ERROR_INVALID_OPTION`)
- The distributed Windows binary "zint.exe" is now built with Microsoft Visual
  Studio 2015 and requires the Visual C runtime DLL "VCRUNTIME140.dll"
  (previously it was built with Visual Studio 6.0)

Changes

- Add new `BARCODE_CONTENT_SEGS` option for `output_options` which sets new
  fields `content_segs` and `content_seg_count` with encoded data
  (pre-converted, i.e. UTF-8 unless input mode is `DATA_MODE`)
- Add API funcs `ZBarcode_UTF8_To_ECI()` and `ZBarcode_Dest_Len_ECI()`
- Set `option_1`, `option_2`, `option_3` to values used in encodation, and add
  new access methods `encodedOption1()` etc. to Qt Backend, and use in GUI to
  provide better feedback
- AZTEC: give more precise warnings in low ECC situations, and indicate via
  `option_1` by setting to -1 (min 3 words), 0 (<5% + 3 words)
- Better warning messages on non-compliant heights
- composite: warn if CC type upped from requested
- gs1: csumalpha: improve warning, report both chars
- New `ZBarcode_Cap()` flag `ZINT_CAP_BINDABLE`, differentiated from
  `ZINT_CAP_STACKABLE`, and new Qt Backend method `isBindable()`
- DOTCODE: now pads rows if given number of columns instead of failing if rows
  below min (5)
- EAN-8 + add-on: warn as non-compliant
- UPC-E: warn if first digit of 7 (or 8 if check digit given) not '0' or '1'
- Extend `errtxt` buffer 100 -> 160
- Add new symbologies `BARCODE_EAN8`, `BARCODE_EAN_2ADDON`,
  `BARCODE_EAN_5ADDON`, `BARCODE_EAN13`, `BARCODE_EAN8_CC` and
  `BARCODE_EAN13_CC` as replacements for `BARCODE_EANX`, `BARCODE_EANX_CHK` and
  `BARCODE_EANX_CC` and use in CLI/GUI (`BARCODE_EANX` etc. marked as legacy)
- For EAN/UPC accept space as alternative add-on separator to '+', and accept
  GTIN-13 format with & without 2-digit or 5-digit add-on (no separator)
- GS1PARENS_MODE: allow parentheses in AI data if backslashed (necessary for
  opening parentheses, optional for closing ones)
- Prefix all `INTERNAL` funcs/tables with `zint_`, except for those in
  "backend/common.h", which are prefixed by `z_` - makes symbol clashes more
  unlikely when zint is statically linked
- Add support for GS1 Syntax Engine with new `input_mode` flag
  `GS1SYNTAXENGINE_MODE` (CLI --gs1strict, GUI "GS1 Strict" checkbox)
- GS1_MODE: allow GS1 Digital Link URIs (no validation unless
  `GS1SYNTAXENGINE_MODE` set)
- CLI: --gs1parens, --gs1nocheck and --gs1strict now imply --gs1
- GS1: new AIs 717 (GSCN 25-199) and 8040-3 (GSCN 25-047)

Bugs

- CODABLOCKF: fix misencodation of extended ASCII 0xB0-0xB9 when followed by
  digit (ignore 2nd byte of FNC4 when categorizing Code C characters)
- AZTEC: fix GS1 mode with Structured Append (wasn't outputting initial FNC1)
- ECI: ECI 899 in UNICODE_MODE wasn't being converted from UTF-8, which was
  inconsistent
- set_height: fix non-compliance false positives by using epsilon in checks
- UPU_S10: fix Service Indicator warning re "H"
- CLI: fix `separator` check to use new `ZINT_CAP_BINDABLE` instead of
  `ZINT_CAP_STACKABLE`
- ZBarcode_Cap: add missing symbologies to `ZINT_CAP_BINDABLE` (was
  `ZINT_CAP_STACKABLE`)
- MAILMARK_2D: fix postcode validation: no limited alphanumerics, spaced-out
  DPS "outward"-only allowed, all-blank DPS allowed
- DOTCODE: fix padding allowance to cover cases with large no. of columns
  requested and little data, to prevent buffer overflow
- manual/man page: fix DATAMATRIX Sizes tables "28 12x26" -> "27 12x26"

-- 
              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

The easiest way to unsubscribe is to visit <https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.

If you need more information on unsubscribing, start reading here: <https://sourceware.org/lists.html#unsubscribe>.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.