IPrintCoreHelper::SetFontSubstitution 方法 (prcomoem.h)

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

語法

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

參數

[in] pszTrueTypeFontName

Null 終止 Unicode 字串的指標,其中包含有效的 TrueType 字型名稱。 此參數不得為 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 來列舉裝置字型。 回呼參數 ( (請參閱 EnumFontFamProc) 的 EnumFontFamilies 應該藉由遞增位 AND 結果 (FontType & TRUETYPE_FONTTYPE) 為非零的每個字型遞增計數器來篩選裝置字型。

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包含 Prcomoem.h)

另請參閱

IPrintCoreHelper

IPrintCoreHelper::GetFontSubstitution