HPDFReorderHeadlessTextLine 函数
用先前解析出的段落层级与 script 重排物理行,在换行过程中保留显式方向状态,无需重新解析整个段落
function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;
对完整段落解析一次 HPDFResolveHeadlessTextOrder;把精确选定的行作为 Text 传入,其零起算的 UTF-16 段落偏移作为 FirstUnit
调用方必须提供匹配的段落行序和未改动的逻辑行文本;函数校验数组长度、边界、嵌入层级、scalar 边界和取消,但无法重建缓存记录中缺失的文本
行重排只复制选定的 scalar 层级,经原生 FriBidi 应用行尾空白重置和视觉重排,并返回行本地的 UTF-16 数组;它不修改共享的段落记录
MaximumUnits 必须为正且至多 131070;完整的缓存段落必须在此预算内,Text 必须是不含分隔符的合法 Unicode
富字段外观对每个逻辑段落使用该缓存,再通过 HPDFShapeHeadlessTextOrderedSpan 在完整物理行上对每个样式项做 shaping