aspose.info
BG

CFF2 - Формат на файл с компактен шрифт версия 2

Обновено

Какво е CFF2 файл?

Файловият формат CFF2 е версия 2.0 на файловия формат CFF и позволява ефективно съхранение на контури на глифове и метаданни, подобни на файловия формат CFF. CFF2 се различава от CFF по това, че е предназначен да се използва в контекста на OpenType шрифт като таблица „sfnt“ с етикет CFF2. Не може да се използва като самостоятелна програма и зависи от данните в други OpenType таблици.

CFF2 файлов формат

Спецификациите на файловия формат CFF2 съдържат подробности за вътрешното оформление на данните, типовете данни, таблиците и друга вътрешна информация за файловия формат. Може да бъде препоръчан за справка на разработчика. Някои от подробностите за тях са както следва.

Оформление на данните

Двоичните данни във файлов формат CFF2 са логически организирани като няколко отделни структури от данни. Оформлението в рамките на двоичните данни е както е показано в следващата таблица.

ЗаписКоментари
ЗаглавиеФиксирано местоположение
Най-горе DICTФиксирано местоположение
Глобален подИНДЕКСФиксирано местоположение
ВариацияМагазин
FDSelectПрисъства само ако има повече от един Font DICT в Font DICT INDEX.
Шрифт DICT INDEX
Масив от шрифт DICTВключено във Font DICT INDEX.
Частен DICTЕдин на шрифт DICT.

Само първите три структури са базирани на фиксирани местоположения. Останалите се достигат чрез компенсации, като подреждането им може да се променя.

Типове данни

Файловият формат CFF2 използва следните типове данни.

ИмеДиапазонОписание
uint80 до 2558-битово число без знак
uint160 до 6553516-битово число без знак
uint320 до 429496729532-битово неподписано число
Офсетварира1, 2, 3 или 4 байта отмествания (посочени от полето OffSize в индексна таблица)
Извънразмер1 до 41-байтово число без знак указва размера на поле или полета за отместване

Съхранява всички многобайтови цифрови данни и полета за отместване в ред на байтовете в голям ред. Форматът CFF2 не съдържа байтове за допълване, тъй като не спазва никакви ограничения за подравняване.

DICT данни

CFF2 файловете съдържат данните от речника на шрифта като двойки ключ-стойност в компактен токенизиран формат. Ключовете на речника са кодирани като 1 или 2 байтови оператори, а стойностите на речника са кодирани като числови операнди с променлив размер. Има три структури, които използват формата на DICT данни: Top DICT, Font DICT и Private DICT. Дефинират се редица типове цели числа операнди с различни размери и се кодират, както е показано в следващата таблица (първият байт на операнда е b0, вторият е b1 и т.н.).

Размерb0 диапазонСтойност диапазонИзчисляване на стойност
132 до 246-107 до +107b0 - 139
2247 до 250+108 до +1131(b0 - 247) * 256 + b1 + 108
2251 до 254-1131 до -108-(b0 - 251) * 256 - b1 - 108
328-32768 до +32767b1 « 8
529-(2^31) до +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

Заглавие

Двоичните данни започват със заглавка във формата, показан в таблицата по-долу.

ТипИмеОписание
uint8основна версияФорматирайте основната версия. Задайте на 2.
uint8minorVersionФорматиране на второстепенна версия. Задаване на нула.
uint8headerSizeРазмер на заглавието (байтове).
uint16topDictLengthДължина на горната DICT структура в байтове.

Препратки

Вижте също