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 结构的指针,并通过 ScriptShape 和 ScriptPlace 更新。
[in, out, optional] pABC
指向运行的总体 ABC 宽度 的指针。 输入时, 参数应包含 ScriptPlace 检索的运行 ABC 宽度。 输出时, 参数指示更新的 ABC 宽度以匹配新宽度。
[out] piJustify
指向数组的指针,函数在该数组中检索字形前移宽度。 此数组适合传递给 ScriptTextOut 的 piJustify 参数。
返回值
如果成功,则返回 0。 如果函数不成功,则返回非零 HRESULT 值。 应用程序可以使用 SUCCEEDED 和 FAILED 宏测试返回值。
注解
此函数可用于重新应用使用 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 或更高版本 |