This commit is contained in:
Horis
2025-02-10 22:31:51 +08:00
parent 823f49c744
commit a298cff0f8
@@ -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.TextChapter
import io.legado.app.ui.book.read.page.entities.TextPage 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.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.ChapterProvider
import io.legado.app.ui.book.read.page.provider.LayoutProgressListener import io.legado.app.ui.book.read.page.provider.LayoutProgressListener
import io.legado.app.ui.book.read.page.provider.TextPageFactory import io.legado.app.ui.book.read.page.provider.TextPageFactory
@@ -357,7 +358,7 @@ class ReadView(context: Context, attrs: AttributeSet) :
var ci = 0 var ci = 0
for (index in lineStart..lineEnd) { for (index in lineStart..lineEnd) {
val textLine = page.getLine(index) val textLine = page.getLine(index)
for (j in 0 until textLine.charSize) { for (j in textLine.columns.indices) {
if (ci == start) { if (ci == start) {
startPos.lineIndex = index startPos.lineIndex = index
startPos.columnIndex = j startPos.columnIndex = j
@@ -366,7 +367,12 @@ class ReadView(context: Context, attrs: AttributeSet) :
endPos.columnIndex = j endPos.columnIndex = j
return@run return@run
} }
ci++ val column = textLine.getColumn(j)
if (column is TextColumn) {
ci += column.charData.length
} else {
ci++
}
} }
} }
} }