ScriptGetFontFeatureTags 函数 (usp10.h)

检索用于 OpenType 处理的已定义书写系统的版式特征列表。 从提供的设备上下文或缓存中的字体中检索构成列表的版式功能标记。

语法

HRESULT ScriptGetFontFeatureTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           OPENTYPE_TAG    tagScript,
  [in]           OPENTYPE_TAG    tagLangSys,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pFeatureTags,
  [out]          int             *pcTags
);

参数

[in, optional] hdc

设备上下文的句柄。 有关详细信息,请参阅 缓存

[in, out] psc

指向标识脚本缓存 的SCRIPT_CACHE 结构的指针。

[in, optional] psa

指向从先前调用 ScriptItemizeOpenType 获取的SCRIPT_ANALYSIS结构的指针。 此参数标识整形引擎,以便检索相应字体和脚本的字体功能标记。

或者,应用程序可以将此参数设置为 NULL 以检索未筛选的结果。

[in] tagScript

定义与指定功能标记关联的脚本标记的 OPENTYPE_TAG 结构。

[in] tagLangSys

定义与指定功能标记关联的语言标记 的OPENTYPE_TAG 结构。

[in] cMaxTags

pFeatureTags 指定的数组的长度。

[out] pFeatureTags

指向缓冲区的指针,此函数在其中检索一组 OPENTYPE_TAG 结构,这些结构定义字体在设备上下文或为定义的书写系统缓存支持的字体功能标记。

[out] pcTags

指向功能标记数组中元素数的指针。

返回值

如果成功,则返回 0。 如果函数不成功,则返回非零 HRESULT 值。 应用程序可以使用 SUCCEEDEDFAILED 宏测试返回值。

如果匹配的标记数超过 cMaxTags 的值,则函数将失败并E_OUTOFMEMORY。 应用程序可以尝试使用较大的缓冲区再次调用。

注解

虽然正式声明为 ULONG 类型, 但 OPENTYPE_TAG 结构包含一个 4 字节数组,其中包含 4 个 8 位 ASCII 值(即空间、A-Z 或 a-z)。 例如,连字特征的功能标记为“liga”。

此函数隐藏需要脚本或语言的功能,因为整形引擎控制这些功能。 应用程序无法控制语言所需功能的整形引擎处理。 例如, ScriptGetFontFeatureTags 隐藏初始、中音和最终形式的阿拉伯文脚本功能。

重要从Windows 8开始:若要保持在 Windows 7 上运行的功能,使用 Uniscribe 的模块必须在其库列表中指定 gdi32.lib 之前的 Usp10.lib。
 

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 usp10.h
Library Usp10.lib
DLL Usp10.dll
可再发行组件 在 Windows XP 上 Usp10.dll 版本 1.600 或更高版本

另请参阅

缓存

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Uniscribe 函数