Cache Persistente dei Subset di Font
La cache persistente dei subset di font evita di ripetere il subsetting TrueType o OpenType, costoso, quando documenti successivi usano lo stesso contenuto di font e lo stesso insieme di glifi
Configurazione
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
Una FontSubsetCacheFolder vuota disattiva la cache su disco senza cambiare l'output dei font
FontSubsetCacheMaxBytes vale 256 MiB per default e può essere ridotto a runtime, il che innesca l'eviction immediate least-recently-used
Statistiche
THPDFFontSubsetCacheInfo contiene HitCount, MissCount, WriteCount, EvictionCount, CorruptCount, RejectedCount, WriteFailureCount, CurrentBytes e FileCount
Correttezza e recupero
- Un cache hit è possibile solo quando contenuto del font, glifi usati, modalità di subset e schema della cache coincidono tutti
- Le voci di subset compatte conservano i dati di remapping CID richiesti dai dizionari di font PDF/A
- Le voci malformate o troncate vengono rifiutate e rimosse prima che il subset possa raggiungere uno stream PDF
- I fallimenti della cache ricadono sul normale subsetting in memoria e non impediscono mai la generazione del documento
- La sostituzione atomica impedisce ai lettori di osservare una voce scritta solo parzialmente
Esempio
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;