Horis 1 год назад
Родитель
Сommit
a298cff0f8
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt

+ 8 - 2
app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt

@@ -30,6 +30,7 @@ import io.legado.app.ui.book.read.page.entities.PageDirection
 import io.legado.app.ui.book.read.page.entities.TextChapter
 import io.legado.app.ui.book.read.page.entities.TextPage
 import io.legado.app.ui.book.read.page.entities.TextPos
+import io.legado.app.ui.book.read.page.entities.column.TextColumn
 import io.legado.app.ui.book.read.page.provider.ChapterProvider
 import io.legado.app.ui.book.read.page.provider.LayoutProgressListener
 import io.legado.app.ui.book.read.page.provider.TextPageFactory
@@ -357,7 +358,7 @@ class ReadView(context: Context, attrs: AttributeSet) :
                     var ci = 0
                     for (index in lineStart..lineEnd) {
                         val textLine = page.getLine(index)
-                        for (j in 0 until textLine.charSize) {
+                        for (j in textLine.columns.indices) {
                             if (ci == start) {
                                 startPos.lineIndex = index
                                 startPos.columnIndex = j
@@ -366,7 +367,12 @@ class ReadView(context: Context, attrs: AttributeSet) :
                                 endPos.columnIndex = j
                                 return@run
                             }
-                            ci++
+                            val column = textLine.getColumn(j)
+                            if (column is TextColumn) {
+                                ci += column.charData.length
+                            } else {
+                                ci++
+                            }
                         }
                     }
                 }