共用方式為


內嵌物件 (文字服務架構)

文字服務架構可讓文字服務在應用程式文字數據流中內嵌物件。 內嵌物件會使用 值 TS_CHAR_EMBEDDED插入文字數據流中。 這個值會使用十六進位表示法解析為 Unicode 物件取代字元 U+fffc。 例如,下圖顯示內嵌物件的轉譯,該物件代表日文表意 hi,結合代表 “Sun” 英文翻譯的 Unicode 字元序列。

內嵌物件的 字元編碼

圖的頂端數據列包含翻譯的文字,由 「Sun」 一詞組成,後面接著日文字符的太陽,hi。 此圖的中心數據列會顯示 Unicode 字元。 在U+fffc的情況下,這是物件取代字元。 圖的底部數據列顯示每個字元的十六進位值。

支援應用程式中的內嵌物件

TSF 管理員會針對 ACP 型應用程式呼叫 ITextStoreACP::InsertEmbedded,或 針對錨點型應用程式呼叫 ITextStoreAnchor::InsertEmbedded,將內嵌物件插入文字數據流。 插入內嵌物件時,應用程式應該將 TS_CHAR_EMBEDDED 值放在物件內嵌所在的字元位置(或錨點位置),並儲存與內嵌物件相關聯的 IDataObject。 當呼叫 ITextStoreACP::GetTextITextStoreAnchor::GetText,且內嵌物件包含在取得的文字內時,TS_CHAR_EMBEDDED 值表示內嵌物件是否存在和位置。 若要取得內嵌物件,請使用內嵌物件的字元位置呼叫 ITextStoreACP::GetEmbedded,或使用內嵌物件的錨點位置 ITextStoreAnchor::GetEmbedded

應用程式通常無法辨識內嵌物件內容。 應用程式可以嘗試從物件本身取得顯示資訊。 如果內嵌物件可以使用應用程式所辨識的格式提供數據,例如CF_UNICODETEXT或CF_BITMAP,則應用程式可以顯示物件所提供的圖形資訊。

插入內嵌物件

文字服務會呼叫 ITfRange::InsertEmbeddedITfInsertAtSelection::InsertEmbeddedAtSelection::InsertEmbeddedAtSelection,將內嵌物件插入內容中。 文字服務必須提供內嵌的 IDataObject。