Terry Hutt

I have some simple code to capture handwriting input and convert it to text. It also recognizes the scratchout gesture. If the user writes 'One Two Three' and scratches out 'Two' I can remove the strokes that correspond to the word 'Two'. If the user then writes 'And' where the 'Two' used to be, the recognizer returns 'One Three And' whereas what is visible on the screen in 'One And Three'. It seems the recognizer is more interested in the sequence the strokes were made than in their physical location.

Is there a setting I can use to get the recognizer to take the location of the strokes into account The code I have looks like this.

Code Snippet

Dim oRecognizer as Recognizer

Dim oRecognizerCtx as RecognizerContext

Dim oInOverlay as InkOverlay

Private Sub Form1_Load(Byval sender as Object, ByVal e as EventArgs) Handles Me.Load

Dim Recognizers as Recognizers = new Recognizers()

oRecognizer = Recognizers.GetDefaultRecognizer()

oRecognizerCtx = oRecognizer.CreateRecognitionContext()

oRecognizerCtx.Factoid = Factoid.Default

oInkOverlay = New InkOverlay(Me, true)

oInkOverlay.CollectionMode = CollectionMode.InkAndGesture

oInkOverlay.SetGestureStatus(ApplicationGesture.AllGestures, false)

oInkOverlay.SetGestureStatus(ApplicationGesture.Scratchout, true)

oInkOverlay.AutoRedraw = true

oInkOverlay.DynamicRendering = true

oInkOverlay.Enabled = true

End Sub

Private Sub btnRecognize_Click(ByVal sender as Object, e as EventArgs) Handles btnRecognize.Click

Dim rs as RecognitionStatus

Dim rr as RecognitionResult = oRecognizerCtx.Recognize(rs)

oRecognizerCtx.Strokes = oInkOverlay.Ink.Strokes

oRecognizerCtx.EndInkInput()

msgBox(rr.TopString)

End Sub



Re: Smart Devices General Handwriting recognizer does not sequence TopString correctly. Are there better settings?

Ilya Tumanov

It appears you've posted to the wrong forum. Are you running this on Windows Mobile or CE