release: 发布 v0.6.1 DOCX 视觉一致性修复
新增通用 CSS 到 OOXML 翻译修复,统一字体、字距、精确行距、段落、列表、表格、引用、代码块与行内代码连续性,不引入按主题 ID 分支。 新增 MdTP Mono 并统一 Serif、Sans、Mono 三字体包的 Chromium 与 DOCX 使用链;字体声明、嵌入部件和 Word/WPS 实际采用均进入硬门禁。 重建封面整页及正文语义块视觉差分,14 套主题、纵横两个方向、五组页边距共 140 个真实场景全部通过,阻断失败和诊断失败均为零。 源码服务、Docker Web API 与实际安装 Desktop 的 red-briefing 导出均包含 5 个字体部件;Word/WPS 原生渲染和逐页复核通过。修复 Docker 构建上下文与运行层复用软链接,并完善 v0.6.1 版本、发行说明和发布归集。 验证:npm test(116 个文件、616 项测试)、npm run typecheck、npm run build、git diff --check 全部通过。Desktop 安装器与 ZIP、Docker v0.6.1 镜像已生成;Windows 产物仍为未签名内部发行。
This commit is contained in:
@@ -137,8 +137,8 @@ Pandoc 采用 GNU GPL version 2 or later。项目将其作为未修改的独立
|
||||
项目发布资产计划至少包含:
|
||||
|
||||
```text
|
||||
MorphDoc-0.6.0-x86_64-Setup.exe
|
||||
MorphDoc-0.6.0-x86_64.zip
|
||||
MorphDoc-0.6.1-x86_64-Setup.exe
|
||||
MorphDoc-0.6.1-x86_64.zip
|
||||
pandoc-3.9.0.2-source.tar.gz
|
||||
THIRD_PARTY_NOTICES.md
|
||||
```
|
||||
|
||||
+23
-15
@@ -1,6 +1,6 @@
|
||||
# 墨呈进度
|
||||
|
||||
最后更新:2026-08-03
|
||||
最后更新:2026-08-04
|
||||
|
||||
## 1. 当前概况
|
||||
|
||||
@@ -76,6 +76,14 @@ failure 还被外层白名单过滤,导致报告失败时总门禁仍可通过
|
||||
无关的语义块局部视觉门禁,并对字体真实解析、嵌入和发布后三条生产链路
|
||||
建立阻断验收。完整范围见 [v0.6.1 设计文档](V0.6.1_DESIGN.md)。
|
||||
|
||||
`v0.6.1` 最终视觉矩阵已完成:14 套内置主题 × 纵横两个方向 × 主题默认、
|
||||
标准、紧凑、宽松、非对称装订五组页边距共 140 个场景全部通过,阻断失败
|
||||
和诊断失败均为 0。修复集中在通用 CSS 到 OOXML 翻译、字体嵌入、中文
|
||||
标点字距、精确行距、打印媒体和行内代码连续性,没有引入按主题 ID 分支。
|
||||
同一 `red-briefing` 已通过源码服务、Docker Web API 和实际安装 Desktop
|
||||
三条生产链,三份 DOCX 均约 24.17 MB、包含 5 个字体部件;安装版产物经
|
||||
真实 Word/WPS 渲染均为 2 页 A4,封面和正文逐页复核通过。
|
||||
|
||||
`v0.6.0` 阶段 2 已完成 Pandoc 运行时探查:固定 `3.9.0.2`,官方
|
||||
Windows ZIP 和 Linux amd64 tarball 的 SHA-256 均已核验;Linux 静态程序
|
||||
可直接运行于 `node:22-bookworm-slim`。Desktop 安装包预计增加约
|
||||
@@ -1502,21 +1510,21 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
|
||||
总计 76 个阻断问题;`formal-feasibility--landscape--binding` 验证 A4
|
||||
横向、非对称装订边距和独立封面整页 strict 门禁,封面因墨迹与边缘
|
||||
IoU 不达标被阻断;全仓库测试、类型检查、生产构建和差异检查通过;
|
||||
- 阶段 D:进行中。D1/D2 已将字体门禁扩展到 PDF 实际字体解析、DOCX
|
||||
- 阶段 D:已完成。D1/D2 将字体门禁扩展到 PDF 实际字体解析、DOCX
|
||||
声明与嵌入数量,以及 Word/WPS 是否真正采用 Office 嵌入别名;新增
|
||||
`mdtp-sans-sc@1.0.0`,与 `mdtp-serif-sc@1.0.0` 组成确定性双字体包,
|
||||
14 套主题的 Server HTTP 生产链和 Office 实际字体使用门禁均已通过。
|
||||
D3 已重建独立封面视觉门禁:预览与 DOCX 共用受限高度封面间距模型,
|
||||
DOCX 支持可编辑双边框、超宽装饰边、非居中装饰元素宽度及 Office 页面
|
||||
舍入;整页差分使用 4px 空间容差、0.6pt 纸张尺寸容差,墨迹 IoU、边缘
|
||||
IoU、MAE、变化像素率阈值未放宽。四套独立封面主题 × 纵横两个方向 ×
|
||||
主题默认、标准、紧凑、宽松、非对称装订五组边距共 40 个真实 Chromium、
|
||||
Word、WPS 用例全部通过,严格失败为 0;主题各 10 例、方向各 20 例、
|
||||
边距各 8 例。报告仍保留 2963 条正文诊断,未计作 D3 通过项。全仓库
|
||||
测试、类型检查、生产构建和差异检查通过;下一步 D4 修复 14 套主题
|
||||
正文语义块视觉差异;
|
||||
- 阶段 E:完成源码服务、Docker Web API、Desktop 安装版发布后复验;
|
||||
- 阶段 F:完成 `v0.6.1` 版本、发行说明、发布产物、发布提交和标签。
|
||||
`mdtp-sans-sc@1.0.0` 和 `mdtp-mono@1.0.0`,与
|
||||
`mdtp-serif-sc@1.0.0` 组成确定性三字体包。D3 重建四套独立封面整页
|
||||
门禁,40 个封面方向/边距组合全部通过。D4 完成正文语义块视觉收口:
|
||||
通用翻译层统一处理字体、中文标点字距、精确行距、段落、列表、表格、
|
||||
引用、代码块和行内代码连续性;最终 140 个 Chromium、Word、WPS
|
||||
真实场景全部执行并通过,阻断失败和诊断失败均为 0;
|
||||
- 阶段 E:已完成。源码服务、正式 Docker Web API 和实际安装 Desktop
|
||||
使用同一 `red-briefing` 复验,三份 DOCX 均约 24.17 MB、包含 5 个字体
|
||||
部件和 40,731,432 字节嵌入字体;安装版产物经 Word/WPS 渲染均为 2 页
|
||||
A4,逐页视觉通过;
|
||||
- 阶段 F:进行中。版本已更新为 `v0.6.1`,发行说明、Desktop 安装器与
|
||||
ZIP、Docker 镜像均已生成;待完成最终全量验证、离线镜像归档复验、
|
||||
发布提交和 annotated tag。
|
||||
|
||||
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入
|
||||
后续阶段的功能实现。
|
||||
|
||||
@@ -146,3 +146,24 @@ Word PDF 和 WPS PDF,并在报告中保留主题、方向、边距场景、导
|
||||
- 单元测试、类型检查、生产构建和 `git diff --check` 通过;
|
||||
- 发布报告中不存在被忽略的 failure;
|
||||
- 完成真实 Word/WPS 逐页人工复核后才能发布。
|
||||
|
||||
## 6. 最终验收结果
|
||||
|
||||
2026-08-04 已完成全部发布条件:
|
||||
|
||||
- `14 × 2 × 5 = 140` 个场景全部实际执行,矩阵报告为
|
||||
`complete: true`、`gatePassed: true`,阻断失败和诊断失败均为 0;
|
||||
- 四套独立封面共 40 个方向/边距组合全部通过 Chromium 对 Word/WPS
|
||||
整页严格门禁;其余页面按跨页无关的语义块完成视觉比较;
|
||||
- 通用 CSS 到 OOXML 翻译已覆盖字体、字距、精确行距、段落、列表、表格、
|
||||
引用、代码和行内代码连续性,全程未增加按主题 ID 分支;
|
||||
- Serif、Sans、Mono 三套可分发字体进入同一字体包解析链,140 个场景的
|
||||
DOCX 均包含 5 个字体部件,Word/WPS 实际字体使用门禁通过;
|
||||
- `red-briefing` 已分别从源码服务、正式 Docker Web API 和实际安装的
|
||||
Desktop 导出;三份 DOCX 均约 24.17 MB、含 5 个字体部件,并通过真实
|
||||
Word/WPS 渲染复核;
|
||||
- 根级测试、类型检查、生产构建和空白检查通过;Docker 镜像、Desktop
|
||||
安装器及免安装 ZIP 已生成。
|
||||
|
||||
最终矩阵报告位于 `output/docx-layout-visual-matrix/summary.json`,发行说明
|
||||
见 [`docs/releases/v0.6.1.md`](releases/v0.6.1.md)。
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# MorphDoc · 墨呈 v0.6.1
|
||||
|
||||
## 核心修复
|
||||
|
||||
- 重构通用 CSS 到 WordprocessingML 翻译链,统一处理字体族、东亚字体、
|
||||
字号、行距、段距、缩进、边框、底纹、表格和代码样式,不包含按主题 ID
|
||||
分支或单主题补丁。
|
||||
- 新增可分发的 `mdtp-mono` 等宽字体,并将 Serif、Sans、Mono 三套字体包
|
||||
同源用于 Chromium 预览/PDF 与 DOCX 静态嵌入;字体门禁同时检查字体表、
|
||||
嵌入部件和 Word/WPS 的实际使用结果。
|
||||
- 修复中文标点受 Word 自动字距调整造成的行宽漂移,并按浏览器实测值写入
|
||||
Word 行距和网格参数。
|
||||
- 修复 Markdown 行内代码在普通段落、列表和表格中被错误拆成独立段落的
|
||||
问题;行内代码现在保持原段落连续排版,并进入视觉门禁。
|
||||
- 统一 DOCX 媒体捕获的打印媒体环境,避免开发预览与正式 Web/Desktop
|
||||
导出采用不同 CSS 分支。
|
||||
|
||||
## 视觉门禁
|
||||
|
||||
- 发布矩阵固定为 14 套内置主题 × 纵横两个方向 × 主题默认、标准、紧凑、
|
||||
宽松、非对称装订五组页边距,共 140 个真实场景。
|
||||
- 四套独立封面使用 Chromium 对 Word/WPS 的整页严格门禁;封面分页、
|
||||
字体、位置、边框、背景、装饰和页码任一失败都会阻断发布。
|
||||
- 正文按内容顺序和语义角色比较标题、段落、引用、列表、代码、表格及媒体,
|
||||
允许流式分页造成物理页号变化,但不允许元素块视觉样式丢失。
|
||||
- 外层聚合不再过滤像素、墨迹 IoU、边缘 IoU 或字体 failure;只有执行满
|
||||
140 个场景且阻断失败为零时,报告才允许标记完整通过。
|
||||
|
||||
## 验证结论
|
||||
|
||||
- 全量矩阵 `140/140` 执行完成并通过,阻断失败和诊断失败均为 0。
|
||||
- 同一 `red-briefing` 输入已通过源码服务、正式 Docker Web API 和实际
|
||||
安装的 Desktop 三条生产链;三份 DOCX 均约 24.17 MB,包含 5 个字体
|
||||
部件,嵌入字体字节数为 40,731,432。
|
||||
- 已安装 Desktop 产物经真实 Word 和 WPS 渲染均为 2 页 A4,独立封面及
|
||||
正文逐页复核通过。
|
||||
- Docker 镜像内置三套字体包与 Pandoc 3.9.0.2;修复复用运行层时 Pandoc
|
||||
软链接已存在导致构建失败的问题,并通过根级 `.dockerignore` 固定精简
|
||||
构建上下文。
|
||||
- 全项目测试、类型检查、生产构建及 `git diff --check` 通过。
|
||||
|
||||
## 发行与兼容性
|
||||
|
||||
- Desktop 安装器和免安装 ZIP 版本均为 0.6.1;支持覆盖 v0.6.0 安装。
|
||||
- Docker 发布镜像为 `md-to-pdf:v0.6.1`,内容 ID 为
|
||||
`sha256:1f901fd481ca078d62d22f975691373a160c716e3bfed05721d0704ae5098696`。
|
||||
- DOCX 保持原生可编辑段落、Run、列表和表格结构,没有以整页图片替代正文。
|
||||
- 当前 Windows 安装器未进行 Authenticode 签名,适用于公司内部发布;
|
||||
公开网络分发前建议增加代码签名。
|
||||
Reference in New Issue
Block a user