|
CFF and OpenType Font Subsetting Functions
|
Đầu trang EnableFontSubsetting Nội dung |
|
Các hàm cấp unit này cung cấp bề mặt public để kiểm tra font CFF, OpenType-CFF và sfnt mà pipeline nhúng font của HotPDF sử dụng. HotPDF cũng cung cấp các unit parser Type 1 PFB và CFF có thể tái sử dụng cho bên gọi cần kiểm tra font ở mức thấp hơn
Cú pháp Delphi function HPDFSubsetCFF(const CFFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFSfntIsOTF(const Data: TBytes): Boolean; function HPDFOTFFindCFFTable(const Data: TBytes; out TableOff: Cardinal; out TableLen: Cardinal): Boolean; function HPDFSubsetOTFContainer(const OTFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFExtractTTFPostScriptName(const Data: TBytes): AnsiString;
Mô tả HPDFSubsetCFF viết lại payload font CFF ngay tại chỗ, giữ nguyên glyph ID và thay các CharString cùng subroutine không dùng bằng các stub tối thiểu. Đây là helper dành cho bên gọi đã trích xuất sẵn một bảng CFF từ container font
HPDFSfntIsOTF phát hiện một sfnt container có version là OTTO. HPDFOTFFindCFFTable định vị bảng
Bộ subset nhận diện cả CFF theo tên (một Private DICT duy nhất, một Local Subr INDEX duy nhất) lẫn CFF theo CID (Top DICT ROS operator, FDArray gồm nhiều Private DICT của sub-font, map FDSelect glyph-to-FD, Local Subr INDEX riêng cho từng FD). Hỗ trợ CID bao phủ các font OpenType-CFF CJK / Indic / Arabic; lần quét closure theo dõi ngữ cảnh FD của từng CharString được giữ lại để các Local Subr INDEX theo từng FD được subset độc lập
Các bộ giải mã số nguyên CFF cấp thấp, parser FDArray / FDSelect, và bộ quét subroutine chỉ là chi tiết triển khai phía sau bề mặt helper public này
Unit parser Type 1 và CFF
Xem thêm: EnableFontSubsetting, FontEmbedding, PDF Filter Support |