1
|
|
|
// constants for internal usage |
2
|
|
|
export const SET_A = 0; |
3
|
|
|
export const SET_B = 1; |
4
|
|
|
export const SET_C = 2; |
5
|
|
|
|
6
|
|
|
// Special characters |
7
|
|
|
export const SHIFT = 98; |
8
|
|
|
export const START_A = 103; |
9
|
|
|
export const START_B = 104; |
10
|
|
|
export const START_C = 105; |
11
|
|
|
export const MODULO = 103; |
12
|
|
|
export const STOP = 106; |
13
|
|
|
|
14
|
|
|
// Get set by start code |
15
|
|
|
export const SET_BY_CODE = { |
16
|
|
|
[START_A]: SET_A, |
17
|
|
|
[START_B]: SET_B, |
18
|
|
|
[START_C]: SET_C, |
19
|
|
|
}; |
20
|
|
|
|
21
|
|
|
// Get next set by code |
22
|
|
|
export const SWAP = { |
23
|
|
|
101: SET_A, |
24
|
|
|
100: SET_B, |
25
|
|
|
99: SET_C, |
26
|
|
|
}; |
27
|
|
|
|
28
|
|
|
export const A_START_CHAR = String.fromCharCode(208); // START_A + 105 |
29
|
|
|
export const B_START_CHAR = String.fromCharCode(209); // START_B + 105 |
30
|
|
|
export const C_START_CHAR = String.fromCharCode(210); // START_C + 105 |
31
|
|
|
|
32
|
|
|
// 128A (Code Set A) |
33
|
|
|
// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4 |
34
|
|
|
export const A_CHARS = "[\x00-\x5F\xC8-\xCF]"; |
35
|
|
|
|
36
|
|
|
// 128B (Code Set B) |
37
|
|
|
// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4 |
38
|
|
|
export const B_CHARS = "[\x20-\x7F\xC8-\xCF]"; |
39
|
|
|
|
40
|
|
|
// 128C (Code Set C) |
41
|
|
|
// 00–99 (encodes two digits with a single code point) and FNC1 |
42
|
|
|
export const C_CHARS = "(\xCF*[0-9]{2}\xCF*)"; |
43
|
|
|
|
44
|
|
|
// CODE128 includes 107 symbols: |
45
|
|
|
// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one) |
46
|
|
|
// Each symbol consist of three black bars (1) and three white spaces (0). |
47
|
|
|
export const BARS = [ |
48
|
|
|
11011001100, 11001101100, 11001100110, 10010011000, 10010001100, |
49
|
|
|
10001001100, 10011001000, 10011000100, 10001100100, 11001001000, |
50
|
|
|
11001000100, 11000100100, 10110011100, 10011011100, 10011001110, |
51
|
|
|
10111001100, 10011101100, 10011100110, 11001110010, 11001011100, |
52
|
|
|
11001001110, 11011100100, 11001110100, 11101101110, 11101001100, |
53
|
|
|
11100101100, 11100100110, 11101100100, 11100110100, 11100110010, |
54
|
|
|
11011011000, 11011000110, 11000110110, 10100011000, 10001011000, |
55
|
|
|
10001000110, 10110001000, 10001101000, 10001100010, 11010001000, |
56
|
|
|
11000101000, 11000100010, 10110111000, 10110001110, 10001101110, |
57
|
|
|
10111011000, 10111000110, 10001110110, 11101110110, 11010001110, |
58
|
|
|
11000101110, 11011101000, 11011100010, 11011101110, 11101011000, |
59
|
|
|
11101000110, 11100010110, 11101101000, 11101100010, 11100011010, |
60
|
|
|
11101111010, 11001000010, 11110001010, 10100110000, 10100001100, |
61
|
|
|
10010110000, 10010000110, 10000101100, 10000100110, 10110010000, |
62
|
|
|
10110000100, 10011010000, 10011000010, 10000110100, 10000110010, |
63
|
|
|
11000010010, 11001010000, 11110111010, 11000010100, 10001111010, |
64
|
|
|
10100111100, 10010111100, 10010011110, 10111100100, 10011110100, |
65
|
|
|
10011110010, 11110100100, 11110010100, 11110010010, 11011011110, |
66
|
|
|
11011110110, 11110110110, 10101111000, 10100011110, 10001011110, |
67
|
|
|
10111101000, 10111100010, 11110101000, 11110100010, 10111011110, |
68
|
|
|
10111101110, 11101011110, 11110101110, 11010000100, 11010010000, |
69
|
|
|
11010011100, 1100011101011 |
70
|
|
|
]; |
71
|
|
|
|