辨識器格結構
與 Windows Vista 和 Windows XP Tablet PC Edition 搭配使用的辨識器會使用一組結構,每個結構稱為格子,將辨識結果傳回平板電腦平台連結庫。 平板計算機平台接著會將這些結構中的資訊複製到 IInkRecognitionResult 物件、IInkRecognitionAlternates 集合,以及 IInkRecognitionAlternate 物件。
當平臺呼叫 HRECOCONTEXT 句柄上的 GetLatticePtr 函式時,應該傳回辨識器的指標。
本節將詳細說明格結構。 如需辨識器和相關概念的概觀,請參閱 關於手寫辨識。
需要一個格子
辨識器可能會找到數種方式,將一組筆墨筆劃分成辨識區段。 辨識器用來作為辨識區段的內容取決於辨識器的類型。 英文語言辨識器通常會使用單字作為辨識區段。 其他辨識器可能會使用字元、圖形或手勢作為辨識區段。 格子結構的彈性可讓邏輯管理大量可在複雜關聯性中結合的辨識結果。
在內部,辨識器會使用格子來保存指定筆墨的基本辨識單位。 格子也會保留合併結果的分數或信賴等級。 此外,格子會儲存區段與原始筆墨筆劃的對應。
Lattice 結構定義於 RecTypes.h 頭檔中。 格子結構包含下列結構:
Lattice 元件
下列範例使用 「together」 一詞的筆劃,如下圖所示。 在範例中,區段會評估為一或多個單字。 數位代表所評估區段中的個別筆劃。 請注意,每個 「t」 字元都包含兩個筆劃。
“together” 一詞的
格子是由一個或多個數據行組成,每個區段各一個。 每個數據行都會包含一或多個元素。 專案會保存離散辨識替代專案。 如需數據行的詳細資訊,請參閱 RECO_LATTICE_COLUMN 結構。 如需元素的詳細資訊,請參閱 RECO_LATTICE_ELEMENT 結構。
評估上一個範例所示的筆跡樣本時,辨識器可能會傳回單一區段。 在此情況下,格子包含具有單一元素的單一數據行。
當辨識器評估筆跡樣本,並針對每個區段提供多個區段和多個替代專案時,更複雜的範例就會呈現本身。
辨識替代項目的數目可能令人吃驚,即使是小型筆跡樣本也一樣。 例如,「t o g e t h e r」 可以產生下列結果:
- “找她”(加上每個字的替代)
- “to gather” (加上每個字的替代專案)
- “得到她”(加上每個字的替代)
- “together” (加上字組的替代專案)
在此情況下,辨識器可能會建立下列格子結構。
注意
每個數據行都會共用相同的筆劃順序,因為它們都參考相同的 InkStrokes 集合。