Какво е TTC файл?
TTC е съкратено като TrueType Collection е разширение на формата True Type. TTC файлът може да комбинира множество файлове с шрифтове в него. Тези файлове са полезни за комбиниране на множество шрифтове, които споделят много общи глифове. Преди Windows 2000 TTC файловете се използваха в китайски, японски и корейски версии на Windows, но по-късно поддръжката беше достъпна за всички региони.
Структурата на файла с колекция от шрифтове
TTC файлът се състои от TTC Header таблица, Table Directories и множество OpenType таблици. TTC Header трябва да се намери в началото на файла. Трябва да съществува пълна директория с таблици за всеки шрифт. Форматът на TableDirectory трябва да бъде подобен на съществуващия във файл без колекция. Броят на таблиците във всички директории в TTC файл се изчислява от началото на TTC файл. Таблиците в TTC файл се препращат чрез директорията на таблицата на съответните им шрифтове. Няколко от таблиците на OpenType трябва да се показват няколко пъти, веднъж за всеки шрифт, добавен в TTC. Докато другите таблици могат да бъдат споделени от множество шрифтове в TTC файла.
TTC заглавка
Досега са налични две версии на таблицата с TTC Header:
- Версия 1.0 се използва за TTC файлове без цифрови подписи.
- Версия 2.0 може да се използва за TTC файлове със или без цифрови подписи. Ето таблиците на TTC Header на двете версии:
TTC Header версия 1.0:
Тип | Име | Описание |
---|---|---|
TAG | ttcTag | Идентификационен низ на колекция от шрифтове: ’ttcf’ (използва се за шрифтове с контури CFF или CFF2, както и контури TrueType) |
uint16 | majorVersion | Основна версия на TTC Header, = 1. |
uint16 | minorVersion | Второстепенна версия на TTC Header, = 0. |
uint32 | numFonts | Брой шрифтове в TTC |
Offset32 | tableDirectoryOffsets[numFonts] | Масив от отмествания към TableDirectory за всеки шрифт от началото на файла |
TTC Header Версия 2.0:
Тип | Име | Описание |
---|---|---|
TAG | ttcTag | Идентификационен низ на колекция от шрифтове: ’ttcf' |
uint16 | majorVersion | Основна версия на TTC Header, = 2. |
uint16 | minorVersion | Второстепенна версия на TTC Header, = 0. |
uint32 | numFonts | Брой шрифтове в TTC |
Отместване32 | tableDirectoryOffsets[numFonts] | Масив от отмествания към TableDirectory за всеки шрифт от началото на файла |
uint32 | dsigTag | Етикет, указващ, че съществува DSIG таблица, 0x44534947 (‘DSIG’) (нула, ако няма подпис) |
uint32 | dsigLength | Дължината (в байтове) на DSIG таблицата (нула, ако няма подпис) |
uint32 | dsigOffset | Отместването (в байтове) на DSIG таблицата от началото на TTC файла (нула, ако няма подпис) |