Skip to content

书库阅读器 v1.1.0

Choose a tag to compare

@masterball-w masterball-w released this 13 Jul 08:39
· 14 commits to main since this release

书库阅读器 v1.1.0

修复内容

  • 摸鱼模式吞字问题修复:彻底解决摸鱼模式每页末尾约6-7个字符被截断不显示的问题

根因分析与修复方案

问题根因有三重:

  1. Canvas measureText 测量偏差:原代码使用 Canvas API 测量字符宽度,但 Canvas 对 CJK 中文字符的测量结果与浏览器实际 DOM 渲染存在偏差,导致算出的每页字符数偏大

    • 修复:改用隐藏 DOM span 元素测量,与浏览器实际渲染完全一致
  2. 取样位置偏差:原代码从全文开头(第0个字符)开始测量,开头是书名和目录区,含有大量 ASCII 字母和空格(窄字符),导致平均字符宽度偏小,算出的每页字符数偏大。应用到正文页(以 CJK 宽字符为主)时文字溢出被 ellipsis 截断

    • 修复:从文本中间取样200个字符测量平均宽度,代表正文典型内容
  3. 页码宽度动态变化:测量时 moyuPage 显示 "0/0"(窄),渲染后变成 "123/4567"(宽),flex 布局导致 moyuText 实际可用宽度减小,进一步加剧溢出

    • 修复:测量时预设 moyuPage 为最宽情况 "9999/99999",确保测量宽度与实际渲染宽度一致

安装方法

  1. 下载 ShuReader-Setup-1.1.0-x64.exe
  2. 双击运行,选择安装路径
  3. 等待解压完成
  4. 从桌面快捷方式或开始菜单启动