From 7eca2871d76e5bdf974c0935e1c40583c10a17bd Mon Sep 17 00:00:00 2001 From: SuntrustDev <19979417+SunTrustDev@users.noreply.github.com> Date: Tue, 17 Feb 2026 21:33:33 +0100 Subject: [PATCH] Use character midpoint calculation to increase cursor placement accuracy in text fields --- src/EterLib/GrpTextInstance.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/EterLib/GrpTextInstance.cpp b/src/EterLib/GrpTextInstance.cpp index 3cc4072..db1cd34 100644 --- a/src/EterLib/GrpTextInstance.cpp +++ b/src/EterLib/GrpTextInstance.cpp @@ -1280,9 +1280,12 @@ int CGraphicTextInstance::PixelPositionToCharacterPosition(int iPixelPosition) if (adv <= 0) adv = pCurCharInfo->width; + int charStart = icurPosition; icurPosition += adv; - if (adjustedPixelPos < icurPosition) + int charMid = charStart + adv / 2; + + if (adjustedPixelPos < charMid) { visualPos = i; break;