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 Vista 的 Windows 7、带有 SP2 和平台更新的 Windows Vista [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | dwrite.h |
库 | Dwrite.lib |
DLL | Dwrite.dll |