red-agate-barcode
Version:
red-agate barcode tag library.
265 lines (251 loc) • 10.4 kB
text/typescript
// Copyright (c) 2017, Shellyl_N and Authors
// license: ISC
// https://github.com/shellyln
export const charactersMap = new Map<string, {index: number, pattern: string}>([
["\x00", {index: 0, pattern: "212222"}],
["\x01", {index: 1, pattern: "222122"}],
["\x02", {index: 2, pattern: "222221"}],
["\x03", {index: 3, pattern: "121223"}],
["\x04", {index: 4, pattern: "121322"}],
["\x05", {index: 5, pattern: "131222"}],
["\x06", {index: 6, pattern: "122213"}],
["\x07", {index: 7, pattern: "122312"}],
["\x08", {index: 8, pattern: "132212"}],
["\x09", {index: 9, pattern: "221213"}],
["\x0A", {index: 10, pattern: "221312"}],
["\x0B", {index: 11, pattern: "231212"}],
["\x0C", {index: 12, pattern: "112232"}],
["\x0D", {index: 13, pattern: "122132"}],
["\x0E", {index: 14, pattern: "122231"}],
["\x0F", {index: 15, pattern: "113222"}],
["\x10", {index: 16, pattern: "123122"}],
["\x11", {index: 17, pattern: "123221"}],
["\x12", {index: 18, pattern: "223211"}],
["\x13", {index: 19, pattern: "221132"}],
["\x14", {index: 20, pattern: "221231"}],
["\x15", {index: 21, pattern: "213212"}],
["\x16", {index: 22, pattern: "223112"}],
["\x17", {index: 23, pattern: "312131"}],
["\x18", {index: 24, pattern: "311222"}],
["\x19", {index: 25, pattern: "321122"}],
["\x1A", {index: 26, pattern: "321221"}],
["\x1B", {index: 27, pattern: "312212"}],
["\x1C", {index: 28, pattern: "322112"}],
["\x1D", {index: 29, pattern: "322211"}],
["\x1E", {index: 30, pattern: "212123"}],
["\x1F", {index: 31, pattern: "212321"}],
["\x20", {index: 32, pattern: "232121"}],
["\x21", {index: 33, pattern: "111323"}],
["\x22", {index: 34, pattern: "131123"}],
["\x23", {index: 35, pattern: "131321"}],
["\x24", {index: 36, pattern: "112313"}],
["\x25", {index: 37, pattern: "132113"}],
["\x26", {index: 38, pattern: "132311"}],
["\x27", {index: 39, pattern: "211313"}],
["\x28", {index: 40, pattern: "231113"}],
["\x29", {index: 41, pattern: "231311"}],
["\x2A", {index: 42, pattern: "112133"}],
["\x2B", {index: 43, pattern: "112331"}],
["\x2C", {index: 44, pattern: "132131"}],
["\x2D", {index: 45, pattern: "113123"}],
["\x2E", {index: 46, pattern: "113321"}],
["\x2F", {index: 47, pattern: "133121"}],
["\x30", {index: 48, pattern: "313121"}],
["\x31", {index: 49, pattern: "211331"}],
["\x32", {index: 50, pattern: "231131"}],
["\x33", {index: 51, pattern: "213113"}],
["\x34", {index: 52, pattern: "213311"}],
["\x35", {index: 53, pattern: "213131"}],
["\x36", {index: 54, pattern: "311123"}],
["\x37", {index: 55, pattern: "311321"}],
["\x38", {index: 56, pattern: "331121"}],
["\x39", {index: 57, pattern: "312113"}],
["\x3A", {index: 58, pattern: "312311"}],
["\x3B", {index: 59, pattern: "332111"}],
["\x3C", {index: 60, pattern: "314111"}],
["\x3D", {index: 61, pattern: "221411"}],
["\x3E", {index: 62, pattern: "431111"}],
["\x3F", {index: 63, pattern: "111224"}],
["\x40", {index: 64, pattern: "111422"}],
["\x41", {index: 65, pattern: "121124"}],
["\x42", {index: 66, pattern: "121421"}],
["\x43", {index: 67, pattern: "141122"}],
["\x44", {index: 68, pattern: "141221"}],
["\x45", {index: 69, pattern: "112214"}],
["\x46", {index: 70, pattern: "112412"}],
["\x47", {index: 71, pattern: "122114"}],
["\x48", {index: 72, pattern: "122411"}],
["\x49", {index: 73, pattern: "142112"}],
["\x4A", {index: 74, pattern: "142211"}],
["\x4B", {index: 75, pattern: "241211"}],
["\x4C", {index: 76, pattern: "221114"}],
["\x4D", {index: 77, pattern: "413111"}],
["\x4E", {index: 78, pattern: "241112"}],
["\x4F", {index: 79, pattern: "134111"}],
["\x50", {index: 80, pattern: "111242"}],
["\x51", {index: 81, pattern: "121142"}],
["\x52", {index: 82, pattern: "121241"}],
["\x53", {index: 83, pattern: "114212"}],
["\x54", {index: 84, pattern: "124112"}],
["\x55", {index: 85, pattern: "124211"}],
["\x56", {index: 86, pattern: "411212"}],
["\x57", {index: 87, pattern: "421112"}],
["\x58", {index: 88, pattern: "421211"}],
["\x59", {index: 89, pattern: "212141"}],
["\x5A", {index: 90, pattern: "214121"}],
["\x5B", {index: 91, pattern: "412121"}],
["\x5C", {index: 92, pattern: "111143"}],
["\x5D", {index: 93, pattern: "111341"}],
["\x5E", {index: 94, pattern: "131141"}],
["\x5F", {index: 95, pattern: "114113"}],
["\x60", {index: 96, pattern: "114311"}],
["\x61", {index: 97, pattern: "411113"}],
["\x62", {index: 98, pattern: "411311"}],
["\x63", {index: 99, pattern: "113141"}],
["\x64", {index: 100, pattern: "114131"}],
["\x65", {index: 101, pattern: "311141"}],
["\x66", {index: 102, pattern: "411131"}], // FNC1
["\x67", {index: 103, pattern: "211412"}], // start A
["\x68", {index: 104, pattern: "211214"}], // start B
["\x69", {index: 105, pattern: "211232"}], // start C
["\x6A", {index: 106, pattern: "2331112"}] // stop
]);
export const fullAsciiMap = new Map<number, Array<string | null>>([
[ 0, ["\x40", null ]], // NUL
[ 1, ["\x41", null ]], // SOH
[ 2, ["\x42", null ]], // STX
[ 3, ["\x43", null ]], // ETX
[ 4, ["\x44", null ]], // EOT
[ 5, ["\x45", null ]], // ENQ
[ 6, ["\x46", null ]], // ACK
[ 7, ["\x47", null ]], // BEL
[ 8, ["\x48", null ]], // BS
[ 9, ["\x49", null ]], // HT
[ 0, ["\x4A", null ]], // LF
[ 11, ["\x4B", null ]], // VT
[ 12, ["\x4C", null ]], // FF
[ 13, ["\x4D", null ]], // CR
[ 14, ["\x4E", null ]], // SO
[ 15, ["\x4F", null ]], // SI
[ 16, ["\x50", null ]], // DLE
[ 17, ["\x51", null ]], // DC1
[ 18, ["\x52", null ]], // DC2
[ 19, ["\x53", null ]], // DC3
[ 20, ["\x54", null ]], // DC4
[ 21, ["\x55", null ]], // NAK
[ 22, ["\x56", null ]], // SYN
[ 23, ["\x57", null ]], // ETB
[ 24, ["\x58", null ]], // CAN
[ 25, ["\x59", null ]], // EM
[ 26, ["\x5A", null ]], // SUB
[ 27, ["\x5B", null ]], // ESC
[ 28, ["\x5C", null ]], // FS
[ 29, ["\x5D", null ]], // GS
[ 30, ["\x5E", null ]], // RS
[ 31, ["\x5F", null ]], // US
[ 32, ["\x00", "\x00"]], // SP
[ 33, ["\x01", "\x01"]], // !
[ 34, ["\x02", "\x02"]], // "
[ 35, ["\x03", "\x03"]], // #
[ 36, ["\x04", "\x04"]], // $
[ 37, ["\x05", "\x05"]], // %
[ 38, ["\x06", "\x06"]], // &
[ 39, ["\x07", "\x07"]], // '
[ 40, ["\x08", "\x08"]], // (
[ 41, ["\x09", "\x09"]], // )
[ 42, ["\x0A", "\x0A"]], // *
[ 43, ["\x0B", "\x0B"]], // +
[ 44, ["\x0C", "\x0C"]], // ,
[ 45, ["\x0D", "\x0D"]], // -
[ 46, ["\x0E", "\x0E"]], // .
[ 47, ["\x0F", "\x0F"]], // /
[ 48, ["\x10", "\x10"]], // 0
[ 49, ["\x11", "\x11"]], // 1
[ 50, ["\x12", "\x12"]], // 2
[ 51, ["\x13", "\x13"]], // 3
[ 52, ["\x14", "\x14"]], // 4
[ 53, ["\x15", "\x15"]], // 5
[ 54, ["\x16", "\x16"]], // 6
[ 55, ["\x17", "\x17"]], // 7
[ 56, ["\x18", "\x18"]], // 8
[ 57, ["\x19", "\x19"]], // 9
[ 58, ["\x1A", "\x1A"]], // :
[ 59, ["\x1B", "\x1B"]], // ;
[ 60, ["\x1C", "\x1C"]], // <
[ 61, ["\x1D", "\x1D"]], // =
[ 62, ["\x1E", "\x1E"]], // >
[ 63, ["\x1F", "\x1F"]], // ?
[ 64, ["\x20", "\x20"]], // @
[ 65, ["\x21", "\x21"]], // A
[ 66, ["\x22", "\x22"]], // B
[ 67, ["\x23", "\x23"]], // C
[ 68, ["\x24", "\x24"]], // D
[ 69, ["\x25", "\x25"]], // E
[ 70, ["\x26", "\x26"]], // F
[ 71, ["\x27", "\x27"]], // G
[ 72, ["\x28", "\x28"]], // H
[ 73, ["\x29", "\x29"]], // I
[ 74, ["\x2A", "\x2A"]], // J
[ 75, ["\x2B", "\x2B"]], // K
[ 76, ["\x2C", "\x2C"]], // L
[ 77, ["\x2D", "\x2D"]], // M
[ 78, ["\x2E", "\x2E"]], // N
[ 79, ["\x2F", "\x2F"]], // O
[ 80, ["\x30", "\x30"]], // P
[ 81, ["\x31", "\x31"]], // Q
[ 82, ["\x32", "\x32"]], // R
[ 83, ["\x33", "\x33"]], // S
[ 84, ["\x34", "\x34"]], // T
[ 85, ["\x35", "\x35"]], // U
[ 86, ["\x36", "\x36"]], // V
[ 87, ["\x37", "\x37"]], // W
[ 88, ["\x38", "\x38"]], // X
[ 89, ["\x39", "\x39"]], // Y
[ 90, ["\x3A", "\x3A"]], // Z
[ 91, ["\x3B", "\x3B"]], // [
[ 92, ["\x3C", "\x3C"]], // backslash
[ 93, ["\x3D", "\x3D"]], // ]
[ 94, ["\x3E", "\x3E"]], // ^
[ 95, ["\x3F", "\x3F"]], // _
[ 96, [null , "\x40"]], // `
[ 97, [null , "\x41"]], // a
[ 98, [null , "\x42"]], // b
[ 99, [null , "\x43"]], // c
[]], // d
[]], // e
[]], // f
[]], // g
[]], // h
[]], // i
[]], // j
[]], // k
[]], // l
[]], // m
[]], // n
[]], // o
[]], // p
[]], // q
[]], // r
[]], // s
[]], // t
[]], // u
[]], // v
[]], // w
[]], // x
[]], // y
[]], // z
[]], // {
[]], // |
[]], // }
[]], // ~
[]], // DEL
[]], // FNC1
[]], // FNC2
[]], // FNC3
[]], // FNC4
[]], // CODE A
[]], // CODE B
[]], // CODE C
[]], // SHIFT A
[]], // SHIFT B
]);