diff --git a/backend/tests/test_dmatrix.c b/backend/tests/test_dmatrix.c index 39bc5ac9..2c1217ff 100644 --- a/backend/tests/test_dmatrix.c +++ b/backend/tests/test_dmatrix.c @@ -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); diff --git a/backend/tests/tools/bwipp_dump-barcode.ps.diff b/backend/tests/tools/bwipp_dump-barcode.ps.diff index 8f05277d..7c95d243 100644 --- a/backend/tests/tools/bwipp_dump-barcode.ps.diff +++ b/backend/tests/tools/bwipp_dump-barcode.ps.diff @@ -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%!