C# サンプルは、Windows 版 FRE でのみ使用できます。
辞書の種類
標準辞書
標準辞書
この種類の辞書は、辞書サポートが組み込まれている定義済み言語用にあらかじめ用意されています (定義済み言語の一覧のコメントを参照) 。さらに、一部の言語については、.zmd アーカイブに専門用語辞書 (医療、法律など) が含まれています。標準辞書は 3 つまたは 4 つのファイルで構成されます。これらのファイル名は通常、言語の正式名または短縮名と同じで、拡張子は .amd、.amm、.amt、または .ame です。.amd、.amm、.amt 拡張子のファイルは常に存在します。これらのファイルは次のフォルダーに格納されており、変更することはできません。Data/ExtendedDictionaries (Linux)、Resources/ExtendedDictionaries (macOS)、Data\ExtendedDictionaries (Windows)。ABBYY FineReader Engine には .ame ファイルは含まれていません。.ame は辞書拡張、つまりユーザーが辞書に追加した単語を保存するための形式です。辞書拡張は ABBYY FineReader で作成できます。ABBYY FineReader ではこれをユーザー辞書と呼びます。作成したファイルは、上記の ABBYY FineReader Engine フォルダー配下のフォルダーにコピーできます (または、ILanguageDatabase::DictionaryExtensionsPath プロパティでそのフルパスを指定することもできます) 。ABBYY FineReader は、標準辞書の拡張を %appdata%\ABBYY\FineReader\15\FineReaderShell\UserDictionaries に保存します。辞書拡張は、ABBYY FineReader Engine で ILanguageDatabase::OpenDictionaryExtension メソッドを使用して編集できます。この種類の辞書は、StandardDictionaryDescription オブジェクトで記述されます。
ユーザー辞書
ユーザー辞書
これは Dictionary オブジェクトを使用して作成できます。Dictionary オブジェクトでは、そのメソッドを使って単語を追加または削除できます。Windows では、Dictionary オブジェクトを使用して、Dictionary ダイアログ から辞書を編集することもできます。このダイアログでは、Windows ANSI および Unicode エンコーディングの任意のテキストファイルをインポートできます (唯一の要件は、単語がスペースまたはその他の非アルファベット文字で区切られていることです) 。この種類の辞書は、UserDictionaryDescription オブジェクトで記述されます。
FineReader Engine のユーザー辞書は .amd ファイル形式で、どの言語に対しても作成できます。辞書サポートのない言語では、標準辞書の代わりとして使用できます。ABBYY FineReader のユーザー辞書は、FineReader Engine では辞書拡張と呼ばれ、.ame ファイルです。これは、辞書サポートがある言語についてのみ、その言語の標準辞書の拡張として作成できます。
正規表現ベースの辞書
正規表現ベースの辞書
ある言語でどの単語を許可し、どの単語を許可しないかを定義するルールを指定します。この種類の辞書は、RegExpDictionaryDescription オブジェクトで記述されます。
外部辞書
外部辞書
独自の種類の辞書を実装できます。この辞書は、クライアント側で実装される IExternalDictionary インターフェイスとして表されます。外部辞書の作成に関するガイドラインについては、このインターフェイスの説明を参照してください。この種類の辞書は、ExternalDictionaryDescription オブジェクトで記述されます。
辞書記述の作成
辞書のプロパティ
- 標準辞書 (StandardDictionaryDescription) の場合は、言語の ID を定義する
LanguageIdプロパティを指定します。 - ユーザー辞書 (UserDictionaryDescription) の場合は、ユーザー辞書へのパスを指定する
FileNameプロパティを指定します。 - 正規表現ベースの辞書 (RegExpDictionaryDescription) の場合は、正規表現を指定するために SetText メソッドを使用します。ABBYY FineReader Engine での正規表現の使用を参照してください。
- 外部辞書 (ExternalDictionaryDescription) の場合は、辞書を指定するために SetDictionary メソッドを使用します。
認識言語の辞書
認識言語に辞書を関連付ける方法
- 利用可能なメソッドのいずれかを使用して TextLanguage オブジェクトを作成します (例: LanguageDatabase オブジェクトの CreateTextLanguage メソッド) 。
- 新しいテキスト言語の基本言語コレクションを取得します (BaseLanguages プロパティを使用) 。
- 新しい BaseLanguage オブジェクトを作成し、基本言語のコレクションに追加します。
- 新しい基本言語の辞書記述コレクションを取得します (DictionaryDescriptions プロパティ) 。
- 辞書記述を作成し、それを基本言語の辞書記述コレクションに追加します。DictionaryDescriptions コレクションの AddNew メソッドを使用します。
種類の異なる辞書を複数作成し、それらを 1 つの基本認識言語の DictionaryDescriptions コレクションに追加できます。
- [任意] 作成した辞書の重みを指定します。
- 辞書の識別プロパティを指定します。標準辞書の場合は LanguageId プロパティ、ユーザー辞書の場合は FileName プロパティ、正規表現ベースの辞書の場合は IRegExpDictionaryDescription::SetText メソッドを呼び出し、外部辞書の場合は IExternalDictionaryDescription::SetDictionary メソッドを呼び出します。
- [任意] BaseLanguage オブジェクトのその他のプロパティを指定します。
- [任意] TextLanguage オブジェクトの ProhibitingDictionaries プロパティを使用して禁止辞書を設定します。
- 作成した TextLanguage オブジェクトを RecognizerParams オブジェクトの TextLanguage プロパティに割り当てます。
C++ (COM) コード
C++ (COM) コード
C# コード
C# コード
