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