HPDFResolveHeadlessTextLineOrder Function

Resolve níveis de embedding para um parágrafo lógico completo e reordena uma linha física selecionada, mantendo embeddings direcionais, overrides, isolates e o contexto de pares de parênteses retos que começou em linhas anteriores

function HPDFResolveHeadlessTextLineOrder(const Paragraph: UnicodeString;
  FirstUnit, UnitCount, MaximumUnits: Integer;
  CancellationToken: THPDFCancellationToken;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;

FirstUnit é um offset UTF-16 com base zero e UnitCount é o comprimento da linha física, excluindo separadores de linhas ou de parágrafos; ambas as fronteiras têm de conter scalars Unicode completos

Os arrays devolvidos descrevem apenas essa linha física, enquanto BaseRightToLeft descreve o parágrafo completo; scalars suplementares partilham rank visual, nível e script através de ambas as unidades UTF-16

A função aplica a resolução de embeddings do parágrafo, seguida do reset de whitespace da linha física e da reordenação visual através da biblioteca nativa FriBidi configurada; preserva o texto lógico e não aplica shaping nem espelha glyphs por si

MaximumUnits tem de ser positivo e no máximo 131070; o parágrafo completo tem de caber neste orçamento, conter Unicode válido e não ter separadores de linhas

Para muitas linhas do mesmo parágrafo, resolva HPDFResolveHeadlessTextOrder uma vez e use HPDFReorderHeadlessTextLine para evitar processar o parágrafo repetidamente

Passe cada linha física e a ordem devolvida dela a HPDFShapeHeadlessTextOrderedSpan para shaping contextual OpenType nativo