IPrintCoreHelperPS::SetFontSubstitution 方法 (prcomoem.h)
IPrintCoreHelperPS::SetFontSubstitution 方法指定要打印的设备字体代替给定的 TrueType 字体。
语法
HRESULT SetFontSubstitution(
[in] IN PCWSTR pszTrueTypeFontName,
[in] IN PCWSTR pszDevFontName
);
参数
[in] pszTrueTypeFontName
指向包含有效 TrueType 字体名称的以 null 结尾的 Unicode 字符串的指针。 此参数不得 NULL。
[in] pszDevFontName
指向包含设备字体名称的以 null 结尾的 Unicode 字符串的指针。
返回值
IPrintCoreHelperPS::GetFontSubstitution 应返回以下值之一。
返回代码 | 描述 |
---|---|
|
该方法读取指定功能的选项。 |
|
请求的字体不存在或不是 TrueType 字体。 |
|
一个或多个参数无效。 |
|
核心驱动程序无法为请求提供服务,因为内存不足。 |
|
核心驱动程序似乎处于无效状态。 调用方应返回失败代码。 |
言论
仅当设备属性表会话期间,才能将设备字体设置为代替指定的 TrueType 字体,并且仅在启用完全 UI 替换时发生。 由 pszTrueTypeFontName 参数表示的字体必须是有效的 TrueType 字体,并且必须安装在打印机上。 由 pszDevFontName 参数表示的设备字体必须是此打印机的有效字体。
如果此队列中已存在指定 TrueType 字体的替换映射,则 SetFontSubstitution 方法将无提示地替换映射。 若要删除替换映射,请使用 pszTrueTypeFontName 中指定的 TrueType 字体名称以及 pszDevFontName中指定的 NULL 调用此方法。
若要获取有效设备字体的列表,请为当前打印机创建信息上下文,并调用 SetGraphicsMode(hIC, GM_ADVANCED)。 然后,通过调用 EnumFontFamilies枚举设备字体。 回调参数(请参阅 Microsoft Windows SDK 文档中的 enumFontFamProc),EnumFontFamilies 应通过递增按位 AND 结果(FontType & TRUETYPE_FONTTYPE)的每个字体的计数器来筛选设备字体。 Windows SDK 文档中介绍了 SetGraphicsMode、EnumFontFamilies和 EnumFontFamProc 函数。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |