|
THotPDF.CompactFontSubsetting
|
属性 EnableFontSubsetting FontEmbedding |
|
控制字体子集是否对保留的字形重新编号,从而大幅缩小子集体积
Delphi 语法: property CompactFontSubsetting: Boolean;
C++ 语法: __property bool CompactFontSubsetting;
说明 在 BeginDoc 之前把 CompactFontSubsetting 设为 true 即可构建紧凑字体子集。普通子集沿用源字体的字形编号:未用字形被清空,但字体仍要声明每个字形,并为每个字形携带定位和宽度条目。对一个带 2 万到 3 万个字形的 CJK 字体来说,仅这些表在压缩前就有 200 KB 以上,哪怕页面只显示两个字符
紧凑子集把保留字形重新编号到一段密集区间,并只为这些字形重建字形表。页面内容仍以 CID 形式引用原始字形号,由显式
该属性作用于以 Type 0 字体写出的 TrueType 字体(且 EnableFontSubsetting 开启时),以及用 RegisterUnicodeTTF 注册的字体(后者总是做子集化)。OpenType-CFF 字体保持普通子集。某个字体无法构建紧凑子集时,HotPDF 回退到普通子集
该属性默认关闭,既有输出不受影响。PDF/A 下注册的字体总是得到紧凑子集。紧凑子集最适合最终成品输出:之后往文档里用同一字体追加文本需要新建子集,之后合并的文档也无法共用同一字体的子集
See also: EnableFontSubsetting, FontEmbedding, RegisterUnicodeTTF |