SubsetEmbeddedFonts

文档管理、字体

说明

重建每个嵌入的简单 TrueType 字体程序,使其仅保留页面内容中实际出现的字符代码对应的字形。具有后代字体的字体(复合 CID 字体)、BaseFont 名称中已带有子集标签的字体,以及没有嵌入 FontFile2 的字体都会被跳过

语法

Delphi

Function TPDFlib.SubsetEmbeddedFonts: Integer;

返回值

已重写的字体程序数量;所选文档没有符合条件的嵌入字体时返回 0

备注

该处理会遍历每页的每个内容层,并在重建前按字体收集已使用的单字节代码,因此请在所有绘制完成后、保存前调用它

当内容字体资源无法唯一解析为一个字体字典时,会保留已使用代码的超集;这能保持正确性,但会减少可缩减的大小

此库嵌入的字体会在插入时由自动子集选项进行子集化,因此此处理主要有利于字体以完整形式嵌入的已加载文档

示例

PDF.LoadFromFile('full-embed.pdf', '');
PDF.SubsetEmbeddedFonts;
PDF.SaveToFile('subsetted.pdf');