IDWriteFontFace1::GetUnicodeRanges 方法 (dwrite_1.h)

检索字体支持的字符范围的列表。

语法

HRESULT GetUnicodeRanges(
                  UINT32               maxRangeCount,
  [out, optional] DWRITE_UNICODE_RANGE *unicodeRanges,
  [out]           UINT32               *actualRangeCount
);

参数

maxRangeCount

类型: UINT32

从客户端传入的最大字符范围数。

[out, optional] unicodeRanges

类型: DWRITE_UNICODE_RANGE*

用字符范围填充 的DWRITE_UNICODE_RANGE 结构的数组。

[out] actualRangeCount

类型: UINT32*

指向实际字符范围数的指针,无论最大计数如何。

返回值

类型: HRESULT

此方法可以返回其中一个值。

返回值 说明
S_OK
方法已成功执行。
E_NOT_SUFFICIENT_BUFFER
缓冲区太小。 actualRangeCount 大于 maxRangeCount

注解

字体支持的字符范围列表对于字符选取、字形显示和高效字体选择查找等方案非常有用。 这类似于 GDI 的 GetFontUnicodeRanges,只不过它返回完整的 Unicode 范围,而不仅仅是 16 位 UCS-2。

这些范围来自 cmap,而不是 OS/2::ulCodePageRange1。

如果此方法不可用,则可以使用 IDWriteFontFace::GetGlyphIndices 方法检查缺少字形。 方法返回字体中不存在的字形的 0 索引。

在需要连续检查一个字符或一系列单个字符(如字体回退)的情况下,IDWriteFont::HasCharacter 方法通常更简单。

要求

要求
最低受支持的客户端 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dwrite_1.h
Library Dwrite_1.lib
DLL Dwrite_1.dll

另请参阅

IDWriteFontFace1