8. A method of training a handwriting recognition application, the method implemented in a computer environment comprising: using a computer processor and a computer-readable media to perform the following steps of: collecting handwriting from a plurality of writers; determining writing styles for the plurality of writers, wherein determining writing styles comprises applying a hierarchical clustering algorithm which produces a hierarchy of nested clusterings, C={c 1 , c 2 , . . . c m }, wherein for each pair (c i , c i+1 ) in C, c i is a subset of c i+1 , and each c i+1 is obtained from the preceding c i by applying a cluster dissimilarity function to determine a difference between ink samples of handwriting; selecting an ink sample for a particular cluster to be a representative of the particular cluster; and training a handwriting recognition application using training samples selected from at least one of the determined writing styles.
15. The method of training a handwriting recognition application recited in claim 8 , further comprising analyzing handwriting collected from a user; associating at least one of the determined styles with the user; and using the associated at least one of the determined styles to predict a writing style for characters written by the user.