永続フォントサブセットキャッシュ
永続フォントサブセットキャッシュは、後のドキュメントが同じフォントコンテンツとグリフセットを使用する場合に、高価な TrueType または OpenType サブセット化の繰り返しを回避します
構成
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
空の FontSubsetCacheFolder は、フォント出力を変更せずにディスクキャッシュを無効にします
FontSubsetCacheMaxBytes はデフォルトで 256 MiB であり、実行時に削減できますが、直ちに最も最近使用されていない退避をトリガーします
統計
THPDFFontSubsetCacheInfo には、HitCount、MissCount、WriteCount、EvictionCount、CorruptCount、RejectedCount、WriteFailureCount、CurrentBytes、FileCount が含まれます
正しさと回復
- キャッシュヒットは、フォントコンテンツ、使用グリフ、サブセットモード、キャッシュスキーマがすべて一致する場合のみ可能です
- コンパクトサブセットエントリは、PDF/A フォント辞書が必要とする CID 再マッピングデータを保持します
- 不正な、または切り詰められたエントリは、サブセットが PDF ストリームに到達する前に拒否され削除されます
- キャッシュの失敗は通常のインメモリサブセット化にフォールバックし、ドキュメント生成を妨げることはありません
- 原子的置換により、リーダーが部分的に書き込まれたエントリを観測するのを防ぎます
例
var
Info: THPDFFontSubsetCacheInfo;
begin
PDF.EnableFontSubsetting := True;
PDF.FontSubsetCacheFolder := 'C:\ProgramData\MyApp\HotPDF\FontSubsets';
PDF.FontSubsetCacheMaxBytes := 256 * 1024 * 1024;
{ create documents that use embedded TrueType or OpenType fonts }
Info := PDF.GetFontSubsetCacheInfo;
end;