Funzioni di subset dei font CFF e OpenType

Soporte de filtros PDF

 

Arriba  EnableFontSubsetting  Contenido

Estas funciones de 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

 

Delphi syntax

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 in situ la carga de una fuente CFF, conserva los ID de glifo y reemplaza CharStrings y subrutinas no usadas por stubs mínimos. Este es el helper para llamadores que ya extrajeron una tabla CFF de un contenedor de fuente

 

HPDFSfntIsOTF detecta un contenedor sfnt cuya versión es OTTO. HPDFOTFFindCFFTable localiza la tabla 'CFF ' incrustada. HPDFSubsetOTFContainer combina estos pasos al subconjuntar la tabla CFF incrustada y devolver un contenedor OTF con el diseño original de tablas sfnt preservado

 

El subsetter reconoce tanto CFF con clave por nombre (un único Private DICT, un único Local Subr INDEX) como CFF con clave CID (operador ROS de Arriba DICT, FDArray de varios Private DICT de subfuente, mapa FDSelect de glifo a FD y Local Subr INDEX por FD). El soporte CID desde v2.40.0 cubre fuentes OpenType-CFF CJK / índicas / árabes como la familia Adobe Fan/Gothic/Heiti/Ming/Myungjo/Song Std, Kozuka Pr6N y Source Han Sans; el escaneo de cierre rastrea el contexto FD de cada CharString conservado para que los Local Subr INDEX por FD se reduzcan de forma independiente

 

Los decodificadores enteros CFF, parsers 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

 

Type 1 and CFF parser units

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 / dictionary / charset / encoding de CFF, además de metadatos Type 1 PFB y helpers de búsqueda de glifos. HPDFType1CB proporciona un punto de entrada de parser cómodo para C++Builder. Las unidades se incluyen en los proyectos de paquetes Delphi y C++Builder para que las aplicaciones puedan inspeccionar datos Type 1 PFB y CFF sin reimplementar los parsers binarios

 

Véase también: EnableFontSubsetting, FontEmbedding, Soporte de filtros PDF