PDFium Delphi Component Docs

ConfigureSystemFontProvider-proseduuri

Yksikkö: PDFium

Syntax

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

Description

Asentaa prosessinlaajuisen sovellusfonttien yhdistäjän PDFiumin natiivin järjestelmäfontti-callback-rajapinnan kautta

Kutsu sitä ennen ensimmäistä LoadLibrary-kutsua tai ennen minkään TPdf-dokumentin avaamista

Sen kutsuminen PDFiumin ollessa ladattuna nostaa EPdfError-virheen, jotta natiivit fonttikahvat eivät voi koskaan elää pidempään kuin niiden tarjoajamääritys

Provider contract

IPdfSystemFontProvider.ResolveFont vastaanottaa pyydetyn kirjasimen, painon, kursiivitilan, merkistön ja pitch-perheen

Palauta True kirjasinnimen, täyden TrueType-, TrueType Collection- tai OpenType-tavutaulukon, merkistön ja valinnaisen TTC-indeksin kanssa

Tarjoaja voi toimia PDFiumin työsäikeissä ja sen on oltava säieturvallinen

Poikkeukset pidetään kurissa natiivin takaisinkutsurajapinnan kohdalla, ja ne lasketaan epäonnistuneiksi tarjoajavastauksiksi

Policy and caching

TPdfSystemFontPolicy.Default sallii natiivin varasratkaisun ja kirjasimen korvauksen, rajoittaa kunkin toimitetun fontin 64 MiB:iin ja säilyttää enintään 32 pyyntötulosta rajatussa LRU-välimuistissa

Aseta AllowDefaultFallback arvoon False, kun jokainen puuttuvan fontin päätös on tehtävä sovelluksessa

Aseta AllowFaceSubstitution arvoon False hylätäksesi vastauksen, jonka kirjasinnimi eroaa pyydetystä nimestä

Nolla MaxCacheEntries poistaa pyyntöjen välimuistituksen käytöstä

ConfigureSystemFontCacheGovernor voi lisäksi asettaa säilytetyt fonttitavut välimuistien välisen jaetun budjetin alle

Statistics

GetSystemFontProviderStatistics palauttaa TPdfSystemFontStatistics-tilannekuvan, joka kattaa kentät Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes ja CacheEvictions

Tilannekuvaa on turvallista kysellä PDFiumin renderöidessä

ClearSystemFontProvider

Kutsu UnloadLibrary ennen ClearSystemFontProvider-kutsua

Tyhjentäminen nollaa tarjoajan, käytännön, välimuistin ja tilastot

Sen kutsuminen PDFiumin ollessa edelleen ladattuna nostaa EPdfError-virheen

Example

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

See Also

ConfigureSystemFontCacheGovernor, FPdfCache, LoadLibrary, UnloadLibrary, AddCidType2Text