scriptApplyLogicalWidth 函数 (usp10.h)

获取 运行 的前进宽度数组,并生成调整前移字形宽度的数组。

语法

HRESULT ScriptApplyLogicalWidth(
  [in]                const int             *piDx,
  [in]                int                   cChars,
  [in]                int                   cGlyphs,
  [in]                const WORD            *pwLogClust,
  [in]                const SCRIPT_VISATTR  *psva,
  [in]                const int             *piAdvance,
  [in]                const SCRIPT_ANALYSIS *psa,
  [in, out, optional] ABC                   *pABC,
  [out]               int                   *piJustify
);

参数

[in] piDx

指向按逻辑顺序 排列的前进宽度数组的 指针,每个码位一个。

[in] cChars

运行中的逻辑码位计数。

[in] cGlyphs

字形计数。

[in] pwLogClust

指向 ScriptShape 中逻辑群集数组的指针。

[in] psva

指向 ScriptShape 中由 ScriptPlace 更新的SCRIPT_VISATTR结构的指针。

[in] piAdvance

指向 ScriptPlace 中字形前移宽度数组的指针。

[in] psa

指向 ScriptItemize 中的 SCRIPT_ANALYSIS 结构的指针,并通过 ScriptShapeScriptPlace 更新。

[in, out, optional] pABC

指向运行的总体 ABC 宽度 的指针。 输入时, 参数应包含 ScriptPlace 检索的运行 ABC 宽度。 输出时, 参数指示更新的 ABC 宽度以匹配新宽度。

[out] piJustify

指向数组的指针,函数在该数组中检索字形前移宽度。 此数组适合传递给 ScriptTextOutpiJustify 参数。

返回值

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

注解

此函数可用于重新应用使用 ScriptGetLogicalWidths 获取的逻辑宽度。 在图元化等情况下,它很有用,在这种情况下,必须以与字体无关的方式记录和重新应用高级宽度信息,而不依赖于字形替换(如连字)。

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 usp10.h
Library Usp10.lib
DLL Usp10.dll
可再发行组件 Windows Me/98/95 上的 Internet Explorer 5 或更高版本

另请参阅

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptGetLogicalWidths

ScriptItemize

ScriptPlace

ScriptShape

ScriptTextOut

Uniscribe

Uniscribe 函数