Rich Text 樣式群組換行
typed rich 欄位外觀在完整段落上計算 Unicode 17 預設斷行機會,並為每個繪製片段保留原始樣式偏移
字型樣式、大小或顏色的變化不會形成合法的詞邊界;不換行空格、開括號標點與數字上下文在 run 邊界之間保持相連
合法群組放得進新行時,版面以繪製所用的同一個外觀建構器量測每個實際樣式化片段;目前行空間不足時,會在附加任何片段之前把整個群組移過去
每個 run 保留自己的字型、大小、顏色與裝飾;不同 point size 共用由各內嵌字型 metrics 推導的實際行 baseline
寬於內容矩形的群組改用完整樣式化 grapheme 範圍緊急排版,讓 base 字元與 combining marks 跨樣式接縫留在同一實體行;跨樣式 shaping 仍是後續整合工作
相鄰樣式 runs 之間被拆開的 CRLF 會形成一個實際斷行與一個 canonical XHTML br 元素,CR 與 LF 之間出現空樣式 run 時也一樣
明確的段落轉換會分隔 context,並選用下一段第一個 run 的對齊
停用 WrapText 時,樣式變更之間維持單一實體行;明確的行與段落斷行仍然生效
run 偏移與群組游標沿段落推進,不必在每個 scalar 邊界掃描完整樣式陣列;glyph、字型、片段、物件與取消限制仍然生效
原生 JSON forms.fill 操作達到相同的群組排版,並保留其既定的操作記錄布局與交易式發布
實際驗收
已儲存 fixtures 涵蓋跨 regular 與 bold 的單字、不換行空格接縫、開括號、樣式間被拆開的 CRLF、貨幣與小數群組、混合 point size 與停用換行
獨立閱讀器檢視精確的 V 與 RV、內嵌字型身分、實際 glyph 對應與前進量、內層文字矩陣加外層變換、實體 baseline、內容邊界,以及兩個 widget 的可見像素
混合樣式段落 bidi、跨樣式變更的情境連接、任意 XHTML 與更多 CSS 消費端,仍是進行中的獨立工作