Función HPDFResolveHeadlessTextLineOrder
Resuelve los niveles de embedding para un párrafo lógico completo y reordena una línea física seleccionada conservando el contexto de embeddings direccionales, overrides, isolates y corchetes emparejados que empezó en líneas anteriores
function HPDFResolveHeadlessTextLineOrder(const Paragraph: UnicodeString;
FirstUnit, UnitCount, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken;
ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;
FirstUnit es un offset UTF-16 de base cero y UnitCount es la longitud de la línea física, excluyendo separadores de línea o párrafo; ambas fronteras deben contener escalares Unicode completos
Los arrays devueltos describen solo esa línea física, mientras que BaseRightToLeft describe el párrafo completo; los escalares suplementarios comparten rango visual, nivel y script a través de sus dos unidades UTF-16
La función aplica la resolución de embedding del párrafo seguida del reset de espacios en blanco de la línea física y la reordenación visual a través de la librería FriBidi nativa configurada; preserva el texto lógico y no da forma ni refleja glyphs por sí misma
MaximumUnits debe ser positivo y como máximo 131070; el párrafo completo debe caber en este presupuesto, contener Unicode válido y no tener separadores de línea
Para muchas líneas del mismo párrafo, resuelva HPDFResolveHeadlessTextOrder una vez y use HPDFReorderHeadlessTextLine para evitar procesar repetidamente el párrafo
Pase cada línea física y su orden devuelto a HPDFShapeHeadlessTextOrderedSpan para el shaping contextual OpenType nativo