一项 Rust 同位字索引优化将字典处理时间从 31 毫秒降至 1.96 毫秒。作者从排序字符串键和基于 Vec 的 HashMap 起步,用单例扁平数组和链表替代了分配。将 4 位字母计数打包进 u128 键降低了排序成本。切换到 FxHashMap 提升了哈希性能。关键技巧是基于语料库调优的字母素数赋值,将字母素数相乘得到无碰撞的 64 位乘积标识符;这可避免 Scrabble 单词溢出。进一步的提升来自用每字符 5 位将单词打包进 u128,并使用两个累加器实现指令级并行。最后,固定 16 字符的无分支循环以及将乘积计算与哈希插入分离,实现了自动向量化。整体加速约 15.8 倍,从每词 173 纳秒降至 10.9 纳秒。这些同位字分组将用于后续的单词阶梯求解器。
PageScribe 与 Dictionary Audio 是两款可选的开源 KOReader 插件。PageScribe 支持在文本旁手写:使用笔书写时,手指选择仍可用于高亮、字典查询和笔记。它包含标记覆盖、文本注释、橡皮擦、撤销、页面笔记、HTML/PDF 导出以及紧凑工具栏。颜色分别记忆;黑白模式保持可读。它源自 Finger Ink,并保留 fingerink.koplugin 文件夹以兼容。Dictionary Audio 为字典查询添加离线英语/西班牙语朗读功能,支持独立的英语/西班牙语及可下载包;可单独使用或与 PageScribe 配合。主要在 Viwoods AiPaper Mini 上测试;Boox Tab Ultra C 的西班牙语播放仍待处理。手写基于页面覆盖,因此重排可能使墨迹错位。图片为渲染的 UI 预览,而非设备截图。请反馈设备、版本、输入模式及故障情况。