ScriptCPtoX 函数 (usp10.h)

生成从运行的左端或前边缘到逻辑字符 群集的前边缘或尾边缘的 x 偏移量。

语法

HRESULT ScriptCPtoX(
  [in]  int                   iCP,
  [in]  BOOL                  fTrailing,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [in]  const int             *piAdvance,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] int                   *piX
);

参数

[in] iCP

运行中的逻辑字符位置。 此参数对应于群集中任何逻辑字符的偏移量。

[in] fTrailing

如果为 TRUE ,则使用逻辑字符群集的尾边缘来计算偏移量。 此参数设置为 FALSE 以使用逻辑字符群集的前边缘。

[in] cChars

运行中的字符数。

[in] cGlyphs

运行中的字形数。

[in] pwLogClust

指向逻辑群集的指针。

[in] psva

指向 SCRIPT_VISATTR 视觉对象属性数组的指针。

[in] piAdvance

指向前进宽度值的指针。

[in] psa

指向 SCRIPT_ANALYSIS 结构的指针。 fLogicalOrder 成员指定要从中测量偏移量的运行结束。 如果设置了标志,则使用运行的前导边缘。 如果未设置标志,则使用运行的左端。

[out] piX

指向缓冲区的指针,函数在其中检索插入符号的 x 位置。

返回值

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

注解

字符的前导或尾边缘和运行的前边缘取决于运行中的文本方向。

对于插入符号通常放置在群集中间的脚本, (例如阿拉伯语和希伯来语) ,检索的克拉 x 位置可以是行中任何代码点的内插位置。

对于插入符号通常贴靠到群集边界 ((例如泰语和印度) )的脚本,x 位置将贴靠到包含 iCP 指示的逻辑字符位置的群集的请求边缘。

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

ScriptXtoCP

Uniscribe

Uniscribe 函数