1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-05-14 18:13:53 +00:00

DATAMATRIX: add new options DM_B256_START and DM_C40_START to

`options_3`, allowing forcing of Base 256 or C40 mode a la BWIPP
  for initial no. of characters specified in `option_1`, with 0
  meaning all (CLI "--dmb256=" and "--dmc40=", GUI also (apart
  from MAILMARK_2D, which may be added later);
  export masks `DM_B256_C40_START_MASK` & `DM_SQUARE_DMRE_MASK` in
  "zint.h"
ZBarcode_Encode_File: report filename (possibly truncated) in error
  message on failed open
GUI: uniquify some accelerators and add some child widget getter
  helpers to "mainwindow.cpp"
backend/DEVELOPER -> backend/README, with some expansion
debian/copyright: a few more fixes
BWIPP/pandoc: update to latest
tests/fuzz: adjust for new DATAMATRIX options
This commit is contained in:
gitlost
2026-03-30 21:25:22 +01:00
parent 3c193d7306
commit f9a493522f
40 changed files with 1706 additions and 920 deletions

View File

@@ -332,9 +332,15 @@ extern "C" {
#define ZINT_AZTEC_FULL 128 /* Only consider Full versions on automatic symbol size selection */
/* Data Matrix specific options (`symbol->option_3`) */
#define DM_SQUARE 100 /* Only consider square versions on automatic symbol size selection */
#define DM_DMRE 101 /* Consider DMRE versions on automatic symbol size selection */
#define DM_ISO_144 128 /* Use ISO instead of "de facto" format for 144x144 (i.e. don't skew ECC) */
/* OR-able, but only one of DM_BASE_256_START/DM_C40_START, and only one of DM_SQUARE/DM_DMRE */
#define DM_B256_START 0x02 /* Use Base 256 encodation initially, length given in `option_1` (0 = all) */
#define DM_C40_START 0x08 /* Use C40 encodation initially, length given in `option_1` (0 = all) */
#define DM_SQUARE 0x64 /* Only consider square versions on automatic symbol size selection */
#define DM_DMRE 0x65 /* Consider DMRE versions on automatic symbol size selection */
#define DM_ISO_144 0x80 /* Use ISO instead of "de facto" format for 144x144 (i.e. don't skew ECC) */
/* Masks for testing the exclusive pairs above */
#define DM_B256_C40_START_MASK 0x0A /* DM_B256_START or DM_C40_START */
#define DM_SQUARE_DMRE_MASK 0x65 /* DM_SQUARE or DM_DMRE */
/* QR, Han Xin, Grid Matrix specific options (`symbol->option_3`) */
#define ZINT_FULL_MULTIBYTE 200 /* Enable Kanji/Hanzi compression for Latin-1 & binary data */