- Add text_gap option to allow adjustment of vertical gap between

barcode and text
- EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC
- DAFT: up max to 250 chars
- EMF/EPS/SVG: fix addon bars placement/length when text hidden
- Qt backend: use `QFontMetrics::horizontalAdvance()` rather than
  `boundingRect()` to calc text width (seems to be more accurate)
- library: make printf/sprintf() format arg always literal string
- output: fix errtxt nos clash;
  use array for `out_upcean_split_text()` text parts
- raster/vector: smallify addon text printing logic
- frontend: warn if output file and direct options both given;
  add TODO note about `CommandLineToArgvW()` loading shell32.dll
- manual: put HRT options in own section
This commit is contained in:
gitlost 2023-02-10 14:44:10 +00:00
parent ab2abccdb6
commit 90293ebcda
167 changed files with 2706 additions and 1734 deletions

View File

@ -7,6 +7,9 @@ Version 2.12.0.9 (dev) not released yet
for "C,M,Y,K" comma-separated decimal percentage strings for "C,M,Y,K" comma-separated decimal percentage strings
- CMYK values for EPS (slightly) and TIF (significantly) have changed - now use - CMYK values for EPS (slightly) and TIF (significantly) have changed - now use
the same RGB -> CMYK formula the same RGB -> CMYK formula
- Text (HRT) placement for vector (EMF/EPS/SVG) output changed - for EAN/UPC
slightly further away from barcode, for all others slightly nearer. Some
horizontal alignments of EAN/UPC vector text also tweaked
Changes Changes
------- -------
@ -25,6 +28,9 @@ Changes
- GUI: Rearrange some Appearance tab inputs (Border Type <-> Width, Show Text - GUI: Rearrange some Appearance tab inputs (Border Type <-> Width, Show Text
<-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally; <-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally;
save button "Save As..." -> "Save..." and add icon save button "Save As..." -> "Save..." and add icon
- Add `text_gap` option to allow adjustment of vertical gap between barcode and
text (HRT)
- DAFT: up max to 250 chars
Bugs Bugs
---- ----
@ -35,6 +41,8 @@ Bugs
- GUI: fg/bgcolor text edit: fix right-click context menu not working properly - GUI: fg/bgcolor text edit: fix right-click context menu not working properly
by checking for it on FocusOut by checking for it on FocusOut
- GUI: fix fg/gbcolor icon background not being reset on zap - GUI: fix fg/gbcolor icon background not being reset on zap
- EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC
- EMF/EPS/SVG: fix addon bars placement/length when text hidden
Version 2.12.0 (2022-12-12) Version 2.12.0 (2022-12-12)

View File

@ -553,8 +553,7 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
/* Create font records, alignment records and text color */ /* Create font records, alignment records and text color */
if (symbol->vector->strings) { if (symbol->vector->strings) {
bold = (symbol->output_options & BOLD_TEXT) && bold = (symbol->output_options & BOLD_TEXT) && !is_extendable(symbol->symbology);
(!is_extendable(symbol->symbology) || (symbol->output_options & SMALL_TEXT));
memset(&emr_extcreatefontindirectw, 0, sizeof(emr_extcreatefontindirectw)); memset(&emr_extcreatefontindirectw, 0, sizeof(emr_extcreatefontindirectw));
emr_extcreatefontindirectw.type = 0x00000052; /* EMR_EXTCREATEFONTINDIRECTW */ emr_extcreatefontindirectw.type = 0x00000052; /* EMR_EXTCREATEFONTINDIRECTW */
emr_extcreatefontindirectw.size = 104; emr_extcreatefontindirectw.size = 104;

View File

@ -1,7 +1,7 @@
/* gs1.c - Verifies GS1 data */ /* gs1.c - Verifies GS1 data */
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
@ -846,7 +846,11 @@ static const unsigned char *coupon_vli(const unsigned char *data, const int data
if ((vli < vli_min || vli > vli_max) && (vli != 9 || !vli_nine)) { if ((vli < vli_min || vli > vli_max) && (vli != 9 || !vli_nine)) {
*p_err_no = 3; *p_err_no = 3;
*p_err_posn = d - data + 1; *p_err_posn = d - data + 1;
sprintf(err_msg, vli < 0 ? "Non-numeric %s VLI '%c'" : "Invalid %s VLI '%c'", name, *d); if (vli < 0) {
sprintf(err_msg, "Non-numeric %s VLI '%c'", name, *d);
} else {
sprintf(err_msg, "Invalid %s VLI '%c'", name, *d);
}
return NULL; return NULL;
} }
d++; d++;
@ -1101,8 +1105,11 @@ static int couponcode(const unsigned char *data, int data_len, int offset, int m
*p_err_no = 3; *p_err_no = 3;
*p_err_posn = d - 1 - data + 1; *p_err_posn = d - 1 - data + 1;
sprintf(err_msg, data_field < 0 ? "Non-numeric Data Field '%c'" : "Invalid Data Field '%c'", if (data_field < 0) {
*(d - 1)); sprintf(err_msg, "Non-numeric Data Field '%c'", *(d - 1));
} else {
sprintf(err_msg, "Invalid Data Field '%c'", *(d - 1));
}
return 0; return 0;
} }
} }

View File

@ -216,9 +216,7 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
static int error_tag(struct zint_symbol *symbol, int error_number, const char *error_string) { static int error_tag(struct zint_symbol *symbol, int error_number, const char *error_string) {
if (error_number != 0) { if (error_number != 0) {
static const char error_fmt[] = "Error %.93s"; /* Truncate if too long */ const char *const error_arg = error_string ? error_string : symbol->errtxt;
static const char warn_fmt[] = "Warning %.91s"; /* Truncate if too long */
const char *fmt = error_number >= ZINT_ERROR ? error_fmt : warn_fmt;
char error_buffer[100]; char error_buffer[100];
if (error_number < ZINT_ERROR && symbol->warn_level == WARN_FAIL_ALL) { if (error_number < ZINT_ERROR && symbol->warn_level == WARN_FAIL_ALL) {
@ -230,9 +228,12 @@ static int error_tag(struct zint_symbol *symbol, int error_number, const char *e
} else { /* ZINT_WARN_INVALID_OPTION */ } else { /* ZINT_WARN_INVALID_OPTION */
error_number = ZINT_ERROR_INVALID_OPTION; error_number = ZINT_ERROR_INVALID_OPTION;
} }
fmt = error_fmt;
} }
sprintf(error_buffer, fmt, error_string ? error_string : symbol->errtxt); if (error_number >= ZINT_ERROR) {
sprintf(error_buffer, "Error %.93s", error_arg); /* Truncate if too long */
} else {
sprintf(error_buffer, "Warning %.91s", error_arg); /* Truncate if too long */
}
strcpy(symbol->errtxt, error_buffer); strcpy(symbol->errtxt, error_buffer);
} }
@ -1096,6 +1097,9 @@ int ZBarcode_Encode_Segs(struct zint_symbol *symbol, const struct zint_seg segs[
if ((symbol->guard_descent < 0.0f) || (symbol->guard_descent > 50.0f)) { if ((symbol->guard_descent < 0.0f) || (symbol->guard_descent > 50.0f)) {
return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "769: Guard bar descent out of range (0 to 50)"); return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "769: Guard bar descent out of range (0 to 50)");
} }
if ((symbol->text_gap < 0.0f) || (symbol->text_gap > 5.0f)) {
return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "219: Text gap out of range (0 to 5)");
}
if ((symbol->whitespace_width < 0) || (symbol->whitespace_width > 100)) { if ((symbol->whitespace_width < 0) || (symbol->whitespace_width > 100)) {
return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "766: Whitespace width out of range (0 to 100)"); return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "766: Whitespace width out of range (0 to 100)");
} }
@ -1185,7 +1189,7 @@ int ZBarcode_Encode_Segs(struct zint_symbol *symbol, const struct zint_seg segs[
local_segs[0].length = (int) ustrlen(reduced); local_segs[0].length = (int) ustrlen(reduced);
} }
} else { } else {
return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "220: Selected symbology does not support GS1 mode"); return error_tag(symbol, ZINT_ERROR_INVALID_OPTION, "210: Selected symbology does not support GS1 mode");
} }
} }
@ -1445,7 +1449,7 @@ int ZBarcode_Encode_File(struct zint_symbol *symbol, const char *filename) {
return error_tag(symbol, ZINT_ERROR_INVALID_DATA, "239: Filename NULL"); return error_tag(symbol, ZINT_ERROR_INVALID_DATA, "239: Filename NULL");
} }
if (!strcmp(filename, "-")) { if (strcmp(filename, "-") == 0) {
file = stdin; file = stdin;
fileLen = ZINT_MAX_DATA_LEN; fileLen = ZINT_MAX_DATA_LEN;
} else { } else {

View File

@ -41,7 +41,6 @@
#endif #endif
#include "common.h" #include "common.h"
#include "output.h" #include "output.h"
#include "font.h"
#define OUT_SSET_F (IS_NUM_F | IS_UHX_F | IS_LHX_F) /* SSET "0123456789ABCDEFabcdef" */ #define OUT_SSET_F (IS_NUM_F | IS_UHX_F | IS_LHX_F) /* SSET "0123456789ABCDEFabcdef" */
@ -53,11 +52,11 @@ static int out_check_colour(struct zint_symbol *symbol, const char *colour, cons
if ((comma1 = strchr(colour, ',')) == NULL) { if ((comma1 = strchr(colour, ',')) == NULL) {
const int len = (int) strlen(colour); const int len = (int) strlen(colour);
if ((len != 6) && (len != 8)) { if ((len != 6) && (len != 8)) {
sprintf(symbol->errtxt, "690: Malformed %s RGB colour (6 or 8 characters only)", name); sprintf(symbol->errtxt, "880: Malformed %s RGB colour (6 or 8 characters only)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if (!is_sane(OUT_SSET_F, (unsigned char *) colour, len)) { if (!is_sane(OUT_SSET_F, (unsigned char *) colour, len)) {
sprintf(symbol->errtxt, "691: Malformed %s RGB colour '%s' (hexadecimal only)", name, colour); sprintf(symbol->errtxt, "881: Malformed %s RGB colour '%s' (hexadecimal only)", name, colour);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
@ -67,28 +66,28 @@ static int out_check_colour(struct zint_symbol *symbol, const char *colour, cons
/* CMYK comma-separated percentages */ /* CMYK comma-separated percentages */
if ((comma2 = strchr(comma1 + 1, ',')) == NULL || (comma3 = strchr(comma2 + 1, ',')) == NULL if ((comma2 = strchr(comma1 + 1, ',')) == NULL || (comma3 = strchr(comma2 + 1, ',')) == NULL
|| strchr(comma3 + 1, ',') != NULL) { || strchr(comma3 + 1, ',') != NULL) {
sprintf(symbol->errtxt, "692: Malformed %s CMYK colour (4 decimal numbers, comma-separated)", name); sprintf(symbol->errtxt, "882: Malformed %s CMYK colour (4 decimal numbers, comma-separated)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if (comma1 - colour > 3 || comma2 - (comma1 + 1) > 3 || comma3 - (comma2 + 1) > 3 || strlen(comma3 + 1) > 3) { if (comma1 - colour > 3 || comma2 - (comma1 + 1) > 3 || comma3 - (comma2 + 1) > 3 || strlen(comma3 + 1) > 3) {
sprintf(symbol->errtxt, "693: Malformed %s CMYK colour (3 digit maximum per number)", name); sprintf(symbol->errtxt, "883: Malformed %s CMYK colour (3 digit maximum per number)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if ((val = to_int((const unsigned char *) colour, (int) (comma1 - colour))) == -1 || val > 100) { if ((val = to_int((const unsigned char *) colour, (int) (comma1 - colour))) == -1 || val > 100) {
sprintf(symbol->errtxt, "694: Malformed %s CMYK colour C (decimal 0-100 only)", name); sprintf(symbol->errtxt, "884: Malformed %s CMYK colour C (decimal 0-100 only)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if ((val = to_int((const unsigned char *) (comma1 + 1), (int) (comma2 - (comma1 + 1)))) == -1 || val > 100) { if ((val = to_int((const unsigned char *) (comma1 + 1), (int) (comma2 - (comma1 + 1)))) == -1 || val > 100) {
sprintf(symbol->errtxt, "695: Malformed %s CMYK colour M (decimal 0-100 only)", name); sprintf(symbol->errtxt, "885: Malformed %s CMYK colour M (decimal 0-100 only)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if ((val = to_int((const unsigned char *) (comma2 + 1), (int) (comma3 - (comma2 + 1)))) == -1 || val > 100) { if ((val = to_int((const unsigned char *) (comma2 + 1), (int) (comma3 - (comma2 + 1)))) == -1 || val > 100) {
sprintf(symbol->errtxt, "696: Malformed %s CMYK colour Y (decimal 0-100 only)", name); sprintf(symbol->errtxt, "886: Malformed %s CMYK colour Y (decimal 0-100 only)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
if ((val = to_int((const unsigned char *) (comma3 + 1), (int) strlen(comma3 + 1))) == -1 || val > 100) { if ((val = to_int((const unsigned char *) (comma3 + 1), (int) strlen(comma3 + 1))) == -1 || val > 100) {
sprintf(symbol->errtxt, "697: Malformed %s CMYK colour K (decimal 0-100 only)", name); sprintf(symbol->errtxt, "887: Malformed %s CMYK colour K (decimal 0-100 only)", name);
return ZINT_ERROR_INVALID_OPTION; return ZINT_ERROR_INVALID_OPTION;
} }
@ -741,7 +740,8 @@ INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_wi
/* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height. /* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height.
If scaler `si` non-zero (raster), then large_bar_height if non-zero or else row heights will be rounded If scaler `si` non-zero (raster), then large_bar_height if non-zero or else row heights will be rounded
to nearest pixel and symbol height adjusted */ to nearest pixel and symbol height adjusted */
INTERNAL float out_large_bar_height(struct zint_symbol *symbol, int si, int *row_heights_si, int *symbol_height_si) { INTERNAL float out_large_bar_height(struct zint_symbol *symbol, const int si, int *row_heights_si,
int *symbol_height_si) {
float fixed_height = 0.0f; float fixed_height = 0.0f;
int zero_count = 0; int zero_count = 0;
int round_rows = 0; int round_rows = 0;
@ -812,64 +812,62 @@ INTERNAL float out_large_bar_height(struct zint_symbol *symbol, int si, int *row
} }
/* Split UPC/EAN add-on text into various constituents */ /* Split UPC/EAN add-on text into various constituents */
INTERNAL void out_upcean_split_text(int upceanflag, unsigned char text[], INTERNAL void out_upcean_split_text(const int upceanflag, const unsigned char text[], unsigned char textparts[4][7]) {
unsigned char textpart1[5], unsigned char textpart2[7], unsigned char textpart3[7],
unsigned char textpart4[2]) {
int i; int i;
if (upceanflag == 6) { /* UPC-E */ if (upceanflag == 6) { /* UPC-E */
textpart1[0] = text[0]; textparts[0][0] = text[0];
textpart1[1] = '\0'; textparts[0][1] = '\0';
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
textpart2[i] = text[i + 1]; textparts[1][i] = text[i + 1];
} }
textpart2[6] = '\0'; textparts[1][6] = '\0';
textpart3[0] = text[7]; textparts[2][0] = text[7];
textpart3[1] = '\0'; textparts[2][1] = '\0';
} else if (upceanflag == 8) { /* EAN-8 */ } else if (upceanflag == 8) { /* EAN-8 */
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
textpart1[i] = text[i]; textparts[0][i] = text[i];
} }
textpart1[4] = '\0'; textparts[0][4] = '\0';
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
textpart2[i] = text[i + 4]; textparts[1][i] = text[i + 4];
} }
textpart2[4] = '\0'; textparts[1][4] = '\0';
} else if (upceanflag == 12) { /* UPC-A */ } else if (upceanflag == 12) { /* UPC-A */
textpart1[0] = text[0]; textparts[0][0] = text[0];
textpart1[1] = '\0'; textparts[0][1] = '\0';
for (i = 0; i < 5; i++) { for (i = 0; i < 5; i++) {
textpart2[i] = text[i + 1]; textparts[1][i] = text[i + 1];
} }
textpart2[5] = '\0'; textparts[1][5] = '\0';
for (i = 0; i < 5; i++) { for (i = 0; i < 5; i++) {
textpart3[i] = text[i + 6]; textparts[2][i] = text[i + 6];
} }
textpart3[5] = '\0'; textparts[2][5] = '\0';
textpart4[0] = text[11]; textparts[3][0] = text[11];
textpart4[1] = '\0'; textparts[3][1] = '\0';
} else if (upceanflag == 13) { /* EAN-13 */ } else if (upceanflag == 13) { /* EAN-13 */
textpart1[0] = text[0]; textparts[0][0] = text[0];
textpart1[1] = '\0'; textparts[0][1] = '\0';
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
textpart2[i] = text[i + 1]; textparts[1][i] = text[i + 1];
} }
textpart2[6] = '\0'; textparts[1][6] = '\0';
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
textpart3[i] = text[i + 7]; textparts[2][i] = text[i + 7];
} }
textpart3[6] = '\0'; textparts[2][6] = '\0';
} }
} }

View File

@ -62,12 +62,11 @@ INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_wi
/* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height. /* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height.
If scaler `si` non-zero (raster), then large_bar_height if non-zero or else row heights will be rounded If scaler `si` non-zero (raster), then large_bar_height if non-zero or else row heights will be rounded
to nearest pixel and symbol height adjusted */ to nearest pixel and symbol height adjusted */
INTERNAL float out_large_bar_height(struct zint_symbol *symbol, int si, int *row_heights_si, int *symbol_height_si); INTERNAL float out_large_bar_height(struct zint_symbol *symbol, const int si, int *row_heights_si,
int *symbol_height_si);
/* Split UPC/EAN add-on text into various constituents */ /* Split UPC/EAN add-on text into various constituents */
INTERNAL void out_upcean_split_text(int upceanflag, unsigned char text[], INTERNAL void out_upcean_split_text(const int upceanflag, const unsigned char text[], unsigned char textparts[4][7]);
unsigned char textpart1[5], unsigned char textpart2[7], unsigned char textpart3[7],
unsigned char textpart4[2]);
/* Create output file, creating sub-directories if necessary. Returns `fopen()` FILE pointer */ /* Create output file, creating sub-directories if necessary. Returns `fopen()` FILE pointer */
INTERNAL FILE *out_fopen(const char filename[256], const char *mode); INTERNAL FILE *out_fopen(const char filename[256], const char *mode);

View File

@ -1,7 +1,7 @@
/* postal.c - Handles POSTNET, PLANET, CEPNet, FIM. RM4SCC and Flattermarken */ /* postal.c - Handles POSTNET, PLANET, CEPNet, FIM. RM4SCC and Flattermarken */
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
Including bug fixes by Bryan Hatton Including bug fixes by Bryan Hatton
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
@ -559,12 +559,12 @@ INTERNAL int kix(struct zint_symbol *symbol, unsigned char source[], int length)
/* Handles DAFT Code symbols */ /* Handles DAFT Code symbols */
INTERNAL int daft(struct zint_symbol *symbol, unsigned char source[], int length) { INTERNAL int daft(struct zint_symbol *symbol, unsigned char source[], int length) {
int posns[100]; int posns[250];
int loopey; int loopey;
int writer; int writer;
if (length > 100) { if (length > 250) {
strcpy(symbol->errtxt, "492: Input too long (100 character maximum)"); strcpy(symbol->errtxt, "492: Input too long (250 character maximum)");
return ZINT_ERROR_TOO_LONG; return ZINT_ERROR_TOO_LONG;
} }
to_upper(source, length); to_upper(source, length);

View File

@ -427,8 +427,7 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
string = symbol->vector->strings; string = symbol->vector->strings;
if (string) { if (string) {
if ((symbol->output_options & BOLD_TEXT) if ((symbol->output_options & BOLD_TEXT) && !is_extendable(symbol->symbology)) {
&& (!is_extendable(symbol->symbology) || (symbol->output_options & SMALL_TEXT))) {
font = "Helvetica-Bold"; font = "Helvetica-Bold";
} else { } else {
font = "Helvetica"; font = "Helvetica";

View File

@ -44,10 +44,10 @@
#include "font.h" /* Font for human readable text */ #include "font.h" /* Font for human readable text */
#define DEFAULT_INK '1' #define DEFAULT_INK '1' /* Black */
#define DEFAULT_PAPER '0' #define DEFAULT_PAPER '0' /* White */
#define UPCEAN_TEXT 1 #define UPCEAN_TEXT 1 /* Helper flag for `draw_string()`/`draw_letter()` to indicate dealing with UPC/EAN */
#ifndef ZINT_NO_PNG #ifndef ZINT_NO_PNG
INTERNAL int png_pixel_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf); INTERNAL int png_pixel_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf);
@ -61,7 +61,7 @@ static const char ultra_colour[] = "0CBMRYGKW";
static int buffer_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf) { static int buffer_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf) {
/* Place pixelbuffer into symbol */ /* Place pixelbuffer into symbol */
unsigned char fgalpha, bgalpha; unsigned char alpha[2];
unsigned char map[91][3] = { unsigned char map[91][3] = {
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, /* 0x00-0F */ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, /* 0x00-0F */
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, /* 0x10-1F */ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, /* 0x10-1F */
@ -78,11 +78,11 @@ static int buffer_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf
const size_t bm_bitmap_width = (size_t) symbol->bitmap_width * 3; const size_t bm_bitmap_width = (size_t) symbol->bitmap_width * 3;
if (out_colour_get_rgb(symbol->fgcolour, &map[DEFAULT_INK][0], &map[DEFAULT_INK][1], &map[DEFAULT_INK][2], if (out_colour_get_rgb(symbol->fgcolour, &map[DEFAULT_INK][0], &map[DEFAULT_INK][1], &map[DEFAULT_INK][2],
&fgalpha)) { &alpha[0])) {
plot_alpha = 1; plot_alpha = 1;
} }
if (out_colour_get_rgb(symbol->bgcolour, &map[DEFAULT_PAPER][0], &map[DEFAULT_PAPER][1], &map[DEFAULT_PAPER][2], if (out_colour_get_rgb(symbol->bgcolour, &map[DEFAULT_PAPER][0], &map[DEFAULT_PAPER][1], &map[DEFAULT_PAPER][2],
&bgalpha)) { &alpha[1])) {
plot_alpha = 1; plot_alpha = 1;
} }
@ -119,7 +119,7 @@ static int buffer_plot(struct zint_symbol *symbol, const unsigned char *pixelbuf
const int pe = p + symbol->bitmap_width; const int pe = p + symbol->bitmap_width;
for (; p < pe; p++, bitmap += 3) { for (; p < pe; p++, bitmap += 3) {
memcpy(bitmap, map[pixelbuf[p]], 3); memcpy(bitmap, map[pixelbuf[p]], 3);
symbol->alphamap[p] = pixelbuf[p] == DEFAULT_PAPER ? bgalpha : fgalpha; symbol->alphamap[p] = alpha[pixelbuf[p] == DEFAULT_PAPER];
} }
} }
} }
@ -318,7 +318,7 @@ static void draw_letter(unsigned char *pixelbuf, const unsigned char letter, int
} }
/* Following should never happen (ISBN check digit "X" not printed) */ /* Following should never happen (ISBN check digit "X" not printed) */
if ((textflags & UPCEAN_TEXT) && (letter < '0' || letter > '9')) { if ((textflags & UPCEAN_TEXT) && !z_isdigit(letter)) {
return; /* Not reached */ return; /* Not reached */
} }
@ -743,6 +743,7 @@ static int plot_raster_maxicode(struct zint_symbol *symbol, const int rotate_ang
image_width = (int) ceilf(hex_image_width + xoffset_si + roffset_si); image_width = (int) ceilf(hex_image_width + xoffset_si + roffset_si);
image_height = (int) ceilf(hex_image_height + yoffset_si + boffset_si); image_height = (int) ceilf(hex_image_height + yoffset_si + boffset_si);
assert(image_width && image_height);
if (!(pixelbuf = (unsigned char *) malloc((size_t) image_width * image_height))) { if (!(pixelbuf = (unsigned char *) malloc((size_t) image_width * image_height))) {
strcpy(symbol->errtxt, "655: Insufficient memory for pixel buffer"); strcpy(symbol->errtxt, "655: Insufficient memory for pixel buffer");
@ -865,7 +866,7 @@ static int plot_raster_dotty(struct zint_symbol *symbol, const int rotate_angle,
return error_number; return error_number;
} }
/* Convert UTF-8 to ISO 8859-1 for draw_string() human readable text */ /* Convert UTF-8 to ISO/IEC 8859-1 for `draw_string()` human readable text */
static void to_iso8859_1(const unsigned char source[], unsigned char preprocessed[]) { static void to_iso8859_1(const unsigned char source[], unsigned char preprocessed[]) {
int j, i, input_length; int j, i, input_length;
@ -915,7 +916,7 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
float textoffset; float textoffset;
int upceanflag = 0; int upceanflag = 0;
int addon_latch = 0; int addon_latch = 0;
unsigned char textpart1[5], textpart2[7], textpart3[7], textpart4[2]; unsigned char textparts[4][7];
int hide_text; int hide_text;
int i, r; int i, r;
int block_width = 0; int block_width = 0;
@ -967,13 +968,13 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
if (upceanflag) { if (upceanflag) {
textflags = UPCEAN_TEXT | (symbol->output_options & SMALL_TEXT); /* Bold not available for UPC/EAN */ textflags = UPCEAN_TEXT | (symbol->output_options & SMALL_TEXT); /* Bold not available for UPC/EAN */
text_height = (UPCEAN_FONT_HEIGHT + 1) / 2; text_height = (UPCEAN_FONT_HEIGHT + 1) / 2;
text_gap = 1.0f; text_gap = symbol->text_gap ? symbol->text_gap : 1.0f;
/* Height of guard bar descent (none for EAN-2 and EAN-5) */ /* Height of guard bar descent (none for EAN-2 and EAN-5) */
guard_descent = upceanflag != 2 && upceanflag != 5 ? symbol->guard_descent : 0.0f; guard_descent = upceanflag != 2 && upceanflag != 5 ? symbol->guard_descent : 0.0f;
} else { } else {
textflags = symbol->output_options & (SMALL_TEXT | BOLD_TEXT); textflags = symbol->output_options & (SMALL_TEXT | BOLD_TEXT);
text_height = textflags & SMALL_TEXT ? (SMALL_FONT_HEIGHT + 1) / 2 : (NORMAL_FONT_HEIGHT + 1) / 2; text_height = textflags & SMALL_TEXT ? (SMALL_FONT_HEIGHT + 1) / 2 : (NORMAL_FONT_HEIGHT + 1) / 2;
text_gap = 1.0f; text_gap = symbol->text_gap ? symbol->text_gap : 1.0f;
guard_descent = 0.0f; guard_descent = 0.0f;
} }
@ -989,6 +990,7 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
image_width = symbol->width * si + xoffset_si + roffset_si; image_width = symbol->width * si + xoffset_si + roffset_si;
image_height = symbol_height_si + textoffset * si + yoffset_si + boffset_si; image_height = symbol_height_si + textoffset * si + yoffset_si + boffset_si;
assert(image_width && image_height);
if (!(pixelbuf = (unsigned char *) malloc((size_t) image_width * image_height))) { if (!(pixelbuf = (unsigned char *) malloc((size_t) image_width * image_height))) {
strcpy(symbol->errtxt, "658: Insufficient memory for pixel buffer"); strcpy(symbol->errtxt, "658: Insufficient memory for pixel buffer");
@ -1145,99 +1147,72 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
} }
if (upceanflag >= 6) { /* UPC-E, EAN-8, UPC-A, EAN-13 */ if (upceanflag >= 6) { /* UPC-E, EAN-8, UPC-A, EAN-13 */
const int addon_len = (int) ustrlen(addon);
/* Note font sizes halved as in pixels */ /* Note font sizes halved as in pixels */
/* Halved again to get middle position that draw_string() expects */ /* Halved again to get middle position that draw_string() expects */
const int upcea_width_adj = (UPCEAN_SMALL_FONT_WIDTH + 3) / 4; const int upcea_width_adj = (UPCEAN_SMALL_FONT_WIDTH + 3) / 4;
const int upcea_height_adj = (UPCEAN_FONT_HEIGHT - UPCEAN_SMALL_FONT_HEIGHT) * si / 2; const int upcea_height_adj = ((UPCEAN_FONT_HEIGHT - UPCEAN_SMALL_FONT_HEIGHT) * si + 1) / 2;
/* Halved again to get middle position that draw_string() expects */ /* Halved again to get middle position that draw_string() expects */
const int ean_width_adj = (UPCEAN_FONT_WIDTH + 3) / 4; const int ean_width_adj = (UPCEAN_FONT_WIDTH + 3) / 4;
out_upcean_split_text(upceanflag, symbol->text, textpart1, textpart2, textpart3, textpart4); out_upcean_split_text(upceanflag, symbol->text, textparts);
if (upceanflag == 6) { /* UPC-E */ if (upceanflag == 6) { /* UPC-E */
int text_xposn = -(5 + upcea_width_adj) * si + comp_xoffset_si; int text_xposn = -(5 + upcea_width_adj) * si + comp_xoffset_si;
draw_string(pixelbuf, textpart1, text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT, draw_string(pixelbuf, textparts[0], text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT,
image_width, image_height, si); image_width, image_height, si);
text_xposn = 24 * si + comp_xoffset_si; text_xposn = 24 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart2, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = (51 + 3 + upcea_width_adj) * si + comp_xoffset_si; text_xposn = (51 + 3 + upcea_width_adj) * si + comp_xoffset_si;
draw_string(pixelbuf, textpart3, text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT, draw_string(pixelbuf, textparts[2], text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT,
image_width, image_height, si); image_width, image_height, si);
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = ((addon_len == 2 ? 61 : 75) + addon_gap) * si + comp_xoffset_si;
text_xposn = (61 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags, draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si); image_width, image_height, si);
break;
case 5:
text_xposn = (75 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si);
break;
} }
} else if (upceanflag == 8) { /* EAN-8 */ } else if (upceanflag == 8) { /* EAN-8 */
int text_xposn = 17 * si + comp_xoffset_si; int text_xposn = 17 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart1, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[0], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = 50 * si + comp_xoffset_si; text_xposn = 50 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart2, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = ((addon_len == 2 ? 77 : 91) + addon_gap) * si + comp_xoffset_si;
text_xposn = (77 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags, draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si); image_width, image_height, si);
break;
case 5:
text_xposn = (91 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si);
break;
} }
} else if (upceanflag == 12) { /* UPC-A */ } else if (upceanflag == 12) { /* UPC-A */
int text_xposn = (-(5 + upcea_width_adj)) * si + comp_xoffset_si; int text_xposn = (-(5 + upcea_width_adj)) * si + comp_xoffset_si;
draw_string(pixelbuf, textpart1, text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT, draw_string(pixelbuf, textparts[0], text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT,
image_width, image_height, si); image_width, image_height, si);
text_xposn = 27 * si + comp_xoffset_si; text_xposn = 27 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart2, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = 67 * si + comp_xoffset_si; text_xposn = 67 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart3, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[2], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = (95 + 5 + upcea_width_adj) * si + comp_xoffset_si; text_xposn = (95 + 5 + upcea_width_adj) * si + comp_xoffset_si;
draw_string(pixelbuf, textpart4, text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT, draw_string(pixelbuf, textparts[3], text_xposn, text_yposn + upcea_height_adj, textflags | SMALL_TEXT,
image_width, image_height, si); image_width, image_height, si);
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
text_xposn = (105 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags, draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si); image_width, image_height, si);
break;
case 5:
text_xposn = (119 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si);
break;
} }
} else { /* EAN-13 */ } else { /* EAN-13 */
int text_xposn = (-(5 + ean_width_adj)) * si + comp_xoffset_si; int text_xposn = (-(5 + ean_width_adj)) * si + comp_xoffset_si;
draw_string(pixelbuf, textpart1, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[0], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = 24 * si + comp_xoffset_si; text_xposn = 24 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart2, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
text_xposn = 71 * si + comp_xoffset_si; text_xposn = 71 * si + comp_xoffset_si;
draw_string(pixelbuf, textpart3, text_xposn, text_yposn, textflags, image_width, image_height, si); draw_string(pixelbuf, textparts[2], text_xposn, text_yposn, textflags, image_width, image_height, si);
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
text_xposn = (105 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags, draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si); image_width, image_height, si);
break;
case 5:
text_xposn = (119 + addon_gap) * si + comp_xoffset_si;
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
image_width, image_height, si);
break;
} }
} }
} else { } else {

View File

@ -296,8 +296,7 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
circle = circle->next; circle = circle->next;
} }
bold = (symbol->output_options & BOLD_TEXT) bold = (symbol->output_options & BOLD_TEXT) && !is_extendable(symbol->symbology);
&& (!is_extendable(symbol->symbology) || (symbol->output_options & SMALL_TEXT));
string = symbol->vector->strings; string = symbol->vector->strings;
while (string) { while (string) {
const char *const halign = string->halign == 2 ? "end" : string->halign == 1 ? "start" : "middle"; const char *const halign = string->halign == 2 ? "end" : string->halign == 1 ? "start" : "middle";

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 224 119 %%BoundingBox: 0 0 224 119
@ -84,7 +84,7 @@ end
matrix currentmatrix matrix currentmatrix
/Helvetica-ISOLatin1 findfont /Helvetica-ISOLatin1 findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 112.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 112.00 4.90 translate 0.00 rotate 0 0 moveto
(Égjpqy) stringwidth (Égjpqy) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 119 224 %%BoundingBox: 0 0 119 224
@ -84,7 +84,7 @@ end
matrix currentmatrix matrix currentmatrix
/Helvetica-ISOLatin1 findfont /Helvetica-ISOLatin1 findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 3.50 112.00 translate 0.00 rotate 0 0 moveto 0 0 moveto 4.90 112.00 translate 0.00 rotate 0 0 moveto
(Égjpqy) stringwidth (Égjpqy) stringwidth
gsave gsave
270 rotate 270 rotate

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 246 119 %%BoundingBox: 0 0 246 119
@ -90,7 +90,7 @@ end
matrix currentmatrix matrix currentmatrix
/Helvetica-ISOLatin1 findfont /Helvetica-ISOLatin1 findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 123.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 123.00 4.90 translate 0.00 rotate 0 0 moveto
(A\\B\)ç\(D) stringwidth (A\\B\)ç\(D) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -65,7 +65,7 @@ TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 64.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
(*123*) stringwidth (*123*) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -65,7 +65,7 @@ TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 64.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
(*123*) stringwidth (*123*) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -62,7 +62,7 @@ TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 64.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
(*123*) stringwidth (*123*) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 158 119 %%BoundingBox: 0 0 158 119
@ -61,7 +61,7 @@ TE
matrix currentmatrix matrix currentmatrix
/Helvetica-Bold findfont /Helvetica-Bold findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 79.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 79.00 4.90 translate 0.00 rotate 0 0 moveto
(\(01\)15012345678907) stringwidth (\(01\)15012345678907) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 276 117 %%BoundingBox: 0 0 276 117
@ -9,87 +9,87 @@
/TE { pop pop } bind def /TE { pop pop } bind def
newpath newpath
1.00 1.00 1.00 setrgbcolor 1.00 1.00 1.00 setrgbcolor
116.40 0.00 TB 0.00 276.00 TR 116.90 0.00 TB 0.00 276.00 TR
TE TE
0.00 0.00 0.00 setrgbcolor 0.00 0.00 0.00 setrgbcolor
110.00 6.40 TB 22.00 2.00 TR 110.00 6.90 TB 22.00 2.00 TR
TE TE
110.00 6.40 TB 26.00 2.00 TR 110.00 6.90 TB 26.00 2.00 TR
TE TE
100.00 16.40 TB 30.00 6.00 TR 100.00 16.90 TB 30.00 6.00 TR
TE TE
100.00 16.40 TB 38.00 4.00 TR 100.00 16.90 TB 38.00 4.00 TR
TE TE
100.00 16.40 TB 46.00 2.00 TR 100.00 16.90 TB 46.00 2.00 TR
TE TE
100.00 16.40 TB 54.00 2.00 TR 100.00 16.90 TB 54.00 2.00 TR
TE TE
100.00 16.40 TB 58.00 4.00 TR 100.00 16.90 TB 58.00 4.00 TR
TE TE
100.00 16.40 TB 66.00 4.00 TR 100.00 16.90 TB 66.00 4.00 TR
TE TE
100.00 16.40 TB 72.00 8.00 TR 100.00 16.90 TB 72.00 8.00 TR
TE TE
100.00 16.40 TB 82.00 2.00 TR 100.00 16.90 TB 82.00 2.00 TR
TE TE
100.00 16.40 TB 90.00 2.00 TR 100.00 16.90 TB 90.00 2.00 TR
TE TE
100.00 16.40 TB 96.00 2.00 TR 100.00 16.90 TB 96.00 2.00 TR
TE TE
100.00 16.40 TB 100.00 2.00 TR 100.00 16.90 TB 100.00 2.00 TR
TE TE
100.00 16.40 TB 108.00 4.00 TR 100.00 16.90 TB 108.00 4.00 TR
TE TE
110.00 6.40 TB 114.00 2.00 TR 110.00 6.90 TB 114.00 2.00 TR
TE TE
110.00 6.40 TB 118.00 2.00 TR 110.00 6.90 TB 118.00 2.00 TR
TE TE
100.00 16.40 TB 122.00 2.00 TR 100.00 16.90 TB 122.00 2.00 TR
TE TE
100.00 16.40 TB 128.00 6.00 TR 100.00 16.90 TB 128.00 6.00 TR
TE TE
100.00 16.40 TB 136.00 4.00 TR 100.00 16.90 TB 136.00 4.00 TR
TE TE
100.00 16.40 TB 142.00 4.00 TR 100.00 16.90 TB 142.00 4.00 TR
TE TE
100.00 16.40 TB 150.00 2.00 TR 100.00 16.90 TB 150.00 2.00 TR
TE TE
100.00 16.40 TB 154.00 6.00 TR 100.00 16.90 TB 154.00 6.00 TR
TE TE
100.00 16.40 TB 164.00 6.00 TR 100.00 16.90 TB 164.00 6.00 TR
TE TE
100.00 16.40 TB 174.00 2.00 TR 100.00 16.90 TB 174.00 2.00 TR
TE TE
100.00 16.40 TB 178.00 4.00 TR 100.00 16.90 TB 178.00 4.00 TR
TE TE
100.00 16.40 TB 186.00 4.00 TR 100.00 16.90 TB 186.00 4.00 TR
TE TE
100.00 16.40 TB 192.00 2.00 TR 100.00 16.90 TB 192.00 2.00 TR
TE TE
100.00 16.40 TB 200.00 2.00 TR 100.00 16.90 TB 200.00 2.00 TR
TE TE
110.00 6.40 TB 206.00 2.00 TR 110.00 6.90 TB 206.00 2.00 TR
TE TE
110.00 6.40 TB 210.00 2.00 TR 110.00 6.90 TB 210.00 2.00 TR
TE TE
91.00 6.40 TB 226.00 2.00 TR 93.10 6.90 TB 226.00 2.00 TR
TE TE
91.00 6.40 TB 230.00 4.00 TR 93.10 6.90 TB 230.00 4.00 TR
TE TE
91.00 6.40 TB 238.00 4.00 TR 93.10 6.90 TB 238.00 4.00 TR
TE TE
91.00 6.40 TB 246.00 2.00 TR 93.10 6.90 TB 246.00 2.00 TR
TE TE
91.00 6.40 TB 250.00 2.00 TR 93.10 6.90 TB 250.00 2.00 TR
TE TE
91.00 6.40 TB 256.00 2.00 TR 93.10 6.90 TB 256.00 2.00 TR
TE TE
91.00 6.40 TB 262.00 4.00 TR 93.10 6.90 TB 262.00 4.00 TR
TE TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 12.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 12.20 0.80 translate 0.00 rotate 0 0 moveto
(9) stringwidth (9) stringwidth
pop pop
neg 0 rmoveto neg 0 rmoveto
@ -98,7 +98,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 70.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 71.00 0.80 translate 0.00 rotate 0 0 moveto
(771384) stringwidth (771384) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
@ -107,7 +107,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 164.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 163.00 0.80 translate 0.00 rotate 0 0 moveto
(524017) stringwidth (524017) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
@ -116,7 +116,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 246.00 101.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 246.00 101.90 translate 0.00 rotate 0 0 moveto
(12) stringwidth (12) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 276 117 %%BoundingBox: 0 0 276 117
@ -9,87 +9,87 @@
/TE { pop pop } bind def /TE { pop pop } bind def
newpath newpath
1.00 1.00 1.00 setrgbcolor 1.00 1.00 1.00 setrgbcolor
116.40 0.00 TB 0.00 276.00 TR 116.90 0.00 TB 0.00 276.00 TR
TE TE
0.00 0.00 0.00 setrgbcolor 0.00 0.00 0.00 setrgbcolor
110.00 6.40 TB 18.00 2.00 TR 110.00 6.90 TB 18.00 2.00 TR
TE TE
110.00 6.40 TB 22.00 2.00 TR 110.00 6.90 TB 22.00 2.00 TR
TE TE
110.00 6.40 TB 30.00 4.00 TR 110.00 6.90 TB 30.00 4.00 TR
TE TE
110.00 6.40 TB 36.00 2.00 TR 110.00 6.90 TB 36.00 2.00 TR
TE TE
100.00 16.40 TB 42.00 4.00 TR 100.00 16.90 TB 42.00 4.00 TR
TE TE
100.00 16.40 TB 50.00 2.00 TR 100.00 16.90 TB 50.00 2.00 TR
TE TE
100.00 16.40 TB 56.00 2.00 TR 100.00 16.90 TB 56.00 2.00 TR
TE TE
100.00 16.40 TB 62.00 4.00 TR 100.00 16.90 TB 62.00 4.00 TR
TE TE
100.00 16.40 TB 68.00 8.00 TR 100.00 16.90 TB 68.00 8.00 TR
TE TE
100.00 16.40 TB 78.00 2.00 TR 100.00 16.90 TB 78.00 2.00 TR
TE TE
100.00 16.40 TB 82.00 2.00 TR 100.00 16.90 TB 82.00 2.00 TR
TE TE
100.00 16.40 TB 90.00 4.00 TR 100.00 16.90 TB 90.00 4.00 TR
TE TE
100.00 16.40 TB 96.00 4.00 TR 100.00 16.90 TB 96.00 4.00 TR
TE TE
100.00 16.40 TB 106.00 2.00 TR 100.00 16.90 TB 106.00 2.00 TR
TE TE
110.00 6.40 TB 110.00 2.00 TR 110.00 6.90 TB 110.00 2.00 TR
TE TE
110.00 6.40 TB 114.00 2.00 TR 110.00 6.90 TB 114.00 2.00 TR
TE TE
100.00 16.40 TB 118.00 2.00 TR 100.00 16.90 TB 118.00 2.00 TR
TE TE
100.00 16.40 TB 122.00 2.00 TR 100.00 16.90 TB 122.00 2.00 TR
TE TE
100.00 16.40 TB 132.00 2.00 TR 100.00 16.90 TB 132.00 2.00 TR
TE TE
100.00 16.40 TB 140.00 2.00 TR 100.00 16.90 TB 140.00 2.00 TR
TE TE
100.00 16.40 TB 146.00 2.00 TR 100.00 16.90 TB 146.00 2.00 TR
TE TE
100.00 16.40 TB 152.00 2.00 TR 100.00 16.90 TB 152.00 2.00 TR
TE TE
100.00 16.40 TB 160.00 6.00 TR 100.00 16.90 TB 160.00 6.00 TR
TE TE
100.00 16.40 TB 168.00 2.00 TR 100.00 16.90 TB 168.00 2.00 TR
TE TE
100.00 16.40 TB 174.00 6.00 TR 100.00 16.90 TB 174.00 6.00 TR
TE TE
100.00 16.40 TB 184.00 2.00 TR 100.00 16.90 TB 184.00 2.00 TR
TE TE
110.00 6.40 TB 188.00 2.00 TR 110.00 6.90 TB 188.00 2.00 TR
TE TE
110.00 6.40 TB 194.00 6.00 TR 110.00 6.90 TB 194.00 6.00 TR
TE TE
110.00 6.40 TB 202.00 2.00 TR 110.00 6.90 TB 202.00 2.00 TR
TE TE
110.00 6.40 TB 206.00 2.00 TR 110.00 6.90 TB 206.00 2.00 TR
TE TE
81.00 16.40 TB 226.00 2.00 TR 83.10 16.90 TB 226.00 2.00 TR
TE TE
81.00 16.40 TB 230.00 4.00 TR 83.10 16.90 TB 230.00 4.00 TR
TE TE
81.00 16.40 TB 238.00 2.00 TR 83.10 16.90 TB 238.00 2.00 TR
TE TE
81.00 16.40 TB 244.00 4.00 TR 83.10 16.90 TB 244.00 4.00 TR
TE TE
81.00 16.40 TB 250.00 2.00 TR 83.10 16.90 TB 250.00 2.00 TR
TE TE
81.00 16.40 TB 254.00 2.00 TR 83.10 16.90 TB 254.00 2.00 TR
TE TE
81.00 16.40 TB 262.00 4.00 TR 83.10 16.90 TB 262.00 4.00 TR
TE TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 8.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 8.70 0.80 translate 0.00 rotate 0 0 moveto
(0) stringwidth (0) stringwidth
pop pop
neg 0 rmoveto neg 0 rmoveto
@ -98,7 +98,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 72.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 74.00 0.80 translate 0.00 rotate 0 0 moveto
(12345) stringwidth (12345) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
@ -107,7 +107,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 152.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 152.00 0.80 translate 0.00 rotate 0 0 moveto
(67890) stringwidth (67890) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
@ -116,13 +116,13 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 218.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 217.30 0.80 translate 0.00 rotate 0 0 moveto
(5) show (5) show
setmatrix setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 246.00 101.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 246.00 101.90 translate 0.00 rotate 0 0 moveto
(24) stringwidth (24) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 238 117 %%BoundingBox: 0 0 238 117
@ -9,79 +9,79 @@
/TE { pop pop } bind def /TE { pop pop } bind def
newpath newpath
1.00 1.00 1.00 setrgbcolor 1.00 1.00 1.00 setrgbcolor
116.40 0.00 TB 0.00 238.00 TR 116.90 0.00 TB 0.00 238.00 TR
TE TE
0.00 0.00 0.00 setrgbcolor 0.00 0.00 0.00 setrgbcolor
110.00 6.40 TB 18.00 2.00 TR 110.00 6.90 TB 18.00 2.00 TR
TE TE
110.00 6.40 TB 22.00 2.00 TR 110.00 6.90 TB 22.00 2.00 TR
TE TE
100.00 16.40 TB 26.00 4.00 TR 100.00 16.90 TB 26.00 4.00 TR
TE TE
100.00 16.40 TB 34.00 4.00 TR 100.00 16.90 TB 34.00 4.00 TR
TE TE
100.00 16.40 TB 42.00 2.00 TR 100.00 16.90 TB 42.00 2.00 TR
TE TE
100.00 16.40 TB 48.00 4.00 TR 100.00 16.90 TB 48.00 4.00 TR
TE TE
100.00 16.40 TB 54.00 8.00 TR 100.00 16.90 TB 54.00 8.00 TR
TE TE
100.00 16.40 TB 64.00 2.00 TR 100.00 16.90 TB 64.00 2.00 TR
TE TE
100.00 16.40 TB 70.00 6.00 TR 100.00 16.90 TB 70.00 6.00 TR
TE TE
100.00 16.40 TB 78.00 2.00 TR 100.00 16.90 TB 78.00 2.00 TR
TE TE
100.00 16.40 TB 82.00 6.00 TR 100.00 16.90 TB 82.00 6.00 TR
TE TE
100.00 16.40 TB 92.00 2.00 TR 100.00 16.90 TB 92.00 2.00 TR
TE TE
100.00 16.40 TB 96.00 2.00 TR 100.00 16.90 TB 96.00 2.00 TR
TE TE
100.00 16.40 TB 100.00 8.00 TR 100.00 16.90 TB 100.00 8.00 TR
TE TE
110.00 6.40 TB 110.00 2.00 TR 110.00 6.90 TB 110.00 2.00 TR
TE TE
110.00 6.40 TB 114.00 2.00 TR 110.00 6.90 TB 114.00 2.00 TR
TE TE
110.00 6.40 TB 118.00 2.00 TR 110.00 6.90 TB 118.00 2.00 TR
TE TE
81.00 16.40 TB 134.00 2.00 TR 83.10 16.90 TB 134.00 2.00 TR
TE TE
81.00 16.40 TB 138.00 4.00 TR 83.10 16.90 TB 138.00 4.00 TR
TE TE
81.00 16.40 TB 144.00 4.00 TR 83.10 16.90 TB 144.00 4.00 TR
TE TE
81.00 16.40 TB 152.00 4.00 TR 83.10 16.90 TB 152.00 4.00 TR
TE TE
81.00 16.40 TB 158.00 2.00 TR 83.10 16.90 TB 158.00 2.00 TR
TE TE
81.00 16.40 TB 164.00 2.00 TR 83.10 16.90 TB 164.00 2.00 TR
TE TE
81.00 16.40 TB 170.00 4.00 TR 83.10 16.90 TB 170.00 4.00 TR
TE TE
81.00 16.40 TB 176.00 2.00 TR 83.10 16.90 TB 176.00 2.00 TR
TE TE
81.00 16.40 TB 180.00 2.00 TR 83.10 16.90 TB 180.00 2.00 TR
TE TE
81.00 16.40 TB 190.00 2.00 TR 83.10 16.90 TB 190.00 2.00 TR
TE TE
81.00 16.40 TB 194.00 2.00 TR 83.10 16.90 TB 194.00 2.00 TR
TE TE
81.00 16.40 TB 198.00 2.00 TR 83.10 16.90 TB 198.00 2.00 TR
TE TE
81.00 16.40 TB 206.00 4.00 TR 83.10 16.90 TB 206.00 4.00 TR
TE TE
81.00 16.40 TB 212.00 2.00 TR 83.10 16.90 TB 212.00 2.00 TR
TE TE
81.00 16.40 TB 216.00 4.00 TR 83.10 16.90 TB 216.00 4.00 TR
TE TE
81.00 16.40 TB 226.00 2.00 TR 83.10 16.90 TB 226.00 2.00 TR
TE TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 8.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 8.70 0.80 translate 0.00 rotate 0 0 moveto
(0) stringwidth (0) stringwidth
pop pop
neg 0 rmoveto neg 0 rmoveto
@ -90,7 +90,7 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 66.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 67.00 0.80 translate 0.00 rotate 0 0 moveto
(123456) stringwidth (123456) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
@ -99,13 +99,13 @@ setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 126.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 125.30 0.80 translate 0.00 rotate 0 0 moveto
(5) show (5) show
setmatrix setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
20.00 scalefont setfont 20.00 scalefont setfont
0 0 moveto 182.00 101.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 182.00 101.90 translate 0.00 rotate 0 0 moveto
(12345) stringwidth (12345) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,111 +1,111 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 238 112 %%BoundingBox: 0 0 238 113
%%EndComments %%EndComments
/TB { 2 copy } bind def /TB { 2 copy } bind def
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/TE { pop pop } bind def /TE { pop pop } bind def
newpath newpath
1.00 1.00 1.00 setrgbcolor 1.00 1.00 1.00 setrgbcolor
111.90 0.00 TB 0.00 238.00 TR 112.28 0.00 TB 0.00 238.00 TR
TE TE
0.00 0.00 0.00 setrgbcolor 0.00 0.00 0.00 setrgbcolor
110.00 1.90 TB 18.00 2.00 TR 110.00 2.28 TB 18.00 2.00 TR
TE TE
110.00 1.90 TB 22.00 2.00 TR 110.00 2.28 TB 22.00 2.00 TR
TE TE
100.00 11.90 TB 26.00 4.00 TR 100.00 12.28 TB 26.00 4.00 TR
TE TE
100.00 11.90 TB 34.00 4.00 TR 100.00 12.28 TB 34.00 4.00 TR
TE TE
100.00 11.90 TB 42.00 2.00 TR 100.00 12.28 TB 42.00 2.00 TR
TE TE
100.00 11.90 TB 48.00 4.00 TR 100.00 12.28 TB 48.00 4.00 TR
TE TE
100.00 11.90 TB 54.00 8.00 TR 100.00 12.28 TB 54.00 8.00 TR
TE TE
100.00 11.90 TB 64.00 2.00 TR 100.00 12.28 TB 64.00 2.00 TR
TE TE
100.00 11.90 TB 70.00 6.00 TR 100.00 12.28 TB 70.00 6.00 TR
TE TE
100.00 11.90 TB 78.00 2.00 TR 100.00 12.28 TB 78.00 2.00 TR
TE TE
100.00 11.90 TB 82.00 6.00 TR 100.00 12.28 TB 82.00 6.00 TR
TE TE
100.00 11.90 TB 92.00 2.00 TR 100.00 12.28 TB 92.00 2.00 TR
TE TE
100.00 11.90 TB 96.00 2.00 TR 100.00 12.28 TB 96.00 2.00 TR
TE TE
100.00 11.90 TB 100.00 8.00 TR 100.00 12.28 TB 100.00 8.00 TR
TE TE
110.00 1.90 TB 110.00 2.00 TR 110.00 2.28 TB 110.00 2.00 TR
TE TE
110.00 1.90 TB 114.00 2.00 TR 110.00 2.28 TB 114.00 2.00 TR
TE TE
110.00 1.90 TB 118.00 2.00 TR 110.00 2.28 TB 118.00 2.00 TR
TE TE
87.00 11.90 TB 134.00 2.00 TR 87.72 12.28 TB 134.00 2.00 TR
TE TE
87.00 11.90 TB 138.00 4.00 TR 87.72 12.28 TB 138.00 4.00 TR
TE TE
87.00 11.90 TB 144.00 4.00 TR 87.72 12.28 TB 144.00 4.00 TR
TE TE
87.00 11.90 TB 152.00 4.00 TR 87.72 12.28 TB 152.00 4.00 TR
TE TE
87.00 11.90 TB 158.00 2.00 TR 87.72 12.28 TB 158.00 2.00 TR
TE TE
87.00 11.90 TB 164.00 2.00 TR 87.72 12.28 TB 164.00 2.00 TR
TE TE
87.00 11.90 TB 170.00 4.00 TR 87.72 12.28 TB 170.00 4.00 TR
TE TE
87.00 11.90 TB 176.00 2.00 TR 87.72 12.28 TB 176.00 2.00 TR
TE TE
87.00 11.90 TB 180.00 2.00 TR 87.72 12.28 TB 180.00 2.00 TR
TE TE
87.00 11.90 TB 190.00 2.00 TR 87.72 12.28 TB 190.00 2.00 TR
TE TE
87.00 11.90 TB 194.00 2.00 TR 87.72 12.28 TB 194.00 2.00 TR
TE TE
87.00 11.90 TB 198.00 2.00 TR 87.72 12.28 TB 198.00 2.00 TR
TE TE
87.00 11.90 TB 206.00 4.00 TR 87.72 12.28 TB 206.00 4.00 TR
TE TE
87.00 11.90 TB 212.00 2.00 TR 87.72 12.28 TB 212.00 2.00 TR
TE TE
87.00 11.90 TB 216.00 4.00 TR 87.72 12.28 TB 216.00 4.00 TR
TE TE
87.00 11.90 TB 226.00 2.00 TR 87.72 12.28 TB 226.00 2.00 TR
TE TE
matrix currentmatrix matrix currentmatrix
/Helvetica-Bold findfont /Helvetica findfont
12.00 scalefont setfont 12.00 scalefont setfont
0 0 moveto 8.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 8.70 0.56 translate 0.00 rotate 0 0 moveto
(0) stringwidth (0) stringwidth
pop pop
neg 0 rmoveto neg 0 rmoveto
(0) show (0) show
setmatrix setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica-Bold findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 66.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 67.00 0.56 translate 0.00 rotate 0 0 moveto
(123456) stringwidth (123456) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto
(123456) show (123456) show
setmatrix setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica-Bold findfont /Helvetica findfont
12.00 scalefont setfont 12.00 scalefont setfont
0 0 moveto 126.00 0.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 125.30 0.56 translate 0.00 rotate 0 0 moveto
(5) show (5) show
setmatrix setmatrix
matrix currentmatrix matrix currentmatrix
/Helvetica-Bold findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 182.00 101.40 translate 0.00 rotate 0 0 moveto 0 0 moveto 182.00 101.78 translate 0.00 rotate 0 0 moveto
(12345) stringwidth (12345) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.10.0.9 %%Creator: Zint 2.12.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 136 119 %%BoundingBox: 0 0 136 119
@ -53,7 +53,7 @@ TE
matrix currentmatrix matrix currentmatrix
/Helvetica findfont /Helvetica findfont
14.00 scalefont setfont 14.00 scalefont setfont
0 0 moveto 68.00 3.50 translate 0.00 rotate 0 0 moveto 0 0 moveto 68.00 4.90 translate 0.00 rotate 0 0 moveto
(AIM) stringwidth (AIM) stringwidth
pop pop
-2 div 0 rmoveto -2 div 0 rmoveto

View File

@ -27,7 +27,7 @@
<rect x="120.00" y="0.00" width="6.00" height="100.00" /> <rect x="120.00" y="0.00" width="6.00" height="100.00" />
<rect x="128.00" y="0.00" width="2.00" height="100.00" /> <rect x="128.00" y="0.00" width="2.00" height="100.00" />
<rect x="132.00" y="0.00" width="4.00" height="100.00" /> <rect x="132.00" y="0.00" width="4.00" height="100.00" />
<text x="68.00" y="115.40" text-anchor="middle" <text x="68.00" y="114.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
AIM AIM
</text> </text>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -16,7 +16,7 @@
<rect x="26.00" y="0.00" width="6.00" height="40.00" /> <rect x="26.00" y="0.00" width="6.00" height="40.00" />
<rect x="38.00" y="0.00" width="2.00" height="40.00" /> <rect x="38.00" y="0.00" width="2.00" height="40.00" />
<rect x="42.00" y="0.00" width="4.00" height="40.00" /> <rect x="42.00" y="0.00" width="4.00" height="40.00" />
<text x="23.00" y="55.40" text-anchor="middle" <text x="23.00" y="54.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
123 123
</text> </text>

Before

Width:  |  Height:  |  Size: 1013 B

After

Width:  |  Height:  |  Size: 1013 B

View File

@ -33,7 +33,7 @@
<rect x="164.00" y="0.00" width="6.00" height="100.00" /> <rect x="164.00" y="0.00" width="6.00" height="100.00" />
<rect x="172.00" y="0.00" width="2.00" height="100.00" /> <rect x="172.00" y="0.00" width="2.00" height="100.00" />
<rect x="176.00" y="0.00" width="4.00" height="100.00" /> <rect x="176.00" y="0.00" width="4.00" height="100.00" />
<text x="90.00" y="115.40" text-anchor="middle" <text x="90.00" y="114.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
&lt;&gt;&quot;&amp;&apos; &lt;&gt;&quot;&amp;&apos;
</text> </text>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -39,7 +39,7 @@
<rect x="208.00" y="0.00" width="6.00" height="100.00" /> <rect x="208.00" y="0.00" width="6.00" height="100.00" />
<rect x="216.00" y="0.00" width="2.00" height="100.00" /> <rect x="216.00" y="0.00" width="2.00" height="100.00" />
<rect x="220.00" y="0.00" width="4.00" height="100.00" /> <rect x="220.00" y="0.00" width="4.00" height="100.00" />
<text x="112.00" y="115.40" text-anchor="middle" <text x="112.00" y="114.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" >
Égjpqy Égjpqy
</text> </text>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -43,7 +43,7 @@
<rect x="0.00" y="106.00" width="236.00" height="6.00" /> <rect x="0.00" y="106.00" width="236.00" height="6.00" />
<rect x="0.00" y="6.00" width="6.00" height="100.00" /> <rect x="0.00" y="6.00" width="6.00" height="100.00" />
<rect x="230.00" y="6.00" width="6.00" height="100.00" /> <rect x="230.00" y="6.00" width="6.00" height="100.00" />
<text x="118.00" y="127.40" text-anchor="middle" <text x="118.00" y="126.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" >
Égjpqy Égjpqy
</text> </text>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -43,7 +43,7 @@
<rect x="0.00" y="108.00" width="240.00" height="4.00" /> <rect x="0.00" y="108.00" width="240.00" height="4.00" />
<rect x="0.00" y="8.00" width="4.00" height="100.00" /> <rect x="0.00" y="8.00" width="4.00" height="100.00" />
<rect x="236.00" y="8.00" width="4.00" height="100.00" /> <rect x="236.00" y="8.00" width="4.00" height="100.00" />
<text x="120.00" y="127.40" text-anchor="middle" <text x="120.00" y="126.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" >
Égjpqy Égjpqy
</text> </text>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -39,7 +39,7 @@
<rect x="214.00" y="6.00" width="6.00" height="100.00" /> <rect x="214.00" y="6.00" width="6.00" height="100.00" />
<rect x="222.00" y="6.00" width="2.00" height="100.00" /> <rect x="222.00" y="6.00" width="2.00" height="100.00" />
<rect x="226.00" y="6.00" width="4.00" height="100.00" /> <rect x="226.00" y="6.00" width="4.00" height="100.00" />
<text x="118.00" y="121.40" text-anchor="middle" <text x="118.00" y="120.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" >
Égjpqy Égjpqy
</text> </text>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -33,7 +33,7 @@
<rect x="114.00" y="0.00" width="4.00" height="100.00" /> <rect x="114.00" y="0.00" width="4.00" height="100.00" />
<rect x="120.00" y="0.00" width="4.00" height="100.00" /> <rect x="120.00" y="0.00" width="4.00" height="100.00" />
<rect x="126.00" y="0.00" width="2.00" height="100.00" /> <rect x="126.00" y="0.00" width="2.00" height="100.00" />
<text x="64.00" y="113.20" text-anchor="middle" <text x="64.00" y="112.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="12.0" > font-family="Helvetica, sans-serif" font-size="12.0" >
*123* *123*
</text> </text>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -31,7 +31,7 @@
<rect x="132.00" y="0.00" width="4.00" height="100.00" /> <rect x="132.00" y="0.00" width="4.00" height="100.00" />
<rect x="138.00" y="0.00" width="6.00" height="100.00" /> <rect x="138.00" y="0.00" width="6.00" height="100.00" />
<rect x="146.00" y="0.00" width="2.00" height="100.00" /> <rect x="146.00" y="0.00" width="2.00" height="100.00" />
<text x="79.00" y="115.40" text-anchor="middle" <text x="79.00" y="114.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
(01)00123456789098 (01)00123456789098
</text> </text>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -67,7 +67,7 @@
<rect x="439.00" y="6.00" width="2.00" height="133.33" /> <rect x="439.00" y="6.00" width="2.00" height="133.33" />
<rect x="443.00" y="6.00" width="4.00" height="133.33" /> <rect x="443.00" y="6.00" width="4.00" height="133.33" />
<rect x="25.00" y="0.00" width="422.00" height="6.00" /> <rect x="25.00" y="0.00" width="422.00" height="6.00" />
<text x="236.00" y="154.73" text-anchor="middle" <text x="236.00" y="153.33" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0081 827 0998 0000 0200 28 101 276 B 0081 827 0998 0000 0200 28 101 276 B
</text> </text>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -38,22 +38,22 @@
<rect x="200.00" y="0.00" width="2.00" height="100.00" /> <rect x="200.00" y="0.00" width="2.00" height="100.00" />
<rect x="206.00" y="0.00" width="2.00" height="110.00" /> <rect x="206.00" y="0.00" width="2.00" height="110.00" />
<rect x="210.00" y="0.00" width="2.00" height="110.00" /> <rect x="210.00" y="0.00" width="2.00" height="110.00" />
<rect x="226.00" y="19.00" width="2.00" height="91.00" /> <rect x="226.00" y="16.90" width="2.00" height="93.10" />
<rect x="230.00" y="19.00" width="4.00" height="91.00" /> <rect x="230.00" y="16.90" width="4.00" height="93.10" />
<rect x="238.00" y="19.00" width="4.00" height="91.00" /> <rect x="238.00" y="16.90" width="4.00" height="93.10" />
<rect x="246.00" y="19.00" width="2.00" height="91.00" /> <rect x="246.00" y="16.90" width="2.00" height="93.10" />
<rect x="250.00" y="19.00" width="2.00" height="91.00" /> <rect x="250.00" y="16.90" width="2.00" height="93.10" />
<rect x="256.00" y="19.00" width="2.00" height="91.00" /> <rect x="256.00" y="16.90" width="2.00" height="93.10" />
<rect x="262.00" y="19.00" width="4.00" height="91.00" /> <rect x="262.00" y="16.90" width="4.00" height="93.10" />
<text x="12.00" y="116.00" text-anchor="end" <text x="12.20" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
9 9
</text> </text>
<text x="70.00" y="116.00" text-anchor="middle" <text x="71.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
771384 771384
</text> </text>
<text x="164.00" y="116.00" text-anchor="middle" <text x="163.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
524017 524017
</text> </text>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -38,31 +38,31 @@
<rect x="196.00" y="0.00" width="2.00" height="100.00" /> <rect x="196.00" y="0.00" width="2.00" height="100.00" />
<rect x="206.00" y="0.00" width="2.00" height="110.00" /> <rect x="206.00" y="0.00" width="2.00" height="110.00" />
<rect x="210.00" y="0.00" width="2.00" height="110.00" /> <rect x="210.00" y="0.00" width="2.00" height="110.00" />
<rect x="226.00" y="19.00" width="2.00" height="91.00" /> <rect x="226.00" y="16.90" width="2.00" height="93.10" />
<rect x="230.00" y="19.00" width="4.00" height="91.00" /> <rect x="230.00" y="16.90" width="4.00" height="93.10" />
<rect x="236.00" y="19.00" width="6.00" height="91.00" /> <rect x="236.00" y="16.90" width="6.00" height="93.10" />
<rect x="246.00" y="19.00" width="2.00" height="91.00" /> <rect x="246.00" y="16.90" width="2.00" height="93.10" />
<rect x="250.00" y="19.00" width="2.00" height="91.00" /> <rect x="250.00" y="16.90" width="2.00" height="93.10" />
<rect x="254.00" y="19.00" width="2.00" height="91.00" /> <rect x="254.00" y="16.90" width="2.00" height="93.10" />
<rect x="262.00" y="19.00" width="4.00" height="91.00" /> <rect x="262.00" y="16.90" width="4.00" height="93.10" />
<rect x="268.00" y="19.00" width="2.00" height="91.00" /> <rect x="268.00" y="16.90" width="2.00" height="93.10" />
<rect x="272.00" y="19.00" width="2.00" height="91.00" /> <rect x="272.00" y="16.90" width="2.00" height="93.10" />
<rect x="282.00" y="19.00" width="2.00" height="91.00" /> <rect x="282.00" y="16.90" width="2.00" height="93.10" />
<rect x="286.00" y="19.00" width="2.00" height="91.00" /> <rect x="286.00" y="16.90" width="2.00" height="93.10" />
<rect x="292.00" y="19.00" width="2.00" height="91.00" /> <rect x="292.00" y="16.90" width="2.00" height="93.10" />
<rect x="298.00" y="19.00" width="4.00" height="91.00" /> <rect x="298.00" y="16.90" width="4.00" height="93.10" />
<rect x="304.00" y="19.00" width="2.00" height="91.00" /> <rect x="304.00" y="16.90" width="2.00" height="93.10" />
<rect x="310.00" y="19.00" width="4.00" height="91.00" /> <rect x="310.00" y="16.90" width="4.00" height="93.10" />
<rect x="318.00" y="19.00" width="2.00" height="91.00" /> <rect x="318.00" y="16.90" width="2.00" height="93.10" />
<text x="12.00" y="116.00" text-anchor="end" <text x="12.20" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
9 9
</text> </text>
<text x="70.00" y="116.00" text-anchor="middle" <text x="71.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
780877 780877
</text> </text>
<text x="164.00" y="116.00" text-anchor="middle" <text x="163.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
799306 799306
</text> </text>

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -120,22 +120,22 @@
<rect x="198.00" y="28.00" width="2.00" height="72.00" /> <rect x="198.00" y="28.00" width="2.00" height="72.00" />
<rect x="204.00" y="28.00" width="2.00" height="72.00" /> <rect x="204.00" y="28.00" width="2.00" height="72.00" />
<rect x="212.00" y="28.00" width="2.00" height="82.00" /> <rect x="212.00" y="28.00" width="2.00" height="82.00" />
<rect x="232.00" y="47.00" width="2.00" height="63.00" /> <rect x="232.00" y="44.90" width="2.00" height="65.10" />
<rect x="236.00" y="47.00" width="4.00" height="63.00" /> <rect x="236.00" y="44.90" width="4.00" height="65.10" />
<rect x="244.00" y="47.00" width="4.00" height="63.00" /> <rect x="244.00" y="44.90" width="4.00" height="65.10" />
<rect x="252.00" y="47.00" width="2.00" height="63.00" /> <rect x="252.00" y="44.90" width="2.00" height="65.10" />
<rect x="256.00" y="47.00" width="2.00" height="63.00" /> <rect x="256.00" y="44.90" width="2.00" height="65.10" />
<rect x="262.00" y="47.00" width="2.00" height="63.00" /> <rect x="262.00" y="44.90" width="2.00" height="65.10" />
<rect x="268.00" y="47.00" width="4.00" height="63.00" /> <rect x="268.00" y="44.90" width="4.00" height="65.10" />
<text x="18.00" y="116.00" text-anchor="end" <text x="18.20" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
1 1
</text> </text>
<text x="76.00" y="116.00" text-anchor="middle" <text x="77.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
234567 234567
</text> </text>
<text x="170.00" y="116.00" text-anchor="middle" <text x="169.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
890128 890128
</text> </text>

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -118,31 +118,31 @@
<rect x="198.00" y="28.00" width="2.00" height="72.00" /> <rect x="198.00" y="28.00" width="2.00" height="72.00" />
<rect x="204.00" y="28.00" width="2.00" height="72.00" /> <rect x="204.00" y="28.00" width="2.00" height="72.00" />
<rect x="212.00" y="28.00" width="2.00" height="82.00" /> <rect x="212.00" y="28.00" width="2.00" height="82.00" />
<rect x="232.00" y="47.00" width="2.00" height="63.00" /> <rect x="232.00" y="44.90" width="2.00" height="65.10" />
<rect x="236.00" y="47.00" width="4.00" height="63.00" /> <rect x="236.00" y="44.90" width="4.00" height="65.10" />
<rect x="242.00" y="47.00" width="6.00" height="63.00" /> <rect x="242.00" y="44.90" width="6.00" height="65.10" />
<rect x="252.00" y="47.00" width="2.00" height="63.00" /> <rect x="252.00" y="44.90" width="2.00" height="65.10" />
<rect x="256.00" y="47.00" width="2.00" height="63.00" /> <rect x="256.00" y="44.90" width="2.00" height="65.10" />
<rect x="260.00" y="47.00" width="2.00" height="63.00" /> <rect x="260.00" y="44.90" width="2.00" height="65.10" />
<rect x="268.00" y="47.00" width="4.00" height="63.00" /> <rect x="268.00" y="44.90" width="4.00" height="65.10" />
<rect x="274.00" y="47.00" width="2.00" height="63.00" /> <rect x="274.00" y="44.90" width="2.00" height="65.10" />
<rect x="278.00" y="47.00" width="2.00" height="63.00" /> <rect x="278.00" y="44.90" width="2.00" height="65.10" />
<rect x="288.00" y="47.00" width="2.00" height="63.00" /> <rect x="288.00" y="44.90" width="2.00" height="65.10" />
<rect x="292.00" y="47.00" width="2.00" height="63.00" /> <rect x="292.00" y="44.90" width="2.00" height="65.10" />
<rect x="298.00" y="47.00" width="2.00" height="63.00" /> <rect x="298.00" y="44.90" width="2.00" height="65.10" />
<rect x="304.00" y="47.00" width="4.00" height="63.00" /> <rect x="304.00" y="44.90" width="4.00" height="65.10" />
<rect x="310.00" y="47.00" width="2.00" height="63.00" /> <rect x="310.00" y="44.90" width="2.00" height="65.10" />
<rect x="316.00" y="47.00" width="4.00" height="63.00" /> <rect x="316.00" y="44.90" width="4.00" height="65.10" />
<rect x="324.00" y="47.00" width="2.00" height="63.00" /> <rect x="324.00" y="44.90" width="2.00" height="65.10" />
<text x="18.00" y="116.00" text-anchor="end" <text x="18.20" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
1 1
</text> </text>
<text x="76.00" y="116.00" text-anchor="middle" <text x="77.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
234567 234567
</text> </text>
<text x="170.00" y="116.00" text-anchor="middle" <text x="169.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
890128 890128
</text> </text>

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -118,21 +118,21 @@
<rect x="198.00" y="28.00" width="2.00" height="72.00" /> <rect x="198.00" y="28.00" width="2.00" height="72.00" />
<rect x="204.00" y="28.00" width="2.00" height="72.00" /> <rect x="204.00" y="28.00" width="2.00" height="72.00" />
<rect x="212.00" y="28.00" width="2.00" height="82.00" /> <rect x="212.00" y="28.00" width="2.00" height="82.00" />
<rect x="232.00" y="47.00" width="2.00" height="63.00" /> <rect x="232.00" y="44.90" width="2.00" height="65.10" />
<rect x="236.00" y="47.00" width="4.00" height="63.00" /> <rect x="236.00" y="44.90" width="4.00" height="65.10" />
<rect x="242.00" y="47.00" width="6.00" height="63.00" /> <rect x="242.00" y="44.90" width="6.00" height="65.10" />
<rect x="252.00" y="47.00" width="2.00" height="63.00" /> <rect x="252.00" y="44.90" width="2.00" height="65.10" />
<rect x="256.00" y="47.00" width="2.00" height="63.00" /> <rect x="256.00" y="44.90" width="2.00" height="65.10" />
<rect x="260.00" y="47.00" width="2.00" height="63.00" /> <rect x="260.00" y="44.90" width="2.00" height="65.10" />
<rect x="268.00" y="47.00" width="4.00" height="63.00" /> <rect x="268.00" y="44.90" width="4.00" height="65.10" />
<rect x="274.00" y="47.00" width="2.00" height="63.00" /> <rect x="274.00" y="44.90" width="2.00" height="65.10" />
<rect x="278.00" y="47.00" width="2.00" height="63.00" /> <rect x="278.00" y="44.90" width="2.00" height="65.10" />
<rect x="288.00" y="47.00" width="2.00" height="63.00" /> <rect x="288.00" y="44.90" width="2.00" height="65.10" />
<rect x="292.00" y="47.00" width="2.00" height="63.00" /> <rect x="292.00" y="44.90" width="2.00" height="65.10" />
<rect x="298.00" y="47.00" width="2.00" height="63.00" /> <rect x="298.00" y="44.90" width="2.00" height="65.10" />
<rect x="304.00" y="47.00" width="4.00" height="63.00" /> <rect x="304.00" y="44.90" width="4.00" height="65.10" />
<rect x="310.00" y="47.00" width="2.00" height="63.00" /> <rect x="310.00" y="44.90" width="2.00" height="65.10" />
<rect x="316.00" y="47.00" width="4.00" height="63.00" /> <rect x="316.00" y="44.90" width="4.00" height="65.10" />
<rect x="324.00" y="47.00" width="2.00" height="63.00" /> <rect x="324.00" y="44.90" width="2.00" height="65.10" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -15,7 +15,7 @@
<rect x="38.00" y="0.00" width="2.00" height="100.00" /> <rect x="38.00" y="0.00" width="2.00" height="100.00" />
<rect x="44.00" y="0.00" width="2.00" height="100.00" /> <rect x="44.00" y="0.00" width="2.00" height="100.00" />
<rect x="50.00" y="0.00" width="4.00" height="100.00" /> <rect x="50.00" y="0.00" width="4.00" height="100.00" />
<text x="34.00" y="116.00" text-anchor="middle" <text x="34.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
12 12
</text> </text>

Before

Width:  |  Height:  |  Size: 966 B

After

Width:  |  Height:  |  Size: 966 B

View File

@ -24,7 +24,7 @@
<rect x="92.00" y="0.00" width="2.00" height="100.00" /> <rect x="92.00" y="0.00" width="2.00" height="100.00" />
<rect x="96.00" y="0.00" width="4.00" height="100.00" /> <rect x="96.00" y="0.00" width="4.00" height="100.00" />
<rect x="106.00" y="0.00" width="2.00" height="100.00" /> <rect x="106.00" y="0.00" width="2.00" height="100.00" />
<text x="61.00" y="116.00" text-anchor="middle" <text x="61.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
12345 12345
</text> </text>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -30,18 +30,18 @@
<rect x="138.00" y="0.00" width="2.00" height="100.00" /> <rect x="138.00" y="0.00" width="2.00" height="100.00" />
<rect x="142.00" y="0.00" width="2.00" height="110.00" /> <rect x="142.00" y="0.00" width="2.00" height="110.00" />
<rect x="146.00" y="0.00" width="2.00" height="110.00" /> <rect x="146.00" y="0.00" width="2.00" height="110.00" />
<rect x="162.00" y="19.00" width="2.00" height="91.00" /> <rect x="162.00" y="16.90" width="2.00" height="93.10" />
<rect x="166.00" y="19.00" width="4.00" height="91.00" /> <rect x="166.00" y="16.90" width="4.00" height="93.10" />
<rect x="174.00" y="19.00" width="4.00" height="91.00" /> <rect x="174.00" y="16.90" width="4.00" height="93.10" />
<rect x="182.00" y="19.00" width="2.00" height="91.00" /> <rect x="182.00" y="16.90" width="2.00" height="93.10" />
<rect x="186.00" y="19.00" width="2.00" height="91.00" /> <rect x="186.00" y="16.90" width="2.00" height="93.10" />
<rect x="192.00" y="19.00" width="2.00" height="91.00" /> <rect x="192.00" y="16.90" width="2.00" height="93.10" />
<rect x="198.00" y="19.00" width="4.00" height="91.00" /> <rect x="198.00" y="16.90" width="4.00" height="93.10" />
<text x="48.00" y="116.00" text-anchor="middle" <text x="49.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
1234 1234
</text> </text>
<text x="114.00" y="116.00" text-anchor="middle" <text x="113.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
5670 5670
</text> </text>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -30,27 +30,27 @@
<rect x="138.00" y="0.00" width="2.00" height="100.00" /> <rect x="138.00" y="0.00" width="2.00" height="100.00" />
<rect x="142.00" y="0.00" width="2.00" height="110.00" /> <rect x="142.00" y="0.00" width="2.00" height="110.00" />
<rect x="146.00" y="0.00" width="2.00" height="110.00" /> <rect x="146.00" y="0.00" width="2.00" height="110.00" />
<rect x="162.00" y="19.00" width="2.00" height="91.00" /> <rect x="162.00" y="16.90" width="2.00" height="93.10" />
<rect x="166.00" y="19.00" width="4.00" height="91.00" /> <rect x="166.00" y="16.90" width="4.00" height="93.10" />
<rect x="172.00" y="19.00" width="4.00" height="91.00" /> <rect x="172.00" y="16.90" width="4.00" height="93.10" />
<rect x="180.00" y="19.00" width="4.00" height="91.00" /> <rect x="180.00" y="16.90" width="4.00" height="93.10" />
<rect x="186.00" y="19.00" width="2.00" height="91.00" /> <rect x="186.00" y="16.90" width="2.00" height="93.10" />
<rect x="192.00" y="19.00" width="2.00" height="91.00" /> <rect x="192.00" y="16.90" width="2.00" height="93.10" />
<rect x="198.00" y="19.00" width="4.00" height="91.00" /> <rect x="198.00" y="16.90" width="4.00" height="93.10" />
<rect x="204.00" y="19.00" width="2.00" height="91.00" /> <rect x="204.00" y="16.90" width="2.00" height="93.10" />
<rect x="208.00" y="19.00" width="2.00" height="91.00" /> <rect x="208.00" y="16.90" width="2.00" height="93.10" />
<rect x="218.00" y="19.00" width="2.00" height="91.00" /> <rect x="218.00" y="16.90" width="2.00" height="93.10" />
<rect x="222.00" y="19.00" width="2.00" height="91.00" /> <rect x="222.00" y="16.90" width="2.00" height="93.10" />
<rect x="226.00" y="19.00" width="2.00" height="91.00" /> <rect x="226.00" y="16.90" width="2.00" height="93.10" />
<rect x="234.00" y="19.00" width="4.00" height="91.00" /> <rect x="234.00" y="16.90" width="4.00" height="93.10" />
<rect x="240.00" y="19.00" width="2.00" height="91.00" /> <rect x="240.00" y="16.90" width="2.00" height="93.10" />
<rect x="244.00" y="19.00" width="4.00" height="91.00" /> <rect x="244.00" y="16.90" width="4.00" height="93.10" />
<rect x="254.00" y="19.00" width="2.00" height="91.00" /> <rect x="254.00" y="16.90" width="2.00" height="93.10" />
<text x="48.00" y="116.00" text-anchor="middle" <text x="49.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
1234 1234
</text> </text>
<text x="114.00" y="116.00" text-anchor="middle" <text x="113.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
5670 5670
</text> </text>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -93,18 +93,18 @@
<rect x="136.00" y="28.00" width="6.00" height="72.00" /> <rect x="136.00" y="28.00" width="6.00" height="72.00" />
<rect x="146.00" y="28.00" width="2.00" height="72.00" /> <rect x="146.00" y="28.00" width="2.00" height="72.00" />
<rect x="150.00" y="28.00" width="2.00" height="82.00" /> <rect x="150.00" y="28.00" width="2.00" height="82.00" />
<rect x="170.00" y="47.00" width="2.00" height="63.00" /> <rect x="170.00" y="44.90" width="2.00" height="65.10" />
<rect x="174.00" y="47.00" width="4.00" height="63.00" /> <rect x="174.00" y="44.90" width="4.00" height="65.10" />
<rect x="180.00" y="47.00" width="2.00" height="63.00" /> <rect x="180.00" y="44.90" width="2.00" height="65.10" />
<rect x="184.00" y="47.00" width="8.00" height="63.00" /> <rect x="184.00" y="44.90" width="8.00" height="65.10" />
<rect x="194.00" y="47.00" width="2.00" height="63.00" /> <rect x="194.00" y="44.90" width="2.00" height="65.10" />
<rect x="198.00" y="47.00" width="6.00" height="63.00" /> <rect x="198.00" y="44.90" width="6.00" height="65.10" />
<rect x="208.00" y="47.00" width="2.00" height="63.00" /> <rect x="208.00" y="44.90" width="2.00" height="65.10" />
<text x="56.00" y="116.00" text-anchor="middle" <text x="57.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
9876 9876
</text> </text>
<text x="122.00" y="116.00" text-anchor="middle" <text x="121.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
5430 5430
</text> </text>

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -150,27 +150,27 @@
<rect x="156.00" y="44.00" width="6.00" height="56.00" /> <rect x="156.00" y="44.00" width="6.00" height="56.00" />
<rect x="166.00" y="44.00" width="2.00" height="56.00" /> <rect x="166.00" y="44.00" width="2.00" height="56.00" />
<rect x="170.00" y="44.00" width="2.00" height="66.00" /> <rect x="170.00" y="44.00" width="2.00" height="66.00" />
<rect x="190.00" y="63.00" width="2.00" height="47.00" /> <rect x="190.00" y="60.90" width="2.00" height="49.10" />
<rect x="194.00" y="63.00" width="4.00" height="47.00" /> <rect x="194.00" y="60.90" width="4.00" height="49.10" />
<rect x="200.00" y="63.00" width="6.00" height="47.00" /> <rect x="200.00" y="60.90" width="6.00" height="49.10" />
<rect x="208.00" y="63.00" width="4.00" height="47.00" /> <rect x="208.00" y="60.90" width="4.00" height="49.10" />
<rect x="214.00" y="63.00" width="2.00" height="47.00" /> <rect x="214.00" y="60.90" width="2.00" height="49.10" />
<rect x="220.00" y="63.00" width="6.00" height="47.00" /> <rect x="220.00" y="60.90" width="6.00" height="49.10" />
<rect x="228.00" y="63.00" width="2.00" height="47.00" /> <rect x="228.00" y="60.90" width="2.00" height="49.10" />
<rect x="232.00" y="63.00" width="2.00" height="47.00" /> <rect x="232.00" y="60.90" width="2.00" height="49.10" />
<rect x="240.00" y="63.00" width="4.00" height="47.00" /> <rect x="240.00" y="60.90" width="4.00" height="49.10" />
<rect x="246.00" y="63.00" width="2.00" height="47.00" /> <rect x="246.00" y="60.90" width="2.00" height="49.10" />
<rect x="250.00" y="63.00" width="2.00" height="47.00" /> <rect x="250.00" y="60.90" width="2.00" height="49.10" />
<rect x="254.00" y="63.00" width="4.00" height="47.00" /> <rect x="254.00" y="60.90" width="4.00" height="49.10" />
<rect x="260.00" y="63.00" width="6.00" height="47.00" /> <rect x="260.00" y="60.90" width="6.00" height="49.10" />
<rect x="268.00" y="63.00" width="2.00" height="47.00" /> <rect x="268.00" y="60.90" width="2.00" height="49.10" />
<rect x="272.00" y="63.00" width="2.00" height="47.00" /> <rect x="272.00" y="60.90" width="2.00" height="49.10" />
<rect x="282.00" y="63.00" width="2.00" height="47.00" /> <rect x="282.00" y="60.90" width="2.00" height="49.10" />
<text x="76.00" y="116.00" text-anchor="middle" <text x="77.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
9876 9876
</text> </text>
<text x="142.00" y="116.00" text-anchor="middle" <text x="141.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
5430 5430
</text> </text>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -244,7 +244,7 @@
<rect x="332.00" y="32.00" width="6.00" height="68.00" /> <rect x="332.00" y="32.00" width="6.00" height="68.00" />
<rect x="340.00" y="32.00" width="2.00" height="68.00" /> <rect x="340.00" y="32.00" width="2.00" height="68.00" />
<rect x="344.00" y="32.00" width="4.00" height="68.00" /> <rect x="344.00" y="32.00" width="4.00" height="68.00" />
<text x="174.00" y="115.40" text-anchor="middle" <text x="174.00" y="114.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
(00)030123456789012340 (00)030123456789012340
</text> </text>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -30,8 +30,8 @@
<rect x="10.00" y="18.90" width="2.00" height="1.00" /> <rect x="10.00" y="18.90" width="2.00" height="1.00" />
<rect x="6.00" y="18.90" width="2.00" height="1.00" /> <rect x="6.00" y="18.90" width="2.00" height="1.00" />
<rect x="2.00" y="18.90" width="2.00" height="1.00" /> <rect x="2.00" y="18.90" width="2.00" height="1.00" />
<text x="64.00" y="3.50" text-anchor="middle" <text x="64.00" y="4.90" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(180,64.00,3.50)" > font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(180,64.00,4.90)" >
A A
</text> </text>
</g> </g>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -38,26 +38,26 @@
<rect x="194.00" y="0.00" width="6.00" height="110.00" /> <rect x="194.00" y="0.00" width="6.00" height="110.00" />
<rect x="202.00" y="0.00" width="2.00" height="110.00" /> <rect x="202.00" y="0.00" width="2.00" height="110.00" />
<rect x="206.00" y="0.00" width="2.00" height="110.00" /> <rect x="206.00" y="0.00" width="2.00" height="110.00" />
<rect x="226.00" y="19.00" width="2.00" height="81.00" /> <rect x="226.00" y="16.90" width="2.00" height="83.10" />
<rect x="230.00" y="19.00" width="4.00" height="81.00" /> <rect x="230.00" y="16.90" width="4.00" height="83.10" />
<rect x="238.00" y="19.00" width="2.00" height="81.00" /> <rect x="238.00" y="16.90" width="2.00" height="83.10" />
<rect x="244.00" y="19.00" width="4.00" height="81.00" /> <rect x="244.00" y="16.90" width="4.00" height="83.10" />
<rect x="250.00" y="19.00" width="2.00" height="81.00" /> <rect x="250.00" y="16.90" width="2.00" height="83.10" />
<rect x="254.00" y="19.00" width="2.00" height="81.00" /> <rect x="254.00" y="16.90" width="2.00" height="83.10" />
<rect x="262.00" y="19.00" width="4.00" height="81.00" /> <rect x="262.00" y="16.90" width="4.00" height="83.10" />
<text x="8.00" y="116.00" text-anchor="end" <text x="8.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0 0
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="74.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
12345 12345
</text> </text>
<text x="152.00" y="116.00" text-anchor="middle" <text x="152.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
67890 67890
</text> </text>
<text x="218.00" y="116.00" text-anchor="start" <text x="217.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
5 5
</text> </text>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -38,35 +38,35 @@
<rect x="196.00" y="0.00" width="2.00" height="110.00" /> <rect x="196.00" y="0.00" width="2.00" height="110.00" />
<rect x="202.00" y="0.00" width="2.00" height="110.00" /> <rect x="202.00" y="0.00" width="2.00" height="110.00" />
<rect x="206.00" y="0.00" width="2.00" height="110.00" /> <rect x="206.00" y="0.00" width="2.00" height="110.00" />
<rect x="226.00" y="19.00" width="2.00" height="81.00" /> <rect x="226.00" y="16.90" width="2.00" height="83.10" />
<rect x="230.00" y="19.00" width="4.00" height="81.00" /> <rect x="230.00" y="16.90" width="4.00" height="83.10" />
<rect x="236.00" y="19.00" width="4.00" height="81.00" /> <rect x="236.00" y="16.90" width="4.00" height="83.10" />
<rect x="244.00" y="19.00" width="4.00" height="81.00" /> <rect x="244.00" y="16.90" width="4.00" height="83.10" />
<rect x="250.00" y="19.00" width="2.00" height="81.00" /> <rect x="250.00" y="16.90" width="2.00" height="83.10" />
<rect x="256.00" y="19.00" width="2.00" height="81.00" /> <rect x="256.00" y="16.90" width="2.00" height="83.10" />
<rect x="262.00" y="19.00" width="4.00" height="81.00" /> <rect x="262.00" y="16.90" width="4.00" height="83.10" />
<rect x="268.00" y="19.00" width="2.00" height="81.00" /> <rect x="268.00" y="16.90" width="2.00" height="83.10" />
<rect x="272.00" y="19.00" width="2.00" height="81.00" /> <rect x="272.00" y="16.90" width="2.00" height="83.10" />
<rect x="282.00" y="19.00" width="2.00" height="81.00" /> <rect x="282.00" y="16.90" width="2.00" height="83.10" />
<rect x="286.00" y="19.00" width="2.00" height="81.00" /> <rect x="286.00" y="16.90" width="2.00" height="83.10" />
<rect x="290.00" y="19.00" width="2.00" height="81.00" /> <rect x="290.00" y="16.90" width="2.00" height="83.10" />
<rect x="298.00" y="19.00" width="4.00" height="81.00" /> <rect x="298.00" y="16.90" width="4.00" height="83.10" />
<rect x="304.00" y="19.00" width="2.00" height="81.00" /> <rect x="304.00" y="16.90" width="2.00" height="83.10" />
<rect x="308.00" y="19.00" width="4.00" height="81.00" /> <rect x="308.00" y="16.90" width="4.00" height="83.10" />
<rect x="318.00" y="19.00" width="2.00" height="81.00" /> <rect x="318.00" y="16.90" width="2.00" height="83.10" />
<text x="8.00" y="116.00" text-anchor="end" <text x="8.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
6 6
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="74.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
14141 14141
</text> </text>
<text x="152.00" y="116.00" text-anchor="middle" <text x="152.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
23441 23441
</text> </text>
<text x="218.00" y="116.00" text-anchor="start" <text x="217.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
7 7
</text> </text>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -38,37 +38,37 @@
<rect x="196.00" y="6.00" width="2.00" height="110.00" /> <rect x="196.00" y="6.00" width="2.00" height="110.00" />
<rect x="202.00" y="6.00" width="2.00" height="110.00" /> <rect x="202.00" y="6.00" width="2.00" height="110.00" />
<rect x="206.00" y="6.00" width="2.00" height="110.00" /> <rect x="206.00" y="6.00" width="2.00" height="110.00" />
<rect x="226.00" y="25.00" width="2.00" height="81.00" /> <rect x="226.00" y="22.90" width="2.00" height="83.10" />
<rect x="230.00" y="25.00" width="4.00" height="81.00" /> <rect x="230.00" y="22.90" width="4.00" height="83.10" />
<rect x="236.00" y="25.00" width="4.00" height="81.00" /> <rect x="236.00" y="22.90" width="4.00" height="83.10" />
<rect x="244.00" y="25.00" width="4.00" height="81.00" /> <rect x="244.00" y="22.90" width="4.00" height="83.10" />
<rect x="250.00" y="25.00" width="2.00" height="81.00" /> <rect x="250.00" y="22.90" width="2.00" height="83.10" />
<rect x="256.00" y="25.00" width="2.00" height="81.00" /> <rect x="256.00" y="22.90" width="2.00" height="83.10" />
<rect x="262.00" y="25.00" width="4.00" height="81.00" /> <rect x="262.00" y="22.90" width="4.00" height="83.10" />
<rect x="268.00" y="25.00" width="2.00" height="81.00" /> <rect x="268.00" y="22.90" width="2.00" height="83.10" />
<rect x="272.00" y="25.00" width="2.00" height="81.00" /> <rect x="272.00" y="22.90" width="2.00" height="83.10" />
<rect x="282.00" y="25.00" width="2.00" height="81.00" /> <rect x="282.00" y="22.90" width="2.00" height="83.10" />
<rect x="286.00" y="25.00" width="2.00" height="81.00" /> <rect x="286.00" y="22.90" width="2.00" height="83.10" />
<rect x="290.00" y="25.00" width="2.00" height="81.00" /> <rect x="290.00" y="22.90" width="2.00" height="83.10" />
<rect x="298.00" y="25.00" width="4.00" height="81.00" /> <rect x="298.00" y="22.90" width="4.00" height="83.10" />
<rect x="304.00" y="25.00" width="2.00" height="81.00" /> <rect x="304.00" y="22.90" width="2.00" height="83.10" />
<rect x="308.00" y="25.00" width="4.00" height="81.00" /> <rect x="308.00" y="22.90" width="4.00" height="83.10" />
<rect x="318.00" y="25.00" width="2.00" height="81.00" /> <rect x="318.00" y="22.90" width="2.00" height="83.10" />
<rect x="0.00" y="0.00" width="330.00" height="6.00" /> <rect x="0.00" y="0.00" width="330.00" height="6.00" />
<rect x="0.00" y="106.00" width="330.00" height="6.00" /> <rect x="0.00" y="106.00" width="330.00" height="6.00" />
<text x="8.00" y="128.00" text-anchor="end" <text x="8.70" y="128.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
6 6
</text> </text>
<text x="72.00" y="128.00" text-anchor="middle" <text x="74.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
14141 14141
</text> </text>
<text x="152.00" y="128.00" text-anchor="middle" <text x="152.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
23441 23441
</text> </text>
<text x="218.00" y="128.00" text-anchor="start" <text x="217.30" y="128.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
7 7
</text> </text>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -1,13 +1,13 @@
<?xml version="1.0" standalone="no"?> <?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="330" height="112" version="1.1" <svg width="330" height="113" version="1.1"
xmlns="http://www.w3.org/2000/svg"> xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol <desc>Zint Generated Symbol
</desc> </desc>
<g id="barcode" fill="#000000"> <g id="barcode" fill="#000000">
<rect x="0" y="0" width="330" height="112" fill="#FFFFFF" /> <rect x="0" y="0" width="330" height="113" fill="#FFFFFF" />
<rect x="18.00" y="0.00" width="2.00" height="110.00" /> <rect x="18.00" y="0.00" width="2.00" height="110.00" />
<rect x="22.00" y="0.00" width="2.00" height="110.00" /> <rect x="22.00" y="0.00" width="2.00" height="110.00" />
<rect x="26.00" y="0.00" width="2.00" height="110.00" /> <rect x="26.00" y="0.00" width="2.00" height="110.00" />
@ -38,40 +38,40 @@
<rect x="196.00" y="0.00" width="2.00" height="110.00" /> <rect x="196.00" y="0.00" width="2.00" height="110.00" />
<rect x="202.00" y="0.00" width="2.00" height="110.00" /> <rect x="202.00" y="0.00" width="2.00" height="110.00" />
<rect x="206.00" y="0.00" width="2.00" height="110.00" /> <rect x="206.00" y="0.00" width="2.00" height="110.00" />
<rect x="226.00" y="13.00" width="2.00" height="87.00" /> <rect x="226.00" y="12.28" width="2.00" height="87.72" />
<rect x="230.00" y="13.00" width="4.00" height="87.00" /> <rect x="230.00" y="12.28" width="4.00" height="87.72" />
<rect x="236.00" y="13.00" width="4.00" height="87.00" /> <rect x="236.00" y="12.28" width="4.00" height="87.72" />
<rect x="244.00" y="13.00" width="4.00" height="87.00" /> <rect x="244.00" y="12.28" width="4.00" height="87.72" />
<rect x="250.00" y="13.00" width="2.00" height="87.00" /> <rect x="250.00" y="12.28" width="2.00" height="87.72" />
<rect x="256.00" y="13.00" width="2.00" height="87.00" /> <rect x="256.00" y="12.28" width="2.00" height="87.72" />
<rect x="262.00" y="13.00" width="4.00" height="87.00" /> <rect x="262.00" y="12.28" width="4.00" height="87.72" />
<rect x="268.00" y="13.00" width="2.00" height="87.00" /> <rect x="268.00" y="12.28" width="2.00" height="87.72" />
<rect x="272.00" y="13.00" width="2.00" height="87.00" /> <rect x="272.00" y="12.28" width="2.00" height="87.72" />
<rect x="282.00" y="13.00" width="2.00" height="87.00" /> <rect x="282.00" y="12.28" width="2.00" height="87.72" />
<rect x="286.00" y="13.00" width="2.00" height="87.00" /> <rect x="286.00" y="12.28" width="2.00" height="87.72" />
<rect x="290.00" y="13.00" width="2.00" height="87.00" /> <rect x="290.00" y="12.28" width="2.00" height="87.72" />
<rect x="298.00" y="13.00" width="4.00" height="87.00" /> <rect x="298.00" y="12.28" width="4.00" height="87.72" />
<rect x="304.00" y="13.00" width="2.00" height="87.00" /> <rect x="304.00" y="12.28" width="2.00" height="87.72" />
<rect x="308.00" y="13.00" width="4.00" height="87.00" /> <rect x="308.00" y="12.28" width="4.00" height="87.72" />
<rect x="318.00" y="13.00" width="2.00" height="87.00" /> <rect x="318.00" y="12.28" width="2.00" height="87.72" />
<text x="8.00" y="111.50" text-anchor="end" <text x="8.70" y="111.72" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="12.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="12.0" >
6 6
</text> </text>
<text x="72.00" y="111.50" text-anchor="middle" <text x="74.00" y="111.72" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" >
14141 14141
</text> </text>
<text x="152.00" y="111.50" text-anchor="middle" <text x="152.00" y="111.72" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" >
23441 23441
</text> </text>
<text x="218.00" y="111.50" text-anchor="start" <text x="217.30" y="111.72" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="12.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="12.0" >
7 7
</text> </text>
<text x="274.00" y="10.50" text-anchor="middle" <text x="274.00" y="10.50" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" font-weight="bold" > font-family="Helvetica, sans-serif" font-size="14.0" >
12345 12345
</text> </text>
</g> </g>

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -103,26 +103,26 @@
<rect x="194.00" y="24.00" width="4.00" height="86.00" /> <rect x="194.00" y="24.00" width="4.00" height="86.00" />
<rect x="200.00" y="24.00" width="4.00" height="86.00" /> <rect x="200.00" y="24.00" width="4.00" height="86.00" />
<rect x="208.00" y="24.00" width="2.00" height="86.00" /> <rect x="208.00" y="24.00" width="2.00" height="86.00" />
<rect x="232.00" y="43.00" width="2.00" height="57.00" /> <rect x="232.00" y="40.90" width="2.00" height="59.10" />
<rect x="236.00" y="43.00" width="4.00" height="57.00" /> <rect x="236.00" y="40.90" width="4.00" height="59.10" />
<rect x="244.00" y="43.00" width="4.00" height="57.00" /> <rect x="244.00" y="40.90" width="4.00" height="59.10" />
<rect x="252.00" y="43.00" width="2.00" height="57.00" /> <rect x="252.00" y="40.90" width="2.00" height="59.10" />
<rect x="256.00" y="43.00" width="2.00" height="57.00" /> <rect x="256.00" y="40.90" width="2.00" height="59.10" />
<rect x="262.00" y="43.00" width="2.00" height="57.00" /> <rect x="262.00" y="40.90" width="2.00" height="59.10" />
<rect x="268.00" y="43.00" width="4.00" height="57.00" /> <rect x="268.00" y="40.90" width="4.00" height="59.10" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="78.00" y="116.00" text-anchor="middle" <text x="80.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
23456 23456
</text> </text>
<text x="158.00" y="116.00" text-anchor="middle" <text x="158.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
78901 78901
</text> </text>
<text x="224.00" y="116.00" text-anchor="start" <text x="223.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
2 2
</text> </text>

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -118,35 +118,35 @@
<rect x="194.00" y="28.00" width="4.00" height="82.00" /> <rect x="194.00" y="28.00" width="4.00" height="82.00" />
<rect x="200.00" y="28.00" width="4.00" height="82.00" /> <rect x="200.00" y="28.00" width="4.00" height="82.00" />
<rect x="208.00" y="28.00" width="2.00" height="82.00" /> <rect x="208.00" y="28.00" width="2.00" height="82.00" />
<rect x="232.00" y="47.00" width="2.00" height="53.00" /> <rect x="232.00" y="44.90" width="2.00" height="55.10" />
<rect x="236.00" y="47.00" width="4.00" height="53.00" /> <rect x="236.00" y="44.90" width="4.00" height="55.10" />
<rect x="244.00" y="47.00" width="4.00" height="53.00" /> <rect x="244.00" y="44.90" width="4.00" height="55.10" />
<rect x="252.00" y="47.00" width="2.00" height="53.00" /> <rect x="252.00" y="44.90" width="2.00" height="55.10" />
<rect x="256.00" y="47.00" width="2.00" height="53.00" /> <rect x="256.00" y="44.90" width="2.00" height="55.10" />
<rect x="262.00" y="47.00" width="2.00" height="53.00" /> <rect x="262.00" y="44.90" width="2.00" height="55.10" />
<rect x="268.00" y="47.00" width="4.00" height="53.00" /> <rect x="268.00" y="44.90" width="4.00" height="55.10" />
<rect x="274.00" y="47.00" width="2.00" height="53.00" /> <rect x="274.00" y="44.90" width="2.00" height="55.10" />
<rect x="278.00" y="47.00" width="4.00" height="53.00" /> <rect x="278.00" y="44.90" width="4.00" height="55.10" />
<rect x="286.00" y="47.00" width="4.00" height="53.00" /> <rect x="286.00" y="44.90" width="4.00" height="55.10" />
<rect x="292.00" y="47.00" width="2.00" height="53.00" /> <rect x="292.00" y="44.90" width="2.00" height="55.10" />
<rect x="298.00" y="47.00" width="4.00" height="53.00" /> <rect x="298.00" y="44.90" width="4.00" height="55.10" />
<rect x="304.00" y="47.00" width="4.00" height="53.00" /> <rect x="304.00" y="44.90" width="4.00" height="55.10" />
<rect x="310.00" y="47.00" width="2.00" height="53.00" /> <rect x="310.00" y="44.90" width="2.00" height="55.10" />
<rect x="316.00" y="47.00" width="4.00" height="53.00" /> <rect x="316.00" y="44.90" width="4.00" height="55.10" />
<rect x="324.00" y="47.00" width="2.00" height="53.00" /> <rect x="324.00" y="44.90" width="2.00" height="55.10" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="78.00" y="116.00" text-anchor="middle" <text x="80.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
23456 23456
</text> </text>
<text x="158.00" y="116.00" text-anchor="middle" <text x="158.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
78901 78901
</text> </text>
<text x="224.00" y="116.00" text-anchor="start" <text x="223.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
2 2
</text> </text>

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -118,37 +118,37 @@
<rect x="194.00" y="34.00" width="4.00" height="82.00" /> <rect x="194.00" y="34.00" width="4.00" height="82.00" />
<rect x="200.00" y="34.00" width="4.00" height="82.00" /> <rect x="200.00" y="34.00" width="4.00" height="82.00" />
<rect x="208.00" y="34.00" width="2.00" height="82.00" /> <rect x="208.00" y="34.00" width="2.00" height="82.00" />
<rect x="232.00" y="53.00" width="2.00" height="53.00" /> <rect x="232.00" y="50.90" width="2.00" height="55.10" />
<rect x="236.00" y="53.00" width="4.00" height="53.00" /> <rect x="236.00" y="50.90" width="4.00" height="55.10" />
<rect x="244.00" y="53.00" width="4.00" height="53.00" /> <rect x="244.00" y="50.90" width="4.00" height="55.10" />
<rect x="252.00" y="53.00" width="2.00" height="53.00" /> <rect x="252.00" y="50.90" width="2.00" height="55.10" />
<rect x="256.00" y="53.00" width="2.00" height="53.00" /> <rect x="256.00" y="50.90" width="2.00" height="55.10" />
<rect x="262.00" y="53.00" width="2.00" height="53.00" /> <rect x="262.00" y="50.90" width="2.00" height="55.10" />
<rect x="268.00" y="53.00" width="4.00" height="53.00" /> <rect x="268.00" y="50.90" width="4.00" height="55.10" />
<rect x="274.00" y="53.00" width="2.00" height="53.00" /> <rect x="274.00" y="50.90" width="2.00" height="55.10" />
<rect x="278.00" y="53.00" width="4.00" height="53.00" /> <rect x="278.00" y="50.90" width="4.00" height="55.10" />
<rect x="286.00" y="53.00" width="4.00" height="53.00" /> <rect x="286.00" y="50.90" width="4.00" height="55.10" />
<rect x="292.00" y="53.00" width="2.00" height="53.00" /> <rect x="292.00" y="50.90" width="2.00" height="55.10" />
<rect x="298.00" y="53.00" width="4.00" height="53.00" /> <rect x="298.00" y="50.90" width="4.00" height="55.10" />
<rect x="304.00" y="53.00" width="4.00" height="53.00" /> <rect x="304.00" y="50.90" width="4.00" height="55.10" />
<rect x="310.00" y="53.00" width="2.00" height="53.00" /> <rect x="310.00" y="50.90" width="2.00" height="55.10" />
<rect x="316.00" y="53.00" width="4.00" height="53.00" /> <rect x="316.00" y="50.90" width="4.00" height="55.10" />
<rect x="324.00" y="53.00" width="2.00" height="53.00" /> <rect x="324.00" y="50.90" width="2.00" height="55.10" />
<rect x="0.00" y="0.00" width="338.00" height="6.00" /> <rect x="0.00" y="0.00" width="338.00" height="6.00" />
<rect x="0.00" y="106.00" width="338.00" height="6.00" /> <rect x="0.00" y="106.00" width="338.00" height="6.00" />
<text x="14.00" y="128.00" text-anchor="end" <text x="14.70" y="128.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="78.00" y="128.00" text-anchor="middle" <text x="80.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
23456 23456
</text> </text>
<text x="158.00" y="128.00" text-anchor="middle" <text x="158.00" y="128.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
78901 78901
</text> </text>
<text x="224.00" y="128.00" text-anchor="start" <text x="223.30" y="128.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
2 2
</text> </text>

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -118,21 +118,21 @@
<rect x="194.00" y="28.00" width="4.00" height="82.00" /> <rect x="194.00" y="28.00" width="4.00" height="82.00" />
<rect x="200.00" y="28.00" width="4.00" height="82.00" /> <rect x="200.00" y="28.00" width="4.00" height="82.00" />
<rect x="208.00" y="28.00" width="2.00" height="82.00" /> <rect x="208.00" y="28.00" width="2.00" height="82.00" />
<rect x="232.00" y="47.00" width="2.00" height="53.00" /> <rect x="232.00" y="44.90" width="2.00" height="55.10" />
<rect x="236.00" y="47.00" width="4.00" height="53.00" /> <rect x="236.00" y="44.90" width="4.00" height="55.10" />
<rect x="244.00" y="47.00" width="4.00" height="53.00" /> <rect x="244.00" y="44.90" width="4.00" height="55.10" />
<rect x="252.00" y="47.00" width="2.00" height="53.00" /> <rect x="252.00" y="44.90" width="2.00" height="55.10" />
<rect x="256.00" y="47.00" width="2.00" height="53.00" /> <rect x="256.00" y="44.90" width="2.00" height="55.10" />
<rect x="262.00" y="47.00" width="2.00" height="53.00" /> <rect x="262.00" y="44.90" width="2.00" height="55.10" />
<rect x="268.00" y="47.00" width="4.00" height="53.00" /> <rect x="268.00" y="44.90" width="4.00" height="55.10" />
<rect x="274.00" y="47.00" width="2.00" height="53.00" /> <rect x="274.00" y="44.90" width="2.00" height="55.10" />
<rect x="278.00" y="47.00" width="4.00" height="53.00" /> <rect x="278.00" y="44.90" width="4.00" height="55.10" />
<rect x="286.00" y="47.00" width="4.00" height="53.00" /> <rect x="286.00" y="44.90" width="4.00" height="55.10" />
<rect x="292.00" y="47.00" width="2.00" height="53.00" /> <rect x="292.00" y="44.90" width="2.00" height="55.10" />
<rect x="298.00" y="47.00" width="4.00" height="53.00" /> <rect x="298.00" y="44.90" width="4.00" height="55.10" />
<rect x="304.00" y="47.00" width="4.00" height="53.00" /> <rect x="304.00" y="44.90" width="4.00" height="55.10" />
<rect x="310.00" y="47.00" width="2.00" height="53.00" /> <rect x="310.00" y="44.90" width="2.00" height="55.10" />
<rect x="316.00" y="47.00" width="4.00" height="53.00" /> <rect x="316.00" y="44.90" width="4.00" height="55.10" />
<rect x="324.00" y="47.00" width="2.00" height="53.00" /> <rect x="324.00" y="44.90" width="2.00" height="55.10" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -25,22 +25,22 @@
<rect x="110.00" y="0.00" width="2.00" height="110.00" /> <rect x="110.00" y="0.00" width="2.00" height="110.00" />
<rect x="114.00" y="0.00" width="2.00" height="110.00" /> <rect x="114.00" y="0.00" width="2.00" height="110.00" />
<rect x="118.00" y="0.00" width="2.00" height="110.00" /> <rect x="118.00" y="0.00" width="2.00" height="110.00" />
<rect x="134.00" y="19.00" width="2.00" height="81.00" /> <rect x="134.00" y="16.90" width="2.00" height="83.10" />
<rect x="138.00" y="19.00" width="4.00" height="81.00" /> <rect x="138.00" y="16.90" width="4.00" height="83.10" />
<rect x="146.00" y="19.00" width="4.00" height="81.00" /> <rect x="146.00" y="16.90" width="4.00" height="83.10" />
<rect x="154.00" y="19.00" width="2.00" height="81.00" /> <rect x="154.00" y="16.90" width="2.00" height="83.10" />
<rect x="158.00" y="19.00" width="2.00" height="81.00" /> <rect x="158.00" y="16.90" width="2.00" height="83.10" />
<rect x="164.00" y="19.00" width="2.00" height="81.00" /> <rect x="164.00" y="16.90" width="2.00" height="83.10" />
<rect x="170.00" y="19.00" width="4.00" height="81.00" /> <rect x="170.00" y="16.90" width="4.00" height="83.10" />
<text x="8.00" y="116.00" text-anchor="end" <text x="8.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="66.00" y="116.00" text-anchor="middle" <text x="67.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
234567 234567
</text> </text>
<text x="126.00" y="116.00" text-anchor="start" <text x="125.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0 0
</text> </text>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -25,31 +25,31 @@
<rect x="110.00" y="0.00" width="2.00" height="110.00" /> <rect x="110.00" y="0.00" width="2.00" height="110.00" />
<rect x="114.00" y="0.00" width="2.00" height="110.00" /> <rect x="114.00" y="0.00" width="2.00" height="110.00" />
<rect x="118.00" y="0.00" width="2.00" height="110.00" /> <rect x="118.00" y="0.00" width="2.00" height="110.00" />
<rect x="134.00" y="19.00" width="2.00" height="81.00" /> <rect x="134.00" y="16.90" width="2.00" height="83.10" />
<rect x="138.00" y="19.00" width="4.00" height="81.00" /> <rect x="138.00" y="16.90" width="4.00" height="83.10" />
<rect x="144.00" y="19.00" width="4.00" height="81.00" /> <rect x="144.00" y="16.90" width="4.00" height="83.10" />
<rect x="152.00" y="19.00" width="4.00" height="81.00" /> <rect x="152.00" y="16.90" width="4.00" height="83.10" />
<rect x="158.00" y="19.00" width="2.00" height="81.00" /> <rect x="158.00" y="16.90" width="2.00" height="83.10" />
<rect x="164.00" y="19.00" width="2.00" height="81.00" /> <rect x="164.00" y="16.90" width="2.00" height="83.10" />
<rect x="170.00" y="19.00" width="4.00" height="81.00" /> <rect x="170.00" y="16.90" width="4.00" height="83.10" />
<rect x="176.00" y="19.00" width="2.00" height="81.00" /> <rect x="176.00" y="16.90" width="2.00" height="83.10" />
<rect x="180.00" y="19.00" width="2.00" height="81.00" /> <rect x="180.00" y="16.90" width="2.00" height="83.10" />
<rect x="190.00" y="19.00" width="2.00" height="81.00" /> <rect x="190.00" y="16.90" width="2.00" height="83.10" />
<rect x="194.00" y="19.00" width="2.00" height="81.00" /> <rect x="194.00" y="16.90" width="2.00" height="83.10" />
<rect x="198.00" y="19.00" width="2.00" height="81.00" /> <rect x="198.00" y="16.90" width="2.00" height="83.10" />
<rect x="206.00" y="19.00" width="4.00" height="81.00" /> <rect x="206.00" y="16.90" width="4.00" height="83.10" />
<rect x="212.00" y="19.00" width="2.00" height="81.00" /> <rect x="212.00" y="16.90" width="2.00" height="83.10" />
<rect x="216.00" y="19.00" width="4.00" height="81.00" /> <rect x="216.00" y="16.90" width="4.00" height="83.10" />
<rect x="226.00" y="19.00" width="2.00" height="81.00" /> <rect x="226.00" y="16.90" width="2.00" height="83.10" />
<text x="8.00" y="116.00" text-anchor="end" <text x="8.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="66.00" y="116.00" text-anchor="middle" <text x="67.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
234567 234567
</text> </text>
<text x="126.00" y="116.00" text-anchor="start" <text x="125.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0 0
</text> </text>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -25,21 +25,21 @@
<rect x="110.00" y="0.00" width="2.00" height="110.00" /> <rect x="110.00" y="0.00" width="2.00" height="110.00" />
<rect x="114.00" y="0.00" width="2.00" height="110.00" /> <rect x="114.00" y="0.00" width="2.00" height="110.00" />
<rect x="118.00" y="0.00" width="2.00" height="110.00" /> <rect x="118.00" y="0.00" width="2.00" height="110.00" />
<rect x="134.00" y="19.00" width="2.00" height="81.00" /> <rect x="134.00" y="16.90" width="2.00" height="83.10" />
<rect x="138.00" y="19.00" width="4.00" height="81.00" /> <rect x="138.00" y="16.90" width="4.00" height="83.10" />
<rect x="144.00" y="19.00" width="4.00" height="81.00" /> <rect x="144.00" y="16.90" width="4.00" height="83.10" />
<rect x="152.00" y="19.00" width="4.00" height="81.00" /> <rect x="152.00" y="16.90" width="4.00" height="83.10" />
<rect x="158.00" y="19.00" width="2.00" height="81.00" /> <rect x="158.00" y="16.90" width="2.00" height="83.10" />
<rect x="164.00" y="19.00" width="2.00" height="81.00" /> <rect x="164.00" y="16.90" width="2.00" height="83.10" />
<rect x="170.00" y="19.00" width="4.00" height="81.00" /> <rect x="170.00" y="16.90" width="4.00" height="83.10" />
<rect x="176.00" y="19.00" width="2.00" height="81.00" /> <rect x="176.00" y="16.90" width="2.00" height="83.10" />
<rect x="180.00" y="19.00" width="2.00" height="81.00" /> <rect x="180.00" y="16.90" width="2.00" height="83.10" />
<rect x="190.00" y="19.00" width="2.00" height="81.00" /> <rect x="190.00" y="16.90" width="2.00" height="83.10" />
<rect x="194.00" y="19.00" width="2.00" height="81.00" /> <rect x="194.00" y="16.90" width="2.00" height="83.10" />
<rect x="198.00" y="19.00" width="2.00" height="81.00" /> <rect x="198.00" y="16.90" width="2.00" height="83.10" />
<rect x="206.00" y="19.00" width="4.00" height="81.00" /> <rect x="206.00" y="16.90" width="4.00" height="83.10" />
<rect x="212.00" y="19.00" width="2.00" height="81.00" /> <rect x="212.00" y="16.90" width="2.00" height="83.10" />
<rect x="216.00" y="19.00" width="4.00" height="81.00" /> <rect x="216.00" y="16.90" width="4.00" height="83.10" />
<rect x="226.00" y="19.00" width="2.00" height="81.00" /> <rect x="226.00" y="16.90" width="2.00" height="83.10" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,13 +1,13 @@
<?xml version="1.0" standalone="no"?> <?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="238" height="112" version="1.1" <svg width="238" height="113" version="1.1"
xmlns="http://www.w3.org/2000/svg"> xmlns="http://www.w3.org/2000/svg">
<desc>Zint Generated Symbol <desc>Zint Generated Symbol
</desc> </desc>
<g id="barcode" fill="#000000"> <g id="barcode" fill="#000000">
<rect x="0" y="0" width="238" height="112" fill="#FFFFFF" /> <rect x="0" y="0" width="238" height="113" fill="#FFFFFF" />
<rect x="18.00" y="0.00" width="2.00" height="110.00" /> <rect x="18.00" y="0.00" width="2.00" height="110.00" />
<rect x="22.00" y="0.00" width="2.00" height="110.00" /> <rect x="22.00" y="0.00" width="2.00" height="110.00" />
<rect x="28.00" y="0.00" width="2.00" height="100.00" /> <rect x="28.00" y="0.00" width="2.00" height="100.00" />
@ -25,31 +25,31 @@
<rect x="110.00" y="0.00" width="2.00" height="110.00" /> <rect x="110.00" y="0.00" width="2.00" height="110.00" />
<rect x="114.00" y="0.00" width="2.00" height="110.00" /> <rect x="114.00" y="0.00" width="2.00" height="110.00" />
<rect x="118.00" y="0.00" width="2.00" height="110.00" /> <rect x="118.00" y="0.00" width="2.00" height="110.00" />
<rect x="134.00" y="13.00" width="2.00" height="87.00" /> <rect x="134.00" y="12.28" width="2.00" height="87.72" />
<rect x="138.00" y="13.00" width="4.00" height="87.00" /> <rect x="138.00" y="12.28" width="4.00" height="87.72" />
<rect x="144.00" y="13.00" width="4.00" height="87.00" /> <rect x="144.00" y="12.28" width="4.00" height="87.72" />
<rect x="152.00" y="13.00" width="4.00" height="87.00" /> <rect x="152.00" y="12.28" width="4.00" height="87.72" />
<rect x="158.00" y="13.00" width="2.00" height="87.00" /> <rect x="158.00" y="12.28" width="2.00" height="87.72" />
<rect x="164.00" y="13.00" width="2.00" height="87.00" /> <rect x="164.00" y="12.28" width="2.00" height="87.72" />
<rect x="170.00" y="13.00" width="4.00" height="87.00" /> <rect x="170.00" y="12.28" width="4.00" height="87.72" />
<rect x="176.00" y="13.00" width="2.00" height="87.00" /> <rect x="176.00" y="12.28" width="2.00" height="87.72" />
<rect x="180.00" y="13.00" width="2.00" height="87.00" /> <rect x="180.00" y="12.28" width="2.00" height="87.72" />
<rect x="190.00" y="13.00" width="2.00" height="87.00" /> <rect x="190.00" y="12.28" width="2.00" height="87.72" />
<rect x="194.00" y="13.00" width="2.00" height="87.00" /> <rect x="194.00" y="12.28" width="2.00" height="87.72" />
<rect x="198.00" y="13.00" width="2.00" height="87.00" /> <rect x="198.00" y="12.28" width="2.00" height="87.72" />
<rect x="206.00" y="13.00" width="4.00" height="87.00" /> <rect x="206.00" y="12.28" width="4.00" height="87.72" />
<rect x="212.00" y="13.00" width="2.00" height="87.00" /> <rect x="212.00" y="12.28" width="2.00" height="87.72" />
<rect x="216.00" y="13.00" width="4.00" height="87.00" /> <rect x="216.00" y="12.28" width="4.00" height="87.72" />
<rect x="226.00" y="13.00" width="2.00" height="87.00" /> <rect x="226.00" y="12.28" width="2.00" height="87.72" />
<text x="8.00" y="111.50" text-anchor="end" <text x="8.70" y="111.72" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="12.0" > font-family="Helvetica, sans-serif" font-size="12.0" >
1 1
</text> </text>
<text x="66.00" y="111.50" text-anchor="middle" <text x="67.00" y="111.72" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
234567 234567
</text> </text>
<text x="126.00" y="111.50" text-anchor="start" <text x="125.30" y="111.72" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="12.0" > font-family="Helvetica, sans-serif" font-size="12.0" >
0 0
</text> </text>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -80,22 +80,22 @@
<rect x="112.00" y="32.00" width="2.00" height="68.00" /> <rect x="112.00" y="32.00" width="2.00" height="68.00" />
<rect x="116.00" y="32.00" width="2.00" height="78.00" /> <rect x="116.00" y="32.00" width="2.00" height="78.00" />
<rect x="120.00" y="32.00" width="2.00" height="78.00" /> <rect x="120.00" y="32.00" width="2.00" height="78.00" />
<rect x="140.00" y="51.00" width="2.00" height="49.00" /> <rect x="140.00" y="48.90" width="2.00" height="51.10" />
<rect x="144.00" y="51.00" width="4.00" height="49.00" /> <rect x="144.00" y="48.90" width="4.00" height="51.10" />
<rect x="150.00" y="51.00" width="4.00" height="49.00" /> <rect x="150.00" y="48.90" width="4.00" height="51.10" />
<rect x="156.00" y="51.00" width="6.00" height="49.00" /> <rect x="156.00" y="48.90" width="6.00" height="51.10" />
<rect x="164.00" y="51.00" width="2.00" height="49.00" /> <rect x="164.00" y="48.90" width="2.00" height="51.10" />
<rect x="170.00" y="51.00" width="2.00" height="49.00" /> <rect x="170.00" y="48.90" width="2.00" height="51.10" />
<rect x="174.00" y="51.00" width="6.00" height="49.00" /> <rect x="174.00" y="48.90" width="6.00" height="51.10" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0 0
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="73.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
654321 654321
</text> </text>
<text x="132.00" y="116.00" text-anchor="start" <text x="131.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
7 7
</text> </text>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -80,22 +80,22 @@
<rect x="112.00" y="32.00" width="2.00" height="68.00" opacity="0.933" /> <rect x="112.00" y="32.00" width="2.00" height="68.00" opacity="0.933" />
<rect x="116.00" y="32.00" width="2.00" height="78.00" opacity="0.933" /> <rect x="116.00" y="32.00" width="2.00" height="78.00" opacity="0.933" />
<rect x="120.00" y="32.00" width="2.00" height="78.00" opacity="0.933" /> <rect x="120.00" y="32.00" width="2.00" height="78.00" opacity="0.933" />
<rect x="140.00" y="51.00" width="2.00" height="49.00" opacity="0.933" /> <rect x="140.00" y="48.90" width="2.00" height="51.10" opacity="0.933" />
<rect x="144.00" y="51.00" width="4.00" height="49.00" opacity="0.933" /> <rect x="144.00" y="48.90" width="4.00" height="51.10" opacity="0.933" />
<rect x="150.00" y="51.00" width="4.00" height="49.00" opacity="0.933" /> <rect x="150.00" y="48.90" width="4.00" height="51.10" opacity="0.933" />
<rect x="156.00" y="51.00" width="6.00" height="49.00" opacity="0.933" /> <rect x="156.00" y="48.90" width="6.00" height="51.10" opacity="0.933" />
<rect x="164.00" y="51.00" width="2.00" height="49.00" opacity="0.933" /> <rect x="164.00" y="48.90" width="2.00" height="51.10" opacity="0.933" />
<rect x="170.00" y="51.00" width="2.00" height="49.00" opacity="0.933" /> <rect x="170.00" y="48.90" width="2.00" height="51.10" opacity="0.933" />
<rect x="174.00" y="51.00" width="6.00" height="49.00" opacity="0.933" /> <rect x="174.00" y="48.90" width="6.00" height="51.10" opacity="0.933" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" opacity="0.933" > font-family="Helvetica, sans-serif" font-size="14.0" opacity="0.933" >
0 0
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="73.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" opacity="0.933" > font-family="Helvetica, sans-serif" font-size="20.0" opacity="0.933" >
654321 654321
</text> </text>
<text x="132.00" y="116.00" text-anchor="start" <text x="131.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" opacity="0.933" > font-family="Helvetica, sans-serif" font-size="14.0" opacity="0.933" >
7 7
</text> </text>

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -79,22 +79,22 @@
<rect x="112.00" y="32.00" width="2.00" height="68.00" /> <rect x="112.00" y="32.00" width="2.00" height="68.00" />
<rect x="116.00" y="32.00" width="2.00" height="78.00" /> <rect x="116.00" y="32.00" width="2.00" height="78.00" />
<rect x="120.00" y="32.00" width="2.00" height="78.00" /> <rect x="120.00" y="32.00" width="2.00" height="78.00" />
<rect x="140.00" y="51.00" width="2.00" height="49.00" /> <rect x="140.00" y="48.90" width="2.00" height="51.10" />
<rect x="144.00" y="51.00" width="4.00" height="49.00" /> <rect x="144.00" y="48.90" width="4.00" height="51.10" />
<rect x="150.00" y="51.00" width="4.00" height="49.00" /> <rect x="150.00" y="48.90" width="4.00" height="51.10" />
<rect x="156.00" y="51.00" width="6.00" height="49.00" /> <rect x="156.00" y="48.90" width="6.00" height="51.10" />
<rect x="164.00" y="51.00" width="2.00" height="49.00" /> <rect x="164.00" y="48.90" width="2.00" height="51.10" />
<rect x="170.00" y="51.00" width="2.00" height="49.00" /> <rect x="170.00" y="48.90" width="2.00" height="51.10" />
<rect x="174.00" y="51.00" width="6.00" height="49.00" /> <rect x="174.00" y="48.90" width="6.00" height="51.10" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
0 0
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="73.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
654321 654321
</text> </text>
<text x="132.00" y="116.00" text-anchor="start" <text x="131.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
7 7
</text> </text>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -80,23 +80,23 @@
<rect x="32.00" y="78.00" width="68.00" height="2.00" /> <rect x="32.00" y="78.00" width="68.00" height="2.00" />
<rect x="32.00" y="74.00" width="78.00" height="2.00" /> <rect x="32.00" y="74.00" width="78.00" height="2.00" />
<rect x="32.00" y="70.00" width="78.00" height="2.00" /> <rect x="32.00" y="70.00" width="78.00" height="2.00" />
<rect x="51.00" y="50.00" width="49.00" height="2.00" /> <rect x="48.90" y="50.00" width="51.10" height="2.00" />
<rect x="51.00" y="44.00" width="49.00" height="4.00" /> <rect x="48.90" y="44.00" width="51.10" height="4.00" />
<rect x="51.00" y="38.00" width="49.00" height="4.00" /> <rect x="48.90" y="38.00" width="51.10" height="4.00" />
<rect x="51.00" y="30.00" width="49.00" height="6.00" /> <rect x="48.90" y="30.00" width="51.10" height="6.00" />
<rect x="51.00" y="26.00" width="49.00" height="2.00" /> <rect x="48.90" y="26.00" width="51.10" height="2.00" />
<rect x="51.00" y="20.00" width="49.00" height="2.00" /> <rect x="48.90" y="20.00" width="51.10" height="2.00" />
<rect x="51.00" y="12.00" width="49.00" height="6.00" /> <rect x="48.90" y="12.00" width="51.10" height="6.00" />
<text x="116.00" y="178.00" text-anchor="end" <text x="116.10" y="177.30" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(270,116.00,178.00)" > font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(270,116.10,177.30)" >
0 0
</text> </text>
<text x="116.00" y="120.00" text-anchor="middle" <text x="116.10" y="119.00" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" transform="rotate(270,116.00,120.00)" > font-family="Helvetica, sans-serif" font-size="20.0" transform="rotate(270,116.10,119.00)" >
654321 654321
</text> </text>
<text x="116.00" y="60.00" text-anchor="start" <text x="116.10" y="60.70" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(270,116.00,60.00)" > font-family="Helvetica, sans-serif" font-size="14.0" transform="rotate(270,116.10,60.70)" >
7 7
</text> </text>
<text x="47.00" y="32.00" text-anchor="middle" <text x="47.00" y="32.00" text-anchor="middle"

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -106,31 +106,31 @@
<rect x="112.00" y="44.00" width="2.00" height="56.00" /> <rect x="112.00" y="44.00" width="2.00" height="56.00" />
<rect x="116.00" y="44.00" width="2.00" height="66.00" /> <rect x="116.00" y="44.00" width="2.00" height="66.00" />
<rect x="120.00" y="44.00" width="2.00" height="66.00" /> <rect x="120.00" y="44.00" width="2.00" height="66.00" />
<rect x="140.00" y="63.00" width="2.00" height="37.00" /> <rect x="140.00" y="60.90" width="2.00" height="39.10" />
<rect x="144.00" y="63.00" width="4.00" height="37.00" /> <rect x="144.00" y="60.90" width="4.00" height="39.10" />
<rect x="150.00" y="63.00" width="4.00" height="37.00" /> <rect x="150.00" y="60.90" width="4.00" height="39.10" />
<rect x="160.00" y="63.00" width="2.00" height="37.00" /> <rect x="160.00" y="60.90" width="2.00" height="39.10" />
<rect x="164.00" y="63.00" width="2.00" height="37.00" /> <rect x="164.00" y="60.90" width="2.00" height="39.10" />
<rect x="168.00" y="63.00" width="2.00" height="37.00" /> <rect x="168.00" y="60.90" width="2.00" height="39.10" />
<rect x="172.00" y="63.00" width="8.00" height="37.00" /> <rect x="172.00" y="60.90" width="8.00" height="39.10" />
<rect x="182.00" y="63.00" width="2.00" height="37.00" /> <rect x="182.00" y="60.90" width="2.00" height="39.10" />
<rect x="188.00" y="63.00" width="2.00" height="37.00" /> <rect x="188.00" y="60.90" width="2.00" height="39.10" />
<rect x="196.00" y="63.00" width="2.00" height="37.00" /> <rect x="196.00" y="60.90" width="2.00" height="39.10" />
<rect x="200.00" y="63.00" width="2.00" height="37.00" /> <rect x="200.00" y="60.90" width="2.00" height="39.10" />
<rect x="204.00" y="63.00" width="4.00" height="37.00" /> <rect x="204.00" y="60.90" width="4.00" height="39.10" />
<rect x="210.00" y="63.00" width="6.00" height="37.00" /> <rect x="210.00" y="60.90" width="6.00" height="39.10" />
<rect x="218.00" y="63.00" width="2.00" height="37.00" /> <rect x="218.00" y="60.90" width="2.00" height="39.10" />
<rect x="224.00" y="63.00" width="2.00" height="37.00" /> <rect x="224.00" y="60.90" width="2.00" height="39.10" />
<rect x="228.00" y="63.00" width="6.00" height="37.00" /> <rect x="228.00" y="60.90" width="6.00" height="39.10" />
<text x="14.00" y="116.00" text-anchor="end" <text x="14.70" y="116.10" text-anchor="end"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
1 1
</text> </text>
<text x="72.00" y="116.00" text-anchor="middle" <text x="73.00" y="116.10" text-anchor="middle"
font-family="Helvetica, sans-serif" font-size="20.0" > font-family="Helvetica, sans-serif" font-size="20.0" >
876543 876543
</text> </text>
<text x="132.00" y="116.00" text-anchor="start" <text x="131.30" y="116.10" text-anchor="start"
font-family="Helvetica, sans-serif" font-size="14.0" > font-family="Helvetica, sans-serif" font-size="14.0" >
5 5
</text> </text>

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -106,21 +106,21 @@
<rect x="112.00" y="44.00" width="2.00" height="56.00" /> <rect x="112.00" y="44.00" width="2.00" height="56.00" />
<rect x="116.00" y="44.00" width="2.00" height="66.00" /> <rect x="116.00" y="44.00" width="2.00" height="66.00" />
<rect x="120.00" y="44.00" width="2.00" height="66.00" /> <rect x="120.00" y="44.00" width="2.00" height="66.00" />
<rect x="140.00" y="63.00" width="2.00" height="37.00" /> <rect x="140.00" y="60.90" width="2.00" height="39.10" />
<rect x="144.00" y="63.00" width="4.00" height="37.00" /> <rect x="144.00" y="60.90" width="4.00" height="39.10" />
<rect x="150.00" y="63.00" width="4.00" height="37.00" /> <rect x="150.00" y="60.90" width="4.00" height="39.10" />
<rect x="160.00" y="63.00" width="2.00" height="37.00" /> <rect x="160.00" y="60.90" width="2.00" height="39.10" />
<rect x="164.00" y="63.00" width="2.00" height="37.00" /> <rect x="164.00" y="60.90" width="2.00" height="39.10" />
<rect x="168.00" y="63.00" width="2.00" height="37.00" /> <rect x="168.00" y="60.90" width="2.00" height="39.10" />
<rect x="172.00" y="63.00" width="8.00" height="37.00" /> <rect x="172.00" y="60.90" width="8.00" height="39.10" />
<rect x="182.00" y="63.00" width="2.00" height="37.00" /> <rect x="182.00" y="60.90" width="2.00" height="39.10" />
<rect x="188.00" y="63.00" width="2.00" height="37.00" /> <rect x="188.00" y="60.90" width="2.00" height="39.10" />
<rect x="196.00" y="63.00" width="2.00" height="37.00" /> <rect x="196.00" y="60.90" width="2.00" height="39.10" />
<rect x="200.00" y="63.00" width="2.00" height="37.00" /> <rect x="200.00" y="60.90" width="2.00" height="39.10" />
<rect x="204.00" y="63.00" width="4.00" height="37.00" /> <rect x="204.00" y="60.90" width="4.00" height="39.10" />
<rect x="210.00" y="63.00" width="6.00" height="37.00" /> <rect x="210.00" y="60.90" width="6.00" height="39.10" />
<rect x="218.00" y="63.00" width="2.00" height="37.00" /> <rect x="218.00" y="60.90" width="2.00" height="39.10" />
<rect x="224.00" y="63.00" width="2.00" height="37.00" /> <rect x="224.00" y="60.90" width="2.00" height="39.10" />
<rect x="228.00" y="63.00" width="6.00" height="37.00" /> <rect x="228.00" y="60.90" width="6.00" height="39.10" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -158,7 +158,8 @@ static void test_print(const testCtx *const p_ctx) {
/* Note this will fail (on Ubuntu anyway) if LibreOffice Base/Calc/Impress/Writer running (i.e. anything but LibreOffice Draw) /* Note this will fail (on Ubuntu anyway) if LibreOffice Base/Calc/Impress/Writer running (i.e. anything but LibreOffice Draw)
Doesn't seem to be a way to force Draw invocation through the command line */ Doesn't seem to be a way to force Draw invocation through the command line */
ret = testUtilVerifyLibreOffice(expected_file, debug); ret = testUtilVerifyLibreOffice(expected_file, debug);
assert_zero(ret, "i:%d %s libreoffice %s ret %d != 0\n", i, testUtilBarcodeName(data[i].symbology), expected_file, ret); assert_zero(ret, "i:%d %s libreoffice %s ret %d != 0 - check that LibreOffice is not running!\n",
i, testUtilBarcodeName(data[i].symbology), expected_file, ret);
} }
} else { } else {
assert_nonzero(testUtilExists(symbol->outfile), "i:%d testUtilExists(%s) == 0\n", i, symbol->outfile); assert_nonzero(testUtilExists(symbol->outfile), "i:%d testUtilExists(%s) == 0\n", i, symbol->outfile);

View File

@ -52,6 +52,7 @@ static void test_checks(const testCtx *const p_ctx) {
int border_width; int border_width;
float scale; float scale;
float dot_size; float dot_size;
float text_gap;
float guard_descent; float guard_descent;
int warn_level; int warn_level;
int ret; int ret;
@ -61,155 +62,157 @@ static void test_checks(const testCtx *const p_ctx) {
}; };
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */ /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = { struct item data[] = {
/* 0*/ { BARCODE_CODE128, -1, "1234", -1, -1, 3, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", -1 }, /* 0*/ { BARCODE_CODE128, -1, "1234", -1, -1, 3, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", -1 },
/* 1*/ { BARCODE_CODE128, -1, "1234", -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", -1 }, /* 1*/ { BARCODE_CODE128, -1, "1234", -1, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", -1 },
/* 2*/ { BARCODE_QRCODE, -1, "1234", -1, -1, 3, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", -1 }, /* 2*/ { BARCODE_QRCODE, -1, "1234", -1, -1, 3, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", -1 },
/* 3*/ { BARCODE_QRCODE, -1, "1234", -1, -1, 999999 + 1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 218: Invalid ECI code 1000000", -1 }, /* 3*/ { BARCODE_QRCODE, -1, "1234", -1, -1, 999999 + 1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 218: Invalid ECI code 1000000", -1 },
/* 4*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 0.009, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 227: Scale out of range (0.01 to 200)", -1 }, /* 4*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 0.009, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 227: Scale out of range (0.01 to 200)", -1 },
/* 5*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 200.01, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 227: Scale out of range (0.01 to 200)", -1 }, /* 5*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 200.01, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 227: Scale out of range (0.01 to 200)", -1 },
/* 6*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, -1, 20.1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", -1 }, /* 6*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, -1, 20.1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", -1 },
/* 7*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 0.01, 0.009, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", -1 }, /* 7*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 0, 0.01, 0.009, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", -1 },
/* 8*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, -0.1, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 765: Height out of range (0 to 2000)", -1 }, /* 8*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, -0.1, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 765: Height out of range (0 to 2000)", -1 },
/* 9*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 2000.01, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 765: Height out of range (0 to 2000)", -1 }, /* 9*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 2000.01, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 765: Height out of range (0 to 2000)", -1 },
/* 10*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, -1, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 766: Whitespace width out of range (0 to 100)", -1 }, /* 10*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 766: Whitespace width out of range (0 to 100)", -1 },
/* 11*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 101, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 766: Whitespace width out of range (0 to 100)", -1 }, /* 11*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 101, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 766: Whitespace width out of range (0 to 100)", -1 },
/* 12*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 767: Whitespace height out of range (0 to 100)", -1 }, /* 12*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 767: Whitespace height out of range (0 to 100)", -1 },
/* 13*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 101, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 767: Whitespace height out of range (0 to 100)", -1 }, /* 13*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 101, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 767: Whitespace height out of range (0 to 100)", -1 },
/* 14*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 768: Border width out of range (0 to 100)", -1 }, /* 14*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 768: Border width out of range (0 to 100)", -1 },
/* 15*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 101, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 768: Border width out of range (0 to 100)", -1 }, /* 15*/ { BARCODE_CODE128, -1, "1234", -1, -1, -1, 0, 0, 0, 101, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 768: Border width out of range (0 to 100)", -1 },
/* 16*/ { BARCODE_CODE128, -1, "1234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 220: Selected symbology does not support GS1 mode", -1 }, /* 16*/ { BARCODE_CODE128, -1, "1234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 220: Selected symbology does not support GS1 mode", -1 },
/* 17*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, -0.5, -1, ZINT_ERROR_INVALID_OPTION, "Error 769: Guard bar descent out of range (0 to 50)", -1 }, /* 17*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, -0.1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 219: Text gap out of range (0 to 5)", -1 },
/* 18*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, 50.1, -1, ZINT_ERROR_INVALID_OPTION, "Error 769: Guard bar descent out of range (0 to 50)", -1 }, /* 18*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, 5.1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 219: Text gap out of range (0 to 5)", -1 },
/* 19*/ { BARCODE_GS1_128, -1, "[21]12\0004", 8, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 262: NUL characters not permitted in GS1 mode", -1 }, /* 19*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, 0, -0.5, -1, ZINT_ERROR_INVALID_OPTION, "Error 769: Guard bar descent out of range (0 to 50)", -1 },
/* 20*/ { BARCODE_GS1_128, -1, "[21]12é4", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 250: Extended ASCII characters are not supported by GS1", -1 }, /* 20*/ { BARCODE_EANX, -1, "123456789012", -1, -1, -1, 0, 0, 0, 101, -1, -1, 0, 50.1, -1, ZINT_ERROR_INVALID_OPTION, "Error 769: Guard bar descent out of range (0 to 50)", -1 },
/* 21*/ { BARCODE_GS1_128, -1, "[21]12\0074", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 251: Control characters are not supported by GS1", -1 }, /* 21*/ { BARCODE_GS1_128, -1, "[21]12\0004", 8, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 262: NUL characters not permitted in GS1 mode", -1 },
/* 22*/ { BARCODE_GS1_128, -1, "[21]1234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", -1 }, /* 22*/ { BARCODE_GS1_128, -1, "[21]12é4", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 250: Extended ASCII characters are not supported by GS1", -1 },
/* 23*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 206: Symbology out of range", BARCODE_CODE128 }, /* 23*/ { BARCODE_GS1_128, -1, "[21]12\0074", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 251: Control characters are not supported by GS1", -1 },
/* 24*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 }, /* 24*/ { BARCODE_GS1_128, -1, "[21]1234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", -1 },
/* 25*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", BARCODE_CODE128 }, /* Not supporting beats invalid ECI */ /* 25*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 206: Symbology out of range", BARCODE_CODE128 },
/* 26*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 }, /* 26*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 },
/* 27*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", BARCODE_CODE128 }, /* 27*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", BARCODE_CODE128 }, /* Not supporting beats invalid ECI */
/* 28*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 }, /* 28*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 },
/* 29*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, 0.009, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", BARCODE_CODE128 }, /* Invalid dot size no longer beats invalid ECI */ /* 29*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 221: Dot size out of range (0.01 to 20)", BARCODE_CODE128 },
/* 30*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 }, /* 30*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 },
/* 31*/ { 5, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_C25STANDARD }, /* 31*/ { 0, -1, "1", -1, -1, 1, 0, 0, 0, 0, -1, 0.009, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 217: Symbology does not support ECI switching", BARCODE_CODE128 }, /* Invalid dot size no longer beats invalid ECI */
/* 32*/ { 5, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_C25STANDARD }, /* 32*/ { 0, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, 0.009, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 206: Symbology out of range", -1 },
/* 33*/ { 10, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_EANX }, /* 33*/ { 5, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_C25STANDARD },
/* 34*/ { 10, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX }, /* 34*/ { 5, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_C25STANDARD },
/* 35*/ { 11, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_EANX }, /* 35*/ { 10, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_EANX },
/* 36*/ { 11, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX }, /* 36*/ { 10, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX },
/* 37*/ { 12, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_EANX }, /* 37*/ { 11, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_EANX },
/* 38*/ { 12, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX }, /* 38*/ { 11, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX },
/* 39*/ { 15, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_EANX }, /* 39*/ { 12, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_EANX },
/* 40*/ { 15, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX }, /* 40*/ { 12, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX },
/* 41*/ { 17, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_UPCA }, /* 41*/ { 15, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_EANX },
/* 42*/ { 17, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA }, /* 42*/ { 15, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_EANX },
/* 43*/ { 19, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_TOO_LONG, "Error 362: Input too short (3 character minimum)", BARCODE_CODABAR }, /* 43*/ { 17, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_UPCA },
/* 44*/ { 19, -1, "A1B", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 207: Codabar 18 not supported", BARCODE_CODABAR }, /* 44*/ { 17, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA },
/* 45*/ { 19, -1, "A1B", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 207: Codabar 18 not supported", -1 }, /* 45*/ { 19, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_TOO_LONG, "Error 362: Input too short (3 character minimum)", BARCODE_CODABAR },
/* 46*/ { 26, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_UPCA }, /* 46*/ { 19, -1, "A1B", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 207: Codabar 18 not supported", BARCODE_CODABAR },
/* 47*/ { 26, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA }, /* 47*/ { 19, -1, "A1B", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 207: Codabar 18 not supported", -1 },
/* 48*/ { 27, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 208: UPCD1 not supported", 27 }, /* 48*/ { 26, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_UPCA },
/* 49*/ { 33, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 252: Data does not start with an AI", BARCODE_GS1_128 }, /* 49*/ { 26, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA },
/* 50*/ { 33, -1, "[10]23", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_GS1_128 }, /* 50*/ { 27, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_OPTION, "Error 208: UPCD1 not supported", 27 },
/* 51*/ { 33, -1, "[10]23", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_GS1_128 }, /* 51*/ { 33, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 252: Data does not start with an AI", BARCODE_GS1_128 },
/* 52*/ { 36, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_UPCA }, /* 52*/ { 33, -1, "[10]23", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_GS1_128 },
/* 53*/ { 36, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA }, /* 53*/ { 33, -1, "[10]23", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_GS1_128 },
/* 54*/ { 39, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_UPCE }, /* 54*/ { 36, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_UPCA },
/* 55*/ { 39, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCE }, /* 55*/ { 36, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCA },
/* 56*/ { 41, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_NONCOMPLIANT, "Warning 479: Input length is not standard (5, 9 or 11 characters)", BARCODE_POSTNET }, /* 56*/ { 39, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_UPCE },
/* 57*/ { 41, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_POSTNET }, /* 57*/ { 39, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_UPCE },
/* 58*/ { 41, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET }, /* 58*/ { 41, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_NONCOMPLIANT, "Warning 479: Input length is not standard (5, 9 or 11 characters)", BARCODE_POSTNET },
/* 59*/ { 42, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_POSTNET }, /* 59*/ { 41, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_POSTNET },
/* 60*/ { 42, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET }, /* 60*/ { 41, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET },
/* 61*/ { 43, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_POSTNET }, /* 61*/ { 42, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_POSTNET },
/* 62*/ { 43, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET }, /* 62*/ { 42, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET },
/* 63*/ { 44, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_POSTNET }, /* 63*/ { 43, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_POSTNET },
/* 64*/ { 44, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET }, /* 64*/ { 43, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET },
/* 65*/ { 45, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_POSTNET }, /* 65*/ { 44, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_POSTNET },
/* 66*/ { 45, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET }, /* 66*/ { 44, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET },
/* 67*/ { 46, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_PLESSEY }, /* 67*/ { 45, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_POSTNET },
/* 68*/ { 46, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_PLESSEY }, /* 68*/ { 45, -1, "12345", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_POSTNET },
/* 69*/ { 48, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_NVE18 }, /* 69*/ { 46, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_PLESSEY },
/* 70*/ { 48, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_NVE18 }, /* 70*/ { 46, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_PLESSEY },
/* 71*/ { 59, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_CODE128 }, /* 71*/ { 48, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_NVE18 },
/* 72*/ { 59, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE128 }, /* 72*/ { 48, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_NVE18 },
/* 73*/ { 61, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_CODE128 }, /* 73*/ { 59, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_CODE128 },
/* 74*/ { 61, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE128 }, /* 74*/ { 59, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE128 },
/* 75*/ { 62, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_CODE93 }, /* 75*/ { 61, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_CODE128 },
/* 76*/ { 62, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE93 }, /* 76*/ { 61, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE128 },
/* 77*/ { 64, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_AUSPOST }, /* 77*/ { 62, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_CODE93 },
/* 78*/ { 64, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_AUSPOST }, /* 78*/ { 62, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_CODE93 },
/* 79*/ { 65, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_AUSPOST }, /* 79*/ { 64, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_AUSPOST },
/* 80*/ { 65, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_AUSPOST }, /* 80*/ { 64, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_AUSPOST },
/* 81*/ { 78, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_DBAR_OMN }, /* 81*/ { 65, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_AUSPOST },
/* 82*/ { 78, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_DBAR_OMN }, /* 82*/ { 65, -1, "12345678", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_AUSPOST },
/* 83*/ { 83, -1, "12345678901", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_PLANET }, /* 83*/ { 78, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_DBAR_OMN },
/* 84*/ { 83, -1, "12345678901", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_PLANET }, /* 84*/ { 78, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_DBAR_OMN },
/* 85*/ { 88, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 252: Data does not start with an AI", BARCODE_GS1_128 }, /* 85*/ { 83, -1, "12345678901", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_PLANET },
/* 86*/ { 88, -1, "[10]12", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_GS1_128 }, /* 86*/ { 83, -1, "12345678901", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_PLANET },
/* 87*/ { 88, -1, "[10]12", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_GS1_128 }, /* 87*/ { 88, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 252: Data does not start with an AI", BARCODE_GS1_128 },
/* 88*/ { 91, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 212: Symbology out of range", BARCODE_CODE128 }, /* 88*/ { 88, -1, "[10]12", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_GS1_128 },
/* 89*/ { 91, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 212: Symbology out of range", -1 }, /* 89*/ { 88, -1, "[10]12", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_GS1_128 },
/* 90*/ { 94, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 213: Symbology out of range", BARCODE_CODE128 }, /* 90*/ { 91, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 212: Symbology out of range", BARCODE_CODE128 },
/* 91*/ { 94, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 213: Symbology out of range", -1 }, /* 91*/ { 91, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 212: Symbology out of range", -1 },
/* 92*/ { 95, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 213: Symbology out of range", BARCODE_CODE128 }, /* 92*/ { 94, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 213: Symbology out of range", BARCODE_CODE128 },
/* 93*/ { 95, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 213: Symbology out of range", -1 }, /* 93*/ { 94, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 213: Symbology out of range", -1 },
/* 94*/ { 100, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_128 }, /* 94*/ { 95, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 213: Symbology out of range", BARCODE_CODE128 },
/* 95*/ { 100, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_128 }, /* 95*/ { 95, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 213: Symbology out of range", -1 },
/* 96*/ { 101, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_39 }, /* 96*/ { 100, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_128 },
/* 97*/ { 101, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_39 }, /* 97*/ { 100, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_128 },
/* 98*/ { 103, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_DM }, /* 98*/ { 101, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_39 },
/* 99*/ { 103, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_DM }, /* 99*/ { 101, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_39 },
/*100*/ { 105, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_QR }, /*100*/ { 103, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_DM },
/*101*/ { 105, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_QR }, /*101*/ { 103, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_DM },
/*102*/ { 107, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_PDF }, /*102*/ { 105, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_QR },
/*103*/ { 107, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_PDF }, /*103*/ { 105, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_QR },
/*104*/ { 109, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_MICPDF }, /*104*/ { 107, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_PDF },
/*105*/ { 109, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_MICPDF }, /*105*/ { 107, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_PDF },
/*106*/ { 111, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", BARCODE_HIBC_BLOCKF }, /*106*/ { 109, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_MICPDF },
/*107*/ { 111, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_BLOCKF }, /*107*/ { 109, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_MICPDF },
/*108*/ { 113, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 214: Symbology out of range", BARCODE_CODE128 }, /*108*/ { 111, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", BARCODE_HIBC_BLOCKF },
/*109*/ { 113, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 214: Symbology out of range", -1 }, /*109*/ { 111, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, 0, "", BARCODE_HIBC_BLOCKF },
/*110*/ { 114, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 214: Symbology out of range", BARCODE_CODE128 }, /*110*/ { 113, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 214: Symbology out of range", BARCODE_CODE128 },
/*111*/ { 114, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 214: Symbology out of range", -1 }, /*111*/ { 113, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 214: Symbology out of range", -1 },
/*112*/ { 117, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*112*/ { 114, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 214: Symbology out of range", BARCODE_CODE128 },
/*113*/ { 117, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*113*/ { 114, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 214: Symbology out of range", -1 },
/*114*/ { 118, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*114*/ { 117, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*115*/ { 118, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*115*/ { 117, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*116*/ { 122, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*116*/ { 118, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*117*/ { 122, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*117*/ { 118, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*118*/ { 123, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*118*/ { 122, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*119*/ { 123, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*119*/ { 122, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*120*/ { 124, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*120*/ { 123, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*121*/ { 124, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*121*/ { 123, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*122*/ { 125, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*122*/ { 124, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*123*/ { 125, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*123*/ { 124, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*124*/ { 126, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*124*/ { 125, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*125*/ { 126, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*125*/ { 125, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*126*/ { 127, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 }, /*126*/ { 126, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*127*/ { 127, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 }, /*127*/ { 126, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*128*/ { 147, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 216: Symbology out of range", BARCODE_CODE128 }, /*128*/ { 127, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 215: Symbology out of range", BARCODE_CODE128 },
/*129*/ { 147, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 216: Symbology out of range", -1 }, /*129*/ { 127, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 215: Symbology out of range", -1 },
/*130*/ { BARCODE_LAST + 1, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 216: Symbology out of range", BARCODE_CODE128 }, /*130*/ { 147, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 216: Symbology out of range", BARCODE_CODE128 },
/*131*/ { BARCODE_LAST + 1, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 216: Symbology out of range", -1 }, /*131*/ { 147, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 216: Symbology out of range", -1 },
/*132*/ { BARCODE_CODE128, -1, "\200", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 245: Invalid UTF-8 in input data", -1 }, /*132*/ { BARCODE_LAST + 1, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 216: Symbology out of range", BARCODE_CODE128 },
/*133*/ { BARCODE_GS1_128, -1, "[01]12345678901234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_NONCOMPLIANT, "Warning 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 }, /*133*/ { BARCODE_LAST + 1, -1, "1", -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 216: Symbology out of range", -1 },
/*134*/ { BARCODE_GS1_128, -1, "[01]12345678901234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_NONCOMPLIANT, "Error 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 }, /*134*/ { BARCODE_CODE128, -1, "\200", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_ERROR_INVALID_DATA, "Error 245: Invalid UTF-8 in input data", -1 },
/*135*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", -1 }, /*135*/ { BARCODE_GS1_128, -1, "[01]12345678901234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_NONCOMPLIANT, "Warning 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 },
/*136*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 }, /*136*/ { BARCODE_GS1_128, -1, "[01]12345678901234", -1, GS1_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_NONCOMPLIANT, "Error 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 },
/*137*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_USES_ECI, "Error 222: Encoded data includes ECI 13", -1 }, /*137*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", -1 },
/*138*/ { BARCODE_CODEONE, -1, "[01]12345678901231", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 512: ECI ignored for GS1 mode", -1 }, /*138*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 },
/*139*/ { BARCODE_CODEONE, -1, "[01]12345678901231", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 512: ECI ignored for GS1 mode", -1 }, /*139*/ { BARCODE_QRCODE, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_USES_ECI, "Error 222: Encoded data includes ECI 13", -1 },
/*140*/ { BARCODE_CODEONE, -1, "[01]12345678901234", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 512: ECI ignored for GS1 mode", -1 }, /* Warning in encoder overrides library warnings */ /*140*/ { BARCODE_CODEONE, -1, "[01]12345678901231", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 512: ECI ignored for GS1 mode", -1 },
/*141*/ { BARCODE_CODEONE, -1, "[01]12345678901234", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_NONCOMPLIANT, "Error 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 }, /* But not errors */ /*141*/ { BARCODE_CODEONE, -1, "[01]12345678901231", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 512: ECI ignored for GS1 mode", -1 },
/*142*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, -1, -1, 0, "", -1 }, /*142*/ { BARCODE_CODEONE, -1, "[01]12345678901234", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 512: ECI ignored for GS1 mode", -1 }, /* Warning in encoder overrides library warnings */
/*143*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 }, /*143*/ { BARCODE_CODEONE, -1, "[01]12345678901234", -1, GS1_MODE, 3, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_NONCOMPLIANT, "Error 261: AI (01) position 14: Bad checksum '4', expected '1'", -1 }, /* But not errors */
/*144*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_USES_ECI, "Error 222: Encoded data includes ECI 13", -1 }, /*144*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, "", -1 },
/*145*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 503: Invalid error correction level - using default instead", -1 }, /*145*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 },
/*146*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 503: Invalid error correction level - using default instead", -1 }, /*146*/ { BARCODE_AZTEC, -1, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_USES_ECI, "Error 222: Encoded data includes ECI 13", -1 },
/*147*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 }, /* ECI warning trumps all other warnings */ /*147*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_INVALID_OPTION, "Warning 503: Invalid error correction level - using default instead", -1 },
/*148*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 503: Invalid error correction level - using default instead", -1 }, /* But not errors */ /*148*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, 13, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 503: Invalid error correction level - using default instead", -1 },
/*149*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, ZINT_WARN_USES_ECI, "Warning 222: Encoded data includes ECI 13", -1 }, /* ECI warning trumps all other warnings */
/*150*/ { BARCODE_AZTEC, 6, "", -1, UNICODE_MODE, -1, 0, 0, 0, 0, -1, -1, 0, -1, WARN_FAIL_ALL, ZINT_ERROR_INVALID_OPTION, "Error 503: Invalid error correction level - using default instead", -1 }, /* But not errors */
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;
@ -243,6 +246,9 @@ static void test_checks(const testCtx *const p_ctx) {
if (data[i].dot_size != -1) { if (data[i].dot_size != -1) {
symbol->dot_size = data[i].dot_size; symbol->dot_size = data[i].dot_size;
} }
if (data[i].text_gap) {
symbol->text_gap = data[i].text_gap;
}
if (data[i].guard_descent != -1) { if (data[i].guard_descent != -1) {
symbol->guard_descent = data[i].guard_descent; symbol->guard_descent = data[i].guard_descent;
} }

View File

@ -48,23 +48,23 @@ static void test_check_colour_options(const testCtx *const p_ctx) {
/* 0*/ { "FFFFFF", "000000", 0, "" }, /* 0*/ { "FFFFFF", "000000", 0, "" },
/* 1*/ { "ffffff", "ffffff", 0, "" }, /* 1*/ { "ffffff", "ffffff", 0, "" },
/* 2*/ { "77777777", "33333333", 0, "" }, /* 2*/ { "77777777", "33333333", 0, "" },
/* 3*/ { "FFFFF", "000000", ZINT_ERROR_INVALID_OPTION, "690: Malformed foreground RGB colour (6 or 8 characters only)" }, /* 3*/ { "FFFFF", "000000", ZINT_ERROR_INVALID_OPTION, "880: Malformed foreground RGB colour (6 or 8 characters only)" },
/* 4*/ { "FFFFFFF", "000000", ZINT_ERROR_INVALID_OPTION, "690: Malformed foreground RGB colour (6 or 8 characters only)" }, /* 4*/ { "FFFFFFF", "000000", ZINT_ERROR_INVALID_OPTION, "880: Malformed foreground RGB colour (6 or 8 characters only)" },
/* 5*/ { "FFFFFG", "000000", ZINT_ERROR_INVALID_OPTION, "691: Malformed foreground RGB colour 'FFFFFG' (hexadecimal only)" }, /* 5*/ { "FFFFFG", "000000", ZINT_ERROR_INVALID_OPTION, "881: Malformed foreground RGB colour 'FFFFFG' (hexadecimal only)" },
/* 6*/ { "FFFFFF", "000000000", ZINT_ERROR_INVALID_OPTION, "690: Malformed background RGB colour (6 or 8 characters only)" }, /* 6*/ { "FFFFFF", "000000000", ZINT_ERROR_INVALID_OPTION, "880: Malformed background RGB colour (6 or 8 characters only)" },
/* 7*/ { "FFFFFF", "0000000Z", ZINT_ERROR_INVALID_OPTION, "691: Malformed background RGB colour '0000000Z' (hexadecimal only)" }, /* 7*/ { "FFFFFF", "0000000Z", ZINT_ERROR_INVALID_OPTION, "881: Malformed background RGB colour '0000000Z' (hexadecimal only)" },
/* 8*/ { "100,100,100,100", "0,1,2,3", 0, "" }, /* 8*/ { "100,100,100,100", "0,1,2,3", 0, "" },
/* 9*/ { "100,,100,100", ",1,2,", 0, "" }, /* 9*/ { "100,,100,100", ",1,2,", 0, "" },
/* 10*/ { "100,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "692: Malformed foreground CMYK colour (4 decimal numbers, comma-separated)" }, /* 10*/ { "100,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "882: Malformed foreground CMYK colour (4 decimal numbers, comma-separated)" },
/* 11*/ { "100,100,99,1001", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "693: Malformed foreground CMYK colour (3 digit maximum per number)" }, /* 11*/ { "100,100,99,1001", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "883: Malformed foreground CMYK colour (3 digit maximum per number)" },
/* 12*/ { "101,100,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "694: Malformed foreground CMYK colour C (decimal 0-100 only)" }, /* 12*/ { "101,100,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "884: Malformed foreground CMYK colour C (decimal 0-100 only)" },
/* 13*/ { "100,101,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "695: Malformed foreground CMYK colour M (decimal 0-100 only)" }, /* 13*/ { "100,101,100,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "885: Malformed foreground CMYK colour M (decimal 0-100 only)" },
/* 14*/ { "100,100,101,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "696: Malformed foreground CMYK colour Y (decimal 0-100 only)" }, /* 14*/ { "100,100,101,100", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "886: Malformed foreground CMYK colour Y (decimal 0-100 only)" },
/* 15*/ { "100,100,100,101", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "697: Malformed foreground CMYK colour K (decimal 0-100 only)" }, /* 15*/ { "100,100,100,101", "0,1,2,3", ZINT_ERROR_INVALID_OPTION, "887: Malformed foreground CMYK colour K (decimal 0-100 only)" },
/* 16*/ { "100,100,100,100", "0,1,", ZINT_ERROR_INVALID_OPTION, "692: Malformed background CMYK colour (4 decimal numbers, comma-separated)" }, /* 16*/ { "100,100,100,100", "0,1,", ZINT_ERROR_INVALID_OPTION, "882: Malformed background CMYK colour (4 decimal numbers, comma-separated)" },
/* 17*/ { "100,100,100,100", "0,0123,3,4", ZINT_ERROR_INVALID_OPTION, "693: Malformed background CMYK colour (3 digit maximum per number)" }, /* 17*/ { "100,100,100,100", "0,0123,3,4", ZINT_ERROR_INVALID_OPTION, "883: Malformed background CMYK colour (3 digit maximum per number)" },
/* 18*/ { "100,100,100,100", "0,1,2,101", ZINT_ERROR_INVALID_OPTION, "697: Malformed background CMYK colour K (decimal 0-100 only)" }, /* 18*/ { "100,100,100,100", "0,1,2,101", ZINT_ERROR_INVALID_OPTION, "887: Malformed background CMYK colour K (decimal 0-100 only)" },
/* 19*/ { "100,100,100,100", "0,1,2,3,", ZINT_ERROR_INVALID_OPTION, "692: Malformed background CMYK colour (4 decimal numbers, comma-separated)" }, /* 19*/ { "100,100,100,100", "0,1,2,3,", ZINT_ERROR_INVALID_OPTION, "882: Malformed background CMYK colour (4 decimal numbers, comma-separated)" },
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, ret; int i, ret;

View File

@ -136,6 +136,7 @@ static void test_print(const testCtx *const p_ctx) {
struct zint_structapp structapp; struct zint_structapp structapp;
char *fgcolour; char *fgcolour;
char *bgcolour; char *bgcolour;
float text_gap;
char *data; char *data;
char *composite; char *composite;
int ret; int ret;
@ -143,66 +144,66 @@ static void test_print(const testCtx *const p_ctx) {
char *comment; char *comment;
}; };
struct item data[] = { struct item data[] = {
/* 0*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "Égjpqy", "", 0, "code128_egrave_bold.png", "" }, /* 0*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold.png", "" },
/* 1*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "Égjpqy", "", 0, "code128_egrave_bold_box3.png", "" }, /* 1*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_box3.png", "" },
/* 2*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.png", "" }, /* 2*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.png", "" },
/* 3*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.png", "" }, /* 3*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 0, "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.png", "" },
/* 4*/ { BARCODE_CODABLOCKF, -1, 3, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", "AAAAAAAAA", "", 0, "codablockf_3rows.png", "" }, /* 4*/ { BARCODE_CODABLOCKF, -1, 3, -1, -1, -1, -1, 3, -1, 0, 0, { 0, 0, "" }, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_3rows.png", "" },
/* 5*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "AAAAAAAAA", "", 0, "codablockf_hvwsp2.png", "" }, /* 5*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2.png", "" },
/* 6*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.png", "" }, /* 6*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.png", "" },
/* 7*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.png", "" }, /* 7*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.png", "" },
/* 8*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.png", "" }, /* 8*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.png", "" },
/* 9*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.png", "" }, /* 9*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.png", "" },
/* 10*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.png", "" }, /* 10*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.png", "" },
/* 11*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.png", "" }, /* 11*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.png", "" },
/* 12*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.png", "" }, /* 12*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.png", "" },
/* 13*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "614141234417+12345", "", 0, "upca_5addon.png", "" }, /* 13*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "614141234417+12345", "", 0, "upca_5addon.png", "" },
/* 14*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, { 0, 0, "" }, "", "", "614141234417+12345", "", 0, "upca_5addon_notext.png", "" }, /* 14*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_notext.png", "" },
/* 15*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "614141234417+12345", "", 0, "upca_5addon_bind3.png", "" }, /* 15*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_bind3.png", "" },
/* 16*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.png", "" }, /* 16*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.png", "" },
/* 17*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.png", "" }, /* 17*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.png", "" },
/* 18*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.png", "" }, /* 18*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.png", "" },
/* 19*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.png", "" }, /* 19*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.png", "" },
/* 20*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "1234567+12", "", 0, "upce_2addon.png", "" }, /* 20*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1234567+12", "", 0, "upce_2addon.png", "" },
/* 21*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "1234567+12345", "", 0, "upce_5addon.png", "" }, /* 21*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1234567+12345", "", 0, "upce_5addon.png", "" },
/* 22*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "1234567+12345", "", 0, "upce_5addon_small.png", "" }, /* 22*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1234567+12345", "", 0, "upce_5addon_small.png", "" },
/* 23*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.png", "" }, /* 23*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.png", "" },
/* 24*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.png", "" }, /* 24*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.png", "" },
/* 25*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.png", "" }, /* 25*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.png", "" },
/* 26*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "1234567+12", "", 0, "ean8_2addon.png", "" }, /* 26*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1234567+12", "", 0, "ean8_2addon.png", "" },
/* 27*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "1234567+12345", "", 0, "ean8_5addon.png", "" }, /* 27*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "1234567+12345", "", 0, "ean8_5addon.png", "" },
/* 28*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.png", "" }, /* 28*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.png", "" },
/* 29*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.png", "" }, /* 29*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.png", "" },
/* 30*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "12345", "", 0, "ean5.png", "" }, /* 30*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345", "", 0, "ean5.png", "" },
/* 31*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "12", "", 0, "ean2.png", "" }, /* 31*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12", "", 0, "ean2.png", "" },
/* 32*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "123", "", 0, "code39_small.png", "" }, /* 32*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "123", "", 0, "code39_small.png", "" },
/* 33*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3.5, { 0, 0, "" }, "", "", "12345", "", 0, "postnet_zip.png", "300 dpi, using 1/43in X, 300 / 43 / 2 = ~3.5 scale" }, /* 33*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3.5, { 0, 0, "" }, "", "", 0, "12345", "", 0, "postnet_zip.png", "300 dpi, using 1/43in X, 300 / 43 / 2 = ~3.5 scale" },
/* 34*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "CFCECDCC", "12345", "", 0, "pdf417_bgalpha.png", "" }, /* 34*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "CFCECDCC", 0, "12345", "", 0, "pdf417_bgalpha.png", "" },
/* 35*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "30313233", "", "12345", "", 0, "pdf417_fgalpha.png", "" }, /* 35*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "30313233", "", 0, "12345", "", 0, "pdf417_fgalpha.png", "" },
/* 36*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "20212244", "CFCECDCC", "12345", "", 0, "pdf417_bgfgalpha.png", "" }, /* 36*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "20212244", "CFCECDCC", 0, "12345", "", 0, "pdf417_bgfgalpha.png", "" },
/* 37*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF000033", "12345", "", 0, "ultra_bgfgalpha.png", "" }, /* 37*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF000033", 0, "12345", "", 0, "ultra_bgfgalpha.png", "" },
/* 38*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "FF000033", "12345", "", 0, "ultra_bgalpha.png", "" }, /* 38*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "FF000033", 0, "12345", "", 0, "ultra_bgalpha.png", "" },
/* 39*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF0000", "12345", "", 0, "ultra_fgalpha.png", "" }, /* 39*/ { BARCODE_ULTRA, -1, -1, -1, 2, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "FF0000", 0, "12345", "", 0, "ultra_fgalpha.png", "" },
/* 40*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "", "12345", "", 0, "ultra_fgalpha_nobg.png", "" }, /* 40*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "0000007F", "", 0, "12345", "", 0, "ultra_fgalpha_nobg.png", "" },
/* 41*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "12345", "", 0, "ultra_hvwsp1_box1.png", "" }, /* 41*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345", "", 0, "ultra_hvwsp1_box1.png", "" },
/* 42*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", "12345", "", 0, "ultra_fgalpha_hvwsp1_box1.png", "" }, /* 42*/ { BARCODE_ULTRA, -1, 1, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 0, "12345", "", 0, "ultra_fgalpha_hvwsp1_box1.png", "" },
/* 43*/ { BARCODE_ULTRA, -1, 1, BARCODE_BIND_TOP, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", "12345", "", 0, "ultra_fgalpha_hvwsp1_bindtop1.png", "" }, /* 43*/ { BARCODE_ULTRA, -1, 1, BARCODE_BIND_TOP, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "00FF007F", "BABDB6", 0, "12345", "", 0, "ultra_fgalpha_hvwsp1_bindtop1.png", "" },
/* 44*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", "1", "", 0, "ultra_odd.png", "" }, /* 44*/ { BARCODE_ULTRA, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 0, "1", "", 0, "ultra_odd.png", "" },
/* 45*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.5.png", "6 dpmm, 150 dpi" }, /* 45*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, { 0, 0, "" }, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.5.png", "6 dpmm, 150 dpi" },
/* 46*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BOX, 3, -1, -1, -1, -1, 0, 0.7, { 0, 0, "" }, "", "", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.7_wsp3_box1.png", "8 dpmm, 200 dpi" }, /* 46*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BOX, 3, -1, -1, -1, -1, 0, 0.7, { 0, 0, "" }, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_0.7_wsp3_box1.png", "8 dpmm, 200 dpi" },
/* 47*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1.4, { 0, 0, "" }, "1111117F", "EEEEEEEE", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_1.4_bgfgalpha.png", "16 dpmm, 400 dpi" }, /* 47*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1.4, { 0, 0, "" }, "1111117F", "EEEEEEEE", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_1.4_bgfgalpha.png", "16 dpmm, 400 dpi" },
/* 48*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2.1, { 0, 0, "" }, "", "", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_2.1.png", "24 dpmm, 600 dpi" }, /* 48*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2.1, { 0, 0, "" }, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_2.1.png", "24 dpmm, 600 dpi" },
/* 49*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_hvwsp1_box2.png", "" }, /* 49*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, 1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_hvwsp1_box2.png", "" },
/* 50*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.png", "" }, /* 50*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.png", "" },
/* 51*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, -1, -1, -1, -1, 0, 2.0f, { 0, 0, "" }, "", "", "1234", "", 0, "datamatrix_2.0_bind1_dotty.png", "" }, /* 51*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, -1, -1, -1, -1, 0, 2.0f, { 0, 0, "" }, "", "", 0, "1234", "", 0, "datamatrix_2.0_bind1_dotty.png", "" },
/* 52*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, 0, 2.0f, { 0, 0, "" }, "", "", "1234", "", 0, "datamatrix_2.0_hvwsp1_bind1_dotty.png", "" }, /* 52*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, 0, 2.0f, { 0, 0, "" }, "", "", 0, "1234", "", 0, "datamatrix_2.0_hvwsp1_bind1_dotty.png", "" },
/* 53*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "12345678909", "", 0, "dbar_ltd.png", "" }, /* 53*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "12345678909", "", 0, "dbar_ltd.png", "" },
/* 54*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 5.0, 0, { 0, 0, "" }, "", "", "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.png", "" }, /* 54*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, 5.0, 0, { 0, 0, "" }, "", "", 0, "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.png", "" },
/* 55*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, 0, { 0, 0, "" }, "", "", "12345678901234567890", "", 0, "imail_height7.75.png", "" }, /* 55*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, 0, { 0, 0, "" }, "", "", 0, "12345678901234567890", "", 0, "imail_height7.75.png", "" },
/* 56*/ { BARCODE_AZTEC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 4, 7, "Z1.txt" }, "", "", "3456", "", 0, "aztec_z1_seq4of7.png", "" }, /* 56*/ { BARCODE_AZTEC, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, { 4, 7, "Z1.txt" }, "", "", 0, "3456", "", 0, "aztec_z1_seq4of7.png", "" },
/* 57*/ { BARCODE_PDF417, -1, -1, BARCODE_NO_QUIET_ZONES, -1, -1, -1, 5, 8, 16, 1.5, { 0, 0, "" }, "", "", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "", ZINT_WARN_NONCOMPLIANT, "pdf417_#204.png", "Ticket #204 Blank line in PDF417" }, /* 57*/ { BARCODE_PDF417, -1, -1, BARCODE_NO_QUIET_ZONES, -1, -1, -1, 5, 8, 16, 1.5, { 0, 0, "" }, "", "", 0, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "", ZINT_WARN_NONCOMPLIANT, "pdf417_#204.png", "Ticket #204 Blank line in PDF417" },
/* 58*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", "008182709980000020028101276", "", 0, "dpd_compliant.png", "Now with bind top 3X default" }, /* 58*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "", "", 0, "008182709980000020028101276", "", 0, "dpd_compliant.png", "Now with bind top 3X default" },
/* 59*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "100,85,0,20", "FFFFFF00", "123", "", 0, "channel_cmyk_nobg.png", "" }, /* 59*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 0, 0, { 0, 0, "" }, "100,85,0,20", "FFFFFF00", 0, "123", "", 0, "channel_cmyk_nobg.png", "" },
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;
@ -264,6 +265,8 @@ static void test_print(const testCtx *const p_ctx) {
if (*data[i].bgcolour) { if (*data[i].bgcolour) {
strcpy(symbol->bgcolour, data[i].bgcolour); strcpy(symbol->bgcolour, data[i].bgcolour);
} }
symbol->text_gap = data[i].text_gap;
if (strlen(data[i].composite)) { if (strlen(data[i].composite)) {
text = data[i].composite; text = data[i].composite;
strcpy(symbol->primary, data[i].data); strcpy(symbol->primary, data[i].data);

View File

@ -1,6 +1,6 @@
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2019-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2019-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
@ -74,8 +74,8 @@ static void test_large(const testCtx *const p_ctx) {
/* 23*/ { BARCODE_PLANET, "1", 39, ZINT_ERROR_TOO_LONG, -1, -1 }, /* 23*/ { BARCODE_PLANET, "1", 39, ZINT_ERROR_TOO_LONG, -1, -1 },
/* 24*/ { BARCODE_KIX, "1", 18, 0, 3, 143 }, /* 24*/ { BARCODE_KIX, "1", 18, 0, 3, 143 },
/* 25*/ { BARCODE_KIX, "1", 19, ZINT_ERROR_TOO_LONG, -1, -1 }, /* 25*/ { BARCODE_KIX, "1", 19, ZINT_ERROR_TOO_LONG, -1, -1 },
/* 26*/ { BARCODE_DAFT, "D", 100, 0, 3, 199 }, /* 26*/ { BARCODE_DAFT, "D", 250, 0, 3, 499 },
/* 27*/ { BARCODE_DAFT, "D", 101, ZINT_ERROR_TOO_LONG, -1, -1 }, /* 27*/ { BARCODE_DAFT, "D", 251, ZINT_ERROR_TOO_LONG, -1, -1 },
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;

View File

@ -1,6 +1,6 @@
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2019-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2019-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
@ -1237,7 +1237,6 @@ static void test_scale(const testCtx *const p_ctx) {
symbol = ZBarcode_Create(); symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n"); assert_nonnull(symbol, "Symbol not created\n");
testUtilSetSymbol(symbol, data[i].symbology, UNICODE_MODE, -1 /*eci*/, -1 /*option_1*/, data[i].option_2, -1, data[i].output_options, data[i].data, -1, debug);
if (data[i].border_width != -1) { if (data[i].border_width != -1) {
symbol->border_width = data[i].border_width; symbol->border_width = data[i].border_width;
} }
@ -1253,7 +1252,7 @@ static void test_scale(const testCtx *const p_ctx) {
} else { } else {
text = data[i].data; text = data[i].data;
} }
length = (int) strlen(text); length = testUtilSetSymbol(symbol, data[i].symbology, UNICODE_MODE, -1 /*eci*/, -1 /*option_1*/, data[i].option_2, -1, data[i].output_options, text, -1, debug);
ret = ZBarcode_Encode(symbol, (unsigned char *) text, length); ret = ZBarcode_Encode(symbol, (unsigned char *) text, length);
assert_nonzero(ret < ZINT_ERROR, "i:%d ZBarcode_Encode(%d) ret %d >= ZINT_ERROR (%s)\n", i, data[i].symbology, ret, symbol->errtxt); assert_nonzero(ret < ZINT_ERROR, "i:%d ZBarcode_Encode(%d) ret %d >= ZINT_ERROR (%s)\n", i, data[i].symbology, ret, symbol->errtxt);
@ -1788,6 +1787,161 @@ static void test_quiet_zones(const testCtx *const p_ctx) {
testFinish(); testFinish();
} }
static void test_text_gap(const testCtx *const p_ctx) {
int debug = p_ctx->debug;
struct item {
int symbology;
int output_options;
int option_2;
int show_hrt;
float text_gap;
float scale;
char *data;
char *composite;
int ret;
float expected_height;
int expected_rows;
int expected_width;
int expected_bitmap_width;
int expected_bitmap_height;
int expected_set;
int expected_set_row;
int expected_set_rows; /* Last row no. + 1 */
int expected_set_col;
int expected_set_len;
};
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
struct item data[] = {
/* 0*/ { BARCODE_CODE11, -1, -1, -1, 0, 0, "1234", "", 0, 50, 1, 62, 124, 116, 1 /*set*/, 104, 105, 55, 6 }, /* Default */
/* 1*/ { BARCODE_CODE11, -1, -1, -1, 0, 0, "1234", "", 0, 50, 1, 62, 124, 116, 0 /*set*/, 103, 104, 0, 124 }, /* Default */
/* 2*/ { BARCODE_CODE11, -1, -1, -1, 0.1, 0, "1234", "", 0, 50, 1, 62, 124, 114, 1 /*set*/, 102, 103, 55, 6 },
/* 3*/ { BARCODE_CODE11, -1, -1, -1, 0.4, 0, "1234", "", 0, 50, 1, 62, 124, 114, 1 /*set*/, 102, 103, 55, 6 },
/* 4*/ { BARCODE_CODE11, -1, -1, -1, 0.5, 0, "1234", "", 0, 50, 1, 62, 124, 115, 1 /*set*/, 103, 104, 55, 6 },
/* 5*/ { BARCODE_CODE11, -1, -1, -1, 0.5, 0, "1234", "", 0, 50, 1, 62, 124, 115, 0 /*set*/, 102, 103, 0, 124 },
/* 6*/ { BARCODE_CODE11, -1, -1, -1, 0.6, 0, "1234", "", 0, 50, 1, 62, 124, 115, 1 /*set*/, 103, 104, 55, 6 },
/* 7*/ { BARCODE_CODE11, -1, -1, -1, 1.0, 0, "1234", "", 0, 50, 1, 62, 124, 116, 1 /*set*/, 104, 105, 55, 6 }, /* Same as default */
/* 8*/ { BARCODE_CODE11, -1, -1, -1, 1.0, 0, "1234", "", 0, 50, 1, 62, 124, 116, 0 /*set*/, 103, 104, 0, 124 }, /* Same as default */
/* 9*/ { BARCODE_CODE11, -1, -1, -1, 1.5, 0, "1234", "", 0, 50, 1, 62, 124, 117, 1 /*set*/, 105, 106, 55, 6 },
/* 10*/ { BARCODE_CODE11, -1, -1, -1, 1.5, 0, "1234", "", 0, 50, 1, 62, 124, 117, 0 /*set*/, 104, 105, 0, 124 },
/* 11*/ { BARCODE_CODE11, -1, -1, -1, 2.0, 0, "1234", "", 0, 50, 1, 62, 124, 118, 1 /*set*/, 106, 107, 55, 6 },
/* 12*/ { BARCODE_CODE11, -1, -1, -1, 2.0, 0, "1234", "", 0, 50, 1, 62, 124, 118, 0 /*set*/, 105, 106, 0, 124 },
/* 13*/ { BARCODE_CODE11, -1, -1, -1, 3.0, 0, "1234", "", 0, 50, 1, 62, 124, 120, 1 /*set*/, 108, 109, 55, 6 },
/* 14*/ { BARCODE_CODE11, -1, -1, -1, 3.0, 0, "1234", "", 0, 50, 1, 62, 124, 120, 0 /*set*/, 107, 108, 0, 124 },
/* 15*/ { BARCODE_CODE11, -1, -1, -1, 4.0, 0, "1234", "", 0, 50, 1, 62, 124, 122, 1 /*set*/, 110, 111, 55, 6 },
/* 16*/ { BARCODE_CODE11, -1, -1, -1, 4.0, 0, "1234", "", 0, 50, 1, 62, 124, 122, 0 /*set*/, 109, 110, 0, 124 },
/* 17*/ { BARCODE_CODE11, -1, -1, -1, 5.0, 0, "1234", "", 0, 50, 1, 62, 124, 124, 1 /*set*/, 112, 113, 55, 6 },
/* 18*/ { BARCODE_CODE11, -1, -1, -1, 5.0, 0, "1234", "", 0, 50, 1, 62, 124, 124, 0 /*set*/, 111, 112, 0, 124 },
/* 19*/ { BARCODE_CODE11, -1, -1, -1, 0, 3.0, "1234", "", 0, 50, 1, 62, 372, 348, 1 /*set*/, 312, 315, 165, 18 }, /* Scale default */
/* 20*/ { BARCODE_CODE11, -1, -1, -1, 0, 3.0, "1234", "", 0, 50, 1, 62, 372, 348, 0 /*set*/, 311, 312, 0, 372 }, /* Scale default */
/* 21*/ { BARCODE_CODE11, -1, -1, -1, 1.5, 3.0, "1234", "", 0, 50, 1, 62, 372, 351, 1 /*set*/, 315, 318, 165, 18 }, /* Scale */
/* 22*/ { BARCODE_CODE11, -1, -1, -1, 1.5, 3.0, "1234", "", 0, 50, 1, 62, 372, 351, 0 /*set*/, 314, 315, 0, 372 }, /* Scale */
/* 23*/ { BARCODE_UPCA, -1, -1, -1, 0, 0, "01457130763", "", 0, 50, 1, 95, 226, 116, 1 /*set*/, 102, 104, 81, 9 }, /* Default */
/* 24*/ { BARCODE_UPCA, -1, -1, -1, 0, 0, "01457130763", "", 0, 50, 1, 95, 226, 116, 0 /*set*/, 101, 102, 38, 72 }, /* Default */
/* 25*/ { BARCODE_UPCA, -1, -1, -1, 0.5, 0, "01457130763", "", 0, 50, 1, 95, 226, 115, 1 /*set*/, 101, 103, 81, 9 },
/* 26*/ { BARCODE_UPCA, -1, -1, -1, 0.75, 0, "01457130763", "", 0, 50, 1, 95, 226, 115, 1 /*set*/, 101, 103, 81, 9 },
/* 27*/ { BARCODE_UPCA, -1, -1, -1, 1.0, 0, "01457130763", "", 0, 50, 1, 95, 226, 116, 1 /*set*/, 102, 104, 81, 9 }, /* Same as default */
/* 28*/ { BARCODE_UPCA, -1, -1, -1, 1.0, 0, "01457130763", "", 0, 50, 1, 95, 226, 116, 0 /*set*/, 101, 102, 38, 72 }, /* Same as default */
/* 29*/ { BARCODE_UPCA, -1, -1, -1, 2.0, 0, "01457130763", "", 0, 50, 1, 95, 226, 118, 1 /*set*/, 104, 106, 81, 9 },
/* 30*/ { BARCODE_UPCA, -1, -1, -1, 2.0, 2.5, "01457130763", "", 0, 50, 1, 95, 565, 295, 1 /*set*/, 260, 265, 201, 22 }, /* Scale */
/* 31*/ { BARCODE_UPCA, -1, -1, -1, 2.0, 2.5, "01457130763", "", 0, 50, 1, 95, 565, 295, 0 /*set*/, 259, 260, 95, 180 }, /* Scale */
/* 32*/ { BARCODE_UPCA, -1, -1, -1, 0, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 116, 0 /*set*/, 14, 16, 208, 68 }, /* Default */
/* 33*/ { BARCODE_UPCA, -1, -1, -1, 0, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 116, 1 /*set*/, 16, 100, 244, 4 }, /* Default */
/* 34*/ { BARCODE_UPCA, -1, -1, -1, 0.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 115, 0 /*set*/, 14, 15, 208, 68 },
/* 35*/ { BARCODE_UPCA, -1, -1, -1, 0.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 115, 1 /*set*/, 16, 100, 244, 4 },
/* 36*/ { BARCODE_UPCA, -1, -1, -1, 1.0, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 116, 0 /*set*/, 14, 16, 208, 68 }, /* Same as default */
/* 37*/ { BARCODE_UPCA, -1, -1, -1, 1.0, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 116, 1 /*set*/, 16, 100, 244, 4 }, /* Same as default */
/* 38*/ { BARCODE_UPCA, -1, -1, -1, 1.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 117, 0 /*set*/, 14, 17, 208, 68 },
/* 39*/ { BARCODE_UPCA, -1, -1, -1, 1.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 117, 1 /*set*/, 17, 100, 244, 4 },
/* 40*/ { BARCODE_UPCA, -1, -1, -1, 2.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 119, 0 /*set*/, 14, 19, 208, 68 },
/* 41*/ { BARCODE_UPCA, -1, -1, -1, 2.5, 0, "01457130763+10", "", 0, 50, 1, 124, 276, 119, 1 /*set*/, 19, 100, 244, 4 },
/* 42*/ { BARCODE_UPCA_CC, -1, -1, -1, 0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 116, 0 /*set*/, 38, 40, 214, 70 }, /* Default */
/* 43*/ { BARCODE_UPCA_CC, -1, -1, -1, 0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 116, 1 /*set*/, 40, 100, 250, 4 }, /* Default */
/* 44*/ { BARCODE_UPCA_CC, -1, -1, -1, 1.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 116, 0 /*set*/, 38, 40, 214, 70 }, /* Same as default */
/* 45*/ { BARCODE_UPCA_CC, -1, -1, -1, 1.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 116, 1 /*set*/, 40, 100, 250, 4 },
/* 46*/ { BARCODE_UPCA_CC, -1, -1, -1, 3.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 120, 0 /*set*/, 38, 44, 214, 70 },
/* 47*/ { BARCODE_UPCA_CC, -1, -1, -1, 3.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 120, 1 /*set*/, 44, 100, 250, 4 },
/* 48*/ { BARCODE_UPCA_CC, -1, -1, 0, 0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 110, 0 /*set*/, 38, 40, 214, 70 }, /* Hide text default */
/* 49*/ { BARCODE_UPCA_CC, -1, -1, 0, 0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 110, 1 /*set*/, 40, 100, 250, 4 }, /* Hide text default */
/* 50*/ { BARCODE_UPCA_CC, -1, -1, 0, 3.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 110, 0 /*set*/, 38, 44, 214, 70 }, /* Hide text */
/* 51*/ { BARCODE_UPCA_CC, -1, -1, 0, 3.0, 0, "01457130763+10", "[91]12", 0, 50, 7, 128, 284, 110, 1 /*set*/, 44, 100, 250, 4 }, /* Hide text */
};
int data_size = ARRAY_SIZE(data);
int i, length, ret;
struct zint_symbol *symbol;
const char *text;
testStart("test_text_gap");
for (i = 0; i < data_size; i++) {
int row, column;
if (testContinue(p_ctx, i)) continue;
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
if (data[i].show_hrt != -1) {
symbol->show_hrt = data[i].show_hrt;
}
symbol->text_gap = data[i].text_gap;
if (data[i].scale != 0.0f) {
symbol->scale = data[i].scale;
}
if (strlen(data[i].composite)) {
text = data[i].composite;
strcpy(symbol->primary, data[i].data);
} else {
text = data[i].data;
}
length = testUtilSetSymbol(symbol, data[i].symbology, UNICODE_MODE, -1 /*eci*/, -1 /*option_1*/, data[i].option_2, -1, data[i].output_options, text, -1, debug);
ret = ZBarcode_Encode(symbol, (unsigned char *) text, length);
assert_zero(ret, "i:%d ZBarcode_Encode(%d) ret %d != 0 (%s)\n", i, data[i].symbology, ret, symbol->errtxt);
ret = ZBarcode_Buffer(symbol, 0);
assert_equal(ret, data[i].ret, "i:%d ZBarcode_Buffer(%d) ret %d != %d (%s)\n", i, data[i].symbology, ret, data[i].ret, symbol->errtxt);
assert_nonnull(symbol->bitmap, "i:%d (%d) symbol->bitmap NULL\n", i, data[i].symbology);
if (p_ctx->index != -1 && (debug & ZINT_DEBUG_TEST_PRINT)) testUtilBitmapPrint(symbol, NULL, NULL); /* ZINT_DEBUG_TEST_PRINT 16 */
assert_equal(symbol->height, data[i].expected_height, "i:%d (%d) symbol->height %.8g != %.8g\n", i, data[i].symbology, symbol->height, data[i].expected_height);
assert_equal(symbol->rows, data[i].expected_rows, "i:%d (%d) symbol->rows %d != %d\n", i, data[i].symbology, symbol->rows, data[i].expected_rows);
assert_equal(symbol->width, data[i].expected_width, "i:%d (%d) symbol->width %d != %d\n", i, data[i].symbology, symbol->width, data[i].expected_width);
assert_equal(symbol->bitmap_width, data[i].expected_bitmap_width, "i:%d (%d) symbol->bitmap_width %d != %d\n", i, data[i].symbology, symbol->bitmap_width, data[i].expected_bitmap_width);
assert_equal(symbol->bitmap_height, data[i].expected_bitmap_height, "i:%d (%d) symbol->bitmap_height %d != %d\n", i, data[i].symbology, symbol->bitmap_height, data[i].expected_bitmap_height);
ret = ZBarcode_Print(symbol, 0);
assert_equal(ret, data[i].ret, "i:%d ZBarcode_Print(%d) ret %d != %d (%s)\n", i, data[i].symbology, ret, data[i].ret, symbol->errtxt);
assert_zero(remove(symbol->outfile), "i:%d remove(%s) != 0\n", i, symbol->outfile);
assert_nonzero(symbol->bitmap_height >= data[i].expected_set_rows, "i:%d (%d) symbol->bitmap_height %d < expected_set_rows %d\n",
i, data[i].symbology, symbol->bitmap_height, data[i].expected_set_rows);
assert_nonzero(data[i].expected_set_rows > data[i].expected_set_row, "i:%d (%d) expected_set_rows %d < expected_set_row %d\n",
i, data[i].symbology, data[i].expected_set_rows, data[i].expected_set_row);
for (row = data[i].expected_set_row; row < data[i].expected_set_rows; row++) {
int bits_set = 0;
for (column = data[i].expected_set_col; column < data[i].expected_set_col + data[i].expected_set_len; column++) {
if (is_row_column_black(symbol, row, column)) {
bits_set++;
}
}
if (data[i].expected_set) {
assert_equal(bits_set, data[i].expected_set_len, "i:%d (%d) row %d bits_set %d != expected_set_len %d\n", i, data[i].symbology, row, bits_set, data[i].expected_set_len);
} else {
assert_zero(bits_set, "i:%d (%d) row %d bits_set %d != 0\n", i, data[i].symbology, row, bits_set);
}
}
ZBarcode_Delete(symbol);
}
testFinish();
}
static void test_buffer_plot(const testCtx *const p_ctx) { static void test_buffer_plot(const testCtx *const p_ctx) {
int debug = p_ctx->debug; int debug = p_ctx->debug;
@ -2979,6 +3133,7 @@ int main(int argc, char *argv[]) {
{ "test_scale", test_scale, }, { "test_scale", test_scale, },
{ "test_guard_descent", test_guard_descent, }, { "test_guard_descent", test_guard_descent, },
{ "test_quiet_zones", test_quiet_zones, }, { "test_quiet_zones", test_quiet_zones, },
{ "test_text_gap", test_text_gap, },
{ "test_buffer_plot", test_buffer_plot, }, { "test_buffer_plot", test_buffer_plot, },
{ "test_height", test_height, }, { "test_height", test_height, },
{ "test_height_per_row", test_height_per_row, }, { "test_height_per_row", test_height_per_row, },

View File

@ -54,62 +54,63 @@ static void test_print(const testCtx *const p_ctx) {
char *composite; char *composite;
int ret; int ret;
char *expected_file; char *expected_file;
char *comment;
}; };
struct item data[] = { struct item data[] = {
/* 0*/ { BARCODE_CODE128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "<>\"&'", "", 0, "code128_amperands.svg" }, /* 0*/ { BARCODE_CODE128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "<>\"&'", "", 0, "code128_amperands.svg", "" },
/* 1*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold.svg" }, /* 1*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold.svg", "" },
/* 2*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_box3.svg" }, /* 2*/ { BARCODE_CODE128, UNICODE_MODE, 3, BOLD_TEXT | BARCODE_BOX, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_box3.svg", "" },
/* 3*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.svg" }, /* 3*/ { BARCODE_CODE128, UNICODE_MODE, 2, BOLD_TEXT | BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp2_box2.svg", "" },
/* 4*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, 3, 3, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp3.svg" }, /* 4*/ { BARCODE_CODE128, UNICODE_MODE, -1, BOLD_TEXT, 3, 3, -1, -1, -1, -1, 0, "", "", 0, "Égjpqy", "", 0, "code128_egrave_bold_hvwsp3.svg", "" },
/* 5*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, "", "", 0, "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.svg" }, /* 5*/ { BARCODE_GS1_128_CC, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, "", "", 0, "[00]030123456789012340", "[02]13012345678909[37]24[10]1234567ABCDEFG", 0, "gs1_128_cc_fig12.svg", "" },
/* 6*/ { BARCODE_CODABLOCKF, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_3rows.svg" }, /* 6*/ { BARCODE_CODABLOCKF, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_3rows.svg", "" },
/* 7*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, 3, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2.svg" }, /* 7*/ { BARCODE_CODABLOCKF, -1, -1, -1, 2, 2, -1, 3, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2.svg", "" },
/* 8*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.svg" }, /* 8*/ { BARCODE_CODABLOCKF, -1, 2, BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "", "", 0, "AAAAAAAAA", "", 0, "codablockf_hvwsp2_box2.svg", "" },
/* 9*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.svg" }, /* 9*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "9771384524017+12", "", 0, "ean13_2addon_ggs_5.2.2.5.1-2.svg", "" },
/* 10*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.svg" }, /* 10*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "9780877799306+54321", "", 0, "ean13_5addon_ggs_5.2.2.5.2-2.svg", "" },
/* 11*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.svg" }, /* 11*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "123456789012+12", "[91]123456789012345678901", 0, "ean13_cc_2addon_cca_4x4.svg", "" },
/* 12*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.svg" }, /* 12*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4.svg", "" },
/* 13*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.svg" }, /* 13*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "123456789012+54321", "[91]1234567890", 0, "ean13_cc_5addon_ccb_3x4_notext.svg", "" },
/* 14*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.svg" }, /* 14*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "012345678905+24", "", 0, "upca_2addon_ggs_5.2.6.6-5.svg", "" },
/* 15*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon.svg" }, /* 15*/ { BARCODE_UPCA, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon.svg", "" },
/* 16*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_bind3.svg" }, /* 16*/ { BARCODE_UPCA, -1, 3, BARCODE_BIND, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_bind3.svg", "" },
/* 17*/ { BARCODE_UPCA, -1, -1, SMALL_TEXT | BOLD_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_small_bold.svg" }, /* 17*/ { BARCODE_UPCA, -1, -1, SMALL_TEXT | BOLD_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "614141234417+12345", "", 0, "upca_5addon_small_bold.svg", "Note BOLD_TEXT ignored for UPC/EAN" },
/* 18*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.svg" }, /* 18*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "12345678901+12", "[91]123456789", 0, "upca_cc_2addon_cca_3x4.svg", "" },
/* 19*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.svg" }, /* 19*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4.svg", "" },
/* 20*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.svg" }, /* 20*/ { BARCODE_UPCA_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_notext.svg", "" },
/* 21*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.svg" }, /* 21*/ { BARCODE_UPCA_CC, -1, 3, BARCODE_BIND, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "12345678901+12121", "[91]1234567890123", 0, "upca_cc_5addon_ccb_4x4_bind3.svg", "" },
/* 22*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12", "", 0, "upce_2addon.svg" }, /* 22*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12", "", 0, "upce_2addon.svg", "" },
/* 23*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon.svg" }, /* 23*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon.svg", "" },
/* 24*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon_small.svg" }, /* 24*/ { BARCODE_UPCE, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon_small.svg", "" },
/* 25*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon_notext.svg" }, /* 25*/ { BARCODE_UPCE, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "upce_5addon_notext.svg", "" },
/* 26*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.svg" }, /* 26*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2.svg", "" },
/* 27*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "FF0000EE", "0000FF11", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_fgbgalpha.svg" }, /* 27*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "FF0000EE", "0000FF11", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_fgbgalpha.svg", "" },
/* 28*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "FFFFFF00", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_nobg.svg" }, /* 28*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "FFFFFF00", 0, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_nobg.svg", "" },
/* 29*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 270, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_rotate_270.svg" }, /* 29*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 270, "0654321+89", "[91]1", 0, "upce_cc_2addon_cca_5x2_rotate_270.svg", "" },
/* 30*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.svg" }, /* 30*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2.svg", "" },
/* 31*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.svg" }, /* 31*/ { BARCODE_UPCE_CC, -1, -1, -1, -1, -1, 0, 2, -1, -1, 0, "", "", 0, "1876543+56789", "[91]12345", 0, "upce_cc_5addon_ccb_8x2_notext.svg", "" },
/* 32*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12", "", 0, "ean8_2addon.svg" }, /* 32*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12", "", 0, "ean8_2addon.svg", "" },
/* 33*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "ean8_5addon.svg" }, /* 33*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "1234567+12345", "", 0, "ean8_5addon.svg", "" },
/* 34*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.svg" }, /* 34*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, "", "", 0, "9876543+65", "[91]1234567", 0, "ean8_cc_2addon_cca_4x3.svg", "" },
/* 35*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.svg" }, /* 35*/ { BARCODE_EANX_CC, -1, -1, -1, -1, -1, -1, 2, -1, -1, 0, "", "", 0, "9876543+74083", "[91]123456789012345678", 0, "ean8_cc_5addon_ccb_8x3.svg", "" },
/* 36*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345", "", 0, "ean5.svg" }, /* 36*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345", "", 0, "ean5.svg", "" },
/* 37*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12", "", 0, "ean2.svg" }, /* 37*/ { BARCODE_EANX, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12", "", 0, "ean2.svg", "" },
/* 38*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "123", "", 0, "code39_small.svg" }, /* 38*/ { BARCODE_CODE39, -1, -1, SMALL_TEXT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "123", "", 0, "code39_small.svg", "" },
/* 39*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345", "", 0, "postnet_zip.svg" }, /* 39*/ { BARCODE_POSTNET, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345", "", 0, "postnet_zip.svg", "" },
/* 40*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_box2.svg" }, /* 40*/ { BARCODE_MAXICODE, -1, 2, BARCODE_BOX, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_box2.svg", "" },
/* 41*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.svg" }, /* 41*/ { BARCODE_MAXICODE, -1, 1, BARCODE_BIND, -1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_vwsp1_bind1.svg", "" },
/* 42*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "121212DD", "EEEEEE22", 90, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_fgbg_rotate_90.svg" }, /* 42*/ { BARCODE_MAXICODE, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "121212DD", "EEEEEE22", 90, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "maxicode_fgbg_rotate_90.svg", "" },
/* 43*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "datamatrix_vwsp1_bind1_dotty.svg" }, /* 43*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, -1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "datamatrix_vwsp1_bind1_dotty.svg", "" },
/* 44*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "datamatrix_hvwsp1_bind1_dotty.svg" }, /* 44*/ { BARCODE_DATAMATRIX, -1, 1, BARCODE_BIND | BARCODE_DOTTY_MODE, 1, 1, -1, -1, -1, -1, 0, "", "", 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", 0, "datamatrix_hvwsp1_bind1_dotty.svg", "" },
/* 45*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345678909", "", 0, "dbar_ltd.svg" }, /* 45*/ { BARCODE_DBAR_LTD, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "12345678909", "", 0, "dbar_ltd.svg", "" },
/* 46*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, "", "", 0, "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.svg" }, /* 46*/ { BARCODE_PDF417, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, "", "", 0, "Your Data Here!", "", ZINT_WARN_NONCOMPLIANT, "pdf417_height5.svg", "" },
/* 47*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, "", "", 0, "12345678901234567890", "", 0, "imail_height7.75.svg" }, /* 47*/ { BARCODE_USPS_IMAIL, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7.75, "", "", 0, "12345678901234567890", "", 0, "imail_height7.75.svg", "" },
/* 48*/ { BARCODE_ULTRA, -1, 3, BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "FF0000", "0000FF", 0, "12345678901234567890", "", 0, "ultra_fgbg_hvwsp2_box3.svg" }, /* 48*/ { BARCODE_ULTRA, -1, 3, BARCODE_BOX, 2, 2, -1, -1, -1, -1, 0, "FF0000", "0000FF", 0, "12345678901234567890", "", 0, "ultra_fgbg_hvwsp2_box3.svg", "" },
/* 49*/ { BARCODE_TELEPEN, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.4, "", "", 180, "A", "", 0, "telepen_height0.4_rotate_180.svg" }, /* 49*/ { BARCODE_TELEPEN, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.4, "", "", 180, "A", "", 0, "telepen_height0.4_rotate_180.svg", "" },
/* 50*/ { BARCODE_CODE49, -1, -1, COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "FF11157F", "", 0, "A", "", 0, "code49_comph_fgalpha.svg" }, /* 50*/ { BARCODE_CODE49, -1, -1, COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "FF11157F", "", 0, "A", "", 0, "code49_comph_fgalpha.svg", "" },
/* 51*/ { BARCODE_CODABLOCKF, -1, -1, COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 2, 0, "00000033", "FFFFFF66", 0, "1234567890123456789012345678901234", "", 0, "codablockf_comph_sep2_fgbgalpha.svg" }, /* 51*/ { BARCODE_CODABLOCKF, -1, -1, COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, 2, 0, "00000033", "FFFFFF66", 0, "1234567890123456789012345678901234", "", 0, "codablockf_comph_sep2_fgbgalpha.svg", "" },
/* 52*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "008182709980000020028101276", "", 0, "dpd_compliant.svg" }, /* 52*/ { BARCODE_DPD, -1, -1, BARCODE_QUIET_ZONES | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "", "", 0, "008182709980000020028101276", "", 0, "dpd_compliant.svg", "" },
/* 53*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "100,85,0,20", "FFFFFF00", 0, "123", "", 0, "channel_cmyk_nobg.svg" }, /* 53*/ { BARCODE_CHANNEL, -1, -1, CMYK_COLOUR | COMPLIANT_HEIGHT, -1, -1, -1, -1, -1, -1, 0, "100,85,0,20", "FFFFFF00", 0, "123", "", 0, "channel_cmyk_nobg.svg", "" },
}; };
int data_size = ARRAY_SIZE(data); int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;
@ -189,11 +190,11 @@ static void test_print(const testCtx *const p_ctx) {
assert_nonzero(testUtilDataPath(expected_file, sizeof(expected_file), data_dir, data[i].expected_file), "i:%d testUtilDataPath == 0\n", i); assert_nonzero(testUtilDataPath(expected_file, sizeof(expected_file), data_dir, data[i].expected_file), "i:%d testUtilDataPath == 0\n", i);
if (p_ctx->generate) { if (p_ctx->generate) {
printf(" /*%3d*/ { %s, %s, %d, %s, %d, %d, %d, %d, %d, %d, %.8g, \"%s\", \"%s\", %d, \"%s\", \"%s\", \"%s\" },\n", printf(" /*%3d*/ { %s, %s, %d, %s, %d, %d, %d, %d, %d, %d, %.8g, \"%s\", \"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\" },\n",
i, testUtilBarcodeName(data[i].symbology), testUtilInputModeName(data[i].input_mode), data[i].border_width, i, testUtilBarcodeName(data[i].symbology), testUtilInputModeName(data[i].input_mode), data[i].border_width,
testUtilOutputOptionsName(data[i].output_options), data[i].whitespace_width, data[i].whitespace_height, data[i].show_hrt, testUtilOutputOptionsName(data[i].output_options), data[i].whitespace_width, data[i].whitespace_height, data[i].show_hrt,
data[i].option_1, data[i].option_2, data[i].option_3, data[i].height, data[i].fgcolour, data[i].bgcolour, data[i].rotate_angle, data[i].option_1, data[i].option_2, data[i].option_3, data[i].height, data[i].fgcolour, data[i].bgcolour, data[i].rotate_angle,
testUtilEscape(data[i].data, length, escaped, escaped_size), data[i].composite, data[i].expected_file); testUtilEscape(data[i].data, length, escaped, escaped_size), data[i].composite, data[i].expected_file, data[i].comment);
ret = testUtilRename(symbol->outfile, expected_file); ret = testUtilRename(symbol->outfile, expected_file);
assert_zero(ret, "i:%d testUtilRename(%s, %s) ret %d != 0\n", i, symbol->outfile, expected_file, ret); assert_zero(ret, "i:%d testUtilRename(%s, %s) ret %d != 0\n", i, symbol->outfile, expected_file, ret);
if (have_libreoffice) { if (have_libreoffice) {

File diff suppressed because it is too large Load Diff

View File

@ -364,7 +364,7 @@ int testContinue(const testCtx *const p_ctx, const int i) {
/* Helper to set common symbol fields */ /* Helper to set common symbol fields */
int testUtilSetSymbol(struct zint_symbol *symbol, int symbology, int input_mode, int eci, int option_1, int option_2, int testUtilSetSymbol(struct zint_symbol *symbol, int symbology, int input_mode, int eci, int option_1, int option_2,
int option_3, int output_options, char *data, int length, int debug) { int option_3, int output_options, const char *data, int length, int debug) {
symbol->symbology = symbology; symbol->symbology = symbology;
if (input_mode != -1) { if (input_mode != -1) {
symbol->input_mode = input_mode; symbol->input_mode = input_mode;

View File

@ -1,6 +1,6 @@
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2019-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2019-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
@ -129,7 +129,7 @@ void assert_notequal(int e1, int e2, const char *fmt, ...);
INTERNAL void vector_free(struct zint_symbol *symbol); /* Free vector structures */ INTERNAL void vector_free(struct zint_symbol *symbol); /* Free vector structures */
int testUtilSetSymbol(struct zint_symbol *symbol, int symbology, int input_mode, int eci, int testUtilSetSymbol(struct zint_symbol *symbol, int symbology, int input_mode, int eci,
int option_1, int option_2, int option_3, int output_options, char *data, int length, int debug); int option_1, int option_2, int option_3, int output_options, const char *data, int length, int debug);
const char *testUtilBarcodeName(int symbology); const char *testUtilBarcodeName(int symbology);
const char *testUtilErrorName(int error_number); const char *testUtilErrorName(int error_number);

View File

@ -1,7 +1,7 @@
/* vector.c - Creates vector image objects */ /* vector.c - Creates vector image objects */
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2018-2022 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2018-2023 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
@ -126,7 +126,7 @@ static void vector_plot_add_circle(struct zint_symbol *symbol, struct zint_vecto
*last_circle = circle; *last_circle = circle;
} }
static int vector_plot_add_string(struct zint_symbol *symbol, const unsigned char *text, static int vector_plot_add_string(struct zint_symbol *symbol, const unsigned char *text, const int length,
const float x, const float y, const float fsize, const float width, const int halign, const float x, const float y, const float fsize, const float width, const int halign,
struct zint_vector_string **last_string) { struct zint_vector_string **last_string) {
struct zint_vector_string *string; struct zint_vector_string *string;
@ -141,7 +141,7 @@ static int vector_plot_add_string(struct zint_symbol *symbol, const unsigned cha
string->y = y; string->y = y;
string->width = width; string->width = width;
string->fsize = fsize; string->fsize = fsize;
string->length = (int) ustrlen(text); string->length = length == -1 ? (int) ustrlen(text) : length;
string->rotation = 0; string->rotation = 0;
string->halign = halign; string->halign = halign;
string->text = (unsigned char *) malloc(string->length + 1); string->text = (unsigned char *) malloc(string->length + 1);
@ -150,7 +150,8 @@ static int vector_plot_add_string(struct zint_symbol *symbol, const unsigned cha
strcpy(symbol->errtxt, "695: Insufficient memory for vector string text"); strcpy(symbol->errtxt, "695: Insufficient memory for vector string text");
return 0; return 0;
} }
ustrcpy(string->text, text); memcpy(string->text, text, string->length);
string->text[string->length] = '\0';
if (*last_string) if (*last_string)
(*last_string)->next = string; (*last_string)->next = string;
@ -398,7 +399,7 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
float textoffset; float textoffset;
int upceanflag = 0; int upceanflag = 0;
int addon_latch = 0; int addon_latch = 0;
unsigned char textpart1[5], textpart2[7], textpart3[7], textpart4[2]; unsigned char textparts[4][7];
int hide_text; int hide_text;
int i, r; int i, r;
int block_width = 0; int block_width = 0;
@ -408,13 +409,22 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
const int is_codablockf = symbol->symbology == BARCODE_CODABLOCKF || symbol->symbology == BARCODE_HIBC_BLOCKF; const int is_codablockf = symbol->symbology == BARCODE_CODABLOCKF || symbol->symbology == BARCODE_HIBC_BLOCKF;
const int no_extend = is_codablockf || symbol->symbology == BARCODE_DPD; const int no_extend = is_codablockf || symbol->symbology == BARCODE_DPD;
float addon_row_height;
float large_bar_height; float large_bar_height;
const float descent_factor = 0.1f; /* Assuming descent roughly 10% of font size */
/* For UPC/EAN only */
float addon_row_yposn;
float addon_row_height;
int upcae_outside_text_height = 0; /* UPC-A/E outside digits font size */ int upcae_outside_text_height = 0; /* UPC-A/E outside digits font size */
float digit_ascent_factor = 0.25f; /* Assuming digit ascent roughly 25% less than font size */ /* Note using "ascender" to mean height above digits as "ascent" usually measured from baseline */
const float digit_ascender_factor = 0.25f; /* Assuming digit ascender height roughly 25% of font size */
float digit_ascender = 0.0f; /* Avoid gcc -Wmaybe-uninitialized */
const float antialias_fudge_factor = 0.02f;
float antialias_fudge = 0.0f; /* Avoid gcc -Wmaybe-uninitialized */
int rect_count = 0, last_row_start = 0; /* For UPC/EAN guard bars */
float dot_overspill = 0.0f; float dot_overspill = 0.0f;
float dot_offset = 0.0f; float dot_offset = 0.0f;
int rect_count = 0, last_row_start = 0; /* For UPC/EAN guard bars */
float yposn; float yposn;
struct zint_vector *vector; struct zint_vector *vector;
@ -461,18 +471,21 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
out_set_whitespace_offsets(symbol, hide_text, &xoffset, &yoffset, &roffset, &boffset, 0 /*scaler*/, out_set_whitespace_offsets(symbol, hide_text, &xoffset, &yoffset, &roffset, &boffset, 0 /*scaler*/,
NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL);
/* Note font sizes scaled by 2 so really twice these values */ /* Note font sizes scaled by 2 so really twice these values */
if (upceanflag) { if (upceanflag) {
/* Note BOLD_TEXT ignored for UPCEAN by svg/emf/ps/qzint */ /* Note BOLD_TEXT ignored for UPCEAN by svg/emf/ps/qzint */
text_height = symbol->output_options & SMALL_TEXT ? 7 : 10; text_height = symbol->output_options & SMALL_TEXT ? 7 : 10;
digit_ascender = text_height * digit_ascender_factor; /* Digit ascender is unused (empty) */
antialias_fudge = text_height * antialias_fudge_factor;
upcae_outside_text_height = symbol->output_options & SMALL_TEXT ? 6 : 7; upcae_outside_text_height = symbol->output_options & SMALL_TEXT ? 6 : 7;
/* Negative to move close to barcode (less digit ascent, then add 0.5X) */ /* Note default 0.75 was 0.5 (minimum per standard) but that looks too close */
text_gap = -text_height * digit_ascent_factor + 0.5f; text_gap = (symbol->text_gap ? symbol->text_gap : 0.75f) - digit_ascender;
/* Guard bar height (none for EAN-2 and EAN-5) */ /* Guard bar height (none for EAN-2 and EAN-5) */
guard_descent = upceanflag != 2 && upceanflag != 5 ? symbol->guard_descent : 0.0f; guard_descent = upceanflag != 2 && upceanflag != 5 ? symbol->guard_descent : 0.0f;
} else { } else {
text_height = symbol->output_options & SMALL_TEXT ? 6 : 7; text_height = symbol->output_options & SMALL_TEXT ? 6 : 7;
text_gap = text_height * 0.1f; text_gap = symbol->text_gap ? symbol->text_gap : text_height * 0.1f;
guard_descent = 0.0f; guard_descent = 0.0f;
} }
@ -480,10 +493,9 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
textoffset = guard_descent; textoffset = guard_descent;
} else { } else {
if (upceanflag) { if (upceanflag) {
/* Add fudge for anti-aliasing of digits */ /* Add fudge for anti-aliasing of digit bottoms */
if (text_height + 0.2f + text_gap > guard_descent) { textoffset = text_height + text_gap + antialias_fudge;
textoffset = text_height + 0.2f + text_gap; if (textoffset < guard_descent) {
} else {
textoffset = guard_descent; textoffset = guard_descent;
} }
} else { } else {
@ -601,11 +613,12 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
&& module_is_set(symbol, r, i + block_width) == fill; block_width++); && module_is_set(symbol, r, i + block_width) == fill; block_width++);
if ((r == (symbol->rows - 1)) && (i > main_width) && (addon_latch == 0)) { if ((r == (symbol->rows - 1)) && (i > main_width) && (addon_latch == 0)) {
addon_text_yposn = yposn + text_height - text_height * digit_ascent_factor; addon_text_yposn = yposn + text_height - digit_ascender;
if (addon_text_yposn < 0.0f) { if (addon_text_yposn < 0.0f) {
addon_text_yposn = 0.0f; addon_text_yposn = 0.0f;
} }
addon_row_height = row_height - (addon_text_yposn - yposn) + text_gap; addon_row_yposn = yposn + text_height + text_gap + antialias_fudge;
addon_row_height = row_height - (addon_row_yposn - yposn);
if (upceanflag != 12 && upceanflag != 6) { /* UPC-A/E add-ons don't descend */ if (upceanflag != 12 && upceanflag != 6) { /* UPC-A/E add-ons don't descend */
addon_row_height += guard_descent; addon_row_height += guard_descent;
} }
@ -617,8 +630,8 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
if (fill) { if (fill) {
/* a bar */ /* a bar */
if (addon_latch) { if (addon_latch) {
rect = vector_plot_create_rect(symbol, i + xoffset, addon_text_yposn - text_gap, rect = vector_plot_create_rect(symbol, i + xoffset, addon_row_yposn, block_width,
block_width, addon_row_height); addon_row_height);
} else { } else {
rect = vector_plot_create_rect(symbol, i + xoffset, yposn, block_width, row_height); rect = vector_plot_create_rect(symbol, i + xoffset, yposn, block_width, row_height);
} }
@ -730,129 +743,107 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
xoffset += comp_xoffset; xoffset += comp_xoffset;
text_yposn = yoffset + symbol->height + text_height + text_gap; /* Calculated to bottom of text */ text_yposn = yoffset + symbol->height + text_height + text_gap; /* Calculated to bottom of text */
if (upceanflag) { /* Allow for anti-aliasing if UPC/EAN */
text_yposn -= antialias_fudge;
} else { /* Else adjust to baseline */
text_yposn -= text_height * descent_factor;
}
if (symbol->border_width > 0 && (symbol->output_options & (BARCODE_BOX | BARCODE_BIND))) { if (symbol->border_width > 0 && (symbol->output_options & (BARCODE_BOX | BARCODE_BIND))) {
text_yposn += symbol->border_width; /* Note not needed for BARCODE_BIND_TOP */ text_yposn += symbol->border_width; /* Note not needed for BARCODE_BIND_TOP */
} }
if (upceanflag >= 6) { /* UPC-E, EAN-8, UPC-A, EAN-13 */ if (upceanflag >= 6) { /* UPC-E, EAN-8, UPC-A, EAN-13 */
const int addon_len = (int) ustrlen(addon);
float textwidth; float textwidth;
out_upcean_split_text(upceanflag, symbol->text, textpart1, textpart2, textpart3, textpart4); out_upcean_split_text(upceanflag, symbol->text, textparts);
if (upceanflag == 6) { /* UPC-E */ if (upceanflag == 6) { /* UPC-E */
text_xposn = -5.0f + xoffset; text_xposn = -(5.0f - 0.35f) + xoffset;
textwidth = 6.2f; textwidth = 6.2f;
if (!vector_plot_add_string(symbol, textpart1, text_xposn, text_yposn, upcae_outside_text_height, if (!vector_plot_add_string(symbol, textparts[0], 1, text_xposn, text_yposn,
textwidth, 2 /*right align*/, &last_string)) return ZINT_ERROR_MEMORY; upcae_outside_text_height, textwidth, 2 /*right align*/,
text_xposn = 24.0f + xoffset; &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = (24.0f + 0.5f) + xoffset;
textwidth = 6.0f * 8.5f; textwidth = 6.0f * 8.5f;
if (!vector_plot_add_string(symbol, textpart2, text_xposn, text_yposn, text_height, if (!vector_plot_add_string(symbol, textparts[1], 6, text_xposn, text_yposn, text_height,
textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 51.0f + 3.0f + xoffset; text_xposn = (51.0f - 0.35f) + 3.0f + xoffset;
textwidth = 6.2f; textwidth = 6.2f;
if (!vector_plot_add_string(symbol, textpart3, text_xposn, text_yposn, upcae_outside_text_height, if (!vector_plot_add_string(symbol, textparts[2], 1, text_xposn, text_yposn,
textwidth, 1 /*left align*/, &last_string)) return ZINT_ERROR_MEMORY; upcae_outside_text_height, textwidth, 1 /*left align*/,
switch (ustrlen(addon)) { &last_string)) return ZINT_ERROR_MEMORY;
case 2: if (addon_len) {
text_xposn = 61.0f + xoffset + addon_gap; text_xposn = (addon_len == 2 ? 61.0f : 75.0f) + xoffset + addon_gap;
textwidth = 2.0f * 8.5f; textwidth = addon_len * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn, if (!vector_plot_add_string(symbol, addon, addon_len, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
break;
case 5:
text_xposn = 75.0f + xoffset + addon_gap;
textwidth = 5.0f * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
} }
} else if (upceanflag == 8) { /* EAN-8 */ } else if (upceanflag == 8) { /* EAN-8 */
text_xposn = 17.0f + xoffset; text_xposn = (17.0f + 0.5f) + xoffset;
textwidth = 4.0f * 8.5f; textwidth = 4.0f * 8.5f;
if (!vector_plot_add_string(symbol, textpart1, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, textparts[0], 4, text_xposn, text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 50.0f + xoffset; text_xposn = (50.0f - 0.5f) + xoffset;
if (!vector_plot_add_string(symbol, textpart2, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, textparts[1], 4, text_xposn, text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = (addon_len == 2 ? 77.0f : 91.0f) + xoffset + addon_gap;
text_xposn = 77.0f + xoffset + addon_gap; textwidth = addon_len * 8.5f;
textwidth = 2.0f * 8.5f; if (!vector_plot_add_string(symbol, addon, addon_len, text_xposn, addon_text_yposn,
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn, text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
case 5:
text_xposn = 91.0f + xoffset + addon_gap;
textwidth = 5.0f * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
} }
} else if (upceanflag == 12) { /* UPC-A */ } else if (upceanflag == 12) { /* UPC-A */
text_xposn = -5.0f + xoffset; text_xposn = -(5.0f - 0.35f) + xoffset;
textwidth = 6.2f; textwidth = 6.2f;
if (!vector_plot_add_string(symbol, textpart1, text_xposn, text_yposn, upcae_outside_text_height, if (!vector_plot_add_string(symbol, textparts[0], 1, text_xposn, text_yposn,
textwidth, 2 /*right align*/, &last_string)) return ZINT_ERROR_MEMORY; upcae_outside_text_height, textwidth, 2 /*right align*/,
text_xposn = 27.0f + xoffset; &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = (27.0f + 1.0f) + xoffset;
textwidth = 5.0f * 8.5f; textwidth = 5.0f * 8.5f;
if (!vector_plot_add_string(symbol, textpart2, text_xposn, text_yposn, text_height, if (!vector_plot_add_string(symbol, textparts[1], 5, text_xposn, text_yposn, text_height,
textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 67.0f + xoffset; text_xposn = 67.0f + xoffset;
if (!vector_plot_add_string(symbol, textpart3, text_xposn, text_yposn, text_height, if (!vector_plot_add_string(symbol, textparts[2], 5, text_xposn, text_yposn, text_height,
textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; textwidth, 0 /*left align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 95.0f + 5.0f + xoffset; text_xposn = (95.0f - 0.35f) + 5.0f + xoffset;
textwidth = 6.2f; textwidth = 6.2f;
if (!vector_plot_add_string(symbol, textpart4, text_xposn, text_yposn, upcae_outside_text_height, if (!vector_plot_add_string(symbol, textparts[3], 1, text_xposn, text_yposn,
textwidth, 1 /*left align*/, &last_string)) return ZINT_ERROR_MEMORY; upcae_outside_text_height, textwidth, 1 /*left align*/,
switch (ustrlen(addon)) { &last_string)) return ZINT_ERROR_MEMORY;
case 2: if (addon_len) {
text_xposn = 105.0f + xoffset + addon_gap; text_xposn = (addon_len == 2 ? 105.0f : 119.0f) + xoffset + addon_gap;
textwidth = 2.0f * 8.5f; textwidth = addon_len * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn, if (!vector_plot_add_string(symbol, addon, addon_len, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
break;
case 5:
text_xposn = 119.0f + xoffset + addon_gap;
textwidth = 5.0f * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
} }
} else { /* EAN-13 */ } else { /* EAN-13 */
text_xposn = -5.0f + xoffset; text_xposn = -(5.0f - 0.1f) + xoffset;
textwidth = 8.5f; textwidth = 8.5f;
if (!vector_plot_add_string(symbol, textpart1, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, textparts[0], 1, text_xposn, text_yposn,
text_height, textwidth, 2 /*right align*/, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 2 /*right align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 24.0f + xoffset; text_xposn = (24.0f + 0.5f) + xoffset;
textwidth = 6.0f * 8.5f; textwidth = 6.0f * 8.5f;
if (!vector_plot_add_string(symbol, textpart2, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, textparts[1], 6, text_xposn, text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_xposn = 71.0f + xoffset; text_xposn = (71.0f - 0.5f) + xoffset;
if (!vector_plot_add_string(symbol, textpart3, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, textparts[2], 6, text_xposn, text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
switch (ustrlen(addon)) { if (addon_len) {
case 2: text_xposn = (addon_len == 2 ? 105.0f : 119.0f) + xoffset + addon_gap;
text_xposn = 105.0f + xoffset + addon_gap; textwidth = addon_len * 8.5f;
textwidth = 2.0f * 8.5f; if (!vector_plot_add_string(symbol, addon, addon_len, text_xposn, addon_text_yposn,
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn, text_height, textwidth, 0 /*centre align*/, &last_string)) return ZINT_ERROR_MEMORY;
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
case 5:
text_xposn = 119.0f + xoffset + addon_gap;
textwidth = 5.0f * 8.5f;
if (!vector_plot_add_string(symbol, addon, text_xposn, addon_text_yposn,
text_height, textwidth, 0, &last_string)) return ZINT_ERROR_MEMORY;
break;
} }
} }
} else { } else {
/* Put normal human readable text at the bottom (and centered) */ /* Put normal human readable text at the bottom (and centered) */
/* calculate start xoffset to center text */ /* calculate start xoffset to center text */
text_xposn = main_width / 2.0f + xoffset; text_xposn = main_width / 2.0f + xoffset;
if (!vector_plot_add_string(symbol, symbol->text, text_xposn, text_yposn, if (!vector_plot_add_string(symbol, symbol->text, -1, text_xposn, text_yposn,
text_height, symbol->width, 0, &last_string)) return ZINT_ERROR_MEMORY; text_height, symbol->width, 0, &last_string)) return ZINT_ERROR_MEMORY;
} }

View File

@ -58,7 +58,7 @@ extern "C" {
}; };
struct zint_vector_string { struct zint_vector_string {
float x, y; /* Top with x relative to halign (i.e. centre, left, right) */ float x, y; /* x is relative to halign (i.e. centre, left, right), y is relative to baseline */
float fsize; /* Font size */ float fsize; /* Font size */
float width; /* Suggested string width, may be 0 if none recommended */ float width; /* Suggested string width, may be 0 if none recommended */
int length; /* Number of characters (bytes) */ int length; /* Number of characters (bytes) */
@ -116,6 +116,7 @@ extern "C" {
int eci; /* Extended Channel Interpretation. Default 0 (none) */ int eci; /* Extended Channel Interpretation. Default 0 (none) */
float dpmm; /* Resolution of output in dots per mm (BMP/EMF/PCX/PNG/TIF only). Default 0 (none) */ float dpmm; /* Resolution of output in dots per mm (BMP/EMF/PCX/PNG/TIF only). Default 0 (none) */
float dot_size; /* Size of dots used in BARCODE_DOTTY_MODE. Default 0.8 */ float dot_size; /* Size of dots used in BARCODE_DOTTY_MODE. Default 0.8 */
float text_gap; /* Gap between barcode and text (HRT). 0 means use default (font-specific) */
float guard_descent; /* Height in X-dimensions that EAN/UPC guard bars descend. Default 5 */ float guard_descent; /* Height in X-dimensions that EAN/UPC guard bars descend. Default 5 */
struct zint_structapp structapp; /* Structured Append info. Default structapp.count 0 (none) */ struct zint_structapp structapp; /* Structured Append info. Default structapp.count 0 (none) */
int warn_level; /* Affects error/warning value returned by Zint API (see WARN_XXX below) */ int warn_level; /* Affects error/warning value returned by Zint API (see WARN_XXX below) */

View File

@ -35,8 +35,8 @@
#define QSL QStringLiteral #define QSL QStringLiteral
namespace Zint { namespace Zint {
static const char fontStyle[] = "Helvetica"; static const QString fontFamily = QSL("Helvetica");
static const char fontStyleError[] = "Helvetica"; static const QString fontFamilyError = QSL("Helvetica");
static const int fontSizeError = 14; /* Point size */ static const int fontSizeError = 14; /* Point size */
static const int maxSegs = 256; static const int maxSegs = 256;
@ -130,6 +130,7 @@ namespace Zint {
maxBottom = circle->y + circle->diameter + circle->width; maxBottom = circle->y + circle->diameter + circle->width;
} }
} }
// TODO: Strings? // TODO: Strings?
} }
@ -145,6 +146,7 @@ namespace Zint {
m_scale(1.0f), m_scale(1.0f),
m_dotty(false), m_dot_size(4.0f / 5.0f), m_dotty(false), m_dot_size(4.0f / 5.0f),
m_guardDescent(5.0f), m_guardDescent(5.0f),
m_textGap(0.0f),
m_fgStr(QSL("000000")), m_bgStr(QSL("FFFFFF")), m_cmyk(false), m_fgStr(QSL("000000")), m_bgStr(QSL("FFFFFF")), m_cmyk(false),
m_borderType(0), m_borderWidth(0), m_borderType(0), m_borderWidth(0),
m_whitespace(0), m_vwhitespace(0), m_whitespace(0), m_vwhitespace(0),
@ -229,6 +231,7 @@ namespace Zint {
m_zintSymbol->dpmm = m_dpmm; m_zintSymbol->dpmm = m_dpmm;
m_zintSymbol->dot_size = m_dot_size; m_zintSymbol->dot_size = m_dot_size;
m_zintSymbol->guard_descent = m_guardDescent; m_zintSymbol->guard_descent = m_guardDescent;
m_zintSymbol->text_gap = m_textGap;
m_zintSymbol->structapp = m_structapp; m_zintSymbol->structapp = m_structapp;
m_zintSymbol->warn_level = m_warn_level; m_zintSymbol->warn_level = m_warn_level;
m_zintSymbol->debug = m_debug ? ZINT_DEBUG_PRINT : 0; m_zintSymbol->debug = m_debug ? ZINT_DEBUG_PRINT : 0;
@ -566,6 +569,15 @@ namespace Zint {
} }
} }
/* Text gap */
float QZint::textGap() const {
return m_textGap;
}
void QZint::setTextGap(float textGap) {
m_textGap = textGap;
}
/* Show (true) or hide (false) Human Readable Text */ /* Show (true) or hide (false) Human Readable Text */
bool QZint::showText() const { bool QZint::showText() const {
return m_show_hrt; return m_show_hrt;
@ -913,7 +925,7 @@ namespace Zint {
if (m_error >= ZINT_ERROR) { if (m_error >= ZINT_ERROR) {
painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::Antialiasing);
QFont font(fontStyleError, fontSizeError); QFont font(fontFamilyError, fontSizeError);
painter.setFont(font); painter.setFont(font);
painter.drawText(paintRect, Qt::AlignCenter | Qt::TextWordWrap, m_lastError); painter.drawText(paintRect, Qt::AlignCenter | Qt::TextWordWrap, m_lastError);
painter.restore(); painter.restore();
@ -1043,9 +1055,8 @@ namespace Zint {
QPen p; QPen p;
p.setColor(fgColor); p.setColor(fgColor);
painter.setPen(p); painter.setPen(p);
bool bold = (m_zintSymbol->output_options & BOLD_TEXT) bool bold = (m_zintSymbol->output_options & BOLD_TEXT) && !isExtendable();
&& (!isExtendable() || (m_zintSymbol->output_options & SMALL_TEXT)); QFont font(fontFamily, -1 /*pointSize*/, bold ? QFont::Bold : -1);
QFont font(fontStyle, -1 /*pointSize*/, bold ? QFont::Bold : -1);
while (string) { while (string) {
font.setPixelSize(string->fsize); font.setPixelSize(string->fsize);
painter.setFont(font); painter.setFont(font);
@ -1055,7 +1066,7 @@ namespace Zint {
painter.drawText(QPointF(string->x, string->y), content); painter.drawText(QPointF(string->x, string->y), content);
} else { } else {
QFontMetrics fm(painter.fontMetrics()); QFontMetrics fm(painter.fontMetrics());
int width = fm.boundingRect(content).width(); int width = fm.horizontalAdvance(content);
if (string->halign == 2) { /* Right align */ if (string->halign == 2) { /* Right align */
painter.drawText(QPointF(string->x - width, string->y), content); painter.drawText(QPointF(string->x - width, string->y), content);
} else { /* Centre align */ } else { /* Centre align */
@ -1140,7 +1151,8 @@ namespace Zint {
const bool autoHeight, const float heightPerRow, const QString& outfile, const bool autoHeight, const float heightPerRow, const QString& outfile,
const QZintXdimDpVars *xdimdpVars) const { const QZintXdimDpVars *xdimdpVars) const {
QString cmd(win && !noEXE ? QSL("zint.exe") : QSL("zint")); QString cmd(win && !noEXE ? QSL("zint.exe") : QSL("zint"));
bool nobackground = bgColor().alpha() == 0; const bool nobackground = bgColor().alpha() == 0;
const bool notext = hasHRT() && !showText();
char name_buf[32]; char name_buf[32];
if (barcodeNames && ZBarcode_BarcodeName(m_symbol, name_buf) == 0) { if (barcodeNames && ZBarcode_BarcodeName(m_symbol, name_buf) == 0) {
@ -1181,7 +1193,7 @@ namespace Zint {
if (!default_bind_top) { if (!default_bind_top) {
arg_bool(cmd, "--bindtop", borderType() & BARCODE_BIND_TOP); arg_bool(cmd, "--bindtop", borderType() & BARCODE_BIND_TOP);
} }
arg_bool(cmd, "--bold", fontSetting() & BOLD_TEXT); arg_bool(cmd, "--bold", !notext && (fontSetting() & BOLD_TEXT) && !isExtendable());
if (!default_border) { if (!default_border) {
arg_int(cmd, "--border=", borderWidth()); arg_int(cmd, "--border=", borderWidth());
} }
@ -1265,7 +1277,7 @@ namespace Zint {
arg_bool(cmd, "--nobackground", nobackground); arg_bool(cmd, "--nobackground", nobackground);
arg_bool(cmd, "--noquietzones", hasDefaultQuietZones() && noQuietZones()); arg_bool(cmd, "--noquietzones", hasDefaultQuietZones() && noQuietZones());
arg_bool(cmd, "--notext", hasHRT() && !showText()); arg_bool(cmd, "--notext", notext);
arg_data(cmd, longOptOnly ? "--output=" : "-o ", outfile, win); arg_data(cmd, longOptOnly ? "--output=" : "-o ", outfile, win);
if (m_symbol == BARCODE_MAXICODE || isComposite()) { if (m_symbol == BARCODE_MAXICODE || isComposite()) {
@ -1306,7 +1318,7 @@ namespace Zint {
arg_int(cmd, "--separator=", option3()); arg_int(cmd, "--separator=", option3());
} }
arg_bool(cmd, "--small", fontSetting() & SMALL_TEXT); arg_bool(cmd, "--small", !notext && (fontSetting() & SMALL_TEXT));
if (m_symbol == BARCODE_DATAMATRIX || m_symbol == BARCODE_HIBC_DM) { if (m_symbol == BARCODE_DATAMATRIX || m_symbol == BARCODE_HIBC_DM) {
arg_bool(cmd, "--square", option3() == DM_SQUARE); arg_bool(cmd, "--square", option3() == DM_SQUARE);
@ -1316,6 +1328,10 @@ namespace Zint {
arg_structapp(cmd, "--structapp=", structAppCount(), structAppIndex(), structAppID(), win); arg_structapp(cmd, "--structapp=", structAppCount(), structAppIndex(), structAppID(), win);
} }
if (!notext && textGap() != 0.0f) {
arg_float(cmd, "--textgap=", textGap(), true /*allowZero*/);
}
arg_bool(cmd, "--verbose", debug()); arg_bool(cmd, "--verbose", debug());
if (m_symbol == BARCODE_AZTEC || m_symbol == BARCODE_HIBC_AZTEC if (m_symbol == BARCODE_AZTEC || m_symbol == BARCODE_HIBC_AZTEC

View File

@ -165,6 +165,10 @@ public:
void setFontSetting(int fontSettingIndex); // Sets from comboBox index void setFontSetting(int fontSettingIndex); // Sets from comboBox index
void setFontSettingValue(int fontSetting); // Sets literal value void setFontSettingValue(int fontSetting); // Sets literal value
/* Text gap */
float textGap() const; // `symbol->text_gap`
void setTextGap(float textGap);
/* Show (true) or hide (false) Human Readable Text */ /* Show (true) or hide (false) Human Readable Text */
bool showText() const; // `symbol->show_hrt` bool showText() const; // `symbol->show_hrt`
void setShowText(bool showText); void setShowText(bool showText);
@ -355,6 +359,7 @@ private:
bool m_dotty; bool m_dotty;
float m_dot_size; float m_dot_size;
float m_guardDescent; float m_guardDescent;
float m_textGap;
struct zint_structapp m_structapp; struct zint_structapp m_structapp;
QString m_fgStr; QString m_fgStr;
QString m_bgStr; QString m_bgStr;

View File

@ -127,6 +127,10 @@ private slots:
bc.setDotSize(dotSize); bc.setDotSize(dotSize);
QCOMPARE(bc.dotSize(), dotSize); QCOMPARE(bc.dotSize(), dotSize);
float textGap = 4.321f;
bc.setTextGap(textGap);
QCOMPARE(bc.textGap(), textGap);
float guardDescent = 0.678f; float guardDescent = 0.678f;
bc.setGuardDescent(guardDescent); bc.setGuardDescent(guardDescent);
QCOMPARE(bc.guardDescent(), guardDescent); QCOMPARE(bc.guardDescent(), guardDescent);
@ -526,6 +530,7 @@ private slots:
QTest::addColumn<float>("dpmm"); QTest::addColumn<float>("dpmm");
QTest::addColumn<bool>("dotty"); QTest::addColumn<bool>("dotty");
QTest::addColumn<float>("dotSize"); QTest::addColumn<float>("dotSize");
QTest::addColumn<float>("textGap");
QTest::addColumn<float>("guardDescent"); QTest::addColumn<float>("guardDescent");
QTest::addColumn<int>("structAppCount"); QTest::addColumn<int>("structAppCount");
@ -558,8 +563,8 @@ private slots:
QTest::addColumn<int>("warnLevel"); QTest::addColumn<int>("warnLevel");
QTest::addColumn<bool>("debug"); QTest::addColumn<bool>("debug");
QTest::addColumn<double>("xdimdp_xdim"); QTest::addColumn<double>("xdimdp_x_dim");
QTest::addColumn<int>("xdimdp_xdim_units"); QTest::addColumn<int>("xdimdp_x_dim_units");
QTest::addColumn<int>("xdimdp_resolution"); QTest::addColumn<int>("xdimdp_resolution");
QTest::addColumn<int>("xdimdp_resolution_units"); QTest::addColumn<int>("xdimdp_resolution_units");
QTest::addColumn<int>("xdimdp_filetype"); QTest::addColumn<int>("xdimdp_filetype");
@ -575,7 +580,7 @@ private slots:
QTest::newRow("BARCODE_AUSPOST") << true << 0.0f << "" QTest::newRow("BARCODE_AUSPOST") << true << 0.0f << ""
<< BARCODE_AUSPOST << DATA_MODE // symbology-inputMode << BARCODE_AUSPOST << DATA_MODE // symbology-inputMode
<< "12345678" << "" // text-primary << "12345678" << "" // text-primary
<< 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -592,7 +597,7 @@ private slots:
QTest::newRow("BARCODE_AZTEC") << false << 0.0f << "" QTest::newRow("BARCODE_AZTEC") << false << 0.0f << ""
<< BARCODE_AZTEC << UNICODE_MODE // symbology-inputMode << BARCODE_AZTEC << UNICODE_MODE // symbology-inputMode
<< "12345678Ж0%var%" << "" // text-primary << "12345678Ж0%var%" << "" // text-primary
<< 0.0f << 1 << 0 << 0 << 4.0f << 0.0f << true << 0.9f // height-dotSize << 0.0f << 1 << 0 << 0 << 4.0f << 0.0f << true << 0.9f << 0.0f // height-textGap
<< 5.0f << 2 << 1 << "as\"dfa'sdf" // guardDescent-structAppID << 5.0f << 2 << 1 << "as\"dfa'sdf" // guardDescent-structAppID
<< "" << "" << QColor(Qt::blue) << QColor(Qt::white) << true // fgStr-cmyk << "" << "" << QColor(Qt::blue) << QColor(Qt::white) << true // fgStr-cmyk
<< 0 << 0 << 2 << 3 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 2 << 3 << 0 // borderTypeIndex-fontSetting
@ -608,7 +613,7 @@ private slots:
QTest::newRow("BARCODE_AZTEC") << false << 0.0f << "" QTest::newRow("BARCODE_AZTEC") << false << 0.0f << ""
<< BARCODE_AZTEC << UNICODE_MODE // symbology-inputMode << BARCODE_AZTEC << UNICODE_MODE // symbology-inputMode
<< "12345678Ж0%var%" << "" // text-primary << "12345678Ж0%var%" << "" // text-primary
<< 0.0f << 1 << 0 << 0 << 4.0f << 0.0f << true << 0.9f // height-dotSize << 0.0f << 1 << 0 << 0 << 4.0f << 0.0f << true << 0.9f << 0.0f // height-textGap
<< 5.0f << 2 << 1 << "as\"dfa'sdf" // guardDescent-structAppID << 5.0f << 2 << 1 << "as\"dfa'sdf" // guardDescent-structAppID
<< "71,0,40,44" << "0,0,0,0" << QColor(Qt::black) << QColor(Qt::white) << true // fgStr-cmyk << "71,0,40,44" << "0,0,0,0" << QColor(Qt::black) << QColor(Qt::white) << true // fgStr-cmyk
<< 0 << 0 << 2 << 3 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 2 << 3 << 0 // borderTypeIndex-fontSetting
@ -624,7 +629,7 @@ private slots:
QTest::newRow("BARCODE_C25INTER") << true << 0.0f << "" QTest::newRow("BARCODE_C25INTER") << true << 0.0f << ""
<< BARCODE_C25INTER << UNICODE_MODE // symbology-inputMode << BARCODE_C25INTER << UNICODE_MODE // symbology-inputMode
<< "12345" << "" // text-primary << "12345" << "" // text-primary
<< 0.0f << -1 << 2 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << -1 << 2 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << SMALL_TEXT // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << SMALL_TEXT // borderTypeIndex-fontSetting
@ -638,7 +643,7 @@ private slots:
QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << "" QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << ""
<< BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode << BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode
<< "453678" << "" // text-primary << "453678" << "" // text-primary
<< 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(255, 255, 255, 0) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(255, 255, 255, 0) << false // fgStr-cmyk
<< 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting << 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting
@ -654,7 +659,7 @@ private slots:
QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << "" QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << ""
<< BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode << BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode
<< "453678" << "" // text-primary << "453678" << "" // text-primary
<< 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "FFFFFF00" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "FFFFFF00" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting << 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting
@ -670,7 +675,7 @@ private slots:
QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << "" QTest::newRow("BARCODE_CHANNEL") << false << 0.0f << ""
<< BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode << BARCODE_CHANNEL << UNICODE_MODE // symbology-inputMode
<< "453678" << "" // text-primary << "453678" << "" // text-primary
<< 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 19.7f << -1 << 7 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "12345600" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "12345600" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting << 1 << 2 << 0 << 0 << BOLD_TEXT // borderTypeIndex-fontSetting
@ -686,7 +691,7 @@ private slots:
QTest::newRow("BARCODE_CODE128") << false << 0.0f << "" QTest::newRow("BARCODE_CODE128") << false << 0.0f << ""
<< BARCODE_CODE128 << (UNICODE_MODE | EXTRA_ESCAPE_MODE) // symbology-inputMode << BARCODE_CODE128 << (UNICODE_MODE | EXTRA_ESCAPE_MODE) // symbology-inputMode
<< "1234\\^A56" << "" // text-primary << "1234\\^A56" << "" // text-primary
<< 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -700,7 +705,7 @@ private slots:
QTest::newRow("BARCODE_GS1_128_CC") << false << 0.0f << "" QTest::newRow("BARCODE_GS1_128_CC") << false << 0.0f << ""
<< BARCODE_GS1_128_CC << UNICODE_MODE // symbology-inputMode << BARCODE_GS1_128_CC << UNICODE_MODE // symbology-inputMode
<< "[01]12345678901231[15]121212" << "[11]901222[99]ABCDE" // text-primary << "[01]12345678901231[15]121212" << "[11]901222[99]ABCDE" // text-primary
<< 71.142f << 3 << 0 << 0 << 3.5f << 0.0f << false << 0.8f // height-dotSize << 71.142f << 3 << 0 << 0 << 3.5f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -716,7 +721,7 @@ private slots:
QTest::newRow("BARCODE_CODE16K") << false << 11.7f << "" QTest::newRow("BARCODE_CODE16K") << false << 11.7f << ""
<< BARCODE_CODE16K << (UNICODE_MODE | HEIGHTPERROW_MODE) // symbology-inputMode << BARCODE_CODE16K << (UNICODE_MODE | HEIGHTPERROW_MODE) // symbology-inputMode
<< "12345678901234567890123456789012" << "" // text-primary << "12345678901234567890123456789012" << "" // text-primary
<< 0.0f << 4 << 0 << 2 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << 4 << 0 << 2 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 1 << 1 << 0 << 0 << SMALL_TEXT // borderTypeIndex-fontSetting << 1 << 1 << 0 << 0 << SMALL_TEXT // borderTypeIndex-fontSetting
@ -732,7 +737,7 @@ private slots:
QTest::newRow("BARCODE_CODE49") << true << 0.0f << "" QTest::newRow("BARCODE_CODE49") << true << 0.0f << ""
<< BARCODE_CODE49 << UNICODE_MODE // symbology-inputMode << BARCODE_CODE49 << UNICODE_MODE // symbology-inputMode
<< "12345678901234567890" << "" // text-primary << "12345678901234567890" << "" // text-primary
<< 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -746,7 +751,7 @@ private slots:
QTest::newRow("BARCODE_CODABLOCKF") << true << 0.0f << "" QTest::newRow("BARCODE_CODABLOCKF") << true << 0.0f << ""
<< BARCODE_CODABLOCKF << (DATA_MODE | ESCAPE_MODE) // symbology-inputMode << BARCODE_CODABLOCKF << (DATA_MODE | ESCAPE_MODE) // symbology-inputMode
<< "T\\n\\xA0t\\\"" << "" // text-primary << "T\\n\\xA0t\\\"" << "" // text-primary
<< 0.0f << 2 << 5 << 3 << 3.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << 2 << 5 << 3 << 3.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 2 << 4 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 2 << 4 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -762,7 +767,7 @@ private slots:
QTest::newRow("BARCODE_DAFT") << false << 0.0f << "" QTest::newRow("BARCODE_DAFT") << false << 0.0f << ""
<< BARCODE_DAFT << UNICODE_MODE // symbology-inputMode << BARCODE_DAFT << UNICODE_MODE // symbology-inputMode
<< "daft" << "" // text-primary << "daft" << "" // text-primary
<< 9.2f << -1 << 251 << 0 << 1.0f << 0.0f << false << 0.7f // height-dotSize << 9.2f << -1 << 251 << 0 << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(0x30, 0x31, 0x32, 0x33) << QColor(0xBF, 0xBE, 0xBD, 0xBC) << false // fgStr-cmyk << "" << "" << QColor(0x30, 0x31, 0x32, 0x33) << QColor(0xBF, 0xBE, 0xBD, 0xBC) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -776,7 +781,7 @@ private slots:
QTest::newRow("BARCODE_DATAMATRIX") << true << 0.0f << "" QTest::newRow("BARCODE_DATAMATRIX") << true << 0.0f << ""
<< BARCODE_DATAMATRIX << GS1_MODE // symbology-inputMode << BARCODE_DATAMATRIX << GS1_MODE // symbology-inputMode
<< "[20]12" << "" // text-primary << "[20]12" << "" // text-primary
<< 0.0f << -1 << 0 << DM_SQUARE << 1.0f << 0.0f << false << 0.7f // height-dotSize << 0.0f << -1 << 0 << DM_SQUARE << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -790,7 +795,7 @@ private slots:
QTest::newRow("BARCODE_DATAMATRIX") << false << 0.0f << "" QTest::newRow("BARCODE_DATAMATRIX") << false << 0.0f << ""
<< BARCODE_DATAMATRIX << (DATA_MODE | ESCAPE_MODE | FAST_MODE) // symbology-inputMode << BARCODE_DATAMATRIX << (DATA_MODE | ESCAPE_MODE | FAST_MODE) // symbology-inputMode
<< "ABCDEFGH\\x01I" << "" // text-primary << "ABCDEFGH\\x01I" << "" // text-primary
<< 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.7f // height-dotSize << 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -804,7 +809,7 @@ private slots:
QTest::newRow("BARCODE_DBAR_EXPSTK_CC") << false << 40.8f << "" QTest::newRow("BARCODE_DBAR_EXPSTK_CC") << false << 40.8f << ""
<< BARCODE_DBAR_EXPSTK_CC << (DATA_MODE | HEIGHTPERROW_MODE) // symbology-inputMode << BARCODE_DBAR_EXPSTK_CC << (DATA_MODE | HEIGHTPERROW_MODE) // symbology-inputMode
<< "[91]ABCDEFGHIJKL" << "[11]901222[99]ABCDE" // text-primary << "[91]ABCDEFGHIJKL" << "[11]901222[99]ABCDE" // text-primary
<< 0.0f << -1 << 0 << 2 << 1.0f << 0.0f << true << 0.9f // height-dotSize << 0.0f << -1 << 0 << 2 << 1.0f << 0.0f << true << 0.9f << 0.0f // height-textGap
<< 3.0f << 2 << 1 << "" // guardDescent-structAppID << 3.0f << 2 << 1 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -820,7 +825,7 @@ private slots:
QTest::newRow("BARCODE_DOTCODE") << false << 1.0f << "" QTest::newRow("BARCODE_DOTCODE") << false << 1.0f << ""
<< BARCODE_DOTCODE << GS1_MODE // symbology-inputMode << BARCODE_DOTCODE << GS1_MODE // symbology-inputMode
<< "[20]01" << "" // text-primary << "[20]01" << "" // text-primary
<< 30.0f << -1 << 8 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.7f // height-dotSize << 30.0f << -1 << 8 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 0.0f << 0 << 0 << "" // guardDescent-structAppID << 0.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -834,7 +839,7 @@ private slots:
QTest::newRow("BARCODE_DOTCODE") << false << 1.0f << "" QTest::newRow("BARCODE_DOTCODE") << false << 1.0f << ""
<< BARCODE_DOTCODE << GS1_MODE // symbology-inputMode << BARCODE_DOTCODE << GS1_MODE // symbology-inputMode
<< "[20]01" << "" // text-primary << "[20]01" << "" // text-primary
<< 30.0f << -1 << 8 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.7f // height-dotSize << 30.0f << -1 << 8 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 0.0f << 0 << 0 << "" // guardDescent-structAppID << 0.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -848,7 +853,7 @@ private slots:
QTest::newRow("BARCODE_DPD") << true << 0.0f << "" QTest::newRow("BARCODE_DPD") << true << 0.0f << ""
<< BARCODE_DPD << UNICODE_MODE // symbology-inputMode << BARCODE_DPD << UNICODE_MODE // symbology-inputMode
<< "1234567890123456789012345678" << "" // text-primary << "1234567890123456789012345678" << "" // text-primary
<< 0.0f << -1 << 0 << 0 << 4.5f << 24.0f << true << 0.8f // height-dotSize << 0.0f << -1 << 0 << 0 << 4.5f << 24.0f << true << 0.8f << 0.0f // height-textGap
<< 0.0f << 0 << 0 << "" // guardDescent-structAppID << 0.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -863,7 +868,7 @@ private slots:
QTest::newRow("BARCODE_EANX") << true << 0.0f << "" QTest::newRow("BARCODE_EANX") << true << 0.0f << ""
<< BARCODE_EANX << UNICODE_MODE // symbology-inputMode << BARCODE_EANX << UNICODE_MODE // symbology-inputMode
<< "123456789012+12" << "" // text-primary << "123456789012+12" << "" // text-primary
<< 0.0f << -1 << 8 << 0 << 1.0f << 0.0f << true << 0.8f // height-dotSize << 0.0f << -1 << 8 << 0 << 1.0f << 0.0f << true << 0.8f << 0.0f // height-textGap
<< 0.0f << 0 << 0 << "" // guardDescent-structAppID << 0.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -877,7 +882,7 @@ private slots:
QTest::newRow("BARCODE_GRIDMATRIX") << false << 0.0f << "" QTest::newRow("BARCODE_GRIDMATRIX") << false << 0.0f << ""
<< BARCODE_GRIDMATRIX << UNICODE_MODE // symbology-inputMode << BARCODE_GRIDMATRIX << UNICODE_MODE // symbology-inputMode
<< "Your Data Here!" << "" // text-primary << "Your Data Here!" << "" // text-primary
<< 0.0f << 1 << 5 << 0 << 0.5f << 0.0f << false << 0.8f // height-dotSize << 0.0f << 1 << 5 << 0 << 0.5f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -891,7 +896,7 @@ private slots:
QTest::newRow("BARCODE_HANXIN") << false << 0.0f << "" QTest::newRow("BARCODE_HANXIN") << false << 0.0f << ""
<< BARCODE_HANXIN << (UNICODE_MODE | ESCAPE_MODE) // symbology-inputMode << BARCODE_HANXIN << (UNICODE_MODE | ESCAPE_MODE) // symbology-inputMode
<< "éβÿ啊\\e\"'" << "" // text-primary << "éβÿ啊\\e\"'" << "" // text-primary
<< 30.0f << 2 << 5 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << 2 << 5 << ((0 + 1) << 8) << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -905,7 +910,7 @@ private slots:
QTest::newRow("BARCODE_HIBC_DM") << false << 10.0f << "" QTest::newRow("BARCODE_HIBC_DM") << false << 10.0f << ""
<< BARCODE_HIBC_DM << UNICODE_MODE // symbology-inputMode << BARCODE_HIBC_DM << UNICODE_MODE // symbology-inputMode
<< "1234" << "" // text-primary << "1234" << "" // text-primary
<< 0.0f << -1 << 8 << DM_DMRE << 1.0f << 0.0f << false << 0.7f // height-dotSize << 0.0f << -1 << 8 << DM_DMRE << 1.0f << 0.0f << false << 0.7f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -919,7 +924,7 @@ private slots:
QTest::newRow("BARCODE_HIBC_PDF") << false << 0.0f << "" QTest::newRow("BARCODE_HIBC_PDF") << false << 0.0f << ""
<< BARCODE_HIBC_PDF << (DATA_MODE | HEIGHTPERROW_MODE) // symbology-inputMode << BARCODE_HIBC_PDF << (DATA_MODE | HEIGHTPERROW_MODE) // symbology-inputMode
<< "TEXT" << "" // text-primary << "TEXT" << "" // text-primary
<< 3.5f << 3 << 4 << 10 << 10.0f << 0.0f << false << 0.8f // height-dotSize << 3.5f << 3 << 4 << 10 << 10.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 2 << 1 << "" // guardDescent-structAppID << 5.0f << 2 << 1 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -935,7 +940,7 @@ private slots:
QTest::newRow("BARCODE_ITF14") << true << 0.0f << "" QTest::newRow("BARCODE_ITF14") << true << 0.0f << ""
<< BARCODE_ITF14 << UNICODE_MODE // symbology-inputMode << BARCODE_ITF14 << UNICODE_MODE // symbology-inputMode
<< "9212320967145" << "" // text-primary << "9212320967145" << "" // text-primary
<< 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -949,7 +954,7 @@ private slots:
QTest::newRow("BARCODE_ITF14") << true << 0.0f << "" QTest::newRow("BARCODE_ITF14") << true << 0.0f << ""
<< BARCODE_ITF14 << UNICODE_MODE // symbology-inputMode << BARCODE_ITF14 << UNICODE_MODE // symbology-inputMode
<< "9212320967145" << "" // text-primary << "9212320967145" << "" // text-primary
<< 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 1 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 1 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -964,7 +969,7 @@ private slots:
<< BARCODE_MAXICODE << (UNICODE_MODE | ESCAPE_MODE) // symbology-inputMode << BARCODE_MAXICODE << (UNICODE_MODE | ESCAPE_MODE) // symbology-inputMode
<< "152382802840001" << "152382802840001"
<< "1Z00004951\\GUPSN\\G06X610\\G159\\G1234567\\G1/1\\G\\GY\\G1 MAIN ST\\GTOWN\\GNY\\R\\E" // text-primary << "1Z00004951\\GUPSN\\G06X610\\G159\\G1234567\\G1/1\\G\\GY\\G1 MAIN ST\\GTOWN\\GNY\\R\\E" // text-primary
<< 0.0f << -1 << (96 + 1) << 0 << 2.5f << 0.0f << false << 0.8f // height-dotSize << 0.0f << -1 << (96 + 1) << 0 << 2.5f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -980,7 +985,7 @@ private slots:
QTest::newRow("BARCODE_MICROQR") << false << 0.0f << "" QTest::newRow("BARCODE_MICROQR") << false << 0.0f << ""
<< BARCODE_MICROQR << UNICODE_MODE // symbology-inputMode << BARCODE_MICROQR << UNICODE_MODE // symbology-inputMode
<< "1234" << "" // text-primary << "1234" << "" // text-primary
<< 30.0f << 2 << 3 << (ZINT_FULL_MULTIBYTE | (3 + 1) << 8) << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << 2 << 3 << (ZINT_FULL_MULTIBYTE | (3 + 1) << 8) << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -994,7 +999,7 @@ private slots:
QTest::newRow("BARCODE_QRCODE") << true << 0.0f << "" QTest::newRow("BARCODE_QRCODE") << true << 0.0f << ""
<< BARCODE_QRCODE << GS1_MODE // symbology-inputMode << BARCODE_QRCODE << GS1_MODE // symbology-inputMode
<< "(01)12" << "" // text-primary << "(01)12" << "" // text-primary
<< 0.0f << 1 << 5 << (ZINT_FULL_MULTIBYTE | (0 + 1) << 8) << 1.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << 1 << 5 << (ZINT_FULL_MULTIBYTE | (0 + 1) << 8) << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -1010,7 +1015,7 @@ private slots:
QTest::newRow("BARCODE_RMQR") << true << 0.0f << "" QTest::newRow("BARCODE_RMQR") << true << 0.0f << ""
<< BARCODE_RMQR << UNICODE_MODE // symbology-inputMode << BARCODE_RMQR << UNICODE_MODE // symbology-inputMode
<< "" << "" // text-primary << "" << "" // text-primary
<< 30.0f << -1 << 8 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 30.0f << -1 << 8 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -1024,7 +1029,7 @@ private slots:
QTest::newRow("BARCODE_ULTRA") << false << 0.0f << "" QTest::newRow("BARCODE_ULTRA") << false << 0.0f << ""
<< BARCODE_ULTRA << (GS1_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE) // symbology-inputMode << BARCODE_ULTRA << (GS1_MODE | GS1PARENS_MODE | GS1NOCHECK_MODE) // symbology-inputMode
<< "(01)1" << "" // text-primary << "(01)1" << "" // text-primary
<< 0.0f << 6 << 2 << 0 << 1.0f << 0.0f << true << 0.8f // height-dotSize << 0.0f << 6 << 2 << 0 << 1.0f << 0.0f << true << 0.8f << 0.0f // height-textGap
<< 5.0f << 2 << 1 << "4" // guardDescent-structAppID << 5.0f << 2 << 1 << "4" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting
@ -1038,37 +1043,51 @@ private slots:
QTest::newRow("BARCODE_UPCE_CC") << true << 0.0f << "out.svg" QTest::newRow("BARCODE_UPCE_CC") << true << 0.0f << "out.svg"
<< BARCODE_UPCE_CC << UNICODE_MODE // symbology-inputMode << BARCODE_UPCE_CC << UNICODE_MODE // symbology-inputMode
<< "12345670+1234" << "[11]901222[99]ABCDE" // text-primary << "12345670+1234" << "[11]901222[99]ABCDE" // text-primary
<< 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 0.0f << -1 << 0 << 0 << 1.0f << 0.0f << false << 0.8f << 0.0f // height-textGap
<< 6.5f << 0 << 0 << "" // guardDescent-structAppID << 6.5f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(0xEF, 0x29, 0x29) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(0xEF, 0x29, 0x29) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << (BOLD_TEXT | SMALL_TEXT) // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << (BOLD_TEXT | SMALL_TEXT) // borderTypeIndex-fontSetting
<< true << false << false << true << true << 0 // showText-rotateAngle << true << false << false << true << true << 0 // showText-rotateAngle
<< 0 << false << false << false << WARN_FAIL_ALL << false // eci-debug << 0 << false << false << false << WARN_FAIL_ALL << false // eci-debug
<< 0.0 << 0 << 0 << 0 << 0 << 0 // xdimdp << 0.0 << 0 << 0 << 0 << 0 << 0 // xdimdp
<< "zint -b 136 --bold --compliantheight -d '[11]901222[99]ABCDE' --fg=EF2929 --guarddescent=6.5" << "zint -b 136 --compliantheight -d '[11]901222[99]ABCDE' --fg=EF2929 --guarddescent=6.5"
" --noquietzones -o 'out.svg' --primary='12345670+1234' --small --werror" " --noquietzones -o 'out.svg' --primary='12345670+1234' --small --werror"
<< "zint.exe -b 136 --bold --compliantheight -d \"[11]901222[99]ABCDE\" --fg=EF2929 --guarddescent=6.5" << "zint.exe -b 136 --compliantheight -d \"[11]901222[99]ABCDE\" --fg=EF2929 --guarddescent=6.5"
" --noquietzones -o \"out.svg\" --primary=\"12345670+1234\" --small --werror" " --noquietzones -o \"out.svg\" --primary=\"12345670+1234\" --small --werror"
<< "zint --barcode=136 --bold --compliantheight --data='[11]901222[99]ABCDE' --fg=EF2929" << "zint --barcode=136 --compliantheight --data='[11]901222[99]ABCDE' --fg=EF2929"
" --guarddescent=6.5 --noquietzones --output='out.svg' --primary='12345670+1234' --small --werror" " --guarddescent=6.5 --noquietzones --output='out.svg' --primary='12345670+1234' --small --werror"
<< "zint -b UPCE_CC --bold --compliantheight -d '[11]901222[99]ABCDE' --fg=EF2929 --guarddescent=6.5" << "zint -b UPCE_CC --compliantheight -d '[11]901222[99]ABCDE' --fg=EF2929 --guarddescent=6.5"
" --noquietzones -o 'out.svg' --primary='12345670+1234' --small --werror" " --noquietzones -o 'out.svg' --primary='12345670+1234' --small --werror"
<< "zint -b 136 --bold --compliantheight -d \"[11]901222[99]ABCDE\" --fg=EF2929 --guarddescent=6.5" << "zint -b 136 --compliantheight -d \"[11]901222[99]ABCDE\" --fg=EF2929 --guarddescent=6.5"
" --noquietzones -o \"out.svg\" --primary=\"12345670+1234\" --small --werror" " --noquietzones -o \"out.svg\" --primary=\"12345670+1234\" --small --werror"
<< ""; << "";
QTest::newRow("BARCODE_VIN") << false << 2.0f << "" QTest::newRow("BARCODE_VIN") << false << 2.0f << ""
<< BARCODE_VIN << UNICODE_MODE // symbology-inputMode << BARCODE_VIN << UNICODE_MODE // symbology-inputMode
<< "12345678701234567" << "" // text-primary << "12345678701234567" << "" // text-primary
<< 20.0f << -1 << 1 << 0 << 1.0f << 0.0f << false << 0.8f // height-dotSize << 20.0f << -1 << 1 << 0 << 1.0f << 0.0f << false << 0.8f << 1.2f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID << 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk << "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << 0 // borderTypeIndex-fontSetting << 0 << 0 << 0 << 0 << (BOLD_TEXT | SMALL_TEXT) // borderTypeIndex-fontSetting
<< true << false << false << false << true << 0 // showText-rotateAngle << true << false << false << false << true << 0 // showText-rotateAngle
<< 0 << false << false << false << WARN_DEFAULT << false // eci-debug << 0 << false << false << false << WARN_DEFAULT << false // eci-debug
<< 0.0 << 0 << 0 << 0 << 0 << 0 // xdimdp << 0.0 << 0 << 0 << 0 << 0 << 0 // xdimdp
<< "zint -b 73 -d '12345678701234567' --height=20 --vers=1" << "zint -b 73 --bold -d '12345678701234567' --height=20 --small --textgap=1.2 --vers=1"
<< "zint.exe -b 73 -d \"12345678701234567\" --height=20 --vers=1" << "zint.exe -b 73 --bold -d \"12345678701234567\" --height=20 --small --textgap=1.2 --vers=1"
<< "" << "" << "" << "";
QTest::newRow("BARCODE_VIN") << false << 2.0f << ""
<< BARCODE_VIN << UNICODE_MODE // symbology-inputMode
<< "12345678701234567" << "" // text-primary
<< 20.0f << -1 << 1 << 0 << 1.0f << 0.0f << false << 0.8f << 1.2f // height-textGap
<< 5.0f << 0 << 0 << "" // guardDescent-structAppID
<< "" << "" << QColor(Qt::black) << QColor(Qt::white) << false // fgStr-cmyk
<< 0 << 0 << 0 << 0 << (BOLD_TEXT | SMALL_TEXT) // borderTypeIndex-fontSetting
<< false << false << false << false << true << 0 // showText-rotateAngle
<< 0 << false << false << false << WARN_DEFAULT << false // eci-debug
<< 0.0 << 0 << 0 << 0 << 0 << 0 // xdimdp
<< "zint -b 73 -d '12345678701234567' --height=20 --notext --vers=1"
<< "zint.exe -b 73 -d \"12345678701234567\" --height=20 --notext --vers=1"
<< "" << "" << "" << ""; << "" << "" << "" << "";
} }
@ -1094,6 +1113,7 @@ private slots:
QFETCH(float, dpmm); QFETCH(float, dpmm);
QFETCH(bool, dotty); QFETCH(bool, dotty);
QFETCH(float, dotSize); QFETCH(float, dotSize);
QFETCH(float, textGap);
QFETCH(float, guardDescent); QFETCH(float, guardDescent);
QFETCH(int, structAppCount); QFETCH(int, structAppCount);
QFETCH(int, structAppIndex); QFETCH(int, structAppIndex);
@ -1121,8 +1141,8 @@ private slots:
QFETCH(int, warnLevel); QFETCH(int, warnLevel);
QFETCH(bool, debug); QFETCH(bool, debug);
QFETCH(double, xdimdp_xdim); QFETCH(double, xdimdp_x_dim);
QFETCH(int, xdimdp_xdim_units); QFETCH(int, xdimdp_x_dim_units);
QFETCH(int, xdimdp_resolution); QFETCH(int, xdimdp_resolution);
QFETCH(int, xdimdp_resolution_units); QFETCH(int, xdimdp_resolution_units);
QFETCH(int, xdimdp_filetype); QFETCH(int, xdimdp_filetype);
@ -1151,6 +1171,7 @@ private slots:
bc.setDPMM(dpmm); bc.setDPMM(dpmm);
bc.setDotty(dotty); bc.setDotty(dotty);
bc.setDotSize(dotSize); bc.setDotSize(dotSize);
bc.setTextGap(textGap);
bc.setGuardDescent(guardDescent); bc.setGuardDescent(guardDescent);
bc.setStructApp(structAppCount, structAppIndex, structAppID); bc.setStructApp(structAppCount, structAppIndex, structAppID);
if (fgStr.isEmpty()) { if (fgStr.isEmpty()) {
@ -1208,11 +1229,16 @@ private slots:
QCOMPARE(cmd, expected_noexe); QCOMPARE(cmd, expected_noexe);
} }
if (xdimdp_xdim) { if (xdimdp_x_dim) {
struct Zint::QZintXdimDpVars vars = { /* Avoid clang 14 error "no matching constructor for initialization" by initializing field-wise */
xdimdp_xdim, xdimdp_xdim_units, xdimdp_resolution, xdimdp_resolution_units, xdimdp_filetype, struct Zint::QZintXdimDpVars vars;
xdimdp_filetype_maxicode, 1 /*set*/ vars.x_dim = xdimdp_x_dim;
}; vars.x_dim_units = xdimdp_x_dim_units;
vars.resolution = xdimdp_resolution;
vars.resolution_units = xdimdp_resolution_units;
vars.filetype = xdimdp_filetype;
vars.filetype_maxicode = xdimdp_filetype_maxicode;
vars.set = 1;
cmd = bc.getAsCLI(false /*win*/, false /*longOptOnly*/, false /*barcodeNames*/, false /*noEXE*/, cmd = bc.getAsCLI(false /*win*/, false /*longOptOnly*/, false /*barcodeNames*/, false /*noEXE*/,
autoHeight, heightPerRow, outfile, &vars); autoHeight, heightPerRow, outfile, &vars);
QCOMPARE(cmd, expected_xdimdp); QCOMPARE(cmd, expected_xdimdp);

Some files were not shown because too many files have changed in this diff Show More