procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);
Instala un asignador de fuentes de aplicación para todo el proceso mediante la interfaz nativa de devoluciones de llamada de fuentes de sistema de PDFium
Llámelo antes de la primera LoadLibrary o antes de abrir cualquier documento TPdf
Llamarlo mientras PDFium está cargado lanza EPdfError, de modo que los identificadores de fuentes nativos nunca sobrevivan a la configuración de su proveedor
IPdfSystemFontProvider.ResolveFont recibe la cara solicitada, el peso, el estado de cursiva, el juego de caracteres y la familia de paso
Devuelva True con un nombre de cara, una matriz de bytes completa de TrueType, TrueType Collection u OpenType, 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 el límite de la devolución de llamada nativa y cuentan como respuestas de proveedor fallidas
TPdfSystemFontPolicy.Default permite el respaldo nativo y la sustitución de caras, limita cada fuente suministrada a 64 MiB y retiene hasta 32 resultados de solicitudes en una caché LRU acotada
Establezca AllowDefaultFallback en False cuando cada decisión sobre una fuente faltante deba tomarla la aplicación
Establezca AllowFaceSubstitution en False para rechazar una respuesta cuyo nombre de cara difiera del nombre solicitado
Un MaxCacheEntries igual a cero desactiva la caché de solicitudes
ConfigureSystemFontCacheGovernor puede además someter los bytes de fuentes retenidos a 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 con seguridad mientras PDFium está renderizando
Llame a UnloadLibrary antes de ClearSystemFontProvider
La limpieza restablece el proveedor, la política, la caché y las estadísticas
Llamarlo mientras PDFium sigue cargado lanza EPdfError
var
Policy: TPdfSystemFontPolicy;
begin
UnloadLibrary;
Policy := TPdfSystemFontPolicy.Default;
Policy.AllowDefaultFallback := False;
ConfigureSystemFontProvider(MyFontProvider, Policy);
LoadLibrary;
end;