Fonctions de sous-ensemble CFF et OpenType

Prise en charge des filtres PDF

 

Haut  EnableFontSubsetting  Sommaire

Ces fonctions de niveau unité exposent la surface publique de sous-ensemble de polices CFF et OpenType-CFF utilisée par le pipeline de polices intégrées de HotPDF. HotPDF fournit aussi des unités réutilisables d’analyse Type 1 PFB et CFF pour les appelants qui ont besoin d’une inspection de polices plus bas niveau

 

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;

 

Description

HPDFSubsetCFF réécrit une charge utile de police CFF en place, en préservant les IDs de glyphes et en remplaçant les CharStrings et sous-routines inutilisés par des stubs minimaux. C’est l’aide destinée aux appelants qui ont déjà extrait une table CFF d’un conteneur de police

 

HPDFSfntIsOTF détecte un conteneur sfnt dont la version est OTTO. HPDFOTFFindCFFTable localise la table embarquée 'CFF '. HPDFSubsetOTFContainer combine ces étapes en sous-ensemble la table CFF embarquée et en renvoyant un conteneur OTF avec la disposition originale de la table sfnt préservée

 

Le sous-ensembliste reconnaît à la fois les CFF indexés par nom (un seul Private DICT, un seul Local Subr INDEX) et les CFF indexés CID (opérateur ROS Haut DICT, FDArray de plusieurs Private DICT de sous-polices, carte glyph-to-FD FDSelect, Local Subr INDEX par FD). La prise en charge CID depuis v2.40.0 couvre les polices OpenType-CFF CJK / Indic / Arabic telles que la famille Adobe Fan/Gothic/Heiti/Ming/Myungjo/Song Std, Kozuka Pr6N et Source Han Sans - le balayage de fermeture suit le contexte FD de chaque CharString conservé afin que les Local Subr INDEX par FD soient sous-ensemblés indépendamment

 

Les décodeurs entiers CFF, analyseurs FDArray / FDSelect et scanners de sous-programmes de bas niveau sont des détails d’implémentation derrière cette surface publique

HPDFExtractTTFPostScriptName lit name ID 6 dans la table sfnt name et renvoie le nom PostScript de la police lorsqu’il est présent

 

Type 1 and CFF parser units

HPDFType1Core, HPDFType1Glyphs, HPDFType1CFFHandler et HPDFType1PFBHandler fournissent des lecteurs de tableaux d’octets réutilisables, l’extraction des commandes de contour de glyphe Type 1, l’analyse de Header / INDEX / dictionary / charset / encoding CFF et les métadonnées Type 1 PFB avec helpers de recherche de glyphe. HPDFType1CB fournit un point d’entrée d’analyseur adapté à C++Builder. Les unités sont incluses dans les projets de package Delphi et C++Builder afin que les applications puissent inspecter les données Type 1 PFB et CFF sans réimplémenter les analyseurs binaires

 

Voir aussi: EnableFontSubsetting, FontEmbedding, Prise en charge des filtres PDF