public override CodedValueCollection GetCodes(string value) { var codes = new CodedValueCollection(); value = value.Replace(" ", "").ToUpper(); var index = ToBinary(ParsePair(value.Substring(0, 2)), 0, 8, codes); index = ToBinary(_Lookup[value.Substring(2, 1)], index, 5, codes); index = ToBinary(_Lookup[value.Substring(3, 1)], index, 4, codes); ToBinary(ParsePair(value.Substring(4, 2)), index, 8, codes); int p = codes.Sum() + 1; codes.Add(ALIGNMENTBAR); if (p % 2 == 0) codes.Insert(0, ALIGNMENTBAR); else codes.Insert(0, ODDCOUNT); return codes; }
public virtual int CalculateWidth(BarcodeSettings settings, CodedValueCollection codes) { return codes.Sum(x => (PatternSet[x].NarrowCount * settings.NarrowWidth) + (PatternSet[x].WideCount * settings.WideWidth)) + (codes.Count * settings.ModulePadding); }