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 中。字典扩展可通过 ILanguageDatabase::OpenDictionaryExtension 方法在 ABBYY FineReader Engine 中进行编辑。这种字典类型由 StandardDictionaryDescription 对象描述。
用户字典
用户字典
可使用 Dictionary 对象创建。Dictionary 对象允许您通过其方法添加和删除单词。在 Windows 中,Dictionary 对象还允许您借助 Dictionary 对话框 编辑字典。该对话框支持导入任何采用 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# 代码
