Funzione HPDFResolveHeadlessTextLineOrder

Risolve i livelli di embedding per un intero paragrafo logico e riordina una riga fisica selezionata conservando embedding direzionali, override, isolates e contesto di parentesi accoppiate iniziato su righe precedenti

function HPDFResolveHeadlessTextLineOrder(const Paragraph: UnicodeString;
  FirstUnit, UnitCount, MaximumUnits: Integer;
  CancellationToken: THPDFCancellationToken;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;

FirstUnit è un offset UTF-16 a base zero e UnitCount è la lunghezza della riga fisica, esclusi separatori di riga o di paragrafo; entrambi i confini devono contenere scalari Unicode completi

Gli array restituiti descrivono solo quella riga fisica, mentre BaseRightToLeft descrive il paragrafo completo; gli scalari supplementari condividono rank visivo, livello e script attraverso entrambe le unità UTF-16

La funzione applica la risoluzione degli embedding del paragrafo seguita da reset degli spazi della riga fisica e riordino visivo attraverso la libreria FriBidi nativa configurata; conserva il testo logico e non effettua shaping né specchiatura dei glifi da sola

MaximumUnits deve essere positivo e al massimo 131070; il paragrafo completo deve stare in questo budget, contenere Unicode valido e non avere separatori di riga

Per molte righe dello stesso paragrafo, risolvere una volta HPDFResolveHeadlessTextOrder e usare HPDFReorderHeadlessTextLine per evitare di riprocessare il paragrafo

Passare ogni riga fisica e il suo ordine restituito a HPDFShapeHeadlessTextOrderedSpan per lo shaping contestuale OpenType nativo