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