procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Instaluje celoprocesového aplikačního mapovače písem přes nativní rozhraní zpětných volání systémových písem PDFium
Zavolejte jej před prvním LoadLibrary nebo před otevřením jakéhokoli dokumentu TPdf
Volání, když je PDFium načteno, vyvolá EPdfError, aby nativní handles písem nikdy nepřežily svou konfiguraci poskytovatele
IPdfSystemFontProvider.ResolveFont obdrží požadovaný řez, tloušťku, stav kurzívy, znakovou sadu a rodinu pitch
Vraťte True spolu s názvem řezu, kompletním bajtovým polem TrueType, TrueType Collection nebo OpenType, znakovou sadou a volitelným indexem TTC
Poskytovatel může běžet na pracovních vláknech PDFium a musí být thread-safe
Výjimky jsou zachyceny na hranici nativního zpětného volání a počítají se jako neúspěšné odpovědi poskytovatele
TPdfSystemFontPolicy.Default povoluje nativní fallback a substituci řezů, omezuje každé dodané písmo na 64 MiB a uchovává až 32 výsledků požadavků v ohraničené LRU mezipaměti
Nastavte AllowDefaultFallback na False, když musí každé rozhodnutí o chybějícím písmu učinit aplikace
Nastavte AllowFaceSubstitution na False pro odmítnutí odpovědi, jejíž název řezu se liší od požadovaného názvu
Nulové MaxCacheEntries zakáže ukládání požadavků do mezipaměti
ConfigureSystemFontCacheGovernor může navíc podřídit uchované bajty písem sdílenému rozpočtu napříč mezipaměťmi
GetSystemFontProviderStatistics vrací snímek TPdfSystemFontStatistics pokrývající Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes a CacheEvictions
Snímek je bezpečné dotazovat, zatímco PDFium vykresluje
Zavolejte UnloadLibrary před ClearSystemFontProvider
Vymazání resetuje poskytovatele, politiku, mezipaměť a statistiky
Volání, kdy PDFium zůstává načteno, vyvolá EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;