原生 rich text run 間距

rich 外觀在整形、列貼合、實體行重排、對齊與繪製期間套用撰寫的字元與字組間距,使用指定的字型與既有的設有上限 rich text 排版

<p style="letter-spacing:.12em;word-spacing:-1.25pt">A spaced paragraph</p>

設有上限的內嵌 CSS profile 接受 normal、inherit、initial、unset、帶符號的 pt、px(96 dpi)、pc、in、cm、mm 與 em 長度,外加無單位零;em 按其宣告元素最終串接字型大小計算,子元素繼承該計算出的 point 長度

字元與字組間距有獨立的宣告順序與 important 優先權,font 簡寫保留兩個分量;不支援或非法的宣告按解碼器既有的忽略行為處理

明確 normal 把對應的全域外觀間距重設為零;省略的原生模式保留既有的全域 CharacterSpacing 與 WordSpacing 行為,包含其尾隨字元步進

明確字元間距啟用某段落時,視覺重排之後每個內部邊界上的可見排版單位各得相鄰樣式值的一半,實體列邊緣省略外側一半;標記與不可見格式控制字元不單獨消耗間距

SPACE 與 NBSP 在其整形群集兩側各得一半字組間距,分隔符後接組合標記的情況也不例外;其他 Unicode 詞分隔符不屬於本設限 profile

非零明確 tracking 停用選用的 liga、clig、dlig 與 hlig 替換,保留必要連字與 kerning;相鄰的阿拉伯文、Rohingya、Mandaic、蒙古文、N'Ko、Phags-pa 與敘利亞文草寫單元,在本實作無法安全拉伸連接處會抑制 tracking

負間距參與真實字形墨跡邊界與前綴貼合,不假設更長的前綴一定更寬;自動貼合把絕對 point 間距與字型大小一起縮放,撰寫的 em 係數保持相對

軟換行的行對齊使用可見內容 advance,與編碼 advance 分開計算;放得下的尾隨空格片段會連同其來源偏移與 ToUnicode 映射保留下來,不會為了置中或靠右對齊而被刪掉

ASCII 軟分隔符可以跨樣式邊界或空 run,而 NBSP 仍是不斷行群集,明確段落斷行保留各自獨立的 CRLF 處理;變換後的註解排版見FreeText 預設外觀

型別化 run 保留原始 Double 值,V 保留撰寫的 plain 文字,RV 以往返精度寫入計算出的 point 間距;原生唯讀更新比較結果 rich 值與外觀語義

間距十進位轉換對有限 Double 使用 round-to-nearest、ties-to-even;規範 RV 值把負零正規化為零,二次解碼與序列化後保持不變

在本設限 profile 內,明確 normal 與明確零算出相同的 point 間距與規範 RV,使語義等價的唯讀更新成為 no-op;版本化 JSON 操作保留原始來源位元組,省略的 legacy 模式依然可區分,因為它繼承全域外觀選項

自 2.943.1 起,原生 SaveRichTextFieldUpdatesToFile 在所有更新無變化且已載入圖沒有待處理編輯時,同樣發佈精確的原始位元組,包含既有 AES 加密與已簽署修訂版;即使欄位更新數為零,待處理圖編輯也保留在發佈的候選中

Pascal 與 C++Builder 消費端請用相符的 rich-run 與 shaped-glyph 記錄與產生的標頭檔重新建置;版本化 C callback 結構與匯出符號不變

本 profile 遵循 CSS 2.2 的間距模型,以及 CSS Text letter spacing 與 CSS Text word spacing 中的列邊緣、排版單位與整形規則,並帶上述設限的分隔符與草寫涵蓋範圍

間距模式 · 型別化 JSON · 樣式化整形 span

有限數值運算支援 calc、min、max、clamp 長度運算式以及 q、rem 與明確設定的視埠單位;帶符號的計算長度進入同樣的整形、列貼合、繪製與規範 rich 值行為