Identify the barcode type
Find the start and stop patterns
Determine the barcode direction
Note the bar and space widths
Convert widths into binary values
Group the binary values into encoded characters
Match each character to the barcode symbology table
Check the checksum if the barcode type uses one
Convert the decoded characters into readable text
Verify the result against the printed label if available
