PDFium Delphi Component Docs

ConfigureSystemFontProvider procedūra

Modulis: PDFium

Syntax

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

Description

Įdiegia visą procesą apimantį programos šriftų atitikmenį per PDFium natyviąją sistemos šriftų atgalinio iškvietimo sąsają

Kvieskite ją prieš pirmąjį LoadLibrary arba prieš atveriant bet kurį TPdf dokumentą

Kvietimas, kai PDFium įkeltas, iškelia EPdfError, kad natyvieji šriftų deskriptoriai niekada neišgyventų ilgiau už savo tiekėjo konfigūraciją

Provider contract

IPdfSystemFontProvider.ResolveFont gauna pageidaujamą šriftą, svorį, kursyvo būseną, koduotę ir pitch šeimą

Grąžinkite True su šrifto pavadinimu, pilnu TrueType, TrueType Collection arba OpenType baitų masyvu, koduote ir pasirenkamu TTC indeksu

Tiekėjas gali būti vykdomas PDFium darbinėse gijose ir privalo būti saugus gijų atžvilgiu

Išimtys sulaikomos natyviojo atgalinio iškvietimo ribose ir laikomos nepavykusiais tiekėjo atsakais

Policy and caching

TPdfSystemFontPolicy.Default leidžia natyvųjį atsarginį variantą ir šriftų pakaitalus, riboja kiekvieną pateiktą šriftą iki 64 MiB ir ribotame LRU podėlyje saugo iki 32 užklausų rezultatų

Nustatykite AllowDefaultFallback į False, kai kiekvieną trūkstamo šrifto sprendimą turi priimti pati programa

Nustatykite AllowFaceSubstitution į False, kad būtų atmetamas atsakas, kurio šrifto pavadinimas skiriasi nuo pageidaujamo

Nulinis MaxCacheEntries išjungia užklausų podėlį

ConfigureSystemFontCacheGovernor papildomai gali priskirti saugomus šriftų baitus bendram tarp podėlių dalijamam biudžetui

Statistics

GetSystemFontProviderStatistics grąžina TPdfSystemFontStatistics momentinę kopiją, apimančią Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes ir CacheEvictions

Momentinę kopiją saugu užklausti, kai PDFium atvaizduoja

ClearSystemFontProvider

Prieš ClearSystemFontProvider iškvieskite UnloadLibrary

Išvalymas atstato tiekėją, strategiją, podėlį ir statistiką

Kvietimas, kai PDFium vis dar įkeltas, iškelia 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