C# Class zxingwp7.oned.ITFReader

Implements decoding of the ITF format.

"ITF" stands for Interleaved Two of Five. This Reader will scan ITF barcode with 6, 10 or 14 digits. The checksum is optional and is not applied by this Reader. The consumer of the decoded value will have to apply a checksum if required.

http://en.wikipedia.org/wiki/Interleaved_2_of_5 is a great reference for Interleaved 2 of 5 information.

Inheritance: OneDReader
显示文件 Open project: henningms/zxing2.0-wp7

Public Methods

Method Description
decodeRow ( int rowNumber, BitArray row, Object>.Dictionary hints ) : System.Result

Private Methods

Method Description
decodeDigit ( int counters ) : int

Attempts to decode a sequence of ITF black/white lines into single digit.

decodeEnd ( BitArray row ) : int[]

Identify where the end of the middle / payload section ends.

decodeMiddle ( BitArray row, int payloadStart, int payloadEnd, StringBuilder resultString ) : void
decodeStart ( BitArray row ) : int[]

Identify where the start of the middle / payload section starts.

findGuardPattern ( BitArray row, int rowOffset, int pattern ) : int[]
skipWhiteSpace ( BitArray row ) : int

Skip all whitespace until we get to the first black line.

validateQuietZone ( BitArray row, int startPattern ) : void

The start & end patterns must be pre/post fixed by a quiet zone. This zone must be at least 10 times the width of a narrow line. Scan back until we either get to the start of the barcode or match the necessary number of quiet zone pixels. Note: Its assumed the row is reversed when using this method to find quiet zone after the end pattern. ref: http://www.barcode-1.net/i25code.html

Method Details

decodeRow() public method

public decodeRow ( int rowNumber, BitArray row, Object>.Dictionary hints ) : System.Result
rowNumber int
row zxingwp7.common.BitArray
hints Object>.Dictionary
return System.Result