Funzione HPDFReorderHeadlessTextLine
Riordina una riga fisica usando livelli e script del paragrafo risolti in precedenza, conservando lo stato direzionale esplicito attraverso il wrapping senza risolvere di nuovo l'intero paragrafo
function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;
Risolvere HPDFResolveHeadlessTextOrder una volta per il paragrafo completo; passare la riga selezionata esatta come Text e il suo offset UTF-16 a base zero nel paragrafo come FirstUnit
Il chiamante deve fornire l'ordine del paragrafo corrispondente e il testo logico della riga invariato; la funzione valida lunghezze degli array, limiti, livelli di embedding, confini degli scalari e cancellazione ma non può ricostruire testo omesso dal record in cache
Il riordino della riga copia solo i livelli degli scalari selezionati, applica il reset degli spazi finali e il riordino visivo attraverso FriBidi nativo, e restituisce array UTF-16 locali alla riga; non modifica il record condiviso del paragrafo
MaximumUnits deve essere positivo e al massimo 131070; il paragrafo completo in cache deve stare in questo budget e Text deve contenere Unicode valido senza separatori
Le appearance dei campi rich usano questa cache per ogni paragrafo logico, poi effettuano lo shaping di ogni item di stile rispetto alla sua riga fisica completa attraverso HPDFShapeHeadlessTextOrderedSpan