From f1abcc5b5d8be6231a1ff9b23db602976401b066 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 10 Feb 2025 22:31:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/ui/book/read/page/ReadView.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt index 6555f9a20..306270a27 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt +++ b/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++ + } } } }