IPrintCoreHelperUni::SetFontSubstitution 方法 (prcomoem.h)

方法 IPrintCoreHelperUni::SetFontSubstitution 指定要打印的设备字体来代替给定的 TrueType 字体。

语法

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

参数

[in] pszTrueTypeFontName

指向包含有效 TrueType 字体名称的以 null 结尾的 Unicode 字符串的指针。 此参数不得为 NULL

[in] pszDevFontName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含设备字体的名称。

返回值

IPrintCoreHelperUni::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 枚举设备字体。 回调参数 (请参阅Microsoft Windows SDK文档中的 EnumFontFamProc,) EnumFontFamilies 应通过递增每个字体的计数器来筛选设备字体,这些字体 (FontType & TRUETYPE_FONTTYPE) 的按位 AND 结果为非零。 Windows SDK 文档中介绍了 SetGraphicsModeEnumFontFamiliesEnumFontFamProc 函数。

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)

另请参阅

IPrintCoreHelperUni

IPrintCoreHelperUni::GetFontSubstitution