Función HPDFReorderHeadlessTextLine
Reordena una línea física usando niveles y scripts de párrafo resueltos previamente, conservando el estado direccional explícito a través del ajuste de línea sin resolver de nuevo el párrafo completo
function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;
Resuelva HPDFResolveHeadlessTextOrder una vez para el párrafo completo; pase la línea seleccionada exacta como Text y su offset UTF-16 de párrafo de base cero como FirstUnit
El llamador debe suministrar el orden de párrafo coincidente y el texto lógico de la línea sin cambios; la función valida longitudes de arrays, límites, niveles de embedding, fronteras de escalares y cancelación, pero no puede reconstruir texto omitido del record en caché
La reordenación de línea copia solo los niveles de escalares seleccionados, aplica el reset de espacios en blanco finales y la reordenación visual a través de FriBidi nativo, y devuelve arrays UTF-16 locales de línea; no modifica el record compartido del párrafo
MaximumUnits debe ser positivo y como máximo 131070; el párrafo completo en caché debe caber en este presupuesto y Text debe contener Unicode válido sin separadores
Las appearances de campos enriquecidos usan esta caché para cada párrafo lógico, y luego dan forma a cada ítem de estilo contra su línea física completa a través de HPDFShapeHeadlessTextOrderedSpan