HPDFPrepareHeadlessRichTextLineBoxes

function HPDFPrepareHeadlessRichTextLineBoxes(
  const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
  CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;

Liefert eine separate Run-Sequenz mit den nur für Metriken bestimmten Absatz-Struts, die explizite Rich-Zeilenhöhen benötigen; die authored Run-Records des Aufrufers werden nicht verändert

MaximumRuns muss zwischen eins und 4096 liegen und schließt eingefügte Struts ein; Überschreiten dieser Kapazität wirft EHPDFHeadlessAppearanceError mit haLimitExceeded

Ein Absatz mit expliziter Höhe erhält einen Strut, der aus seinem ersten authored Run kopiert wird, wenn kein expliziter Strut existiert; eine Legacy-Erste-Höhe wird normal, und andere Legacy-Kindhöhen bleiben normal, statt einen Geschwisterfaktor zu erben

Ein bestehender IsParagraphStrut-Run muss der erste leere Run seines Absatzes sein und eine Nicht-Legacy-Höhe tragen; fehlerhafte Metrik-Run-Platzierung wirft haInvalidOptions

ParagraphBreakBefore wandert in den eingefügten Strut, sodass Plain-Text exakt seine ursprünglichen Absatzgrenzen behält; rein-Legacy-Absätze bewahren ihre bestehende Run-Sequenz und ihre Werte

Font-Planner sollten jeden nichtleeren Run und jeden IsParagraphStrut-Run aus der vorbereiteten Sequenz einbeziehen, weil leere Struts ihre tatsächlich gelieferten Face- und Style-Metriken benötigen

Das optionale Cancellation-Token wird während der Vorbereitung abgefragt und reicht EHPDFOperationCancelled weiter; die Funktion führt keinen Dateizugriff, kein Font-Laden, keine PDF-Veröffentlichung und keinen Callback-Commit aus

Die Vorbereitung validiert ihre begrenzte Absatzstruktur; übliche Unicode-, Farb-, Größen-, Fontprogramm- und Objekt-Budget-Validierung bleibt beim Rich-Serializer und beim Appearance-Builder

Zeilenhöhen-Verhalten · Run-Record