HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
Retourne une séquence de runs séparée avec les struts de paragraphe réservés aux métriques qu'exigent les hauteurs de ligne riches explicites ; elle ne modifie pas les records de run rédigés par l'appelant
MaximumRuns doit aller de un à 4096 et comprend les struts insérés ; dépasser cette capacité lève EHPDFHeadlessAppearanceError avec haLimitExceeded
Un paragraphe avec hauteur explicite reçoit un strut copié depuis son premier run rédigé quand aucun strut explicite n'existe ; une première hauteur legacy devient normale, et les autres hauteurs enfants legacy restent normales plutôt que d'hériter d'un facteur de frère
Un run IsParagraphStrut existant doit être le premier run vide de son paragraphe et porter une hauteur non legacy ; un placement mal formé de run métrique lève haInvalidOptions
ParagraphBreakBefore migre vers le strut inséré pour que le texte brut conserve exactement ses frontières de paragraphe d'origine ; les paragraphes entièrement legacy préservent leur séquence de runs et leurs valeurs existantes
Les planificateurs de polices doivent inclure chaque run non vide et chaque run IsParagraphStrut de la séquence préparée, car les struts vides exigent leurs métriques de face et de style réellement fournies
Le token d'annulation optionnel est interrogé pendant la préparation et propage EHPDFOperationCancelled ; la fonction n'accède à aucun fichier, ne charge aucune police, ne publie aucun PDF et ne commet aucun callback
La préparation valide sa structure de paragraphes bornée ; la validation ordinaire Unicode, couleur, taille, programme de police et budget d'objets reste du ressort du sérialiseur riche et du builder d'apparences