THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

Topo  Anterior  Próxima

Determina se o documento PDF embute as fontes usadas pelo documento.

 

Sintaxe Delphi:

property FontEmbedding: Boolean;

 

Sintaxe C++:

__property bool FontEmbedding;

 

Descrição

Uma fonte pode ser embutida no PDF como dados de programa de fonte. Defina FontEmbedding como true para embutir fontes e preservar a face selecionada em sistemas em que a fonte pode não estar instalada.

 

Para a saída atual Unicode e CIDFontType2, o HotPDF mantém os IDs de glifos originais para fontes embutidas e grava um mapa ToUnicode junto com CIDToGIDMap /Identity. Isso proporciona renderização mais confiável em leitores PDF estritos.

 

Ao embutir fontes TrueType, o HotPDF lê o nome PostScript do programa da fonte e mantém /BaseFont, /FontDescriptor /FontName, /FontFamily e os nomes de fontes CID descendentes consistentes com os dados da fonte embutida. Isso evita problemas de captura de fontes no lado do viewer quando o nome de face do Windows solicitado difere do nome PostScript interno da fonte embutida.

 

Defina EnableFontSubsetting como true antes de BeginDoc quando o PDF final deve embutir apenas os glifos usados pelo documento.

 

Para testes visuais de fidelidade de fontes, use FontEmbedding = true junto com StandardFontEmulation = false. Veja Tests\Delphi\FontTest para uma amostra prática.

 

Exemplo de código

HPDF.FontEmbedding := true;                      // Embed selected fonts in the PDF
HPDF.StandardFontEmulation := false;            // Use the actual installed font
HPDF.CurrentPage.SetFont( 'Calibri', [], 12 );
HPDF.CurrentPage.TextOut( 100, 100, 0, 'This text uses embedded Calibri glyphs' );

HPDF.FontEmbedding := false;                    // Disable embedding for following fonts
HPDF.CurrentPage.SetFont( 'Times New Roman', [], 12 );
HPDF.CurrentPage.TextOut( 100, 80, 0, 'This text depends on viewer font availability' );

 

See also: EnableFontSubsetting,  NotEmbeddedFonts,  StandardFontEmulation