aspose.info
FI

CFF2 - Compact Font File Format versio 2

Päivitetty

Mikä on CFF2-tiedosto?

CFF2 file format is the version 2.0 of the CFF file format and allows efficient storage of glyph outlines and metadata similar to the CFF file format. CFF2 differs from CFF in that it is intended to be used in the context of an OpenType font as a ‘sfnt’ table with the tag CFF2. Sitä ei voi käyttää erillisenä ohjelmana, ja se riippuu muiden OpenType-taulukoiden tiedoista.

CFF2 tiedostomuoto

CFF2 file format specifications sisältää tietoja sisäisestä tietojen asettelusta, tietotyypeistä, taulukoista ja muista tiedostomuodon sisäisistä tiedoista. Se voidaan viitata kehittäjän viitteeksi. Jotkut näistä tiedoista ovat seuraavat.

Tietojen asettelu

CFF2-tiedostomuodon binääridata on loogisesti järjestetty useiksi erillisiksi tietorakenteiksi. Binääritietojen asettelu on seuraavan taulukon mukainen.

SyöttöKommentit
OtsikkoKiinteä sijainti
Paras DICTKiinteä sijainti
Global Subr INDEKSIKiinteä sijainti
VariaatioKauppa
FDValitseNäytä vain, jos Font DICT INDEX -hakemistossa on useampi kuin yksi Font DICT.
Fontti DICT INDEX
Fontti DICTSisältyy Font DICT INDEX.
Yksityinen DICTYksi per Font DICT.

Vain kolme ensimmäistä rakennetta perustuvat kiinteisiin paikkoihin. Jäljelle jäävät saavutetaan offsettien kautta, ja niiden järjestystä voidaan muuttaa.

Tietotyypit

CFF2-tiedostomuoto käyttää seuraavia tietotyyppejä.

NimiAlueKuvaus
uint80 - 2558-bittinen etumerkitön numero
uint160 - 6553516-bittinen etumerkitön numero
uint320 - 429496729532-bittinen etumerkitön numero
Poikkeamavaihtelee1, 2, 3 tai 4 tavun siirtymät (määritetty OffSize-kentässä hakemistotaulukossa)
OffSize1-41-tavuinen etumerkitön numero määrittää Offset-kentän tai kenttien koon

Se tallentaa kaikki monitavuiset numeeriset tiedot ja offset-kentät big endian tavujärjestyksessä. CFF2-muoto ei sisällä täytetavuja, koska se ei noudata kohdistusrajoituksia.

DICT-tiedot

CFF2-tiedostot sisältävät fonttisanakirjan tiedot avain-arvo-pareina kompaktissa tokenoidussa muodossa. Sanakirjan avaimet on koodattu 1- tai 2-tavuisina operaattoreina ja sanakirjan arvot muuttuvan kokoisina numeerisina operandeina. On olemassa kolme rakennetta, jotka käyttävät DICT-tietomuotoa: Top DICT, Font DICT ja Private DICT. Useita erikokoisia kokonaislukuoperandityyppejä on määritelty ja koodattu seuraavan taulukon mukaisesti (operandin ensimmäinen tavu on b0, toinen on b1 ja niin edelleen).

Kokob0-alueArvoalueArvon laskeminen
132 - 246-107 - +107b0 - 139
2247 to 250+108 to +1131(b0 - 247) * 256 + b1 + 108
2251 to 254-1131 to -108-(b0 - 251) * 256 - b1 - 108
328-32768 - +32767b1 « 8
529-(2^31) - +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

Otsikko

Binääritiedot alkavat otsikolla, jonka muoto on alla olevassa taulukossa.

TyyppiNimiKuvaus
uint8pääversioMuotoile pääversio. Aseta arvoon 2.
uint8minorVersionMuotoile sivuversio. Aseta nollaan.
uint8headerSizeOtsikon koko (tavuina).
uint16topDictLengthTop DICT -rakenteen pituus tavuina.

Viitteet

Katso myös