Legacy XFA pushbutton caption appearances
THotPDF.ApplyXFAAsAcroForm now uses the shared native pushbutton appearance consumer when AutoFormAppearances is enabled or the selected PDF version requires appearances
Actual saved AP streams preserve Unicode scalar and XHTML captions, real installed typefaces and styles, inline CSS family candidate order, template defaults, normal/down/rollover captions, highlight modes and hidden or explicit empty captions
Installed fonts are read through bounded Windows GDI operations; unavailable typefaces use actual configured fallback programs, and missing bold/italic styles do not become synthetic font programs
Combining characters spanning differently styled runs stay in one family that supplies the whole cluster; adjacent characters can keep the first authored family when it has the required real face
Per-instance runtime edits and whole caption XML replacements can be saved to XDP, reloaded and consumed by THotPDF; failed runtime transactions preserve the original XML and resulting caption appearance
Font and appearance preparation completes before native button graph adoption; adoption uses a per-button graph transaction, including object, annotation, field-registry and font-registry rollback for cancellation before commit
This boundary does not make the entire ApplyXFAAsAcroForm call atomic across previously emitted fields, pages or nonbutton consumers
RegisterAcroFormFont now serializes registered real font references into AcroForm DR, verifies document ownership and unambiguous indirect identities, and rejects collisions with existing resource aliases such as Helv and ZaDb
Supplying a valid DA and DR without an AP still leaves appearance regeneration to the external reader; explicit native AP streams provide the saved rendering evidence for the authored font
The reusable appearance factory and caption decoder also work with supplied font bytes on native Linux; the installed-font resolver and THotPDF consumer described here are Windows APIs