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