Persistent Font-Subset Cache
Trvalá vyrovnávacia pamäť podmnožín písiem zabraňuje opakovaniu nákladného vytvárania podmnožín TrueType alebo OpenType, keď neskoršie dokumenty používajú rovnaký obsah písma a množinu glyfov
Konfigurácia
property FontSubsetCacheFolder: AnsiString;
property FontSubsetCacheMaxBytes: Int64;
function GetFontSubsetCacheInfo: THPDFFontSubsetCacheInfo;
procedure ClearFontSubsetCache;
Prázdny FontSubsetCacheFolder vypína diskovú vyrovnávaciu pamäť bez zmeny výstupu písma
FontSubsetCacheMaxBytes je predvolene 256 MiB a môže sa znížiť za behu, čo spúšťa okamžité vyradenie podľa najdlhšie nepoužívaného
Štatistiky
THPDFFontSubsetCacheInfo obsahuje HitCount, MissCount, WriteCount, EvictionCount, CorruptCount, RejectedCount, WriteFailureCount, CurrentBytes a FileCount
Správnosť a obnova
- Zásah do vyrovnávacej pamäte je možný len vtedy, keď sa obsah písma, použité glyfy, režim podmnožiny a schéma vyrovnávacej pamäte všetky zhodujú
- Kompaktné položky podmnožín zachovávajú dáta remapovania CID vyžadované slovníkmi písiem PDF/A
- Chybné alebo skrátené položky sa odmietnu a odstránia predtým, než podmnožina môže dosiahnuť prúd PDF
- Zlyhania vyrovnávacej pamäte sa vrátia k bežnému vytváraniu podmnožín v pamäti a nikdy nezabránia generovaniu dokumentu
- Atómová náhrada zabraňuje čitateľom pozorovať čiastočne zapísanú položku
Príklad
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;