procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Installerer en procesbred applikationsfontmapper via PDFiums native systemfont-callback-interface
Kald den før det første LoadLibrary eller før der åbnes et TPdf-dokument
Kaldes den, mens PDFium er indlæst, udløses EPdfError, så native font-handles aldrig kan overleve deres provider-konfiguration
IPdfSystemFontProvider.ResolveFont modtager den ønskede face, vægt, kursiv-tilstand, charset og pitch-familie
Returnér True sammen med et face-navn, et fuldt TrueType-, TrueType Collection- eller OpenType-byte-array, charset og en valgfri TTC-indeks
Provideren kan køre på PDFium-worker-tråde og skal være trådsikker
Exceptions indfanges ved den native callback-grænseflade og tæller som mislykkede provider-svar
TPdfSystemFontPolicy.Default tillader native fallback og face-substitution, begrænser hver leveret skrifttype til 64 MiB og gemmer op til 32 forespørgselsresultater i en afgrænset LRU-cache
Sæt AllowDefaultFallback til False, når enhver beslutning om manglende skrifttype skal træffes af applikationen
Sæt AllowFaceSubstitution til False for at afvise et svar, hvis face-navn afviger fra det ønskede navn
En MaxCacheEntries på nul deaktiverer forespørgsels-caching
ConfigureSystemFontCacheGovernor kan desuden placere gemte font-bytes under et delt budget på tværs af caches
GetSystemFontProviderStatistics returnerer et TPdfSystemFontStatistics-snapshot, der dækker Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes og CacheEvictions
Snapshotet kan sikkert forespørges, mens PDFium renderer
Kald UnloadLibrary før ClearSystemFontProvider
Nulstilling rydder provideren, politikken, cachen og statistikken
Kaldes den, mens PDFium stadig er indlæst, udløses EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;