Matrix 2 of 5 (also known as Code 2 of 5 Matrix.[1]) is a variable length, discrete, two width symbology. Matrix 2 of 5 is a subset of two-out-of-five codes. Unlike Industrial 2 of 5 code, Matrix 2 of 5 can encode data not only with black bars but with white spaces.
Matrix 2 of 5[2] [3] was developed in 1970-х by Nieaf Co.[4] in The Netherlands and commonly was uses for warehouse sorting, photo finishing, and airline ticket marking.[5]
Matrix 2 of 5 can encode only digits 0-9. Matrix 2 of 5 can include optional check digit. Most of barcode readers support this symbology.[6] [7]
Matrix 2 of 5[8] is a subset of two-out-of-five codes family and uses wide and narrow elements for encoding. Unlike previously developed Industrial 2 of 5 it uses both black bars and white spaces for data encoding.[9] However, it has lower density then Interleaved 2 of 5 code, because it is discrete symbology and requires additional space between data patterns. Main advantage over Interleaved 2 of 5 codes is ability to encode odd number of characters in message.
Matrix 2 of 5 encodes only digits from 0 to 9 in three black bars and two white spaces, with every data pattern split by additional white space. Matrix 2 of 5 could include optional checksum character which is added to the end of the barcode.
Matrix 2 of 5 features:[10]
Four starting bars and spaces in pattern have own weights which encode value of the symbol (except zero). Also, last black bar is used as parity bit to avoid single error. Value of the symbol is a sum of nonzero weights of four first pattern elements.
Digit | Bar weight | Bars | Encoding | Mnemonic (using weights) | |||||
---|---|---|---|---|---|---|---|---|---|
1 | 2 | 4 | 7 | Parity Bit | |||||
0 | 0 | 0 | 1 | 1 | 0 | |▮ | | NNWWN | 4+7=11, replaced by 0 | |
1 | 1 | 0 | 0 | 0 | 1 | ▮|▮ | WNNNW | 1+0=1 | |
2 | 0 | 1 | 0 | 0 | 1 | | |▮ | NWNNW | 0+2=2 | |
3 | 1 | 1 | 0 | 0 | 0 | ▮ || | WWNNN | 1+2=3 | |
4 | 0 | 0 | 1 | 0 | 1 | |▮▮ | NNWNW | 4+0=4 | |
5 | 1 | 0 | 1 | 0 | 0 | ▮▮| | WNWNN | 1+4=5 | |
6 | 0 | 1 | 1 | 0 | 0 | | ▮| | NWWNN | 2+4=6 | |
7 | 0 | 0 | 0 | 1 | 1 | || ▮ | NNNWW | 7+0=7 | |
8 | 1 | 0 | 0 | 1 | 0 | ▮| | | WNNWN | 1+7=8 | |
9 | 0 | 1 | 0 | 1 | 0 | | | | | NWNWN | 2+7=9 |
Start | ▮|| | WNNNN | |
Stop | ▮|| | WNNNN |
The barcode has the following physical structure:[11]
1. Quiet zone 10X wide
2. Start character
3. Variable length digit characters, properly encoded
4. Optional check digit
5. Stop character
6. Quiet zone 10X wide
Matrix 2 of 5 may include an optional check digit which is calculated as mod 10/3 checksum. Because specification of Matrix 2 of 5 does not require checksum any other checksum types could be used with the symbology. However mod 10/3 checksum is most common.
xcheck=10-((3x1+x2+3x3+x4+ … +x2n+3x2n+1)\pmod{10})
x1
Example for the first 6 digits 423456:
Digit | 4 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|---|
Position | x6 | x5 | x4 | x3 | x2 | x1 | |
Weight | 1 | 3 | 1 | 3 | 1 | 3 | |
Weighted sum | 4 | 6 | 3 | 12 | 5 | 18 | |
Check digit | 10 - (48 mod 10) = 2 |
Data Logic 2 of 5[12] (also known as Code 2 of 5 Datalogic,[13] China Post Code[14]) is proprietary Chinese version of Matrix 2 of 5 symbology developed by Datalogic.[15] It has difference from Matrix 2 of 5 code only in start/stop patterns usage and, in this way, it has all advantages and issues of Matrix 2 of 5.
Datalogic 2 of 5 was used mostly in Chinese Postal Services. Some readers currently still support this symbology[16]
Start | || | NNN | |
Stop | ▮| | WNN |