aspose.info
UK

TTF - формат файлу шрифту TrueType

Оновлено

Що таке файл TTF?

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

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

Формат шрифту TTF, розроблений Apply Computer, Inc у 1980-х роках для MacOS, мав на меті вирішити деякі технічні обмеження формату Adobe Type 1. Apple включила підтримку шрифтів TrueType у Mac у 1991 році. Метою дизайну шрифтів TTF була ефективність зберігання та обробки, а також можливість розширення. Завдяки цій можливості розширення існуючі шрифти можна конвертувати у формат TrueType.

Корпорація Майкрософт вперше використала шрифти TrueType у Windows 3.1 у квітні 1992 року після того, як Apple погодилася надати Microsoft ліцензію на TrueType. Він покращив механізм растеризації та покращив його ефективність і продуктивність.

Специфікації формату файлу True Type

Файл шрифту TrueType – це двійковий файл, який складається з послідовності об’єднаних таблиць. Кожна таблиця є послідовністю слів і має ім’я, відоме як «тег». Кожен тег має тип даних uint32 і складається з чотирьох символів. Перша таблиця у файлі — це каталог шрифтів, який надає доступ до інших таблиць у файлі шрифтів. Дані шрифтів містяться в інших таблицях після таблиці каталогу шрифтів. Оскільки кожна таблиця доступна за своїм тегом, таблиці можуть відображатися у файлі в будь-якому порядку.

Необхідні таблиці та назви їхніх тегів наведено в наступній таблиці.

ТегТаблиця
‘cmap’відображення символів у гліфи
‘гліф’дані гліфа
‘голова’заголовок шрифту
‘hhea’горизонтальний заголовок
‘hmtx’горизонтальна метрика
‘місце’індекс розташування
‘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
uint16entrySelectorlog2(максимальна потужність 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Каталог таблиць

Каталог таблиці знаходиться одразу після підтаблиці зміщення. Його структура показана в наступній таблиці.

ТипНазваОпис
uint32тег4-байтовий ідентифікатор
uint32контрольна сумаконтрольна сума для цієї таблиці
uint32зсувзміщення від початку sfnt
uint32довжинадовжина цієї таблиці в байтах (фактична довжина без доданої довжини)

Кожна таблиця у файлі шрифту повинна мати власний запис каталогу таблиць. Записи в таблиці повинні бути відсортовані в порядку зростання за тегом.

Список літератури

Див. також