vector: Add width to struct zint_vector_circle & use for MaxiCode bullseye

**Incompatible change**
This commit is contained in:
gitlost 2021-08-22 13:59:01 +01:00
parent 02c155b6b2
commit 3388f98c00
55 changed files with 171 additions and 238 deletions

View File

@ -1,6 +1,11 @@
Version 2.10.0.9 (dev) not released yet Version 2.10.0.9 (dev) not released yet
======================================= =======================================
**Incompatible changes**
------------------------
- Add width to struct zint_vector_circle
NOTE: backward incompatible drawing of MaxiCode finder (bullseye)
Changes Changes
------- -------
- RMQR: add ECI support - RMQR: add ECI support

View File

@ -68,7 +68,8 @@ static int count_circles(struct zint_symbol *symbol) {
circ = circ->next; circ = circ->next;
} }
return circles; /* Hack for MaxiCode */
return symbol->symbology == BARCODE_MAXICODE ? circles * 2 : circles;
} }
static int count_hexagons(struct zint_symbol *symbol) { static int count_hexagons(struct zint_symbol *symbol) {
@ -258,9 +259,9 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
emr_ellipse_t circle[circle_count ? circle_count : 1]; emr_ellipse_t circle[circle_count ? circle_count : 1];
emr_polygon_t hexagon[hexagon_count ? hexagon_count : 1]; emr_polygon_t hexagon[hexagon_count ? hexagon_count : 1];
#else #else
rectangle = (emr_rectangle_t*) _alloca(rectangle_count * sizeof(emr_rectangle_t)); rectangle = (emr_rectangle_t *) _alloca(rectangle_count * sizeof(emr_rectangle_t));
circle = (emr_ellipse_t*) _alloca(circle_count * sizeof(emr_ellipse_t)); circle = (emr_ellipse_t *) _alloca(circle_count * sizeof(emr_ellipse_t));
hexagon = (emr_polygon_t*) _alloca(hexagon_count * sizeof(emr_polygon_t)); hexagon = (emr_polygon_t *) _alloca(hexagon_count * sizeof(emr_polygon_t));
#endif #endif
// Calculate how many coloured rectangles // Calculate how many coloured rectangles
@ -463,8 +464,10 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
circ = symbol->vector->circles; circ = symbol->vector->circles;
this_circle = 0; this_circle = 0;
while (circ) { while (circ) {
if (previous_diameter != circ->diameter) { /* Note using circle width the proper way, with a non-null pen of specified width and a null brush for fill,
previous_diameter = circ->diameter; causes various different rendering issues for LibreOffice Draw and Inkscape, so using following hack */
if (previous_diameter != circ->diameter + circ->width) { /* Drawing MaxiCode bullseye using overlayed discs */
previous_diameter = circ->diameter + circ->width;
radius = (float) (0.5 * previous_diameter); radius = (float) (0.5 * previous_diameter);
} }
circle[this_circle].type = 0x0000002a; // EMR_ELLIPSE circle[this_circle].type = 0x0000002a; // EMR_ELLIPSE
@ -476,6 +479,20 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
this_circle++; this_circle++;
bytecount += 24; bytecount += 24;
recordcount++; recordcount++;
if (symbol->symbology == BARCODE_MAXICODE) { /* Drawing MaxiCode bullseye using overlayed discs */
float inner_radius = radius - circ->width;
circle[this_circle].type = 0x0000002a; // EMR_ELLIPSE
circle[this_circle].size = 24;
circle[this_circle].box.top = (int32_t) (circ->y - inner_radius);
circle[this_circle].box.bottom = (int32_t) (circ->y + inner_radius);
circle[this_circle].box.left = (int32_t) (circ->x - inner_radius);
circle[this_circle].box.right = (int32_t) (circ->x + inner_radius);
this_circle++;
bytecount += 24;
recordcount++;
}
circ = circ->next; circ = circ->next;
} }

View File

@ -1,4 +1,4 @@
/* maxicode.c - Handles Maxicode */ /* maxicode.c - Handles MaxiCode */
/* /*
libzint - the open source barcode library libzint - the open source barcode library

View File

@ -154,6 +154,7 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
int i, len; int i, len;
int ps_len = 0; int ps_len = 0;
int iso_latin1 = 0; int iso_latin1 = 0;
int have_circles_with_width = 0, have_circles_without_width = 0;
const int output_to_stdout = symbol->output_options & BARCODE_STDOUT; const int output_to_stdout = symbol->output_options & BARCODE_STDOUT;
#ifdef _MSC_VER #ifdef _MSC_VER
unsigned char *ps_string; unsigned char *ps_string;
@ -263,6 +264,15 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
ps_string = (unsigned char *) _alloca(ps_len + 1); ps_string = (unsigned char *) _alloca(ps_len + 1);
#endif #endif
/* Check for circle widths */
for (circle = symbol->vector->circles; circle; circle = circle->next) {
if (circle->width) {
have_circles_with_width = 1;
} else {
have_circles_without_width = 1;
}
}
/* Start writing the header */ /* Start writing the header */
fprintf(feps, "%%!PS-Adobe-3.0 EPSF-3.0\n"); fprintf(feps, "%%!PS-Adobe-3.0 EPSF-3.0\n");
if (ZINT_VERSION_BUILD) { if (ZINT_VERSION_BUILD) {
@ -278,11 +288,21 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
fprintf(feps, "%%%%EndComments\n"); fprintf(feps, "%%%%EndComments\n");
/* Definitions */ /* Definitions */
fprintf(feps, "/TL { setlinewidth moveto lineto stroke } bind def\n"); if (have_circles_without_width) {
fprintf(feps, "/TD { newpath 0 360 arc fill } bind def\n"); /* Disc: x y radius TD */
fprintf(feps, "/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def\n"); fprintf(feps, "/TD { newpath 0 360 arc fill } bind def\n");
}
if (have_circles_with_width) {
/* Circle (ring): x y radius width TC (adapted from BWIPP renmaxicode.ps) */
fprintf(feps, "/TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill }"
" bind def\n");
}
if (symbol->vector->hexagons) {
fprintf(feps, "/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def\n");
}
fprintf(feps, "/TB { 2 copy } bind def\n"); fprintf(feps, "/TB { 2 copy } bind def\n");
fprintf(feps, "/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def\n"); fprintf(feps, "/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill }"
" bind def\n");
fprintf(feps, "/TE { pop pop } bind def\n"); fprintf(feps, "/TE { pop pop } bind def\n");
fprintf(feps, "newpath\n"); fprintf(feps, "newpath\n");
@ -405,8 +425,8 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
previous_diameter = radius = 0.0f; previous_diameter = radius = 0.0f;
circle = symbol->vector->circles; circle = symbol->vector->circles;
while (circle) { while (circle) {
if (previous_diameter != circle->diameter) { if (previous_diameter != circle->diameter - circle->width) {
previous_diameter = circle->diameter; previous_diameter = circle->diameter - circle->width;
radius = (float) (0.5 * previous_diameter); radius = (float) (0.5 * previous_diameter);
} }
if (circle->colour) { if (circle->colour) {
@ -417,7 +437,12 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n", fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n",
cyan_paper, magenta_paper, yellow_paper, black_paper); cyan_paper, magenta_paper, yellow_paper, black_paper);
} }
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius); if (circle->width) {
fprintf(feps, "%.2f %.2f %.3f %.3f TC\n",
circle->x, (symbol->vector->height - circle->y), radius, circle->width);
} else {
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius);
}
if (circle->next) { if (circle->next) {
if ((symbol->output_options & CMYK_COLOUR) == 0) { if ((symbol->output_options & CMYK_COLOUR) == 0) {
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_ink, green_ink, blue_ink); fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_ink, green_ink, blue_ink);
@ -427,7 +452,12 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
} }
} else { } else {
// A 'black' circle // A 'black' circle
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius); if (circle->width) {
fprintf(feps, "%.2f %.2f %.3f %.3f TC\n",
circle->x, (symbol->vector->height - circle->y), radius, circle->width);
} else {
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius);
}
} }
circle = circle->next; circle = circle->next;
} }

View File

@ -2998,7 +2998,8 @@ INTERNAL int rmqr(struct zint_symbol *symbol, unsigned char source[], int length
autosize = 31; autosize = 31;
best_footprint = rmqr_height[31] * rmqr_width[31]; best_footprint = rmqr_height[31] * rmqr_width[31];
for (version = 30; version >= 0; version--) { for (version = 30; version >= 0; version--) {
est_binlen = getBinaryLength(RMQR_VERSION + version, mode, jisdata, length, gs1, symbol->eci, debug_print); est_binlen = getBinaryLength(RMQR_VERSION + version, mode, jisdata, length, gs1, symbol->eci,
debug_print);
footprint = rmqr_height[version] * rmqr_width[version]; footprint = rmqr_height[version] * rmqr_width[version];
if (ecc_level == LEVEL_M) { if (ecc_level == LEVEL_M) {
if (8 * rmqr_data_codewords_M[version] >= est_binlen) { if (8 * rmqr_data_codewords_M[version] >= est_binlen) {
@ -3081,8 +3082,8 @@ INTERNAL int rmqr(struct zint_symbol *symbol, unsigned char source[], int length
fullstream = (unsigned char *) _alloca(rmqr_total_codewords[version] + 1); fullstream = (unsigned char *) _alloca(rmqr_total_codewords[version] + 1);
#endif #endif
qr_binary(datastream, RMQR_VERSION + version, target_codewords, mode, jisdata, length, gs1, symbol->eci, est_binlen, qr_binary(datastream, RMQR_VERSION + version, target_codewords, mode, jisdata, length, gs1, symbol->eci,
debug_print); est_binlen, debug_print);
#ifdef ZINT_TEST #ifdef ZINT_TEST
if (symbol->debug & ZINT_DEBUG_TEST) debug_test_codeword_dump(symbol, datastream, target_codewords); if (symbol->debug & ZINT_DEBUG_TEST) debug_test_codeword_dump(symbol, datastream, target_codewords);
#endif #endif

View File

@ -288,15 +288,23 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
previous_diameter = circle->diameter; previous_diameter = circle->diameter;
radius = (float) (0.5 * previous_diameter); radius = (float) (0.5 * previous_diameter);
} }
fprintf(fsvg, " <circle cx=\"%.2f\" cy=\"%.2f\" r=\"%.2f\"", circle->x, circle->y, radius); fprintf(fsvg, " <circle cx=\"%.2f\" cy=\"%.2f\" r=\"%.*f\"",
circle->x, circle->y, circle->width ? 3 : 2, radius);
if (circle->colour) { if (circle->colour) {
fprintf(fsvg, " fill=\"#%s\"", bgcolour_string); if (circle->width) {
fprintf(fsvg, " stroke=\"#%s\" stroke-width=\"%.3f\" fill=\"none\"", bgcolour_string, circle->width);
} else {
fprintf(fsvg, " fill=\"#%s\"", bgcolour_string);
}
if (bg_alpha != 0xff) { if (bg_alpha != 0xff) {
// This doesn't work how the user is likely to expect - more work needed! // This doesn't work how the user is likely to expect - more work needed!
fprintf(fsvg, " opacity=\"%.3f\"", bg_alpha_opacity); fprintf(fsvg, " opacity=\"%.3f\"", bg_alpha_opacity);
} }
} else { } else {
if (circle->width) {
fprintf(fsvg, " stroke=\"#%s\" stroke-width=\"%.3f\" fill=\"none\"", fgcolour_string, circle->width);
}
if (fg_alpha != 0xff) { if (fg_alpha != 0xff) {
fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity); fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity);
} }

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 224 119 %%BoundingBox: 0 0 224 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 119 224 %%BoundingBox: 0 0 119 224
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 246 119 %%BoundingBox: 0 0 246 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 128 119 %%BoundingBox: 0 0 128 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 128 119 %%BoundingBox: 0 0 128 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 158 119 %%BoundingBox: 0 0 158 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 22 16
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 22 16
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 23 17 %%BoundingBox: 0 0 23 17
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 33 24 %%BoundingBox: 0 0 33 24
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 33 24 %%BoundingBox: 0 0 33 24
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 34 25 %%BoundingBox: 0 0 34 25
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 37 28 %%BoundingBox: 0 0 37 28
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 44 32 %%BoundingBox: 0 0 44 32
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 44 32 %%BoundingBox: 0 0 44 32
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 45 33 %%BoundingBox: 0 0 45 33
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 66 48 %%BoundingBox: 0 0 66 48
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 66 48 %%BoundingBox: 0 0 66 48
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 68 50 %%BoundingBox: 0 0 68 50
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 77 56 %%BoundingBox: 0 0 77 56
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 77 56 %%BoundingBox: 0 0 77 56
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 79 58 %%BoundingBox: 0 0 79 58
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 110 80 %%BoundingBox: 0 0 110 80
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 110 80 %%BoundingBox: 0 0 110 80
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 112 82 %%BoundingBox: 0 0 112 82
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 118 88 %%BoundingBox: 0 0 118 88
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 22 16
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 276 117 %%BoundingBox: 0 0 276 117
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,11 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 72 58 %%BoundingBox: 0 0 72 58
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def /TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def /TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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
@ -366,14 +365,6 @@ newpath
21.00 57.58 21.87 57.08 21.87 56.08 21.00 55.58 20.13 56.08 20.13 57.08 TH 21.00 57.58 21.87 57.08 21.87 56.08 21.00 55.58 20.13 56.08 20.13 57.08 TH
15.00 57.58 15.87 57.08 15.87 56.08 15.00 55.58 14.13 56.08 14.13 57.08 TH 15.00 57.58 15.87 57.08 15.87 56.08 15.00 55.58 14.13 56.08 14.13 57.08 TH
11.00 57.58 11.87 57.08 11.87 56.08 11.00 55.58 10.13 56.08 10.13 57.08 TH 11.00 57.58 11.87 57.08 11.87 56.08 11.00 55.58 10.13 56.08 10.13 57.08 TH
37.00 28.87 9.00 TD 37.00 28.87 7.431 1.569 TC
0.00 0.00 1.00 setrgbcolor 37.00 28.87 4.293 1.569 TC
37.00 28.87 7.43 TD 37.00 28.87 1.155 1.569 TC
0.00 0.00 0.00 setrgbcolor
37.00 28.87 5.86 TD
0.00 0.00 1.00 setrgbcolor
37.00 28.87 4.29 TD
0.00 0.00 0.00 setrgbcolor
37.00 28.87 2.72 TD
0.00 0.00 1.00 setrgbcolor
37.00 28.87 1.15 TD

View File

@ -1,11 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 58 60 %%BoundingBox: 0 0 58 60
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def /TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def /TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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
@ -369,14 +368,6 @@ TE
55.58 45.00 56.08 45.87 57.08 45.87 57.58 45.00 57.08 44.13 56.08 44.13 TH 55.58 45.00 56.08 45.87 57.08 45.87 57.58 45.00 57.08 44.13 56.08 44.13 TH
55.58 51.00 56.08 51.87 57.08 51.87 57.58 51.00 57.08 50.13 56.08 50.13 TH 55.58 51.00 56.08 51.87 57.08 51.87 57.58 51.00 57.08 50.13 56.08 50.13 TH
55.58 55.00 56.08 55.87 57.08 55.87 57.58 55.00 57.08 54.13 56.08 54.13 TH 55.58 55.00 56.08 55.87 57.08 55.87 57.58 55.00 57.08 54.13 56.08 54.13 TH
28.87 29.00 9.00 TD 28.87 29.00 7.431 1.569 TC
0.00 0.00 0.00 0.00 setcmykcolor 28.87 29.00 4.293 1.569 TC
28.87 29.00 7.43 TD 28.87 29.00 1.155 1.569 TC
0.00 0.00 0.00 1.00 setcmykcolor
28.87 29.00 5.86 TD
0.00 0.00 0.00 0.00 setcmykcolor
28.87 29.00 4.29 TD
0.00 0.00 0.00 1.00 setcmykcolor
28.87 29.00 2.72 TD
0.00 0.00 0.00 0.00 setcmykcolor
28.87 29.00 1.15 TD

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 28 26 %%BoundingBox: 0 0 28 26
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 40 30 %%BoundingBox: 0 0 40 30
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 40 38 %%BoundingBox: 0 0 40 38
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 276 117 %%BoundingBox: 0 0 276 117
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 238 117 %%BoundingBox: 0 0 238 117
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 238 112 %%BoundingBox: 0 0 238 112
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 136 119 %%BoundingBox: 0 0 136 119
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 130 100 %%BoundingBox: 0 0 130 100
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def /TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,11 +1,10 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 60 58 %%BoundingBox: 0 0 60 58
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def /TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def /TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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
@ -363,14 +362,6 @@ TE
37.00 2.15 37.87 1.65 37.87 0.65 37.00 0.15 36.13 0.65 36.13 1.65 TH 37.00 2.15 37.87 1.65 37.87 0.65 37.00 0.15 36.13 0.65 36.13 1.65 TH
43.00 2.15 43.87 1.65 43.87 0.65 43.00 0.15 42.13 0.65 42.13 1.65 TH 43.00 2.15 43.87 1.65 43.87 0.65 43.00 0.15 42.13 0.65 42.13 1.65 TH
53.00 2.15 53.87 1.65 53.87 0.65 53.00 0.15 52.13 0.65 52.13 1.65 TH 53.00 2.15 53.87 1.65 53.87 0.65 53.00 0.15 52.13 0.65 52.13 1.65 TH
29.00 28.87 9.00 TD 29.00 28.87 7.431 1.569 TC
1.00 1.00 1.00 setrgbcolor 29.00 28.87 4.293 1.569 TC
29.00 28.87 7.43 TD 29.00 28.87 1.155 1.569 TC
0.00 0.00 0.00 setrgbcolor
29.00 28.87 5.86 TD
1.00 1.00 1.00 setrgbcolor
29.00 28.87 4.29 TD
0.00 0.00 0.00 setrgbcolor
29.00 28.87 2.72 TD
1.00 1.00 1.00 setrgbcolor
29.00 28.87 1.15 TD

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 42 42 %%BoundingBox: 0 0 42 42
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -1,12 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.9.1.9 %%Creator: Zint 2.10.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 26 26 %%BoundingBox: 0 0 26 26
%%EndComments %%EndComments
/TL { setlinewidth moveto lineto stroke } bind def
/TD { newpath 0 360 arc fill } bind def
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
/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

View File

@ -356,11 +356,8 @@
<path d="M 37.00 57.58 L 37.87 57.08 L 37.87 56.08 L 37.00 55.58 L 36.13 56.08 L 36.13 57.08 Z" /> <path d="M 37.00 57.58 L 37.87 57.08 L 37.87 56.08 L 37.00 55.58 L 36.13 56.08 L 36.13 57.08 Z" />
<path d="M 43.00 57.58 L 43.87 57.08 L 43.87 56.08 L 43.00 55.58 L 42.13 56.08 L 42.13 57.08 Z" /> <path d="M 43.00 57.58 L 43.87 57.08 L 43.87 56.08 L 43.00 55.58 L 42.13 56.08 L 42.13 57.08 Z" />
<path d="M 53.00 57.58 L 53.87 57.08 L 53.87 56.08 L 53.00 55.58 L 52.13 56.08 L 52.13 57.08 Z" /> <path d="M 53.00 57.58 L 53.87 57.08 L 53.87 56.08 L 53.00 55.58 L 52.13 56.08 L 52.13 57.08 Z" />
<circle cx="29.00" cy="28.87" r="9.00" /> <circle cx="29.00" cy="28.87" r="8.215" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="28.87" r="7.43" fill="#FFFFFF" /> <circle cx="29.00" cy="28.87" r="5.077" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="28.87" r="5.86" /> <circle cx="29.00" cy="28.87" r="1.939" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="28.87" r="4.29" fill="#FFFFFF" />
<circle cx="29.00" cy="28.87" r="2.72" />
<circle cx="29.00" cy="28.87" r="1.15" fill="#FFFFFF" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -374,11 +374,8 @@
<path d="M 43.00 61.58 L 43.87 61.08 L 43.87 60.08 L 43.00 59.58 L 42.13 60.08 L 42.13 61.08 Z" /> <path d="M 43.00 61.58 L 43.87 61.08 L 43.87 60.08 L 43.00 59.58 L 42.13 60.08 L 42.13 61.08 Z" />
<path d="M 55.00 61.58 L 55.87 61.08 L 55.87 60.08 L 55.00 59.58 L 54.13 60.08 L 54.13 61.08 Z" /> <path d="M 55.00 61.58 L 55.87 61.08 L 55.87 60.08 L 55.00 59.58 L 54.13 60.08 L 54.13 61.08 Z" />
<path d="M 63.00 61.58 L 63.87 61.08 L 63.87 60.08 L 63.00 59.58 L 62.13 60.08 L 62.13 61.08 Z" /> <path d="M 63.00 61.58 L 63.87 61.08 L 63.87 60.08 L 63.00 59.58 L 62.13 60.08 L 62.13 61.08 Z" />
<circle cx="33.00" cy="32.87" r="9.00" /> <circle cx="33.00" cy="32.87" r="8.215" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="33.00" cy="32.87" r="7.43" fill="#FFFFFF" /> <circle cx="33.00" cy="32.87" r="5.077" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="33.00" cy="32.87" r="5.86" /> <circle cx="33.00" cy="32.87" r="1.939" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="33.00" cy="32.87" r="4.29" fill="#FFFFFF" />
<circle cx="33.00" cy="32.87" r="2.72" />
<circle cx="33.00" cy="32.87" r="1.15" fill="#FFFFFF" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -370,11 +370,8 @@
<path d="M 0.15 39.00 L 0.65 39.87 L 1.65 39.87 L 2.15 39.00 L 1.65 38.13 L 0.65 38.13 Z" opacity="0.867" /> <path d="M 0.15 39.00 L 0.65 39.87 L 1.65 39.87 L 2.15 39.00 L 1.65 38.13 L 0.65 38.13 Z" opacity="0.867" />
<path d="M 0.15 51.00 L 0.65 51.87 L 1.65 51.87 L 2.15 51.00 L 1.65 50.13 L 0.65 50.13 Z" opacity="0.867" /> <path d="M 0.15 51.00 L 0.65 51.87 L 1.65 51.87 L 2.15 51.00 L 1.65 50.13 L 0.65 50.13 Z" opacity="0.867" />
<path d="M 0.15 59.00 L 0.65 59.87 L 1.65 59.87 L 2.15 59.00 L 1.65 58.13 L 0.65 58.13 Z" opacity="0.867" /> <path d="M 0.15 59.00 L 0.65 59.87 L 1.65 59.87 L 2.15 59.00 L 1.65 58.13 L 0.65 58.13 Z" opacity="0.867" />
<circle cx="28.87" cy="29.00" r="9.00" opacity="0.867" /> <circle cx="28.87" cy="29.00" r="8.215" stroke="#121212" stroke-width="1.569" fill="none" opacity="0.867" />
<circle cx="28.87" cy="29.00" r="7.43" fill="#EEEEEE" opacity="0.133" /> <circle cx="28.87" cy="29.00" r="5.077" stroke="#121212" stroke-width="1.569" fill="none" opacity="0.867" />
<circle cx="28.87" cy="29.00" r="5.86" opacity="0.867" /> <circle cx="28.87" cy="29.00" r="1.939" stroke="#121212" stroke-width="1.569" fill="none" opacity="0.867" />
<circle cx="28.87" cy="29.00" r="4.29" fill="#EEEEEE" opacity="0.133" />
<circle cx="28.87" cy="29.00" r="2.72" opacity="0.867" />
<circle cx="28.87" cy="29.00" r="1.15" fill="#EEEEEE" opacity="0.133" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -372,11 +372,8 @@
<path d="M 39.00 61.58 L 39.87 61.08 L 39.87 60.08 L 39.00 59.58 L 38.13 60.08 L 38.13 61.08 Z" /> <path d="M 39.00 61.58 L 39.87 61.08 L 39.87 60.08 L 39.00 59.58 L 38.13 60.08 L 38.13 61.08 Z" />
<path d="M 51.00 61.58 L 51.87 61.08 L 51.87 60.08 L 51.00 59.58 L 50.13 60.08 L 50.13 61.08 Z" /> <path d="M 51.00 61.58 L 51.87 61.08 L 51.87 60.08 L 51.00 59.58 L 50.13 60.08 L 50.13 61.08 Z" />
<path d="M 59.00 61.58 L 59.87 61.08 L 59.87 60.08 L 59.00 59.58 L 58.13 60.08 L 58.13 61.08 Z" /> <path d="M 59.00 61.58 L 59.87 61.08 L 59.87 60.08 L 59.00 59.58 L 58.13 60.08 L 58.13 61.08 Z" />
<circle cx="29.00" cy="32.87" r="9.00" /> <circle cx="29.00" cy="32.87" r="8.215" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="32.87" r="7.43" fill="#FFFFFF" /> <circle cx="29.00" cy="32.87" r="5.077" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="32.87" r="5.86" /> <circle cx="29.00" cy="32.87" r="1.939" stroke="#000000" stroke-width="1.569" fill="none" />
<circle cx="29.00" cy="32.87" r="4.29" fill="#FFFFFF" />
<circle cx="29.00" cy="32.87" r="2.72" />
<circle cx="29.00" cy="32.87" r="1.15" fill="#FFFFFF" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -99,7 +99,8 @@ static int vector_plot_add_hexagon(struct zint_symbol *symbol, struct zint_vecto
return 1; return 1;
} }
static struct zint_vector_circle *vector_plot_create_circle(float x, float y, float diameter, int colour) { static struct zint_vector_circle *vector_plot_create_circle(float x, float y, float diameter, float width,
int colour) {
struct zint_vector_circle *circle; struct zint_vector_circle *circle;
circle = (struct zint_vector_circle *) malloc(sizeof(struct zint_vector_circle)); circle = (struct zint_vector_circle *) malloc(sizeof(struct zint_vector_circle));
@ -108,6 +109,7 @@ static struct zint_vector_circle *vector_plot_create_circle(float x, float y, fl
circle->x = x; circle->x = x;
circle->y = y; circle->y = y;
circle->diameter = diameter; circle->diameter = diameter;
circle->width = width;
circle->colour = colour; circle->colour = colour;
return circle; return circle;
@ -236,6 +238,7 @@ static void vector_scale(struct zint_symbol *symbol, int file_type) {
circle->x *= scale; circle->x *= scale;
circle->y *= scale; circle->y *= scale;
circle->diameter *= scale; circle->diameter *= scale;
circle->width *= scale;
circle = circle->next; circle = circle->next;
} }
@ -490,7 +493,7 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
// Plot Maxicode symbols // Plot Maxicode symbols
if (symbol->symbology == BARCODE_MAXICODE) { if (symbol->symbology == BARCODE_MAXICODE) {
struct zint_vector_circle *circle; struct zint_vector_circle *circle;
float bull_x, bull_y, bull_d_incr; float bull_x, bull_y, bull_d_incr, bull_width;
const float two_div_sqrt3 = 1.1547f; /* 2 / √3 */ const float two_div_sqrt3 = 1.1547f; /* 2 / √3 */
const float sqrt3_div_two = 0.866f; /* √3 / 2 == 1.5 / √3 */ const float sqrt3_div_two = 0.866f; /* √3 / 2 == 1.5 / √3 */
@ -510,19 +513,15 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
bull_y = vector->height / 2.0f; /* 16Y above bottom-most centre = halfway */ bull_y = vector->height / 2.0f; /* 16Y above bottom-most centre = halfway */
/* Total finder diameter is 9X, so diametric increment for 5 diameters d2 to d6 is (9X - d1) / 5 */ /* Total finder diameter is 9X, so diametric increment for 5 diameters d2 to d6 is (9X - d1) / 5 */
bull_d_incr = (hex_diameter * 9 - hex_ydiameter) / 5.0f; bull_d_incr = (hex_diameter * 9 - hex_ydiameter) / 5.0f;
bull_width = bull_d_incr / 2.0f;
// TODO: Add width to circle so can draw rings instead of overlaying circles circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 5 - bull_width, bull_width,
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 5, 0); 0);
vector_plot_add_circle(symbol, circle, &last_circle); vector_plot_add_circle(symbol, circle, &last_circle);
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 4, 1); circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 3 - bull_width, bull_width,
0);
vector_plot_add_circle(symbol, circle, &last_circle); vector_plot_add_circle(symbol, circle, &last_circle);
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 3, 0); circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr - bull_width, bull_width, 0);
vector_plot_add_circle(symbol, circle, &last_circle);
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr * 2, 1);
vector_plot_add_circle(symbol, circle, &last_circle);
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter + bull_d_incr, 0);
vector_plot_add_circle(symbol, circle, &last_circle);
circle = vector_plot_create_circle(bull_x, bull_y, hex_ydiameter, 1);
vector_plot_add_circle(symbol, circle, &last_circle); vector_plot_add_circle(symbol, circle, &last_circle);
/* Hexagons */ /* Hexagons */
@ -546,7 +545,7 @@ INTERNAL int plot_vector(struct zint_symbol *symbol, int rotate_angle, int file_
struct zint_vector_circle *circle = vector_plot_create_circle( struct zint_vector_circle *circle = vector_plot_create_circle(
i + dot_offset + xoffset, i + dot_offset + xoffset,
r + dot_offset + yoffset, r + dot_offset + yoffset,
symbol->dot_size, 0); symbol->dot_size, 0, 0);
vector_plot_add_circle(symbol, circle, &last_circle); vector_plot_add_circle(symbol, circle, &last_circle);
} }
} }

View File

@ -54,7 +54,8 @@ extern "C" {
}; };
struct zint_vector_string { struct zint_vector_string {
float x, y, fsize; /* x, y position relative to halign; font size */ float x, y; /* x, y position relative to halign */
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 */ int length; /* Number of characters */
int rotation; /* 0, 90, 180, 270 degrees */ int rotation; /* 0, 90, 180, 270 degrees */
@ -64,7 +65,9 @@ extern "C" {
}; };
struct zint_vector_circle { struct zint_vector_circle {
float x, y, diameter; float x, y;
float diameter; /* Circle diameter. Does not include width (if any) */
float width; /* Width of circle perimeter. 0 for fill (disc) */
int colour; /* Non-zero for draw with background colour */ int colour; /* Non-zero for draw with background colour */
struct zint_vector_circle *next; /* Pointer to next circle */ struct zint_vector_circle *next; /* Pointer to next circle */
}; };

View File

@ -567,14 +567,14 @@ namespace Zint {
} }
if (circle->colour) { // Set means use background colour if (circle->colour) { // Set means use background colour
p.setColor(m_bgColor); p.setColor(m_bgColor);
p.setWidth(0); p.setWidthF(circle->width);
painter.setPen(p); painter.setPen(p);
painter.setBrush(bgBrush); painter.setBrush(circle->width ? Qt::NoBrush : bgBrush);
} else { } else {
p.setColor(m_fgColor); p.setColor(m_fgColor);
p.setWidth(0); p.setWidthF(circle->width);
painter.setPen(p); painter.setPen(p);
painter.setBrush(fgBrush); painter.setBrush(circle->width ? Qt::NoBrush : bgBrush);
} }
painter.drawEllipse(QPointF(circle->x, circle->y), radius, radius); painter.drawEllipse(QPointF(circle->x, circle->y), radius, radius);
circle = circle->next; circle = circle->next;

View File

@ -1019,20 +1019,21 @@ while (rect) {
hexagon = symbol->vector->hexagons; hexagon = symbol->vector->hexagons;
while (hexagon) { while (hexagon) {
draw_hexagon(hexagon->x, hexagon->y, hexagon->diameter, hexagon->rotation): draw_hexagon(hexagon->x, hexagon->y, hexagon->diameter, hexagon->rotation);
hexagon = hexagon->next; hexagon = hexagon->next;
} }
string = symbol->vector->strings; string = symbol->vector->strings;
while (string) { while (string) {
draw_string(string->x, string->y, string->fsize, string->rotation, draw_string(string->x, string->y, string->fsize, string->rotation,
string->halign, string->text, string->length): string->halign, string->text, string->length);
string = string->next; string = string->next;
} }
circle = symbol->vector->circles; circle = symbol->vector->circles;
while (circle) { while (circle) {
draw_circle(circle->x, circle->y, circle->diameter, circle->colour): draw_circle(circle->x, circle->y, circle->diameter, circle->width,
circle->colour);
circle = circle->next; circle = circle->next;
} }