A character recognizer recognizes a handwritten input character. A
sequence of points in two dimensional space representative of a stroke
trajectory forming the input character is gathered. An input Directed
Acyclic Graph is built with nodes representative of singular points at
the beginning, end, and along the trajectory of the input character and
with edges between nodes representative of an edge trajectory formed by
the sequence of points of the input character between the singular
points. Each edge in the input graph is described based on the shape,
orientation and pen lift of the edge trajectory that the edge represents.
The input graph is evaluated against model graphs, which are also
Directed Acyclic Graphs, for all possible characters to find a path
through a model graph that produces a best path similarity score with a
corresponding path through the input graph. The input character is
identified as an answer character represented by the model graph
producing the best path similarity score. Each model graph for a
reference character has nodes representative of singular points at the
beginning, end, and along the stroke trajectory of the reference
character. Edges between nodes in the model graph are representative of
an edge trajectory formed by the sequence of points of the reference
character between the singular points. Further each edge of the model
graph has an "i" vector, a "j" vector and a "k" vector, and the "i,j,k"
vectors indicate similarity values associated with the edge trajectory of
the reference character and typical shapes, shape rotation and pen lift,
respectively.