我开发了一个 uwp 应用程序,该应用程序具有自定义用户控件,允许使用手写笔将用户输入手写识别到文本框中。
它适用于常用词,但是我的用户经常使用技术术语和首字母缩略词,这些术语和首字母缩略词并不总是被识别或根本不被识别,因为它们在我设置为我的 InkRecognizer 的默认识别器的语言中没有特色。
这是我设置默认 Inkrecognizer 的方法:
InkRecognizerContainer inkRecognizerContainer = new InkRecognizerContainer();
foreach (InkRecognizer reco in inkRecognizerContainer.GetRecognizers())
{
if (recognizerName == "Reconnaissance d'écriture Microsoft - Français")
{
inkRecognizerContainer.SetDefaultRecognizer(reco);
break;
}
}
以及我如何获得识别结果:
IReadOnlyList<InkRecognitionResult> recognitionResults = new List<InkRecognitionResult>();
recognitionResults = await inkRecognizerContainer.RecognizeAsync(myInkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All);
foreach (var r in recognitionResults)
{
string result = r.GetTextCandidates()[0];
myTextBox.Text += " "+result;
}
预期的结果通常也不包含在其他文本候选中。
我已经阅读了 Windows.UI.Input.Inking 的 msdn 文档,但没有发现任何关于这个特定主题的有用信息。围绕手写识别存在的 Channel9 视频以及我的 google-fu 能够想象的结果也是如此。理想情况下,我正在寻找类似于Windows.Inking 中存在的WordList的东西
有没有办法以编程方式将单词列表添加到 Inkrecognizer 的单词池中,或者在 uwp 应用程序中创建用于手写识别的自定义词典?