A system for providing handwriting recognition for a plurality of at least partially superimposed fragments of a sequence of input strokes on a computing device , the computing device comprising an input surface for sensing the sequence of input strokes, 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 embodying computer readable program code, the code executable by the processor to: detect the geometry of the input strokes in at least sequential fragments of the sequence of input strokes; detect the relative positions of the input strokes of the at least sequential fragments, wherein the relative positions of the input strokes of the at least sequential fragments are detected from both spatial and temporal information of the input strokes, the temporal information providing knowledge of the time order of the input strokes; determine from the 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 the recognition engine is configured to: create a segmentation graph based on the strokes of the classified fragments, wherein the segmentation graph includes nodes corresponding to character hypotheses; assign a recognition score to each node of the segmentation graph based on a pattern classifier; and generate linguistic meaning of the input strokes based on the recognition scores and a language model. detect the geometry of the input strokes in at least sequential fragments of the sequence of input strokes; detect the relative positions of the input strokes of the at least sequential fragments, wherein the relative positions of the input strokes of the at least sequential fragments are detected from both spatial and temporal information of the input strokes, the temporal information providing knowledge of the time order of the input strokes; determine from the 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 the recognition engine is configured to: create a segmentation graph based on the strokes of the classified fragments, wherein the segmentation graph includes nodes corresponding to character hypotheses; assign a recognition score to each node of the segmentation graph based on a pattern classifier; and generate linguistic meaning of the input strokes based on the recognition scores and a language model. create a segmentation graph based on the strokes of the classified fragments, wherein the segmentation graph includes nodes corresponding to character hypotheses; assign a recognition score to each node of the segmentation graph based on a pattern classifier; and generate linguistic meaning of the input strokes based on the recognition scores and a language model. <EOS>