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 字节数组,其中包含四个 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 函数