|
CFF- und OpenType-Schriftartenuntergruppenbildungsfunktionen
|
Nach oben EnableFontSubsetting Inhalt |
|
Diese Funktionen auf Unit-Ebene machen die öffentliche CFF-, OpenType-CFF- und sfnt-Schriftartenprüfoberfläche verfügbar, die von HotPDFs eingebetteter Schriftarten-Pipeline verwendet wird. HotPDF liefert auch wiederverwendbare Type 1 PFB- und CFF-Parser-Units für Aufrufer, die eine tiefergehende Schriftartenprüfung benötigen
Delphi-Syntax function HPDFSubsetCFF(const CFFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFSfntIsOTF(const Data: TBytes): Boolean; function HPDFOTFFindCFFTable(const Data: TBytes; out TableOff: Cardinal; out TableLen: Cardinal): Boolean; function HPDFSubsetOTFContainer(const OTFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFExtractTTFPostScriptName(const Data: TBytes): AnsiString;
Beschreibung HPDFSubsetCFF schreibt eine CFF-Schriftart-Nutzlast an Ort und Stelle neu, wobei Glyphen-IDs erhalten bleiben und ungenutzte CharStrings sowie Subroutinen durch minimale Stubs ersetzt werden; dies ist das Hilfsmittel für Aufrufer, die bereits eine CFF-Tabelle aus einem Schriftarten-Container extrahiert haben
HPDFSfntIsOTF erkennt einen sfnt-Container, dessen Version OTTO ist. HPDFOTFFindCFFTable lokalisiert die eingebettete 'CFF '-Tabelle. HPDFSubsetOTFContainer kombiniert diese Schritte, indem es die eingebettete CFF-Tabelle untergruppenweise aufteilt und einen OTF-Container zurückgibt, bei dem das ursprüngliche sfnt-Tabellenlayout erhalten bleibt. HPDFExtractTTFPostScriptName liest die Namens-ID 6 aus der sfnt-
Der Subsetter erkennt sowohl namensschlüsselbasierte CFF (einzelnes Private DICT, einzelner Local Subr INDEX) als auch CID-schlüsselbasierte CFF (Top DICT ROS-Operator, FDArray mit mehreren Sub-Schriftarten-Private DICTs, FDSelect Glyphen-zu-FD-Zuordnung, Local Subr INDEXes pro FD). Die CID-Unterstützung deckt CJK- / Indic- / arabische OpenType-CFF-Schriftarten ab; der Abschluss-Scan verfolgt den FD-Kontext jedes beibehaltenen CharStrings, sodass Local Subr INDEXes pro FD unabhängig voneinander untergruppenweise aufgeteilt werden
Die tiefergehenden CFF-Integer-Decoder, FDArray- / FDSelect-Parser und Subroutinen-Scanner sind Implementierungsdetails hinter dieser öffentlichen Hilfsmitteloberfläche
Type 1 und CFF Parser-Units
Siehe auch: EnableFontSubsetting, FontEmbedding, PDF-Filterunterstützung |