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

AZTEC: fix not allowing for lowercase AIM id (FNC1 2nd position)

This commit is contained in:
gitlost
2026-05-19 18:56:45 +01:00
parent bdb194b76a
commit 0b05c7a8c5
2 changed files with 545 additions and 46 deletions
+7 -3
View File
@@ -1166,7 +1166,7 @@ static int az_text_process(unsigned char *source, const int length, int bp, char
char current_mode = p_current_mode ? *p_current_mode : AZ_U;
const char initial_mode = current_mode;
const int initial_bp = bp;
const int all_byte_only_or_uld = az_all_byte_only_or_uld(source, length); /* -1 if not */
const int all_byte_only_or_uld = length > 1 ? az_all_byte_only_or_uld(source, length) : -1; /* -1 if not */
const int debug_print = debug & ZINT_DEBUG_PRINT;
#ifdef ZINT_TEST
const int debug_skip_all = debug & 2048; /* ZINT_DEBUG_TEST_AZTEC_SKIP_ALL - skip using `all_byte_only_or_uld` */
@@ -1351,7 +1351,11 @@ static int az_text_process_segs(struct zint_symbol *symbol, struct zint_seg segs
const int length = segs[0].length;
if (position_fnc1) {
if (position_fnc1 == 4) {
bp = z_bin_append_posn(AztecChar[AZ_U][source[0]], 5, binary_string, bp);
if (z_islower(source[0])) {
current_mode = AZ_L;
bp = z_bin_append_posn(28, 5, binary_string, bp); /* L/L */
}
bp = z_bin_append_posn(AztecChar[(int) current_mode][source[0]], 5, binary_string, bp);
} else if (position_fnc1 == 5) {
current_mode = AZ_D;
bp = z_bin_append_posn(30, 5, binary_string, bp); /* D/L */
@@ -1361,7 +1365,7 @@ static int az_text_process_segs(struct zint_symbol *symbol, struct zint_seg segs
have_extra_escapes = 1;
}
if (gs1 || (position_fnc1 <= 4 && length > position_fnc1 && z_isdigit(source[position_fnc1]))) {
assert(current_mode == AZ_U);
assert(current_mode == AZ_U || current_mode == AZ_L);
/* Latch to D/L to save a bit */
current_mode = AZ_D;
bp = z_bin_append_posn(30, 5, binary_string, bp); /* D/L */
+538 -43
View File
@@ -6826,7 +6826,279 @@ static void test_encode(const testCtx *const p_ctx) {
"000010001001111"
"101110000000011"
},
/*200*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: different encodation, same no. of codewords (does ML before FNC1 in 2nd position)",
/*200*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1B", -1, 0, 15, 15, 1, 3, "",
"000101010011000"
"000000010110101"
"011100000100111"
"001111111111101"
"000100000001000"
"000101111101111"
"011101000101000"
"000101010101101"
"000101000101000"
"010101111101001"
"000100000001000"
"000111111111111"
"010011101110000"
"110111101110101"
"111111001000100"
},
/*201*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1B", -1, 0, 15, 15, 1, 3, "",
"000101010011000"
"000000010110101"
"011100000100111"
"001111111111101"
"000100000001000"
"000101111101111"
"011101000101000"
"000101010101101"
"000101000101000"
"010101111101001"
"000100000001000"
"000111111111111"
"010011101110000"
"110111101110101"
"111111001000100"
},
/*202*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1B", -1, 0, 15, 15, 1, 3, "",
"001011000011111"
"111101100001111"
"101100000100110"
"001111111111101"
"001100000001111"
"100101111101000"
"001101000101011"
"000101010101001"
"000101000101111"
"011101111101000"
"000100000001111"
"000111111111110"
"010011011110001"
"110011101011000"
"010001110101101"
},
/*203*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1B", -1, 0, 15, 15, 1, 3, "",
"001011000011111"
"111101100001111"
"101100000100110"
"001111111111101"
"001100000001111"
"100101111101000"
"001101000101011"
"000101010101001"
"000101000101111"
"011101111101000"
"000100000001111"
"000111111111110"
"010011011110001"
"110011101011000"
"010001110101101"
},
/*204*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1@", -1, 0, 15, 15, 0, 3, "BWIPP: different encodation, same no. of codewords (does ML before FNC1 in 2nd position)",
"001010010000000"
"001101011111000"
"011100000100101"
"001111111111100"
"000100000001011"
"000101111101100"
"011101000101011"
"000101010101100"
"000101000101010"
"010101111101010"
"000100000001011"
"110111111111101"
"100011101110000"
"110101110010111"
"100110011001111"
},
/*205*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1@", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"001010010000000"
"001101011111000"
"011100000100101"
"001111111111100"
"000100000001011"
"000101111101100"
"011101000101011"
"000101010101100"
"000101000101010"
"010101111101010"
"000100000001011"
"110111111111101"
"100011101110000"
"110101110010111"
"100110011001111"
},
/*206*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1@", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"000011011111101"
"111010001110011"
"101100000100111"
"001111111111110"
"001100000001100"
"100101111101011"
"001101000101000"
"000101010101011"
"000101000101110"
"011101111101010"
"000100000001110"
"000111111111101"
"010011011110001"
"111001111001011"
"010110011111000"
},
/*207*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1@", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"000011011111101"
"111010001110011"
"101100000100111"
"001111111111110"
"001100000001100"
"100101111101011"
"001101000101000"
"000101010101011"
"000101000101110"
"011101111101010"
"000100000001110"
"000111111111101"
"010011011110001"
"111001111001011"
"010110011111000"
},
/*208*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1+", -1, 0, 15, 15, 1, 3, "",
"000010100100101"
"001101110110001"
"011100000100100"
"001111111111110"
"001100000001101"
"000101111101011"
"011101000101010"
"000101010101011"
"000101000101101"
"011101111101000"
"000100000001101"
"000111111111110"
"010011011110000"
"000111011011001"
"010011000011101"
},
/*209*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1+", -1, 0, 15, 15, 1, 3, "",
"000010100100101"
"001101110110001"
"011100000100100"
"001111111111110"
"001100000001101"
"000101111101011"
"011101000101010"
"000101010101011"
"000101000101101"
"011101111101000"
"000100000001101"
"000111111111110"
"010011011110000"
"000111011011001"
"010011000011101"
},
/*210*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1+", -1, 0, 15, 15, 1, 3, "",
"001101010011111"
"111010111101101"
"101100000100111"
"001111111111111"
"001100000001111"
"100101111101000"
"001101000101010"
"000101010101010"
"000101000101110"
"011101111101011"
"000100000001110"
"000111111111110"
"010011011110000"
"001100011001001"
"000000011000010"
},
/*211*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1+", -1, 0, 15, 15, 1, 3, "",
"001101010011111"
"111010111101101"
"101100000100111"
"001111111111111"
"001100000001111"
"100101111101000"
"001101000101010"
"000101010101010"
"000101000101110"
"011101111101011"
"000100000001110"
"000111111111110"
"010011011110000"
"001100011001001"
"000000011000010"
},
/*212*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^10", -1, 0, 15, 15, 1, 3, "",
"000101010011110"
"001101000010001"
"011100000100111"
"011111111111100"
"110100000001010"
"100101111101110"
"001101000101011"
"000101010101101"
"000101000101010"
"010101111101001"
"000100000001011"
"000111111111111"
"010011101110000"
"001001100111001"
"011001000110000"
},
/*213*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^10", -1, 0, 15, 15, 1, 3, "",
"000101010011110"
"001101000010001"
"011100000100111"
"011111111111100"
"110100000001010"
"100101111101110"
"001101000101011"
"000101010101101"
"000101000101010"
"010101111101001"
"000100000001011"
"000111111111111"
"010011101110000"
"001001100111001"
"011001000110000"
},
/*214*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^10", -1, 0, 15, 15, 1, 3, "",
"001101110011111"
"110010100011001"
"101100000100110"
"001111111111111"
"001100000001100"
"100101111101001"
"111101000101011"
"110101010101001"
"000101000101111"
"001101111101011"
"000100000001110"
"000111111111101"
"010011011110001"
"001111000010111"
"000001001000000"
},
/*215*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^10", -1, 0, 15, 15, 1, 3, "",
"001101110011111"
"110010100011001"
"101100000100110"
"001111111111111"
"001100000001100"
"100101111101001"
"111101000101011"
"110101010101001"
"000101000101111"
"001101111101011"
"000100000001110"
"000111111111101"
"010011011110001"
"001111000010111"
"000001001000000"
},
/*216*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: different encodation, same no. of codewords (does ML before FNC1 in 2nd position)",
"001110100001001"
"001000110000000"
"011100001000100"
@@ -6843,7 +7115,7 @@ static void test_encode(const testCtx *const p_ctx) {
"111011100001111"
"100110110000011"
},
/*201*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
/*217*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"000000011101000"
"001101101100100"
"011100001000100"
@@ -6860,7 +7132,41 @@ static void test_encode(const testCtx *const p_ctx) {
"111010001001011"
"100110000000011"
},
/*202*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
/*218*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"000001010000101"
"110011110111110"
"101100001000101"
"001111111111110"
"000100000001001"
"100101111101001"
"000101000101110"
"001101010101101"
"001101000101110"
"011101111101010"
"000100000001100"
"000111111111110"
"010001010010000"
"111001101100010"
"010111011100000"
},
/*219*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^1\\^^\\^1", -1, 0, 15, 15, 0, 3, "BWIPP: see above",
"000000001101000"
"110110001101011"
"101100001000101"
"001111111111101"
"001100000001101"
"100101111101111"
"000101000101101"
"001101010101011"
"001101000101010"
"010101111101000"
"000100000001011"
"000111111111111"
"010001100010010"
"111001100001010"
"010111010000000"
},
/*220*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
"001011000011101"
"000001000001011"
"011100001000111"
@@ -6877,7 +7183,7 @@ static void test_encode(const testCtx *const p_ctx) {
"011001001001011"
"010000000000101"
},
/*203*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
/*221*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "A\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
"001011000011101"
"000001000001011"
"011100001000111"
@@ -6894,7 +7200,41 @@ static void test_encode(const testCtx *const p_ctx) {
"011001001001011"
"010000000000101"
},
/*204*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "12\\^112", -1, 0, 15, 15, 1, 3, "",
/*222*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
"000101111010100"
"110111011000010"
"101100001000111"
"001111111111101"
"001100000001100"
"100101111101110"
"110101000101100"
"111101010101010"
"001101000101010"
"000101111101001"
"000100000001010"
"000111111111111"
"010001100010001"
"001100001001001"
"000011000000000"
},
/*223*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "a\\^112\\^134", -1, 0, 15, 15, 1, 3, "",
"000101111010100"
"110111011000010"
"101100001000111"
"001111111111101"
"001100000001100"
"100101111101110"
"110101000101100"
"111101010101010"
"001101000101010"
"000101111101001"
"000100000001010"
"000111111111111"
"010001100010001"
"001100001001001"
"000011000000000"
},
/*224*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "12\\^112", -1, 0, 15, 15, 1, 3, "",
"001011011111110"
"110010001011001"
"111100000100101"
@@ -6911,7 +7251,7 @@ static void test_encode(const testCtx *const p_ctx) {
"001110101010101"
"000100101111000"
},
/*205*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "12\\^112", -1, 0, 15, 15, 1, 3, "",
/*225*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "12\\^112", -1, 0, 15, 15, 1, 3, "",
"001011011111110"
"110010001011001"
"111100000100101"
@@ -6928,7 +7268,7 @@ static void test_encode(const testCtx *const p_ctx) {
"001110101010101"
"000100101111000"
},
/*206*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "1\\^112", -1, 0, 15, 15, 1, 3, "",
/*226*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "1\\^112", -1, 0, 15, 15, 1, 3, "",
"000100100101100"
"111010110101101"
"111100000100100"
@@ -6945,7 +7285,7 @@ static void test_encode(const testCtx *const p_ctx) {
"100111001101111"
"011011101011110"
},
/*207*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "1\\^112", -1, 0, 15, 15, 1, 3, "",
/*227*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "1\\^112", -1, 0, 15, 15, 1, 3, "",
"000100100101100"
"111010110101101"
"111100000100100"
@@ -6962,7 +7302,7 @@ static void test_encode(const testCtx *const p_ctx) {
"100111001101111"
"011011101011110"
},
/*208*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 6, -1, { 0, 0, "" }, "?\\^1123456ABC\\^1\\^^DEXY\\^11234\\^^\\^1", -1, 0, 23, 23, 0, 3, "BWIPP: different encodation, same no. of codewords",
/*228*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 6, -1, { 0, 0, "" }, "?\\^1123456ABC\\^1\\^^DEXY\\^11234\\^^\\^1", -1, 0, 23, 23, 0, 3, "BWIPP: different encodation, same no. of codewords",
"11111011000000000011111"
"11100000101100100011001"
"00010100111001011100000"
@@ -6987,7 +7327,7 @@ static void test_encode(const testCtx *const p_ctx) {
"10110010010101000001010"
"01011011000001010000000"
},
/*209*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 6, -1, { 0, 0, "" }, "?\\^1123456ABC\\^1\\^^DEXY\\^11234\\^^\\^1", -1, 0, 23, 23, 0, 3, "BWIPP: different encodation, 1 less codeword",
/*229*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 6, -1, { 0, 0, "" }, "?\\^1123456ABC\\^1\\^^DEXY\\^11234\\^^\\^1", -1, 0, 23, 23, 0, 3, "BWIPP: different encodation, 1 less codeword",
"00000101100000000011101"
"00101100111100100000101"
"01011010100011111010001"
@@ -7012,7 +7352,7 @@ static void test_encode(const testCtx *const p_ctx) {
"00101101100100101001010"
"11101100100010010000000"
},
/*210*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 6, -1, { 0, 0, "" }, "\\^1\241\\^1\\^1\241\241\\^1\241\\^1", -1, 0, 23, 23, 1, 3, "",
/*230*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 6, -1, { 0, 0, "" }, "\\^1\241\\^1\\^1\241\241\\^1\241\\^1", -1, 0, 23, 23, 1, 3, "",
"00000000010000100111000"
"00101000000101100011100"
"01110111101010010110110"
@@ -7037,7 +7377,7 @@ static void test_encode(const testCtx *const p_ctx) {
"00110000010101001001010"
"00100010000000000000000"
},
/*211*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, 6, -1, { 0, 0, "" }, "\\^1\241\\^1\\^1\241\241\\^1\241\\^1", -1, 0, 23, 23, 1, 3, "",
/*231*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, 6, -1, { 0, 0, "" }, "\\^1\241\\^1\\^1\241\241\\^1\241\\^1", -1, 0, 23, 23, 1, 3, "",
"00000000010000100111000"
"00101000000101100011100"
"01110111101010010110110"
@@ -7062,7 +7402,7 @@ static void test_encode(const testCtx *const p_ctx) {
"00110000010101001001010"
"00100010000000000000000"
},
/*212*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "A\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 0, 4, "BWIPP: different encodation (final PS instead of PL) - see below",
/*232*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "A\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 0, 4, "BWIPP: different encodation (final PS instead of PL) - see below",
"00100010011010011100001"
"01000010101111101100000"
"01111010101010000110011"
@@ -7087,7 +7427,7 @@ static void test_encode(const testCtx *const p_ctx) {
"00110111011100001001001"
"10100000101010000000011"
},
/*213*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "A\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 1, 4, "",
/*233*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "A\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 1, 4, "",
"00000110100010001000000"
"01000001001100010100100"
"01101111010000001101000"
@@ -7112,7 +7452,57 @@ static void test_encode(const testCtx *const p_ctx) {
"00110111011100001001001"
"10100000101010000000011"
},
/*214*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 5, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1ABCD\\^1\\^^\\^1\241\\^1", -1, 0, 19, 19, 0, 5, "BWIPP: different encodation",
/*234*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "a\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 0, 4, "BWIPP: different encodation (final PS instead of PL) - see below",
"11000110001010100000110"
"10000110011100100100111"
"00010110011000000001000"
"00110101100101010100101"
"10101100001000000010001"
"11001111111111111110010"
"11010100000000000101100"
"00010101111111110110101"
"00110101000000010101011"
"00110101011111010110111"
"00111101010001010110101"
"01010101010101010101010"
"01011101010001010100010"
"00001101011111010110011"
"00001101000000010110001"
"01101101111111110101001"
"00111100000000000111110"
"00110111111111111110111"
"01100001000001011001110"
"00100010000101000100111"
"00100111100010010111110"
"10101000001101100001010"
"01100110111001100000000"
},
/*235*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 4, -1, -1, 6, -1, { 0, 0, "" }, "a\\^1123456\\^1\\^^\241\\^1", -1, 0, 23, 23, 1, 4, "",
"11101100110010100000000"
"10000100011110100100001"
"00011100011000100100100"
"00111111011110101111001"
"10101100001000000011001"
"11101111111111111111110"
"11000100000000000100100"
"00110101111111110110001"
"00100101000000010101111"
"00010101011111010111011"
"00101101010001010110001"
"01010101010101010101010"
"01101101010001010100110"
"00101101011111010111111"
"00111101000000010110101"
"01011101111111110101001"
"00001100000000000110010"
"00010111111111111110011"
"01010001000001011001110"
"00000111100111111111111"
"00011101100010100111110"
"10101000001101100001010"
"01100110111001100000000"
},
/*236*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 5, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1ABCD\\^1\\^^\\^1\241\\^1", -1, 0, 19, 19, 0, 5, "BWIPP: different encodation",
"1111000100110000000"
"1111001100111100100"
"0010101111110110000"
@@ -7133,7 +7523,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1000110001001000100"
"0001111100001010010"
},
/*215*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 5, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1ABCD\\^1\\^^\\^1\241\\^1", -1, 0, 19, 19, 0, 5, "BWIPP: different encodation",
/*237*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 5, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1ABCD\\^1\\^^\\^1\241\\^1", -1, 0, 19, 19, 0, 5, "BWIPP: different encodation",
"1101000100110000000"
"1100001100111100100"
"0000001000010100000"
@@ -7154,7 +7544,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1000110001001000100"
"0001111100001010010"
},
/*216*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
/*238*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1101101101001111011"
"1001010000110010001"
"1110001110010110101"
@@ -7175,7 +7565,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1001001000001000010"
"0000000001110110000"
},
/*217*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
/*239*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1101101101001111011"
"1001010000110010001"
"1110001110010110101"
@@ -7196,7 +7586,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1001001000001000010"
"0000000001110110000"
},
/*218*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "A\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
/*240*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "A\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1100111111000011101"
"1010110010100001110"
"1101110111111000111"
@@ -7217,7 +7607,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1001001001011101100"
"0000000000000001000"
},
/*219*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "A\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
/*241*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "A\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1100111111000011101"
"1010110010100001110"
"1101110111111000111"
@@ -7238,7 +7628,49 @@ static void test_encode(const testCtx *const p_ctx) {
"1001001001011101100"
"0000000000000001000"
},
/*220*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "\\^1", -1, 0, 15, 15, 1, 3, "",
/*242*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "a\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1111000000000010011"
"1001000001000001100"
"1100100011000001011"
"1100110011011001010"
"0111110101000011011"
"0001111111111110001"
"0101110000000101101"
"0000010111110111000"
"0001010100010111010"
"1111010101010101100"
"1101110100010100000"
"1011110111110110010"
"0001110000000101000"
"0001011111111111000"
"0110000001110001000"
"1011111100000010001"
"1111011111000011101"
"1001001001001000010"
"1000000000000001101"
},
/*243*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 3, -1, -1, -1, -1, { 1, 2, "" }, "a\\^112\\^134", -1, 0, 19, 19, 1, 3, "",
"1111000000000010011"
"1001000001000001100"
"1100100011000001011"
"1100110011011001010"
"0111110101000011011"
"0001111111111110001"
"0101110000000101101"
"0000010111110111000"
"0001010100010111010"
"1111010101010101100"
"1101110100010100000"
"1011110111110110010"
"0001110000000101000"
"0001011111111111000"
"0110000001110001000"
"1011111100000010001"
"1111011111000011101"
"1001001001001000010"
"1000000000000001101"
},
/*244*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "\\^1", -1, 0, 15, 15, 1, 3, "",
"000110111000001"
"000110001100100"
"001100000010110"
@@ -7255,7 +7687,7 @@ static void test_encode(const testCtx *const p_ctx) {
"001010011100100"
"100111010100000"
},
/*221*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "\\^1", -1, 0, 15, 15, 1, 3, "",
/*245*/ { BARCODE_AZTEC, FAST_MODE | EXTRA_ESCAPE_MODE, 0, -1, -1, 1, -1, { 0, 0, "" }, "\\^1", -1, 0, 15, 15, 1, 3, "",
"000110111000001"
"000110001100100"
"001100000010110"
@@ -7272,7 +7704,7 @@ static void test_encode(const testCtx *const p_ctx) {
"001010011100100"
"100111010100000"
},
/*222*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[", -1, 0, 19, 19, 1, 3, "",
/*246*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[", -1, 0, 19, 19, 1, 3, "",
"0010011011101010000"
"0100000111101011001"
"0001011011100010010"
@@ -7293,7 +7725,28 @@ static void test_encode(const testCtx *const p_ctx) {
"0010011010011101111"
"1001101101110011101"
},
/*223*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[!", -1, 0, 19, 19, 1, 3, "",
/*247*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "a\\^1[", -1, 0, 19, 19, 1, 3, "",
"1110010010110000111"
"1011010101110011010"
"0000111011110010101"
"0011100001100111010"
"1010110100010011001"
"0010111111111110111"
"0010110000000110100"
"0000110111110101110"
"0100110100010100001"
"0011110101010100100"
"0001110100010100100"
"0111010111110101101"
"0010010000000101011"
"0000011111111111000"
"0111001001101001100"
"0110110100011100111"
"1010101011001101111"
"1011001001011110001"
"1111111111000011110"
},
/*248*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[!", -1, 0, 19, 19, 1, 3, "",
"0001010011111110000"
"0100000111110011001"
"0101011011110001101"
@@ -7314,7 +7767,28 @@ static void test_encode(const testCtx *const p_ctx) {
"1111000000010101001"
"1010111101111100001"
},
/*224*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[", -1, 0, 19, 19, 1, 3, "",
/*249*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 0, -1, -1, 2, -1, { 0, 0, "" }, "a\\^1[!", -1, 0, 19, 19, 1, 3, "",
"1110100000101010100"
"1001000101010000011"
"0000000100101010010"
"0000101110100001000"
"1010110100011011010"
"1101111111111111010"
"1001010000000100110"
"1110010111110110001"
"1100110100010111110"
"1000110101010111001"
"0010110100010100111"
"0011110111110110101"
"0011110000000111010"
"0001011111111110100"
"1101001011001000100"
"0110101000010001100"
"1010001001110111011"
"1011001011010001111"
"0111000111000000001"
},
/*250*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 2, -1, { 0, 0, "" }, "A\\^1[", -1, 0, 19, 19, 1, 3, "",
"0000101101110101100"
"0101011010010110111"
"0111100110100101101"
@@ -7335,7 +7809,28 @@ static void test_encode(const testCtx *const p_ctx) {
"0101011110011001111"
"1111001110010011000"
},
/*225*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1[", -1, 0, 19, 19, 0, 3, "BWIPP: different encodation, same no. of codewords (uses PS instead of PL)",
/*251*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 2, -1, { 0, 0, "" }, "a\\^1[", -1, 0, 19, 19, 1, 3, "",
"1100111110110011001"
"1000001010111010100"
"0011010110001010001"
"0010001110011110110"
"1010110100011010100"
"1110111111111110111"
"1010110000000111000"
"1110010111110101100"
"1111110100010111000"
"1011110101010101110"
"0010110100010111010"
"0011010111110111000"
"0011110000000100000"
"0011011111111111100"
"0110001000001001111"
"0000011001100001001"
"0001010110001100011"
"1111111001111010111"
"0000101100100100011"
},
/*252*/ { BARCODE_AZTEC, EXTRA_ESCAPE_MODE, 3, -1, -1, 2, -1, { 0, 0, "" }, "12\\^1[", -1, 0, 19, 19, 0, 3, "BWIPP: different encodation, same no. of codewords (uses PS instead of PL)",
"1100100011110010111"
"1111001011101100001"
"0000101010011001010"
@@ -7356,7 +7851,7 @@ static void test_encode(const testCtx *const p_ctx) {
"1001000101001010011"
"0000011111100011011"
},
/*226*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "0", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (1st)",
/*253*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "0", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (1st)",
"11101010101"
"11111111111"
"01000000010"
@@ -7369,7 +7864,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00101010100"
},
/*227*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "25", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (2nd)",
/*254*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "25", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (2nd)",
"11101100101"
"11111111111"
"01000000011"
@@ -7382,7 +7877,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00100100000"
},
/*228*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "125", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (3rd)",
/*255*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "125", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (3rd)",
"11110101101"
"11111111111"
"11000000011"
@@ -7395,7 +7890,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00111101000"
},
/*229*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "255", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (4th)",
/*256*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "255", -1, 0, 11, 11, 1, 1, "ISO/IEC 24778:2008 Figure A.1 (4th)",
"11010101001"
"11111111111"
"01000000011"
@@ -7408,7 +7903,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00110011100"
},
/*230*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "1", -1, 0, 11, 11, 1, 1, "",
/*257*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "1", -1, 0, 11, 11, 1, 1, "",
"11101010101"
"11111111111"
"11000000011"
@@ -7421,7 +7916,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00100110100"
},
/*231*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "15", -1, 0, 11, 11, 1, 1, "",
/*258*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "15", -1, 0, 11, 11, 1, 1, "",
"11101001001"
"11111111111"
"11000000011"
@@ -7434,7 +7929,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00001111100"
},
/*232*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "16", -1, 0, 11, 11, 1, 1, "",
/*259*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "16", -1, 0, 11, 11, 1, 1, "",
"11101110101"
"11111111111"
"11000000010"
@@ -7447,7 +7942,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00111100100"
},
/*233*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "63", -1, 0, 11, 11, 1, 1, "",
/*260*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "63", -1, 0, 11, 11, 1, 1, "",
"11100101001"
"11111111111"
"11000000011"
@@ -7460,7 +7955,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00101010000"
},
/*234*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "64", -1, 0, 11, 11, 1, 1, "",
/*261*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "64", -1, 0, 11, 11, 1, 1, "",
"11111010101"
"11111111111"
"01000000010"
@@ -7473,7 +7968,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00111011100"
},
/*235*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "65", -1, 0, 11, 11, 1, 1, "",
/*262*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "65", -1, 0, 11, 11, 1, 1, "",
"11111010101"
"11111111111"
"11000000011"
@@ -7486,7 +7981,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00110111100"
},
/*236*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "126", -1, 0, 11, 11, 1, 1, "",
/*263*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "126", -1, 0, 11, 11, 1, 1, "",
"11110101001"
"11111111111"
"01000000010"
@@ -7499,7 +7994,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00110111000"
},
/*237*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "127", -1, 0, 11, 11, 1, 1, "",
/*264*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "127", -1, 0, 11, 11, 1, 1, "",
"11110101001"
"11111111111"
"11000000011"
@@ -7512,7 +8007,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00111011000"
},
/*238*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "128", -1, 0, 11, 11, 1, 1, "",
/*265*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "128", -1, 0, 11, 11, 1, 1, "",
"11001010101"
"11111111111"
"11000000010"
@@ -7525,7 +8020,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00100010000"
},
/*239*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "191", -1, 0, 11, 11, 1, 1, "",
/*266*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "191", -1, 0, 11, 11, 1, 1, "",
"11000101001"
"11111111111"
"01000000011"
@@ -7538,7 +8033,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00100010100"
},
/*240*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "192", -1, 0, 11, 11, 1, 1, "",
/*267*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "192", -1, 0, 11, 11, 1, 1, "",
"11011010101"
"11111111111"
"11000000010"
@@ -7551,7 +8046,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00110011000"
},
/*241*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "225", -1, 0, 11, 11, 1, 1, "",
/*268*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "225", -1, 0, 11, 11, 1, 1, "",
"11010010101"
"11111111111"
"11000000011"
@@ -7564,7 +8059,7 @@ static void test_encode(const testCtx *const p_ctx) {
"01111111111"
"00001100100"
},
/*242*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "254", -1, 0, 11, 11, 1, 1, "",
/*269*/ { BARCODE_AZRUNE, UNICODE_MODE, -1, -1, -1, -1, -1, { 0, 0, "" }, "254", -1, 0, 11, 11, 1, 1, "",
"11010101001"
"11111111111"
"11000000010"