THotPDF.FontEmbedding Property

 

THotPDF.FontEmbedding

THotPDF

 

Đầu trang  Trước  Tiếp

Xác định liệu tài liệu PDF có nhúng các phông mà tài liệu đang dùng hay không

 

Delphi syntax:

property FontEmbedding: Boolean;

 

C++ syntax:

__property bool FontEmbedding;

 

Mô tả

Một phông có thể được nhúng vào PDF dưới dạng dữ liệu program phông. Đặt FontEmbedding thành true để nhúng phông và giữ nguyên typeface đã chọn trên các hệ thống có thể chưa cài phông đó

 

Với đầu ra Unicode và CIDFontType2 hiện tại, HotPDF giữ nguyên glyph ID gốc cho phông đã nhúng và ghi một map ToUnicode cùng CIDToGIDMap /Identity. Cách này cho kết xuất đáng tin cậy hơn trong các trình xem PDF nghiêm ngặt

 

Khi nhúng phông TrueType, HotPDF đọc tên PostScript của program phông và giữ /BaseFont, /FontDescriptor /FontName, /FontFamily, cùng các tên phông CID con nhất quán với dữ liệu phông đã nhúng. Điều này tránh lỗi bắt phông ở phía trình xem khi tên face Windows được yêu cầu khác với tên PostScript nội bộ của phông đã nhúng

 

Đặt EnableFontSubsetting thành true trước BeginDoc khi PDF cuối cùng chỉ nên nhúng các glyph mà tài liệu dùng

 

Với các bài kiểm tra độ trung thực hiển thị của phông, hãy dùng FontEmbedding = true cùng StandardFontEmulation = false. Xem Tests\Delphi\FontTest để có mẫu thực tế

 

Ví dụ mã

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