In a bar code reader, a field of view which includes a symbol to be read is imaged upon a light-responsive array such as a CCD imager device. The output of this array is transferred to a memory array to provide a bit-mapped type of binary representation of the image including the symbol. The memory is scanned (instead of the field of view itself being mechanically scanned) to recognize and decode the symbol. Because the angular orientation of the symbol is variable, this binary representation may be interpreted to determine how the memory array is to be scanned to recognize the bar code symbol. For example, the distinctive patterns of characters used in bar codes may be found by scanning the memory and the relative positions of these patterns interpreted to determine the position, size and shape of the symbol in the memory, thereby defining at what angular displacement the memory array need be addressed to traverse the rows of the bar code symbol. Or, the memory array may be simply scanned using preselected scan lines (beginning with a raster-type scan) until code recognition is obtained.