Trwała pamięć podręczna podzbiorów fontów
Trwała pamięć podręczna podzbiorów fontów pozwala nie powtarzać kosztownego subsettingu TrueType lub OpenType, gdy kolejne dokumenty używają tej samej zawartości fontu i tego samego zestawu glifów
Konfiguracja
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
Pusty FontSubsetCacheFolder wyłącza cache'owanie na dysku bez zmiany wyjścia fontów
FontSubsetCacheMaxBytes domyślnie wynosi 256 MiB i może zostać zmniejszony w trakcie działania, co natychmiast wyzwala ewikcję najmniej ostatnio używanych
Statystyki
THPDFFontSubsetCacheInfo zawiera HitCount, MissCount, WriteCount, EvictionCount, CorruptCount, RejectedCount, WriteFailureCount, CurrentBytes i FileCount
Poprawność i odzyskiwanie
- Trafienie w pamięci podręcznej jest możliwe tylko wtedy, gdy zgadzają się zawartość fontu, użyte glify, tryb podzbioru i schemat cache
- Kompaktowe wpisy podzbiorów zachowują dane remapowania CID wymagane przez słowniki fontów PDF/A
- Źle uformowane lub ucięte wpisy są odrzucane i usuwane, zanim podzbiór dotrze do strumienia PDF
- Awarie cache przechodzą na zwykły subsetting w pamięci i nigdy nie blokują generowania dokumentu
- Atomowe zastępowanie uniemożliwia czytelnikom zaobserwowanie częściowo zapisanego wpisu
Przykład
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;