THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

傳回頂部  上一頁  下一頁

判斷 PDF document 是否嵌入檔案使用的 fonts

 

Delphi 語法:

property FontEmbedding: Boolean;

 

C++ 語法:

__property bool FontEmbedding;

 

說明

font 可以作為 font program data 嵌入 PDF。將 設為 true 可嵌入 fonts,並在系統未安裝該 font 時保留選取的 typeface

 

對於目前的 Unicode 與 CIDFontType2 輸出,HotPDF 會保留 embedded fonts 的原始 glyph IDs,並寫入 ToUnicode map 與 CIDToGIDMap /Identity。這可在嚴格 PDF viewers 中提供更可靠的轉譯

 

嵌入 TrueType fonts 時,HotPDF 會讀取 font program 的 PostScript name,並讓 /BaseFont、/FontDescriptor /FontName、/FontFamily 與 descendant CID font names 保持與 embedded font data 一致。當要求的 Windows face name 與 embedded font 的內部 PostScript name 不同時,這可避免 viewer-side font capture 問題

 

當最終 PDF 應只嵌入檔案實際使用的 glyphs 時,請在 BeginDoc 前將 EnableFontSubsetting 設為 true

 

對於視覺 font-fidelity tests,請搭配使用 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