aspose.info
BG

TTF - TrueType Font File Format

Обновено

Какво е TTF файл?

Файл с разширение .ttf представлява файлове с шрифтове, базирани на технологията за шрифтове със спецификации TrueType. Първоначално е проектиран и пуснат от Apple Computer, Inc за Mac OS и по-късно е приет от Microsoft за Windows OS. Шрифтовете TrueType осигуряват най-високо качество на дисплея на компютърни екрани и принтери, без да зависят от разделителната способност. Всички съвременни приложения, използващи шрифтове, могат да работят с TTF файлове. Файловете с TTF шрифтове са свободно достъпни в интернет и могат също да бъдат конвертирани в други файлови формати на шрифтове, като OTF и WOFF.

Кратка история

Проектиран от Apply Computer, Inc през 1980 г. за MacOS, форматът на шрифта TTF имаше за цел да разреши някои технически ограничения от формата Type 1 на Adobe. Apple включи поддръжка за TrueType шрифтове в Mac през 1991 г. Целта на дизайна зад TTF шрифтовете беше ефективност при съхранение и обработка и разширяемост. Въз основа на тази разширяемост съществуващите шрифтове могат да бъдат конвертирани във формат TrueType.

Microsoft за първи път използва шрифтовете TrueType в Windows 3.1 през април 1992 г., след като Apple се съгласи да лицензира TrueType на Microsoft. Той подобри механизма за растеризация и подобри неговата ефективност и производителност.

Спецификации на файловия формат True Type

Файлът с шрифт TrueType е двоичен файл, който се състои от поредица от свързани таблици. Всяка таблица е поредица от думи и има име, известно като „Етикет“. Всеки таг е от тип данни uint32 и се състои от четири знака. Първата таблица във файла е директория с шрифтове, която дава достъп до други таблици във файла с шрифтове. Данните за шрифтове се съдържат в други таблици, следвани след таблицата с директорията на шрифтовете. Тъй като всяка таблица е достъпна чрез своя таг, таблиците могат да се появяват в произволен ред във файла.

Необходимите таблици и техните имена на етикети са показани в следващата таблица.

ЕтикетТаблица
‘cmap’съпоставяне на знак към глиф
‘глиф’данни за глифове
‘глава’заглавка на шрифта
‘ххе’хоризонтална заглавка
‘hmtx’хоризонтални показатели
’loca'индекс към местоположение
‘maxp’максимален профил
‘име’именуване
‘публикуване’PostScript

Типове данни

Шрифтовете TrueType използват стандартното цяло число и допълнителните типове данни, както са изброени в следващата таблица.

Тип данниОписание
shortFrac16-битова дроб със знак
Фиксиран16.16-битово число с фиксирана точка със знак
FWord16-битово цяло число със знак, което описва количество във FUnits, най-малкото измеримо разстояние в em пространство.
uFWord16-битово цяло число без знак, което описва количество във FUnits, най-малкото измеримо разстояние в em пространството.
F2Dot1416-битово фиксирано число със знак, като младите 14 бита представляват дроб.
longDateTimeДългият вътрешен формат на дата в секунди от 12:00 ч. в полунощ, 1 януари 1904 г. Той е представен като 64-битово цяло число със знак.

Директория с шрифтове

Първата таблица в шрифта TrueType е директорията с шрифтове, която предоставя достъп до информацията, необходима за достъп до данни в други таблици. Освен това се състои от:

  • Офсетна подтаблица - поддържа запис на таблиците във шрифта и предоставя информация за отместване за достъп до всяка таблица в директорията
  • Директория на таблици - Съдържа записи за всяка таблица в шрифта

Подтаблица с отместване

Подтаблицата за отместване е показана по-долу.

ТипИмеОписание
uint32тип скалерТаг за указване на OFA скалера, който да се използва за растеризиране на този шрифт; вижте бележката за типа скалер по-долу за повече информация.
uint16numTablesброй маси
uint16searchRange(максимална мощност от 2 <= numTables)*16
uint16входен селекторlog2(максимална мощност от 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Директория с таблици

Директорията на таблицата идва веднага след отместената подтаблица. Структурата му е както е показано в следващата таблица.

ТипИмеОписание
uint32етикет4-байтов идентификатор
uint32контролна сумаконтролна сума за тази таблица
uint32отместванеотместване от началото на sfnt
uint32дължинадължина на тази таблица в байтове (действителна дължина без подплатена дължина)

Всяка таблица във файл с шрифт трябва да има свой собствен запис в директорията на таблицата. Записите в таблица трябва да бъдат сортирани във възходящ ред по етикет.

Препратки

Вижте също