Fonction HPDFReorderHeadlessTextLine
Réordonne une ligne physique en utilisant les niveaux et scripts de paragraphe résolus précédemment, en conservant l'état directionnel explicite à travers le wrapping sans résoudre à nouveau tout le paragraphe
function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;
Résolvez HPDFResolveHeadlessTextOrder une seule fois pour le paragraphe complet ; passez la ligne sélectionnée exacte comme Text et son offset UTF-16 en base zéro dans le paragraphe comme FirstUnit
L'appelant doit fournir l'ordre de paragraphe correspondant et le texte logique de ligne inchangé ; la fonction valide les longueurs de tableaux, les bornes, les niveaux d'embedding, les frontières de scalaires et l'annulation, mais ne peut pas reconstruire du texte omis du record en cache
Le réordonnancement de ligne ne copie que les niveaux scalaires sélectionnés, applique la remise à zéro des blancs de fin et le réordonnancement visuel via FriBidi natif, et renvoie des tableaux UTF-16 locaux à la ligne ; il ne modifie pas le record de paragraphe partagé
MaximumUnits doit être positif et au plus 131070 ; le paragraphe complet en cache doit tenir dans ce budget et Text doit contenir de l'Unicode valide sans séparateurs
Les appearances de champs riches utilisent ce cache pour chaque paragraphe logique, puis façonnent chaque élément de style par rapport à sa ligne physique complète via HPDFShapeHeadlessTextOrderedSpan