Esempio n. 1
0
 static UpceParityEncoder()
 {
     paritySymbols = new BitArray[][] {
         new BitArray[] {
             BitArrayHelper.ToBitArray("000111"),
             BitArrayHelper.ToBitArray("001011"),
             BitArrayHelper.ToBitArray("001101"),
             BitArrayHelper.ToBitArray("001110"),
             BitArrayHelper.ToBitArray("010011"),
             BitArrayHelper.ToBitArray("011001"),
             BitArrayHelper.ToBitArray("011100"),
             BitArrayHelper.ToBitArray("010101"),
             BitArrayHelper.ToBitArray("010110"),
             BitArrayHelper.ToBitArray("011010")
         },
         new BitArray[] {
             BitArrayHelper.ToBitArray("111000"),
             BitArrayHelper.ToBitArray("110100"),
             BitArrayHelper.ToBitArray("110010"),
             BitArrayHelper.ToBitArray("110001"),
             BitArrayHelper.ToBitArray("101100"),
             BitArrayHelper.ToBitArray("100110"),
             BitArrayHelper.ToBitArray("100011"),
             BitArrayHelper.ToBitArray("101010"),
             BitArrayHelper.ToBitArray("101001"),
             BitArrayHelper.ToBitArray("100101")
         }
     };
 }
Esempio n. 2
0
 private void Populate()
 {
     Symbols = BitArrayHelper.ToBitMatrix(
         "11000", "00011", "00101", "00110", "01001",
         "01010", "01100", "10001", "10010", "10100"
         );
 }
Esempio n. 3
0
 static EanUpc2DigitSupplementParityEncoder()
 {
     paritySymbols = new BitArray[] {
         BitArrayHelper.ToBitArray("11"),
         BitArrayHelper.ToBitArray("10"),
         BitArrayHelper.ToBitArray("01"),
         BitArrayHelper.ToBitArray("00")
     };
 }
Esempio n. 4
0
 private void Populate()
 {
     lock (typeof(PostNetEncoder)) {
         if (Symbols == null)
         {
             Symbols = BitArrayHelper.ToBitMatrix(
                 "11000", "00011", "00101", "00110", "01001",
                 "01010", "01100", "10001", "10010", "10100"
                 );
         }
     }
 }
Esempio n. 5
0
 static EanParityEncoder()
 {
     paritySymbols = new BitArray[] {
         BitArrayHelper.ToBitArray("111111"),
         BitArrayHelper.ToBitArray("110100"),
         BitArrayHelper.ToBitArray("110010"),
         BitArrayHelper.ToBitArray("110001"),
         BitArrayHelper.ToBitArray("101100"),
         BitArrayHelper.ToBitArray("100110"),
         BitArrayHelper.ToBitArray("100011"),
         BitArrayHelper.ToBitArray("101010"),
         BitArrayHelper.ToBitArray("101001"),
         BitArrayHelper.ToBitArray("100101")
     };
 }
Esempio n. 6
0
 static EanLeftOddEncoder()
 {
     leftOddSymbols = new BitArray[] {
         BitArrayHelper.ToBitArray("0001101"),
         BitArrayHelper.ToBitArray("0011001"),
         BitArrayHelper.ToBitArray("0010011"),
         BitArrayHelper.ToBitArray("0111101"),
         BitArrayHelper.ToBitArray("0100011"),
         BitArrayHelper.ToBitArray("0110001"),
         BitArrayHelper.ToBitArray("0101111"),
         BitArrayHelper.ToBitArray("0111011"),
         BitArrayHelper.ToBitArray("0110111"),
         BitArrayHelper.ToBitArray("0001011")
     };
 }
Esempio n. 7
0
 static EanRightEncoder()
 {
     rightSymbols = new BitArray[] {
         BitArrayHelper.ToBitArray("1110010"),
         BitArrayHelper.ToBitArray("1100110"),
         BitArrayHelper.ToBitArray("1101100"),
         BitArrayHelper.ToBitArray("1000010"),
         BitArrayHelper.ToBitArray("1011100"),
         BitArrayHelper.ToBitArray("1001110"),
         BitArrayHelper.ToBitArray("1010000"),
         BitArrayHelper.ToBitArray("1000100"),
         BitArrayHelper.ToBitArray("1001000"),
         BitArrayHelper.ToBitArray("1110100")
     };
 }
Esempio n. 8
0
 static Encoder25()
 {
     symbols = new BitArray[] {
         BitArrayHelper.ToBitArray("00110"),
         BitArrayHelper.ToBitArray("10001"),
         BitArrayHelper.ToBitArray("01001"),
         BitArrayHelper.ToBitArray("11000"),
         BitArrayHelper.ToBitArray("00101"),
         BitArrayHelper.ToBitArray("10100"),
         BitArrayHelper.ToBitArray("01100"),
         BitArrayHelper.ToBitArray("00011"),
         BitArrayHelper.ToBitArray("10010"),
         BitArrayHelper.ToBitArray("01010")
     };
 }
Esempio n. 9
0
 static Code39Encoder()
 {
     symbols = new Hashtable(44);
     symbols.Add('0', BitArrayHelper.ToBitArray("0001101000"));
     symbols.Add('1', BitArrayHelper.ToBitArray("1001000010"));
     symbols.Add('2', BitArrayHelper.ToBitArray("0011000010"));
     symbols.Add('3', BitArrayHelper.ToBitArray("1011000000"));
     symbols.Add('4', BitArrayHelper.ToBitArray("0001100010"));
     symbols.Add('5', BitArrayHelper.ToBitArray("1001100000"));
     symbols.Add('6', BitArrayHelper.ToBitArray("0011100000"));
     symbols.Add('7', BitArrayHelper.ToBitArray("0001001010"));
     symbols.Add('8', BitArrayHelper.ToBitArray("1001001000"));
     symbols.Add('9', BitArrayHelper.ToBitArray("0011001000"));
     symbols.Add('A', BitArrayHelper.ToBitArray("1000010010"));
     symbols.Add('B', BitArrayHelper.ToBitArray("0010010010"));
     symbols.Add('C', BitArrayHelper.ToBitArray("1010010000"));
     symbols.Add('D', BitArrayHelper.ToBitArray("0000110010"));
     symbols.Add('E', BitArrayHelper.ToBitArray("1000110000"));
     symbols.Add('F', BitArrayHelper.ToBitArray("0010110000"));
     symbols.Add('G', BitArrayHelper.ToBitArray("0000011010"));
     symbols.Add('H', BitArrayHelper.ToBitArray("1000011000"));
     symbols.Add('I', BitArrayHelper.ToBitArray("0010011000"));
     symbols.Add('J', BitArrayHelper.ToBitArray("0000111000"));
     symbols.Add('K', BitArrayHelper.ToBitArray("1000000110"));
     symbols.Add('L', BitArrayHelper.ToBitArray("0010000110"));
     symbols.Add('M', BitArrayHelper.ToBitArray("1010000100"));
     symbols.Add('N', BitArrayHelper.ToBitArray("0000100110"));
     symbols.Add('O', BitArrayHelper.ToBitArray("1000100100"));
     symbols.Add('P', BitArrayHelper.ToBitArray("0010100100"));
     symbols.Add('Q', BitArrayHelper.ToBitArray("0000001110"));
     symbols.Add('R', BitArrayHelper.ToBitArray("1000001100"));
     symbols.Add('S', BitArrayHelper.ToBitArray("0010001100"));
     symbols.Add('T', BitArrayHelper.ToBitArray("0000101100"));
     symbols.Add('U', BitArrayHelper.ToBitArray("1100000010"));
     symbols.Add('V', BitArrayHelper.ToBitArray("0110000010"));
     symbols.Add('W', BitArrayHelper.ToBitArray("1110000000"));
     symbols.Add('X', BitArrayHelper.ToBitArray("0100100010"));
     symbols.Add('Y', BitArrayHelper.ToBitArray("1100100000"));
     symbols.Add('Z', BitArrayHelper.ToBitArray("0110100000"));
     symbols.Add('-', BitArrayHelper.ToBitArray("0100001010"));
     symbols.Add('.', BitArrayHelper.ToBitArray("1100001000"));
     symbols.Add(' ', BitArrayHelper.ToBitArray("0110001000"));
     symbols.Add('*', BitArrayHelper.ToBitArray("0100101000"));
     symbols.Add('$', BitArrayHelper.ToBitArray("0101010000"));
     symbols.Add('/', BitArrayHelper.ToBitArray("0101000100"));
     symbols.Add('+', BitArrayHelper.ToBitArray("0100010100"));
     symbols.Add('%', BitArrayHelper.ToBitArray("0001010100"));
 }
Esempio n. 10
0
        public override void Draw(IBarCodeBuilder builder, string data, string supplement)
        {
            // resolve the supplement barcode
            EanUpcSupplement supp = ResolveSupplement(supplement);

            // validate Upca data
            data = Validate(data, 12);

            // split the data in its sub components
            string[] text = new string[] {
                data.Substring(0, 1),
                data.Substring(1, 5),
                data.Substring(6, 5),
                data.Substring(11, 1)
            };

            // encode the data
            BitArray[] left  = EncodeLeft(text[0] + text[1], ParityEncoder.Encode("0"));
            BitArray[] right = EncodeRight(text[2] + text[3]);

            // calculate total width
            float totalWidth = TotalWidth +
                               (supp == null ? 0 : SupplementOffset + supp.TotalWidth);

            // set the canvas size
            builder.Prepare(totalWidth, TotalHeight);

            // draw the background
            builder.DrawRectangle(BackColor, 0, 0, totalWidth, TotalHeight);

            // draw the barcode
            float x = 0, y = 0;

            float[] textX = new float[4];
            x       += OffsetWidth + QuietZone;
            y       += OffsetHeight;
            textX[0] = x;
            x       += TextWidth;
            x        = DrawSymbol(builder, x, y, BarHeight + GuardExtraHeight, LeftGuard);
            x        = DrawSymbol(builder, x, y, BarHeight + GuardExtraHeight, left[0]);
            textX[1] = x;
            BitArrayHelper.PopFront(ref left);
            x        = DrawSymbols(builder, x, y, BarHeight, left);
            x        = DrawSymbol(builder, x, y, BarHeight + GuardExtraHeight, CenterGuard);
            textX[2] = x;
            BitArray rightmost = BitArrayHelper.PopBack(ref right);

            x        = DrawSymbols(builder, x, y, BarHeight, right);
            x        = DrawSymbol(builder, x, y, BarHeight + GuardExtraHeight, rightmost);
            x        = DrawSymbol(builder, x, y, BarHeight + GuardExtraHeight, RightGuard);
            textX[3] = x;

            // draw the text strings
            DrawText(builder, textX, y - TextHeight, text);

            // draw the supplement barcode, if one is present
            if (supp != null)
            {
                supp.Draw(builder, supplement, x + TextWidth + SupplementOffset, y - OffsetHeight);
            }
        }
Esempio n. 11
0
 public SymbolWrap(string s, int v)
 {
     symbol = BitArrayHelper.ToBitArray(s);
     value  = v;
 }