1
0
mirror of https://git.code.sf.net/p/zint/code synced 2025-12-20 11:27:09 +00:00

Add -gs1strict to TCL backend

This commit is contained in:
Harald Oehlmann
2025-12-17 15:09:30 +01:00
parent 2ac0e508b8
commit 4f2b977a93

View File

@@ -184,6 +184,8 @@
- strcpy() -> memcpy(); sizeof(primary); tabs -> spaces - strcpy() -> memcpy(); sizeof(primary); tabs -> spaces
2025-04-16 GL 2025-04-16 GL
- Added: EAN8, EAN_2ADDON, EAN_5ADDON, EAN13, EAN8_CC, EAN13_CC, DMFILMEDGE - Added: EAN8, EAN_2ADDON, EAN_5ADDON, EAN13, EAN8_CC, EAN13_CC, DMFILMEDGE
2025-12-17 HaO
- Added -gs1strict switch, copied from CLI program.
*/ */
#if defined(__WIN32__) || defined(_WIN32) || defined(WIN32) #if defined(__WIN32__) || defined(_WIN32) || defined(WIN32)
@@ -574,6 +576,7 @@ static const char help_message[] = "zint tcl(stub,obj) dll\n"
/* cli option --gs1 replaced by -format */ /* cli option --gs1 replaced by -format */
" -gs1nocheck bool: for gs1, do not check validity of data (allows non-standard symbols)\n" " -gs1nocheck bool: for gs1, do not check validity of data (allows non-standard symbols)\n"
" -gs1parens bool: for gs1, AIs enclosed in parentheses instead of square brackets\n" " -gs1parens bool: for gs1, AIs enclosed in parentheses instead of square brackets\n"
" -gs1strict bool: Use GS1 Syntax Engine to strictly validate GS1 data\n"
" -gssep bool: for gs1, use gs as separator instead fnc1 (Datamatrix only)\n" " -gssep bool: for gs1, use gs as separator instead fnc1 (Datamatrix only)\n"
" -guarddescent double: Height of guard bar descent in modules (EAN/UPC only)\n" " -guarddescent double: Height of guard bar descent in modules (EAN/UPC only)\n"
" -guardwhitespace bool: add quiet zone indicators (EAN/UPC only)\n" " -guardwhitespace bool: add quiet zone indicators (EAN/UPC only)\n"
@@ -898,8 +901,8 @@ static int Encode(Tcl_Interp *interp, int objc,
"-addongap", "-barcode", "-bg", "-bind", "-bindtop", "-bold", "-border", "-box", "-addongap", "-barcode", "-bg", "-bind", "-bindtop", "-bold", "-border", "-box",
"-cols", "-compliantheight", "-dmiso144", "-dmre", "-dotsize", "-dotty", "-cols", "-compliantheight", "-dmiso144", "-dmre", "-dotsize", "-dotty",
"-eci", "-esc", "-extraesc", "-fast", "-fg", "-format", "-fullmultibyte", "-eci", "-esc", "-extraesc", "-fast", "-fg", "-format", "-fullmultibyte",
"-gs1nocheck", "-gs1parens", "-gssep", "-guarddescent", "-guardwhitespace", "-gs1nocheck", "-gs1parens", "-gs1strict", "-gssep", "-guarddescent",
"-height", "-heightperrow", "-init", "-mask", "-mode", "-guardwhitespace", "-height", "-heightperrow", "-init", "-mask", "-mode",
"-nobackground", "-noquietzones", "-notext", "-primary", "-quietzones", "-nobackground", "-noquietzones", "-notext", "-primary", "-quietzones",
"-reverse", "-rotate", "-rows", "-scale", "-scalexdimdp", "-scmvv", "-secure", "-reverse", "-rotate", "-rows", "-scale", "-scalexdimdp", "-scmvv", "-secure",
"-seg1", "-seg2", "-seg3", "-seg4", "-seg5", "-seg6", "-seg7", "-seg8", "-seg9", "-seg1", "-seg2", "-seg3", "-seg4", "-seg5", "-seg6", "-seg7", "-seg8", "-seg9",
@@ -910,8 +913,8 @@ static int Encode(Tcl_Interp *interp, int objc,
iAddonGap, iBarcode, iBG, iBind, iBindTop, iBold, iBorder, iBox, iAddonGap, iBarcode, iBG, iBind, iBindTop, iBold, iBorder, iBox,
iCols, iCompliantHeight, iDMISO144, iDMRE, iDotSize, iDotty, iCols, iCompliantHeight, iDMISO144, iDMRE, iDotSize, iDotty,
iECI, iEsc, iExtraEsc, iFast, iFG, iFormat, iFullMultiByte, iECI, iEsc, iExtraEsc, iFast, iFG, iFormat, iFullMultiByte,
iGS1NoCheck, iGS1Parens, iGSSep, iGuardDescent, iGuardWhitespace, iGS1NoCheck, iGS1Parens, iGS1Strict, iGSSep, iGuardDescent,
iHeight, iHeightPerRow, iInit, iMask, iMode, iGuardWhitespace, iHeight, iHeightPerRow, iInit, iMask, iMode,
iNoBackground, iNoQuietZones, iNoText, iPrimary, iQuietZones, iNoBackground, iNoQuietZones, iNoText, iPrimary, iQuietZones,
iReverse, iRotate, iRows, iScale, iScaleXdimDp, iSCMvv, iSecure, iReverse, iRotate, iRows, iScale, iScaleXdimDp, iSCMvv, iSecure,
iSeg1, iSeg2, iSeg3, iSeg4, iSeg5, iSeg6, iSeg7, iSeg8, iSeg9, iSeg1, iSeg2, iSeg3, iSeg4, iSeg5, iSeg6, iSeg7, iSeg8, iSeg9,
@@ -946,6 +949,7 @@ static int Encode(Tcl_Interp *interp, int objc,
case iFast: case iFast:
case iGS1NoCheck: case iGS1NoCheck:
case iGS1Parens: case iGS1Parens:
case iGS1Strict:
case iGSSep: case iGSSep:
case iGuardWhitespace: case iGuardWhitespace:
case iHeightPerRow: case iHeightPerRow:
@@ -1152,6 +1156,13 @@ static int Encode(Tcl_Interp *interp, int objc,
my_symbol->input_mode &= ~GS1PARENS_MODE; my_symbol->input_mode &= ~GS1PARENS_MODE;
} }
break; break;
case iGS1Strict:
if (intValue) {
my_symbol->input_mode |= GS1SYNTAXENGINE_MODE;
} else {
my_symbol->input_mode &= ~GS1SYNTAXENGINE_MODE;
}
break;
case iGSSep: case iGSSep:
if (intValue) { if (intValue) {
my_symbol->output_options |= GS1_GS_SEPARATOR; my_symbol->output_options |= GS1_GS_SEPARATOR;