procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
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
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
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
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
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
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;