procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Namesti preslikovalnik pisav aplikacije na ravni celotnega procesa prek PDFiumovega nativnega vmesnika povratnih klicev za sistemske pisave
Pokličite ga pred prvim LoadLibrary ali pred odpiranjem katerega koli dokumenta TPdf
Klic, medtem ko je PDFium naložen, sproži EPdfError, tako da nativni ročaji pisav nikoli ne preživijo svoje konfiguracije ponudnika
IPdfSystemFontProvider.ResolveFont prejme zahtevano ime pisave, debelino, stanje kurzive, nabor znakov in družino po širini (pitch family)
Vrnite True skupaj z imenom pisave, popolnim bajtnim poljem TrueType, TrueType Collection ali OpenType, naborom znakov in neobveznim indeksom TTC
Ponudnik se lahko izvaja na delovnih nitih PDFium in mora biti varen za niti
Izjeme se zajamejo na meji nativnega povratnega klica in štejejo kot neuspešni odgovori ponudnika
TPdfSystemFontPolicy.Default dovoljuje nativno nadomestno izbiro in zamenjavo pisave, omeji vsako dostavljeno pisavo na 64 MiB in v omejenem predpomnilniku LRU obdrži do 32 rezultatov zahtevkov
Nastavite AllowDefaultFallback na False, kadar mora aplikacija sama sprejeti vsako odločitev o manjkajoči pisavi
Nastavite AllowFaceSubstitution na False, da zavrnete odgovor, katerega ime pisave se razlikuje od zahtevanega imena
Ničelna vrednost MaxCacheEntries onemogoči predpomnjenje zahtevkov
ConfigureSystemFontCacheGovernor lahko shranjene bajte pisav dodatno uvrsti pod deljeni proračun, ki sega čez več predpomnilnikov
GetSystemFontProviderStatistics vrne posnetek TPdfSystemFontStatistics s polji Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes in CacheEvictions
Posnetek je varno poizvedovati, medtem ko PDFium izrisuje
Pokličite UnloadLibrary pred ClearSystemFontProvider
Čiščenje ponastavi ponudnika, pravilnik, predpomnilnik in statistiko
Klic, medtem ko PDFium ostane naložen, sproži EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;