Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/67971


Change subject: Fix conversion of byte to grapheme offsets/lengths
......................................................................

Fix conversion of byte to grapheme offsets/lengths

Missed one case in ve.ce.Docuemnt#getNodeAndOffset.

Bug: 49246

Change-Id: Iff1dfb90130685bb710821f8386cfa2f296f2f95
---
M demos/ve/pages/multibyte.html
M modules/ve/ce/ve.ce.Document.js
2 files changed, 3 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/71/67971/1

diff --git a/demos/ve/pages/multibyte.html b/demos/ve/pages/multibyte.html
index e488ec1..979b312 100644
--- a/demos/ve/pages/multibyte.html
+++ b/demos/ve/pages/multibyte.html
@@ -1,5 +1,5 @@
 <p>12𨋢456789𨋢bc</p>
-<p>「𨋢」字響<tt>香港</tt>衍生出好多新詞,好似:𨋢</p>
+<p>「𨋢」字響<tt>香港</tt>衍生出好多新詞,好似:𨋢<tt>香港</tt> abc</p>
 <p>abc</p>
 <p>one c̀ombining accent</p>
 <p>two ç̀ombining accents</p>
diff --git a/modules/ve/ce/ve.ce.Document.js b/modules/ve/ce/ve.ce.Document.js
index 6bcedce..29d4108 100644
--- a/modules/ve/ce/ve.ce.Document.js
+++ b/modules/ve/ce/ve.ce.Document.js
@@ -146,7 +146,8 @@
                }
                item = current[0][current[1]];
                if ( item.nodeType === Node.TEXT_NODE ) {
-                       length = item.textContent.length;
+                       // offset, startOffset and length are all data model 
lengths (not byte lengths)
+                       length = ve.getClusterOffset( item.textContent, 
item.textContent.length );
                        if ( offset >= startOffset && offset <= startOffset + 
length ) {
                                return {
                                        node: item,

-- 
To view, visit https://gerrit.wikimedia.org/r/67971
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iff1dfb90130685bb710821f8386cfa2f296f2f95
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to