PDFium Component Docs

procedimiento ConfigureSystemFontProvider

Unidad: PDFium

Syntax

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

Description

Instala un mapeador de fuentes de la aplicación para todo el proceso mediante la interfaz nativa de devolución de llamada de fuentes del sistema de PDFium

Llámelo antes del primer LoadLibrary o antes de abrir cualquier documento TPdf

Llamarlo mientras PDFium está cargado genera un EPdfError, de modo que los identificadores nativos de fuente nunca sobrevivan a la configuración de su proveedor

Provider contract

IPdfSystemFontProvider.ResolveFont recibe la tipografía solicitada, el peso, el estado de cursiva, el juego de caracteres y la familia de espaciado

Devuelva True con un nombre de tipografía, un arreglo de bytes TrueType, TrueType Collection u OpenType completo, el juego de caracteres y un índice TTC opcional

El proveedor puede ejecutarse en subprocesos de trabajo de PDFium y debe ser seguro para subprocesos

Las excepciones se contienen en la frontera de la devolución de llamada nativa y cuentan como respuestas fallidas del proveedor

Policy and caching

TPdfSystemFontPolicy.Default permite el respaldo nativo y la sustitución de tipografías, limita cada fuente suministrada a 64 MiB y conserva hasta 32 resultados de solicitudes en una caché LRU acotada

Establezca AllowDefaultFallback en False cuando cada decisión sobre fuentes faltantes deba tomarla la aplicación

Establezca AllowFaceSubstitution en False para rechazar una respuesta cuyo nombre de tipografía difiera del nombre solicitado

Un MaxCacheEntries en cero desactiva el almacenamiento en caché de solicitudes

ConfigureSystemFontCacheGovernor además puede colocar los bytes de fuentes retenidos bajo un presupuesto compartido entre cachés

Statistics

GetSystemFontProviderStatistics devuelve una instantánea TPdfSystemFontStatistics que cubre Configured, Installed, MapRequests, CacheHits, ProviderHits, DefaultFallbackHits, RejectedProviderResponses, FailedRequests, FontDataRequests, ActiveHandles, CachedFonts, CachedFontBytes y CacheEvictions

La instantánea se puede consultar de forma segura mientras PDFium está renderizando

ClearSystemFontProvider

Llame a UnloadLibrary antes de ClearSystemFontProvider

Limpiar restablece el proveedor, la política, la caché y las estadísticas

Llamarlo mientras PDFium permanece cargado genera un 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