-/*\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