Instead of trying to hard-code any specific patterns, get the user to draw each symbol a couple of times the first time it is run. Use the method of dividing it up like I said before, and then average out the patterns for the same symbols, so if you told the user to draw an 'a' twice, average out those two attempts, and then store the result in a file.
Find similarities by comparing the angles of each section of the line, so the more and the larger the differences, the more points you add to a variable. Compare the pattern against every possible symbol, and pick the one that got the lowest score.
Also, make sure the user has the option to retrain it, or train it more.
Another thing you could do is this: If the user draws shapes for the same symbol which are quite different (when compared using the points method) give that symbol a higher priority over the others, so it scales down the score a certain amount when comparing against that symbol.