DBAR_LTD: add 5 right guard spaces (ISO/IEC 24723:2010 6.2 (e))

This commit is contained in:
gitlost 2020-09-11 08:07:21 +01:00
parent f9591e0b88
commit e41cb71fd1
7 changed files with 289 additions and 288 deletions

View File

@ -598,7 +598,7 @@ INTERNAL int rsslimited(struct zint_symbol *symbol, unsigned char source[], int
uint64_t left_character, right_character;
int left_group, right_group, left_odd, left_even, right_odd, right_even;
int left_widths[14], right_widths[14];
int checksum, check_elements[14], total_widths[46], writer;
int checksum, check_elements[14], total_widths[47], writer;
char latch;
int separator_row;
int widths[7];
@ -731,6 +731,7 @@ INTERNAL int rsslimited(struct zint_symbol *symbol, unsigned char source[], int
total_widths[1] = 1;
total_widths[44] = 1;
total_widths[45] = 1;
total_widths[46] = 5;
for (i = 0; i < 14; i++) {
total_widths[i + 2] = left_widths[i];
total_widths[i + 16] = check_elements[i];
@ -739,7 +740,7 @@ INTERNAL int rsslimited(struct zint_symbol *symbol, unsigned char source[], int
writer = 0;
latch = '0';
for (i = 0; i < 46; i++) {
for (i = 0; i < 47; i++) {
writer = rss_expand(symbol, writer, &latch, total_widths[i]);
}
if (symbol->width < writer) {

View File

@ -167,13 +167,13 @@ static void test_examples(int index, int generate, int debug) {
"00001000110000101010000000101010111011001111000000000000"
"10100111001111010101111111000001000100110000110101000000"
},
/* 1*/ { BARCODE_DBAR_LTD_CC, 1, "1311234567890", "[17]010615[10]A123456", 0, 6, 74, "GGS Figure 5.9.2-1. (24723:2010 Figure 1) GS1 DataBar Limited Composite symbol with CC-A",
"01111000101101100010100110001111101001100111011101001111001110111010011010"
"01001111100011010010101110001111011110101111010011110111001110111010111010"
"01001100110100000010101100001110010001101111011110111100101000111010110010"
"01111000101010000010100100001011101101111110011100110011100100111010100010"
"00000011000001010100110011101010110101001100101011110001011001101001110000"
"01011100111110101011001100010101001010110011010100001110100110010110000101"
/* 1*/ { BARCODE_DBAR_LTD_CC, 1, "1311234567890", "[17]010615[10]A123456", 0, 6, 79, "GGS Figure 5.9.2-1. (24723:2010 Figure 1) GS1 DataBar Limited Composite symbol with CC-A",
"0111100010110110001010011000111110100110011101110100111100111011101001101000000"
"0100111110001101001010111000111101111010111101001111011100111011101011101000000"
"0100110011010000001010110000111001000110111101111011110010100011101011001000000"
"0111100010101000001010010000101110110111111001110011001110010011101010001000000"
"0000001100000101010011001110101011010100110010101111000101100110100111000000000"
"0101110011111010101100110001010100101011001101010000111010011001011000010100000"
},
/* 2*/ { BARCODE_GS1_128_CC, 3, "[01]03812345678908", "[10]ABCD123456[410]3898765432108", 0, 7, 154, "GGS Figure 5.9.2-2. GS1-128 Composite symbol with CC-C **NOT SAME** as zint uses encodation '10', same if '0' forced",
"1111111101010100011110101011110000111101011001111101110111110111010010000010000100010110010000101100001111011110110011011110101001111000111111101000101001"
@ -266,24 +266,24 @@ static void test_examples(int index, int generate, int debug) {
"00000011010111101010000010101010101001001101010000000000"
"10101100111000010101111111110111000110110011100101000000"
},
/*11*/ { BARCODE_DBAR_LTD_CC, 2, "0351234567890", "[91]abcdefghijklmnopqrstuv", 0, 17, 83, "GGS Figure 5.9.8-7. (24723:2010 Figure 7) GS1 DataBar Limited symbol with a three-column CC-B **NOT SAME** (using [91] not [21] as length > 20 max for [21])",
"11011101001110111110111010010110001001000001000010001011111011010011110110111010010"
"11011001001111110101001110010110001101111011000011001010100001111000100110110010010"
"11011001101001111000010010010100001101110111001011110011011100100011100110110011010"
"11011011101110100000100111010100011101110100001001110010000110011001000110110111010"
"11011011001111010010000001010100011001000110111110010011111011001000100110110110010"
"11011010001011111001110011010100111001011111000111011010001010000111100110110100010"
"11010010001000110110100000010100110001000100000010001011010111000111100110100100010"
"11010110001010011111100111010101110001111010010100000011101011001000000110101100010"
"11010111001011111000011001010101100001100011110001011011111101001101000110101110010"
"11010111101100010000100011010100100001100010010110000010001000010100000110101111010"
"11010011101000001001111001010110100001111001010000010011110100001000100110100111010"
"11010011001100111001001110010010100001011000111011111010000110001001110110100110010"
"11010001001011110001111010010010110001100001000010110010100001100011000110100010010"
"11010001101110110111000001010010111001101000011100001011110110111001100110100011010"
"11010000101111101001110100010110111001001011000111110010111110111000110110100001010"
"00000000000001111011100011010001110101010110101001100101110100100111000110101110000"
"00000000001010000100011100101110001010101001010110011010001011011000111001010000101"
/*11*/ { BARCODE_DBAR_LTD_CC, 2, "0351234567890", "[91]abcdefghijklmnopqrstuv", 0, 17, 88, "GGS Figure 5.9.8-7. (24723:2010 Figure 7) GS1 DataBar Limited symbol with a three-column CC-B **NOT SAME** (using [91] not [21] as length > 20 max for [21])",
"1101110100111011111011101001011000100100000100001000101111101101001111011011101001000000"
"1101100100111111010100111001011000110111101100001100101010000111100010011011001001000000"
"1101100110100111100001001001010000110111011100101111001101110010001110011011001101000000"
"1101101110111010000010011101010001110111010000100111001000011001100100011011011101000000"
"1101101100111101001000000101010001100100011011111001001111101100100010011011011001000000"
"1101101000101111100111001101010011100101111100011101101000101000011110011011010001000000"
"1101001000100011011010000001010011000100010000001000101101011100011110011010010001000000"
"1101011000101001111110011101010111000111101001010000001110101100100000011010110001000000"
"1101011100101111100001100101010110000110001111000101101111110100110100011010111001000000"
"1101011110110001000010001101010010000110001001011000001000100001010000011010111101000000"
"1101001110100000100111100101011010000111100101000001001111010000100010011010011101000000"
"1101001100110011100100111001001010000101100011101111101000011000100111011010011001000000"
"1101000100101111000111101001001011000110000100001011001010000110001100011010001001000000"
"1101000110111011011100000101001011100110100001110000101111011011100110011010001101000000"
"1101000010111110100111010001011011100100101100011111001011111011100011011010000101000000"
"0000000000000111101110001101000111010101011010100110010111010010011100011010111000000000"
"0000000000101000010001110010111000101010100101011001101000101101100011100101000010100000"
},
/*12*/ { BARCODE_DBAR_EXP_CC, 1, "[01]93712345678904[3103]001234", "[91]1A2B3C4D5E", 0, 5, 151, "GGS Figure 5.9.8-8. (24723:2010 Figure 9) GS1 DataBar Expanded symbol with a four-column CC-A, same, verified against BWIPP and tec-it",
"0011011011101110011010011000011100011100110110100111010011010001000011000101101110011000001101100010100000000000000000000000000000000000000000000000000"
@ -416,14 +416,14 @@ static void test_examples(int index, int generate, int debug) {
"0001000000000000000000000000000000000000000000000000010"
"0001010010011011110101000110111001000010100100010101010"
},
/*22*/ { BARCODE_DBAR_LTD_CC, 1, "12345678901231", "[91]1234567890123456789012345", 0, 7, 74, "Example with CC-A 3 cols, 5 rows",
"01111001101001110010011010001011101110001000010111011100100000110000101010"
"01000111010111110010111010001110101100100000011001111010111110110001101010"
"01011001110111110010110010001101100000101111011100010111110010110001001010"
"01011001111000111010110011001100110000110011010001000110011000111001001010"
"01111101010110000010110001001100010111100011011011101111101000111101001010"
"00001011101000001010111000001010101000110110101101010110101111100011100000"
"01010100010111110101000111110101010111001001010010101001010000011100011101"
/*22*/ { BARCODE_DBAR_LTD_CC, 1, "12345678901231", "[91]1234567890123456789012345", 0, 7, 79, "Example with CC-A 3 cols, 5 rows",
"0111100110100111001001101000101110111000100001011101110010000011000010101000000"
"0100011101011111001011101000111010110010000001100111101011111011000110101000000"
"0101100111011111001011001000110110000010111101110001011111001011000100101000000"
"0101100111100011101011001100110011000011001101000100011001100011100100101000000"
"0111110101011000001011000100110001011110001101101110111110100011110100101000000"
"0000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*23*/ { BARCODE_EANX_CC, 1, "1234567", "[91]1234567890123456789012345678901", 0, 10, 72, "Example with CC-A 3 cols, 6 rows",
"100100011111001101011000100111000101110011001100010111010000011110100101"
@ -437,16 +437,16 @@ static void test_examples(int index, int generate, int debug) {
"000010000000000000000000000000000000000000000000000000000000000000000010"
"000010100110010010011011110101000110101010011101010000100010011100101010"
},
/*24*/ { BARCODE_DBAR_LTD_CC, 1, "12345678901231", "[91]1234567890123456789012345678901234567", 0, 9, 74, "Example with CC-A 3 cols, 7 rows",
"01000100011011111010110100001100011010001111011100011010111110110010100010"
"01100000100110111010010100001110101100111100011100011101100110110010110010"
"01100101111011000010010110001001000011110001011100010111011000110010111010"
"01100010100111110010010111001011111000011001010001111000101000110010011010"
"01010000011011000010110111001111101111001011011000011011001100110011011010"
"01100100001110100010110111101011111010011100010110000101111110111011011010"
"01010001100011111010110011101011001100111100010011011011110000111001011010"
"00001011101000001010111000001010101000110110101101010110101111100011100000"
"01010100010111110101000111110101010111001001010010101001010000011100011101"
/*24*/ { BARCODE_DBAR_LTD_CC, 1, "12345678901231", "[91]1234567890123456789012345678901234567", 0, 9, 79, "Example with CC-A 3 cols, 7 rows",
"0100010001101111101011010000110001101000111101110001101011111011001010001000000"
"0110000010011011101001010000111010110011110001110001110110011011001011001000000"
"0110010111101100001001011000100100001111000101110001011101100011001011101000000"
"0110001010011111001001011100101111100001100101000111100010100011001001101000000"
"0101000001101100001011011100111110111100101101100001101100110011001101101000000"
"0110010000111010001011011110101111101001110001011000010111111011101101101000000"
"0101000110001111101011001110101100110011110001001101101111000011100101101000000"
"0000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*25*/ { BARCODE_UPCA_CC, 1, "12345678901", "[91]12345678901234567890", 0, 7, 99, "Example with CC-A 4 cols, 3 rows",
"110110111011110011010011100101110111000100001001110100101110111001000001100000100110111011011000101"
@ -666,15 +666,15 @@ static void test_examples(int index, int generate, int debug) {
"0001000000000000000000000000000000000000000000000000010"
"0001010010011011110101000110111001000010100100010101010"
},
/*37*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456", 0, 8, 83, "Example with CC-B 3 cols, 6 rows",
"11001000101110111110111010010110011101000001000010001011101000010001110110010001010"
"11101000101110101111011100010010011101010000111100100011010111000000100111010001010"
"11101100101100110100001111010011011101101111101000100010110010011100000111011001010"
"11001100101110001001000111010001011101110111100011010011100111011001100110011001010"
"11011100101111001011100111010001001101111010001000010011110100010000100110111001010"
"11011110101001111001001000010001101101000011110011011010111001110011110110111101010"
"00000000000001011101000001010111000001010101000110110101101010110101111100011100000"
"00000000001010100010111110101000111110101010111001001010010101001010000011100011101"
/*37*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456", 0, 8, 88, "Example with CC-B 3 cols, 6 rows",
"1100100010111011111011101001011001110100000100001000101110100001000111011001000101000000"
"1110100010111010111101110001001001110101000011110010001101011100000010011101000101000000"
"1110110010110011010000111101001101110110111110100010001011001001110000011101100101000000"
"1100110010111000100100011101000101110111011110001101001110011101100110011001100101000000"
"1101110010111100101110011101000100110111101000100001001111010001000010011011100101000000"
"1101111010100111100100100001000110110100001111001101101011100111001111011011110101000000"
"0000000000000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0000000000101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*38*/ { BARCODE_EANX_CC, 2, "1234567", "[91]123456789012345678", 0, 12, 82, "Example with CC-B 3 cols, 8 rows",
"1100111010111011111011101001000010110100000100001000101111101101001111011001110101"
@ -690,19 +690,19 @@ static void test_examples(int index, int generate, int debug) {
"0000000000000010000000000000000000000000000000000000000000000000000000000000000010"
"0000000000000010100110010010011011110101000110101010011101010000100010011100101010"
},
/*39*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]12345678901234567890123456789", 0, 12, 83, "Example with CC-B 3 cols, 10 rows",
"11000100101000000111001011010011110101100111111011001010010010111100000110001001010"
"11100100101110110010000110010111110101011011110011100011110111101010000111001001010"
"11110100101100011101111101010111100101110100011100011011101100111100110111101001010"
"11110101101001010000111100010111101101011000101110000011111010011101000111101011010"
"11110101001110110100011000010011101101101000010011000011100111101100100111101010010"
"11100101001011111100100011010011101001001100111110001011110101100001100111001010010"
"11101101001000010100001111010011001001011110100000010010010011101111110111011010010"
"11101001001100100010000110010011001101110111001100110011101110100010000111010010010"
"11101001101110001100111001010010001101100010011110110011110110001100010111010011010"
"11101011101101111101000100010010000101011110011000011011011101001110000111010111010"
"00000000000001011101000001010111000001010101000110110101101010110101111100011100000"
"00000000001010100010111110101000111110101010111001001010010101001010000011100011101"
/*39*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]12345678901234567890123456789", 0, 12, 88, "Example with CC-B 3 cols, 10 rows",
"1100010010100000011100101101001111010110011111101100101001001011110000011000100101000000"
"1110010010111011001000011001011111010101101111001110001111011110101000011100100101000000"
"1111010010110001110111110101011110010111010001110001101110110011110011011110100101000000"
"1111010110100101000011110001011110110101100010111000001111101001110100011110101101000000"
"1111010100111011010001100001001110110110100001001100001110011110110010011110101001000000"
"1110010100101111110010001101001110100100110011111000101111010110000110011100101001000000"
"1110110100100001010000111101001100100101111010000001001001001110111111011101101001000000"
"1110100100110010001000011001001100110111011100110011001110111010001000011101001001000000"
"1110100110111000110011100101001000110110001001111011001111011000110001011101001101000000"
"1110101110110111110100010001001000010101111001100001101101110100111000011101011101000000"
"0000000000000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0000000000101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*40*/ { BARCODE_EANX_CC, 2, "1234567", "[91]12345678901234567890123456789012345678901", 0, 16, 82, "Example with CC-B 3 cols, 12 rows",
"1110101100111011111011101001011000010100000100001000101111101101001111011101011001"
@ -722,24 +722,24 @@ static void test_examples(int index, int generate, int debug) {
"0000000000000010000000000000000000000000000000000000000000000000000000000000000010"
"0000000000000010100110010010011011110101000110101010011101010000100010011100101010"
},
/*41*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456789012345678901234567890123456789012345678901234567", 0, 17, 83, "Example with CC-B 3 cols, 15 rows",
"11011101001110111110111010010110001001000001000010001011111011010011110110111010010"
"11011001001100101110000100010110001101110010110010000011100011011101000110110010010"
"11011001101101111110011010010100001101100101100111111011001100100011110110110011010"
"11011011101010000011000110010100011101100100010000110011010011110111110110110111010"
"11011011001101101111010000010100011001111101100011011010001100111110010110110110010"
"11011010001011000101110000010100111001011010011100000011000101000111110110110100010"
"11010010001000101100000110010100110001000100001000001011011110011101000110100100010"
"11010110001101110011111010010101110001010011110001000011101001100000100110101100010"
"11010111001000001111010001010101100001000000110100111011010110111111000110101110010"
"11010111101011100111110111010100100001111001101001110010000110001110110110101111010"
"11010011101110111011110010010110100001110010000001101011011110100111110110100111010"
"11010011001110001111010111010010100001011101100011100010000011010011100110100110010"
"11010001001001100111100111010010110001000110011110111010000110111000110110100010010"
"11010001101111010000100001010010111001110000100001101010111111010001100110100011010"
"11010000101011111100111010010110111001110110101111100011000101111110100110100001010"
"00000000000001011101000001010111000001010101000110110101101010110101111100011100000"
"00000000001010100010111110101000111110101010111001001010010101001010000011100011101"
/*41*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456789012345678901234567890123456789012345678901234567", 0, 17, 88, "Example with CC-B 3 cols, 15 rows",
"1101110100111011111011101001011000100100000100001000101111101101001111011011101001000000"
"1101100100110010111000010001011000110111001011001000001110001101110100011011001001000000"
"1101100110110111111001101001010000110110010110011111101100110010001111011011001101000000"
"1101101110101000001100011001010001110110010001000011001101001111011111011011011101000000"
"1101101100110110111101000001010001100111110110001101101000110011111001011011011001000000"
"1101101000101100010111000001010011100101101001110000001100010100011111011011010001000000"
"1101001000100010110000011001010011000100010000100000101101111001110100011010010001000000"
"1101011000110111001111101001010111000101001111000100001110100110000010011010110001000000"
"1101011100100000111101000101010110000100000011010011101101011011111100011010111001000000"
"1101011110101110011111011101010010000111100110100111001000011000111011011010111101000000"
"1101001110111011101111001001011010000111001000000110101101111010011111011010011101000000"
"1101001100111000111101011101001010000101110110001110001000001101001110011010011001000000"
"1101000100100110011110011101001011000100011001111011101000011011100011011010001001000000"
"1101000110111101000010000101001011100111000010000110101011111101000110011010001101000000"
"1101000010101111110011101001011011100111011010111110001100010111111010011010000101000000"
"0000000000000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0000000000101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*42*/ { BARCODE_EANX_CC, 2, "1234567", "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]12345678901234567890123", 0, 30, 82, "Example with CC-B 3 cols, 26 rows",
"1100100010111011111011101001000011010100000100001000101111101101001111011110100101"
@ -773,53 +773,53 @@ static void test_examples(int index, int generate, int debug) {
"0000000000000010000000000000000000000000000000000000000000000000000000000000000010"
"0000000000000010100110010010011011110101000110101010011101010000100010011100101010"
},
/*43*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]1234567890123456789012345678901", 0, 46, 83, "Example with CC-B 3 cols, 44 rows",
"11001000101110111110111010010110000101100011100011010011111011010011110110100010010"
"11101000101100101110000100010111000101110010110010000011100011011101000110100011010"
"11101100101101111110011010010111001101100101100111111011001100100011110110100001010"
"11001100101010000011000110010111001001100100010000110011010011110111110110110001010"
"11011100101101101111010000010111011001111101100011011010001100111110010110010001010"
"11011110101011000101110000010011011001011010011100000011000101000111110111010001010"
"11001110101000101100000110010001011001000100001000001011011110011101000111011001010"
"11101110101101110011111010010001010001101000011110110011001101111000100110011001010"
"11100110101111010111110011010011010001000101000111100010011000110011110110111001010"
"11110110101011011000100000010111010001110101000111000010111000111101100110111101010"
"11110010101011110101111000010110010001111000100110110011111101001001110110011101010"
"11100010101011110100100000010110011001101111000010110011101001011111100111011101010"
"11000010101100010100110000010110001001100100011000111011101110010000010111001101010"
"11000110101001110111111010010110001101111100110110011010001110100111110111101101010"
"11000100101110110100011111010100001101100111100010011010001110001000110111100101010"
"11100100101000110000110010010100011101100011101100001011101001100011110111000101010"
"11110100101111100010101100010100011001110000001011001011111011010000100110000101010"
"11110101101100111110001001010100111001111010111110110010001111011101110110001101010"
"11110101001100011011000011010100110001011100111100110010110000011000100110001001010"
"11100101001110010111001100010101110001110000010011001011010000111000100111001001010"
"11101101001000100000101111010101100001000110100000111011111101001100100111101001010"
"11101001001111010001011110010100100001000100111011100010110000011001000111101011010"
"11101001101111101000001011010110100001111010000011011011101000011010000111101010010"
"11101011101011000001101111010010100001000111101000010011011101000011100111001010010"
"11101011001001000001010000010010110001101100001000001010110111000110000111011010010"
"11101010001111100111011001010010111001110000101100001011101000001110110111010010010"
"11001010001110101111110110010110111001110011110010111010011110001100110111010011010"
"11001011001111011101101110010110111101100100000101100010101000000100000111010111010"
"11001011101011010111111000010110011101001110111111001010111100010111100111010110010"
"11001001101110100111110001010010011101000010101111000011100101111100010111010100010"
"11001101101001101100000100010011011101101001101110000011110110001001110110010100010"
"11101101101001000111100100010001011101011011111000010010010111100000100110010110010"
"11100101101101111110011001010001001101011110111000111010000100010111100110010111010"
"11000101101100011011000011010001101101110101100111100011100110001011000110010011010"
"11000101001000010111110011010000101101100100111001000011011011110001000110011011010"
"11001101001110100011111010010000100101011110000011011011100100101111110111011011010"
"11011101001001100011100110010000110101000011011101100010011011000001000111001011010"
"11011001001000110011111010010001110101100001011100010011110001011101110110001011010"
"11011001101101111010001100010001100101011111000011001011001011111101000110001010010"
"11011011101000010110001100010001000101101000111011110011001110011010000110011010010"
"11011011001111100100110111010011000101111011100111001011100110011101000110111010010"
"11011010001110110100111110010011100101000111100000101011011111001000100110110010010"
"11010010001001000001001000010011110101001100001100001011011010001000000110110011010"
"11010110001100001001111011010111110101111000101000010011000010111000100110110111010"
"00000000000001011101000001010111000001010101000110110101101010110101111100011100000"
"00000000001010100010111110101000111110101010111001001010010101001010000011100011101"
/*43*/ { BARCODE_DBAR_LTD_CC, 2, "12345678901231", "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890[93]1234567890123456789012345678901", 0, 46, 88, "Example with CC-B 3 cols, 44 rows",
"1100100010111011111011101001011000010110001110001101001111101101001111011010001001000000"
"1110100010110010111000010001011100010111001011001000001110001101110100011010001101000000"
"1110110010110111111001101001011100110110010110011111101100110010001111011010000101000000"
"1100110010101000001100011001011100100110010001000011001101001111011111011011000101000000"
"1101110010110110111101000001011101100111110110001101101000110011111001011001000101000000"
"1101111010101100010111000001001101100101101001110000001100010100011111011101000101000000"
"1100111010100010110000011001000101100100010000100000101101111001110100011101100101000000"
"1110111010110111001111101001000101000110100001111011001100110111100010011001100101000000"
"1110011010111101011111001101001101000100010100011110001001100011001111011011100101000000"
"1111011010101101100010000001011101000111010100011100001011100011110110011011110101000000"
"1111001010101111010111100001011001000111100010011011001111110100100111011001110101000000"
"1110001010101111010010000001011001100110111100001011001110100101111110011101110101000000"
"1100001010110001010011000001011000100110010001100011101110111001000001011100110101000000"
"1100011010100111011111101001011000110111110011011001101000111010011111011110110101000000"
"1100010010111011010001111101010000110110011110001001101000111000100011011110010101000000"
"1110010010100011000011001001010001110110001110110000101110100110001111011100010101000000"
"1111010010111110001010110001010001100111000000101100101111101101000010011000010101000000"
"1111010110110011111000100101010011100111101011111011001000111101110111011000110101000000"
"1111010100110001101100001101010011000101110011110011001011000001100010011000100101000000"
"1110010100111001011100110001010111000111000001001100101101000011100010011100100101000000"
"1110110100100010000010111101010110000100011010000011101111110100110010011110100101000000"
"1110100100111101000101111001010010000100010011101110001011000001100100011110101101000000"
"1110100110111110100000101101011010000111101000001101101110100001101000011110101001000000"
"1110101110101100000110111101001010000100011110100001001101110100001110011100101001000000"
"1110101100100100000101000001001011000110110000100000101011011100011000011101101001000000"
"1110101000111110011101100101001011100111000010110000101110100000111011011101001001000000"
"1100101000111010111111011001011011100111001111001011101001111000110011011101001101000000"
"1100101100111101110110111001011011110110010000010110001010100000010000011101011101000000"
"1100101110101101011111100001011001110100111011111100101011110001011110011101011001000000"
"1100100110111010011111000101001001110100001010111100001110010111110001011101010001000000"
"1100110110100110110000010001001101110110100110111000001111011000100111011001010001000000"
"1110110110100100011110010001000101110101101111100001001001011110000010011001011001000000"
"1110010110110111111001100101000100110101111011100011101000010001011110011001011101000000"
"1100010110110001101100001101000110110111010110011110001110011000101100011001001101000000"
"1100010100100001011111001101000010110110010011100100001101101111000100011001101101000000"
"1100110100111010001111101001000010010101111000001101101110010010111111011101101101000000"
"1101110100100110001110011001000011010100001101110110001001101100000100011100101101000000"
"1101100100100011001111101001000111010110000101110001001111000101110111011000101101000000"
"1101100110110111101000110001000110010101111100001100101100101111110100011000101001000000"
"1101101110100001011000110001000100010110100011101111001100111001101000011001101001000000"
"1101101100111110010011011101001100010111101110011100101110011001110100011011101001000000"
"1101101000111011010011111001001110010100011110000010101101111100100010011011001001000000"
"1101001000100100000100100001001111010100110000110000101101101000100000011011001101000000"
"1101011000110000100111101101011111010111100010100001001100001011100010011011011101000000"
"0000000000000101110100000101011100000101010100011011010110101011010111110001110000000000"
"0000000000101010001011111010100011111010101011100100101001010100101000001110001110100000"
},
/*44*/ { BARCODE_UPCA_CC, 2, "12345678901", "[91]1234567890123", 0, 8, 99, "Example with CC-B 4 cols, 4 rows",
"110100111010001111101001110110111111010111001001110110110100001111011001100101110000100011010010001"

View File

@ -155,7 +155,7 @@ static void test_buffer(int index, int generate, int debug) {
/* 31*/ { BARCODE_CODE93, "0000000000", "", 50, 1, 127, 254, 118 },
/* 32*/ { BARCODE_FLAT, "1234567890", "", 50, 1, 90, 180, 100 },
/* 33*/ { BARCODE_DBAR_OMN, "1234567890123", "", 50, 1, 96, 192, 118 },
/* 34*/ { BARCODE_DBAR_LTD, "1234567890123", "", 50, 1, 74, 148, 118 },
/* 34*/ { BARCODE_DBAR_LTD, "1234567890123", "", 50, 1, 79, 158, 118 },
/* 35*/ { BARCODE_DBAR_EXP, "[01]12345678901234", "", 34, 1, 134, 268, 86 },
/* 36*/ { BARCODE_TELEPEN, "0000000000", "", 50, 1, 208, 416, 118 },
/* 37*/ { BARCODE_UPCA, "12345678904", "", 50, 1, 95, 226, 118 },
@ -229,7 +229,7 @@ static void test_buffer(int index, int generate, int debug) {
/*105*/ { BARCODE_EANX_CC, "123456789012+12345", "[20]01", 50, 7, 153, 338, 118 },
/*106*/ { BARCODE_GS1_128_CC, "[01]12345678901234", "[20]01", 50, 5, 145, 290, 118 },
/*107*/ { BARCODE_DBAR_OMN_CC, "1234567890123", "[20]01", 21, 5, 100, 200, 60 },
/*108*/ { BARCODE_DBAR_LTD_CC, "1234567890123", "[20]01", 19, 6, 74, 148, 56 },
/*108*/ { BARCODE_DBAR_LTD_CC, "1234567890123", "[20]01", 19, 6, 79, 158, 56 },
/*109*/ { BARCODE_DBAR_EXP_CC, "[01]12345678901234", "[20]01", 41, 5, 134, 268, 100 },
/*110*/ { BARCODE_UPCA_CC, "12345678901", "[20]01", 50, 7, 99, 234, 118 },
/*111*/ { BARCODE_UPCA_CC, "12345678901+12", "[20]01", 50, 7, 128, 284, 118 },

View File

@ -87,39 +87,39 @@ static void test_binary_div_modulo_divisor(int index, int generate, int debug) {
/* 35*/ { BARCODE_DBAR_OMN_CC, "0012319591881", 100, 30, 5, 100, "0000010010111101000011000100000000010101000111010000101010110000000101111111000111011100010001101101" },
/* 36*/ { BARCODE_DBAR_OMN_CC, "6975446373038", 100, 30, 5, 100, "0000010111001110010111001111111000010101000111010000101010110000000101111100000111011111111011010101" },
/* 37*/ { BARCODE_DBAR_OMN_CC, "9999999999999", 100, 30, 5, 100, "0000010110101111011111001111111000010110111100100010100110111001110101111111110001001100110001110101" },
/* 38*/ { BARCODE_DBAR_LTD, "1234567890123", 100, 30, 1, 74, "01001100111100101000100111010110101011001001010010101001010000011100011101" },
/* 39*/ { BARCODE_DBAR_LTD, "0000002013570", 100, 30, 1, 74, "01010101010100000010000001110100101101011001010111111110111111010101010101" },
/* 40*/ { BARCODE_DBAR_LTD, "0000002013571", 100, 30, 1, 74, "01010101010100000011000000110101011010100011010101010101000000100000011101" },
/* 41*/ { BARCODE_DBAR_LTD, "0000002013572", 100, 30, 1, 74, "01010101010100000011000000110101010010111001010101010101000000110000001101" },
/* 42*/ { BARCODE_DBAR_LTD, "0000000917879", 100, 30, 1, 74, "01010101010100000010000001110100110101010011010100110111011111010110011101" },
/* 43*/ { BARCODE_DBAR_LTD, "0000000000000", 100, 30, 1, 74, "01010101010100000010000001110101110101001001010101010101000000100000011101" },
/* 44*/ { BARCODE_DBAR_LTD, "0000000183063", 100, 30, 1, 74, "01010101010100000010000001110110101010010011010000001110000001010101010101" },
/* 45*/ { BARCODE_DBAR_LTD, "0000000183064", 100, 30, 1, 74, "01010101010100000010000001110010101010111001010101010101000111100000111101" },
/* 46*/ { BARCODE_DBAR_LTD, "0000000820063", 100, 30, 1, 74, "01010101010100000010000001110010101010011011010000011110001111010101010101" },
/* 47*/ { BARCODE_DBAR_LTD, "0000000820064", 100, 30, 1, 74, "01010101010100000010000001110110101101001001010101010101011111100011111101" },
/* 48*/ { BARCODE_DBAR_LTD, "0000001000775", 100, 30, 1, 74, "01010101010100000010000001110010110101011001010001111110111111010101010101" },
/* 49*/ { BARCODE_DBAR_LTD, "0000001000776", 100, 30, 1, 74, "01010101010100000010000001110101110101010001010101010101000001100000111101" },
/* 50*/ { BARCODE_DBAR_LTD, "0000001491020", 100, 30, 1, 74, "01010101010100000010000001110010101010110011010000011110000011010101010101" },
/* 51*/ { BARCODE_DBAR_LTD, "0000001491021", 100, 30, 1, 74, "01010101010100000010000001110101001010110011010101010101001111100001111101" },
/* 52*/ { BARCODE_DBAR_LTD, "0000001979844", 100, 30, 1, 74, "01010101010100000010000001110101010100011011010000111110011111010101010101" },
/* 53*/ { BARCODE_DBAR_LTD, "0000001979845", 100, 30, 1, 74, "01010101010100000010000001110101110100101001010101010101000000100000000101" },
/* 54*/ { BARCODE_DBAR_LTD, "0000001996938", 100, 30, 1, 74, "01010101010100000010000001110101101010001011010000000010000001010101010101" },
/* 55*/ { BARCODE_DBAR_LTD, "0000001996939", 100, 30, 1, 74, "01010101010100000010000001110110110101010001010101010101011111101111111101" },
/* 56*/ { BARCODE_DBAR_LTD, "0000012013571", 100, 30, 1, 74, "01010101010111000000100000010101010010100111010001110111100101001101101101" },
/* 57*/ { BARCODE_DBAR_LTD, "0368610347973", 100, 30, 1, 74, "01000000111000000101010101010010101011101001010101010101000000100000011101" },
/* 58*/ { BARCODE_DBAR_LTD, "0368612361544", 100, 30, 1, 74, "01010101010100011110000011110101001101010011010101010101000000100000011101" },
/* 59*/ { BARCODE_DBAR_LTD, "1651255074973", 100, 30, 1, 74, "01000001111000111101010101010101101001010011010101010101000000100000011101" },
/* 60*/ { BARCODE_DBAR_LTD, "1651257088544", 100, 30, 1, 74, "01010101010101111110001111110101101001101001010101010101000000100000011101" },
/* 61*/ { BARCODE_DBAR_LTD, "1999999999999", 100, 30, 1, 74, "01001111001101101011011111010101011010110001010100001011100011010111100101" },
/* 62*/ { BARCODE_DBAR_LTD_CC, "0000000000000", 100, 30, 6, 74, "01010101010100000110000011110100101011010011010101010101000000100000011101" },
/* 63*/ { BARCODE_DBAR_LTD_CC, "0000002013571", 100, 30, 6, 74, "01010101010100000111000001110101101010001011010101010101000000100000011101" },
/* 64*/ { BARCODE_DBAR_LTD_CC, "0987141101324", 100, 30, 6, 74, "01000001111000001101010101010110101010100011010101010101000000100000011101" },
/* 65*/ { BARCODE_DBAR_LTD_CC, "0987143114895", 100, 30, 6, 74, "01010101010100111110000111110101110101010001010101010101000000100000011101" },
/* 66*/ { BARCODE_DBAR_LTD_CC, "1971422931828", 100, 30, 6, 74, "01000011111001111101010101010100101010100111010101010101000000100000011101" },
/* 67*/ { BARCODE_DBAR_LTD_CC, "1971424945399", 100, 30, 6, 74, "01010101010100000010000000010110101010010011010101010101000000100000011101" },
/* 68*/ { BARCODE_DBAR_LTD_CC, "1999999999999", 100, 30, 6, 74, "01000010000001010101000001010110101101001001010100001011100011010111100101" },
/* 69*/ { BARCODE_DBAR_LTD, "1651257071912", 100, 30, 1, 74, "01000001111000111101010101010101110101001001010101010101011111101111111101" },
/* 70*/ { BARCODE_DBAR_LTD_CC, "0987144605916", 100, 30, 6, 74, "01010101010100111110000111110110101101001001010101010101001111100001111101" },
/* 38*/ { BARCODE_DBAR_LTD, "1234567890123", 100, 30, 1, 79, "0100110011110010100010011101011010101100100101001010100101000001110001110100000" },
/* 39*/ { BARCODE_DBAR_LTD, "0000002013570", 100, 30, 1, 79, "0101010101010000001000000111010010110101100101011111111011111101010101010100000" },
/* 40*/ { BARCODE_DBAR_LTD, "0000002013571", 100, 30, 1, 79, "0101010101010000001100000011010101101010001101010101010100000010000001110100000" },
/* 41*/ { BARCODE_DBAR_LTD, "0000002013572", 100, 30, 1, 79, "0101010101010000001100000011010101001011100101010101010100000011000000110100000" },
/* 42*/ { BARCODE_DBAR_LTD, "0000000917879", 100, 30, 1, 79, "0101010101010000001000000111010011010101001101010011011101111101011001110100000" },
/* 43*/ { BARCODE_DBAR_LTD, "0000000000000", 100, 30, 1, 79, "0101010101010000001000000111010111010100100101010101010100000010000001110100000" },
/* 44*/ { BARCODE_DBAR_LTD, "0000000183063", 100, 30, 1, 79, "0101010101010000001000000111011010101001001101000000111000000101010101010100000" },
/* 45*/ { BARCODE_DBAR_LTD, "0000000183064", 100, 30, 1, 79, "0101010101010000001000000111001010101011100101010101010100011110000011110100000" },
/* 46*/ { BARCODE_DBAR_LTD, "0000000820063", 100, 30, 1, 79, "0101010101010000001000000111001010101001101101000001111000111101010101010100000" },
/* 47*/ { BARCODE_DBAR_LTD, "0000000820064", 100, 30, 1, 79, "0101010101010000001000000111011010110100100101010101010101111110001111110100000" },
/* 48*/ { BARCODE_DBAR_LTD, "0000001000775", 100, 30, 1, 79, "0101010101010000001000000111001011010101100101000111111011111101010101010100000" },
/* 49*/ { BARCODE_DBAR_LTD, "0000001000776", 100, 30, 1, 79, "0101010101010000001000000111010111010101000101010101010100000110000011110100000" },
/* 50*/ { BARCODE_DBAR_LTD, "0000001491020", 100, 30, 1, 79, "0101010101010000001000000111001010101011001101000001111000001101010101010100000" },
/* 51*/ { BARCODE_DBAR_LTD, "0000001491021", 100, 30, 1, 79, "0101010101010000001000000111010100101011001101010101010100111110000111110100000" },
/* 52*/ { BARCODE_DBAR_LTD, "0000001979844", 100, 30, 1, 79, "0101010101010000001000000111010101010001101101000011111001111101010101010100000" },
/* 53*/ { BARCODE_DBAR_LTD, "0000001979845", 100, 30, 1, 79, "0101010101010000001000000111010111010010100101010101010100000010000000010100000" },
/* 54*/ { BARCODE_DBAR_LTD, "0000001996938", 100, 30, 1, 79, "0101010101010000001000000111010110101000101101000000001000000101010101010100000" },
/* 55*/ { BARCODE_DBAR_LTD, "0000001996939", 100, 30, 1, 79, "0101010101010000001000000111011011010101000101010101010101111110111111110100000" },
/* 56*/ { BARCODE_DBAR_LTD, "0000012013571", 100, 30, 1, 79, "0101010101011100000010000001010101001010011101000111011110010100110110110100000" },
/* 57*/ { BARCODE_DBAR_LTD, "0368610347973", 100, 30, 1, 79, "0100000011100000010101010101001010101110100101010101010100000010000001110100000" },
/* 58*/ { BARCODE_DBAR_LTD, "0368612361544", 100, 30, 1, 79, "0101010101010001111000001111010100110101001101010101010100000010000001110100000" },
/* 59*/ { BARCODE_DBAR_LTD, "1651255079973", 100, 30, 1, 79, "0100000111100011110101010101010101101100100101010110010010001001100000010100000" },
/* 60*/ { BARCODE_DBAR_LTD, "1651257088544", 100, 30, 1, 79, "0101010101010111111000111111010110100110100101010101010100000010000001110100000" },
/* 61*/ { BARCODE_DBAR_LTD, "1999999999999", 100, 30, 1, 79, "0100111100110110101101111101010101101011000101010000101110001101011110010100000" },
/* 62*/ { BARCODE_DBAR_LTD_CC, "0000000000000", 100, 30, 6, 79, "0101010101010000011000001111010010101101001101010101010100000010000001110100000" },
/* 63*/ { BARCODE_DBAR_LTD_CC, "0000002013571", 100, 30, 6, 79, "0101010101010000011100000111010110101000101101010101010100000010000001110100000" },
/* 64*/ { BARCODE_DBAR_LTD_CC, "0987141101324", 100, 30, 6, 79, "0100000111100000110101010101011010101010001101010101010100000010000001110100000" },
/* 65*/ { BARCODE_DBAR_LTD_CC, "0987143114895", 100, 30, 6, 79, "0101010101010011111000011111010111010101000101010101010100000010000001110100000" },
/* 66*/ { BARCODE_DBAR_LTD_CC, "1971422931828", 100, 30, 6, 79, "0100001111100111110101010101010010101010011101010101010100000010000001110100000" },
/* 67*/ { BARCODE_DBAR_LTD_CC, "1971424945399", 100, 30, 6, 79, "0101010101010000001000000001011010101001001101010101010100000010000001110100000" },
/* 68*/ { BARCODE_DBAR_LTD_CC, "1999999999999", 100, 30, 6, 79, "0100001000000101010100000101011010110100100101010000101110001101011110010100000" },
/* 69*/ { BARCODE_DBAR_LTD, "1651257071912", 100, 30, 1, 79, "0100000111100011110101010101010111010100100101010101010101111110111111110100000" },
/* 70*/ { BARCODE_DBAR_LTD_CC, "0987144605916", 100, 30, 6, 79, "0101010101010011111000011111011010110100100101010101010100111110000111110100000" },
};
int data_size = sizeof(data) / sizeof(struct item);
@ -234,11 +234,11 @@ static void test_examples(int index, int generate, int debug) {
"00001000100010111010010101010000111101001101110000"
"10110111011101000101100000000111000010110010001101"
},
/* 8*/ { BARCODE_DBAR_LTD, -1, "1501234567890", 1, 74, "24724:2011 Figure 7 — GS1 DataBar Limited",
"01000110011000110110101001110100101011010011010010010110001101110011001101"
/* 8*/ { BARCODE_DBAR_LTD, -1, "1501234567890", 1, 79, "24724:2011 Figure 7 — GS1 DataBar Limited",
"0100011001100011011010100111010010101101001101001001011000110111001100110100000"
},
/* 9*/ { BARCODE_DBAR_LTD, -1, "0031234567890", 1, 74, "24724:2011 Figure 8 — (a) GS1 DataBar Limited",
"01010100000100100010000101110010101101101001010110000010100100101100000101"
/* 9*/ { BARCODE_DBAR_LTD, -1, "0031234567890", 1, 79, "24724:2011 Figure 8 — (a) GS1 DataBar Limited",
"0101010000010010001000010111001010110110100101011000001010010010110000010100000"
},
/* 10*/ { BARCODE_DBAR_EXP, -1, "[01]98898765432106[3202]012345[15]991231", 1, 200, "24724:2011 Figure 10 — GS1 DataBar Expanded",
"01001000011000110110111111110000101110000110010100011010000001100010101111110000111010011100000010010100111110111001100011111100001011101100000100100100011110010110001011111111001110001101111010000101"
@ -260,8 +260,8 @@ static void test_examples(int index, int generate, int debug) {
"000000001010000111001010000001010010111011011111100000000000000000000000000000000000000000000000000000"
"001011110101111000110001111110000101000100100000011010000000000000000000000000000000000000000000000000"
},
/* 14*/ { BARCODE_DBAR_LTD, -1, "0009876543210", 1, 74, "24724:2011 Figure F.2 — GS1 DataBar Limited",
"01010100100100110000110000010101101001011001010001000101000100000100100101"
/* 14*/ { BARCODE_DBAR_LTD, -1, "0009876543210", 1, 79, "24724:2011 Figure F.2 — GS1 DataBar Limited",
"0101010010010011000011000001010110100101100101000100010100010000010010010100000"
},
/* 15*/ { BARCODE_DBAR_EXP, -1, "[10]12A", 1, 102, "24724:2011 Figure F.3 — GS1 DataBar Expanded",
"010100000110100000101111111100001010001000000010110101111100100111001011110000000010011101111111010101"
@ -1099,7 +1099,7 @@ static void test_input(int index, int debug) {
/* 1*/ { BARCODE_DBAR_OMN, "123456789012A", ZINT_ERROR_INVALID_DATA, -1, -1 },
/* 2*/ { BARCODE_DBAR_OMN, "12345678901234", ZINT_ERROR_INVALID_CHECK, -1, -1 },
/* 3*/ { BARCODE_DBAR_OMN, "123456789012315", ZINT_ERROR_TOO_LONG, -1, -1 },
/* 4*/ { BARCODE_DBAR_LTD, "1234567890123", 0, 1, 74 },
/* 4*/ { BARCODE_DBAR_LTD, "1234567890123", 0, 1, 79 },
/* 5*/ { BARCODE_DBAR_LTD, "123456789012A", ZINT_ERROR_INVALID_DATA, -1, -1 },
/* 6*/ { BARCODE_DBAR_LTD, "12345678901235", ZINT_ERROR_INVALID_CHECK, -1, -1 },
/* 7*/ { BARCODE_DBAR_LTD, "123456789012315", ZINT_ERROR_TOO_LONG, -1, -1 },

View File

@ -172,7 +172,7 @@ static void test_buffer_vector(int index, int generate, int debug) {
/* 31*/ { BARCODE_CODE93, "0000000000", "", 50, 1, 127, 254, 118 },
/* 32*/ { BARCODE_FLAT, "1234567890", "", 50, 1, 90, 180, 100 },
/* 33*/ { BARCODE_DBAR_OMN, "1234567890123", "", 50, 1, 96, 192, 118 },
/* 34*/ { BARCODE_DBAR_LTD, "1234567890123", "", 50, 1, 74, 148, 118 },
/* 34*/ { BARCODE_DBAR_LTD, "1234567890123", "", 50, 1, 79, 158.0, 118.0 },
/* 35*/ { BARCODE_DBAR_EXP, "[01]12345678901234", "", 34, 1, 134, 268, 86 },
/* 36*/ { BARCODE_TELEPEN, "0000000000", "", 50, 1, 208, 416, 118 },
/* 37*/ { BARCODE_UPCA, "12345678904", "", 50, 1, 95, 226, 118 },
@ -246,7 +246,7 @@ static void test_buffer_vector(int index, int generate, int debug) {
/*105*/ { BARCODE_EANX_CC, "123456789012+12345", "[20]01", 50, 7, 153, 338, 118 },
/*106*/ { BARCODE_GS1_128_CC, "[01]12345678901234", "[20]01", 50, 5, 145, 290, 118 },
/*107*/ { BARCODE_DBAR_OMN_CC, "1234567890123", "[20]01", 21, 5, 100, 200, 60 },
/*108*/ { BARCODE_DBAR_LTD_CC, "1234567890123", "[20]01", 19, 6, 74, 148, 56 },
/*108*/ { BARCODE_DBAR_LTD_CC, "1234567890123", "[20]01", 19, 6, 79, 158.0, 56.0 },
/*109*/ { BARCODE_DBAR_EXP_CC, "[01]12345678901234", "[20]01", 41, 5, 134, 268, 100 },
/*110*/ { BARCODE_UPCA_CC, "12345678901", "[20]01", 50, 7, 99, 234, 118 },
/*111*/ { BARCODE_UPCA_CC, "12345678901+12", "[20]01", 50, 7, 128, 284, 118 },
@ -706,7 +706,7 @@ static void test_noncomposite_string_x(int index, int debug) {
// s/\/\*[ 0-9]*\*\//\=printf("\/*%2d*\/", line(".") - line("'<"))
struct item data[] = {
/* 0*/ { BARCODE_DBAR_OMN, "1234567890123", 96, 96 },
/* 1*/ { BARCODE_DBAR_LTD, "1234567890123", 74, 74 },
/* 1*/ { BARCODE_DBAR_LTD, "1234567890123", 79, 79 },
/* 2*/ { BARCODE_DBAR_EXP, "[01]12345678901234", 134, 134 },
};
int data_size = sizeof(data) / sizeof(struct item);

View File

@ -1,5 +1,5 @@
--- ../../../../postscriptbarcode/build/monolithic/barcode.ps 2020-07-17 22:03:49.625837028 +0100
+++ ../tools/bwipp_dump.ps 2020-07-17 22:10:29.222780872 +0100
--- ../../../../postscriptbarcode/build/monolithic/barcode.ps 2020-09-11 07:39:13.775630088 +0100
+++ ../tools/bwipp_dump.ps 2020-09-11 07:57:38.915196229 +0100
@@ -29,6 +29,8 @@
% CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
% IN THE SOFTWARE.
@ -9,7 +9,7 @@
% --BEGIN TEMPLATE--
% --BEGIN RESOURCE preamble--
@@ -24485,34 +24487,80 @@
@@ -25344,34 +25346,80 @@
pop
} ifelse
@ -25,21 +25,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 <<
@ -55,11 +40,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
@ -67,8 +68,7 @@
+ 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
@ -109,7 +109,7 @@
end
@@ -24571,7 +24619,7 @@
@@ -25430,7 +25478,7 @@
pop
} ifelse
@ -118,7 +118,7 @@
% Get the result of encoding with ean8 and gs1-cc
options (lintype) (ean8) put
@@ -24579,29 +24627,75 @@
@@ -25438,29 +25486,75 @@
options (dontdraw) true put
% Plot the linear part
@ -126,7 +126,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
@ -147,20 +161,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
@ -169,15 +173,11 @@
+ ] def
+ /linheight linsym /bhs get 0 get 72 mul cvi def
- % Plot the 2D part
- comp options //gs1-cc exec
- dup (pixx) get 69 exch sub 6 rmoveto
- //renmatrix exec
- grestore
+ /compsym comp options //gs1-cc exec def
+ /ccpixs compsym /pixs get def
+ /ccpixx compsym /pixx get def
- grestore
+
+ /linpad [ ccpixx 69 sub {0} repeat ] def
+
+ /diff linpixs length linpad length add 2 add ccpixx sub def % An add-on can make linear wider than composite
@ -214,7 +214,7 @@
end
@@ -24660,34 +24754,80 @@
@@ -25519,34 +25613,80 @@
pop
} ifelse
@ -230,21 +230,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 <<
@ -260,11 +245,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
@ -272,8 +273,7 @@
+ 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
@ -314,7 +314,7 @@
end
@@ -24761,34 +24901,80 @@
@@ -25620,34 +25760,80 @@
/opt options
>> def
@ -330,21 +330,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 <<
@ -360,11 +345,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
@ -372,8 +373,7 @@
+ 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
@ -414,7 +414,7 @@
end
@@ -24847,7 +25033,7 @@
@@ -25706,7 +25892,7 @@
pop
} ifelse
@ -423,7 +423,7 @@
options (lintype) (databaromni) put
options (linkage) true put
@@ -24858,7 +25044,7 @@
@@ -25717,7 +25903,7 @@
linear options //databaromni exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -432,7 +432,7 @@
% Plot the separator
/sepfinder {
@@ -24889,20 +25075,66 @@
@@ -25748,20 +25934,66 @@
sep 0 [0 0 0] putinterval
sep sep length 4 sub [0 0 0 0] putinterval
18 sepfinder 64 sepfinder
@ -511,7 +511,7 @@
end
@@ -24960,7 +25192,7 @@
@@ -25819,7 +26051,7 @@
pop
} ifelse
@ -520,7 +520,7 @@
options (lintype) (databarstacked) put
options (linkage) true put
@@ -24971,7 +25203,7 @@
@@ -25830,7 +26062,7 @@
linear options //databarstacked exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -529,7 +529,7 @@
% Plot the separator
/sepfinder {
@@ -24999,20 +25231,52 @@
@@ -25858,20 +26090,52 @@
sep 0 [ 0 0 0 0 ] putinterval
sep sep length 4 sub [ 0 0 0 0 ] putinterval
18 sepfinder
@ -594,7 +594,7 @@
end
@@ -25070,7 +25334,7 @@
@@ -25929,7 +26193,7 @@
pop
} ifelse
@ -603,7 +603,7 @@
options (lintype) (databarstackedomni) put
options (linkage) true put
@@ -25081,7 +25345,7 @@
@@ -25940,7 +26204,7 @@
linear options //databarstackedomni exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -612,7 +612,7 @@
% Plot the separator
/sepfinder {
@@ -25109,20 +25373,52 @@
@@ -25968,20 +26232,52 @@
sep 0 [ 0 0 0 0 ] putinterval
sep sep length 4 sub [ 0 0 0 0 ] putinterval
18 sepfinder
@ -677,7 +677,7 @@
end
@@ -25295,7 +25591,7 @@
@@ -26154,7 +26450,7 @@
pop
} ifelse
@ -686,7 +686,7 @@
options (lintype) (databarlimited) put
options (linkage) true put
@@ -25306,7 +25602,7 @@
@@ -26165,7 +26461,7 @@
linear options //databarlimited exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -695,10 +695,10 @@
% Plot the separator
mark
@@ -25314,22 +25610,68 @@
@@ -26173,22 +26469,68 @@
counttomark 1 sub array astore /sep exch def pop pop
sep 0 [0 0 0] putinterval
sep sep length 4 sub [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
- 0 linheight rmoveto <<
- /ren //renmatrix
- /pixs sep
@ -741,13 +741,13 @@
+ /sep [ 0 sep aload pop ] def % Offset by 1
+
+ /linheight linheight cvi def
+ /diff linpixs length ccpixx sub def
+ /diff linpixs length 5 sub ccpixx sub def % Adding 5 right guard spaces below so subtract 5
+ diff 0 gt { % 2 column - centre align
+ /ccpad [ diff 2 idiv {0} repeat ] def
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub {
+ /i exch def
+ 2 { ccpad aload pop ccpixs i ccpixx getinterval aload pop ccpad aload pop } repeat
+ 2 { ccpad aload pop ccpixs i ccpixx getinterval aload pop 0 0 0 0 0 ccpad aload pop } repeat
+ } for
+ sep aload pop linheight { linpixs aload pop } repeat
+ ] def
@ -755,9 +755,9 @@
+ } { % 3/4 column - right pad 1 and right align separator/linear
+ /linpad [ diff neg 1 add {0} repeat ] def
+ /pixs [
+ 0 ccpixx ccpixs length 1 sub { % Right pad composite with 1 space
+ 0 ccpixx ccpixs length 1 sub { % Right pad composite with 1 space + 5 right guard spaces
+ /i exch def
+ 2 { ccpixs i ccpixx getinterval aload pop 0 } repeat
+ 2 { ccpixs i ccpixx getinterval aload pop 0 0 0 0 0 0 } repeat
+ } for
+ linpad aload pop sep aload pop linheight { linpad aload pop linpixs aload pop } repeat
+ ] def
@ -778,7 +778,7 @@
end
@@ -25388,7 +25730,7 @@
@@ -26247,7 +26589,7 @@
pop
} ifelse
@ -787,7 +787,7 @@
options (lintype) (databarexpanded) put
options (linkage) true put
@@ -25399,7 +25741,7 @@
@@ -26258,7 +26600,7 @@
linear options //databarexpanded exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -796,7 +796,7 @@
% Plot the separator
/sepfinder {
@@ -25428,20 +25770,60 @@
@@ -26287,20 +26629,60 @@
18 98 bot length 13 sub {} for
69 98 bot length 13 sub {} for
] {sepfinder} forall
@ -869,7 +869,7 @@
end
@@ -25499,7 +25881,7 @@
@@ -26358,7 +26740,7 @@
pop
} ifelse
@ -878,7 +878,7 @@
options (lintype) (databarexpandedstacked) put
options (linkage) true put
@@ -25510,7 +25892,7 @@
@@ -26369,7 +26751,7 @@
linear options //databarexpandedstacked exec
dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def
dup (pixy) get /linheight exch def
@ -887,7 +887,7 @@
% Plot the separator
/sepfinder {
@@ -25530,27 +25912,55 @@
@@ -26389,27 +26771,55 @@
} for
} bind def
/sep [ bot {1 exch sub} forall ] def
@ -957,7 +957,7 @@
end
@@ -25609,7 +26019,7 @@
@@ -26468,7 +26878,7 @@
pop
} ifelse
@ -966,7 +966,7 @@
options (inkspread) (0) put
options (dontdraw) true put
@@ -25636,35 +26046,87 @@
@@ -26495,35 +26905,87 @@
linear << options {} forall >> //gs1-128 exec
dup (sbs) get /linsbs exch def
dup (bhs) get 0 get 72 mul /linheight exch def
@ -1068,7 +1068,7 @@
end
@@ -26962,3 +27424,124 @@
@@ -27821,3 +28283,124 @@
% --END ENCODER hibcazteccode--
% --END TEMPLATE--