scriptGetLogicalWidths 函数 (usp10.h)

将特定字体的字形 前移宽度 转换为逻辑宽度。

语法

HRESULT ScriptGetLogicalWidths(
  [in]  const SCRIPT_ANALYSIS *psa,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const int             *piGlyphWidth,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [out] int                   *piDx
);

参数

[in] psa

指向 SCRIPT_ANALYSIS 结构的指针。

[in] cChars

运行中的逻辑码位计数。

[in] cGlyphs

运行中的字形计数。

[in] piGlyphWidth

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

[in] pwLogClust

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

[in] psva

指向定义视觉对象属性 的SCRIPT_VISATTR 结构的指针。

[out] piDx

指向逻辑宽度数组的指针。

返回值

当前在所有情况下都返回S_OK。

注解

此函数可用于以与字体无关的方式记录宽度。 它将为特定字体计算的字形前移宽度转换为逻辑宽度,每个码位一个,顺序与码位相同。 如果使用相同的字体在不同的设备上显示同一字符串,则可以使用 ScriptApplyLogicalWidth 应用逻辑宽度来近似原始位置。 此机制在实现打印预览时非常有用。 在预览屏幕上,请务必匹配最终打印结果的布局和位置。

注意 连字字形宽度在它们所表示的字符之间均匀划分。
 
重要从 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

ScriptApplyLogicalWidth

Uniscribe

Uniscribe 函数