UNPKG

red-agate-barcode

Version:

red-agate barcode tag library.

437 lines (380 loc) 11 kB
// Copyright (c) 2017, Shellyl_N and Authors // license: ISC // https://github.com/shellyln import { QrCodewords } from '../Qr.defs'; // tslint:disable:whitespace export const matrixSize = [ 0, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177 ]; export const dataCodewords: QrCodewords = { L: [ 0, 19, 34, 55, 80, 108, 136, 156, 194, 232, 274, 324, 370, 428, 461, 523, 589, 647, 721, 795, 861, 932, 1006, 1094, 1174, 1276, 1370, 1468, 1531, 1631, 1735, 1843, 1955, 2071, 2191, 2306, 2434, 2566, 2702, 2812, 2956 ], M: [ 0, 16, 28, 44, 64, 86, 108, 124, 154, 182, 216, 254, 290, 334, 365, 415, 453, 507, 563, 627, 669, 714, 782, 860, 914, 1000, 1062, 1128, 1193, 1267, 1373, 1455, 1541, 1631, 1725, 1812, 1914, 1992, 2102, 2216, 2334 ], Q: [ 0, 13, 22, 34, 48, 62, 76, 88, 110, 132, 154, 180, 206, 244, 261, 295, 325, 367, 397, 445, 485, 512, 568, 614, 664, 718, 754, 808, 871, 911, 985, 1033, 1115, 1171, 1231, 1286, 1354, 1426, 1502, 1582, 1666 ], H: [ 0, 9, 16, 26, 36, 46, 60, 66, 86, 100, 122, 140, 158, 180, 197, 223, 253, 283, 313, 341, 385, 406, 442, 464, 514, 538, 596, 628, 661, 701, 745, 793, 845, 901, 961, 986, 1054, 1096, 1142, 1222, 1276 ] }; export const segments = [ // [[repeat, totalCodewords, dataCodewords, correctableCodewords], ...] { L: [[ 0, 0, 0, 0]], M: [[ 0, 0, 0, 0]], Q: [[ 0, 0, 0, 0]], H: [[ 0, 0, 0, 0]] }, // 0 { L: [[ 1, 26, 19, 2]], M: [[ 1, 26, 16, 4]], Q: [[ 1, 26, 13, 6]], H: [[ 1, 26, 9, 8]] }, // 1 { L: [[ 1, 44, 34, 4]], M: [[ 1, 44, 28, 8]], Q: [[ 1, 44, 22, 11]], H: [[ 1, 44, 16, 14]] }, // 2 { L: [[ 1, 70, 55, 7]], M: [[ 1, 70, 44, 13]], Q: [[ 2, 35, 17, 9]], H: [[ 2, 35, 13, 11]] }, // 3 { L: [[ 1,100, 80, 10]], M: [[ 2, 50, 32, 9]], Q: [[ 2, 50, 24, 13]], H: [[ 4, 25, 9, 8]] }, // 4 { L: [[ 1,134,108, 13]], M: [[ 2, 67, 43, 12]], Q: [[ 2, 33, 15, 9], [ 2, 34, 16, 9]], H: [[ 2, 33, 11, 11], [ 2, 34, 12, 11]] }, // 5 { L: [[ 2, 86, 68, 9]], M: [[ 4, 43, 27, 8]], Q: [[ 4, 43, 19, 12]], H: [[ 4, 43, 15, 14]] }, // 6 { L: [[ 2, 98, 78, 10]], M: [[ 4, 49, 31, 9]], Q: [[ 2, 32, 14, 9], [ 4, 33, 15, 9]], H: [[ 4, 39, 13, 13], [ 1, 40, 14, 13]] }, // 7 { L: [[ 2,121, 97, 12]], M: [[ 2, 60, 38, 11], [ 2, 61, 39, 11]], Q: [[ 4, 40, 18, 11], [ 2, 41, 19, 11]], H: [[ 4, 40, 14, 13], [ 2, 41, 15, 13]] }, // 8 { L: [[ 2,146,116, 15]], M: [[ 3, 58, 36, 11], [ 2, 59, 37, 11]], Q: [[ 4, 36, 16, 10], [ 4, 37, 17, 10]], H: [[ 4, 36, 12, 12], [ 4, 37, 13, 12]] }, // 9 { L: [[ 2, 86, 68, 9], [ 2, 87, 69, 9]], M: [[ 4, 69, 43, 13], [ 1, 70, 44, 13]], Q: [[ 6, 43, 19, 12], [ 2, 44, 20, 12]], H: [[ 6, 43, 15, 14], [ 2, 44, 16, 14]] }, // 10 { L: [[ 4,101, 81, 10]], M: [[ 1, 80, 50, 15], [ 4, 81, 51, 15]], Q: [[ 4, 50, 22, 14], [ 4, 51, 23, 14]], H: [[ 3, 36, 12, 12], [ 8, 37, 13, 12]] }, // 11 { L: [[ 2,116, 92, 12], [ 2,117, 93, 12]], M: [[ 6, 58, 36, 11], [ 2, 59, 37, 11]], Q: [[ 4, 46, 20, 13], [ 6, 47, 21, 13]], H: [[ 7, 42, 14, 14], [ 4, 43, 15, 14]] }, // 12 { L:[[ 4,133,107, 13]], M:[[ 8, 59, 37, 11], [ 1, 60, 38, 11]], Q:[[ 8, 44, 20, 13], [ 4, 45, 21, 13]], H:[[ 12, 33, 11, 14], [ 4, 34, 12, 14]] }, // 13 { L:[[ 3,145,115, 15], [ 1,146,116, 15]], M:[[ 4, 64, 40, 12], [ 5, 65, 41, 12]], Q:[[ 11, 36, 16, 10], [ 5, 37, 17, 10]], H:[[ 11, 36, 12, 12], [ 5, 37, 13, 12]] }, // 14 { L:[[ 5,109, 87, 11], [ 1,110, 88, 11]], M:[[ 5, 65, 41, 12], [ 5, 66, 42, 12]], Q:[[ 5, 54, 24, 15], [ 7, 55, 25, 15]], H:[[ 11, 36, 12, 12], [ 7, 37, 13, 12]] }, // 15 { L:[[ 5,122, 98, 12], [ 1,123, 99, 12]], M:[[ 7, 73, 45, 14], [ 3, 74, 46, 14]], Q:[[ 15, 43, 19, 12], [ 2, 44, 20, 12]], H:[[ 3, 45, 15, 15], [ 13, 46, 16, 15]] }, // 16 { L:[[ 1,135,107, 14], [ 5,136,108, 14]], M:[[ 10, 74, 46, 14], [ 1, 75, 47, 14]], Q:[[ 1, 50, 22, 14], [ 15, 51, 23, 14]], H:[[ 2, 42, 14, 14], [ 17, 43, 15, 14]] }, // 17 { L:[[ 5,150,120, 15], [ 1,151,121, 15]], M:[[ 9, 69, 43, 13], [ 4, 70, 44, 13]], Q:[[ 17, 50, 22, 14], [ 1, 51, 23, 14]], H:[[ 2, 42, 14, 14], [ 19, 43, 15, 14]] }, // 18 { L:[[ 3,141,113, 14], [ 4,142,114, 14]], M:[[ 3, 70, 44, 13], [ 11, 71, 45, 13]], Q:[[ 17, 47, 21, 13], [ 4, 48, 22, 13]], H:[[ 9, 39, 13, 13], [ 16, 40, 14, 13]] }, // 19 { L:[[ 3,135,107, 14], [ 5,136,108, 14]], M:[[ 3, 67, 41, 13], [ 13, 68, 42, 13]], Q:[[ 15, 54, 24, 15], [ 5, 55, 25, 15]], H:[[ 15, 43, 15, 14], [ 10, 44, 16, 14]] }, // 20 { L:[[ 4,144,116, 14], [ 4,145,117, 14]], M:[[ 17, 68, 42, 13]], Q:[[ 17, 50, 22, 14], [ 6, 51, 23, 14]], H:[[ 19, 46, 16, 15], [ 6, 47, 17, 15]] }, // 21 { L:[[ 2,139,111, 14], [ 7,140,112, 14]], M:[[ 17, 74, 46, 14]], Q:[[ 7, 54, 24, 15], [ 16, 55, 25, 15]], H:[[ 34, 37, 13, 12]] }, // 22 { L:[[ 4,151,121, 15], [ 5,152,122, 15]], M:[[ 4, 75, 47, 14], [ 14, 76, 48, 14]], Q:[[ 11, 54, 24, 15], [ 14, 55, 25, 15]], H:[[ 16, 45, 15, 15], [ 14, 46, 16, 15]] }, // 23 { L:[[ 6,147,117, 15], [ 4,148,118, 15]], M:[[ 6, 73, 45, 14], [ 14, 74, 46, 14]], Q:[[ 11, 54, 24, 15], [ 16, 55, 25, 15]], H:[[ 30, 46, 16, 15], [ 2, 47, 17, 15]] }, // 24 { L:[[ 8,132,106, 13], [ 4,133,107, 13]], M:[[ 8, 75, 47, 14], [ 13, 76, 48, 14]], Q:[[ 7, 54, 24, 15], [ 22, 55, 25, 15]], H:[[ 22, 45, 15, 15], [ 13, 46, 16, 15]] }, // 25 { L:[[ 10,142,114, 14], [ 2,143,115, 14]], M:[[ 19, 74, 46, 14], [ 4, 75, 47, 14]], Q:[[ 28, 50, 22, 14], [ 6, 51, 23, 14]], H:[[ 33, 46, 16, 15], [ 4, 47, 17, 15]] }, // 26 { L:[[ 8,152,122, 15], [ 4,153,123, 15]], M:[[ 22, 73, 45, 14], [ 3, 74, 46, 14]], Q:[[ 8, 53, 23, 15], [ 26, 54, 24, 15]], H:[[ 12, 45, 15, 15], [ 28, 46, 16, 15]] }, // 27 { L:[[ 3,147,117, 15], [ 10,148,118, 15]], M:[[ 3, 73, 45, 14], [ 23, 74, 46, 14]], Q:[[ 4, 54, 24, 15], [ 31, 55, 25, 15]], H:[[ 11, 45, 15, 15], [ 31, 46, 16, 15]] }, // 28 { L:[[ 7,146,116, 15], [ 7,147,117, 15]], M:[[ 21, 73, 45, 14], [ 7, 74, 46, 14]], Q:[[ 1, 53, 23, 15], [ 37, 54, 24, 15]], H:[[ 19, 45, 15, 15], [ 26, 46, 16, 15]] }, // 29 { L:[[ 5,145,115, 15], [ 10,146,116, 15]], M:[[ 19, 75, 47, 14], [ 10, 76, 48, 14]], Q:[[ 15, 54, 24, 15], [ 25, 55, 25, 15]], H:[[ 23, 45, 15, 15], [ 25, 46, 16, 15]] }, // 30 { L:[[ 13,145,115, 15], [ 3,146,116, 15]], M:[[ 2, 74, 46, 14], [ 29, 75, 47, 14]], Q:[[ 42, 54, 24, 15], [ 1, 55, 25, 15]], H:[[ 23, 45, 15, 15], [ 28, 46, 16, 15]] }, // 31 { L:[[ 17,145,115, 15]], M:[[ 10, 74, 46, 14], [ 23, 75, 47, 14]], Q:[[ 10, 54, 24, 15], [ 35, 55, 25, 15]], H:[[ 19, 45, 15, 15], [ 35, 46, 16, 15]] }, // 32 { L:[[ 17,145,115, 15], [ 1,146,116, 15]], M:[[ 14, 74, 46, 14], [ 21, 75, 47, 14]], Q:[[ 29, 54, 24, 15], [ 19, 55, 25, 15]], H:[[ 11, 44, 15, 15], [ 46, 45, 16, 15]] }, // 33 { L:[[ 13,145,115, 15], [ 6,146,116, 15]], M:[[ 14, 74, 46, 14], [ 23, 75, 47, 14]], Q:[[ 44, 54, 24, 15], [ 7, 55, 25, 15]], H:[[ 59, 46, 16, 15], [ 1, 47, 17, 15]] }, // 34 { L:[[ 12,151,121, 15], [ 7,152,122, 15]], M:[[ 12, 75, 47, 14], [ 26, 76, 48, 14]], Q:[[ 39, 54, 24, 15], [ 14, 55, 25, 15]], H:[[ 22, 45, 15, 15], [ 41, 46, 16, 15]] }, // 35 { L:[[ 6,151,121, 15], [ 14,152,122, 15]], M:[[ 6, 75, 47, 14], [ 34, 76, 48, 14]], Q:[[ 46, 54, 24, 15], [ 10, 55, 25, 15]], H:[[ 2, 45, 15, 15], [ 64, 46, 16, 15]] }, // 36 { L:[[ 17,152,122, 15], [ 4,153,123, 15]], M:[[ 29, 74, 46, 14], [ 14, 75, 47, 14]], Q:[[ 49, 54, 24, 15], [ 10, 55, 25, 15]], H:[[ 24, 45, 15, 15], [ 46, 46, 16, 15]] }, // 37 { L:[[ 4,152,122, 15], [ 18,153,123, 15]], M:[[ 13, 74, 46, 14], [ 32, 75, 47, 14]], Q:[[ 48, 54, 24, 15], [ 14, 55, 25, 15]], H:[[ 42, 45, 15, 15], [ 32, 46, 16, 15]] }, // 38 { L:[[ 20,147,117, 15], [ 4,148,118, 15]], M:[[ 40, 75, 47, 14], [ 7, 76, 48, 14]], Q:[[ 43, 54, 24, 15], [ 22, 55, 25, 15]], H:[[ 10, 45, 15, 15], [ 67, 46, 16, 15]] }, // 39 { L:[[ 19,148,118, 15], [ 6,149,119, 15]], M:[[ 18, 75, 47, 14], [ 31, 76, 48, 14]], Q:[[ 34, 54, 24, 15], [ 34, 55, 25, 15]], H:[[ 20, 45, 15, 15], [ 61, 46, 16, 15]] } // 40 ]; export const alignmentPatterns = [ [], // 0 [], // 1 [6,18], // 2 (12) [6,22], // 3 (16) [6,26], // 4 (20) [6,30], // 5 (24) [6,34], // 6 (28) [6,22,38], // 7 (16) [6,24,42], // 8 (18) [6,26,46], // 9 (20) [6,28,50], // 10 (22) [6,30,54], // 11 (24) [6,32,58], // 12 (26) [6,34,62], // 13 (28) [6,26,46,66], // 14 (20) [6,26,48,70], // 15 (20,22) [6,26,50,74], // 16 (20,24) [6,30,54,78], // 17 (24) [6,30,56,82], // 18 (24,26) [6,30,58,86], // 19 (24,28) [6,34,62,90], // 20 (28) [6,28,50,72, 94], // 21 (22) [6,26,50,74, 98], // 22 (20,24) [6,30,54,78,102], // 23 (24) [6,28,54,80,106], // 24 (22,26) [6,32,58,84,110], // 25 (26) [6,30,58,86,114], // 26 (24,28) [6,34,62,90,118], // 27 (28) [6,26,50,74, 98,122], // 28 (20,24) [6,30,54,78,102,126], // 29 (24) [6,26,52,78,104,130], // 30 (20,26) [6,30,56,82,108,134], // 31 (24,26) [6,34,60,86,112,138], // 32 (28,26) [6,30,58,86,114,142], // 33 (24,28) [6,34,62,90,118,146], // 34 (28) [6,30,54,78,102,126,150], // 35 (24) [6,24,50,76,102,128,154], // 36 (18,26) [6,28,54,80,106,132,158], // 37 (22,26) [6,32,58,84,110,136,162], // 38 (26) [6,26,54,82,110,138,166], // 39 (20,28) [6,30,58,86,114,142,170] // 40 (24,28) ];