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 发布或回调提交
准备阶段校验自身有界的段落结构;常规 Unicode、颜色、字号、字体程序和对象预算校验仍由 rich 序列化器和外观构建器负责