Форматы шрифтов | 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 отлично поддерживают стандарт кодировки символов Unicode, что позволяет им представлять широкий спектр международных символов и алфавитов. Это делает эти шрифты подходящими для рендеринга многоязычного текста. Шрифты формата TrueType могут включать до 65 000 глифов, закодированных в стандарте Unicode. Но на самом деле большинство шрифтов имеют гораздо более скромные наборы глифов. Чтобы узнать больше о наборах глифов и кодировании глифов, прочтите эту статью о глифах.
Шрифт в формате TrueType представляет собой один файл с расширением .ttf. В Mac OS это файл-чемодан с ресурсом SFNT. Начиная с Mac OS X, операционные системы имеют встроенный процессор шрифтов, который также поддерживает файлы шрифтов TTF. Таким образом, файл с расширением .ttf можно использовать на обеих платформах.
Шрифты формата TrueType могут располагаться в одном файле как коллекция шрифтов. Такой файл будет иметь расширение .ttc.
Эти шрифты можно встраивать в документы, что позволяет единообразно отображать их в разных системах и устройствах. Вы можете встроить их как полные шрифты (с возможностью редактирования и извлечения) или как подмножества шрифтов (содержащие только символы, используемые в документе).
Формат шрифта OpenType
Шрифт OpenType или OTF был создан на основе шрифта TrueType, из которого он взял базовую структуру. К этому были добавлены дополнительные конструкции данных для упорядочения типографского поведения. Этот формат известен как сочетание шрифтов TrueType и Postscript. Поскольку он действительно гибок, он поддерживается большинством операционных систем и устройств.
OTF
, TTF
и Type1
обрабатываются в Windows и Macintosh одинаково, поэтому при рендеринге текста не возникает ошибок и проблем. Они также полностью масштабируются без потери качества.
Расширенные данные, включенные в файлы шрифтов OTF.
OpenType технически представляет собой комбинацию векторных и других данных, объединенных в группу таблиц. В такие таблицы включаются следующие данные:
- Название – содержит общую информацию о шрифте, такую как имя шрифта, версия, модификация и т. д.
- CMAP — таблица, в которой фиксируются отношения между символами и глифами.
- Таблица названий – включает имя шрифта, название семейства шрифтов и тип шрифта.
- Другие таблицы с векторными глифами. – Расширенные типографские таблицы – содержат необходимые данные для поддержки расширенных типографских функций.
- Растровые глифы — в эту таблицу включены данные для растровых шрифтов.
- Таблица ЭЦП - имеет электронную подпись дизайнера.
Даже несмотря на все упомянутые преимущества, шрифты OTF, возможно, не лучший вариант для веб-проектов. Большинство, но не все браузеры их поддерживают. Если большая часть вашей аудитории использует браузер, который не поддерживает OTF, вам лучше преобразовать его в один из веб-форматов.
Преимущества OTF:
- OpenType поддерживает Юникод; его глифы могут включать более 65 000 символов, а также все восточные символы, а также некоторые китайские и японские символы. Вот почему этот формат предпочтителен при работе с многоязычными средами и программным обеспечением.
- Шрифты
OTF
легко сжимаются, поэтому файлы шрифтов меньшего размера легче интегрировать в другие файлы, что важно при работе с файлами PDF или веб-страницами. OTF
может содержать широкий спектр специальных символов, таких как лигатуры, исторические и математические символы и многое другое.- Шрифты этого формата также могут содержать несколько оптических размеров шрифта одного семейства шрифтов. Шрифты разных размеров основаны на разных наборах векторных контуров. Это улучшает читаемость и возможность отображения символов небольшого размера.
- Улучшенный кернинг: символы с формой одного типа (например, o,c,e) могут быть кернингованы аналогичным способом. При этом таблица кернинга становится меньше и пар кернинга становится больше.
OTF против TTF
Довольно частый вопрос звучит так: «Что лучше OTF
или TTF
?». Поскольку «OTF» — это расширенный шрифт, основанный на «TrueType», с расширенными функциями для поддержки значительно улучшенной типографики, похоже, что это лучший вариант для выбора. На самом деле не так уж много пользователей нуждаются и используют эти функции, поэтому в большинстве случаев не имеет значения, какой из двух форматов выбрать.
Формат Web Open Font
«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 browser, Chrome для Android, Firefox для Android, Opera Mobile. |
Macintosh | Mozilla Firefox, Opera, Google Chrome, Safari. |
iOS | Google Chrome, iOS Safari. |
Формат Web Open Font 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
Формат «Встроенный OpenType» или «EOT». Это компактный формат шрифтов OpenType, встроенный в веб-страницы. Формат разработан Microsoft. Формат имеет следующие особенности:
- Благодаря использованию сжатия LZ и включению в шрифт только необходимых символов файлы OpenType получаются компактными.
- Простота встраивания шрифтов в веб-страницы может привести к неконтролируемому распространению шрифтов, защищенных авторским правом. Формат
EOT
имеет функции, предотвращающие подобные нарушения. - Поскольку шрифты
EOT
содержат только часть количества символов, чем оригинальный шрифт, цена копии шрифта меньше. - Еще одна особенность шрифта заключается в том, что в случае сбоя шрифта
EOT
будет использован другой доступный шрифт. Таким образом, страница всегда будет читабельна.
Недостаток шрифта в том, что он является проприетарным и поддерживается только Internet Explorer.
Формат шрифта Type 1
Формат «Type 1» появился на рынке вместе с языком программирования PostScript в 1984 году. По этой причине этот формат также называют «Постскриптум 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 состоит из файла чемодана и файла принтера. Если у вас один шрифт, у вас может быть один файл чемодана и четыре файла принтера (для стилей «обычный», «жирный», «курсив» и «жирный курсив»). Или вы можете получить восемь файлов: по одному чемодану для каждого стиля шрифта плюс четыре файла принтера.
Формат Type 1
имеет следующие недостатки:
- Наборы символов ограничены 256 символами.
- Шрифты этого формата не являются кроссплатформенными.
- Шрифты «Type 1» обычно состоят из двух отдельных файлов: файла структуры шрифта (с расширением «.pfb») и файла показателей шрифта (с расширением «.afm»). Оба файла должны быть установлены в системе, чтобы шрифт был доступен приложениям.
- Формат очень старый и не будет поддерживаться Adobe к 2023 году. Некоторые программы уже перестали его поддерживать.
Компактный формат шрифта
«Компактный формат шрифта» или «CFF» также известен как формат шрифта «Тип 2» или формат шрифта «CFF/Тип 2». Говорят, что CFF — это не совсем формат шрифта. Это способ сжатия других форматов шрифтов, например «Type 1».
Он обеспечивает значительную экономию места, поскольку использует механизм подпрограмм для определения повторно используемых частей программ шрифтов, уменьшая общий размер файла шрифта. Подпрограммы – это фрагменты кода, которые можно вызывать несколько раз, что повышает эффективность представления шрифтов.
Принцип работы CFF заключается в том, что он работает как контейнер, объединяющий несколько шрифтов как единое целое. Этот модуль называется FontSet. В этих шрифтах также используется кодировка Charstrings типа 2 для определения контуров отдельных глифов, которая состоит из инструкций, описывающих, как построить каждую форму глифа с помощью кривых и линий.
Подобно шрифтам TrueType, шрифты CFF также используют контуры для определения формы глифов. Однако контуры CFF описываются с использованием кубических кривых Безье PostScript. Кроме того, они могут включать подсказки для улучшения рендеринга глифов при низких разрешениях.
Подобно форматам Type 1 и TrueType, CFF также использует подсказки. Он использует те же методы для представления подсказок, что и «Type 1», но их проще и понятнее писать в коде.
По сравнению с Type 1, CFF получил:
- Операторы конструкций (hstem3, flex, замены подсказок, счетчики), удалены некоторые ненужные операторы.
- Меньший размер кода.
- Новые функции, такие как наклонный изгиб, дополнительные арифметические операции и т. д.
Векторные и растровые шрифты
Растровые или растровые шрифты относятся к определенному типу формата шрифта, основанному на сетке отдельных пикселей. Эти шрифты представляют каждый символ как набор пикселей, расположенных в сетке.
Контурные или векторные шрифты – это тип формата шрифта, который представляет символы с помощью математических кривых и линий.
Растровые шрифты и контурные шрифты — это два разных подхода к представлению и рендерингу шрифтов. Вот сравнение двух форматов шрифтов:
Характеристика | Растр | Вектор |
---|---|---|
Представление | Создано из сетки пикселей, где каждый символ определяется определенным расположением пикселей. | Используйте математические кривые и векторы для определения форм символов. Каждый символ определяется серией кривых, линий и точек. |
Зависимость от разрешения | Зависят от разрешения, то есть они разработаны для определенного размера, поэтому при увеличении могут выглядеть пикселизированными или неровными. | Не зависят от разрешения, что позволяет им плавно масштабироваться до любого размера без потери качества. |
Редактирование | Изменение отдельных пикселей может быть утомительным и может привести к искажению. | Дизайнеры могут манипулировать кривыми и точками, определяющими символы, с помощью программного обеспечения для редактирования векторов. |
Размер файла | Имеют меньший размер файла, поскольку хранят информацию попиксельно. | Имеют больший размер файла из-за сложных векторных данных, которые они хранят. |
Поддержка языков | Может иметь ограниченную поддержку языков. | Может поддерживать широкий спектр языков и символов. |
Подсказки | Не требуют подсказок. | Могут извлечь пользу из подсказок для улучшения читаемости. |
Параметры стиля | Имеют ограниченные параметры стиля, такие как полужирный или курсив, поскольку они определяются попиксельно. | Предлагают больше параметров стиля, которые можно применять программно или через таблицы стилей шрифтов. |
Таким образом, растровые шрифты основаны на пикселях, зависят от разрешения и имеют ограниченные возможности масштабирования и стиля по сравнению с контурными шрифтами, в которых используются математические кривые, не зависят от разрешения, предлагают большую гибкость в редактировании и стилизации и могут поддерживать различные языки. Контурные шрифты сегодня широко используются благодаря их масштабируемости и универсальности в разных контекстах.
Заключение
Целью статьи было ознакомить вас с форматами шрифтов и облегчить вам выбор. Здесь описаны наиболее известные форматы шрифтов. Некоторые из них известны как веб-форматы, поскольку они лучше подходят для конкретных целей. Эти шрифты:
TTF
WOFF
WOFF2
ЕОТ
Но ни один из них нельзя считать кроссплатформенным, поэтому вам может потребоваться использовать несколько из них одновременно.
Независимо от того, какой формат вы выбрали, вы можете манипулировать им с помощью решения Aspose.Font. Это удобно, когда вам нужно преобразовать один формат шрифта в другой, например «TTF» в «WOFF» и наоборот, или загрузить шрифт.
Изучите это сами, чтобы увидеть, какие преимущества дает вам это решение. А если вам необходимо преобразовать один шрифт в шрифт другого формата, вы также можете использовать онлайн-веб-приложение. Aspose.Font имеет такой Font Converter в своей экосистеме.