スタイラスを使用してテキストボックスに入力したユーザーの手書き認識を可能にするカスタムユーザーコントロールを持つ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に似たものを探しています。
プログラムでインク認識エンジンの単語のプールに単語リストを追加したり、uwp アプリで手書き認識用のカスタム辞書を作成したりする方法はありますか?