PDFium Delphi Component Docs

ConfigureSystemFontProvider procedura

Unit: PDFium

Syntax

procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);

Description

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

Provider contract

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

Policy and caching

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

Statistics

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

ClearSystemFontProvider

Pokličite UnloadLibrary pred ClearSystemFontProvider

Čiščenje ponastavi ponudnika, pravilnik, predpomnilnik in statistiko

Klic, medtem ko PDFium ostane naložen, sproži EPdfError

Example

var
  Policy: TPdfSystemFontPolicy;
begin
  UnloadLibrary;
  Policy := TPdfSystemFontPolicy.Default;
  Policy.AllowDefaultFallback := False;
  ConfigureSystemFontProvider(MyFontProvider, Policy);
  LoadLibrary;
end;

See Also

ConfigureSystemFontCacheGovernor, FPdfCache, LoadLibrary, UnloadLibrary, AddCidType2Text