跳到正文

ADR-0082:完整格源按实际变宽区域续排行 ​

状态:已采纳。

背景 ​

已有变宽表格只接受原子行/合并行组。固定宽度游标的已消费行号不能用于另一宽度;截断源字符串后重新布局又会重置原文索引、图片/字段位置和塑形上下文。

决策 ​

为明确允许拆行、且不含纵向合并或块格的语义表格增加独立分配路径。每个格使用完整原文,按行号查询实际区域的列宽;区域行容量由表头高度、首区剩余高度、重复内边距和该格固定行高确定。所有格共用实际区域计划,按本行最高行框跳过初始短区,已完成邻格仍保留空行框;跳过区域不占输出片段预算。查询结果有界缓存,并以同一容量分配最终完整行,避免测量和分配使用不同的栏宽。

扩展共享段落测量入口,使行宽回调可与显式图片/延迟字段同时使用。回调不切片源、不重新建立字体、不提前解析字段;文字来源及实际字形边界继续由共享文字引擎确定。表头与列宽按不同宽度缓存;拆行正文不生成未使用的固定宽度完整候选,避免误拒绝仅在宽栏呈现的图片。

准备工作与实际呈现分开计费。保留原子路径的 16 种宽度及 4,000,000 源 UTF-16 单位工作上限,拆行格的实际完整源准备也占该上限;输出只计最终片段及实际重复表头。取消、预算和几何异常不得被文字入口重新分类。完整行源及片段序号继续交给最终语义登记、字段解析与链接几何检查。

边界 ​

允许横向合并、不同格内行高及空续接格。变宽纵向合并/递归子树仍拒绝,组件网格与单向长表不因本项扩大范围;相同宽度继续使用原游标。有限样例不证明一般 Word 布局兼容、无限容量或任意复杂文字兼容。

使用与验收入口见变宽拆行指南。