HPDFResolveHeadlessTextOrder

function HPDFResolveHeadlessTextOrder(const Text: UnicodeString;
  MaximumUnits: Integer; CancellationToken: THPDFCancellationToken;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;

Resolve o mapeamento escalar lógico-para-visual, os embedding levels e os script items de um parágrafo Unicode real por meio das bibliotecas nativas FriBidi e HarfBuzz

MaximumUnits é um orçamento UTF-16 positivo de no máximo 131070; surrogates malformados e separadores de parágrafo CR, LF, NEL, LS ou PS falham, e um parágrafo vazio retorna arrays vazios

Cada array tem Length(Text) entradas; ambas as unidades UTF-16 de um scalar suplementar compartilham sua posição visual de scalar, embedding level e script tag

VisualPositions contém posições visuais de scalar com base zero, Levels contém os embedding levels do FriBidi e Scripts contém as script tags do HarfBuzz representadas como valores Cardinal

BaseRightToLeft registra a direção do parágrafo resolvida; valores de script common e inherited adquirem o contexto de script do parágrafo adjacente para divisão de style items

O cancelamento é observado durante a decodificação Unicode, a classificação de scripts e o mapeamento de items; chame esta função com um ParagraphDirection explícito ao reter a direção original entre linhas quebradas

Veja THPDFHeadlessTextOrder, THPDFHeadlessTextDirection e HPDFShapeHeadlessTextSpan