Função HPDFReorderHeadlessTextLine

Reordena uma linha física usando os levels e scripts de parágrafo previamente resolvidos, retendo o estado direcional explícito através do wrapping sem resolver o parágrafo inteiro de novo

function HPDFReorderHeadlessTextLine(const Text: UnicodeString;
  const ParagraphOrder: THPDFHeadlessTextOrder; FirstUnit, MaximumUnits: Integer;
  CancellationToken: THPDFCancellationToken): THPDFHeadlessTextOrder;

Resolva HPDFResolveHeadlessTextOrder uma vez para o parágrafo completo; passe a linha selecionada exata como Text e seu offset UTF-16 no parágrafo, com base zero, como FirstUnit

O chamador precisa fornecer o order de parágrafo correspondente e o texto da linha lógica inalterado; a função valida comprimentos de arrays, limites, embedding levels, fronteiras de scalars e cancelamento, mas não consegue reconstruir texto omitido do record em cache

A reordenação da linha copia apenas os levels de scalars selecionados, aplica o reset de whitespace final e a reordenação visual por meio do FriBidi nativo, e retorna arrays UTF-16 locais da linha; ela não modifica o record compartilhado do parágrafo

MaximumUnits precisa ser positivo e de no máximo 131070; o parágrafo completo em cache precisa caber neste orçamento e Text precisa conter Unicode válido sem separadores

Aparências de campos rich usam este cache para cada parágrafo lógico e depois fazem o shaping de cada style item contra sua linha física completa por meio de HPDFShapeHeadlessTextOrderedSpan