IDWriteFontFace::TryGetFontTable 方法 (dwrite.h)
查找指定的 OpenType 字体表(如果存在),并返回指向它的指针。 函数通过字体文件加载程序实现的 IDWriteFontFileStream 接口访问基础字体数据。
语法
HRESULT TryGetFontTable(
[in] UINT32 openTypeTableTag,
[out] const void **tableData,
[out] UINT32 *tableSize,
[out] void **tableContext,
[out] BOOL *exists
);
参数
[in] openTypeTableTag
类型: UINT32
要查找的 OpenType 字体表的四个字符标记。 使用 DWRITE_MAKE_OPENTYPE_TAG 宏将其创建为 UINT32。 与 GDI 不同,它不支持使用特殊的 TTCF 和 null 标记来访问整个字体。
[out] tableData
类型: const void**
此方法返回时,包含指向内存中表基的指针的地址。 只要用于获取字体表的字体仍然存在,指针才有效; (不是任何其他字体,即使它实际上指的是相同的物理字体) 。 此参数未经初始化即被传递。
[out] tableSize
类型: UINT32*
此方法返回时,包含指向字体表的大小(以字节为单位)的指针。
[out] tableContext
类型: void**
此方法返回时,指向不透明上下文的指针的地址,该地址必须通过调用 ReleaseFontTable 来释放。 上下文实际上来自较低级别的 IDWriteFontFileStream,它可能由应用程序或 DWrite 本身实现。 可以返回 NULLtableContext ,尤其是在实现对整个文件执行直接内存映射时。 不过,请始终稍后发布它,不要将其用作函数成功测试。 同一个表可以多次查询,但由于每个返回的上下文可能不同,因此必须单独释放每个上下文。
[out] exists
类型: BOOL*
此方法返回时,如果字体表存在,则为 TRUE ;否则为 FALSE。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
对于每个调用,同一标记的上下文可能不同,因此必须单独保留和释放每个标记。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dwrite.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈