THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

先頭  前へ  次へ

PDF ドキュメントが、そのドキュメントで使用されるフォントを埋め込むかどうかを決定します

 

Delphi syntax:

property FontEmbedding: Boolean;

 

C++ syntax:

__property bool FontEmbedding;

 

説明

フォントは font program data として PDF に埋め込むことができます。フォントを埋め込み、対象システムにそのフォントがインストールされていない場合でも選択された typeface を保持するには、FontEmbedding を true に設定します

 

現在の Unicode および CIDFontType2 出力では、HotPDF は埋め込みフォントの元の glyph ID を保持し、CIDToGIDMap /Identity とともに ToUnicode map を書き込みます。これにより、厳格な PDF ビューアーでより信頼性の高いレンダリングが得られます

 

TrueType フォントを埋め込むとき、HotPDF はフォントプログラムの PostScript 名を読み取り、/BaseFont、/FontDescriptor /FontName、/FontFamily、および descendant CID font 名を埋め込みフォントデータと一致させます。これにより、要求された Windows face name が埋め込みフォントの内部 PostScript 名と異なる場合のビューアー側フォント取得問題を防ぎます

 

最終 PDF にドキュメントで使用された glyph だけを埋め込む場合は、BeginDoc の前に EnableFontSubsetting を true に設定します

 

視覚的なフォント忠実度テストでは FontEmbedding = true と StandardFontEmulation = false を併用します。実用例は Tests\Delphi\FontTest を参照してください

 

Code Example

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' );

 

関連項目: EnableFontSubsetting NotEmbeddedFonts StandardFontEmulation