The bars seem to be of variable widths because each is made up of between one and four subbars. Each character, two black and two white bars, is made up of 7 subbars. There are three lines in the middle of the barcode that indicate center. The characters to the left of center have odd parity while those to the right of center have even parity. That is , a 6 would look different if it were to the left of center than it would if it were to the right of the center bar.
Parity is another error detection method often used with automatic data reading.
You can see that this provides some extra assurance if you realize that the computer is collecting characters as it scans. It should have scanned five odd parity characters before it encountered its first even parity character. We've talked about 0 and 2 applying to grocery items. Pharmaceutical companies use 0 and 3, depending on the product. A is used for eleven-character codes and 5 is used for coupons.