aspose.info
LT

CFF2 – kompaktinio šrifto failo formato 2 versija

Atnaujinta

Kas yra CFF2 failas?

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. Ji negali būti naudojama kaip atskira programa ir priklauso nuo duomenų kitose OpenType lentelėse.

CFF2 failo formatas

CFF2 file format specifications pateikiama išsami informacija apie vidinių duomenų išdėstymą, duomenų tipus, lenteles ir kitą vidinę informaciją apie failo formatą. Jis gali būti pateiktas kūrėjo nuorodai. Kai kurios detalės apie tai pateikiamos toliau.

Duomenų išdėstymas

CFF2 failo formato dvejetainiai duomenys yra logiškai suskirstyti į keletą atskirų duomenų struktūrų. Dvejetainių duomenų išdėstymas yra toks, kaip parodyta šioje lentelėje.

ĮrašasPastabos
AntraštėFiksuota vieta
Top DICTFiksuota vieta
Global Subr INDEXFiksuota vieta
VariacijaParduotuvė
FDSirinkitePateikti tik tada, jei šriftų DICT INDEX yra daugiau nei vienas šriftas DICT.
Šrifto DICT INDEKSAS
Šriftų masyvas DICTĮtraukta į Šrifto DICT INDEX.
Privatus DICTVienas šriftas DICT.

Tik pirmosios trys struktūros yra pagrįstos fiksuotomis vietomis. Likusieji pasiekiami perskaitymu, o jų eilės tvarka gali būti keičiama.

Duomenų tipai

CFF2 failo formatas naudoja šiuos duomenų tipus.

PavadinimasDiapazonasAprašymas
uint8nuo 0 iki 2558 bitų be ženklo numeris
uint160 iki 6553516 bitų be ženklo numeris
uint320 iki 429496729532 bitų nepaženklintas numeris
Poslinkiskinta1, 2, 3 arba 4 baitų poslinkiai (nurodyti rodyklės lentelės lauke OffSize)
OffSize1–41 baito nepaženklintas skaičius nurodo poslinkio lauko ar laukų dydį

Jame saugomi visi kelių baitų skaitmeniniai duomenys ir poslinkio laukai didžiųjų baitų tvarka. CFF2 formate nėra užpildymo baitų, nes jis nepaiso jokių lygiavimo apribojimų.

DICT duomenys

CFF2 failuose yra šrifto žodyno duomenys kaip raktų ir reikšmių poros kompaktišku atpažinimo formatu. Žodyno klavišai koduojami kaip 1 arba 2 baitų operatoriai, o žodyno reikšmės koduojamos kaip kintamo dydžio skaitmeniniai operandai. Yra trys struktūros, kuriose naudojamas DICT duomenų formatas: Top DICT, Font DICT ir Private DICT. Apibrėžiama keletas įvairaus dydžio sveikųjų skaičių operandų tipų ir yra užkoduoti, kaip parodyta šioje lentelėje (pirmasis operando baitas yra b0, antrasis yra b1 ir t. t.).

Dydisb0 diapazonasVerčių diapazonasVertės apskaičiavimas
132–246-107 iki +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 iki +32767b1 « 8
529-(2^31) iki +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

Antraštė

Dvejetainiai duomenys prasideda antrašte, kurios formatas parodytas toliau esančioje lentelėje.

TipasVardasAprašymas
uint8pagrindinė versijaFormatuokite pagrindinę versiją. Nustatykite 2.
uint8minorVersijaFormatuoti mažesnę versiją. Nustatyti į nulį.
uint8headerSizeAntraštės dydis (baitais).
uint16topDictLengthViršutinės DICT struktūros ilgis baitais.

Nuorodos

Taip pat žiūrėkite