Add GS1PARENS_MODE (input_mode) to allow inputting GS1 AIs in parentheses

This commit is contained in:
gitlost 2021-05-15 12:23:46 +01:00
parent 6fb0d077bc
commit 79d3c1dc7a
38 changed files with 672 additions and 359 deletions

View file

@ -75,14 +75,14 @@ extern "C" {
struct zint_symbol {
int symbology;
int height;
int whitespace_width;
int border_width;
int height; /* Height in X-dims (ignored for fixed-width barcodes) */
int whitespace_width; /* Width in X-dims of whitespace to left/right of barcode */
int border_width; /* Size of border in X-dims */
int output_options;
char fgcolour[10];
char *fgcolor; // pointer to fgcolour
char bgcolour[10];
char *bgcolor; // pointer to bgcolour
char fgcolour[10]; /* Foreground as RGB/RGBA hexadecimal string */
char bgcolour[10]; /* Background as RGB/RGBA hexadecimal string */
char *fgcolor; /* Pointer to fgcolour */
char *bgcolor; /* Pointer to bgcolour */
char outfile[256];
float scale;
int option_1;
@ -110,6 +110,7 @@ extern "C" {
int warn_level;
};
// Symbologies (symbology)
/* Tbarcode 7 codes */
#define BARCODE_CODE11 1
#define BARCODE_C25STANDARD 2
@ -234,7 +235,7 @@ extern "C" {
#define BARCODE_ULTRA 144
#define BARCODE_RMQR 145
// Output options
// Output options (output_options)
#define BARCODE_NO_ASCII 1
#define BARCODE_BIND 2
#define BARCODE_BOX 4
@ -247,11 +248,12 @@ extern "C" {
#define GS1_GS_SEPARATOR 512
#define OUT_BUFFER_INTERMEDIATE 1024
// Input data types
// Input data types (input_mode)
#define DATA_MODE 0
#define UNICODE_MODE 1
#define GS1_MODE 2
#define ESCAPE_MODE 8
#define GS1PARENS_MODE 16
// Data Matrix specific options (option_3)
#define DM_SQUARE 100
@ -263,7 +265,7 @@ extern "C" {
// Ultracode specific option (option_3)
#define ULTRA_COMPRESSION 128
// Warning and error conditions
// Warning and error conditions (return values)
#define ZINT_WARN_INVALID_OPTION 2
#define ZINT_WARN_USES_ECI 3
#define ZINT_WARN_NONCOMPLIANT 4
@ -277,24 +279,12 @@ extern "C" {
#define ZINT_ERROR_MEMORY 11
#define ZINT_ERROR_FILE_WRITE 12
// File types
#define OUT_BUFFER 0
#define OUT_SVG_FILE 10
#define OUT_EPS_FILE 20
#define OUT_EMF_FILE 30
#define OUT_PNG_FILE 100
#define OUT_BMP_FILE 120
#define OUT_GIF_FILE 140
#define OUT_PCX_FILE 160
#define OUT_JPG_FILE 180
#define OUT_TIF_FILE 200
// Warning warn
// Warning warn (warn_level)
#define WARN_DEFAULT 0
#define WARN_ZPL_COMPAT 1
#define WARN_FAIL_ALL 2
// Capability flags
// Capability flags (cap_flag)
#define ZINT_CAP_HRT 0x0001
#define ZINT_CAP_STACKABLE 0x0002
#define ZINT_CAP_EXTENDABLE 0x0004
@ -310,7 +300,7 @@ extern "C" {
// The largest amount of data that can be encoded is 4350 4-byte UTF-8 chars in Han Xin Code
#define ZINT_MAX_DATA_LEN 17400
// Debug flags
// Debug flags (debug)
#define ZINT_DEBUG_PRINT 1
#define ZINT_DEBUG_TEST 2
@ -333,15 +323,19 @@ extern "C" {
ZINT_EXTERN int ZBarcode_Encode(struct zint_symbol *symbol, const unsigned char *source, int in_length);
ZINT_EXTERN int ZBarcode_Encode_File(struct zint_symbol *symbol, char *filename);
ZINT_EXTERN int ZBarcode_Print(struct zint_symbol *symbol, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Print(struct zint_symbol *symbol, unsigned char *input, int length, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Print(struct zint_symbol *symbol, unsigned char *input, int length,
int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_File_and_Print(struct zint_symbol *symbol, char *filename, int rotate_angle);
ZINT_EXTERN int ZBarcode_Buffer(struct zint_symbol *symbol, int rotate_angle);
ZINT_EXTERN int ZBarcode_Buffer_Vector(struct zint_symbol *symbol, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Buffer(struct zint_symbol *symbol, unsigned char *input, int length, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Buffer_Vector(struct zint_symbol *symbol, unsigned char *input, int length, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Buffer(struct zint_symbol *symbol, unsigned char *input, int length,
int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_and_Buffer_Vector(struct zint_symbol *symbol, unsigned char *input, int length,
int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_File_and_Buffer(struct zint_symbol *symbol, char *filename, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_File_and_Buffer_Vector(struct zint_symbol *symbol, char *filename, int rotate_angle);
ZINT_EXTERN int ZBarcode_Encode_File_and_Buffer_Vector(struct zint_symbol *symbol, char *filename,
int rotate_angle);
ZINT_EXTERN int ZBarcode_ValidID(int symbol_id);
ZINT_EXTERN unsigned int ZBarcode_Cap(int symbol_id, unsigned int cap_flag);