CFF- ja OpenType-fonttien alijoukkoistustoiminnot

PDF Filter Support

Ylös EnableFontSubsetting Sisältö

Nämä yksikkötason funktiot tuovat esille julkisen CFF-, OpenType-CFF- ja sfnt-fonttitarkastelurajapinnan, jota HotPDF:n upotettu fonttiputki käyttää. HotPDF toimittaa myös uudelleenkäytettäviä Type 1 PFB- ja CFF-jäsenninyksiköitä kutsujille, jotka tarvitsevat matalamman tason fonttitarkastelua

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;

Kuvaus

HPDFSubsetCFF kirjoittaa CFF-fonttisisällön uudelleen paikalleen säilyttäen glyfitunnukset ja korvaten käyttämättömät CharStrings-merkkijonot ja aliohjelmat minimaalisilla tynkillä. Tämä on apuohjelma kutsujille, jotka ovat jo poimineet CFF-taulukon fonttisäiliöstä

HPDFSfntIsOTF tunnistaa sfnt-säiliön, jonka versio on OTTO. HPDFOTFFindCFFTable paikantaa upotetun 'CFF ' -taulukon. HPDFSubsetOTFContainer yhdistää nämä vaiheet tekemällä alijoukon upotetusta CFF-taulukosta ja palauttamalla OTF-säiliön, jossa alkuperäinen sfnt-taulukon asettelu on säilytetty. HPDFExtractTTFPostScriptName lukee nimitunnuksen (name ID) 6 sfnt-taulukosta name ja palauttaa PostScript-fonttinimen, kun se on olemassa

Osittaja tunnistaa sekä nimen mukaan avaimetut CFF-rakenteet (yksittäinen Private DICT, yksittäinen Local Subr INDEX) ja CID-avaimelliset CFF-rakenteet (Top DICT ROS -operaattori, usean alifontin Private DICT -rakenteiden FDArray, FDSelect-taulukko glyyfeistä FD-rakenteisiin, FD-kohtaiset Local Subr INDEX -indeksit). CID-tuki kattaa CJK- / intialaiset / arabialaiset OpenType-CFF-fontit; sulkeumaskannaus seuraa jokaisen säilytetyn CharStringin FD-kontekstia, jotta FD-kohtaiset Local Subr INDEX -indeksit ositetaan itsenäisesti

Alemman tason CFF-kokonaislukudekooderit, FDArray- / FDSelect-jäsentimet ja aliohjelmien skannerit ovat tämän julkisen apurajapinnan takana olevia toteutusyksityiskohtia

Type 1- ja CFF-jäsenninyksiköt

Yksiköt HPDFType1Core, HPDFType1Glyphs, HPDFType1CFFHandler ja HPDFType1PFBHandler tarjoavat uudelleenkäytettäviä tavutaulukoiden lukijoita, Type 1 -glyfien ääriviivakomentojen poimintaa, CFF-otsikon / INDEX:n / sanaston / merkistön / koodauksen jäsentämistä sekä Type 1 PFB -metatietojen ja glyfien hakutoimintoja. HPDFType1CB tarjoaa C++Builder-ystävällisen jäsennysaloituspisteen. Yksiköt sisältyvät Delphi- ja C++Builder-pakettiprojekteihin, jotta sovellukset voivat tarkastella Type 1 PFB- ja CFF-tietoja toteuttamatta binäärijäsentimiä uudelleen

Katso myös: EnableFontSubsetting, FontEmbedding, PDF Filter Support