HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
Retorna uma sequência separada de runs com os struts métricos de parágrafos necessários para line heights rich explícitos; ela não modifica os records de runs autorados do chamador
MaximumRuns precisa estar entre um e 4096 e inclui os struts inseridos; exceder essa capacidade dispara EHPDFHeadlessAppearanceError com haLimitExceeded
Um parágrafo contendo uma altura explícita recebe um strut copiado do seu primeiro run autorado quando não existe strut explícito; uma primeira altura legada vira normal, e as demais alturas filhas legadas permanecem normais em vez de herdar o fator de um irmão
Um run IsParagraphStrut existente precisa ser o primeiro run vazio de seu parágrafo e precisa carregar uma altura não legada; placement malformado de runs métricos dispara haInvalidOptions
ParagraphBreakBefore move para o strut inserido, de modo que o texto simples retenha exatamente suas fronteiras originais de parágrafos; parágrafos totalmente legados preservam sua sequência e valores existentes de runs
Os planners de fontes devem incluir cada run não vazio e cada run IsParagraphStrut da sequência preparada, porque struts vazios exigem as métricas reais de face e estilo fornecidas
O token opcional de cancelamento é polled durante a preparação e propaga EHPDFOperationCancelled; a função não acessa arquivos, não carrega fontes, não publica PDF nem commita callbacks
A preparação valida sua estrutura delimitada de parágrafos; a validação comum de Unicode, cor, tamanho, programas de fontes e orçamentos de objetos permanece com o serializer rich e o appearance builder