Files
ElyOffice/docs/compatibility.md
T
ZacharyZhang-NYandClaude Opus 5.5 35a7bbb904 R5.6: ElyShow right-click menus, PowerPoint-style; Impress table borders drag; R3 PASS
The canvas offers Ely's menu by target: slide (layouts, comment), text
(bullets, numbering, comment), shape or text box, picture (replace,
crop), table (insert, delete, merge), each item gated by the kernel's
state for its own command. Impress's table borders read as text and
drag through R5.3's path; patch 0047 reports every edge's bounds and
makes the left edge drag. A line past its bound never moves against
the drag, so a still press sends nothing.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 14:26:27 -04:00

76 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 兼容清单
随发行说明发布,每个版本一份。支持某格式不等于支持它的全部功能;下表只写已验证的内容、已知限制与保存行为。
版本:Ely Office 0.1.3(首版六个应用:ElyDoc、ElyTable、ElyShow、ElyPDF、ElyTree、ElyMark)。日期 2026-10-11。
内核:LibreOffice 26.2.6.3(8221e31,加 `patches/libreoffice` 0001–0047);MuPDF 1.28.5(8ad45e9,加 `patches/mupdf` 0001–0005);Git 2.56.0(a018953)与 git-lfs 3.8.0。
验证机:macOS 27.0 arm64。Windows 与 Linux 未验证。本机没有 Microsoft Office:与 Office 的交叉检查未做(待做)。
## 往返验证
每份样本在 Ely 中打开、编辑、保存、关闭、再打开、再编辑、再保存,最后由不经 LibreOffice 的读取器检查(`tests/scripts/ooxml.py`:自己解 OOXML,预期值由它自己算;DOCX 另交 macOS 的 `textutil` 读)。用例在 `crates/ely-lok/src/client/tests/independent.rs`。
| 用例 | 检查 | 结果 |
| --- | --- | --- |
| DOCX 合同 | 两次会话键入的文字(含中文)、批注、修订记录的插入、修订开关保留;`textutil` 读得出文字 | 通过 |
| XLSX 公式 | 公式文本与缓存结果:整数、日期序号、`#DIV/0!` 错误值、文本严格相等,浮点按用例声明的 1e-12 容差;第二次会话的公式 | 通过 |
| PPTX 演示 | 三张幻灯片、隐藏的那张仍隐藏、备注文字(含中文) | 通过 |
字体:缺失字体由内核报出,ElyDoc 页面上方列出缺失的字体(`doc.fonts.missing`),分页可能与有字体时不同;字体一致与缺失两种环境的对照未做。产品不带微软字体。
## ElyDoc
| | 格式 |
| --- | --- |
| 编辑与保存 | DOCX、ODT(保存保留原格式;另存为默认 DOCX) |
| 导入或受限 | DOC、RTF 按原格式保存;含宏的文件(docm、dotm、带 Basic 的 ODF/OLE)进风险模式,只能另存副本,宏不运行 |
| 输出 | PDF(页码范围、批注、修订标记)、打印(macOS) |
已验证:文字与段落格式、样式、页面与分节、页眉页脚、表格、图片锚点与环绕、目录、脚注尾注、书签、交叉引用、题注、公式、批注与回复、修订、查找替换、拼写(英文)、比较、邮件合并。限制:交叉引用只指向书签;公式导出 DOCX 后在 Word 中是否可编辑未验证。
## ElyTable
| | 格式 |
| --- | --- |
| 编辑与保存 | XLSX、ODS(保存保留 xlsx、ods、xls、fods;另存为默认 XLSX) |
| 导入或受限 | XLS;CSV、TSV、TXT 经导入对话框(编码、分隔符、引号、逐列类型)成为新工作簿,原文件不动;xlsm、xltm 进风险模式 |
| 输出 | PDF(全部工作表,按页面设置)、CSV 与 TSV(当前工作表的显示值,UTF-8)、打印(macOS) |
公式语法为 Excel A1。XLSX 与非 LibreOffice 生成的 ODF 载入时总是重算。限制:不支持的函数显示 `#NAME?`,原公式保留,缓存值不保留;外部链接不刷新,显示保存时的值;1904 日期系统未专门验证。
## ElyShow
| | 格式 |
| --- | --- |
| 编辑与保存 | PPTX、ODP(另存为默认 PPTX) |
| 导入或受限 | PPT;章节(`p14:sectionLst`)内核不保留;媒体默认嵌入 |
| 输出 | PDF(幻灯片或讲义 1、2、3、4、6、9 张一页)、PNG(每张 1920 宽)、打印(macOS) |
限制:Ely 提供一组基础切换与动画,文件自带的其他效果照原样保留并显示内核名称;批注不做回复(Impress 无回复结构);Windows 与 Linux 的媒体播放未构建。
## ElyPDF
| | 范围 |
| --- | --- |
| 编辑与保存 | 页面增删移转裁剪、文字与图片改动、批注、表单字段(文本、复选、单选、选择框)、书签、链接、属性、附件、OCR 文字层、内容删除与清理、密码与权限、数字签名 |
| 导入或受限 | XFA 表单不支持;已签名文件另存为未签名副本;修复过的文件只能另存;多选列表框按单选填写 |
| 输出 | PDF、页面图片(PNG 72/150/300 dpi)、文本、优化的 PDF、打印(macOS) |
保存经 MuPDF 写快照后紧缩写出;签名经增量更新写出并重开核对摘要。独立阅读器 PDFKit 读回页序、改动的文字与字段值(`crates/ely-pdf-engine/tests/independent.rs`)。限制:证书吊销状态不核验;Windows 与 Linux 的证书信任未构建。
## ElyTree
标准本地 Git 仓库,随包 Git 2.56.0。浅克隆、LFS(只显示状态,不下载对象)、子模块(显示状态与检出记录的提交)照 Git 的限制显示。Ely 写的一切都是 Git 原生提交与引用;不提供交互式变基与硬重置。
## ElyMark
| | 格式 |
| --- | --- |
| 编辑与保存 | MD、Markdown(UTF-8,带不带 BOM;保留换行风格;文本即原文,只写回所改的字) |
| 导入或受限 | UTF-16 与非 UTF-8 拒绝打开并指出字节位置;markdown-rs 不认的语法照原文显示;超过 2 MiB 只以源码打开 |
| 输出 | 原生重做中(C14.14),此版没有 |
## 第二批
ElyMail 与 ElyAgent 不在首版,验证随第二批补上。