1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-06-10 15:43:40 +00:00

DOTCODE: fix not emitting FNC1 (signalling non-GS1) when input

just 2 digits
cmake: set `rpath` of CLI frontend on macOS install (ticket #346,
  props Hagen Röwer)
cmake: make uninstall: update to use `-E rm` if available, warn
  rather than fatal error if fail to remove, note if leaving
  "/zint" directory unremoved (i.e. "lib/cmake/zint")
library: de-duplicate errtxt no.
test suite: update BWIPP to latest
test suite: test_bwipp: enable & fix dotcode random test
test suite: fuzz: gen_corpora fuzz_data 1st -> 2nd
This commit is contained in:
gitlost
2026-01-18 19:14:10 +00:00
parent 74c9e7a9a7
commit eea16e1a89
59 changed files with 962 additions and 657 deletions
+3 -1
View File
@@ -1,4 +1,4 @@
Version 2.16.0.9 (dev) not released yet (2025-01-12) Version 2.16.0.9 (dev) not released yet (2025-01-18)
==================================================== ====================================================
**Incompatible changes** **Incompatible changes**
@@ -19,6 +19,8 @@ Bugs
or any FNC1 after manual C mode selected and no other non-C data or any FNC1 after manual C mode selected and no other non-C data
- CLI: fix "--scalexdimdp" X-dim inch units being divided instead of multiplied - CLI: fix "--scalexdimdp" X-dim inch units being divided instead of multiplied
on conversion to mm on conversion to mm
- DOTCODE: fix not emitting FNC1 (signalling not GS1) if input is just 2 digits
- CMake: set `rpath` of CLI on macOS install (ticket #346, props Hagen Röwer)
Version 2.16.0 (2025-12-19) Version 2.16.0 (2025-12-19)
+2 -2
View File
@@ -1,7 +1,7 @@
/* dotcode.c - Handles DotCode */ /* dotcode.c - Handles DotCode */
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2017-2025 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2017-2026 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
@@ -532,7 +532,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
if (symbol->output_options & READER_INIT) { if (symbol->output_options & READER_INIT) {
codeword_array[ap++] = 109; /* FNC3 */ codeword_array[ap++] = 109; /* FNC3 */
} else if (!gs1 && eci == 0 && length > 2 && z_is_twodigits(source, length, 0)) { } else if (!gs1 && eci == 0 && length >= 2 && z_is_twodigits(source, length, 0)) {
codeword_array[ap++] = 107; /* FNC1 */ codeword_array[ap++] = 107; /* FNC1 */
} else if (z_posn(lead_specials, source[0]) != -1) { } else if (z_posn(lead_specials, source[0]) != -1) {
+1 -1
View File
@@ -1029,7 +1029,7 @@ int ZBarcode_Encode_Segs(struct zint_symbol *symbol, const struct zint_seg segs[
return error_tag(error_number, symbol, -1, NULL); return error_tag(error_number, symbol, -1, NULL);
} }
if (escaped_len > ZINT_MAX_DATA_LEN) { if (escaped_len > ZINT_MAX_DATA_LEN) {
return error_tag(ZINT_ERROR_TOO_LONG, symbol, 797, "Input too long"); return error_tag(ZINT_ERROR_TOO_LONG, symbol, 796, "Input too long");
} }
total_len += escaped_len; total_len += escaped_len;
} else { } else {
+37 -26
View File
@@ -1,5 +1,5 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 3 2 %%BoundingBox: 0 0 3 2
@@ -8,33 +8,44 @@
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
1.6 0 0 2.2 R 1.8 0 0 2.8 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
1.5 0.08 I 0.1 D 1.7 0.08 I 0.1 D
I 0.9 D I 0.9 D
I 1.3 D
I 1.7 D I 1.7 D
2.1 D I 2.1 D
1.3 0.08 I 0.7 D 2.5 D
I 1.1 D 1.5 0.08 I 0.3 D
1.5 D
1.1 0.08 I 0.1 D
I 0.5 D
I 1.3 D
I 1.7 D
2.1 D
0.9 0.08 0.3 D
0.7 0.08 I 0.1 D
2.1 D
0.5 0.08 I 0.3 D
I 0.7 D
I 1.1 D
1.5 D
0.3 0.08 I 0.1 D
I 0.5 D
I 1.7 D
2.1 D
0.1 0.08 I 0.3 D
I 0.7 D I 0.7 D
I 1.5 D I 1.5 D
1.9 D I 2.3 D
2.7 D
1.3 0.08 I 0.1 D
I 0.5 D
I 1.3 D
2.5 D
1.1 0.08 I 0.3 D
I 0.7 D
I 1.9 D
2.3 D
0.9 0.08 I 0.1 D
I 1.3 D
2.5 D
0.7 0.08 I 0.7 D
I 1.1 D
I 1.5 D
2.7 D
0.5 0.08 I 0.9 D
I 1.7 D
I 2.1 D
2.5 D
0.3 0.08 I 0.3 D
I 0.7 D
I 1.1 D
2.7 D
0.1 0.08 I 0.1 D
I 0.5 D
I 0.9 D
I 1.3 D
I 2.1 D
2.5 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 28 18
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
16 0 0 22 R 18 0 0 28 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
15 0.8 I 1 D 17 0.8 I 1 D
I 9 D I 9 D
I 13 D
I 17 D I 17 D
21 D I 21 D
13 0.8 I 7 D 25 D
I 11 D 15 0.8 I 3 D
15 D
11 0.8 I 1 D
I 5 D
I 13 D
I 17 D
21 D
9 0.8 3 D
7 0.8 I 1 D
21 D
5 0.8 I 3 D
I 7 D
I 11 D
15 D
3 0.8 I 1 D
I 5 D
I 17 D
21 D
1 0.8 I 3 D
I 7 D I 7 D
I 15 D I 15 D
19 D I 23 D
27 D
13 0.8 I 1 D
I 5 D
I 13 D
25 D
11 0.8 I 3 D
I 7 D
I 19 D
23 D
9 0.8 I 1 D
I 13 D
25 D
7 0.8 I 7 D
I 11 D
I 15 D
27 D
5 0.8 I 9 D
I 17 D
I 21 D
25 D
3 0.8 I 3 D
I 7 D
I 11 D
27 D
1 0.8 I 1 D
I 5 D
I 9 D
I 13 D
I 21 D
25 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 28 18
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
16 0 0 22 R 18 0 0 28 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
15 0.1 I 1 D 17 0.1 I 1 D
I 9 D I 9 D
I 13 D
I 17 D I 17 D
21 D I 21 D
13 0.1 I 7 D 25 D
I 11 D 15 0.1 I 3 D
15 D
11 0.1 I 1 D
I 5 D
I 13 D
I 17 D
21 D
9 0.1 3 D
7 0.1 I 1 D
21 D
5 0.1 I 3 D
I 7 D
I 11 D
15 D
3 0.1 I 1 D
I 5 D
I 17 D
21 D
1 0.1 I 3 D
I 7 D I 7 D
I 15 D I 15 D
19 D I 23 D
27 D
13 0.1 I 1 D
I 5 D
I 13 D
25 D
11 0.1 I 3 D
I 7 D
I 19 D
23 D
9 0.1 I 1 D
I 13 D
25 D
7 0.1 I 7 D
I 11 D
I 15 D
27 D
5 0.1 I 9 D
I 17 D
I 21 D
25 D
3 0.1 I 3 D
I 7 D
I 11 D
27 D
1 0.1 I 1 D
I 5 D
I 9 D
I 13 D
I 21 D
25 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 23 17 %%BoundingBox: 0 0 29 19
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
16.4 0 0 22.4 R 18.4 0 0 28.4 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
15.2 1.1 I 1.2 D 17.2 1.1 I 1.2 D
I 9.2 D I 9.2 D
I 13.2 D
I 17.2 D I 17.2 D
21.2 D I 21.2 D
13.2 1.1 I 7.2 D 25.2 D
I 11.2 D 15.2 1.1 I 3.2 D
15.2 D
11.2 1.1 I 1.2 D
I 5.2 D
I 13.2 D
I 17.2 D
21.2 D
9.2 1.1 3.2 D
7.2 1.1 I 1.2 D
21.2 D
5.2 1.1 I 3.2 D
I 7.2 D
I 11.2 D
15.2 D
3.2 1.1 I 1.2 D
I 5.2 D
I 17.2 D
21.2 D
1.2 1.1 I 3.2 D
I 7.2 D I 7.2 D
I 15.2 D I 15.2 D
19.2 D I 23.2 D
27.2 D
13.2 1.1 I 1.2 D
I 5.2 D
I 13.2 D
25.2 D
11.2 1.1 I 3.2 D
I 7.2 D
I 19.2 D
23.2 D
9.2 1.1 I 1.2 D
I 13.2 D
25.2 D
7.2 1.1 I 7.2 D
I 11.2 D
I 15.2 D
27.2 D
5.2 1.1 I 9.2 D
I 17.2 D
I 21.2 D
25.2 D
3.2 1.1 I 3.2 D
I 7.2 D
I 11.2 D
27.2 D
1.2 1.1 I 1.2 D
I 5.2 D
I 9.2 D
I 13.2 D
I 21.2 D
25.2 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 33 24 %%BoundingBox: 0 0 42 27
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
24 0 0 33 R 27 0 0 42 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
22.5 1.2 I 1.5 D 25.5 1.2 I 1.5 D
I 13.5 D I 13.5 D
I 19.5 D
I 25.5 D I 25.5 D
31.5 D I 31.5 D
19.5 1.2 I 10.5 D 37.5 D
I 16.5 D 22.5 1.2 I 4.5 D
22.5 D
16.5 1.2 I 1.5 D
I 7.5 D
I 19.5 D
I 25.5 D
31.5 D
13.5 1.2 4.5 D
10.5 1.2 I 1.5 D
31.5 D
7.5 1.2 I 4.5 D
I 10.5 D
I 16.5 D
22.5 D
4.5 1.2 I 1.5 D
I 7.5 D
I 25.5 D
31.5 D
1.5 1.2 I 4.5 D
I 10.5 D I 10.5 D
I 22.5 D I 22.5 D
28.5 D I 34.5 D
40.5 D
19.5 1.2 I 1.5 D
I 7.5 D
I 19.5 D
37.5 D
16.5 1.2 I 4.5 D
I 10.5 D
I 28.5 D
34.5 D
13.5 1.2 I 1.5 D
I 19.5 D
37.5 D
10.5 1.2 I 10.5 D
I 16.5 D
I 22.5 D
40.5 D
7.5 1.2 I 13.5 D
I 25.5 D
I 31.5 D
37.5 D
4.5 1.2 I 4.5 D
I 10.5 D
I 16.5 D
40.5 D
1.5 1.2 I 1.5 D
I 7.5 D
I 13.5 D
I 19.5 D
I 31.5 D
37.5 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 33 24 %%BoundingBox: 0 0 42 27
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
24 0 0 33 R 27 0 0 42 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
22.5 0.6 I 1.5 D 25.5 0.6 I 1.5 D
I 13.5 D I 13.5 D
I 19.5 D
I 25.5 D I 25.5 D
31.5 D I 31.5 D
19.5 0.6 I 10.5 D 37.5 D
I 16.5 D 22.5 0.6 I 4.5 D
22.5 D
16.5 0.6 I 1.5 D
I 7.5 D
I 19.5 D
I 25.5 D
31.5 D
13.5 0.6 4.5 D
10.5 0.6 I 1.5 D
31.5 D
7.5 0.6 I 4.5 D
I 10.5 D
I 16.5 D
22.5 D
4.5 0.6 I 1.5 D
I 7.5 D
I 25.5 D
31.5 D
1.5 0.6 I 4.5 D
I 10.5 D I 10.5 D
I 22.5 D I 22.5 D
28.5 D I 34.5 D
40.5 D
19.5 0.6 I 1.5 D
I 7.5 D
I 19.5 D
37.5 D
16.5 0.6 I 4.5 D
I 10.5 D
I 28.5 D
34.5 D
13.5 0.6 I 1.5 D
I 19.5 D
37.5 D
10.5 0.6 I 10.5 D
I 16.5 D
I 22.5 D
40.5 D
7.5 0.6 I 13.5 D
I 25.5 D
I 31.5 D
37.5 D
4.5 0.6 I 4.5 D
I 10.5 D
I 16.5 D
40.5 D
1.5 0.6 I 1.5 D
I 7.5 D
I 13.5 D
I 19.5 D
I 31.5 D
37.5 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 34 25 %%BoundingBox: 0 0 43 28
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
24.6 0 0 33.6 R 27.6 0 0 42.6 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
22.8 1.65 I 1.8 D 25.8 1.65 I 1.8 D
I 13.8 D I 13.8 D
I 19.8 D
I 25.8 D I 25.8 D
31.8 D I 31.8 D
19.8 1.65 I 10.8 D 37.8 D
I 16.8 D 22.8 1.65 I 4.8 D
22.8 D
16.8 1.65 I 1.8 D
I 7.8 D
I 19.8 D
I 25.8 D
31.8 D
13.8 1.65 4.8 D
10.8 1.65 I 1.8 D
31.8 D
7.8 1.65 I 4.8 D
I 10.8 D
I 16.8 D
22.8 D
4.8 1.65 I 1.8 D
I 7.8 D
I 25.8 D
31.8 D
1.8 1.65 I 4.8 D
I 10.8 D I 10.8 D
I 22.8 D I 22.8 D
28.8 D I 34.8 D
40.8 D
19.8 1.65 I 1.8 D
I 7.8 D
I 19.8 D
37.8 D
16.8 1.65 I 4.8 D
I 10.8 D
I 28.8 D
34.8 D
13.8 1.65 I 1.8 D
I 19.8 D
37.8 D
10.8 1.65 I 10.8 D
I 16.8 D
I 22.8 D
40.8 D
7.8 1.65 I 13.8 D
I 25.8 D
I 31.8 D
37.8 D
4.8 1.65 I 4.8 D
I 10.8 D
I 16.8 D
40.8 D
1.8 1.65 I 1.8 D
I 7.8 D
I 13.8 D
I 19.8 D
I 31.8 D
37.8 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 37 28 %%BoundingBox: 0 0 46 31
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
27.6 0 0 36.6 R 30.6 0 0 45.6 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
24.3 3.15 I 3.3 D 27.3 3.15 I 3.3 D
I 15.3 D I 15.3 D
I 21.3 D
I 27.3 D I 27.3 D
33.3 D I 33.3 D
21.3 3.15 I 12.3 D 39.3 D
I 18.3 D 24.3 3.15 I 6.3 D
24.3 D
18.3 3.15 I 3.3 D
I 9.3 D
I 21.3 D
I 27.3 D
33.3 D
15.3 3.15 6.3 D
12.3 3.15 I 3.3 D
33.3 D
9.3 3.15 I 6.3 D
I 12.3 D
I 18.3 D
24.3 D
6.3 3.15 I 3.3 D
I 9.3 D
I 27.3 D
33.3 D
3.3 3.15 I 6.3 D
I 12.3 D I 12.3 D
I 24.3 D I 24.3 D
30.3 D I 36.3 D
42.3 D
21.3 3.15 I 3.3 D
I 9.3 D
I 21.3 D
39.3 D
18.3 3.15 I 6.3 D
I 12.3 D
I 30.3 D
36.3 D
15.3 3.15 I 3.3 D
I 21.3 D
39.3 D
12.3 3.15 I 12.3 D
I 18.3 D
I 24.3 D
42.3 D
9.3 3.15 I 15.3 D
I 27.3 D
I 33.3 D
39.3 D
6.3 3.15 I 6.3 D
I 12.3 D
I 18.3 D
42.3 D
3.3 3.15 I 3.3 D
I 9.3 D
I 15.3 D
I 21.3 D
I 33.3 D
39.3 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 44 32 %%BoundingBox: 0 0 56 36
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
32 0 0 44 R 36 0 0 56 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
30 1.6 I 2 D 34 1.6 I 2 D
I 18 D I 18 D
I 26 D
I 34 D I 34 D
42 D I 42 D
26 1.6 I 14 D 50 D
I 22 D 30 1.6 I 6 D
30 D
22 1.6 I 2 D
I 10 D
I 26 D
I 34 D
42 D
18 1.6 6 D
14 1.6 I 2 D
42 D
10 1.6 I 6 D
I 14 D
I 22 D
30 D
6 1.6 I 2 D
I 10 D
I 34 D
42 D
2 1.6 I 6 D
I 14 D I 14 D
I 30 D I 30 D
38 D I 46 D
54 D
26 1.6 I 2 D
I 10 D
I 26 D
50 D
22 1.6 I 6 D
I 14 D
I 38 D
46 D
18 1.6 I 2 D
I 26 D
50 D
14 1.6 I 14 D
I 22 D
I 30 D
54 D
10 1.6 I 18 D
I 34 D
I 42 D
50 D
6 1.6 I 6 D
I 14 D
I 22 D
54 D
2 1.6 I 2 D
I 10 D
I 18 D
I 26 D
I 42 D
50 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 44 32 %%BoundingBox: 0 0 56 36
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
32 0 0 44 R 36 0 0 56 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
30 1.8 I 2 D 34 1.8 I 2 D
I 18 D I 18 D
I 26 D
I 34 D I 34 D
42 D I 42 D
26 1.8 I 14 D 50 D
I 22 D 30 1.8 I 6 D
30 D
22 1.8 I 2 D
I 10 D
I 26 D
I 34 D
42 D
18 1.8 6 D
14 1.8 I 2 D
42 D
10 1.8 I 6 D
I 14 D
I 22 D
30 D
6 1.8 I 2 D
I 10 D
I 34 D
42 D
2 1.8 I 6 D
I 14 D I 14 D
I 30 D I 30 D
38 D I 46 D
54 D
26 1.8 I 2 D
I 10 D
I 26 D
50 D
22 1.8 I 6 D
I 14 D
I 38 D
46 D
18 1.8 I 2 D
I 26 D
50 D
14 1.8 I 14 D
I 22 D
I 30 D
54 D
10 1.8 I 18 D
I 34 D
I 42 D
50 D
6 1.8 I 6 D
I 14 D
I 22 D
54 D
2 1.8 I 2 D
I 10 D
I 18 D
I 26 D
I 42 D
50 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 45 33 %%BoundingBox: 0 0 57 37
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
32.8 0 0 44.8 R 36.8 0 0 56.8 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
30.4 2.2 I 2.4 D 34.4 2.2 I 2.4 D
I 18.4 D I 18.4 D
I 26.4 D
I 34.4 D I 34.4 D
42.4 D I 42.4 D
26.4 2.2 I 14.4 D 50.4 D
I 22.4 D 30.4 2.2 I 6.4 D
30.4 D
22.4 2.2 I 2.4 D
I 10.4 D
I 26.4 D
I 34.4 D
42.4 D
18.4 2.2 6.4 D
14.4 2.2 I 2.4 D
42.4 D
10.4 2.2 I 6.4 D
I 14.4 D
I 22.4 D
30.4 D
6.4 2.2 I 2.4 D
I 10.4 D
I 34.4 D
42.4 D
2.4 2.2 I 6.4 D
I 14.4 D I 14.4 D
I 30.4 D I 30.4 D
38.4 D I 46.4 D
54.4 D
26.4 2.2 I 2.4 D
I 10.4 D
I 26.4 D
50.4 D
22.4 2.2 I 6.4 D
I 14.4 D
I 38.4 D
46.4 D
18.4 2.2 I 2.4 D
I 26.4 D
50.4 D
14.4 2.2 I 14.4 D
I 22.4 D
I 30.4 D
54.4 D
10.4 2.2 I 18.4 D
I 34.4 D
I 42.4 D
50.4 D
6.4 2.2 I 6.4 D
I 14.4 D
I 22.4 D
54.4 D
2.4 2.2 I 2.4 D
I 10.4 D
I 18.4 D
I 26.4 D
I 42.4 D
50.4 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 66 48 %%BoundingBox: 0 0 84 54
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
48 0 0 66 R 54 0 0 84 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
45 2.4 I 3 D 51 2.4 I 3 D
I 27 D I 27 D
I 39 D
I 51 D I 51 D
63 D I 63 D
39 2.4 I 21 D 75 D
I 33 D 45 2.4 I 9 D
45 D
33 2.4 I 3 D
I 15 D
I 39 D
I 51 D
63 D
27 2.4 9 D
21 2.4 I 3 D
63 D
15 2.4 I 9 D
I 21 D
I 33 D
45 D
9 2.4 I 3 D
I 15 D
I 51 D
63 D
3 2.4 I 9 D
I 21 D I 21 D
I 45 D I 45 D
57 D I 69 D
81 D
39 2.4 I 3 D
I 15 D
I 39 D
75 D
33 2.4 I 9 D
I 21 D
I 57 D
69 D
27 2.4 I 3 D
I 39 D
75 D
21 2.4 I 21 D
I 33 D
I 45 D
81 D
15 2.4 I 27 D
I 51 D
I 63 D
75 D
9 2.4 I 9 D
I 21 D
I 33 D
81 D
3 2.4 I 3 D
I 15 D
I 27 D
I 39 D
I 63 D
75 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 66 48 %%BoundingBox: 0 0 84 54
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
48 0 0 66 R 54 0 0 84 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
45 1.2 I 3 D 51 1.2 I 3 D
I 27 D I 27 D
I 39 D
I 51 D I 51 D
63 D I 63 D
39 1.2 I 21 D 75 D
I 33 D 45 1.2 I 9 D
45 D
33 1.2 I 3 D
I 15 D
I 39 D
I 51 D
63 D
27 1.2 9 D
21 1.2 I 3 D
63 D
15 1.2 I 9 D
I 21 D
I 33 D
45 D
9 1.2 I 3 D
I 15 D
I 51 D
63 D
3 1.2 I 9 D
I 21 D I 21 D
I 45 D I 45 D
57 D I 69 D
81 D
39 1.2 I 3 D
I 15 D
I 39 D
75 D
33 1.2 I 9 D
I 21 D
I 57 D
69 D
27 1.2 I 3 D
I 39 D
75 D
21 1.2 I 21 D
I 33 D
I 45 D
81 D
15 1.2 I 27 D
I 51 D
I 63 D
75 D
9 1.2 I 9 D
I 21 D
I 33 D
81 D
3 1.2 I 3 D
I 15 D
I 27 D
I 39 D
I 63 D
75 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 68 50 %%BoundingBox: 0 0 86 56
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
49.2 0 0 67.2 R 55.2 0 0 85.2 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
45.6 3.3 I 3.6 D 51.6 3.3 I 3.6 D
I 27.6 D I 27.6 D
I 39.6 D
I 51.6 D I 51.6 D
63.6 D I 63.6 D
39.6 3.3 I 21.6 D 75.6 D
I 33.6 D 45.6 3.3 I 9.6 D
45.6 D
33.6 3.3 I 3.6 D
I 15.6 D
I 39.6 D
I 51.6 D
63.6 D
27.6 3.3 9.6 D
21.6 3.3 I 3.6 D
63.6 D
15.6 3.3 I 9.6 D
I 21.6 D
I 33.6 D
45.6 D
9.6 3.3 I 3.6 D
I 15.6 D
I 51.6 D
63.6 D
3.6 3.3 I 9.6 D
I 21.6 D I 21.6 D
I 45.6 D I 45.6 D
57.6 D I 69.6 D
81.6 D
39.6 3.3 I 3.6 D
I 15.6 D
I 39.6 D
75.6 D
33.6 3.3 I 9.6 D
I 21.6 D
I 57.6 D
69.6 D
27.6 3.3 I 3.6 D
I 39.6 D
75.6 D
21.6 3.3 I 21.6 D
I 33.6 D
I 45.6 D
81.6 D
15.6 3.3 I 27.6 D
I 51.6 D
I 63.6 D
75.6 D
9.6 3.3 I 9.6 D
I 21.6 D
I 33.6 D
81.6 D
3.6 3.3 I 3.6 D
I 15.6 D
I 27.6 D
I 39.6 D
I 63.6 D
75.6 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 77 56 %%BoundingBox: 0 0 98 63
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
56 0 0 77 R 63 0 0 98 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
52.5 2.8 I 3.5 D 59.5 2.8 I 3.5 D
I 31.5 D I 31.5 D
I 45.5 D
I 59.5 D I 59.5 D
73.5 D I 73.5 D
45.5 2.8 I 24.5 D 87.5 D
I 38.5 D 52.5 2.8 I 10.5 D
52.5 D
38.5 2.8 I 3.5 D
I 17.5 D
I 45.5 D
I 59.5 D
73.5 D
31.5 2.8 10.5 D
24.5 2.8 I 3.5 D
73.5 D
17.5 2.8 I 10.5 D
I 24.5 D
I 38.5 D
52.5 D
10.5 2.8 I 3.5 D
I 17.5 D
I 59.5 D
73.5 D
3.5 2.8 I 10.5 D
I 24.5 D I 24.5 D
I 52.5 D I 52.5 D
66.5 D I 80.5 D
94.5 D
45.5 2.8 I 3.5 D
I 17.5 D
I 45.5 D
87.5 D
38.5 2.8 I 10.5 D
I 24.5 D
I 66.5 D
80.5 D
31.5 2.8 I 3.5 D
I 45.5 D
87.5 D
24.5 2.8 I 24.5 D
I 38.5 D
I 52.5 D
94.5 D
17.5 2.8 I 31.5 D
I 59.5 D
I 73.5 D
87.5 D
10.5 2.8 I 10.5 D
I 24.5 D
I 38.5 D
94.5 D
3.5 2.8 I 3.5 D
I 17.5 D
I 31.5 D
I 45.5 D
I 73.5 D
87.5 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 77 56 %%BoundingBox: 0 0 98 63
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
56 0 0 77 R 63 0 0 98 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
52.5 1.4 I 3.5 D 59.5 1.4 I 3.5 D
I 31.5 D I 31.5 D
I 45.5 D
I 59.5 D I 59.5 D
73.5 D I 73.5 D
45.5 1.4 I 24.5 D 87.5 D
I 38.5 D 52.5 1.4 I 10.5 D
52.5 D
38.5 1.4 I 3.5 D
I 17.5 D
I 45.5 D
I 59.5 D
73.5 D
31.5 1.4 10.5 D
24.5 1.4 I 3.5 D
73.5 D
17.5 1.4 I 10.5 D
I 24.5 D
I 38.5 D
52.5 D
10.5 1.4 I 3.5 D
I 17.5 D
I 59.5 D
73.5 D
3.5 1.4 I 10.5 D
I 24.5 D I 24.5 D
I 52.5 D I 52.5 D
66.5 D I 80.5 D
94.5 D
45.5 1.4 I 3.5 D
I 17.5 D
I 45.5 D
87.5 D
38.5 1.4 I 10.5 D
I 24.5 D
I 66.5 D
80.5 D
31.5 1.4 I 3.5 D
I 45.5 D
87.5 D
24.5 1.4 I 24.5 D
I 38.5 D
I 52.5 D
94.5 D
17.5 1.4 I 31.5 D
I 59.5 D
I 73.5 D
87.5 D
10.5 1.4 I 10.5 D
I 24.5 D
I 38.5 D
94.5 D
3.5 1.4 I 3.5 D
I 17.5 D
I 31.5 D
I 45.5 D
I 73.5 D
87.5 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 79 58 %%BoundingBox: 0 0 100 65
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
57.4 0 0 78.4 R 64.4 0 0 99.4 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
53.2 3.85 I 4.2 D 60.2 3.85 I 4.2 D
I 32.2 D I 32.2 D
I 46.2 D
I 60.2 D I 60.2 D
74.2 D I 74.2 D
46.2 3.85 I 25.2 D 88.2 D
I 39.2 D 53.2 3.85 I 11.2 D
53.2 D
39.2 3.85 I 4.2 D
I 18.2 D
I 46.2 D
I 60.2 D
74.2 D
32.2 3.85 11.2 D
25.2 3.85 I 4.2 D
74.2 D
18.2 3.85 I 11.2 D
I 25.2 D
I 39.2 D
53.2 D
11.2 3.85 I 4.2 D
I 18.2 D
I 60.2 D
74.2 D
4.2 3.85 I 11.2 D
I 25.2 D I 25.2 D
I 53.2 D I 53.2 D
67.2 D I 81.2 D
95.2 D
46.2 3.85 I 4.2 D
I 18.2 D
I 46.2 D
88.2 D
39.2 3.85 I 11.2 D
I 25.2 D
I 67.2 D
81.2 D
32.2 3.85 I 4.2 D
I 46.2 D
88.2 D
25.2 3.85 I 25.2 D
I 39.2 D
I 53.2 D
95.2 D
18.2 3.85 I 32.2 D
I 60.2 D
I 74.2 D
88.2 D
11.2 3.85 I 11.2 D
I 25.2 D
I 39.2 D
95.2 D
4.2 3.85 I 4.2 D
I 18.2 D
I 32.2 D
I 46.2 D
I 74.2 D
88.2 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 110 80 %%BoundingBox: 0 0 140 90
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
80 0 0 110 R 90 0 0 140 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
75 4 I 5 D 85 4 I 5 D
I 45 D I 45 D
I 65 D
I 85 D I 85 D
105 D I 105 D
65 4 I 35 D 125 D
I 55 D 75 4 I 15 D
75 D
55 4 I 5 D
I 25 D
I 65 D
I 85 D
105 D
45 4 15 D
35 4 I 5 D
105 D
25 4 I 15 D
I 35 D
I 55 D
75 D
15 4 I 5 D
I 25 D
I 85 D
105 D
5 4 I 15 D
I 35 D I 35 D
I 75 D I 75 D
95 D I 115 D
135 D
65 4 I 5 D
I 25 D
I 65 D
125 D
55 4 I 15 D
I 35 D
I 95 D
115 D
45 4 I 5 D
I 65 D
125 D
35 4 I 35 D
I 55 D
I 75 D
135 D
25 4 I 45 D
I 85 D
I 105 D
125 D
15 4 I 15 D
I 35 D
I 55 D
135 D
5 4 I 5 D
I 25 D
I 45 D
I 65 D
I 105 D
125 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 110 80 %%BoundingBox: 0 0 140 90
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
80 0 0 110 R 90 0 0 140 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
75 1 I 5 D 85 1 I 5 D
I 45 D I 45 D
I 65 D
I 85 D I 85 D
105 D I 105 D
65 1 I 35 D 125 D
I 55 D 75 1 I 15 D
75 D
55 1 I 5 D
I 25 D
I 65 D
I 85 D
105 D
45 1 15 D
35 1 I 5 D
105 D
25 1 I 15 D
I 35 D
I 55 D
75 D
15 1 I 5 D
I 25 D
I 85 D
105 D
5 1 I 15 D
I 35 D I 35 D
I 75 D I 75 D
95 D I 115 D
135 D
65 1 I 5 D
I 25 D
I 65 D
125 D
55 1 I 15 D
I 35 D
I 95 D
115 D
45 1 I 5 D
I 65 D
125 D
35 1 I 35 D
I 55 D
I 75 D
135 D
25 1 I 45 D
I 85 D
I 105 D
125 D
15 1 I 15 D
I 35 D
I 55 D
135 D
5 1 I 5 D
I 25 D
I 45 D
I 65 D
I 105 D
125 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 112 82 %%BoundingBox: 0 0 142 92
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
82 0 0 112 R 92 0 0 142 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
76 5.5 I 6 D 86 5.5 I 6 D
I 46 D I 46 D
I 66 D
I 86 D I 86 D
106 D I 106 D
66 5.5 I 36 D 126 D
I 56 D 76 5.5 I 16 D
76 D
56 5.5 I 6 D
I 26 D
I 66 D
I 86 D
106 D
46 5.5 16 D
36 5.5 I 6 D
106 D
26 5.5 I 16 D
I 36 D
I 56 D
76 D
16 5.5 I 6 D
I 26 D
I 86 D
106 D
6 5.5 I 16 D
I 36 D I 36 D
I 76 D I 76 D
96 D I 116 D
136 D
66 5.5 I 6 D
I 26 D
I 66 D
126 D
56 5.5 I 16 D
I 36 D
I 96 D
116 D
46 5.5 I 6 D
I 66 D
126 D
36 5.5 I 36 D
I 56 D
I 76 D
136 D
26 5.5 I 46 D
I 86 D
I 106 D
126 D
16 5.5 I 16 D
I 36 D
I 56 D
136 D
6 5.5 I 6 D
I 26 D
I 46 D
I 66 D
I 106 D
126 D
+38 -27
View File
@@ -1,40 +1,51 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 118 88 %%BoundingBox: 0 0 148 98
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def /R { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 1 1 setrgbcolor 1 1 1 setrgbcolor
88 0 0 118 R 98 0 0 148 R
0 0 0 setrgbcolor 0 0 0 setrgbcolor
79 8.5 I 9 D 89 8.5 I 9 D
I 49 D I 49 D
I 69 D
I 89 D I 89 D
109 D I 109 D
69 8.5 I 39 D 129 D
I 59 D 79 8.5 I 19 D
79 D
59 8.5 I 9 D
I 29 D
I 69 D
I 89 D
109 D
49 8.5 19 D
39 8.5 I 9 D
109 D
29 8.5 I 19 D
I 39 D
I 59 D
79 D
19 8.5 I 9 D
I 29 D
I 89 D
109 D
9 8.5 I 19 D
I 39 D I 39 D
I 79 D I 79 D
99 D I 119 D
139 D
69 8.5 I 9 D
I 29 D
I 69 D
129 D
59 8.5 I 19 D
I 39 D
I 99 D
119 D
49 8.5 I 9 D
I 69 D
129 D
39 8.5 I 39 D
I 59 D
I 79 D
139 D
29 8.5 I 49 D
I 89 D
I 109 D
129 D
19 8.5 I 19 D
I 39 D
I 59 D
139 D
9 8.5 I 9 D
I 29 D
I 49 D
I 69 D
I 109 D
129 D
+37 -26
View File
@@ -1,37 +1,48 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Zint 2.12.0.9 %%Creator: Zint 2.16.0.9
%%Title: Zint Generated Symbol %%Title: Zint Generated Symbol
%%Pages: 0 %%Pages: 0
%%BoundingBox: 0 0 22 16 %%BoundingBox: 0 0 28 18
%%EndComments %%EndComments
/D { newpath 3 1 roll 0 360 arc fill } bind def /D { newpath 3 1 roll 0 360 arc fill } bind def
/I { 2 copy } bind def /I { 2 copy } bind def
1 0 0 setrgbcolor 1 0 0 setrgbcolor
15 0.8 I 1 D 17 0.8 I 1 D
I 9 D I 9 D
I 13 D
I 17 D I 17 D
21 D I 21 D
13 0.8 I 7 D 25 D
I 11 D 15 0.8 I 3 D
15 D
11 0.8 I 1 D
I 5 D
I 13 D
I 17 D
21 D
9 0.8 3 D
7 0.8 I 1 D
21 D
5 0.8 I 3 D
I 7 D
I 11 D
15 D
3 0.8 I 1 D
I 5 D
I 17 D
21 D
1 0.8 I 3 D
I 7 D I 7 D
I 15 D I 15 D
19 D I 23 D
27 D
13 0.8 I 1 D
I 5 D
I 13 D
25 D
11 0.8 I 3 D
I 7 D
I 19 D
23 D
9 0.8 I 1 D
I 13 D
25 D
7 0.8 I 7 D
I 11 D
I 15 D
27 D
5 0.8 I 9 D
I 17 D
I 21 D
25 D
3 0.8 I 3 D
I 7 D
I 11 D
27 D
1 0.8 I 1 D
I 5 D
I 9 D
I 13 D
I 21 D
25 D
Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 B

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 B

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 937 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 89 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 89 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 89 B

+1 -1
View File
@@ -874,7 +874,7 @@ static const struct item data_data[] = {
"\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242" "\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242\242"
"\136\136", "\136\136",
162 162
}, /* fuzz_data (1st) */ }, /* fuzz_data (2nd) */
}; };
/* GS1_MODE data */ /* GS1_MODE data */
+6 -13
View File
@@ -1,7 +1,7 @@
/* Test BWIPP against ZXing-C++ (no zint involved) */ /* Test BWIPP against ZXing-C++ (no zint involved) */
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2025 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2025-2026 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
@@ -120,7 +120,9 @@ static void test_bwipp_random(const testCtx *const p_ctx, const struct random_it
ret = testUtilZXingCPP(i, symbol, data_buf, length, bwipp_buf, 899 /*zxingcpp_cmp*/, cmp_buf, sizeof(cmp_buf), ret = testUtilZXingCPP(i, symbol, data_buf, length, bwipp_buf, 899 /*zxingcpp_cmp*/, cmp_buf, sizeof(cmp_buf),
&cmp_len); &cmp_len);
assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret); assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
/*fprintf(stderr, "cmp_len %d\n", cmp_len);*/ #if 0
fprintf(stderr, "cmp_len %d\n", cmp_len);
#endif
ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data_buf, length, NULL /*primary*/, ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data_buf, length, NULL /*primary*/,
ret_buf, &ret_len); ret_buf, &ret_len);
@@ -187,15 +189,9 @@ static void test_datamatrix(const testCtx *const p_ctx) {
test_bwipp_random(p_ctx, &rdata, sqrt_width_func); test_bwipp_random(p_ctx, &rdata, sqrt_width_func);
} }
/* TODO: explore why "zxingcppdecoder" fails */
#if 0
static int dotcode_width_func(const struct random_item *rdata, const int bwipp_len) { static int dotcode_width_func(const struct random_item *rdata, const int bwipp_len) {
const int row_bits = rdata->option_2 >= 1 ? bwipp_len / rdata->option_2 : 0; (void)bwipp_len;
const int mod = row_bits ? bwipp_len % row_bits : -1; return rdata->option_2;
if (mod) {
fprintf(stderr, "dotcode_width_func: row_bits %d, bwipp_len %d, mod %d\n", row_bits, bwipp_len, mod);
}
return mod == 0 ? row_bits : 0;
} }
static void test_dotcode(const testCtx *const p_ctx) { static void test_dotcode(const testCtx *const p_ctx) {
@@ -205,7 +201,6 @@ static void test_dotcode(const testCtx *const p_ctx) {
test_bwipp_random(p_ctx, &rdata, dotcode_width_func); test_bwipp_random(p_ctx, &rdata, dotcode_width_func);
} }
#endif
static int micropdf417_width_func(const struct random_item *rdata, const int bwipp_len) { static int micropdf417_width_func(const struct random_item *rdata, const int bwipp_len) {
static const short widths[4] = { 38, 55, 82, 99 }; static const short widths[4] = { 38, 55, 82, 99 };
@@ -532,9 +527,7 @@ int main(int argc, char *argv[]) {
{ "test_codablockf", test_codablockf }, { "test_codablockf", test_codablockf },
{ "test_code128", test_code128 }, { "test_code128", test_code128 },
{ "test_datamatrix", test_datamatrix }, { "test_datamatrix", test_datamatrix },
#if 0
{ "test_dotcode", test_dotcode }, { "test_dotcode", test_dotcode },
#endif
{ "test_micropdf417", test_micropdf417 }, { "test_micropdf417", test_micropdf417 },
{ "test_pdf417", test_pdf417 }, { "test_pdf417", test_pdf417 },
{ "test_qr", test_qr }, { "test_qr", test_qr },
+74 -22
View File
@@ -1,6 +1,6 @@
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2019-2025 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2019-2026 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
@@ -40,26 +40,29 @@ static void test_large(const testCtx *const p_ctx) {
int length; int length;
int ret; int ret;
const char *expected_errtxt; const char *expected_errtxt;
int bwipp_cmp;
int zxingcpp_cmp;
const char *comment;
}; };
/* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */ /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
static const struct item data[] = { static const struct item data[] = {
/* 0*/ { 200, '0', 2940, 0, "" }, /* 2940 largest Code Set C data that fits in 200x199 HxW */ /* 0*/ { 200, '0', 2940, 0, "", 1, 1, "" }, /* 2940 largest Code Set C data that fits in 200x199 HxW */
/* 1*/ { 200, '0', 2941, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)" }, /* 1*/ { 200, '0', 2941, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)", 1, 1, "" },
/* 2*/ { 200, '9', 200, 0, "" }, /* Changes a number of mask scores re pre-Rev. 4 version, but best score still the same (7) */ /* 2*/ { 200, '9', 200, 0, "", 1, 1, "" }, /* Changes a number of mask scores re pre-Rev. 4 version, but best score still the same (7) */
/* 3*/ { 200, '0', 2974, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '203' is too large (maximum 200)" }, /* Width > 200 also */ /* 3*/ { 200, '0', 2974, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '203' is too large (maximum 200)", 1, 1, "" }, /* Width > 200 also */
/* 4*/ { 200, 'A', 1470, 0, "" }, /* 4*/ { 200, 'A', 1470, 0, "", 1, 1, "" },
/* 5*/ { 200, 'A', 1471, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)" }, /* 5*/ { 200, 'A', 1471, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)", 1, 1, "" },
/* 6*/ { 200, '\240', 1225, 0, "" }, /* 6*/ { 200, '\240', 1225, 0, "", 1, 899, "" },
/* 7*/ { 200, '\240', 1226, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)" }, /* 7*/ { 200, '\240', 1226, ZINT_ERROR_INVALID_OPTION, "Error 735: Resulting symbol height '201' is too large (maximum 200)", 1, 899, "" },
/* 8*/ { 200, '0', 1, 0, "" }, /* Padding codewords 35 - probably max */ /* 8*/ { 200, '0', 1, 0, "", 1, 1, "" }, /* Padding codewords 35 - probably max */
/* 9*/ { 200, '0', 2, 0, "" }, /* Padding codewords 35 */ /* 9*/ { 200, '0', 2, 0, "", 1, 1, "" }, /* Padding codewords 35 */
/* 10*/ { 30, '\001', 71, 0, "" }, /* Codeword length 72, ECC length 39, for ND + 1 == 112 */ /* 10*/ { 30, '\001', 71, 0, "", 1, 1, "" }, /* Codeword length 72, ECC length 39, for ND + 1 == 112 */
/* 11*/ { -1, '0', 1968, 0, "" }, /* 11*/ { -1, '0', 1968, 0, "", 1, 1, "" },
/* 12*/ { -1, '0', 1969, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)" }, /* 12*/ { -1, '0', 1969, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)", 1, 1, "" },
/* 13*/ { -1, 'A', 984, 0, "" }, /* 13*/ { -1, 'A', 984, 0, "", 1, 1, "" },
/* 14*/ { -1, 'A', 985, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)" }, /* 14*/ { -1, 'A', 985, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)", 1, 1, "" },
/* 15*/ { -1, '\240', 820, 0, "" }, /* 15*/ { -1, '\240', 820, 0, "", 1, 899, "" },
/* 16*/ { -1, '\240', 821, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)" }, /* 16*/ { -1, '\240', 821, ZINT_ERROR_INVALID_OPTION, "Error 528: Resulting symbol width '201' is too large (maximum 200)", 1, 899, "" },
}; };
const int data_size = ARRAY_SIZE(data); const int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;
@@ -67,6 +70,14 @@ static void test_large(const testCtx *const p_ctx) {
char data_buf[4096]; char data_buf[4096];
char escaped[8192];
char cmp_buf[50000];
char cmp_msg[1024];
/* Only do BWIPP/zxing-cpp tests if asked, too slow otherwise */
int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript();
int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder();
testStartSymbol(p_ctx->func_name, &symbol); testStartSymbol(p_ctx->func_name, &symbol);
for (i = 0; i < data_size; i++) { for (i = 0; i < data_size; i++) {
@@ -84,6 +95,43 @@ static void test_large(const testCtx *const p_ctx) {
assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt); assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
assert_zero(strcmp(symbol->errtxt, data[i].expected_errtxt), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected_errtxt); assert_zero(strcmp(symbol->errtxt, data[i].expected_errtxt), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected_errtxt);
if (ret < ZINT_ERROR) {
if (do_bwipp && testUtilCanBwipp(i, symbol, -1, data[i].option_2, -1, debug)) {
if (!data[i].bwipp_cmp) {
if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not BWIPP compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
} else {
char modules_dump[200 * 200 + 1];
assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
ret = testUtilBwipp(i, symbol, -1, data[i].option_2, -1, data_buf, length, NULL, cmp_buf, sizeof(cmp_buf), NULL);
assert_zero(ret, "i:%d %s testUtilBwipp ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
ret = testUtilBwippCmp(symbol, cmp_msg, cmp_buf, modules_dump);
assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_buf, modules_dump);
}
}
if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, data_buf, length, debug)) {
if (!data[i].zxingcpp_cmp) {
if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not zxing-cpp compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
} else {
int cmp_len, ret_len;
char modules_dump[200 * 200 + 1];
assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1,
"i:%d testUtilModulesDump == -1\n", i);
ret = testUtilZXingCPP(i, symbol, data_buf, length, modules_dump, data[i].zxingcpp_cmp,
cmp_buf, sizeof(cmp_buf), &cmp_len);
assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n",
i, testUtilBarcodeName(symbol->symbology), ret);
ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data_buf, length,
NULL /*primary*/, escaped, &ret_len);
assert_zero(ret, "i:%d %s testUtilZXingCPPCmp %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len,
escaped);
}
}
}
ZBarcode_Delete(symbol); ZBarcode_Delete(symbol);
} }
@@ -232,10 +280,14 @@ static void test_input(const testCtx *const p_ctx) {
/* 37*/ { DATA_MODE, -1, -1, -1, { 0, 0, "" }, "\200\201\202\203\061\062\063\064", -1, 0, "70 13 56 0A 59 2C 67 0C 22", 1, 899, "BinaryLatch (0x70) 0x80 0x81 0x82 0x83 Intr2xShiftC (0x67) 12 3" }, /* 37*/ { DATA_MODE, -1, -1, -1, { 0, 0, "" }, "\200\201\202\203\061\062\063\064", -1, 0, "70 13 56 0A 59 2C 67 0C 22", 1, 899, "BinaryLatch (0x70) 0x80 0x81 0x82 0x83 Intr2xShiftC (0x67) 12 3" },
/* 38*/ { DATA_MODE, -1, -1, -1, { 0, 0, "" }, "\001\200\201\202\203\204\200\201\202\203\204", -1, 0, "65 41 70 31 5A 35 21 5A 5F 31 5A 35 21 5A 5F", 1, 899, "LatchA (0x65) SOH BinaryLatch (0x70) 0x80 0x81 0x82 0x83 0x80 0x81 0x82 0x83" }, /* 38*/ { DATA_MODE, -1, -1, -1, { 0, 0, "" }, "\001\200\201\202\203\204\200\201\202\203\204", -1, 0, "65 41 70 31 5A 35 21 5A 5F 31 5A 35 21 5A 5F", 1, 899, "LatchA (0x65) SOH BinaryLatch (0x70) 0x80 0x81 0x82 0x83 0x80 0x81 0x82 0x83" },
/* 39*/ { UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "\001abc\011\015\012\036", -1, 0, "65 41 65 41 42 43 61 60 64", 1, 1, "LatchA (0x65) SOH 6xShiftB (0x65) a b c HT CR/LF RS" }, /* 39*/ { UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "\001abc\011\015\012\036", -1, 0, "65 41 65 41 42 43 61 60 64", 1, 1, "LatchA (0x65) SOH 6xShiftB (0x65) a b c HT CR/LF RS" },
/* 40*/ { UNICODE_MODE, -1, -1, -1, { 35, 35, "" }, "ABCDE", -1, 0, "6A 21 22 23 24 25 3A 3A 6C", 1, 1, "LatchB (0x6A) A B C D E Z Z FNC2" }, /* 40*/ { UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "00", -1, 0, "6B 00", 0, 1, "BWIPP: different dim (13x10 vs 9x14), see below" },
/* 41*/ { UNICODE_MODE, -1, -1, -1, { 9, 10, "" }, "1234567890", -1, 0, "6B 0C 22 38 4E 5A 65 19 21 6C", 1, 1, "FNC1 (0x6B) 12 34 56 78 90 LatchA (0x65) 9 A FNC2" }, /* 41*/ { UNICODE_MODE, -1, 13, -1, { 0, 0, "" }, "00", -1, 0, "6B 00 6A", 1, 1, "" },
/* 42*/ { UNICODE_MODE, -1, -1, -1, { 2, 3, "" }, "\001\002\003\004", -1, 0, "65 41 42 43 44 6A 12 13 6C", 1, 1, "LatchA (0x65) <SOH> <STX> <ETX> <EOT> PAD 2 3 FNC2" }, /* 42*/ { UNICODE_MODE, -1, 200, -1, { 0, 0, "" }, "00", -1, 0, "(35) 6B 00 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A", 1, 1, "" },
/* 43*/ { DATA_MODE, -1, -1, -1, { 1, 34, "" }, "\200\201\202\203", -1, 0, "70 13 56 0A 59 2C 6D 11 39 6C", 1, 899, "BinaryLatch (0x70) (...) TermA (0x6D) 1 Y FNC2" }, /* 43*/ { DATA_MODE, -1, 50, -1, { 0, 0, "" }, "\354\202f", -1, 0, "70 05 4F 48 6E 46 6A", 1, 899, "" },
/* 44*/ { UNICODE_MODE, -1, -1, -1, { 35, 35, "" }, "ABCDE", -1, 0, "6A 21 22 23 24 25 3A 3A 6C", 1, 1, "LatchB (0x6A) A B C D E Z Z FNC2" },
/* 45*/ { UNICODE_MODE, -1, -1, -1, { 9, 10, "" }, "1234567890", -1, 0, "6B 0C 22 38 4E 5A 65 19 21 6C", 1, 1, "FNC1 (0x6B) 12 34 56 78 90 LatchA (0x65) 9 A FNC2" },
/* 46*/ { UNICODE_MODE, -1, -1, -1, { 2, 3, "" }, "\001\002\003\004", -1, 0, "65 41 42 43 44 6A 12 13 6C", 1, 1, "LatchA (0x65) <SOH> <STX> <ETX> <EOT> PAD 2 3 FNC2" },
/* 47*/ { DATA_MODE, -1, -1, -1, { 1, 34, "" }, "\200\201\202\203", -1, 0, "70 13 56 0A 59 2C 6D 11 39 6C", 1, 899, "BinaryLatch (0x70) (...) TermA (0x6D) 1 Y FNC2" },
}; };
const int data_size = ARRAY_SIZE(data); const int data_size = ARRAY_SIZE(data);
int i, length, ret; int i, length, ret;
+2 -2
View File
@@ -1,6 +1,6 @@
/* /*
libzint - the open source barcode library libzint - the open source barcode library
Copyright (C) 2019-2025 Robin Stuart <rstuart114@gmail.com> Copyright (C) 2019-2026 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
@@ -408,7 +408,7 @@ static void test_input_data(const testCtx *const p_ctx) {
char data_buf[ZINT_MAX_DATA_LEN + 10]; char data_buf[ZINT_MAX_DATA_LEN + 10];
int expected_ret = ZINT_ERROR_TOO_LONG; int expected_ret = ZINT_ERROR_TOO_LONG;
const char *expected_errtxt[] = { const char *expected_errtxt[] = {
"Error 797: Input too long", "Error 796: Input too long",
"Error 340: Input length 17399 too long (maximum 256)", "Error 340: Input length 17399 too long (maximum 256)",
"Error 799: Invalid primary, must be NUL-terminated", "Error 799: Invalid primary, must be NUL-terminated",
"Error 854: Invalid primary (linear component), must be NUL-terminated", "Error 854: Invalid primary (linear component), must be NUL-terminated",
Binary file not shown.
+2 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# Copyright (C) 2021-2025 Robin Stuart <rstuart114@gmail.com> # Copyright (C) 2021-2026 Robin Stuart <rstuart114@gmail.com>
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# vim: set ts=4 sw=4 et : # vim: set ts=4 sw=4 et :
set -e set -e
@@ -40,6 +40,7 @@ run_bwipp_test "test_dmatrix" "reader_init"
run_bwipp_test "test_dmatrix" "input" run_bwipp_test "test_dmatrix" "input"
run_bwipp_test "test_dmatrix" "encode" run_bwipp_test "test_dmatrix" "encode"
run_bwipp_test "test_dmatrix" "encode_segs" run_bwipp_test "test_dmatrix" "encode_segs"
run_bwipp_test "test_dotcode" "large"
run_bwipp_test "test_dotcode" "input" run_bwipp_test "test_dotcode" "input"
run_bwipp_test "test_dotcode" "encode" run_bwipp_test "test_dotcode" "encode"
run_bwipp_test "test_dotcode" "encode_segs" run_bwipp_test "test_dotcode" "encode_segs"
+2 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# Copyright (C) 2021-2025 Robin Stuart <rstuart114@gmail.com> # Copyright (C) 2021-2026 Robin Stuart <rstuart114@gmail.com>
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# vim: set ts=4 sw=4 et : # vim: set ts=4 sw=4 et :
set -e set -e
@@ -34,6 +34,7 @@ run_zxingcpp_test "test_dmatrix" "input"
run_zxingcpp_test "test_dmatrix" "encode" run_zxingcpp_test "test_dmatrix" "encode"
run_zxingcpp_test "test_dmatrix" "encode_segs" run_zxingcpp_test "test_dmatrix" "encode_segs"
run_zxingcpp_test "test_dxfilmedge" "encode" run_zxingcpp_test "test_dxfilmedge" "encode"
run_zxingcpp_test "test_dotcode" "large"
run_zxingcpp_test "test_dotcode" "input" run_zxingcpp_test "test_dotcode" "input"
run_zxingcpp_test "test_dotcode" "encode" run_zxingcpp_test "test_dotcode" "encode"
run_zxingcpp_test "test_dotcode" "encode_segs" run_zxingcpp_test "test_dotcode" "encode_segs"
+30 -20
View File
@@ -1,21 +1,31 @@
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") # Copyright (C) 2009-2026 Robin Stuart <rstuart114@gmail.com>
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") # vim: set ts=4 sw=4 et :
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
STRING(REGEX REPLACE "\n" ";" files "${files}") message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
FOREACH(file ${files}) endif()
MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
# IF(EXISTS "$ENV{DESTDIR}${file}") file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
EXEC_PROGRAM( string(REGEX REPLACE "\n" ";" files "${files}")
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" foreach(file ${files})
OUTPUT_VARIABLE rm_out if(file MATCHES "(^.*/zint/)[^/]+$")
RETURN_VALUE rm_retval list(FIND dirs ${CMAKE_MATCH_1} fnd_dir)
) if (fnd_dir EQUAL -1)
IF(NOT "${rm_retval}" STREQUAL 0) list(APPEND dirs ${CMAKE_MATCH_1})
MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") endif()
ENDIF(NOT "${rm_retval}" STREQUAL 0) endif()
# ELSE(EXISTS "$ENV{DESTDIR}${file}") message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
# MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17")
# ENDIF(EXISTS "$ENV{DESTDIR}${file}") execute_process(COMMAND "@CMAKE_COMMAND@" "-E" "rm" "--" "$ENV{DESTDIR}${file}" RESULT_VARIABLE rm_res)
ENDFOREACH(file) else()
execute_process(COMMAND "@CMAKE_COMMAND@" "-E" "remove" "$ENV{DESTDIR}${file}" RESULT_VARIABLE rm_res)
endif()
if(rm_res)
message(WARNING "Failed to remove \"$ENV{DESTDIR}${file}\"")
endif()
endforeach(file)
foreach(dir ${dirs})
if (EXISTS "$ENV{DESTDIR}${dir}" AND IS_DIRECTORY "$ENV{DESTDIR}${dir}")
message(STATUS "Note: did not remove directory \"$ENV{DESTDIR}${dir}\"")
endif()
endforeach(dir)
+5 -1
View File
@@ -1,5 +1,5 @@
# Copyright (C) 2008 by BogDan Vatra < bogdan@licentia.eu > # Copyright (C) 2008 by BogDan Vatra < bogdan@licentia.eu >
# Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com> # Copyright (C) 2009-2026 Robin Stuart <rstuart114@gmail.com>
# vim: set ts=4 sw=4 et : # vim: set ts=4 sw=4 et :
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
@@ -24,6 +24,10 @@ if(NOT HAVE_GETOPT_LONG_ONLY)
target_link_libraries(${PROJECT_NAME} zint_bundled_getopt) target_link_libraries(${PROJECT_NAME} zint_bundled_getopt)
endif() endif()
if(APPLE AND NOT CMAKE_INSTALL_RPATH)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
endif()
install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}" RUNTIME) install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}" RUNTIME)
if(UNIX) if(UNIX)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../docs/zint.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT doc) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../docs/zint.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT doc)