Что такое формат файла TTC?
Файл .ttc представляет собой TrueType Font Collection - контейнер, объединяющий несколько начертаний шрифтов TrueType или OpenType в один файл, что позволяет им совместно использовать общие таблицы глифов и макетов. Такое разделение наиболее ценно для шрифтов CJK (китайский, японский, корейский), где два или три варианта гарнитуры - например, Regular, Bold и пропорциональный вариант - могут содержать десятки тысяч идентичных глифов, что обеспечивает значительно меньший общий размер файла по сравнению с поставкой отдельных файлов .ttf.
Формат идентифицируется по четырехбайтовой магической сигнатуре ttcf в начале файла. TTC версии 1.0 хранит количество шрифтов и массив смещений, указывающих на данные каждого отдельного шрифта. Версия 2.0 (часть спецификации OpenType 1.9.1) добавляет необязательную таблицу DSIG для цифровой подписи, охватывающей всю коллекцию.
Windows поставляет несколько файлов .ttc в качестве стандартных системных шрифтов: msgothic.ttc объединяет MS Gothic, MS PGothic и MS UI Gothic; msmincho.ttc объединяет MS Mincho и MS PMincho. macOS использует этот формат для семейства шрифтов Hiragino. Все основные платформы - Windows, macOS, Linux, iOS и Android - поддерживают .ttc нативно.
Отдельные начертания шрифтов можно извлечь в виде автономных файлов .ttf с помощью таких инструментов, как FontForge или библиотека Python fonttools. При установке .ttc в Windows встроенное средство просмотра шрифтов перечисляет каждое содержащееся начертание отдельно.
Безопасность и защита
РИСК: LOWФайлы шрифтов, включая TTC, в принципе могут использовать уязвимости рендеринга шрифтов (исторические CVE в Windows и FreeType), но риск именно от TTC крайне низок в 2024 году и позже. Обновленные системы не подвергаются значимому риску со стороны файлов шрифтов. Основная проблема - загрузка шрифтов из ненадежных источников.
Детали формата
в двух словахПрограммы, открывающие файлы TTC
Технические подробности
глубокая спецификация| Магические байты | ttcf (hex 74 74 63 66) по смещению 0 |
| Порядок байтов | Big-endian (все таблицы OpenType/TrueType используют сетевой порядок байтов) |
| Контейнер | Заголовок TTC, оборачивающий несколько полных единиц шрифта sfnt (TrueType/OpenType) с общими данными таблиц |
| Сжатие | Отсутствует (необработанные данные шрифта; WOFF2 обеспечивает сжатие для веб-доставки) |
| MIME-тип | font/collection |
| Версии заголовка | TTC 1.0 (количество шрифтов + массив смещений); TTC 2.0 добавляет необязательную таблицу цифровой подписи DSIG |
| Целостность | Контрольная сумма для каждой таблицы (head.checkSumAdjustment) в каждом шрифте; необязательная подпись DSIG для всего файла в TTC v2.0 |
| Макс. глифов на шрифт | 65,535 (поле maxp.numGlyphs) |
| Типичный размер файла | 1 МБ - 30 МБ (коллекции CJK находятся на верхнем пределе; латинские коллекции обычно 1-5 МБ) |
| Основное использование | Семейства шрифтов CJK, где несколько начертаний используют большие общие наборы глифов (таблицы glyf, loca, cmap, GSUB, GPOS) |
| Разделение таблиц | Несколько начертаний шрифтов в одном TTC повторно используют идентичные бинарные таблицы глифов и макетов, что значительно снижает общий размер файла |
| Платформа | Windows, macOS, Linux, iOS, Android |
| Выпущен | 1994 (TrueType Collections introduced in Apple's TrueType specification; widely used in Windows 95+) |
| Последняя версия | OpenType 1.9.1 (2023) - TTC header version 2.0 supports DSIG table for digital signatures |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации TTC
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах TTC.