新增通用 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 产物仍为未签名内部发行。
2.8 KiB
2.8 KiB
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 签名,适用于公司内部发布; 公开网络分发前建议增加代码签名。