scriptGetFontLanguageTags 函数 (usp10.h)

检索可用于指定项且受 OpenType 处理的指定脚本标记支持的语言标记列表。 从指定设备上下文或缓存中的字体检索构成列表的标记。

语法

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

参数

[in, optional] hdc

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

[in, out] psc

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

[in, optional] psa

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

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

[in] tagScript

一个OPENTYPE_TAG结构,用于定义为其请求关联语言标记列表的脚本标记。

[in] cMaxTags

pLangSysTags 指定的数组的长度。

[out] pLangsysTags

指向缓冲区的指针,此函数在其中检索标识与输入条件匹配的语言标记 的OPENTYPE_TAG 结构的数组。

[out] pcTags

指向语言标记数组中元素数的指针。

返回值

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

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

注解

虽然正式声明为 ULONG 类型, 但 OPENTYPE_TAG 结构包含一个 4 字节数组,其中包含空间 A-Z 或 a-z 的四个 8 位 ASCII 值。 例如,罗马尼亚语、乌尔都语和波斯语的语言标记分别为“ROM”、“URD”和“FAR”。 请注意,每个标记以空格结尾。

重要 从 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 函数