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