Введение
Цифровое описание технологии шрифта типографского шрифта.
font technology
Компьютерный шрифт реализуется в виде цифрового файла данных, содержащего набор графически связанных глифов. Компьютерный шрифт проектируется и создается с помощью редактора шрифтов. Компьютерный шрифт, специально разработанный для компьютерного экрана, а не для печати, называется экранным шрифтом. В терминологии традиционного набора подвижным металлом шрифт – это набор литер определенного гарнитуры, размера, ширины, начертания, наклона и т. п. (например, Gill Sans Bold 12pt или Century Expanded 14pt), а гарнитура – это совокупность связанных шрифтов в различных стилях и размерах (например, все варианты Gill Sans). В HTML, CSS и смежных технологиях атрибут семейства шрифтов соответствует цифровому эквиваленту гарнитуры. С 1990-х годов многие люди вне полиграфической отрасли используют слово «шрифт» как синоним слова «гарнитура». Существует три основных типа компьютерных файлов данных шрифтов: растровые шрифты состоят из матрицы точек или пикселей, представляющих изображение каждого глифа в каждом размере и начертании. Векторные шрифты (включая, и иногда используемые как синоним для шрифтов контуров) используют кривые Безье, инструкции по рисованию и математические формулы для описания каждого глифа, что позволяет масштабировать контуры символов до любого размера. Шрифты, основанные на штрихах, используют серию заданных линий и дополнительную информацию для определения размера и формы линии в определенной гарнитуре, что в совокупности определяет внешний вид глифа. Растровые шрифты быстрее и проще создавать в компьютерном коде, чем другие типы шрифтов, но они не масштабируемы: для каждого размера требуется отдельный растровый шрифт. Шрифты контуров и штрихов можно изменять в размерах в пределах одного шрифта, заменяя различные параметры компонентов каждого глифа, но их сложнее отображать на экране или печатать, чем растровые шрифты, поскольку для отображения растрового изображения на экране и при печати требуется дополнительный компьютерный код. Хотя все типы шрифтов все еще используются, большинство шрифтов, применяемых на компьютерах сегодня, – это шрифты контуров. Шрифты могут быть моноширинными (то есть каждый символ занимает постоянное расстояние от предыдущего при рисовании) или пропорциональными (каждый символ имеет свою собственную ширину). Однако, конкретное приложение для работы со шрифтами может влиять на межсимвольный интервал, особенно при выравнивании текста.
Bitmap fonts consist of a matrix of dots or pixels representing the image of each glyph in each face and size. Vector fonts (including, and sometimes used as a synonym for, outline fonts) use Bézier curves, drawing instructions and mathematical formulae to describe each glyph, which make the character outlines scalable to any size. Stroke fonts use a series of specified lines and additional information to define the size and shape of the line in a specific typeface, which together determines the appearance of the glyph. Bitmap fonts are faster and easier to create in computer code than other font types, but they are not scalable: a bitmap font requires a separate font for each size. Outline and stroke fonts can be resized in a single font by substituting different measurements for components of each glyph, but they are more complicated to render on screen or in print than bitmap fonts because they require additional computer code to render the bitmaps to display on screen and in print. Although all font types are still in use, most fonts used on computers today are outline fonts. Fonts can be monospaced (i. e. every character is plotted a constant distance from the previous character that it is next to while drawing) or proportional (each character has its own width). However, the particular font handling application can affect the spacing, particularly when justifying text.
Монохромные шрифты по сравнению с шрифтами с оттенками серого
Цифровые растровые шрифты (и окончательный рендеринг векторных шрифтов) могут использовать монохромное изображение или оттенки серого. Последнее обычно выполняется с применением сглаживания. При отображении текста операционная система, как правило, корректно интерпретирует "оттенки серого" как промежуточные цвета между цветом шрифта и цветом фона. Однако, если текст представлен в виде изображения с прозрачным фоном, для "оттенков серого" требуется формат изображения, поддерживающий частичную прозрачность.
Масштабирование
Шрифты, растровые изображениями, лучше всего выглядят в своем исходном размере в пикселях. Некоторые системы, использующие растровые шрифты, могут алгоритмически создавать различные варианты шрифтов. Например, оригинальный компьютер Apple Macintosh мог создавать полужирный шрифт, расширяя вертикальные штрихи, и курсив, сдвигая изображение. При использовании размеров, отличных от исходного, многие системы рендеринга текста выполняют передискретизацию ближайшим соседом, что приводит к появлению грубых, зазубренных краев. Более продвинутые системы применяют сглаживание (антиалиасинг) к растровым шрифтам, размер которых не соответствует запрошенному приложению. Этот метод хорошо работает для уменьшения шрифта, но менее эффективен при увеличении, поскольку он имеет тенденцию размывать края. Некоторые графические системы, использующие растровые шрифты, особенно в эмуляторах, применяют нелинейные алгоритмы передискретизации, чувствительные к кривым, такие как 2xSaI или hq3x, к шрифтам и другим растровым изображениям. Это позволяет избежать размытия шрифта, вводя при умеренном увеличении размера небольшие, незначительные искажения. Разница между растровыми и векторными шрифтами аналогична разнице между растровыми и векторными форматами файлов изображений. Растровые шрифты похожи на форматы изображений, такие как Windows Bitmap (.bmp), Portable Network Graphics (.png) и Tagged Image Format (.tif или tiff), которые хранят данные изображения в виде сетки пикселей, иногда с использованием сжатия. Векторные форматы изображений, такие как Windows Metafile format (.wmf) и Scalable Vector Graphics format (.svg), хранят инструкции в виде линий и кривых, описывающие, как нарисовать изображение, а не само изображение. Программа трассировки может обвести контур растрового шрифта высокого разрешения и создать начальный контур, который дизайнер шрифтов использует для создания векторного шрифта, пригодного для использования в таких системах, как PostScript или TrueType. Векторные шрифты легко масштабируются без зазубрин или размытия.
Шрифты контурных
Контурные шрифты или векторные шрифты — это коллекции векторных изображений, состоящие из линий и кривых, определяющих границы глифов. Ранние векторные шрифты использовались векторными мониторами и векторными плоттерами, применявшими собственные внутренние шрифты, обычно с тонкими одиночными штрихами вместо толстых очертаний глифов. Развитие настольных издательских систем потребовало общего стандарта для интеграции графического пользовательского интерфейса первых компьютеров Macintosh и лазерных принтеров. Термин, описывающий эту технологию интеграции, был WYSIWYG (What You See Is What You Get). Этот общий стандарт был (и остаётся) Adobe PostScript. Примеры контурных шрифтов включают: шрифты PostScript Type 1 и Type 3, TrueType, OpenType и Compugraphic. Основное преимущество контурных шрифтов заключается в том, что, в отличие от растровых шрифтов, они представляют собой набор линий и кривых, а не пикселей; их можно масштабировать без пикселизации. Поэтому символы контурных шрифтов можно масштабировать до любого размера и преобразовывать другими способами с более привлекательными результатами, чем растровые шрифты, но это требует значительно больше вычислительных ресурсов и может приводить к нежелательному рендерингу в зависимости от шрифта, программного обеспечения для рендеринга и размера вывода. Тем не менее, контурные шрифты можно заранее преобразовать в растровые, если это необходимо. Обратное преобразование значительно сложнее, поскольку для растровых шрифтов требуется эвристический алгоритм, чтобы угадать и аппроксимировать соответствующие кривые, если пиксели не образуют прямую линию. Контурные шрифты имеют существенную проблему: кривые Безье, используемые в них, не могут быть точно отображены на растровом дисплее (например, на большинстве компьютерных мониторов и принтеров), и их рендеринг может изменять форму в зависимости от желаемого размера и положения. Для уменьшения визуального воздействия этой проблемы используются такие меры, как намеки (hinting) шрифтов, что требует сложного программного обеспечения, которое трудно реализовать правильно. Многие современные настольные компьютерные системы включают такое программное обеспечение, но оно потребляет значительно больше вычислительной мощности, чем растровые шрифты, и могут возникать незначительные дефекты рендеринга, особенно при малых размерах шрифта. Несмотря на это, они часто используются, поскольку многие считают возможность свободного масштабирования шрифтов без пикселизации достаточно важной, чтобы оправдать недостатки и повышенную вычислительную сложность.
Шрифты типа 1 и 3
Шрифты Type 1 и Type 3 были разработаны компанией Adobe для профессиональной цифровой верстки. Глифы в этих шрифтах представляют собой контурные шрифты, описанные кубическими кривыми Безье, с использованием языка PostScript. Шрифты Type 1 были ограничены подмножеством языка PostScript и использовали систему намеков (hinting) Adobe, которая ранее стоила очень дорого. Type 3 позволяли использовать PostScript без ограничений, но не содержали информации о намеках, что могло приводить к видимым артефактам при отображении на устройствах с низким разрешением (например, на экранах компьютеров и матричных принтерах).
Шрифты TrueType
TrueType — это система шрифтов, первоначально разработанная компанией Apple Inc. Она была создана для замены шрифтов Type 1, которые многие считали слишком дорогими. В отличие от шрифтов Type 1, глифы TrueType описываются квадратичными кривыми Безье. В настоящее время она очень популярна, и существуют реализации для всех основных операционных систем.
Шрифты OpenType
OpenType — это интеллектуальная система шрифтов, разработанная компаниями Adobe и Microsoft. Шрифты OpenType содержат контуры в формате TrueType или CFF, а также широкий спектр метаданных.
Шрифты на основе штрихов
Контур глифа определяется вершинами отдельных траекторий штрихов и соответствующими профилями штрихов. Траектории штрихов – это своего рода топологический скелет глифа. Преимущества шрифтов, основанных на штрихах, перед контурными шрифтами включают уменьшение количества вершин, необходимых для определения глифа, возможность использования одних и тех же вершин для создания шрифта с другим начертанием, шириной глифа или засечками, используя различные правила для штрихов, и связанную с этим экономию размера файла. Для разработчика шрифтов редактирование глифа по штрихам проще и менее подвержено ошибкам, чем редактирование контуров. Система, основанная на штрихах, также позволяет масштабировать глифы по высоте или ширине, не изменяя толщину штрихов базовых глифов. Шрифты, основанные на штрихах, активно продвигаются на рынках Восточной Азии для использования во встроенных устройствах, но технология не ограничивается иероглифами. Коммерческие разработчики, такие как Agfa Monotype и Type Solutions, Inc. (принадлежащая Bitstream Inc.), независимо разработали типы шрифтов и движки шрифтов, основанные на штрихах. Хотя Monotype и Bitstream заявляют о значительной экономии места при использовании шрифтов, основанных на штрихах, для восточноазиатских наборов символов, большая часть экономии достигается за счет создания композитных глифов, которые являются частью спецификации TrueType и не требуют подхода, основанного на штрихах.
Форматы шрифтов на основе штрихов
Метафонт использует иной способ описания глифов. Как и TrueType, это векторная система описания шрифтов. Он рисует глифы, используя штрихи, создаваемые движением многоугольного или эллиптического пера, аппроксимированного многоугольником, по траектории, состоящей из кубических составных кривых Безье и прямых отрезков, или путем заливки таких траекторий. Хотя при отрисовке траектории огибающая штриха фактически не генерируется, этот метод не приводит к потере точности или разрешения. Метод, используемый Метафонтом, математически сложнее, поскольку параллельные кривые Безье могут быть алгебраическими кривыми 10-го порядка. В 2004 году DynaComware разработала DigiType – формат шрифта, основанный на штрихах. В 2006 году создатели Saffron Type System представили формат для шрифтов, основанных на штрихах, под названием Stylized Stroke Fonts (SSFs), с целью сочетания выразительности традиционных шрифтов, основанных на контурах, и небольшого размера шрифтов, основанных на штрихах с фиксированной шириной (USFs). AutoCAD использует шрифты SHX/SHP.
Подставка
Обычный шрифт может содержать сотни или даже тысячи глифов, часто представляющих символы многих различных языков. Зачастую пользователям требуется лишь небольшое подмножество доступных глифов. Субсетинг — это процесс удаления ненужных глифов из файла шрифта, как правило, для уменьшения размера файла. Это особенно важно для веб-шрифтов, так как уменьшение размера файла часто приводит к сокращению времени загрузки страницы и нагрузки на сервер. В качестве альтернативы шрифты могут распространяться в отдельных файлах для разных регионов мира, однако с распространением формата OpenType это становится все менее распространенным.