THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

بالا  قبلی  بعدی

تعیین می‌کند که آیا سند PDF فونت‌های استفاده‌شده در سند را تعبیه کند یا نه

 

Delphi syntax:

property FontEmbedding: Boolean;

 

C++ syntax:

__property bool FontEmbedding;

 

توضیح

فونت می‌تواند به‌صورت داده برنامه فونت در PDF تعبیه شود. FontEmbedding را روی true بگذارید تا فونت‌ها تعبیه شوند و قلم انتخاب‌شده روی سیستم‌هایی که شاید آن فونت را نصب نداشته باشند حفظ شود

 

برای خروجی فعلی Unicode و CIDFontType2، HotPDF شناسه‌های اصلی گلیف را برای فونت‌های تعبیه‌شده حفظ می‌کند و یک ToUnicode map را همراه با CIDToGIDMap /Identity می‌نویسد. این کار رندر قابل‌اعتمادتر را در PDF viewerهای سخت‌گیر فراهم می‌کند

 

وقتی فونت‌های TrueType تعبیه می‌شوند، HotPDF نام PostScript برنامه فونت را می‌خواند و /BaseFont، /FontDescriptor /FontName، /FontFamily و نام‌های CID font فرزند را با داده فونت تعبیه‌شده سازگار نگه می‌دارد. این کار از مشکل‌های font capture سمت viewer جلوگیری می‌کند وقتی نام face ویندوزی درخواستی با نام داخلی PostScript فونت تعبیه‌شده فرق دارد

 

وقتی PDF نهایی باید فقط گلیف‌های استفاده‌شده در سند را تعبیه کند، EnableFontSubsetting را پیش از BeginDoc روی 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' );

 

See also: EnableFontSubsetting NotEmbeddedFonts StandardFontEmulation