Claims
- 1. A method of making information available to an application program, comprising:
storing a plurality of ink strokes; issuing a divide request; in response to the divide request, grouping the stored ink strokes into one or more groupings of strokes having at least a first predetermined granularity; and making information regarding the one or more groupings of strokes available to the application program.
- 2. A method according to claim 1, wherein the information made available to the application program includes at least one of the one or more groupings of strokes.
- 3. A method according to claim 1, wherein the information made available to the application program includes information indicating a number of groupings of strokes having the first predetermined granularity.
- 4. A method according to claim 1, wherein the information made available to the application program includes machine-generated text that corresponds to at least one of the one or more groupings of strokes.
- 5. A method according to claim 1, further comprising:
informing the application program when the grouping has been completed.
- 6. A method according to claim 1, wherein at least a portion of the information regarding the one or more groupings of strokes made available to the application program is stored in an ink division result object.
- 7. A method according to claim 1, wherein language is at least one factor considered in grouping the stored ink strokes into one or more groupings of strokes having the first predetermined granularity.
- 8. A method according to claim 1, wherein the first predetermined granularity is selected from the group consisting of: word, line, paragraph, sentence, and drawing.
- 9. A method according to claim 1, wherein the grouping additionally groups the stored ink strokes into one or more groupings of strokes having at least a second predetermined granularity.
- 10. A method according to claim 1, further comprising:
making information regarding one or more groupings of strokes having a second predetermined granularity available to the application program.
- 11. A method according to claim 1, further comprising:
changing the stored ink strokes to produce a modified ink stroke set; issuing a second divide request; and in response to the second divide request, grouping the modified ink stroke set into one or more groupings.
- 12. A computer-readable medium having computer-executable instructions for performing a method of making information available to an application program, the method comprising:
storing a plurality of ink strokes; receiving a divide request; in response to the divide request, grouping the stored ink strokes into one or more groupings of strokes having at least a first predetermined granularity; and making information regarding the one or more groupings of strokes available to the application program.
- 13. A computer-readable medium according to claim 12, wherein the information made available to the application program includes at least one of the one or more groupings of strokes.
- 14. A computer-readable medium according to claim 12, wherein the information made available to the application program includes information indicating a number of groupings of strokes having the first predetermined granularity.
- 15. A computer-readable medium according to claim 12, wherein the information made available to the application program includes machine-generated text that corresponds to at least one of the one or more groupings of strokes.
- 16. A computer-readable medium according to claim 12, wherein the method further includes:
informing the application when the grouping has been completed.
- 17. A computer-readable medium according to claim 12, wherein at least a portion of the information regarding the one or more groupings of strokes made available to the application program is stored in an ink division result object.
- 18. A computer-readable medium according to claim 12, wherein language is at least one factor considered in grouping the stored ink strokes into one or more groupings of strokes having the first predetermined granularity.
- 19. A computer-readable medium according to claim 12, wherein the first predetermined granularity is selected from the group consisting of: word, line, paragraph, sentence, and drawing.
- 20. A computer-readable medium according to claim 12, wherein the grouping additionally groups the stored ink strokes into one or more groupings of strokes having at least a second predetermined granularity.
- 21. A computer-readable medium according to claim 12, wherein the method further includes:
making information regarding one or more groupings of strokes having a second predetermined granularity available to the application program.
- 22. A computer-readable medium according to claim 12, wherein the method further includes:
receiving a modified ink stroke set; receiving a second divide request; and in response to the second divide request, grouping the modified ink stroke set into one or more groupings.
- 23. A method of communicating between an application and an ink divider object, the ink divider object storing ink strokes to be divided into groups, comprising:
issuing a divide request to the ink divider object; in response to the divide request, calling a divide method, which groups the stored ink strokes into one or more groupings of strokes having at least a first predetermined granularity; and making information regarding the one or more groupings of strokes available to the application.
- 24. A method according to claim 23, wherein the information made available to the application includes at least one of the one or more groupings of strokes.
- 25. A method according to claim 23, wherein the information made available to the application includes information indicating a number of groupings of strokes having the first predetermined granularity.
- 26. A method according to claim 23, wherein the information made available to the application includes machine-generated text that corresponds to at least one of the one or more groupings of strokes.
- 27. A method according to claim 23, further comprising:
informing the application when the divide method has been completed.
- 28. A method according to claim 23, wherein at least a portion of the information regarding the one or more groupings of strokes made available to the application is stored in an ink division result object.
- 29. A method according to claim 23, wherein during operation of the divide method, language is at least one factor considered in grouping the stored ink strokes into one or more groupings of strokes having the first predetermined granularity.
- 30. A method according to claim 23, wherein the first predetermined granularity is selected from the group consisting of: word, line, paragraph, sentence, and drawing.
- 31. A method according to claim 23, wherein during operation of the divide method, the divide method additionally groups the stored ink strokes into one or more groupings of strokes having at least a second predetermined granularity.
- 32. A method according to claim 23, further comprising:
making information regarding one or more groupings of strokes having a second predetermined granularity available to the application.
- 33. A method according to claim 23, further comprising:
changing the stored ink strokes to produce a modified ink stroke set; issuing a second divide request to the ink divider object; and in response to the second divide request, calling the divide method, which groups the modified ink stroke set into one or more groupings.
- 34. A computer-readable medium having computer-executable instructions for performing a method of communicating between an application and an ink divider object, the ink divider object storing ink strokes to be divided into groups, the method comprising:
issuing a divide request to the ink divider object; in response to the divide request, calling a divide method, which groups the stored ink strokes into one or more groupings of strokes having at least a first predetermined granularity; and making information regarding the one or more groupings of strokes available to the application.
- 35. A computer-readable medium according to claim 34, wherein the information made available to the application includes at least one of the one or more groupings of strokes.
- 36. A computer-readable medium according to claim 34, wherein the information made available to the application includes information indicating a number of groupings of strokes having the first predetermined granularity.
- 37. A computer-readable medium according to claim 34, wherein the information made available to the application includes machine-generated text that corresponds to at least one of the one or more groupings of strokes.
- 38. A computer-readable medium according to claim 34, wherein the method of communicating further includes:
informing the application when the divide method has been completed.
- 39. A computer-readable medium according to claim 34, wherein at least a portion of the information regarding the one or more groupings of strokes made available to the application is stored in an ink division result object.
- 40. A computer-readable medium according to claim 34, wherein during operation of the divide method, language is at least one factor considered in grouping the stored ink strokes into one or more groupings of strokes having the first predetermined granularity.
- 41. A computer-readable medium according to claim 34, wherein the first predetermined granularity is selected from the group consisting of: word, line, paragraph, sentence, and drawing.
- 42. A computer-readable medium according to claim 34, wherein during operation of the divide method, the divide method additionally groups the stored ink strokes into one or more groupings of strokes having at least a second predetermined granularity.
- 43. A computer-readable medium according to claim 34, wherein the method of communicating further includes:
making information regarding one or more groupings of strokes having a second predetermined granularity available to the application.
- 44. A computer-readable medium according to claim 34, wherein the method of communicating further includes:
receiving changes to the stored ink strokes to produce a modified ink stroke set; issuing a second divide request to the ink divider object; and in response to the second divide request, calling the divide method, which groups the modified ink stroke set into one or more groupings.
- 45. A computer-readable medium having a data structure stored thereon for an ink divider object comprising:
a first data set defining a strokes property for storing information regarding one or more ink strokes; and a second data set defining a divide method for grouping the one or more ink strokes into one or more groupings of strokes having at least a first predetermined granularity.
- 46. A computer-readable medium according to claim 45, wherein the ink divider object further includes a third data set defining a recognizer context property for storing information regarding a recognizer to be used in dividing the one or more ink strokes.
- 47. A computer-readable medium having a data structure stored thereon for an ink division result object comprising:
a first data set defining a strokes property for storing information regarding one or more ink strokes that have been subjected to a divide method and grouped into one or more groupings having at least a first predetermined granularity; and a second data set defining a result by type method for enabling retrieval of groupings of ink strokes of at least the first predetermined granularity.
- 48. A computer-readable medium according to claim 47, wherein the result by type method enables retrieval of groupings of ink strokes at a plurality of different granularities including the first predetermined granularity.
- 49. A computer-readable medium having a data structure stored thereon for an ink division unit object comprising:
a first data set defining a strokes property for storing information regarding one or more ink strokes contained in a grouping of one or more ink strokes; and a second data set defining a division type for storing information regarding a type of ink strokes contained in the grouping.
- 50. A computer-readable medium according to claim 49, wherein the data structure further includes a third data set defining or pointing to machine-generated text corresponding to the one or more ink strokes contained in the strokes property.
- 51. A computer-readable medium according to claim 50, wherein the data structure further includes a fourth data set defining an angle of rotation necessary to rotate the one or more strokes contained in the strokes property to an angle suitable for introduction into a handwriting recognition system.
- 52. A computer-readable medium according to claim 51, wherein the data structure further includes a fifth data set defining an enumerated value corresponding to the division type.
- 53. A computer-readable medium according to claim 49, wherein the data structure further includes a third data set defining an angle of rotation necessary to rotate the one or more strokes contained in the strokes property to an angle suitable for introduction into a handwriting recognition system.
- 54. A computer-readable medium according to claim 49, wherein the data structure further includes a third data set defining an enumerated value corresponding to the division type.
- 55. A computer-readable medium having a data structure stored thereon for an ink division units object comprising:
a first data set defining a count of stroke groupings present in an ink object; and a second data set defining an item method that retrieves a specific stroke grouping given an index value for the specific stroke grouping.
- 56. A method of communicating between a parser and an application program, comprising:
sending data representing a plurality of ink strokes from the application program to the parser; providing parsing information to the parser; grouping the ink strokes into one or more groupings of strokes having at least a first predetermined granularity; and making information regarding the one or more groupings of strokes available to the application program.
- 57. A method according to claim 56, wherein providing the parsing information includes setting a recognizer to be used in the grouping.
- 58. A method according to claim 56, wherein providing the parsing information includes setting a language to be used in the grouping.
- 59. A method according to claim 56, wherein providing the parsing information includes setting the first predetermined granularity.
- 60. A method according to claim 56, wherein providing the parsing information includes setting an expected line height for lines of text included in the ink strokes.
- 61. A computer-readable medium that includes computer-executable instructions stored thereon for performing the method of claim 56.
RELATED APPLICATIONS
[0001] In general, the present invention may be used in conjunction with the systems and methods disclosed in the following patent applications:
[0002] (a) U.S. patent application Ser. No. 10/143,865, filed May 14, 2002, entitled “Handwriting Layout Analysis of Freeform Digital Ink Input;”
[0003] (b) U.S. patent application Ser. No. 10/143,864, filed May 14, 2002, entitled “Classification Analysis of Freeform Digital Ink Input;”
[0004] (c) U.S. patent application Ser. No. 10/143,804, filed May 14, 2002, entitled “An Incremental System for Real Time Digital Ink Analysis;” and
[0005] (d) U.S. patent application Ser. No. 10/184,108, filed Jun. 28, 2002, entitled “Interfacing With Ink.”
[0006] Each of these co-pending U.S. patent applications is entirely incorporated herein by reference.