THPDFXFAButtonAppearance

单元:HPDFXFAHeadless

由 HPDFXFABuildButtonAppearance 返回的自有原生外观 bundle,包含单个 pushbutton 的真实 HotPDF 对象,不带页面或字段身份

成员约定
ObjectCount: Integer槽位数量,含准备好的可达间接对象,包括外观流与真实字体资源
Objects[Index: Integer]: THPDFObject0 到 ObjectCount 减一处下标对应的借用对象;非法下标抛出 EHPDFXFAHeadlessError
Properties: THPDFDictionaryObject借用的直接字典,含 AP、MK、H 与可用的 DA/Q 条目;不含页面、矩形、字段名与字段标志
Fonts: THPDFDictionaryObject借用的直接字典,含默认外观字体别名与间接字体引用,供调用方的 AcroForm DR 使用
GlyphUnits: Integer准备 normal 与所请求备用 caption 外观时使用的聚合字形单元核算
SerializedBytes: Integer序列化间接对象体与两个直接属性/资源根之和;不含调用方控件字典、对象头、xref 与 trailer
DetachObject(Index): THPDFObject转移所有权并清空对应槽位,其他对象不重新编号;已分离槽位返回 nil
DetachProperties: THPDFDictionaryObject转移直接属性根的所有权并清空 Properties
DetachFonts: THPDFDictionaryObject转移直接资源根的所有权并清空 Fonts

析构函数释放仍附着的一切对象与根;分离出的对象归调用方所有,必须释放或收养

全部间接对象使用从工厂 FirstObjectNumber 开始的连续 generation 0 编号;引用保持在 bundle 内部,资源别名使用实际收养字体的对象编号

把 bundle 收养进既有文档时,保留一个不相交的对象编号区间,收养全部对象并保留其编号,把属性值挂到真实控件上,并把 Fonts 条目登记进该文档的 AcroForm DR