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