From 4fb9916cb54767892cadb23c9b8692dda3222d7e Mon Sep 17 00:00:00 2001
From: Marijn Haverbeke <marijn@haverbeke.nl>
Date: Mon, 2 Oct 2017 21:26:01 +0200
Subject: [PATCH] Work around issue in coordsChar in wrapped bidi lines

---
 src/measurement/position_measurement.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/measurement/position_measurement.js b/src/measurement/position_measurement.js
index cc55fb4d..78986e03 100644
--- a/src/measurement/position_measurement.js
+++ b/src/measurement/position_measurement.js
@@ -559,6 +559,7 @@ function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x,
   // wrapped line, and then do a flat search in which we discard any
   // spans that aren't on the line.
   let {begin, end} = wrappedLineExtent(cm, lineObj, preparedMeasure, y)
+  if (/\s/.test(lineObj.text.charAt(end - 1))) end--
   let part = null, closestDist = null
   for (let i = 0; i < order.length; i++) {
     let p = order[i]
-- 
GitLab