IPrintCoreHelperUni::GetFontSubstitution 方法 (prcomoem.h)
IPrintCoreHelperUni::GetFontSubstitution 方法指示哪个设备字体(如果有)用作指定 TrueType 字体的替换字体。
语法
HRESULT GetFontSubstitution(
[in] IN PCWSTR pszTrueTypeFontName,
[out] OUT PCWSTR *ppszDevFontName
);
参数
[in] pszTrueTypeFontName
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含 TrueType 字体的名称。
[out] ppszDevFontName
指向变量的指针,该变量接收以 null 结尾的 Unicode 字符串的地址。 此字符串包含将用于替换 pszFontName 参数中指定的 TrueType 字体的设备字体的名称。 如果没有可用作指定 TrueType 字体的替代的设备字体,则此参数将设置为 NULL。
返回值
IPrintCoreHelperUni::GetFontSubstitution 应返回以下值之一:
返回代码 | 说明 |
---|---|
S_OK | 方法读取指定功能的 选项。 |
E_FAIL | 请求的字体不存在或不是 TrueType 字体。 |
E_INVALIDARG | 一个或多个自变量无效。 |
E_OUTOFMEMORY | 核心驱动程序无法为请求提供服务,因为内存不足。 |
E_UNEXPECTED或此处未列出的其他返回代码 | 核心驱动程序似乎处于无效状态。 调用方应返回失败代码。 |
注解
如果应用程序尝试打印使用 pszTrueTypeFontName 参数中指定的 TrueType 字体的文本,则将改用 ppszDevFontName 参数中指定的设备字体打印该文本。 设备字体名称必须是有效的已安装字体的名称。
字体由字体人脸名称标识,该名称显示在 LOGFONT 结构的 lfFaceName 成员中。
若要获取可用字体的列表,请为当前打印机创建信息上下文,并调用 SetGraphicsMode (hIC GM_ADVANCED) 。 然后通过调用 EnumFontFamilies 来枚举设备字体。 回调参数 (请参阅 EnumFontFamProc) 的 EnumFontFamilies 应通过递增每个字体的计数器来筛选设备字体,这些字体 (FontType & TRUETYPE_FONTTYPE) 的按位 AND 结果为非零。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |