procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Instalează un mapator de fonturi al aplicației la nivel de proces, prin interfața nativă de callback pentru fonturi de sistem a PDFium
Apelați-o înainte de primul LoadLibrary sau înainte de a deschide orice document TPdf
Apelarea în timp ce PDFium este încărcat ridică EPdfError, astfel încât un handle nativ de font nu poate supraviețui niciodată configurației furnizorului său
IPdfSystemFontProvider.ResolveFont primește fața cerută, groșimea, starea de italic, setul de caractere și familia de pitch
Returnați True împreună cu un nume de față, un array de octeți TrueType complet, TrueType Collection sau OpenType, setul de caractere și indexul TTC opțional
Furnizorul poate rula pe firele de execuție de lucru PDFium și trebuie să fie thread-safe
Excepțiile sunt izolate la granița callback-ului nativ și sunt contorizate ca răspunsuri eșuate ale furnizorului
TPdfSystemFontPolicy.Default permite rezerva nativă și substituirea fețelor, limitează fiecare font furnizat la 64 MiB și păstrează până la 32 de rezultate de cereri într-un cache LRU mărginit
Setați AllowDefaultFallback pe False atunci când fiecare decizie privind un font lipsă trebuie luată de aplicație
Setați AllowFaceSubstitution pe False pentru a respinge un răspuns al cărui nume de față diferă de numele cerut
O valoare zero pentru MaxCacheEntries dezactivează stocarea cererilor în cache
ConfigureSystemFontCacheGovernor poate plasa, în plus, octeții de fonturi reținuți sub un buget partajat comun mai multor cache-uri
GetSystemFontProviderStatistics returnează un instantaneu TPdfSystemFontStatistics care acoperă Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes și CacheEvictions
Instantaneul poate fi interogat în siguranță în timp ce PDFium randează
Apelați UnloadLibrary înainte de ClearSystemFontProvider
Resetarea curăță furnizorul, politica, cache-ul și statisticile
Apelarea în timp ce PDFium rămâne încărcat ridică EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;