跳轉到主要內容
這是外部字典的介面。此介面及其所有方法都在用戶端實作。由於它衍生自 IUnknown 介面,因此客戶端物件也應實作 IUnknown 方法。 ABBYY FineReader Engine 物件可搭配下列字典型別使用:標準、使用者,以及以正則表達式為基礎的字典。若這些字典型別不符合您的需求,IExternalDictionary 介面可讓您實作自己的字典型別。您可以藉由 ExternalDictionaryDescription 物件的 SetDictionary 方法附加您的字典。詳情請參閱使用字典一節。

建立外部字典的準則

ABBYY FineReader Engine 會識別文字中的單字,然後將該單字連同其中每個字元的各種識別變體一併傳送至外部字典。字典必須從所有可用組合中,選出屬於字典的那些組合,並透過 IExternalDictionaryCallback 回呼介面傳回。請注意,每個字元的識別變體包含 ABBYY FineReader Engine 預期單字各個位置可能出現的所有變體:
  • 字母大小寫:
    • 如果 ABBYY FineReader Engine 為某個字元提供的變體同時包含大寫與小寫字母,則字典必須同時檢查含大寫字母的單字與含小寫字母的單字,並在找到時傳回這兩種變體。
    • 如果某個字元的變體只包含小寫字母,則字典只能傳回僅含小寫字母的單字。
    • 如果某個字元的變體只包含小寫字母,但字典中只有含大寫字母的單字,則是否確認此組合可由字典自行決定。
    • 一般而言,單字可能有下列拼寫變體:單字中的所有字母皆為小寫、第一個字母為大寫且其餘字母為小寫,以及單字中的所有字母皆為大寫。因此,我們建議您的字典對一般單字只包含這些變體。
  • 變音符號:
    • 如果該語言允許有變音符號和無變音符號兩種寫法,則字典必須能夠確認這兩種變體。
    • 如果該語言只允許一種拼寫變體,則字典只能確認這一種變體。
  • 字元集:
    • 傳送至字典的字元識別變體,只包含 ABBYY FineReader Engine 在該語言中視為可接受的字元。如果某個字元對字典而言是「未知」字元,則字典可以用任何字元取代它。含有該語言字母表中不可接受字元的單字,將會被 ABBYY FineReader Engine 忽略。
  • 連字號:
    • ABBYY FineReader Engine 在將單字傳送至字典之前,會先刪除連字號。因此,如果在傳送的變體中出現連字號,表示 ABBYY FineReader Engine 想要檢查的是帶有連字號的單字。
    • ABBYY FineReader Engine 會將整個單字傳送至字典。如果某個單字換行到下一行且沒有連字號,ABBYY FineReader 會嘗試將兩個部分接起來,然後在字典中檢查連接後的結果。
  • 權重:
    • 單字的標準權重為 100。

方法

名稱描述
CheckPrefix判斷字典是否包含具有指定前綴的單字。
CheckWords透過 ExternalDictionaryCallback 物件的 ExternalDictionaryResult 方法,將集合中包含字典單字的字串資訊傳送給識別器。

輸入參數

ExternalDictionary 物件為 IExternalDictionaryDescription::SetDictionary 方法的輸入參數。

備註

在 Linux 中,若 Engine 物件是以處理序外伺服器的形式載入,則此介面將無法運作。

另請參閱

IExternalDictionaryCallback ExternalDictionaryDescription 使用字典