将鼠标命中 X 偏移量转换为插入点位置

通常,用户可以通过单击字符“cp-1” (的尾随半部分或字符“cp”的前半部分来选择 cp) 插入点位置。 应用程序可以实现鼠标命中 x 偏移到插入点位置的转换,如下所示:

int iCharPos;
int iCaretPos;
int fTrailing;
ScriptXtoCP(iMouseX, cChars, cGlyphs, pwLogClust, psva, piAdvance, psa,
            &iCharPos, &fTrailing);
iCaretPos = iCharPos + fTrailing;

对于将插入点对齐到群集边界的脚本,将返回 对 ScriptXtoCP 的调用,并将 fTrailing 设置为 0 或将群集的宽度设置为码位。

使用 Uniscribe