A method for compiling element width information from scans of label data for use in decoding character information in a bar code scanning system, the method comprising: receiving at least one scan of label information comprising bar element information and space element information; capturing element widths in relation to the bar element information and element widths in relation to the space element information; separately storing bar element widths and space element widths in association with corresponding ranges of element widths, in at least one data store, respectively; and, repeating the steps of capturing element widths and separately storing bar element widths and space element widths for each scan of label information received, wherein the at least one data store comprises a histogram store, the method further comprising maintaining the histogram store of element width information wherein bar element width and space element width information from the at least one scan of label information is stored in association with a plurality of element width ranges; identifying an individual character containing corrupted bar and space element widths, wherein the individual character comprises an otherwise undecodable character from a scan of label data; and, reconstructing originally intended bar and space element widths associated with the otherwise undecodable character based upon the histogram store of element width information to correct for the corrupted bar and space element widths and allow decoding of the otherwise undecodable character information, wherein the step of reconstructing further comprises: determining expected element widths for bar and space elements in the character; and comparing the corrupted bar and space element widths against the determined expected element widths to identify element widths that may be in error. receiving at least one scan of label information comprising bar element information and space element information; capturing element widths in relation to the bar element information and element widths in relation to the space element information; separately storing bar element widths and space element widths in association with corresponding ranges of element widths, in at least one data store, respectively; and, repeating the steps of capturing element widths and separately storing bar element widths and space element widths for each scan of label information received, wherein the at least one data store comprises a histogram store, the method further comprising maintaining the histogram store of element width information wherein bar element width and space element width information from the at least one scan of label information is stored in association with a plurality of element width ranges; identifying an individual character containing corrupted bar and space element widths, wherein the individual character comprises an otherwise undecodable character from a scan of label data; and, reconstructing originally intended bar and space element widths associated with the otherwise undecodable character based upon the histogram store of element width information to correct for the corrupted bar and space element widths and allow decoding of the otherwise undecodable character information, wherein the step of reconstructing further comprises: determining expected element widths for bar and space elements in the character; and comparing the corrupted bar and space element widths against the determined expected element widths to identify element widths that may be in error. determining expected element widths for bar and space elements in the character; and comparing the corrupted bar and space element widths against the determined expected element widths to identify element widths that may be in error.