Bumped Barcode Scanner version to 3.5 final.
[zxing.git] / csharp / oned / EAN8Reader.cs
index 6a21b19..7fc8c0b 100755 (executable)
@@ -1,4 +1,6 @@
-/*\r
+/*\r
+* Copyright 2008 ZXing authors\r
+*\r
 * Licensed under the Apache License, Version 2.0 (the "License");\r
 * you may not use this file except in compliance with the License.\r
 * You may obtain a copy of the License at\r
 * See the License for the specific language governing permissions and\r
 * limitations under the License.\r
 */\r
+using System;\r
+using BarcodeFormat = com.google.zxing.BarcodeFormat;\r
+using ReaderException = com.google.zxing.ReaderException;\r
+using BitArray = com.google.zxing.common.BitArray;\r
 namespace com.google.zxing.oned\r
 {\r
-    using System;\r
-    using System.Text;\r
-    using com.google.zxing.common;\r
-\r
-    public sealed class EAN8Reader : AbstractUPCEANReader \r
-    {\r
-          private int[] decodeMiddleCounters;\r
-          public EAN8Reader() {\r
-            decodeMiddleCounters = new int[4];\r
-          }\r
-\r
-          protected override int decodeMiddle(BitArray row, int[] startRange, StringBuilder result) {\r
-            int[] counters = decodeMiddleCounters;\r
-            counters[0] = 0;\r
-            counters[1] = 0;\r
-            counters[2] = 0;\r
-            counters[3] = 0;\r
-            int end = row.getSize();\r
-            int rowOffset = startRange[1];\r
-\r
-            for (int x = 0; x < 4 && rowOffset < end; x++) {\r
-              int bestMatch = decodeDigit(row, counters, rowOffset, L_PATTERNS);\r
-              result.Append((char) ('0' + bestMatch));\r
-              for (int i = 0; i < counters.Length; i++) {\r
-                rowOffset += counters[i];\r
-              }\r
-            }\r
-\r
-            int[] middleRange = findGuardPattern(row, rowOffset, true, MIDDLE_PATTERN);\r
-            rowOffset = middleRange[1];\r
-\r
-            for (int x = 0; x < 4 && rowOffset < end; x++) {\r
-              int bestMatch = decodeDigit(row, counters, rowOffset, L_PATTERNS);\r
-              result.Append((char) ('0' + bestMatch));\r
-              for (int i = 0; i < counters.Length; i++) {\r
-                rowOffset += counters[i];\r
-              }\r
-            }\r
-\r
-            return rowOffset;\r
-          }\r
-\r
-          public override BarcodeFormat getBarcodeFormat() {\r
-            return BarcodeFormat.EAN_8;  \r
-          }\r
-            \r
-            }\r
-\r
+       \r
+       /// <summary> <p>Implements decoding of the EAN-8 format.</p>\r
+       /// \r
+       /// </summary>\r
+       /// <author>  Sean Owen\r
+       /// </author>\r
+       /// <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source \r
+       /// </author>\r
+       public sealed class EAN8Reader:UPCEANReader\r
+       {\r
+               override internal BarcodeFormat BarcodeFormat\r
+               {\r
+                       get\r
+                       {\r
+                               return BarcodeFormat.EAN_8;\r
+                       }\r
+                       \r
+               }\r
+               \r
+               //UPGRADE_NOTE: Final was removed from the declaration of 'decodeMiddleCounters '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"\r
+               private int[] decodeMiddleCounters;\r
+               \r
+               public EAN8Reader()\r
+               {\r
+                       decodeMiddleCounters = new int[4];\r
+               }\r
+               \r
+               protected internal override int decodeMiddle(BitArray row, int[] startRange, System.Text.StringBuilder result)\r
+               {\r
+                       int[] counters = decodeMiddleCounters;\r
+                       counters[0] = 0;\r
+                       counters[1] = 0;\r
+                       counters[2] = 0;\r
+                       counters[3] = 0;\r
+                       int end = row.Size;\r
+                       int rowOffset = startRange[1];\r
+                       \r
+                       for (int x = 0; x < 4 && rowOffset < end; x++)\r
+                       {\r
+                               int bestMatch = decodeDigit(row, counters, rowOffset, L_PATTERNS);\r
+                               result.Append((char) ('0' + bestMatch));\r
+                               for (int i = 0; i < counters.Length; i++)\r
+                               {\r
+                                       rowOffset += counters[i];\r
+                               }\r
+                       }\r
+                       \r
+                       int[] middleRange = findGuardPattern(row, rowOffset, true, MIDDLE_PATTERN);\r
+                       rowOffset = middleRange[1];\r
+                       \r
+                       for (int x = 0; x < 4 && rowOffset < end; x++)\r
+                       {\r
+                               int bestMatch = decodeDigit(row, counters, rowOffset, L_PATTERNS);\r
+                               result.Append((char) ('0' + bestMatch));\r
+                               for (int i = 0; i < counters.Length; i++)\r
+                               {\r
+                                       rowOffset += counters[i];\r
+                               }\r
+                       }\r
+                       \r
+                       return rowOffset;\r
+               }\r
+       }\r
 }
\ No newline at end of file