HPDFResolveHeadlessTextOrder

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

Resolve o mapeamento escalar lógico-visual, os níveis de embedding e os itens de script de um parágrafo Unicode real através das bibliotecas nativas FriBidi e HarfBuzz

MaximumUnits é um orçamento UTF-16 positivo não superior a 131070; surrogates malformados e separadores de parágrafos CR, LF, NEL, LS ou PS falham, e um parágrafo vazio devolve arrays vazios

Cada array tem entradas Length(Text); ambas as unidades UTF-16 de um scalar suplementar partilham a posição visual de scalar, o nível de embedding e a etiqueta de script dele

VisualPositions contém posições visuais de scalar com base zero, Levels contém níveis de embedding FriBidi e Scripts contém etiquetas de script HarfBuzz representadas como valores Cardinal

BaseRightToLeft regista a direção de parágrafo resolvida; os valores de script common e inherited adquirem o contexto de script do parágrafo adjacente para divisão de itens de estilo

O cancelamento é observado durante a descodificação Unicode, a classificação de scripts e o mapeamento de itens; chame esta função com um ParagraphDirection explícito quando quiser manter a direção original através de linhas com wrap

Veja THPDFHeadlessTextOrder, THPDFHeadlessTextDirection e HPDFShapeHeadlessTextSpan