有序富文本字体候选列表
富文本可以保留显式的有序字体族列表,并在为完整 Unicode 字素挑选真实提供的字体程序时使用该顺序
Run:= THPDFHeadlessRichTextRun.Default;
Run.Text:= 'A' + WideChar($03A9) + 'B';
Run.FontFamily:= 'Primary';
SetLength(Run.FontFamilyCandidates, 3);
Run.FontFamilyCandidates[0]:= 'Primary';
Run.FontFamilyCandidates[1]:= 'Serif';
Run.FontFamilyCandidates[2]:= 'Sans';
Options:= THPDFHeadlessTextAppearanceOptions.Default;
Options.FallbackFontFamilies:= True;
真实的字体族与样式程序通过既有的按名称字体 API 提供;FontFamilyCandidates 中的标签不会发现或下载字体
选择与保留
受影响的首个 authored run 为整个字素(包括样式接缝与组合附加符)提供列表;每个配置的候选都必须用其真实的 regular、bold、italic 或 bold-italic 程序覆盖每个带样式的部分
未知标签与缺少样式程序的候选会被跳过;若没有已声明候选能覆盖该字素,则套用既有的选定字体族与提供数组回退规则
候选列表非空时 FontFamily 必须与其第一个配置标签匹配;typed JSON 中省略 FontFamily 会自动选中该匹配
回退只改变外观准备:authored 纯文本值、精确的 typed 尺寸与颜色以及原始候选顺序仍保留在 V 与 RV 中;resolver 绝不改写调用方的 run
内联 XHTML 与交换
把 THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists 设为 True 并配置 FontFamilyNames,即可保留受支持的逗号分隔内联 font-family 声明,包括继承与按属性的 important 优先级
感知字体族的 FDF 与 XFDF 导入在外观选项启用 FallbackFontFamilies 时会启用这种保留;严格默认解码维持既有的首个配置字体族选择
列表最多 16 个标签,每个不超过 128 个 UTF-16 code unit,必须是合法 Unicode,不含控制字符、首尾空白、引号、反斜杠、逗号或分号;重复与未知的已声明标签保留 authored 顺序
Native Linux JSON
{"schemaVersion":1,"type":"forms.fill",
"fontFamilies":["Primary","Sans","Serif"],"fallbackFontFamilies":true,
"fields":[{"name":"Input","richTextRuns":[
{"text":"A\u03a9B","fontFamily":"Primary",
"fontFamilyCandidates":["Primary","Serif","Sans"]}
]}]}
即使操作把 Sans 配置在 Serif 之前,声明的 Serif 先于 Sans 顺序仍决定回退;既有 Fontconfig provider 在同样的聚合字体与内存上限下提供真实的具名程序
typed run 候选数组要求已配置 fontFamilies 且 fallbackFontFamilies 已启用;数组或标签格式错误、字素覆盖缺失、预算耗尽与取消都会在上下文提交之前按事务语义失败
formData.richFontFamilyCandidates 能力与 maxFontFamilyCandidates=16 通过不变的 V1 Callback 和导出符号版本公告这一有界选项
成功的链式表单填充与等价的 FDF/XFDF 导入保留已提交的文档与源快照;输出或结果 Callback 失败则保留之前已提交的修订
范围
此 profile 覆盖提供的候选标签与受支持的内联声明;外部样式表、任意 CSS 布局、generic 族发现与 Windows Callback 回退加载仍是独立工作
回退行为 · Typed run 记录 · 解码选项 · Native Linux 绑定