aspose.info
RU

TTC — формат файла коллекции TrueType

Обновлено

.TTC вариант №

TTC сокращенно TrueType Collection является расширением формата True Type. Файл TTC может объединять в себе несколько файлов шрифтов. Эти файлы полезны для объединения нескольких шрифтов, которые имеют много общих глифов. До Windows 2000 файлы TTC использовались в китайской, японской и корейской версиях Windows, но позже поддержка была доступна для всех регионов.

Структура файла коллекции шрифтов

Файл TTC состоит из таблицы заголовков TTC, каталогов таблиц и нескольких таблиц OpenType. Заголовок TTC должен находиться в начале файла. Должен существовать полный каталог таблиц для каждого шрифта. Формат TableDirectory должен быть таким же, как в файле, не являющемся коллекцией. Количество таблиц во всех каталогах в файле TTC рассчитывается с начала файла TTC. На таблицы в файле TTC ссылаются через каталог таблиц соответствующих шрифтов. Некоторые таблицы OpenType должны появляться несколько раз, по одному разу для каждого шрифта, добавленного в TTC. Принимая во внимание, что другие таблицы могут совместно использоваться несколькими шрифтами в файле TTC.

Заголовок TTC

На данный момент доступны две версии таблицы заголовков TTC:

  • Версия 1.0 используется для файлов TTC без цифровых подписей.
  • Версия 2.0 может использоваться для файлов TTC с цифровой подписью или без нее. Вот таблицы заголовков TTC обеих версий:

Заголовок TTC, версия 1.0:

ТипИмяОписание
TAGttcTagСтрока идентификатора коллекции шрифтов: ’ttcf’ (используется для шрифтов с контурами CFF или CFF2, а также контурами TrueType)
uint16majorVersionОсновная версия заголовка TTC, = 1.
uint16minorVersionДополнительная версия заголовка TTC, = 0.
uint32numFontsКоличество шрифтов в TTC
Offset32tableDirectoryOffsets[numFonts]Массив смещений в TableDirectory для каждого шрифта от начала файла

Заголовок TTC версии 2.0:

ТипИмяОписание
TAGttcTagСтрока идентификатора коллекции шрифтов: ’ttcf'
uint16majorVersionОсновная версия заголовка TTC, = 2.
uint16minorVersionДополнительная версия заголовка TTC, = 0.
uint32numFontsКоличество шрифтов в TTC
Смещение32tableDirectoryOffsets[numFonts]Массив смещений в TableDirectory для каждого шрифта от начала файла
uint32dsigTagТег, указывающий, что таблица DSIG существует, 0x44534947 (‘DSIG’) (нуль, если нет подписи)
uint32dsigLengthДлина (в байтах) таблицы DSIG (нулевая, если нет подписи)
uint32dsigOffsetСмещение (в байтах) таблицы DSIG от начала файла TTC (пусто, если нет подписи)

использованная литература

См. также