THPDFCABIFormDataFontV1

THPDFCABIFormDataFontV1 = function(UserData: Pointer;
  Family: PAnsiChar; FamilyLength: NativeUInt; Style: UInt32;
  FontIO: PHPDFCABIIOV1): Int32; cdecl;

返回 HPDF_STATUS_OK 以及一张完整的、带版本号的字体程序随机读取 IO 表;Family 含 FamilyLength 个 UTF-8 字节,且不保证以 NUL 结尾

Style 0 为常规、1 为粗体、2 为斜体、3 为粗斜体;回调在执行线程上同步运行,实际解码出的表单数据每用到一组字体族和样式就请求一次,默认常规字体总是会请求

对带 fontFamilies 的 Windows forms.import 操作,Family 包含由解码后的富内容选中的那个配置 UTF-8 标签原文;标签比较时 ASCII 不区分大小写、其他 Unicode 字符精确比较,未被用到的配置字体族不会请求字体程序

同一 V1 函数指针和 IO 布局同时服务旧的单字体族与命名字体族档位;省略 fontFamilies 则维持原来的单字体族选择

混合的原始 typed-rich forms.fill 也通过同一回调请求其原生 run 实际使用的配置字体族与样式;字体在组装候选前会被复制进有界的自有程序中,字段之间共享同一字体族/样式分配

需填充 StructSize、ABIVersion、Flags、UserData、ReadAt 和 GetSize;可选的 IsCancelled 也会被轮询;返回的表会被复制,但其回调函数和用户数据必须保持有效,直到外层操作返回

适配器会校验大小和版本,按有界分块读取零散的字体字节,实施单字体与累计工作容量限制,并在重新生成的 AP 资源中使用这些实际程序

字体回调或字体 IO 返回任何非零状态都会原样传播,不会回退重试;无效或缺失的程序会让活动文档保持不变;报告成功但 IO 不完整仍视为错误

可选操作记录, Windows 交换, 原始 typed-rich 填充