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 且無分隔符

rich field 外觀為每個邏輯段落使用此快取,再透過 HPDFShapeHeadlessTextOrderedSpan 對完整物理行 shaping 每個樣式項目