转自developerWorks
张 敏 (minz@cn.ibm.com), 软件工程师, IBM
IBM Lotus Symphony 是由 IBM 推出的一套免费的面向办公文档处理的生产力工具集,包括字处理应用、电子表格和演示幻灯片。该工具集支持开放文档格式(Open Document Format),同时兼容 Microsoft Office 文档格式,支持导出为 Adobe PDF 文档格式。
Lotus Symphony 基于 OpenOffice.org 技术进行改良,并将之集成到了 Lotus Expeditor 平台。 Lotus Expeditor 是基于 Eclipse 开源技术的智能客户端平台,提供了丰富的客户端组件,例如内嵌浏览器组件、自动识别和拼写检查等,以及复合应用功能,使得组件之间可以相互通讯、复用和组装(关于 Lotus Expeditor,可以参考 developerWorks 上的 IBM Lotus Expeditor V6.1.1 简介 和 基于 Lotus Expeditor 6.1 的复合应用开发)。这种架构使得 Lotus Symphony 为客户提供了一种全新的用户体验,灵活的可扩展性和集成性。
拼写检查是文档编辑过程中一个非常有用的辅助功能,可以帮助用户检查文档内容是否存在拼写错误。 Lotus Symphony 提供了统一灵活的拼写检查功能,支持同一篇文档中多种语言的拼写检查,字典由 Lotus Expeditor 的拼写检查组件统一管理,三种文档应用共享的拼写检查设置和字典。用户可以更加方便的使用和管理该项功能,开发自己的拼写检查器和字典,甚至利用 Lotus Expeditor 的复合应用技术和其他应用进行集成。
Lotus Symphony 为用户提供了快速拼写检查和交互式拼写检查两种方式。
快速拼写检查
即在用户输入时自动进行拼写检查。如果输入存在拼写错误,错误单词下面会立即标示出特有的下划线提醒用户。下划线缺省颜色为红色,用户可以在首选项设置(文件 > 首选项 >IBM Lotus Symphony> 颜色方式)中更改快速拼写检查的下划线颜色。
在标示有拼写错误的单词上面,用户点击鼠标右键可以打开拼写检查的右键菜单。图 3 展示了一个典型的拼写检查右键菜单。在右键菜单中,首先会给出正确的拼写建议供用户参考,用户可以选择其中一个单词替换当前文本编辑区域中的错误单词。菜单项中同时列出一些用户常见的操作。
右键菜单对于某些单词还会提供一项辅助信息。例如“ tyre ”在英式英语中表示“轮胎”,然而在美式英语中写为“ tire ”。如果“ tyre ”出现在美式英语的文本中,会被标记为拼写错误的单词。对于这类单词,Lotus Symphony 会在右键菜单中提醒用户这是一个其他语言的单词。如图 3 中,提示“单词是 英语 ( 英国 ) ”。如果用户选择“单词是 英语 ( 英国 ) ”,该单词的语言属性会自动变为英语 ( 英国 ) 。如果用户选择“段落是 英语 ( 英国 ) ”,则整个段落的语言属性会变为英语 ( 英国 ) 。该信息仅局限于已经安装了字典的语言。
用户可以通过首选项设置(文件 > 首选项 >IBM Lotus Symphony> 语言设置 > 拼写检查)或者菜单项(工具 > 显示拼写错误)来激活或者关闭快速拼写检查功能。
交互式拼写检查
即通过菜单项(工具 > 拼写检查 ...)或者快捷键 F7 打开拼写检查对话框,以用户交互的方式对某段选定的文本或者整篇文章进行拼写检查。
对于拼写检查,很多用户关心的一个问题是在不同文档之间,或者同一篇文档中是否支持多种语言的拼写检查。 Lotus Symphony 的拼写检查功能提供了非常灵活的语言机制。 Lotus Symphony 为文本赋予了语言属性,用户可以设置整篇文档,一个段落或者某个单词的语言属性。对于不同语言属性的文本,Lotus Symphony 使用和语言属性对应的字典进行拼写检查。
文档级语言设置
每篇文档有自己缺省的语言属性,用户可以通过首选项设置(文件 > 首选项 >IBM Lotus Symphony> 语言设置 > 语言)来查看和修改文档的语言属性。
段落级语言设置
文档中所有文本的缺省语言遵从文档的语言属性,但是用户可以单独修改某个段落的语言属性(菜单项:布局 > 属性 > 段落属性 > 字体)。
单词级语言设置
语言属性设置的最小粒度是字符。用户可以选择一个单词或者几个连续的单词,通过文本属性对话框(菜单项:布局 > 属性 > 文本属性 > 字体)设置选定内容的语言属性。
Lotus Symphony 将字典分为系统字典和用户字典两类。系统字典和拼写检查器一起同软件发布,其格式遵从拼写检查器制定的规范。 Lotus Symphony 的系统字典由底层的 Lotus Expeditor 统一提供和管理。一般一个系统字典对应于一种语言。
对于某种语言的文本,Lotus Symphony 首先会检查是否安装了该语言的系统字典,然后通过拼写检查器查询字典进行拼写检查。英语(美国),英语(英国)和英语(澳大利亚)三种语言的系统字典是和 Lotus Symphony 软件包绑定在一起默认安装的。在语言设置列表中,安装了字典的语言前面会有一个类似于“ ABC √”的标记。所以我们在语言设置列表中总会看到“ English(USA) ”,“ English(UK) ”和“ English(Australia) ”前面有字典标记。另外,软件安装语言对应的字典也会和软件一起被安装。
如果用户希望安装其他语言的字典,可以通过 Lotus Symphony 网站下载安装相应的语言包。 Lotus Symphony1.2 提供了 22 种语言的字典。
| 语言分类 | 支持的语言 |
| Group 1 | English( Australian), English(Great Britain), English(United States), Chinese(Simplified), Chinese(Traditional), French(French), French(Canadian), German(Swiss), German(Germany reform), Italian, Spain, Portuguese(Brazilian) |
| Group 2 | Arabic(Arabic), Czech(Czech Republic), Danish(Denmark), Dutch(Holland), Finnish(Finland), Greek(Greece), Hebrew(Israel), Hungarian, Norwegian(Bokmal), Norwegian(Nynorsk), Polish, Portuguese(Portuguese), Russian(Russia), Swedish(Sweden), Turkish(Turkey) |
| Group 3 | Catalan(Catalan) |
除了系统字典,Lotus Symphony 还提供了界面交互的方式,允许用户创建和管理自己的用户字典。用户可以通过首选项设置(文件 > 首选项 >IBM Lotus Symphony> 语言设置 > 拼写检查)或者前面介绍的交互式拼写检查对话框(图 4)的“选项”按钮打开用户字典管理对话框。
Lotus Symphony 的系统字典和用户字典都是由 Lotus Expeditor 的拼写检查组件集中管理的。如前所述,这种机制不仅使得 Lotus Symphony 的三种文档应用共享一套字典,还可以实现 Lotus Symphony 和其他基于 Lotus Expeditor 的应用程序的拼写检查功能的统一管理,从而提供完整统一的用户体验。
Lotus Symphony 架构在基于 Eclipse 的 Lotus Expeditor 平台上,其拼写检查功能由 Lotus Expeditor 的拼写检查组件统一管理。 Lotus Expeditor 的拼写检查组件使用 Eclipse 插件技术,对拼写检查引擎和字典提供了扩展点。用户可以通过 Eclipse 插件扩展的方式,开发自己的拼写检查引擎和字典插件,部署到 Lotus Symphony 的环境中。
Lotus Expeditor 拼写检查组件 com.ibm.rcp.textanalyzer 提供了两个扩展点“ Engines ”和“ Dictionaries ”。“ Engines ”定义了拼写检查引擎扩展点,允许用户添加自己的拼写检引擎,集成到 Lotus Expeditor 的拼写检查框架中。下面是 textanalyzer 给出的扩展点实例。
这里定义了一个拼写检查引擎“ ABC ”,支持英语(澳大利亚),英语(英国)和英语(美国)三种语言的拼写检查。它需要实现接口 com.ibm.rcp.textanalyzer.spellchecker.SpellCheckerEngine 。
用户还可以通过“ Dictionaries ”扩展点添加系统字典。如清单 2 所示,定义了一个字典“ abcxyz.dic ”,文件路径位于“ ./dictionaries/abcxyz.dic ”。该字典服务于前面定义的拼写检查引擎“ XYZ ”,用于检查英语(澳大利亚)语言单词的拼写。
本文给出了 IBM Lotus Symphony 产品中拼写检查功能的详细介绍,以及基于 Lotus Expeditor 的客户端技术,讨论了用户如何通过 Eclipse 插件扩展的方式实现自己的拼写检查引擎和系统字典,以扩展 Lotus Symphony 的拼写检查能力。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14751907/viewspace-608406/ ,如需转载,请注明出处,否则将追究法律责任。