C# 範例僅適用於 Windows 版 FRE。
字典類型
標準字典
標準字典
這類字典已預先提供給具有內建字典支援的預定義語言 (請參閱預定義語言清單中的註解) 。此外,對於某些語言,.zmd 封存檔中還包含專業術語字典 (例如醫學和法律) 。標準字典由三個或四個檔案組成。這些檔案的名稱通常與語言的全名或簡稱相同,副檔名為 .amd、.amm、.amt 或 .ame。帶有 .amd、.amm 和 .amt 副檔名的檔案一定會存在。這些檔案儲存在下列資料夾中,且無法變更:Data/ExtendedDictionaries (Linux)、Resources/ExtendedDictionaries (macOS)、Data\ExtendedDictionaries (Windows)。ABBYY FineReader Engine 不提供任何 .ame 檔案:這是一種用於儲存字典擴充的格式,也就是使用者新增至字典中的單字。您可以在 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 dialog box 編輯字典。此對話方塊可讓您匯入任何採用 Windows ANSI 與 Unicode 編碼的文字檔 (唯一要求是單字必須以空格或其他非字母字元分隔) 。這類字典由 UserDictionaryDescription 物件描述。
FineReader Engine 中的使用者字典採用 .amd 檔案格式,且可為任何語言建立。對於不支援字典的語言,它可以取代標準字典。ABBYY FineReader 的使用者字典在 FineReader Engine 中稱為字典擴充;其檔案格式為 .ame,且只能針對支援字典的語言建立,作為該語言標準字典的擴充。
以正規表示式為基礎的字典
以正規表示式為基礎的字典
指定用來定義語言中哪些單字允許、哪些單字不允許的規則。這類字典由 RegExpDictionaryDescription 物件描述。
外部字典
外部字典
可讓您實作自己的字典類型。此字典表示為由用戶端實作的 IExternalDictionary 介面。您可以在此介面的說明中找到建立外部字典的指引。這類字典由 ExternalDictionaryDescription 物件描述。
建立字典描述
字典屬性
- 對於標準字典 (StandardDictionaryDescription),請指定其 LanguageId 屬性,該屬性定義語言 ID。
- 對於使用者字典 (UserDictionaryDescription),請指定其 FileName 屬性,該屬性提供使用者字典的路徑。
- 對於以正規表示式為基礎的字典 (RegExpDictionaryDescription),請使用 SetText 方法指定正規表示式。請參閱 使用 ABBYY FineReader Engine 正規表示式。
- 對於外部字典 (ExternalDictionaryDescription),請使用 SetDictionary 方法指定字典。
辨識語言的字典
如何將字典附加到辨識語言
- 使用其中一種可用的方法建立 TextLanguage 物件 (例如 LanguageDatabase 物件的 CreateTextLanguage 方法) 。
- 取得新文字語言的基礎語言集合 (使用 BaseLanguages 屬性) 。
- 建立新的 BaseLanguage 物件,並將其加入基礎語言集合。
- 取得新基礎語言的字典描述集合 (DictionaryDescriptions 屬性) 。
- 建立字典描述,並將其加入基礎語言的字典描述集合。使用 DictionaryDescriptions 集合的 AddNew 方法。
您可以建立多個不同類型的字典,並將它們加入同一個基礎辨識語言的 DictionaryDescriptions 集合。
- [選用] 指定所建立字典的權重。
- 指定字典的識別屬性:標準字典使用 LanguageId 屬性,使用者字典使用 FileName 屬性,以正規表示式為基礎的字典請呼叫 IRegExpDictionaryDescription::SetText 方法,外部字典請呼叫 IExternalDictionaryDescription::SetDictionary 方法。
- [選用] 指定 BaseLanguage 物件的其他屬性。
- [選用] 使用 TextLanguage 物件的 ProhibitingDictionaries 屬性設定禁用字典。
- 將建立的 TextLanguage 物件指派給 RecognizerParams 物件的 TextLanguage 屬性。
C++ (COM) 程式碼
C++ (COM) 程式碼
C# 程式碼
C# 程式碼
