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

DATAMATRIX: add manual FNC1 support

CODE128: error on unrecognized extra escape sequences instead of
  just passing them thru;
  fix possible shifting before manual FNC1 in 2nd position
  after single alpha (otherwise won't be recognized as AIM)
  fix not removing manual FNC1 in 1st/2nd position from content
  segs (as implied by symbology identifier)
CLI: warn if both "--dmre" and "--square" given (as "--square"
  overwrites "--dmre")
common: new routines `z_isalpha()`, `z_extra_escapes()` and
  `z_ct_set_seg_extra_escapes_eci()`
library: new helper `supports_extra_escape_mode()`;
  fix some error_number dups
BWIPP: update to latest, and allow for removal of DBAR_LTD_CC RHS
  quiet zones & extra row when have add-on in EAN/UPC composites
test suite: fix BWIPP escaping
manual/man/tcl: update for DATAMATRIX manual FNC1 support
Windows: resource scripts: make more consistent (libzint, CLI, GUI)
win32/README: update with MSVC 2026
This commit is contained in:
gitlost
2026-04-18 22:55:52 +01:00
parent f9a493522f
commit 7b076717f2
30 changed files with 1650 additions and 869 deletions

View File

@@ -48,12 +48,13 @@
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="radC128ExtraEsc">
<property name="text">
<string>&amp;Manual Code Sets and FNC1s (Extra Escape Mode)</string>
<string>&amp;Manual Code Sets and FNC1s (Extra Escape)</string>
</property>
<property name="toolTip">
<string>Process special escape sequences &quot;\^A&quot;, &quot;\^B&quot;, &quot;\^C&quot; and
&quot;\^@&quot; allowing manual Code Set selection and special
escape sequence &quot;\^1&quot; allowing manual FNC1s</string>
escape sequence &quot;\^1&quot; allowing manual FNC1s
(literal &quot;\^&quot; may be escaped with &quot;\^^&quot;)</string>
</property>
</widget>
</item>

View File

@@ -389,6 +389,18 @@ the data with a slash &quot;/&quot;</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QRadioButton" name="radDMExtraEsc">
<property name="text">
<string>Manual FN&amp;C1s (Extra Escape)</string>
</property>
<property name="toolTip">
<string>Process special escape sequence &quot;\^1&quot;
allowing manual FNC1s
(literal &quot;\^&quot; may be escaped with &quot;\^^&quot;)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

View File

@@ -2026,6 +2026,7 @@ void MainWindow::change_options()
dm_startmode_ui_set();
tabMain->insertTab(1, m_optionWidget, tr("D&ata Matrix"));
connect(get_widget(QSL("radDMStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
connect(get_widget(QSL("radDMExtraEsc")), SIGNAL(toggled(bool)), SLOT(update_preview()));
connect(get_widget(QSL("radDMGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
connect(get_widget(QSL("radDMHIBC")), SIGNAL(toggled(bool)), SLOT(update_preview()));
connect(get_widget(QSL("cmbDMSize")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
@@ -3113,6 +3114,11 @@ void MainWindow::update_preview()
checkBox->setEnabled(false);
}
if (get_rad_val(QSL("radDMExtraEsc"))) {
m_bc.bc.setSymbol(BARCODE_DATAMATRIX);
m_bc.bc.setInputMode(m_bc.bc.inputMode() | EXTRA_ESCAPE_MODE);
}
m_bc.bc.setOption2(get_cmb_index(QSL("cmbDMSize")));
if (get_cmb_index(QSL("cmbDMSize")) == 0) {
@@ -4546,7 +4552,7 @@ void MainWindow::save_sub_settings(QSettings &settings, int symbology)
case BARCODE_HIBC_DM:
settings.setValue(QSL("studio/bc/datamatrix/size"), get_cmb_index(QSL("cmbDMSize")));
settings.setValue(QSL("studio/bc/datamatrix/encoding_mode"), get_rad_grp_index(
QStringList() << QSL("radDMStand") << QSL("radDMGS1") << QSL("radDMHIBC")));
QStringList() << QSL("radDMStand") << QSL("radDMGS1") << QSL("radDMHIBC") << QSL("radDMExtraEsc")));
settings.setValue(QSL("studio/bc/datamatrix/chk_suppress_rect"), get_chk_val(QSL("chkDMRectangle")));
settings.setValue(QSL("studio/bc/datamatrix/chk_allow_dmre"), get_chk_val(QSL("chkDMRE")));
settings.setValue(QSL("studio/bc/datamatrix/chk_gs_sep"), get_chk_val(QSL("chkDMGSSep")));
@@ -5024,7 +5030,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
case BARCODE_HIBC_DM:
set_cmb_from_setting(settings, QSL("studio/bc/datamatrix/size"), QSL("cmbDMSize"));
set_rad_from_setting(settings, QSL("studio/bc/datamatrix/encoding_mode"),
QStringList() << QSL("radDMStand") << QSL("radDMGS1") << QSL("radDMHIBC"));
QStringList() << QSL("radDMStand") << QSL("radDMGS1") << QSL("radDMHIBC") << QSL("radDMExtraEsc"));
set_chk_from_setting(settings, QSL("studio/bc/datamatrix/chk_suppress_rect"), QSL("chkDMRectangle"));
set_chk_from_setting(settings, QSL("studio/bc/datamatrix/chk_allow_dmre"), QSL("chkDMRE"));
set_chk_from_setting(settings, QSL("studio/bc/datamatrix/chk_gs_sep"), QSL("chkDMGSSep"));

View File

@@ -5,11 +5,7 @@
#define VER_FILEVERSION 2,16,0,9
#define VER_FILEVERSION_STR "2.16.0.9\0"
#ifdef GCC_WINDRES
VS_VERSION_INFO VERSIONINFO
#else
VS_VERSION_INFO VERSIONINFO
#endif
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_FILEVERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
@@ -24,23 +20,24 @@ FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000904b0"
BLOCK "040904B0"
//language ID = U.S. English, char set = Windows, Unicode
BEGIN
VALUE "CompanyName", "Robin Stuart & BogDan Vatra"
VALUE "FileDescription", "qtZint barcode generator"
VALUE "CompanyName", "Zint\0"
VALUE "FileDescription", "qtZint barcode generator\0"
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", "qtZint"
VALUE "LegalCopyright", "Copyright © 2025 Robin Stuart & BogDan Vatra"
VALUE "License", "GNU General Public License version 3"
VALUE "OriginalFilename", "qtZint"
VALUE "ProductName", "Zint Barcode Studio"
VALUE "InternalName", "qtZint\0"
VALUE "LegalCopyright", "Copyright © 2026 Robin Stuart & BogDan Vatra\0"
VALUE "OriginalFilename", "qtZint\0"
VALUE "ProductName", "Zint Barcode Studio\0"
VALUE "ProductVersion", VER_FILEVERSION_STR
VALUE "WWW", "https://www.zint.org.uk"
VALUE "License", "GPL-3.0-or-later\0"
VALUE "WWW", "https://www.zint.org.uk\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x9, 1200
VALUE "Translation", 0x0409, 1200
END
END
100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "zint-qt.ico"