HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
回傳一條獨立的 run 序列,帶上明確 rich 行高所需的僅度量段落 strut;不修改呼叫端撰寫的 run 記錄
MaximumRuns 必須在 1 到 4096 之間且包含插入的 strut;超出該容量拋出帶 haLimitExceeded 的 EHPDFHeadlessAppearanceError
帶明確行高的段落若尚無明確 strut,會得到一條從其首個撰寫 run 複製來的 strut;legacy 首行高轉為 normal,其餘 legacy 子行高保持 normal 而不繼承兄弟係數
已有的 IsParagraphStrut run 必須是其段落的第一個空 run,且必須帶非 legacy 行高;畸形度量 run 位置拋出 haInvalidOptions
ParagraphBreakBefore 會移到插入的 strut 上,plain 文字因此精確保留原有段落邊界;全 legacy 段落保持既有 run 序列與取值
字型規劃器應把準備後序列中的每個非空 run 與每個 IsParagraphStrut run 都納入度量,因為空 strut 也需要其真實指定的字型與樣式度量
選用的 cancellation token 在準備期間輪詢並傳播 EHPDFOperationCancelled;本函式不做檔案存取、字型載入、PDF 發佈或 callback 提交
準備階段驗證自身設有上限的段落結構;一般 Unicode、顏色、字型大小、字型程式與物件預算驗證仍由 rich 序列化器與外觀建構器負責