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 el párrafo completo otra vez
function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;
Resuelve HPDFResolveHeadlessTextOrder una vez para el párrafo completo; pasa la línea seleccionada exacta como Text y su offset UTF-16 de párrafo con base cero como FirstUnit
El llamador debe aportar el orden de párrafo coincidente y el texto lógico de línea sin cambios; la función valida longitudes de arreglos, bounds, embedding levels, fronteras de escalares y cancelación, pero no puede reconstruir texto omitido del record cacheado
El reordenamiento de línea copia solo los niveles de escalares seleccionados, aplica el reset de espacios en blanco finales y el reordenamiento visual a través de FriBidi nativo, y devuelve arreglos UTF-16 locales de línea; no modifica el record compartido del párrafo
MaximumUnits debe ser positivo y a lo sumo 131070; el párrafo cacheado completo debe caber en este presupuesto y Text debe contener Unicode válido sin separadores
Las appearances de campos rich usan este cache por 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