原生 Linux rich 字型 fallback

不變的版本化 V1 JSON 操作為具名家族 rich 填寫與 FDF/XFDF rich 匯入接受 fallbackFontFamilies: true;預設仍為 False

{
  "schemaVersion": 1,
  "type": "forms.fill",
  "fontFamilies": ["Primary", "Fallback"],
  "fallbackFontFamilies": true,
  "fields": [{
    "name": "Input",
    "richTextRuns": [{"text": "AΩB", "fontFamily": "Primary"}]
  }]
}

填寫時,編輯層級的布林值覆寫操作層級旗標;rich 匯入使用操作層級旗標;True 需要明確非空的 fontFamilies 設定,非布林值會產生 typed 的 invalid-argument 錯誤

綁定透過既有 Fontconfig provider,為每個設定的候選家族解析每個既有樣式;匯入也為 scalar 欄位保留第一個 regular 程式;每個要求的程式都必須在外觀準備之前可用且有效

這些 provider 配置共用外觀字型總限額與 limits.memoryBytes 的四分之一;canvas 保留總額度,綁定則為每個程式獨立檢查剩餘位元組,避免對已計費字型重複扣減

接著原生 resolver 跨既有樣式與 run 接縫選出完整 Unicode grapheme,使用實際候選字型位元組、情境 shaping、雙向排序與原始 typed 大小與顏色精度;fallback 只改變外觀準備,並保留既有的 V 與 RV 值

這些操作保留已準備輸出、分片 callback、原始 AES R5/R6 安全性、輸出與結果 callback 成功後的物件圖提交、取消,以及逐位元組相同的已提交表單匯入無變更

formData.richFontFamilyFallback 能力旗標公告這個已實作選項;對外的 V1 記錄布局與匯出符號版本維持不變

兩個原生 Linux 編譯器通過 28 份 fallback PDF 上的 250 項實際 callback 檢查與 1062 項獨立檢查、36 項 C 用戶端檢查,以及 171 項針對實際 C glyph 輸出與低於 8 MiB 之有效彙總字型配置的額外檢查

Fontconfig 家族解析遵循既有 Linux 綁定 provider 契約;有界的行內 CSS 字型清單順序與 typed JSON fontFamilyCandidates 可搭配選用的 fallback 旗標使用;外部樣式表、更廣的 CSS 版面與 Windows callback fallback 載入仍是獨立工作

原生 fallback 行為 · 具名家族綁定 · Linux C ABI