IPrintCoreHelper::GetFontSubstitution 方法 (prcomoem.h)

IPrintCoreHelper::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

返回值

IPrintCoreHelper::GetFontSubstitution 应返回以下值之一:

返回代码 描述
S_OK 该方法读取指定功能的选项。
E_FAIL 请求的字体不存在或不是 TrueType 字体。
E_INVALIDARG 一个或多个参数无效。
E_OUTOFMEMORY 核心驱动程序无法为请求提供服务,因为内存不足。
此表中其他位置未列出的 E_UNEXPECTED 或其他返回代码 核心驱动程序似乎处于无效状态。 调用方应返回失败代码。

言论

如果应用程序尝试打印使用 pszTrueTypeFontName 参数中指定的 TrueType 字体的文本,该文本将改为打印在 ppszDevFontName 参数中指定的设备字体中。 设备字体名称必须是有效的已安装字体。

字体由字体人脸名称标识,该名称显示在 LOGFONT 结构的 lfFaceName 成员中。

若要获取可用字体列表,请为当前打印机创建信息上下文,并调用 SetGraphicsMode(hIC、GM_ADVANCED)。 然后通过调用 EnumFontFamilies枚举设备字体。 EnumFontFamilies 的回调参数(见 EnumFontFamProc)应通过递增按位 AND 结果(FontType & TRUETYPE_FONTTYPE)为非零的每个字体筛选设备字体。

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)

另请参阅

IPrintCoreHelper

IPrintCoreHelper::SetFontSubstitution