HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
Devolve uma sequência de runs separada com os struts de parágrafos só de métricas exigidos por alturas de linhas rich explícitas; não modifica os registos de runs escritos de quem chama
MaximumRuns tem de estar entre um e 4096 e inclui struts inseridos; exceder essa capacidade levanta EHPDFHeadlessAppearanceError com haLimitExceeded
Um parágrafo contendo uma altura explícita recebe um strut copiado do primeiro run escrito dele quando não existe strut explícito; uma primeira altura legada torna-se normal, e as restantes alturas filhas legadas permanecem normais em vez de herdarem um fator de irmão
Um run IsParagraphStrut existente tem de ser o primeiro run vazio do parágrafo dele e tem de transportar uma altura não legada; posicionamento malformado de runs de métricas levanta haInvalidOptions
ParagraphBreakBefore move-se para o strut inserido, para que o texto plain mantenha exatamente as fronteiras de parágrafos originais; parágrafos inteiramente legados preservam a sequência e os valores de runs existentes deles
Os planeadores de tipos de letra devem incluir todos os runs não vazios e todos os runs IsParagraphStrut da sequência preparada, porque os struts vazios exigem as métricas reais de face e de estilo fornecidas para eles
O token de cancelamento opcional é consultado durante a preparação e propaga EHPDFOperationCancelled; a função não faz acesso a ficheiros, carregamento de tipos de letra, publicação de PDFs nem confirmação de callbacks
A preparação valida a estrutura de parágrafos delimitada dela; a validação ordinária de Unicode, cores, tamanhos, programas de tipos de letra e orçamentos de objetos permanece com o serializador rich e o construtor de aparências