Что такое формат файла DFONT?
Файл .dfont представляет собой контейнер шрифтов Mac OS X, который хранит данные TrueType или OpenType в обычном «ветвлении данных» (data fork) файла, а не в «ветвлении ресурсов» (resource fork) HFS+. Apple представила этот формат в Mac OS X 10.0 (март 2001 г.), чтобы решить проблему кроссплатформенной совместимости: шрифты Classic Mac OS хранили данные глифов исключительно в ветвлениях ресурсов HFS, которые бесследно удалялись при копировании файлов на тома FAT, SMB или другие разделы, отличные от HFS.
Решение заключалось в том, чтобы побайтово продублировать структуру ветвления ресурсов в ветвление данных и закрепить расширение .dfont. Файл начинается с 16 нулевых байтов, где обычно располагается заголовок ветвления ресурсов, затем следует стандартная карта ресурсов и разделы данных ресурсов, содержащие блоки sfnt (фактические контуры TrueType или OpenType) и необязательные записи семейств FOND. Несколько начертаний шрифта - обычное, жирное, курсивное, жирное курсивное - могут быть объединены в один чемодан (suitcase) .dfont.
К выходу macOS 10.6 Snow Leopard (2009 г.) Apple перевела большинство системных шрифтов на обычные файлы .ttf и .otf. Небольшой набор устаревших файлов .dfont остается в /System/Library/Fonts/ для обратной совместимости. Записи sfnt внутри .dfont являются полностью валидными данными TrueType или OpenType - такие инструменты, как FontForge и DfontSplitter, могут извлекать их в виде стандартных файлов .ttf, пригодных для использования на любой платформе.
macOS Font Book открывает файлы .dfont нативно. В Windows формат не распознается операционной системой; требуются сторонние инструменты для извлечения.
Безопасность и защита
РИСК: LOWФайлы шрифтов считываются системным отрисовщиком шрифтов; поврежденные шрифты исторически вызывали панику ядра в macOS (редко). Устанавливайте файлы .dfont только из доверенных источников.
Детали формата
в двух словахПрограммы, открывающие файлы DFONT
Технические подробности
глубокая спецификация| Порядок байтов | Big-endian (соответствует соглашению ветвления ресурсов Classic Mac OS) |
| Заголовок файла | 16 нулевых байтов со смещением 0 - заполнитель ветвления ресурсов; сигнализирует о том, что карта ресурсов следует сразу за ними |
| Внутренний контейнер | Структура ветвления ресурсов Mac OS (карта ресурсов + разделы данных ресурсов), хранящаяся дословно в ветвлении данных |
| Основной тип ресурса | Блоки `sfnt` - содержат валидные данные контуров TrueType или OpenType (таблицы CFF или glyf) |
| Вторичный тип ресурса | Записи `FOND` (дескриптор семейства шрифтов) для метаданных семейства и устаревших размеров растровых шрифтов |
| Объединение нескольких начертаний | Один файл `.dfont` может содержать несколько начертаний (обычное, жирное, курсивное, жирное курсивное) как отдельные ресурсы `sfnt` внутри одного файла |
| Формат глифов внутри | Квадратичные контуры Безье TrueType или кубические контуры OpenType CFF внутри потока `sfnt` |
| Типичный размер | 20 КБ - 5 МБ (варьируется в зависимости от количества глифов, числа начертаний и данных хинтинга) |
| Кодировка | Бинарная, макет ветвления ресурсов big-endian |
| Совместимость извлечения | Потоки `sfnt` являются валидными автономными TrueType/OpenType; извлекаются с помощью DfontSplitter, FontForge и консольной утилиты `fondu` |
| Путь системных шрифтов | `/System/Library/Fonts/` - устаревшие системные шрифты Apple остаются в формате `.dfont` после миграции большинства на `.ttf`/`.otf` в macOS 10.6 |
| Код типа файла | Код типа файла HFS+ `dfon`; фиксированные магические байты отсутствуют (файл начинается с 16 нулевых байтов) |
| Совместимость с Windows | Нативно не устанавливается в Windows; требуется извлечение ресурсов `sfnt` в `.ttf` через DfontSplitter или аналогичные инструменты |
| Сжатие | Отсутствует - данные глифов хранятся в несжатом виде внутри блоков ресурсов |
| Выпущен | 2001 (Mac OS X 10.0) |
| Последняя версия | No versioned spec; format frozen at introduction |
| Открыть стандартное | Да · без роялти |
| Спецификация | fontforge.org |
Конвертации DFONT
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DFONT.