タブレット PC プラットフォーム API でのアプリケーション ディクショナリの使用
Tablet PC API でアプリケーション ディクショナリを使用するには、まず、アプリケーション ディクショナリの単語の一覧を含むファイルを作成する必要があります。
この最も簡単な解決策は、単語の一覧を含むテキスト ファイルを使用することです。 アプリケーションが読み込まれると、テキスト ファイルが読み取られ、ファイル内の単語の一覧から WordList オブジェクトが作成されます。 アプリケーション ディクショナリに関連付けられている RecognizerContext ごとに、RecognizerContext オブジェクトの WordList プロパティをテキスト ファイル内の単語リストに設定します。
次の例では、StringCollection コレクションから WordList オブジェクトを作成する方法を示します。 この例では、ディスクから単語の一覧を既に読み込み、これらの単語から StringCollection コレクションを作成していることを前提としています。
using System.Collections.Specialized;
using Microsoft.Ink;
//...
RecognizerContext theRecognizerContext;
StringCollection theUserDictionary;
//...
// Initialize theRecognizerContext and theUserDictionary objects here.
//...
WordList theUserWordList = new WordList();
foreach (string s in theUserDictionary)
{
theUserWordList.Add(s);
}
theRecognizerContext.WordList = theUserWordList;
Note
WordList プロパティを設定する前に、RecognizerContext オブジェクトの Strokes プロパティを空にする必要があります。 Strokes プロパティが空でない場合は、例外がスローされます。 さらに、 単語が RecognizerContext オブジェクトに割り当てられた後、単語を単語リストに追加しないでください。 RecognizerContext オブジェクトに割り当てられた後に単語リストに追加された単語は、認識エンジンでは更新されません。 単語リストを更新するには、WordList オブジェクトを RecognizerContext オブジェクトの WordList プロパティに再割り当てする必要があります。
認識精度を最大限に高めるために、ファクトイドとアプリケーション 辞書を組み合わせて有利な関係を築きます。 factoid とアプリケーション ディクショナリの関係の詳細については、「Word リスト、認識エンジン コンテキスト、および Factoid について」を参照してください。
InkEdit コントロールでアプリケーション ディクショナリを使用する例については、「InkEdit でのアプリケーション ディクショナリの使用」を参照してください。