Character and code reading need contrast, position control, and a pass definition that matches the process need. Human-readable text must sit in a location window, remain readable in deformation, spacing, and size, and match the expected string. Characters that look alike are a font problem. Laser on a consistent substrate usually beats ink. Two-dimensional codes must decode on a similar background. Offline graders can score a code under controlled conditions. Online verification is less controlled and more prone to drift, so a grade on the line should not be treated as a lab grade.

Four cards distinguish mark formation, decoding or OCR, expected-content comparison, and verification against a defined standard.
D21. Printing creates the mark, reading extracts its content, comparison checks that content against expectation, and verification grades specified quality attributes under defined conditions. Properly configured inline as well as offline verifiers can perform standards-based grading. [S09]
Click the diagram to enlarge it.

Fielding, minimum character size for periods and dashes, and the diagnostics for height and width are the usual reader corrections. If a fixed mark can fixture the reader, the search window stays honest. An oversized window will eventually read the wrong line and do it with high confidence.