共用方式為


IPrintCoreHelperPS::SetFontSubstitution 方法 (prcomoem.h)

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

語法

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

參數

[in] pszTrueTypeFontName

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

[in] pszDevFontName

以 Null 結尾的 Unicode 字串指標,其中包含裝置字型的名稱。

傳回值

IPrintCoreHelperPS::GetFontSubstitution 應該會傳回下列其中一個值。

傳回碼 描述
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 Microsoft Windows SDK 檔中的 EnumFontFamProc,) EnumFontFamilies 應藉由遞增位 AND 結果 (FontType & TRUETYPE_FONTTYPE) 為非零的每個字型計數器來篩選裝置字型。 Windows SDK 檔中會說明 SetGraphicsModeEnumFontFamiliesEnumFontFamProc 函式。

規格需求

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

另請參閱

IPrintCoreHelperPS

IPrintCoreHelperPS::GetFontSubstitution