类型化富文本 JSON 行高
forms.fill 在每个原始 richTextRuns 条目上接受可选的 lineHeightKind 和 lineHeight 成员,使用真实指定字体的段落与物理行布局
{
"schemaVersion": 1,
"type": "forms.fill",
"fields": [{
"name": "Input",
"richTextRuns": [{
"text": "First\rSecond",
"fontSize": 10,
"lineHeightKind": "number",
"lineHeight": 2
}]
}]
}
| Kind | 取值与行为 |
|---|---|
| legacy | 两个成员都未提供时的默认值,保留既有段落布局 |
| normal | 显式 normal 布局,使用指定字体度量和原生行距 |
| number | 非负无单位因子,乘以本 run 的 fontSize |
| points | 非负绝对 point 行高 |
| percent | 百分比,立即按本 run 的 fontSize 折算并以 points 存储 |
| em | 因子,立即按本 run 的 fontSize 折算并以 points 存储 |
数值 lineHeight 而无 lineHeightKind 时选择 number;每个数值 kind 都要求值,legacy 和 normal 接受缺值或零
值必须是有限数且在零到一百万之间;折算出的 point 行高同样不得超出该边界,未知 kind 名或非法类型在字体加载之前失败
支持零值,可能产生重叠基线;真实字面的上伸与下伸决定负半行距以及段落 strut 与参与 run 盒的并集
每个 JSON run 都是原始类型化条目而非 CSS 元素;percent 和 em 不会在 JSON run 对象之间引入继承
第一个 run 提供段落度量样式;空的第一个 run 可能贡献更大或不同样式的父盒,独立的准备序列会为其真实字体做接纳而不替换编写的 run
IsParagraphStrut 不是公开 JSON 成员;生成的仅度量 run 计入累计操作 run 预算,每个加载的度量字面计入聚合字体字节
回调收到真实配置的 family 与样式请求,包括不绘制文本的父字面;既有的基于路径的 Windows 文件作业使用相同的类型化解析器和指定字体规划器
保存的 V 保留逻辑文本,RV 记录计算出的段落 profile,AP 保留原始颜色和字号精度
无变化的全富操作精确保留已提交 PDF 字节,合法的只读语义 no-op 也不例外;变更的只读样式、AES 认证失败和受保护签名字段保留既有策略
回调错误、取消和发布预算失败保留先前 context;文件作业在原子发布下同样保留先前目标
后面的回调失败时,回调 sink 可能已经收下候选 PDF 字节;存活的 context 只在必需回调与最终取消检查都成功之后提交
版本化 C 操作与字体回调布局不变;能力元数据在类型化填充 profile 内宣告真实的 lineHeight kind 与边界