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 值。 应用程序可以使用 SUCCEEDED 和 FAILED 宏测试返回值。
如果匹配的标记数超过 cMaxTags 的值,则函数将失败并E_OUTOFMEMORY。 应用程序可以尝试使用较大的缓冲区再次调用。
注解
虽然正式声明为 ULONG 类型, 但 OPENTYPE_TAG 结构包含一个 4 字节数组,其中包含 4 个 8 位 ASCII 值(即空间、A-Z 或 a-z)。 例如,连字特征的功能标记为“liga”。
此函数隐藏需要脚本或语言的功能,因为整形引擎控制这些功能。 应用程序无法控制语言所需功能的整形引擎处理。 例如, ScriptGetFontFeatureTags 隐藏初始、中音和最终形式的阿拉伯文脚本功能。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | usp10.h |
Library | Usp10.lib |
DLL | Usp10.dll |
可再发行组件 | 在 Windows XP 上 Usp10.dll 版本 1.600 或更高版本 |