富文本样式组折行
typed 富字段外观在完整段落上计算 Unicode 17 默认断行机会,并为每个绘制片段保留原始样式偏移
字体样式、字号或颜色变化不产生合法词边界;不换行空格、起始标点与数字上下文跨 run 边界保持连接
合法组能放进新行时,布局用与绘制相同的外观 builder 度量每个真实带样式片段;当前行放不下时,先整体移动组再追加任何片段
每个 run 保留自己的字体、字号、颜色与装饰;不同磅值共享由各内嵌字体度量推导出的真实行基线
比内容矩形更宽的组用 完整带样式字素范围做应急适配,跨样式接缝把基础字符与 combining mark 保留在同一物理行;跨样式 Shaping 仍是后续集成工作
相邻样式 run 之间被拆开的 CRLF 产生一个真实换行与一个规范化 XHTML br 元素,包括 CR 与 LF 之间出现空样式 run 的情况
显式段落切换分隔上下文,并选用下一段首个 run 的对齐
禁用 WrapText 时样式变化保持单一物理行,显式换行与段落换行仍然生效
run 偏移与组游标沿段落推进,无需在每个标量边界扫描完整样式数组;字形、字体、片段、对象与取消限制仍然适用
原生 JSON forms.fill 操作达到同样的组适配,并保持既定操作记录布局与事务化发布
真实验收
保存的夹具覆盖跨 regular 与 bold 文本的单词、不换行空格接缝、起始括号、样式间被拆开的 CRLF、货币与小数组、混合磅值与禁用折行
独立阅读器核对精确 V 与 RV、内嵌字体身份、真实字形映射与步进、内部文本矩阵加外部变换、物理基线、内容边界以及两个控件的可见像素
混合样式段落 bidi、跨样式变化的上下文连写、任意 XHTML 与更多 CSS 消费方仍是进行中的独立工作
原生富字段 · Unicode 断点 · 字素适配