Funktioner för delmängder av CFF- och OpenType-teckensnitt

PDF Filter Support

 

Överst  EnableFontSubsetting  Innehåll

Dessa funktioner på enhetsnivå exponerar den offentliga ytan för inspektion och delmängdshantering av CFF-, OpenType-CFF- och sfnt-teckensnitt som används av HotPDF:s pipeline för inbäddade teckensnitt. HotPDF levererar också återanvändbara parserenheter för Type 1 PFB och CFF för anropare som behöver teckensnittsinspektion på lägre nivå

 

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;

 

Beskrivning

HPDFSubsetCFF skriver om en CFF-teckensnittslast på plats, bevarar glyph ID och ersätter oanvända CharStrings och subrutiner med minimala stubbar. Det är hjälpen för anropare som redan har extraherat en CFF-tabell från en teckensnittsbehållare

 

HPDFSfntIsOTF identifierar en sfnt-behållare vars version är OTTO. HPDFOTFFindCFFTable hittar den inbäddade tabellen 'CFF '. HPDFSubsetOTFContainer kombinerar dessa steg genom att skapa en delmängd av den inbäddade CFF-tabellen och returnera en OTF-behållare där den ursprungliga sfnt-tabellayouten bevaras. HPDFExtractTTFPostScriptName läser name ID 6 från sfnt-tabellen name och returnerar PostScript-teckensnittsnamnet när det finns

 

Delmängdsfunktionen känner igen både namnnycklad CFF (en enda Private DICT, ett enda Local Subr INDEX) och CID-nycklad CFF (Top DICT ROS-operator, FDArray med flera Private DICT för delteckensnitt, FDSelect glyph-to-FD-karta, Local Subr INDEXes per FD). CID-stöd omfattar CJK / Indic / Arabic OpenType-CFF-teckensnitt; closure-skanningen spårar varje behållen CharStrings FD-kontext så att Local Subr INDEXes per FD delmängdas oberoende

 

De underliggande CFF-heltalsavkodarna, FDArray / FDSelect-parsrarna och subrutinskannrarna är implementeringsdetaljer bakom denna offentliga hjälpyta

HPDFExtractTTFPostScriptName läser name ID 6 från sfnt-name-tabellen och returnerar fontens PostScript-namn när det finns

 

Parserenheter för Type 1 och CFF

HPDFType1Core, HPDFType1Glyphs, HPDFType1CFFHandler och HPDFType1PFBHandler tillhandahåller återanvändbara byte-array-läsare, extrahering av Type 1-glyfkonturkommandon, parsning av CFF Header / INDEX / dictionary / charset / encoding samt Type 1 PFB-metadata med hjälpfunktioner för glyfuppslagning. HPDFType1CB tillhandahåller en parseringång som passar C++Builder. Enheterna ingår i Delphi- och C++Builder-paketprojekten så att applikationer kan inspektera Type 1 PFB- och CFF-data utan att implementera de binära parsrarna på nytt

 

Se även: EnableFontSubsetting, FontEmbedding, PDF Filter Support