HPDFBuildHeadlessTextAppearance
function HPDFBuildHeadlessTextAppearance(const Text: UnicodeString;
const TrueTypeFont: SysUtils.TBytes; FirstObjectNumber: Integer;
const Options: THPDFHeadlessTextAppearanceOptions): THPDFHeadlessTextAppearance;
Baut ein echtes Unicode-Form-XObject und seine Font-Objekte auf, mit dem gemeinsamen HotPDF-Parser, Objektklassen, cmap-Reader, echten TrueType-Advance- und Descriptor-Metadaten sowie optionalem HarfBuzz-/FriBidi-Shaping
Das zurückgegebene Bundle besitzt sieben aufeinanderfolgende Objekte ab einer positiven FirstObjectNumber; nutzen Sie die Dokument-Appearance-Methode für Objektregistrierung, Feldlinks, Verschlüsselung und begrenzte inkrementelle Ausgabe
Die Schrift verlangt benannte TrueType-glyf/loca-Konturen, eine konsistente sfnt-Signatur und head-Magic, geordnete begrenzte Glyphen-Offsets und einen vollständigen gültigen Unicode-cmap innerhalb ihrer deklarierten Tabellenausdehnung
Die Unicode-Suche fällt nicht auf Symbol- oder MacRoman-Mappings zurück; fehlende Glyphen werden abgelehnt, statt durch eine visuell unrelated Glyphe ersetzt zu werden
Unterstützter Text ist direkter horizontaler lateinischer, griechischer, kyrillischer, einfacher CJK-, vorkomponierter Hangul-Text, ausgewählte mathematische Symbole und isolierte Emoji, sofern die gelieferte Schrift jeden Scalar enthält
Mehrzeiliges CR/LF-Layout, gemessenes Wrapping, comb-Zellen, Vierteldrehungs-Rotationen sowie rechteckige oder runde Rahmen werden über den Options-Record gesteuert
Mit aktiviertem ShapeComplexText nutzen komplexe Skripte, kombinierende Sequenzen, bidi und Ligaturen natives HarfBuzz-Shaping und FriBidi-Run-Ordnung; missgebildete Surrogate, nicht unterstützte Steuerzeichen, fehlende Glyphen, ungültige Font-Berechtigungen und erschöpfte Budgets bleiben Fehler
Komplexe Glyphen erhalten individuelle Positionierung einschließlich Shaping-Offsets, cluster-bewusste ToUnicode-Mappings und Marked-Content-ActualText, das die logische Quelle bewahrt; Reader dürfen ihre eigene Annotations-Textextraktionsreihenfolge nutzen
Linux lädt libharfbuzz.so.0 und libfribidi.so.0; Windows verlangt architekturpassende libharfbuzz-0.dll und libfribidi-0.dll, mit optionalen expliziten Pfaden über HOTPDF_HARFBUZZ_LIBRARY und HOTPDF_FRIBIDI_LIBRARY
Vollständige originale Font-Bytes werden mit ihrem echten PostScript-Namen, Grenzen, Ascent, Descent, Italic-Winkel und Fixed-Pitch-Flag eingebettet; die cap height nutzt OS/2, wenn verfügbar, sonst den hhea-Ascender, während StemV eine konservative feste Descriptor-Schätzung nutzt
Installable- oder editable-Embedding ist erforderlich; No-Subsetting wird durch Full-Embedding beachtet, und restricted-, preview-and-print-, bitmap-only-, fehlende oder unbekannte Embedding-Berechtigungen werden abgelehnt
Der Builder prüft Font-Bytes, Glyphenanzahl, Stream- und Dictionary-Größen, Scalar-Gültigkeit und Abbruch, bevor er ein eigenes Bundle zurückgibt
Siehe THPDFHeadlessTextAppearanceOptions, THPDFHeadlessTextAppearance und SetTextFieldValueWithAppearance
OpenType-CFF-1-Fonts werden über das kompakte Font-Appearance-Backend unterstützt, mit vollständigem Font, tatsächlichem CID-Mapping, Unicode-Text, Widths und Embedding-Policy