型別化 rich text 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 預算,每個載入的度量字面計入彙總字型位元組
callback 收到真實設定的 family 與樣式請求,包含不繪製文字的父字面;既有的以路徑為基礎的 Windows 檔案工作使用相同的型別化解析器與指定字型規劃器
儲存的 V 保留邏輯文字,RV 記錄計算出的段落 profile,AP 保留原始顏色與字型大小精度
無變化的全 rich 操作精確保留已提交 PDF 位元組,合法的唯讀語義 no-op 也不例外;變更的唯讀樣式、AES 驗證失敗與受保護簽章欄位保留既有政策
callback 錯誤、取消與發佈預算失敗保留先前 context;檔案工作在原子發佈下同樣保留先前目標
後面的 callback 失敗時,callback sink 可能已經收下候選 PDF 位元組;存活的 context 只在必要 callback 與最終取消檢查都成功之後提交
版本化 C 操作與字型 callback 配置不變;能力詮釋資料在型別化填充 profile 內宣告真實的 lineHeight kind 與邊界