From 3751af35f442cbc377e68675fa7fa5f2f60c9e27 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Mon, 16 Oct 2023 12:30:30 +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/help/ReplaceAnalyzer.kt | 2 +- .../ui/book/read/page/provider/ChapterProvider.kt | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/ReplaceAnalyzer.kt b/app/src/main/java/io/legado/app/help/ReplaceAnalyzer.kt index d714363b1..43004c0be 100644 --- a/app/src/main/java/io/legado/app/help/ReplaceAnalyzer.kt +++ b/app/src/main/java/io/legado/app/help/ReplaceAnalyzer.kt @@ -26,7 +26,7 @@ object ReplaceAnalyzer { return runCatching { val replaceRule: ReplaceRule? = GSON.fromJsonObject(json.trim()).getOrNull() - if (replaceRule == null || replaceRule.pattern.isBlank()) { + if (replaceRule == null || replaceRule.pattern.isEmpty()) { val jsonItem = jsonPath.parse(json.trim()) val rule = ReplaceRule() rule.id = jsonItem.readLong("$.id") ?: System.currentTimeMillis() diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt index 1e68985e9..c45b0a8b0 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt @@ -589,7 +589,7 @@ object ChapterProvider { x = x1 } } - exceed(absStartX, textLine) + exceed(absStartX, textLine, words) } /** @@ -618,7 +618,7 @@ object ChapterProvider { textLine.indentWidth = x } } - exceed(absStartX, textLine) + exceed(absStartX, textLine, words) } fun getStringArrayAndTextWidths( @@ -690,15 +690,14 @@ object ChapterProvider { /** * 超出边界处理 */ - private fun exceed(absStartX: Int, textLine: TextLine) { + private fun exceed(absStartX: Int, textLine: TextLine, words: List) { val visibleEnd = absStartX + visibleWidth - val columns = textLine.columns - val endX = columns.lastOrNull()?.end ?: return + val endX = textLine.columns.lastOrNull()?.end ?: return if (endX > visibleEnd) { - val cc = (endX - visibleEnd) / columns.size - for (i in 0..columns.lastIndex) { + val cc = (endX - visibleEnd) / words.size + for (i in 0..words.lastIndex) { textLine.getColumnReverseAt(i).let { - val py = cc * (columns.size - i) + val py = cc * (words.size - i) it.start = it.start - py it.end = it.end - py }