Plessey Code
Plessey Code is a 1D linear barcode symbology based on pulse-width modulation, developed in 1971 by The Plessey Company plc, a British-based company. It is one of the first barcode symbology, and is still used in some rare libraries and for shelf tags in retail stores, in part as a solution to their internal requirement for stock control. The system was first used in the early 1970s by J.Sainsbury to identify all of its products on supermarket shelves for its product restocking system. The chief advantages are the relative ease of printing using the dot-matrix  printers popular at the time of the code's introduction, and its somewhat higher density than the more common 2 of 5 and 3 of 9 codes. It has later led several variations as Anker Code by ADS Company, Telxon, and MSI (also known as Plessey modified). It is difficult to have the specifications for them nowadays and thus hard to tell the differences between them (except for MSI), because it was mainly available as a paper document and has since been discontinued. Encoding. The barcode encodes hexadecimal digits (i.e., the hex digits 0-F) as 4 bars (bits). The  LSB is on the first bar on the left, and the MSB is the last bar on the right. A "0" bit is represented as a narrow bar, followed by a wide space. The "1" is represented by a wide bar, followed by a narrow space. The barcode can be read in either direction (left to right or right to left). The barcode comprises: Forward start code. The forward start code is "1101". It defines the beginning of the encoded text. Label. The character of the text to encode are hexadecimal values encoded as reversed BCD Check code. The check  code for error detection and correction is as CRC, using polynomial division. Is uses 2 characters, or 8 bits. The generator polynomial is formula_1 with n=8, in binary "111101001". Termination bar. The termination bar follows the CRC. It's a full pitch bar. Reverse start code. The reverse start code, with the forward start code, are used to detect the direction of reading : from left to right or right to left. It's encoded as a reversed "0011". Reversed because the "0" is represented by a wide space and simple bar, and "1" as a simple space and wide bar . Dimensions. The dimensions of the bars and spaces are defined by the following rules : formula_2 , with b < 0.229 mm formula_3 , with c > 0.127 mm Bit dimension in mm : Values are slightly different for Anker Code Before and after each barcode, there should be margins of 4 bits.