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) |