A stroke processing system for processing handwriting (802, 804), implemented by one or more processing devices, and one or more storage devices storing computer readable instructions which, when executed by the one or more processing devices, cause the one or more processing devices to receive input stroke samples that represent handwriting (802, 804) of a user produced using an input device; store in a data store a collection of previous tokens obtained by processing previous handwriting instances produced by the user, wherein a token represents a set of temporally adjacent input stroke samples in a handwriting instance, wherein the data store maintains the previous tokens as a plurality of clusters, each cluster comprising a set of similar previous tokens, wherein each cluster is associated with a cluster representative and wherein the cluster representative represents an average of the tokens within a cluster; process a new handwriting instance produced by the user to obtain a new token representing new temporally adjacent input stroke samples in the new handwriting instance; generate a first temporal descriptor for each of the cluster representatives, and a second temporal descriptor for the new token; designate at least one of the cluster representatives as a selected cluster representative responsive to a determination that its first temporal descriptor and the second temporal descriptor are within a prescribed threshold; modify an appearance of the new handwriting instance produced by the user by modifying coordinates of the new token using coordinates of each of the selected cluster representatives; wherein the modifying further comprises: aligning stroke samples associated with each of the selected cluster representatives with stroke samples of the set of the input stroke samples to produce correlated stroke samples; averaging the correlated stroke samples; and modifying an appearance of the set of the input stroke samples using the averaged correlated stroke samples. receive input stroke samples that represent handwriting (802, 804) of a user produced using an input device; store in a data store a collection of previous tokens obtained by processing previous handwriting instances produced by the user, wherein a token represents a set of temporally adjacent input stroke samples in a handwriting instance, wherein the data store maintains the previous tokens as a plurality of clusters, each cluster comprising a set of similar previous tokens, wherein each cluster is associated with a cluster representative and wherein the cluster representative represents an average of the tokens within a cluster; process a new handwriting instance produced by the user to obtain a new token representing new temporally adjacent input stroke samples in the new handwriting instance; generate a first temporal descriptor for each of the cluster representatives, and a second temporal descriptor for the new token; designate at least one of the cluster representatives as a selected cluster representative responsive to a determination that its first temporal descriptor and the second temporal descriptor are within a prescribed threshold; modify an appearance of the new handwriting instance produced by the user by modifying coordinates of the new token using coordinates of each of the selected cluster representatives; wherein the modifying further comprises: aligning stroke samples associated with each of the selected cluster representatives with stroke samples of the set of the input stroke samples to produce correlated stroke samples; averaging the correlated stroke samples; and modifying an appearance of the set of the input stroke samples using the averaged correlated stroke samples. aligning stroke samples associated with each of the selected cluster representatives with stroke samples of the set of the input stroke samples to produce correlated stroke samples; averaging the correlated stroke samples; and modifying an appearance of the set of the input stroke samples using the averaged correlated stroke samples.