Funktion HPDFReorderHeadlessTextLine

Sortiert eine physikalische Zeile mit zuvor aufgelösten Absatzleveln und -skripten neu und bewahrt den expliziten Richtungszustand über den Umbruch hinweg, ohne den ganzen Absatz erneut aufzulösen

function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
  const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
  CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;

Löse HPDFResolveHeadlessTextOrder einmal für den kompletten Absatz auf; übergib die exakt ausgewählte Zeile als Text und ihren nullbasierten UTF-16-Absatzoffset als FirstUnit

Der Aufrufer muss die passende Absatzordnung und den unveränderten logischen Zeilentext liefern; die Funktion prüft Arraylängen, Grenzen, Embedding-Levels, Skalargrenzen und Abbruch, kann aber im Cache-Eintrag fehlenden Text nicht rekonstruieren

Die Zeilenneuordnung kopiert nur die ausgewählten Skalarlevel, wendet Whitespace-Reset am Zeilenende und visuelle Neusortierung über natives FriBidi an und liefert zeilenlokale UTF-16-Arrays; der gemeinsame Absatz-Record wird nicht verändert

MaximumUnits muss positiv und höchstens 131070 sein; der komplette gepufferte Absatz muss in dieses Budget passen, und Text muss gültiges Unicode ohne Trenner enthalten

Rich-Feld-Appearances nutzen diesen Cache je logischem Absatz und formen dann jedes Stil-Item gegen seine komplette physikalische Zeile über HPDFShapeHeadlessTextOrderedSpan