마우스 적중 X 오프셋을 Caret 위치로 변환

일반적으로 사용자는 문자 "cp-1"의 후행 절반 또는 문자 "cp"의 선행 절반을 클릭하여 캐럿 위치(cp)를 선택할 수 있습니다. 애플리케이션은 다음과 같이 마우스 적중 x 오프셋을 캐럿 위치로 변환할 수 있습니다.

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

Caret를 클러스터 경계에 맞추는 스크립트의 경우 ScriptXtoCP 호출은 fTrailing 이 0으로 설정되거나 코드 포인트에서 클러스터의 너비로 설정된 상태로 반환됩니다.

Uniscribe 사용