Формати шрифтів | Рішення API для .NET
Який формат шрифту вибрати?
Вже існує досить багато форматів шрифтів. Можливо, ви чули такі слова, як TTF
, WOFF
, WOFF2
, OpenType
, EOT
, Type 1
та інші. Перші запитання, які виникають на увазі, коли ви бачите, що багато форматів шрифтів:
- Чому вони всі розроблені?
- Який з них я маю використати у своєму проекті?
Відповідь на перше питання проста. Всі формати були створені для конкретних цілей. З часом майже всі вони еволюціонували і зараз не є вузькоспеціалізованими, але через початкову сферу застосування мають свої недоліки та обмеження при використанні в деяких сферах чи завданнях. А розуміння цих плюсів і мінусів кожного формату шрифту дає відповідь на друге запитання.
Формат шрифту TrueType
Формат TrueType Font
або TTF
вперше був розроблений Apple. Зараз це один із найпопулярніших форматів, оскільки він використовується в операційних системах Microsoft і Apple. За допомогою бібліотечних шрифтів FreeType
формат TrueType
також можна використовувати в багатьох дистрибутивах Linux.
Інша причина популярності формату TTF
полягає в тому, що цей тип використовує спеціальну техніку для забезпечення високоякісного відтворення шрифту на пристроях з низькою роздільною здатністю екрана. Він використовує розроблений інструмент інструкцій, який дозволяє шрифтам мати якість, подібну до растрових шрифтів. З іншого боку, процес підказки шрифту є досить складним і трудомістким, тому багато компаній частково нехтують ним. У результаті середній шрифт TTF
може виглядати гірше, ніж аналогічний шрифт у форматі PostScript
.
Підказка шрифту – це частина растеризації шрифту, яка використовується для покращення відтворення тексту.
Підказки – це пара вказівок, які визначають положення та товщину гліфа.
Існує дві складові технології формату TTF
:
- Перший компонент – це самі шрифти з різними дизайнами та варіаціями. Всі вони мають ліцензію і їх потрібно купувати. Деякі виробники надають вам набори таких шрифтів, тому ви можете придбати колекцію шрифтів або просто купити той, який збираєтеся використовувати.
- Другим компонентом є растеризатор, який вбудовано в комп’ютери Apple Macintosh і сімейство операційних систем Microsoft Windows.
Шрифти TTF чудово підтримують стандарт кодування символів Юнікод, що дозволяє їм представляти широкий спектр міжнародних символів і шрифтів. Це робить ці шрифти придатними для відтворення багатомовного тексту. Шрифти формату TrueType
можуть містити до 65000 гліфів, закодованих у стандарті Unicode. Але насправді більшість шрифтів мають набагато скромніші набори гліфів. Щоб дізнатися більше про набори гліфів і кодування гліфів, перегляньте цю статтю про
гліфи.
Шрифт у форматі TrueType
- це один файл із розширенням .ttf
. У Mac OS це валіза-файл із ресурсом SFNT. Починаючи з Mac OS X, операційні системи мають вбудований процесор шрифтів, який також підтримує файли шрифтів TTF
. Тому файл із розширенням .ttf
можна використовувати на обох платформах.
Шрифти формату TrueType
можуть бути розташовані в одному файлі як колекція шрифтів. Такий файл матиме розширення .ttc
.
Ці шрифти можна вбудовувати в документи, що дозволяє узгоджено відображати шрифти в різних системах і пристроях. Ви можете вставляти їх як повні шрифти (що дозволяють редагувати та видобувати) або як піднабір шрифтів (що містять лише символи, що використовуються в документі).
Формат шрифту OpenType
OpenType Font
або OTF
був створений на основі шрифту TrueType
, з якого він узяв базову структуру. До цього були додані додаткові конструкції даних для впорядкування типографічної поведінки. Цей формат відомий як поєднання шрифтів TrueType і Postscript. Оскільки він дійсно гнучкий, він підтримується більшістю операційних систем і пристроїв.
OTF
, TTF
і Type1
обробляються в Windows і Macintosh однаково, тому немає помилок і проблем під час рендерингу текстів. Вони також повністю масштабуються без втрати якості.
Розширені дані включені у файли шрифтів OTF
OpenType
технічно є комбінацією векторних та інших даних, об’єднаних у групу таблиць. У такі таблиці включені такі дані:
- Назва – містить загальну інформацію про шрифт, як-от назва шрифту, версія, модифікація тощо.
- CMAP - це таблиця, яка реєструє зв’язки між символами та гліфами.
- Таблиця імен - містить назву шрифту, назву сімейства шрифтів і тип шрифту.
- Інші таблиці з векторними гліфами.
- Розширені друкарські таблиці - містять необхідні дані для підтримки розширених друкарських функцій.
- Растрові гліфи - ця таблиця містить дані для растрових шрифтів.
- Таблиця Цифровий підпис - має електронний підпис дизайнера.
Навіть з усіма згаданими перевагами, OTF
шрифти можуть бути не найкращим варіантом для веб-проектів. Більшість, але не всі браузери підтримують їх. Якщо більшість вашої аудиторії використовує браузер, який погано поєднується з OTF, вам краще конвертувати його в один із веб-форматів.
Переваги OTF:
OpenType
підтримує Unicode; його гліфи можуть включати понад 65 000 символів разом із усіма східними символами та деякими, такими як китайські та японські. Ось чому цей формат є кращим при роботі з багатомовним середовищем і програмним забезпеченням.- Шрифти OTF легко стискати, тому менші файли шрифтів легше інтегрувати в інші файли, що важливо під час роботи з файлами PDF або веб-сторінками.
OTF
може містити широкий спектр спеціальних гліфів, таких як лігатури, історичні та математичні символи та багато іншого.- Шрифти цього формату також можуть містити кілька оптичних розмірів шрифтів одного сімейства шрифтів. Шрифти різних розмірів базуються на різних наборах векторних контурів. Це покращує читабельність і відтворення символів невеликого розміру.
- Покращено кернінг: символи з формою одного типу (наприклад, o,c,e) можна кернувати подібним чином. Таким чином, таблиця кернінгу стає меншою, і з’являється більше пар кернінгу.
OTF проти TTF
Досить часте запитання звучить так: «Що краще OTF
або TTF
?». Оскільки OTF
— це вдосконалений шрифт, заснований на TrueType
, із розширеними функціями для підтримки значно покращеної типографіки, схоже, це кращий варіант для вибору. Насправді не так багато користувачів потребують і використовують ці функції, тому в більшості випадків не має значення, який із двох форматів вибрати.
Відкритий веб-формат шрифту
Web Open Font Format
або WOFF
був розроблений у 2009 році для задоволення потреб ринку веб-додатків.
Він був створений шляхом додавання специфічного формату стиснення до шрифтів TrueType
і OpenType
. Він використовує стиснення zlib, яке забезпечує стиснення шрифтів приблизно на 40%. Ще одна особливість формату WOFF
полягає в тому, що шрифт формату може містити прикріплені додаткові метадані. Ці метадані не впливають на спосіб відтворення шрифту, але можуть бути показані користувачеві, коли це потрібно. Наприклад, коли ви використовуєте Aspose
Font Viewer. Вибравши потрібний шрифт, ви отримаєте багато інформації про нього: інформацію про його ліцензію, кількість гліфів, виробника, версію, інформацію про авторські права тощо.
Розробка WOFF
переслідувала дві основні цілі:- Першою метою було відрізнити шрифти для веб-додатків від шрифтів, які використовуються в настільному середовищі та повинні бути встановлені локально.
- Друга мета полягала в скороченні часу, необхідного для передачі шрифтів із сервера на клієнт через мережеве з’єднання.
Файли WOFF
дозволяють розробникам використовувати власні шрифти замість стандартних веб-шрифтів. Останні версії більшості браузерів підтримують формат WOFF
на настільних комп’ютерах, а також на мобільних пристроях.
Файл WOFF
— це файл веб-шрифту у форматі WOFF
. Він завантажує стислий контейнер. Файл має розширення .woff
.
У таблиці нижче показано браузери, які підтримують формат WOFF
.
Операційна система | Браузери з підтримкою формату WOFF |
---|---|
Windows | Mozilla Firefox, Opera, Google Chrome, Safari, Microsoft Internet Explorer, Microsoft Edge. |
Linux | Mozilla Firefox, Opera, Google Chrome. |
Android | Браузер Android, Chrome для Android, Firefox для Android, Opera Mobile. |
Macintosh | Mozilla Firefox, Opera, Google Chrome, Safari. |
iOS | Google Chrome, iOS Safari. |
Відкритий веб-формат шрифту 2
Web Open Font Format
або WOFF2
— це наступна версія формату WOFF
з кращим стисненням. Якщо бути точним, це дає перевагу на 30% у стисненні порівняно з форматом WOFF
. Він використовує алгоритм стиснення на рівні байтів Brotli, який є бібліотекою для стиснення даних із відкритим кодом. Використовується для прискорення завантаження веб-сторінок.
Файл формату WOFF2
має розширення .woff2
.
Формат WOFF2
отримав рекомендацію W3C у 2018 році.
Як формат WOFF
, WOFF2
також підтримується більшістю браузерів.
Формат шрифту OpenType
Формат шрифту OpenType
або OTF
був розроблений у співпраці Adobe і Microsoft.
Цей формат є розширенням формату TrueType
.
Шрифти OpenType
— це контейнери, створені за правилами формату TrueType
. Цей контейнер може містити дані «TrueType», а також «PostScript». Крім того, шрифти OpenType
можуть містити нові типи даних, яких немає у форматі TrueType
.
Шрифти, які містять дані PostScript
, мають розширення .otf
, а ті, що містять шрифти TrueType
, мають розширення .ttf
.
Подібно до формату TrueType
, кожен шрифт OpenType
використовує один файл для зберігання інформації про контури, показники та службові дані. Один і той самий файл можна встановити в операційних системах Windows і Macintosh.
Шрифти OpenType використовують багатобайтову систему кодування Unicode, яка охоплює майже всі мови світу. Шрифти OpenType
також можуть мати цифровий підпис виробника, який дозволяє операційній системі визначити походження шрифту та дізнатися, чи було його змінено.
Завдяки кращим методам стиснення шрифти OpenType швидше надсилаються мережею та займають менше місця на диску.
Формат OpenType
має свої типографічні правила. Головною їх особливістю є те, що терміни символ і
гліф розділені. Кожен символ за замовчуванням визначається основним гліфом і порядком розташування в тексті. Застосування додаткових правил до одного чи кількох символів може змінити їх взаємне розташування або замінити основні гліфи альтернативними.
Adobe InDesign і Adobe Photoshop були першими програмами, які підтримували правила типографіки OpenType. До 2023 року Adobe більше не підтримуватиме формат Type1, натомість підтримуватиме формат OpenType.
Вбудований формат шрифту OpenType
Формат Embedded OpenType
або EOT
. Це компактний формат шрифтів OpenType
, вбудованих у веб-сторінки. Формат розроблений Microsoft. Формат має такі особливості:
- Завдяки використанню стиснення LZ і включенню лише необхідних символів у шрифт файли
OpenType
є компактними. - Простота вбудовування шрифтів у веб-сторінки може призвести до неконтрольованого поширення захищених авторським правом шрифтів. Формат
EOT
має функції, які запобігають таким порушенням. - Оскільки шрифти
EOT
містять лише частину символів, вартість оригінального шрифту менша. - Іншою особливістю шрифту є те, що якщо шрифт
EOT
не вдається, буде використано інший доступний шрифт. Так сторінка завжди буде читабельною.
Недоліком шрифту є те, що він запатентований і підтримується лише Internet Explorer.
Формат шрифту Type 1
Формат Type 1
з’явився на ринку разом із мовою програмування PostScript у 1984 році. Через це цей формат також називають Postscript Type 1
.
Шрифт формату Type 1
- це спеціальна форма програми Postscript і формат файлу, який орієнтований на опис шрифту.
Формат Type 1
розпізнається принтерами та комп’ютерами за допомогою вбудованих інтерпретаторів або додаткових утиліт, таких як Adobe Type Manager. Ця технологія присутня в Microsoft Windows і Macintosh OS X.
Особливістю шрифтів Type 1
є те, що вони не підтримують стандарти кодування Unicode.
Формат Type 1
також підтримує декілька головних шрифтів, які дозволяють користувачам генерувати безперервний набір стилів гарнітури між двома або більше попередньо визначеними «основними» дизайнами. Ця функція забезпечує гнучку інтерполяцію та налаштування стилів шрифту.
Шрифт Type 1
для Microsoft може складатися з таких файлів:
- Двійковий файл шрифту друку (розширення
.pfb
). Файл містить інформацію про контури. - Adobe Font Metrics (розширення
.afm
). Файл містить інформацію про ширину гліфа та кернінг. - Файл інформації про налаштування (розширення
.inf
). Має додаткову інформацію для встановлення. - Друк метрики шрифту (розширення
.pfm
). Файл створюється під час інсталяції на основі інформації з файлівINF
іAFM
. Після цього використовуються лише файлиPFM
іPFB
.
Шрифт Type 1
для Macintosh складається з файлу валізи та файлу принтера.
Якщо у вас одна гарнітура, ви можете мати один файл-валізу та чотири файли для принтера (для стилів normal
, bold
, italic
і bold italic
). Або ви можете отримати вісім файлів, одну валізу для кожного стилю шрифту плюс чотири файли для принтера.
Формат Type 1 має такі недоліки:
- Набори гліфів обмежені 256 гліфами.
- Шрифти цього формату не є кросплатформними.
- Шрифти
Type 1
зазвичай складаються з двох окремих файлів: файлу структури шрифту (з розширенням.pfb
) і файлу показників шрифту (з розширенням.afm
). Обидва файли повинні бути встановлені в системі, щоб шрифт був доступний для програм. - Формат дуже старий і не буде підтримуватися Adobe до 2023 року. Деякі програми вже припинили його підтримку.
Компактний формат шрифту
«Компактний формат шрифту» або «CFF» також відомий як формат шрифту «Тип 2» або формат шрифту «CFF/Тип 2».
Кажуть, що CFF
- це не зовсім формат шрифту. Це спосіб стиснення інших форматів шрифтів, наприклад Type 1
.
Він забезпечує помітну економію місця, оскільки використовує механізм підпрограми для визначення багаторазово використовуваних частин програм із шрифтами, зменшуючи загальний розмір файлу шрифту. Підпрограми — це фрагменти коду, які можна викликати кілька разів, покращуючи ефективність представлення шрифту.
Принцип роботи CFF
полягає в тому, що він працює як контейнер, який містить кілька шрифтів разом як одне ціле. Цей блок називається FontSet. Ці шрифти також використовують кодування Type 2 Charstrings для визначення контурних форм окремих гліфів, яке складається з інструкцій, що описують, як створити кожну форму гліфа за допомогою кривих і ліній.
Подібно до «шрифтів TrueType», шрифти «CFF» також використовують контури для визначення форм гліфів. Однак контури CFF
описуються за допомогою кубічних кривих Безьє PostScript. Крім того, вони можуть містити інформацію підказок для покращення візуалізації гліфів за низької роздільної здатності.
Подібно до форматів Type 1
і TrueType
, CFF
також використовує підказки. Він використовує ті самі методи для представлення підказок, що й Тип 1
, але їх легше та чистіше писати в коді.
Порівняно з Типом 1
, CFF
отримав:
- Оператори конструкцій (hstem3, flex, заміни підказок, елементи управління лічильниками), видалено деякі непотрібні оператори.
- Зменшено розмір коду.
- Було додано нові функції, як-от косе згинання, більше арифметичних операцій тощо.
Векторні та растрові шрифти
Растрові або растрові шрифти відносяться до певного типу формату шрифту, який базується на сітці окремих пікселів. Ці шрифти представляють кожен символ як набір пікселів, розташованих у сітці.
Контурні або векторні шрифти – це тип формату шрифту, який представляє символи за допомогою математичних кривих і ліній.
Растрові шрифти та контурні шрифти — це два різні підходи до представлення та відтворення гарнітур шрифтів. Ось порівняння двох форматів шрифтів:
Характеристика | Растр | Вектор |
---|---|---|
Представництво | Складається з сітки пікселів, де кожен символ визначається певним розташуванням пікселів. | Використовуйте математичні криві та вектори, щоб визначити форми символів. Кожен символ визначається рядом кривих, ліній і точок. |
Залежність роздільної здатності | Залежні від роздільної здатності, тобто вони розроблені для певного розміру, тому при збільшенні масштабу вони можуть виглядати піксельними або зубчастими. | Не залежить від роздільної здатності, що дозволяє плавно масштабувати до будь-якого розміру без втрати якості. |
Редагування | Змінення окремих пікселів може бути виснажливим і призвести до спотворення. | Дизайнери можуть маніпулювати кривими та точками, які визначають символи, за допомогою програмного забезпечення для редагування векторів. |
Розмір файлу | Мати менші розміри файлів, оскільки вони зберігають інформацію піксель за пікселем. | Мають більші розміри файлів через складні векторні дані, які вони зберігають. |
Підтримка мов | Може мати обмежену підтримку мови. | Може підтримувати широкий діапазон мов і символів. |
Підказка | Не вимагають підказок. | Для покращення розбірливості можуть бути корисні підказки. |
Параметри стилю | Мають обмежені варіанти стилю, наприклад жирний або курсив, оскільки вони визначаються піксель за пікселем. | Запропонуйте більше варіантів стилю, які можна застосувати програмно або за допомогою таблиць стилів шрифтів. |
Таким чином, растрові шрифти базуються на пікселях, залежать від роздільної здатності та мають обмежену масштабованість і параметри стилю порівняно з контурними шрифтами, які використовують математичні криві, не залежать від роздільної здатності, пропонують більшу гнучкість у редагуванні та стилізації та можуть підтримувати різні мови. Контурні шрифти сьогодні широко використовуються завдяки їх масштабованості та універсальності в різних контекстах.
Висновок
Стаття була покликана навчити вас про формати шрифтів і полегшити вам вибір. Ось описані найвідоміші формати шрифтів.
Деякі з них відомі як веб-формати, тому що вони створені, щоб краще відповідати цілям. Це такі шрифти:
TTF
WOFF
WOFF2
EOT
Але жоден із них не можна вважати кросплатформним, тому вам може знадобитися використовувати декілька з них одночасно.
Незалежно від того, який формат ви вибрали, ви можете маніпулювати ним за допомогою рішення
Aspose.Font. Це стане в нагоді, коли вам потрібно перетворити один формат шрифту в інший, наприклад TTF
у WOFF
і навпаки, або завантажити шрифт.
Дізнайтеся самі, щоб побачити, які переваги це рішення дає вам. І якщо вам потрібно перетворити один шрифт на шрифт іншого формату, ви також можете скористатися онлайн-веб-програмою. Aspose.Font має такий Конвертер шрифтів у своїй екосистемі.