Repository navigation
主要变化
格式解析与排版
- 暴露
parse_path_to_json原生接口,由 Rust 核心直接完成路径解析与序列化,去除 Android JNI 与鸿蒙 NAPI 中重复的中间层胶水代码。 - 过滤 DOCX 中的
vanish和webHidden隐藏文本,忽略rt/rpruby 注音标记,并设置单文档 8 MiB 文本上限保护。 - XLSX 支持分号
;切分多段格式(正数/负数/零/文本),支持[$-409]等区域代码与颜色标签解析,支持负数括号表示与 1900 虚拟日期。 - 超长单元格截断逻辑收敛至 Rust 核心统一处理;统一 PPTX 表格列宽归一化计算,以及双端字体与列表符号默认样式。
资源解压与内存管理
- 新增线程安全的
package_cache模块,通过 LRU 缓存与文件修改感知重载复用 ZIP 句柄与中央目录,减少并发读图时的重复 I/O。 - ZIP 解压采用动态流式读取,避免未经校验的大内存预分配;整包累计跟踪 256 MiB 解压预算(
MAX_EXPANDED),防范畸形压缩包导致的内存超限。 - 规范原生句柄、Bitmap 与 PixelMap 的生命周期与释放时机,优化图片缓存(
ImageStore/OfficeCache/OfficeImages)的 LRU 淘汰机制,降低跨语言调用时的内存泄漏风险与峰值占用。
鸿蒙端渲染与交互
- 手势缩放后支持上下滚动浏览全文,横向平移查看边缘内容。
- XLSX 电子表格支持单元格自动换行(
style.wrap)、超长截断与 UTF-16 代理对截断保护。 - DOCX 修复首行缩进与左边距叠加计算,支持
textIndent、fontFamily、lineHeight行距与DocxShapeView矢量形状绘制。 - Canvas 文本排版复用测量结果,避免每帧重复测量。
- HAR 打包排除 native 源码及编译中间缓存,移除 32 位架构预编译库,缩减产物体积。
完整变更见 CHANGELOG。