IBM Lotus Symphony 拼寫檢查功能介紹及使用者擴充套件

genusBIT發表於2009-07-06

轉自developerWorks

張 敏 (minz@cn.ibm.com), 軟體工程師, IBM

Lotus Symphony 簡介

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 為客戶提供了一種全新的使用者體驗,靈活的可擴充套件性和整合性。


圖 1. Lotus Symphony 使用者介面
圖 1. Lotus Symphony 使用者介面 

Lotus Symphony 拼寫檢查功能介紹

拼寫檢查是文件編輯過程中一個非常有用的輔助功能,可以幫助使用者檢查文件內容是否存在拼寫錯誤。 Lotus Symphony 提供了統一靈活的拼寫檢查功能,支援同一篇文件中多種語言的拼寫檢查,字典由 Lotus Expeditor 的拼寫檢查元件統一管理,三種文件應用共享的拼寫檢查設定和字典。使用者可以更加方便的使用和管理該項功能,開發自己的拼寫檢查器和字典,甚至利用 Lotus Expeditor 的複合應用技術和其他應用進行整合。

拼寫檢查啟用方式

Lotus Symphony 為使用者提供了快速拼寫檢查和互動式拼寫檢查兩種方式。

快速拼寫檢查

即在使用者輸入時自動進行拼寫檢查。如果輸入存在拼寫錯誤,錯誤單詞下面會立即標示出特有的下劃線提醒使用者。下劃線預設顏色為紅色,使用者可以在首選項設定(檔案 > 首選項 >IBM Lotus Symphony> 顏色方式)中更改快速拼寫檢查的下劃線顏色。


圖 2. 首選項快速拼寫檢查顏色設定
圖 2. 首選項快速拼寫檢查顏色設定

在標示有拼寫錯誤的單詞上面,使用者點選滑鼠右鍵可以開啟拼寫檢查的右鍵選單。圖 3 展示了一個典型的拼寫檢查右鍵選單。在右鍵選單中,首先會給出正確的拼寫建議供使用者參考,使用者可以選擇其中一個單詞替換當前文字編輯區域中的錯誤單詞。選單項中同時列出一些使用者常見的操作。

  • 拼寫檢查 ...”:開啟拼寫檢查對話方塊,裡面包含所有使用者可以執行的拼寫檢查相關的操作。該對話方塊會在互動式拼寫檢查中詳細介紹。
  • 新增”:將當前被認為存在拼寫錯誤的單詞加入指定的使用者字典。
  • 自動忽略”:忽略該拼寫錯誤。該操作的時效性僅限於本次程式啟動,即在本次啟動中,所有文件中該單詞的出現都被認為是正確的拼寫。但是一旦關掉 Lotus Symphony,下次再啟動的時候,該單詞仍被標示為拼寫錯誤的單詞。
  • 快速更正”:啟動快速更正功能,當使用者輸入該錯誤單詞時,程式會自動將該單詞替換為使用者指定的正確單詞。使用者可以通過選單項(工具 > 快速更正 ...> 替換)來管理該功能。


圖 3. 快速拼寫檢查右鍵選單
圖 3. 快速拼寫檢查右鍵選單

右鍵選單對於某些單詞還會提供一項輔助資訊。例如“ tyre ”在英式英語中表示“輪胎”,然而在美式英語中寫為“ tire ”。如果“ tyre ”出現在美式英語的文字中,會被標記為拼寫錯誤的單詞。對於這類單詞,Lotus Symphony 會在右鍵選單中提醒使用者這是一個其他語言的單詞。如圖 3 中,提示“單詞是 英語 ( 英國 ) ”。如果使用者選擇“單詞是 英語 ( 英國 ) ”,該單詞的語言屬性會自動變為英語 ( 英國 ) 。如果使用者選擇“段落是 英語 ( 英國 ) ”,則整個段落的語言屬性會變為英語 ( 英國 ) 。該資訊僅侷限於已經安裝了字典的語言。

使用者可以通過首選項設定(檔案 > 首選項 >IBM Lotus Symphony> 語言設定 > 拼寫檢查)或者選單項(工具 > 顯示拼寫錯誤)來啟用或者關閉快速拼寫檢查功能。

互動式拼寫檢查

即通過選單項(工具 > 拼寫檢查 ...)或者快捷鍵 F7 開啟拼寫檢查對話方塊,以使用者互動的方式對某段選定的文字或者整篇文章進行拼寫檢查。


圖 4. 互動式拼寫檢查對話方塊
圖 4. 互動式拼寫檢查對話方塊

  • 語言”下拉選單:使用列表中語言所對應的字典檢查當前單詞。列表中列出安裝了字典的所有語言;
  • 詞典”下拉選單:通過點選右側的“新增”按鈕將當前單詞加入到指定的使用者字典中;
  • 忽略”按鈕:不對當前拼寫錯誤的單詞做任何操作,繼續後面的拼寫檢查;
  • 自動忽略”按鈕:和快速拼寫檢查右鍵選單的自動忽略功能相同;
  • 替換”按鈕:將當前錯誤單詞替換為建議列表中選定的單詞;
  • 自動 替換”按鈕:用建議列表中選定的單詞替換選定文字或者整篇文件中該單詞的所有例項;
  • 快速更正”按鈕:將當前的錯誤單詞和建議列表中選定的單詞加入到快速更正的替換表中(工具 > 快速更正 ...> 替換);
  • 選項”按鈕:開啟拼寫檢查選項對話方塊。使用者可以在該對話方塊中管理使用者字典,修改拼寫檢查設定。使用者也可以通過首選項(檔案 > 首選項 >IBM Lotus Symphony> 語言設定 > 拼寫檢查)來開啟拼寫檢查選項對話方塊 ( 圖 7) ;
  • 向後”核取方塊:以倒序的方式從後向前檢查文字。

拼寫檢查語言設定

對於拼寫檢查,很多使用者關心的一個問題是在不同文件之間,或者同一篇文件中是否支援多種語言的拼寫檢查。 Lotus Symphony 的拼寫檢查功能提供了非常靈活的語言機制。 Lotus Symphony 為文字賦予了語言屬性,使用者可以設定整篇文件,一個段落或者某個單詞的語言屬性。對於不同語言屬性的文字,Lotus Symphony 使用和語言屬性對應的字典進行拼寫檢查。

文件級語言設定

每篇文件有自己預設的語言屬性,使用者可以通過首選項設定(檔案 > 首選項 >IBM Lotus Symphony> 語言設定 > 語言)來檢視和修改文件的語言屬性。


圖 5. 文件語言屬性設定
圖 5. 文件語言屬性設定

段落級語言設定

文件中所有文字的預設語言遵從文件的語言屬性,但是使用者可以單獨修改某個段落的語言屬性(選單項:佈局 > 屬性 > 段落屬性 > 字型)。


圖 6. 段落語言屬性設定
圖 6. 段落語言屬性設定

單詞級語言設定

語言屬性設定的最小粒度是字元。使用者可以選擇一個單詞或者幾個連續的單詞,通過文字屬性對話方塊(選單項:佈局 > 屬性 > 文字屬性 > 字型)設定選定內容的語言屬性。

字典的管理

Lotus Symphony 將字典分為系統字典和使用者字典兩類。系統字典和拼寫檢查器一起同軟體釋出,其格式遵從拼寫檢查器制定的規範。 Lotus Symphony 的系統字典由底層的 Lotus Expeditor 統一提供和管理。一般一個系統字典對應於一種語言。

對於某種語言的文字,Lotus Symphony 首先會檢查是否安裝了該語言的系統字典,然後通過拼寫檢查器查詢字典進行拼寫檢查。英語(美國),英語(英國)和英語(澳大利亞)三種語言的系統字典是和 Lotus Symphony 軟體包繫結在一起預設安裝的。在語言設定列表中,安裝了字典的語言前面會有一個類似於“ ABC √”的標記。所以我們在語言設定列表中總會看到“ English(USA) ”,“ English(UK) ”和“ English(Australia) ”前面有字典標記。另外,軟體安裝語言對應的字典也會和軟體一起被安裝。

如果使用者希望安裝其他語言的字典,可以通過 Lotus Symphony 網站下載安裝相應的語言包。 Lotus Symphony1.2 提供了 22 種語言的字典。


表 1. Lotus Symphony 系統字典列表

語言分類 支援的語言
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)的“選項”按鈕開啟使用者字典管理對話方塊。


圖 7. 使用者字典管理對話方塊
圖 7. 使用者字典管理對話方塊

  • 使用者定義的字典”:列出了當前所有的使用者字典。字典前面的核取方塊表示該字典是否啟用。這裡有兩個預設的使用者字典 standard[All] 和 IgnoreAllList[All] 。“ standard ”為字典名稱,方括號中的內容表示該字典的語言屬性。這裡,“ [All] ”表示該字典適用於所有語言。 IgnoreAllList[All] 字典為臨時字典,用於儲存前面提到的所有被“自動忽略”的單詞,該字典在程式關閉的時候會被自動刪除。
  • 新建”按鈕:建立一個新的字典,指定該字典的名稱和語言屬性。
  • 編輯”按鈕:編輯當前選定的使用者字典,向該字典中新增或者刪除單詞。
  • 刪除”按鈕:刪除當前選定的使用者字典。

Lotus Symphony 的系統字典和使用者字典都是由 Lotus Expeditor 的拼寫檢查元件集中管理的。如前所述,這種機制不僅使得 Lotus Symphony 的三種文件應用共享一套字典,還可以實現 Lotus Symphony 和其他基於 Lotus Expeditor 的應用程式的拼寫檢查功能的統一管理,從而提供完整統一的使用者體驗。

Lotus Symphony 拼寫檢查功能的可程式設計性

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 給出的擴充套件點例項。


清單 1. “ Engines ”擴充套件示例

				
  
    
 

這裡定義了一個拼寫檢查引擎“ ABC ”,支援英語(澳大利亞),英語(英國)和英語(美國)三種語言的拼寫檢查。它需要實現介面 com.ibm.rcp.textanalyzer.spellchecker.SpellCheckerEngine 。

使用者還可以通過“ Dictionaries ”擴充套件點新增系統字典。如清單 2 所示,定義了一個字典“ abcxyz.dic ”,檔案路徑位於“ ./dictionaries/abcxyz.dic ”。該字典服務於前面定義的拼寫檢查引擎“ XYZ ”,用於檢查英語(澳大利亞)語言單詞的拼寫。


清單 2. “ Dictionaries ”擴充套件示例

				
  
    
 

結束語

本文給出了 IBM Lotus Symphony 產品中拼寫檢查功能的詳細介紹,以及基於 Lotus Expeditor 的客戶端技術,討論了使用者如何通過 Eclipse 外掛擴充套件的方式實現自己的拼寫檢查引擎和系統字典,以擴充套件 Lotus Symphony 的拼寫檢查能力。


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-608406/,如需轉載,請註明出處,否則將追究法律責任。

相關文章