PDFium Delphi Component Docs

ConfigureSystemFontProvider procedimiento

Unidad: PDFium

Sintaxis

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

Descripción

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

Contrato del 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

Política y caché

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

Estadísticas

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

ClearSystemFontProvider

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

Ejemplo

var
  Policy: TPdfSystemFontPolicy;
begin
  UnloadLibrary;
  Policy := TPdfSystemFontPolicy.Default;
  Policy.AllowDefaultFallback := False;
  ConfigureSystemFontProvider(MyFontProvider, Policy);
  LoadLibrary;
end;

Véase también

ConfigureSystemFontCacheGovernor, FPdfCache, LoadLibrary, UnloadLibrary, AddCidType2Text