HPDFBuildHeadlessTextAppearance

function HPDFBuildHeadlessTextAppearance(const Text: UnicodeString;
  const TrueTypeFont: SysUtils.TBytes; FirstObjectNumber: Integer;
  const Options: THPDFHeadlessTextAppearanceOptions): THPDFHeadlessTextAppearance;

用共享 HotPDF 解析器、对象类、cmap 读取器、真实 TrueType advance 与描述符元数据以及可选 HarfBuzz/FriBidi Shaping,构建真实的 Unicode Form XObject 及其字体对象

返回的 bundle 拥有从正 FirstObjectNumber 开始的七个连续对象;对象注册、字段链接、加密与有界增量输出请用文档外观方法

字体要求具名 TrueType glyf/loca 轮廓、一致的 sfnt 签名与 head magic、有序有界字形偏移,以及完整合法且落在声明表范围内的 Unicode cmap

Unicode 查找不回退到 Symbol 或 MacRoman 映射;缺失字形会被拒绝,而不是换成视觉无关的字形

支持的文本是直接横排的拉丁、希腊、西里尔、简单 CJK、预组合 Hangul、选定的数学符号,以及 supplied 字体包含相应标量时的独立 emoji

多行 CR/LF 布局、度量折行、comb 单元格、直角旋转以及矩形或圆形边框由选项记录控制

ShapeComplexText 启用时,复杂文字、combining 序列、bidi 与连字使用原生 HarfBuzz Shaping 与 FriBidi run 排序;畸形代理对、不支持的控件字符、缺失字形、非法字体权限与预算耗尽仍是错误

复杂字形获得包括 Shaping 偏移的独立定位、感知簇的 ToUnicode 映射以及保留逻辑源的 marked-content ActualText;阅读器可能使用自己的注释文本提取顺序

Linux 加载 libharfbuzz.so.0 与 libfribidi.so.0;Windows 要求架构匹配的 libharfbuzz-0.dll 与 libfribidi-0.dll,可通过 HOTPDF_HARFBUZZ_LIBRARY 与 HOTPDF_FRIBIDI_LIBRARY 显式指定路径

完整原始字体字节连同真实 PostScript 名称、边界、ascent、descent、斜体角度与等宽标志一起内嵌;cap height 优先用 OS/2、否则用 hhea ascender;StemV 用保守的固定描述符估算

要求 installable 或 editable 嵌入;整字体嵌入遵守 no-subsetting,restricted、preview-and-print、bitmap-only、缺失或未知嵌入权限会被拒绝

builder 在返回自有 bundle 前检查字体字节、字形数量、流与字典大小、标量合法性与取消

参见 THPDFHeadlessTextAppearanceOptions、THPDFHeadlessTextAppearance 与 SetTextFieldValueWithAppearance