Update bwipp_dump.ps; fix DATAMATRIX bwipp test & run_bwipp_tests.sh

This commit is contained in:
gitlost 2022-02-13 13:53:18 +00:00
parent d9b6284a67
commit f1c5a0e91a
4 changed files with 171 additions and 113 deletions

View File

@ -916,7 +916,7 @@ static void test_input(int index, int generate, int debug) {
/*235*/ { UNICODE_MODE, 0, -1, -1, -1, "aaaaaa", 0, 0, 12, 12, 1, "EF 59 BF 59 BF 1B 98 38 0A E1 70 F9", "TTTTTT", 0 },
/*236*/ { UNICODE_MODE | FAST_MODE, 0, -1, -1, -1, "AAAAAAAAAAAAAA12a", 0, 0, 12, 26, 1, "E6 59 BF 59 BF 59 BF 59 BF 59 B6 25 D2 FE 81 ED 63 5A 30 1D C5 77 70 66 93 2B 6A 40 23 22", "", 0 },
/*237*/ { UNICODE_MODE, 0, -1, -1, -1, "AAAAAAAAAAAAAA12a", 0, 0, 12, 26, 0, "E6 59 BF 59 BF 59 BF 59 BF FE 42 42 8E 62 81 ED 19 C5 3F C8 AC F1 E9 F5 68 75 AA 6C 14 72", "CCCCCCCCCCCCAAAAA; BWIPP same as FAST_MODE", 0 },
/*238*/ { UNICODE_MODE | FAST_MODE, 0, -1, -1, -1, "1234ééé12", 0, 0, 8, 32, 1, "8E A4 E7 59 D5 6B EB 6A 8E 81 22 4D 35 A9 CA 58 B3 1B 33 B7 DD", "", 0 },
/*238*/ { UNICODE_MODE | FAST_MODE, 0, -1, -1, -1, "1234ééé12", 0, 0, 8, 32, 0, "8E A4 E7 59 D5 6B EB 6A 8E 81 22 4D 35 A9 CA 58 B3 1B 33 B7 DD", "N12 N34 BAS BE9 BE9 ASC FN4 A69 N12; BWIPP same as non-FAST_MODE", 0 },
/*239*/ { UNICODE_MODE, 0, -1, -1, -1, "1234ééé12", 0, 0, 14, 14, 1, "8E A4 E7 5A D5 6B 01 8E 1C 5C 58 A7 11 8D DD A8 D6 B9", "", 1 },
};
int data_size = ARRAY_SIZE(data);

View File

@ -1,6 +1,54 @@
--- /home/mburke/code/gitlost/postscriptbarcode/build/monolithic/barcode.ps 2022-01-02 22:06:30.483037379 +0000
+++ backend/tests/tools/bwipp_dump.ps 2022-01-02 22:17:33.468917090 +0000
@@ -26437,34 +26437,80 @@
--- /home/mburke/code/gitlost/postscriptbarcode/build/monolithic/barcode.ps 2022-02-10 22:21:47.533942041 +0000
+++ backend/tests/tools/bwipp_dump.ps 2022-01-02 22:32:35.289274072 +0000
@@ -206,8 +206,8 @@
% --BEGIN RESOURCE gs1lint--
% --REQUIRES preamble raiseerror--
-%%BeginResource: uk.co.terryburton.bwipp gs1lint 0.0 2021092800 362430 390472
-%%BeginData: 1674 ASCII Lines
+%%BeginResource: uk.co.terryburton.bwipp gs1lint 0.0 2021092800 362243 386853
+%%BeginData: 1673 ASCII Lines
/setpacking where {pop currentpacking true setpacking} if
2 dict
dup /raiseerror dup /uk.co.terryburton.bwipp findresource put
@@ -409,7 +409,7 @@
} bind def
/lintiban {
- dup length 4 le { pop pop /bwipp.GS1tooShort (IBAN too short) false exit } if
+ dup length 4 lt { pop pop /bwipp.GS1tooShort (IBAN too short) false exit } if
dup true exch {
1 string dup 0 4 -1 roll put
(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)
@@ -1655,7 +1655,6 @@
(712) exch dup
(713) exch dup
(714) exch dup
- (715) exch dup
pop
[
@@ -7706,7 +7705,7 @@
% --EXAM: (01)95012345678903(3103)000123
% --EXOP:
% --RNDR: renlinear renmatrix
-%%BeginResource: uk.co.terryburton.bwipp databarexpanded 0.0 2021092800 242827 244887
+%%BeginResource: uk.co.terryburton.bwipp databarexpanded 0.0 2021092800 242723 244887
%%BeginData: 886 ASCII Lines
/setpacking where {pop currentpacking true setpacking} if
1 dict
@@ -15180,8 +15179,8 @@
} bind
/fime {
/sbs [2.25 6.75 2.25 15.75 2.25 6.75 2.25] def
- /bhs [.625 .625 .625 .625 .625 .625 .625] def
- /bbs [0 0 0 0 0 0 0] def
+ /bhs [.625 .625 .625 .625] def
+ /bbs [0 0 0 0] def
} bind
>> def
@@ -26438,34 +26437,80 @@
pop
} ifelse
@ -16,21 +64,6 @@
+ linear options //ean13 exec
+ dontdraw not {
+ //renlinear exec
+
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 93 {0} repeat 1 0
+ 1 0 93 {0} repeat 0 1
+ 0 1 93 {0} repeat 1 0
+ ]
+ /pixx 97
+ /pixy 3
+ /height 6 72 div
+ /width 97 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the separator
- -1 72 rmoveto <<
@ -46,11 +79,27 @@
- /width 97 72 div
- /opt options
- >> //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 93 {0} repeat 1 0
+ 1 0 93 {0} repeat 0 1
+ 0 1 93 {0} repeat 1 0
+ ]
+ /pixx 97
+ /pixy 3
+ /height 6 72 div
+ /width 97 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the 2D part
- -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
- grestore
+ grestore
+ } {
+ /linsym exch def
@ -73,8 +122,7 @@
+ /ccrpad 0 array def
+ /pixx ccpixx def
+ } ifelse
- grestore
+
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub {
+ /i exch def
@ -100,7 +148,7 @@
end
@@ -26523,7 +26569,7 @@
@@ -26524,7 +26569,7 @@
pop
} ifelse
@ -109,7 +157,7 @@
% Get the result of encoding with ean8 and gs1-cc
options (lintype) (ean8) put
@@ -26531,29 +26577,75 @@
@@ -26532,29 +26577,75 @@
options (dontdraw) true put
% Plot the linear part
@ -117,7 +165,21 @@
+ linear options //ean8 exec
+ dontdraw not {
+ //renlinear exec
+
- % Plot the separator
- -1 72 rmoveto <<
- /ren //renmatrix
- /pixs [
- 0 1 65 {0} repeat 1 0
- 1 0 65 {0} repeat 0 1
- 0 1 65 {0} repeat 1 0
- ]
- /pixx 69
- /pixy 3
- /height 6 72 div
- /width 69 72 div
- /opt options
- >> //renmatrix exec
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
@ -138,20 +200,10 @@
+ dup (pixx) get 69 exch sub 6 rmoveto
+ //renmatrix exec
- % Plot the separator
- -1 72 rmoveto <<
- /ren //renmatrix
- /pixs [
- 0 1 65 {0} repeat 1 0
- 1 0 65 {0} repeat 0 1
- 0 1 65 {0} repeat 1 0
- ]
- /pixx 69
- /pixy 3
- /height 6 72 div
- /width 69 72 div
- /opt options
- >> //renmatrix exec
- % Plot the 2D part
- comp options //gs1-cc exec
- dup (pixx) get 69 exch sub 6 rmoveto
- //renmatrix exec
+ grestore
+ } {
+ /linsym exch def
@ -159,7 +211,8 @@
+ linsym /sbs get { cvi 1 index 1 eq {{0}} {{1}} ifelse repeat } forall % Alternates x 1/0's
+ ] def
+ /linheight linsym /bhs get 0 get 72 mul cvi def
+
- grestore
+ /compsym comp options //gs1-cc exec def
+ /ccpixs compsym /pixs get def
+ /ccpixx compsym /pixx get def
@ -174,11 +227,7 @@
+ /ccrpad 0 array def
+ /pixx ccpixx def
+ } ifelse
- % Plot the 2D part
- comp options //gs1-cc exec
- dup (pixx) get 69 exch sub 6 rmoveto
- //renmatrix exec
+
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub {
+ /i exch def
@ -189,8 +238,7 @@
+ 2 { linpad aload pop 0 1 65 {0} repeat 1 0 ccrpad aload pop } repeat
+ linheight { linpad aload pop 0 linpixs aload pop 0 } repeat
+ ] def
- grestore
+
+ /pixy pixs length pixx idiv def
+ <<
+ /ren //renmatrix
@ -205,7 +253,7 @@
end
@@ -26612,34 +26704,80 @@
@@ -26613,34 +26704,80 @@
pop
} ifelse
@ -221,21 +269,6 @@
+ linear options //upca exec
+ dontdraw not {
+ //renlinear exec
+
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 93 {0} repeat 1 0
+ 1 0 93 {0} repeat 0 1
+ 0 1 93 {0} repeat 1 0
+ ]
+ /pixx 97
+ /pixy 3
+ /height 6 72 div
+ /width 97 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the separator
- -1 72 rmoveto <<
@ -251,11 +284,27 @@
- /width 97 72 div
- /opt options
- >> //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 93 {0} repeat 1 0
+ 1 0 93 {0} repeat 0 1
+ 0 1 93 {0} repeat 1 0
+ ]
+ /pixx 97
+ /pixy 3
+ /height 6 72 div
+ /width 97 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the 2D part
- -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
- grestore
+ grestore
+ } {
+ /linsym exch def
@ -278,8 +327,7 @@
+ /ccrpad 0 array def
+ /pixx ccpixx def
+ } ifelse
- grestore
+
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub {
+ /i exch def
@ -305,7 +353,7 @@
end
@@ -26713,34 +26851,80 @@
@@ -26714,34 +26851,80 @@
/opt options
>> def
@ -321,21 +369,6 @@
+ linear options //upce exec
+ dontdraw not {
+ //renlinear exec
+
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 49 {0} repeat 1 0
+ 1 0 49 {0} repeat 0 1
+ 0 1 49 {0} repeat 1 0
+ ]
+ /pixx 53
+ /pixy 3
+ /height 6 72 div
+ /width 53 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the separator
- -1 72 rmoveto <<
@ -351,11 +384,27 @@
- /width 53 72 div
- /opt options
- >> //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the separator
+ -1 72 rmoveto <<
+ /ren //renmatrix
+ /pixs [
+ 0 1 49 {0} repeat 1 0
+ 1 0 49 {0} repeat 0 1
+ 0 1 49 {0} repeat 1 0
+ ]
+ /pixx 53
+ /pixy 3
+ /height 6 72 div
+ /width 53 72 div
+ /opt options
+ >> //renmatrix exec
- % Plot the 2D part
- -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
+ % Plot the 2D part
+ -2 6 rmoveto comp options //gs1-cc exec //renmatrix exec
- grestore
+ grestore
+ } {
+ /linsym exch def
@ -378,8 +427,7 @@
+ /ccrpad 0 array def
+ /pixx ccpixx def
+ } ifelse
- grestore
+
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub {
+ /i exch def
@ -405,7 +453,7 @@
end
@@ -26799,7 +26983,7 @@
@@ -26800,7 +26983,7 @@
pop
} ifelse
@ -414,7 +462,7 @@
options (lintype) (databaromni) put
options (linkage) true put
@@ -26810,7 +26994,7 @@
@@ -26811,7 +26994,7 @@
linear options //databaromni exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -423,7 +471,7 @@
% Plot the separator
/sepfinder {
@@ -26841,20 +27025,66 @@
@@ -26842,20 +27025,66 @@
sep 0 [0 0 0] putinterval
sep sep length 4 sub [0 0 0 0] putinterval
18 sepfinder 64 sepfinder
@ -502,7 +550,7 @@
end
@@ -26912,7 +27142,7 @@
@@ -26913,7 +27142,7 @@
pop
} ifelse
@ -511,7 +559,7 @@
options (lintype) (databarstacked) put
options (linkage) true put
@@ -26923,7 +27153,7 @@
@@ -26924,7 +27153,7 @@
linear options //databarstacked exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -520,7 +568,7 @@
% Plot the separator
/sepfinder {
@@ -26951,20 +27181,52 @@
@@ -26952,20 +27181,52 @@
sep 0 [ 0 0 0 0 ] putinterval
sep sep length 4 sub [ 0 0 0 0 ] putinterval
18 sepfinder
@ -585,7 +633,7 @@
end
@@ -27022,7 +27284,7 @@
@@ -27023,7 +27284,7 @@
pop
} ifelse
@ -594,7 +642,7 @@
options (lintype) (databarstackedomni) put
options (linkage) true put
@@ -27033,7 +27295,7 @@
@@ -27034,7 +27295,7 @@
linear options //databarstackedomni exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -603,7 +651,7 @@
% Plot the separator
/sepfinder {
@@ -27061,20 +27323,52 @@
@@ -27062,20 +27323,52 @@
sep 0 [ 0 0 0 0 ] putinterval
sep sep length 4 sub [ 0 0 0 0 ] putinterval
18 sepfinder
@ -668,7 +716,7 @@
end
@@ -27247,7 +27541,7 @@
@@ -27248,7 +27541,7 @@
pop
} ifelse
@ -677,7 +725,7 @@
options (lintype) (databarlimited) put
options (linkage) true put
@@ -27258,7 +27552,7 @@
@@ -27259,7 +27552,7 @@
linear options //databarlimited exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -686,7 +734,7 @@
% Plot the separator
mark
@@ -27266,22 +27560,68 @@
@@ -27267,22 +27560,68 @@
counttomark 1 sub array astore /sep exch def pop pop
sep 0 [0 0 0] putinterval
sep sep length 9 sub [0 0 0 0 0 0 0 0 0] putinterval % 4 + 5 right guard spaces
@ -724,7 +772,8 @@
+ /compsym comp options //gs1-cc exec def
+ /ccpixs compsym /pixs get def
+ /ccpixx compsym /pixx get def
+
- grestore
+ /linpixs [ 0 % Begin with left guard space
+ linsbs { cvi 1 index 0 eq {{1}} {{0}} ifelse repeat } forall % Alternates x 1/0's
+ ] def
@ -753,8 +802,7 @@
+ ] def
+ /pixx ccpixx 1 add def
+ } ifelse
- grestore
+
+ /pixy pixs length pixx idiv def
+ <<
+ /ren //renmatrix
@ -769,7 +817,7 @@
end
@@ -27340,7 +27680,7 @@
@@ -27341,7 +27680,7 @@
pop
} ifelse
@ -778,7 +826,7 @@
options (lintype) (databarexpanded) put
options (linkage) true put
@@ -27351,7 +27691,7 @@
@@ -27352,7 +27691,7 @@
linear options //databarexpanded exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -787,7 +835,7 @@
% Plot the separator
/sepfinder {
@@ -27380,20 +27720,60 @@
@@ -27381,20 +27720,60 @@
18 98 bot length 13 sub {} for
69 98 bot length 13 sub {} for
] {sepfinder} forall
@ -860,7 +908,7 @@
end
@@ -27451,7 +27831,7 @@
@@ -27452,7 +27831,7 @@
pop
} ifelse
@ -869,7 +917,7 @@
options (lintype) (databarexpandedstacked) put
options (linkage) true put
@@ -27462,7 +27842,7 @@
@@ -27463,7 +27842,7 @@
linear options //databarexpandedstacked exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -878,7 +926,7 @@
% Plot the separator
/sepfinder {
@@ -27488,21 +27868,49 @@
@@ -27489,21 +27868,49 @@
19 98 bot length 13 sub {} for
70 98 bot length 13 sub {} for
] {sepfinder} forall
@ -941,7 +989,7 @@
end
@@ -27561,7 +27969,7 @@
@@ -27562,7 +27969,7 @@
pop
} ifelse
@ -950,7 +998,7 @@
options (inkspread) (0) put
options (dontdraw) true put
@@ -27588,35 +27996,87 @@
@@ -27589,35 +27996,87 @@
linear << options {} forall >> //gs1-128 exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -1052,7 +1100,16 @@
end
@@ -29049,3 +29509,189 @@
@@ -28074,7 +28533,7 @@
% --EXAM: (235)5vBZIF%!<B;?oa%(01)01234567890128(8008)19052001
% --EXOP: rows=16
% --RNDR: renmatrix
-%%BeginResource: uk.co.terryburton.bwipp gs1dotcode 0.0 2021092800 77802 77819
+%%BeginResource: uk.co.terryburton.bwipp gs1dotcode 0.0 2021092800 77802 77923
%%BeginData: 133 ASCII Lines
/setpacking where {pop currentpacking true setpacking} if
1 dict
@@ -29050,3 +29509,189 @@
% --END ENCODER hibcazteccode--
% --END TEMPLATE--

View File

@ -24,7 +24,8 @@ run_bwipp_test "test_code128" "encode"
run_bwipp_test "test_code16k" "encode"
run_bwipp_test "test_code49" "encode"
run_bwipp_test "test_composite"
run_bwipp_test "test_dmatrix"
run_bwipp_test "test_dmatrix" "input"
run_bwipp_test "test_dmatrix" "encode"
run_bwipp_test "test_dotcode" "encode"
run_bwipp_test "test_gs1" "gs1_reduce"
run_bwipp_test "test_imail" "encode"