Fonction HPDFResolveHeadlessTextLineOrder

Résout les niveaux d'embedding d'un paragraphe logique complet et réordonne une ligne physique sélectionnée tout en conservant le contexte d'embeddings directionnels, d'overrides, d'isolates et de crochets appariés débuté sur les lignes antérieures

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

FirstUnit est un offset UTF-16 en base zéro et UnitCount la longueur de la ligne physique, séparateurs de ligne ou de paragraphe exclus ; les deux bornes doivent contenir des scalaires Unicode complets

Les tableaux renvoyés décrivent seulement cette ligne physique, tandis que BaseRightToLeft décrit le paragraphe complet ; les scalaires supplémentaires partagent un rang visuel, un niveau et un script communs aux deux unités UTF-16

La fonction applique la résolution d'embedding du paragraphe puis la remise à zéro des blancs de la ligne physique et le réordonnancement visuel via la bibliothèque FriBidi native configurée ; elle préserve le texte logique et ne façonne ni ne met en miroir les glyphes elle-même

MaximumUnits doit être positif et au plus 131070 ; le paragraphe complet doit tenir dans ce budget, contenir de l'Unicode valide et ne pas comporter de séparateurs de ligne

Pour de nombreuses lignes issues du même paragraphe, résolvez HPDFResolveHeadlessTextOrder une seule fois et utilisez HPDFReorderHeadlessTextLine pour éviter de retravailler le paragraphe de façon répétée

Passez chaque ligne physique et son ordre renvoyé à HPDFShapeHeadlessTextOrderedSpan pour un façonnage OpenType contextuel natif