Шрифт Unicode — это компьютерный шрифт , который сопоставляет глифы с кодовыми точками , определенными в стандарте Unicode . [1] Подавляющее большинство современных компьютерных шрифтов используют сопоставления Unicode, даже те шрифты, которые включают только глифы для одной системы письма или даже поддерживают только базовый латинский алфавит . Шрифты, которые поддерживают широкий спектр сценариев Юникода и символов Юникода , иногда называют «шрифтами пан-Юникода», хотя максимальное количество глифов, которые можно определить в шрифте TrueType , ограничено 65 535, это невозможно для один шрифт для предоставления отдельных глифов для всех определенных символов Юникода (149 813 символов в Юникоде 15.1). В этой статье перечислены некоторые широко используемые шрифты Unicode (поставляемые вместе с операционной системой или созданные известной коммерческой компанией по производству шрифтов), которые поддерживают сравнительно большое количество и широкий диапазон символов Unicode.
Стандарт Unicode не определяет и не создает какой-либо шрифт ( гарнитуру ), набор графических фигур, называемых глифами. Скорее, он определяет абстрактные символы как определенное число (известное как кодовая точка ), а также определяет необходимые изменения формы в зависимости от контекста, в котором используется глиф (например, объединение символов , заранее составленных символов и буквенно - диакритических комбинаций). Выбор шрифта, который определяет, как абстрактные символы из универсального набора кодированных символов (UCS) преобразуются в растровый или векторный вывод, который затем можно просмотреть на экране или распечатать, остается за пользователем. Если выбран шрифт, который не содержит глифа для кодовой точки, используемой в документе, он обычно отображает вопросительный знак, рамку или какой-либо другой заменяющий символ .
В компьютерных шрифтах используются различные методы отображения символов или глифов. Растровый шрифт содержит сетку точек, называемую пикселями, образующую изображение каждого глифа каждой грани и размера. В контурных шрифтах (также известных как векторные шрифты) для описания каждого глифа используются инструкции по рисованию или математические формулы. Штриховые шрифты используют серию заданных линий (для границы глифа) и дополнительную информацию для определения профиля или размера и формы линии в определенной грани и размере, которые вместе описывают внешний вид глифа.
Шрифты также включают встроенные специальные орфографические правила для вывода определенных комбинаций форм букв (альтернативных символов для одной и той же буквы) и их объединения в специальные формы лигатур (смешанные символы). Операционные системы , веб-браузеры ( пользовательский агент ) и другое программное обеспечение, широко использующее типографику, используют шрифт для отображения текста на экране или печатных носителях и могут быть запрограммированы на использование этих встроенных правил. В качестве альтернативы они могут использовать внешние технологии формирования сценариев (технологию рендеринга или механизм «умных шрифтов»), а также их можно запрограммировать на использование либо большого шрифта Unicode, либо использования нескольких разных шрифтов для разных символов или языков.
Ни один «шрифт Unicode» не включает в себя все символы, определенные в текущей версии стандарта ISO 10646 (Unicode), поскольку к нему постоянно добавляется все больше и больше языков и символов, а общие форматы шрифтов не могут содержать более 65 535 глифов (около половины количество символов, закодированных в Юникоде). В результате разработчики и производители шрифтов включают новые символы в новые версии или версии шрифта или в отдельные вспомогательные шрифты, предназначенные специально для определенных языков.
UCS имеет более 1,1 миллиона кодовых точек, но только первые 65 536 (Плоскость 0: Базовая многоязычная плоскость , или BMP) вошли в общее использование до 2000 года.
Первыми шрифтами Unicode (с очень большими наборами символов и поддержкой множества блоков Unicode ) были Lucida Sans Unicode (выпущенный в марте 1993 г.), шрифт Unihan (1993 г.) и Everson Mono (1995 г.).
В Юникоде существуют типографские неоднозначности, поэтому некоторые из унифицированных символов хань (которые встречаются в китайском, японском и корейском языках) будут типографически различаться в разных регионах. Например, точка Юникода U+9AA8 骨 CJK UNIFIED IDEOGRAPH-9AA8 типографически отличается на упрощенном и традиционном китайском языке. Это имеет значение для идеи о том, что один и тот же шрифт может удовлетворить потребности всех регионов. [2] Конструкция Unicode гарантирует, что такие различия не создают семантическую двусмысленность, но использование неправильных форм часто считается визуально неудобным или эстетически неуместным для читателей, являющихся носителями восточноазиатских языков.
Unicode теперь является стандартной кодировкой для многих новых стандартов и протоколов и встроен в архитектуру операционных систем ( Microsoft Windows , Apple Mac OS и многих версий Unix и Linux ), языков программирования ( Ada , Perl , Python , Java , Common LISP , APL ) и библиотеки (IBM International Components for Unicode (ICU), а также механизмы рендеринга Pango , Graphite , Scribe , Uniscribe и ATSUI ), форматы шрифтов ( TrueType и OpenType ) и так далее. Многие другие стандарты также обновляются, чтобы стать совместимыми с Unicode.
Вот подборка некоторых служебных программ , которые могут идентифицировать символы, присутствующие в файле шрифта:
Из множества доступных шрифтов Unicode перечисленные ниже наиболее часто используются во всем мире на основных компьютерных платформах .
Ниже указано количество символов, включенных в вышеуказанную версию шрифтов для различных блоков Юникода . Базовая латиница (128: 0000–007F ) означает, что в диапазоне, называемом «Базовая латиница», имеется 128 назначенных кодов, пронумерованных от 0 до 7F . Затем в ячейках отображается количество тех кодов, которые покрыты каждым шрифтом. Перечисленные блоки Юникода действительны для версии Юникода 8.0 .
Перечисленные блоки Юникода действительны для версии Юникода 8.0 .
Перечисленные блоки Юникода действительны для версии Юникода 8.0 .
Перечисленные блоки Юникода действительны для версии Юникода 8.0 .