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