procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Į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ą
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
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
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
Prieš ClearSystemFontProvider iškvieskite UnloadLibrary
Išvalymas atstato tiekėją, strategiją, podėlį ir statistiką
Kvietimas, kai PDFium vis dar įkeltas, iškelia EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;