1. A system for providing handwriting recognition for a plurality of at least partially superimposed fragments of input strokes on a computing device, the computing device comprising a processor and at least one non-transitory computer readable medium under control of the processor, the at least one non-transitory computer readable medium configured to: determine the time order of input of at least sequential fragments; detect the geometry of the input strokes in the at least sequential fragments; detect the relative positions of the input strokes of the at least sequential fragments; determine from the determined time order and detected relative positions and geometries whether one or more of the input strokes of the at least sequential fragments combine to form one or more likely characters; classify the fragments based on the determined likely characters; and provide the classified fragments to a recognition engine for evaluation of character hypotheses based on the classified fragments, wherein, within the recognition engine, a method comprises: creating a segmentation graph based on the strokes of the classified fragments, wherein the segmentation graph includes nodes corresponding to character hypotheses; assigning a recognition score to each node of the segmentation graph based on a pattern classifier; and generating linguistic meaning of the input strokes based on the recognition scores and a language model.