.CFF вариант №
Файл с расширением .cff представляет собой компактный формат шрифта и также известен как PostScript Type 1 или CIDFont. CFF действует как контейнер для хранения нескольких шрифтов вместе в одном блоке, известном как FontSet. Дизайн шрифтов CFF позволяет встраивать код языка PostScript, что обеспечивает дополнительную гибкость и расширяемость формата для использования в средах печати. Файлы шрифтов CFF можно открывать и преобразовывать с помощью таких API, как Aspose.Font.
Формат файла CFF
Файлы CFF представляют собой двоичные файлы, которые содержат структурированный макет данных, имеют определенные типы данных, заголовок, организацию глифов и табличные словари. Дополнительные сведения об этом можно найти в спецификациях формата компактных шрифтов.
Макет данных
Структура данных формата файла CFF показана ниже.
| Запись | Комментарии |
|---|---|
| Заголовок | – |
| ИмяINDEX | – |
| Верхний ИНДЕКС DICT | – |
| ИНДЕКС строки | – |
| Global Subr INDEX | – |
| Кодировки–Кодировки | – |
| FDSelect | Только CIDFonts |
| ИНДЕКС CharStrings | на шрифт |
| Шрифт DICT INDEX | для каждого шрифта, только CIDFonts |
| Частный DICT | на шрифт |
| Local Subr INDEX | на шрифт или на частный DICT для CIDFonts |
| Уведомления об авторских правах и товарных знаках | – |
Типы данных
Типы данных CFF показаны в следующей таблице.
| Имя | Диапазон | Описание |
|---|---|---|
| Card8 | 0 –255 | 1-байтовое беззнаковое число |
| Card16 | 0 – 65535 | 2-байтовое беззнаковое число |
| Смещение | варьируется | 1, 2, 3 или 4 байта смещения (указывается полем OffSize) |
| OffSize | 1–4 | 1-байтовое число без знака определяет размер поля или полей смещения |
| SID | 0 – 64999 | 2-байтовый строковый идентификатор |
Заголовок
Двоичные данные начинаются с заголовка, имеющего формат, показанный в следующей таблице.
| Тип | Имя | Описание |
|---|---|---|
| Card8 | major | Формат основной версии (начиная с 1) |
| Card8 | minor | Формат младшей версии (начиная с 0) |
| Карта8 | размер hdr | Размер заголовка (байты) |
| OffSize | offSize | Абсолютный размер смещения (0) |