영구 글꼴 하위 집합 캐시
영구 글꼴 하위 집합 캐시는 후속 문서가 동일한 글꼴 콘텐츠와 글리프 집합을 사용할 때 비용이 큰 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;