Funciones de subconjunto de fuentes CFF y OpenType

Soporte de filtros PDF

 

Arriba  EnableFontSubsetting  Contenido

Estas funciones a nivel de unidad exponen la superficie pública de subconjunto de fuentes CFF y OpenType-CFF usada por el flujo de fuentes incrustadas de HotPDF. HotPDF también incluye unidades reutilizables de análisis Type 1 PFB y CFF para llamadores que necesitan inspección de fuentes de nivel inferior

 

Sintaxis Delphi

function HPDFSubsetCFF(const CFFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes;

function HPDFSfntIsOTF(const Data: TBytes): Boolean;

function HPDFOTFFindCFFTable(const Data: TBytes; out TableOff: Cardinal; out TableLen: Cardinal): Boolean;

function HPDFSubsetOTFContainer(const OTFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes;

function HPDFExtractTTFPostScriptName(const Data: TBytes): AnsiString;

 

Descripción

HPDFSubsetCFF reescribe en sitio el contenido de una fuente CFF, preserva los identificadores de glifo y reemplaza los CharStrings y subrutinas no usados con stubs mínimos. Este es el ayudante para llamadores que ya extrajeron una tabla CFF de un contenedor de fuente

 

HPDFSfntIsOTF detecta un contenedor sfnt cuya versión es OTTO. HPDFOTFFindCFFTable ubica la tabla 'CFF ' incrustada. HPDFSubsetOTFContainer combina estos pasos al subconfigurar la tabla CFF incrustada y devolver un contenedor OTF con la distribución original de tablas sfnt conservada

 

El subconfigurador reconoce tanto CFF con clave por nombre (un solo Private DICT, un solo Local Subr INDEX) como CFF con clave CID (operador ROS en el DICT superior, FDArray con varios Private DICT de subfuentes, mapa FDSelect de glifo a FD, Local Subr INDEX por FD). El soporte CID existe desde v2.40.0 y cubre fuentes OpenType-CFF CJK / Indic / Arabic como la familia Adobe Fan / Gothic / Heiti / Ming / Myungjo / Song Std, Kozuka Pr6N y Source Han Sans; la exploración de cierre rastrea el contexto FD de cada CharString conservado para que los Local Subr INDEX por FD se subconfiguren de forma independiente

 

Los decodificadores enteros CFF, analizadores FDArray / FDSelect y analizadores de subrutinas de bajo nivel son detalles de implementación detrás de esta superficie pública

HPDFExtractTTFPostScriptName lee name ID 6 desde la tabla sfnt name y devuelve el nombre PostScript de la fuente cuando existe

 

Unidades de analizador Type 1 y CFF

HPDFType1Core, HPDFType1Glyphs, HPDFType1CFFHandler y HPDFType1PFBHandler proporcionan lectores reutilizables de arreglos de bytes, extracción de comandos de contorno de glifos Type 1, análisis de Header / INDEX / diccionario / charset / encoding de CFF, y ayudantes de metadatos y búsqueda de glifos de Type 1 PFB. HPDFType1CB proporciona un punto de entrada de analizador amigable con C++Builder. Las unidades se incluyen en los proyectos de paquete de Delphi y C++Builder para que las aplicaciones puedan inspeccionar datos Type 1 PFB y CFF sin reimplementar los analizadores binarios

 

Ver también: EnableFontSubsetting, FontEmbedding, Soporte de filtros PDF