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") } }; }
private void Populate() { Symbols = BitArrayHelper.ToBitMatrix( "11000", "00011", "00101", "00110", "01001", "01010", "01100", "10001", "10010", "10100" ); }
static EanUpc2DigitSupplementParityEncoder() { paritySymbols = new BitArray[] { BitArrayHelper.ToBitArray("11"), BitArrayHelper.ToBitArray("10"), BitArrayHelper.ToBitArray("01"), BitArrayHelper.ToBitArray("00") }; }
private void Populate() { lock (typeof(PostNetEncoder)) { if (Symbols == null) { Symbols = BitArrayHelper.ToBitMatrix( "11000", "00011", "00101", "00110", "01001", "01010", "01100", "10001", "10010", "10100" ); } } }
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") }; }
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") }; }
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") }; }
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") }; }
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")); }
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); } }
public SymbolWrap(string s, int v) { symbol = BitArrayHelper.ToBitArray(s); value = v; }