diff --git a/src/common/bit_matrix.rs b/src/common/bit_matrix.rs index 1be6141..eb00316 100644 --- a/src/common/bit_matrix.rs +++ b/src/common/bit_matrix.rs @@ -266,7 +266,7 @@ impl BitMatrix { pub fn set_bool(&mut self, x: u32, y: u32, value: bool) { if value { self.set(x, y) - }else { + } else { self.unset(x, y) } } diff --git a/src/common/eci_string_builder.rs b/src/common/eci_string_builder.rs index cdf6ca8..e36cf1e 100644 --- a/src/common/eci_string_builder.rs +++ b/src/common/eci_string_builder.rs @@ -106,7 +106,7 @@ impl ECIStringBuilder { pub fn appendECI(&mut self, value: u32) -> Result<(), Exceptions> { self.encodeCurrentBytesIfAny(); let character_set_eci = CharacterSetECI::getCharacterSetECIByValue(value)?; - + self.current_charset = CharacterSetECI::getCharset(&character_set_eci); Ok(()) } diff --git a/src/datamatrix/decoder/datamatrix_decoder.rs b/src/datamatrix/decoder/datamatrix_decoder.rs index cafd36d..b8eb97a 100644 --- a/src/datamatrix/decoder/datamatrix_decoder.rs +++ b/src/datamatrix/decoder/datamatrix_decoder.rs @@ -52,21 +52,28 @@ impl Decoder { pub fn decode(&self, bits: &BitMatrix) -> Result { let decoded = self.perform_decode(bits, false); if decoded.is_ok() { - return decoded + return decoded; } - self.perform_decode(&Self::flip_bitmatrix(bits)?, false) + self.perform_decode(&Self::flip_bitmatrix(bits)?, false) } - fn flip_bitmatrix( bits:&BitMatrix) -> Result -{ - let mut res = BitMatrix::new(bits.getHeight(), bits.getWidth())?; - for y in 0..res.getHeight() { - for x in 0..res.getWidth() { - {res.set_bool(x, y, bits.get(bits.getWidth() - 1 - y, bits.getHeight() - 1 - x));}}} - - Ok(res) -} + fn flip_bitmatrix(bits: &BitMatrix) -> Result { + let mut res = BitMatrix::new(bits.getHeight(), bits.getWidth())?; + for y in 0..res.getHeight() { + for x in 0..res.getWidth() { + { + res.set_bool( + x, + y, + bits.get(bits.getWidth() - 1 - y, bits.getHeight() - 1 - x), + ); + } + } + } + + Ok(res) + } /** *

Convenience method that can decode a Data Matrix Code represented as a 2D array of booleans. @@ -78,7 +85,7 @@ impl Decoder { * @throws ChecksumException if error correction fails */ pub fn decode_bools(&self, image: &Vec>) -> Result { - self.perform_decode(&BitMatrix::parse_bools(image),false) + self.perform_decode(&BitMatrix::parse_bools(image), false) } /** @@ -90,7 +97,11 @@ impl Decoder { * @throws FormatException if the Data Matrix Code cannot be decoded * @throws ChecksumException if error correction fails */ - fn perform_decode(&self, bits: &BitMatrix, fix259: bool) -> Result { + fn perform_decode( + &self, + bits: &BitMatrix, + fix259: bool, + ) -> Result { // Construct a parser and read version, error-correction level let mut parser = BitMatrixParser::new(bits)?; @@ -119,8 +130,8 @@ impl Decoder { let errors_corrected = self.correctErrors(&mut codewordBytes, numDataCodewords as u32); if errors_corrected.is_err() && !fix259 { return self.perform_decode(bits, true); - }else if errors_corrected.is_err() { - return Err(errors_corrected.err().unwrap()) + } else if errors_corrected.is_err() { + return Err(errors_corrected.err().unwrap()); } for i in 0..numDataCodewords { // for (int i = 0; i < numDataCodewords; i++) { diff --git a/src/datamatrix/decoder/decoded_bit_stream_parser.rs b/src/datamatrix/decoder/decoded_bit_stream_parser.rs index b06fc5d..8dbe246 100644 --- a/src/datamatrix/decoder/decoded_bit_stream_parser.rs +++ b/src/datamatrix/decoder/decoded_bit_stream_parser.rs @@ -693,8 +693,7 @@ fn decodeECISegment(bits: &mut BitSource, result: &mut ECIStringBuilder) -> Resu let thirdByte = bits.readBits(8)?; - result - .appendECI((firstByte - 192) * 64516 + 16383 + (secondByte - 1) * 254 + thirdByte - 1) + result.appendECI((firstByte - 192) * 64516 + 16383 + (secondByte - 1) * 254 + thirdByte - 1) // if bits.available() < 8 { // return Err(Exceptions::FormatException(None));