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