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