Patent Document ID: 20090123073
Application ID: 11983570
Patent Status: 0

Claim One:
1. A microprocessor implemented method of recognizing handwritten, independent symbols and outputting the corresponding Latin derived alphabetic character comprising the steps of: 1. receiving an electronic stylus input comprising a trace path of one or more symbols selected from a first or second set of a universal computer script of a Latin derived alphabet: 2. sequentially timed Cartesian coordinate mapping of the trace path; 3. if the trace path is a dot made within 0.5 seconds from the last trace path, engaging an edit mode of the program; 4. if not a dot, smoothing of the trace path; 5. determining in which quadrant the trace path starts and assigning that start quadrant to that trace path; 6. assigning change points by determination of changes in x direction, y direction, and in both the x and y direction simultaneously and determining an end point of the trace path; 7. summing the number of direction change points start point and an end point; 8. if the sum is two proceeding to step 11; 9. if the sum is three to seven proceeding to step 23; 10. if the sum is greater than seven non assignment of a character and returning to step 1 with a next new stylus input; 11. determining the slope of the line between the start point and the end point, or the start point and the change point, or a change point and a change point or the change point and an end point; 12. determining if the slope of the line is greater than (shallow) or less than (sharp) an assigned first critical angle (or boundary slope); 13. if the slope is sharp proceeding to step 15; 14. if the slope is shallow, based on start quadrant determining if the trace path is short or long and generating a character and return to step 1; 15. if slope is sharp, based on start quadrant determining the concavity or the convexity; 16. determining if the trace path is long or short, and if long, generating a character and returning to step one; 17. if trace path is short assigning a flat value to trace path (high or low concavity); 18. establishing a base three identification number or concatenating the change point name(s) (x, y, z) into an ID name; 19. calculating the slope of the lines between all points; 20. checking the trace path flatness and ID name; 21. if trace-path is flat, generating a character and returning to step 1; 22. if trace path is not flat, assigning a character and returning to step 1; 23. checking the trace path for flatness and assigning an ID name; 24. determining the slope between start point, change points and end point (the important points); 25. querying the number of points, the assigned ID and the start quadrant; 26. checking for flatness and assigning a value; 27. if flat assigning a value, if not flat possible determining output value; 28. if not flat but an output value is generated checking for presence of a calculate symbol and a math mode, calculating a mathematical formula to generate an output value and returning to step 1; 24. if not in math mode, outputting no value and returning to step 1; 25. if unable to generate character and a calculate symbol is not present, testing stroke slope against a first critical angle; 26. if first critical angle is shallow, generating a character if possible and returning to step 1; 27. if unable to assign a character testing a second stroke slope against a second critical angle 28. if first critical angle is sharp testing a second stroke slope against a second critical angle; 29. if identification is possible, assigning a character and returning to step 1; 30. if identification is not possible, comparing a critical point relationship, assigning a character, and returning to step one. 31. if first critical angle is shallow testing a second stroke slope against a second critical angle; 32. if identification is possible, assigning a character and returning to step 1; 33. if identification is not possible, comparing a critical point relationship, assigning a character, and returning to step one. 34. if first critical angle is sharp, generating a character if possible and returning to step 1; 35. if unable to assign a character testing a second stroke slope against a second critical angle 36. if first critical angle is sharp testing a second stroke slope against a second critical angle; 37. if identification is possible, assigning a character and returning to step 1; 38. if identification is not possible, comparing a critical point relationship, assigning a character, and returning to step one. 39. if first critical angle is shallow testing a second stroke slope against a second critical angle; 40. if identification is possible, assigning a character and returning to step 1; 41. if identification is not possible, comparing a critical point relationship, assigning a character, and returning to step one.