HPDFXFABuildButtonAppearance

Unit: HPDFXFAHeadless

function HPDFXFABuildButtonAppearance(const Text, Style: AnsiString;
  Width, Height: Double; const TrueTypeFont: SysUtils.TBytes;
  FirstObjectNumber: Integer; const Options: TXFAHeadlessPDFOptions;
  const ResolvedCaptionRuns: THPDFHeadlessRichTextRuns = nil): THPDFXFAButtonAppearance;

Bereitet eine echte Pushbutton-Appearance vor und nutzt dieselben Caption-, State-, Font- und Layout-Consumer wie die automatische Headless-XFA-Erzeugung; Text ist UTF-8, Style sind die von der XFA-Layout-Callback emittierten Metadaten, und Width/Height sind physikalische PDF-Punkte

TrueTypeFont liefert das echte Standardprogramm; Options.CaptionFontFamilies liefert zusätzliche echte Regular-, Bold-, Italic- und Bold-Italic-Programme samt ihrer deklarierten Labels

FirstObjectNumber muss positiv sein und Raum für alle erzeugten fortlaufenden Objektnummern lassen; das zurückgegebene Bundle besitzt die erreichbaren nativen Objekte sowie getrennte Widget-Property- und Default-Font-Roots

Die Factory verändert nie ein Aufrufer-Dokument und schreibt nie in einen Aufrufer-Stream; Font-, Glyphen-, Input-, Objekt-, Serialisierungs-Byte- und Abbruchprüfungen greifen während der Vorbereitung

Mit nil als ResolvedCaptionRuns bleibt der bestehende Pfad konfigurierter Familien erhalten; der optionale Override unterstützt einen separat aufgelösten Katalog installierter Fonts, ohne authorisierten Text oder Formatierung zu ersetzen

Ein nichtleerer Override verlangt die aktuelle Rich-Caption-Payload und exakt passende Run-Anzahl, Text, Stil, Größe, Farbe, Unterstreichung, Durchstreichung, Absatzgrenze, Ausrichtung und geordnete FontFamilyCandidates; nur FontFamily darf auf ein konfiguriertes Label wechseln

Der gemeinsame Font-Fallback wählt dann eine echte Familie, die das komplette Graphem über alle beteiligten Stile abdeckt; fehlende Bold- oder Italic-Programme werden nie synthetisiert

Metadaten für normal/down/rollover-Beschriftungen, explizit leere Beschriftungen, versteckte Beschriftungen und das übliche Null-Reserve-Verhalten folgen den Pushbutton-Caption-Semantiken