共用方式為


IPrintCoreHelper::SetFontSubstitution 方法 (prcomoem.h)

IPrintCoreHelper::SetFontSubstitution 方法會指定要列印的裝置字型來取代指定的 TrueType 字型。

語法

HRESULT SetFontSubstitution(
  [in] IN PCWSTR pszTrueTypeFontName,
  [in] IN PCWSTR pszDevFontName
);

參數

[in] pszTrueTypeFontName

包含有效 TrueType 字型名稱之 Null 終止 Unicode 字串的指標。 此參數不得 NULL

[in] pszDevFontName

包含裝置字型名稱之 Null 終止 Unicode 字串的指標。

傳回值

IPrintCoreHelper::SetFontSubstitution 應該傳回下列其中一個值:

傳回碼 描述
S_OK 方法會讀取指定之功能的選項。
E_FAIL 要求的字型不存在或不是 TrueType 字型。
E_INVALIDARG 一或多個自變數無效。
E_OUTOFMEMORY 核心驅動程式無法服務要求,因為記憶體不足。
E_UNEXPECTED 或其他未列於此處的傳回碼 核心驅動程式似乎處於無效狀態。 呼叫端應該傳回失敗碼。

言論

設定裝置字型以取代指定的 TrueType 字型只能在裝置屬性表會話期間發生,而且只有在啟用完整 UI 取代時才會發生。 pszTrueTypeFontName 參數所代表的字型必須是有效的 TrueType 字型,而且必須安裝在印表機上。 pszDevFontName 參數所代表的裝置字型必須是此印表機的有效字型。

如果指定的 TrueType 字型的替代對應已存在於此佇列中,SetFontSubstitution 方法將會以無訊息方式取代對應。 若要移除替代對應,請使用 pszTrueTypeFontName 中指定的 TrueType 字型名稱 呼叫此方法,並使用 pszDevFontName 中指定的 NULL

若要取得有效的裝置字型清單,請建立目前印表機的信息內容,並呼叫 SetGraphicsMode(hIC, GM_ADVANCED)。 然後,透過呼叫 EnumFontFamilies來列舉裝置字型。 EnumFontFamilies 的回呼參數(請參閱 EnumFontFamProc),應藉由遞增位 AND 結果 (FontType & TRUETYPE_FONTTYPE) 為非零的每個字型遞增計數器來篩選裝置字型。

要求

要求 價值
目標平臺 桌面
標頭 prcomoem.h (include Prcomoem.h)

另請參閱

IPrintCoreHelper

IPrintCoreHelper::GetFontSubstitution