HPDFResolveHeadlessTextOrder

function HPDFResolveHeadlessTextOrder(const Text: UnicodeString;
  MaximumUnits: Integer; CancellationToken: THPDFCancellationToken;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;

Résout le mappage scalaire logique vers visuel, les niveaux d'embedding et les éléments de script d'un vrai paragraphe Unicode via les bibliothèques natives FriBidi et HarfBuzz

MaximumUnits est un budget UTF-16 positif d'au plus 131070 ; les surrogates mal formés et les séparateurs de paragraphe CR, LF, NEL, LS ou PS échouent, et un paragraphe vide renvoie des tableaux vides

Chaque tableau compte Length(Text) entrées ; les deux unités UTF-16 d'un scalaire supplémentaire partagent sa position visuelle scalaire, son niveau d'embedding et son tag de script

VisualPositions contient les positions visuelles scalaires en base zéro, Levels les niveaux d'embedding FriBidi et Scripts les tags de script HarfBuzz représentés comme valeurs Cardinal

BaseRightToLeft enregistre la direction de paragraphe résolue ; les valeurs de script common et inherited acquièrent le contexte de script de paragraphe adjacent pour la découpe en éléments de style

L'annulation est observée pendant le décodage Unicode, la classification de scripts et le mappage d'éléments ; appelez cette fonction avec un ParagraphDirection explicite pour conserver la direction d'origine sur les lignes enveloppées

Voir THPDFHeadlessTextOrder, THPDFHeadlessTextDirection et HPDFShapeHeadlessTextSpan