public List <string> GetDrawing()
        {
            var results = new List <string>();

            foreach (var cr in creationLines.ToList())
            {
                //create empty lines
                int numberHeight = 4;
                for (int i = 0; i <= numberHeight; i++)
                {
                    results.Add("");
                }

                // Number from one line in creationList - all numbers in cr needs to be in one string line
                foreach (int num in cr.ToList())
                {
                    //get string drawing for number
                    var drawing = NumberDefinitions.GetNumberDefinitionByNumber(num, NumberDefinitions.CreateNumberDefinitions());

                    //if null, numberdefinition not found
                    if (drawing != null)
                    {
                        //drawing number max length
                        int maxLength = drawing.GetMaxLength() + numSpaces; //horizontal spaces here

                        // for (int drawingLine = drawing.lines.Count - 1; drawingLine >= 0; drawingLine--)
                        for (int drawingLine = 0; drawingLine <= drawing.lines.Count - 1; drawingLine++)
                        {
                            string s = drawing.lines[drawingLine];

                            if (s.Length < maxLength)
                            {
                                while (s.Length < maxLength)
                                {
                                    s += " ";
                                }
                            }

                            results[results.Count - 1 - (drawing.lines.Count) + drawingLine] = results[results.Count - 1 - (drawing.lines.Count) + drawingLine] + s;
                        }
                    }
                }
            }

            return(results);
        }
        public RecognitionEgine(List <string> searchStringList)
        {
            NumberDefinitionList = NumberDefinitions.CreateNumberDefinitions();

            var numberFindResults = new List <FindResult>();

            Content.Add("");

            foreach (NumberDefinition nd in NumberDefinitionList)
            {
                numberFindResults.AddRange(GetNumbersInDrawing(searchStringList, nd));
            }

            var lineNum = 0;

            foreach (var nfr in numberFindResults.OrderBy(s => s.Line).ThenBy(x => x.CharPos))
            {
                bool skip = false;
                if (nfr.Line != lineNum)
                {
                    //condition: numbers need to be 4 lines in height!
                    if (nfr.Line > lineNum + 3)
                    {
                        //Console.WriteLine();
                        Content.Add("");
                        lineNum = nfr.Line;
                    }
                    else
                    {
                        skip = true;
                    }
                }
                if (!skip)
                {
                    //Content.Add(nfr.Number);
                    Content[Content.Count - 1] += nfr.Number.ToString();
                    //Console.Write(nfr.Number);
                }
            }
        }