THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

Nach oben  Zurück  Weiter

Bestimmt, ob das PDF-Dokument die vom Dokument verwendeten Schriftarten einbettet

 

Delphi-Syntax:

property FontEmbedding: Boolean;

 

C++-Syntax:

__property bool FontEmbedding;

 

Beschreibung

Eine Schriftart kann als Schriftartprogramm-Daten in das PDF eingebettet werden; setzen Sie FontEmbedding auf true, um Schriftarten einzubetten und das ausgewählte Schriftbild auf Systemen zu erhalten, auf denen die Schriftart möglicherweise nicht installiert ist

 

Für aktuelle Unicode- und CIDFontType2-Ausgaben behält HotPDF die ursprünglichen Glyphen-IDs für eingebettete Schriftarten bei und schreibt eine ToUnicode-Map zusammen mit CIDToGIDMap /Identity; dies sorgt für eine zuverlässigere Darstellung in strengen PDF-Viewern

 

Beim Einbetten von TrueType-Schriftarten liest HotPDF den PostScript-Namen des Schriftartprogramms und hält /BaseFont, /FontDescriptor /FontName, /FontFamily und untergeordnete CID-Schriftartnamen konsistent mit den eingebetteten Schriftdaten; dies verhindert Probleme bei der Schriftartenerfassung auf der Viewer-Seite, wenn der angeforderte Windows-Schriftname vom internen PostScript-Namen der eingebetteten Schriftart abweicht

 

Setzen Sie EnableFontSubsetting vor BeginDoc auf true, wenn das endgültige PDF nur die vom Dokument verwendeten Glyphen einbetten soll

 

Verwenden Sie für visuelle Schrifttreue-Tests FontEmbedding = true zusammen mit StandardFontEmulation = false; ein praktisches Beispiel finden Sie unter Tests\Delphi\FontTest

 

Codebeispiel

HPDF.FontEmbedding := true;                      // Ausgewählte Schriftarten in die PDF einbetten
HPDF.StandardFontEmulation := false;            // Tatsächlich installierte Schriftart verwenden
HPDF.CurrentPage.SetFont( 'Calibri', [], 12 );
HPDF.CurrentPage.TextOut( 100, 100, 0, 'This text uses embedded Calibri glyphs' );

HPDF.FontEmbedding := false;                    // Einbettung für nachfolgende Schriftarten deaktivieren
HPDF.CurrentPage.SetFont( 'Times New Roman', [], 12 );
HPDF.CurrentPage.TextOut( 100, 80, 0, 'This text depends on viewer font availability' );

 

Siehe auch: EnableFontSubsetting NotEmbeddedFonts StandardFontEmulation