跳到正文

ADR-0056:DOCX 样式图展开与显式字体映射 ​

状态:已接受。

问题 ​

标准 DOCX 常把格式声明在 docDefaults、段落样式和字符样式中。只读取直接格式会丢失实际字号、颜色和强调;语义模型也没有可以原样保存的完整 Word 样式图。

决定 ​

语义读取前,在受限内部副本中解析 docDefaults、默认段落样式、basedOn 链、字符样式及直接格式。合并 spacing/ind 的属性;样式中的 b/i/strike 遵守切换语义,直接格式 on/off 是绝对覆盖。有限大纲级别映射为语义标题。

具名图展开为具体格式须报告 styleGraph 损失;STRICT 拒绝,ALLOW_LOSS 保留诊断,统一转换映射为 IMPORT/OOXML_MARKUP/DEGRADE。原包保留编辑不经过此步骤。

字体只接受显式单一族到四个真实角色的映射,不扫描已安装字体或合成粗斜体。未知主题字体、多脚本不同族等另报损失。检查全部样式,包括未使用定义;缺失基样式、循环、过深继承、重复、非法值及引用类型错误均失败。

样式复制工作、规范化单条目及整个包分别受预算限制。结构性尾段、空页区和分节边界继续交给原验证器处理,不为其制造格式或删除未知内容。

验证 ​

见样式导入 API及阶段四十八。这不是任意 Word 文档无损语义往返。