具名 Rich Text 字型家族
原生 rich 欄位最多可組合十六個提供的 Unicode TrueType 字型家族,各自具備 regular、bold、italic 與 bold-italic 程式;每個選用的 run 都使用實際的字型位元組、glyph 對應、寬度、baseline 與標記幾何
設定 THPDFHeadlessRichTextFontFamilies、為每個 run 指定 FontFamily 標籤,再呼叫 SetRichTextFieldValueWithFamilies;空的 run 標籤選用第一個設定的家族
XHTML 需在解碼前設定 FontFamilyNames 與預設 run 家族;有引號或無引號的逗號分隔 font-family 清單選用第一個設定的標籤,inherit 恢復外層家族,有效的 important 宣告保留其優先權
有效清單不含任何設定標籤時選用第一個設定的家族;格式錯誤的宣告不改變原值;比對時 ASCII 字母不分大小寫,其他 Unicode 字元則逐字精確保留
標籤最多 128 個 UTF-16 code units,不得含前後空白、控制字元、未成對 surrogate、引號、反斜線、逗號或分號;這個有界設定檔不實作 CSS 跳脫,也不會隱含搜尋系統字型
純 Pascal 的家族外觀建構器只內嵌選用的樣式,並套用彙總的字型、glyph、物件、位元組與取消預算;缺少選用字型或 run 標籤未知時,會在提交文件變更之前失敗
家族感知的表單匯入對真實的 FDF RV 與 XFDF value-richtext 套用同一套選擇,保留既有欄位與簽章政策,並比較 canonical 具名 rich 值以判定語意上無變更
既有的單一家族 API 與預設解碼設定檔保留其簽名與行為;採用擴充的 managed run 與選項記錄時,使用重新產生的 Pascal 或 C++Builder 標頭的程式必須重新編譯;對外的 V1 C ABI 記錄維持不變
原生 Linux 的具名家族 JSON 與版本化 C ABI 選擇可透過Linux 家族綁定使用;Windows 的 FDF 與 XFDF 工作接受巢狀家族/樣式檔案路徑,或透過Windows 表單資料交換使用既有 V1 字型 callback
可選用的提供家族 grapheme fallback 透過原生 API 選出實際的候選家族/樣式程式;Linux JSON fallback 會先解析所需的設定候選程式,再準備相同外觀
任意 CSS 跳脫、隱含系統別名、外部樣式表、一般 CSS 版面、Windows typed-rich 工作選擇與 Windows callback fallback 載入仍在開發中
驗收
六個原生編譯目標各自通過 168 項斷言與 1327 項獨立檢查,每個目標覆蓋 36 份實際儲存的 PDF,包含八個真實字型程式、混合家族的前進量、Unicode 標籤、繼承優先權、FDF/XFDF 匯入、AES R5/R6 安全性、rollback 與初期或晚期取消
全新的 C++Builder 標頭在兩種架構上都能編譯新的家族記錄、建構器與文件方法;兩個版本化的 Linux 共享程式庫以新的內部記錄重建後,通過既有的四字型 callback 與獨立輸出檢查