fix(reader): txt编码误判(UTF-8前窗截断判GB18030致乱码) + build_index无持久化(整本重排慢/UI阻塞卡) — ①rd_utf8_sample_ok结尾不完整序列按合法(中间非法仍拒,GBK不误判,新增t13回归) ②索引落盘MeowData/os.meow.reader/index/*.idx(失效键size/mtime/font/fs/ls/wh/enc,命中秒开,原子写+强自检弃坏缓存,编码/字号/行距重排重写) 重开<0.3s/首开建cache; test_reader_core 72-0, 0warning

This commit is contained in:
AskaEth committed 2026-11-04 19:47:10 +08:00
1 parent 68710d7ed8
commit a64ae06eb6
5 files changed
+257 -4

No files matched your search

+4
View File
@@ -64,6 +64,10 @@ const char *rd_book_path(const rd_book *b); /* 原始路径 */
* 用于「编码」菜单(Big5 繁体书手动选定)。 */
int rd_book_set_enc(rd_book *b, rd_enc_t enc);
/* R3.1:页索引持久化缓存目录(MeowData/os.meow.reader/index)。dir 为空 → 禁持久化(直排,不落盘)。
* 由 reader.c 在 open 前建目录并注入;书/字号/行距/版面/编码/字体任一变化时缓存自动失效重排。 */
void rd_book_set_index_dir(const char *dir);
/* 字体/几何 */
int rd_book_font(rd_book *b); /* 当前字号 */
int rd_book_ls(rd_book *b); /* 行距% */