ADR-0047:XML 范围内的字体与颜色默认值
- 日期:2026-10-16
- 状态:接受
- 范围:离线 XML 编译器
问题
未命名 XML 文字、链接和字段原先从 InlineStyle.of(size) 构造,品牌模板需反复声明角色/颜色。完整 InlineStyle 与命名样式已经具有明确的显式含义,不能通过默认数值猜声明,也不能接收完整样式后只使用其中两项。
决策
在适配器内增加只有 fontRole 和 rgb 的 TextDefaults;正文/列表、各级标题及单元格分别配置。核心模型及 DocumentTheme 不增加隐含级联状态。
编译时先解析完整几何,再按属性是否存在合成外观与字号。普通文字、空运行、未命名 span、链接和四类字段传递同一完整基础 InlineStyle。命名 span 仍为完整值,局部属性再覆盖。编号/项目符号通过显式 markerStyle 取块默认值,不读正文首运行。直接格内 p 继承本格外观,内表重开单元格范围。
空 role 是明确恢复默认字体;黑色是明确 RGB。全部分支和片段编译检查保持,字体解析延后到已有渲染入口。Builder 回调同步,值/集合均快照,不增加资源加载、依赖或外联。
影响
模板结构更容易阅读,同一编译器可统一普通文字和生成字段的字体/颜色。字号与固定行框沿用原独立规则,未知字体仍明确失败。该子目标不等于完整主题、XML 页区、HTML/CSS 或任意 Word 文档互转。验收见阶段四十。