Шрифт Unicode — это компьютерный шрифт , который сопоставляет глифы с кодовыми точками , определенными в стандарте Unicode . [1] Подавляющее большинство современных компьютерных шрифтов используют сопоставления Unicode, даже те шрифты, которые включают глифы только для одной системы письма или даже поддерживают только базовый латинский алфавит . Шрифты, которые поддерживают широкий спектр сценариев Unicode и символов Unicode , иногда называют «шрифтами pan-Unicode», хотя, поскольку максимальное количество глифов, которое может быть определено в шрифте TrueType , ограничено 65 535, невозможно, чтобы один шрифт предоставлял отдельные глифы для всех определенных символов Unicode (154 998 символов в Unicode 16.0). В этой статье перечислены некоторые широко используемые шрифты Unicode (поставляемые с операционной системой или производимые известной коммерческой компанией по производству шрифтов), которые поддерживают сравнительно большое количество и широкий диапазон символов Unicode.
Стандарт Unicode не определяет и не создает никаких шрифтов ( гарнитур ), набор графических фигур, называемых глифами, сам по себе. Вместо этого он определяет абстрактные символы как определенное число (известное как кодовая точка ), а также определяет требуемые изменения формы в зависимости от контекста, в котором используется глиф (например, комбинирование символов , предварительно составленные символы и комбинации букв и диакритических знаков ). Выбор шрифта, который управляет тем, как абстрактные символы в универсальном кодированном наборе символов (UCS) преобразуются в растровое изображение или векторный вывод, который затем можно просматривать на экране или распечатывать, остается за пользователем. Если выбран шрифт, который не содержит глифа для кодовой точки, используемой в документе, он обычно отображает вопросительный знак, квадрат или какой-либо другой заменяющий символ .
Компьютерные шрифты используют различные методы для отображения символов или глифов. Растровый шрифт содержит сетку точек, известных как пиксели, образующих изображение каждого глифа в каждом начертании и размере. Контурные шрифты (также известные как векторные шрифты) используют инструкции по рисованию или математические формулы для описания каждого глифа. Штриховые шрифты используют ряд указанных линий (для границы глифа) и дополнительную информацию для определения профиля или размера и формы линии в определенном начертании и размере, которые вместе описывают внешний вид глифа.
Шрифты также включают встроенные специальные орфографические правила для вывода определенных комбинаций буквенных форм (альтернативные символы для одной и той же буквы), которые могут быть объединены в специальные лигатурные формы (смешанные символы). Операционные системы , веб-браузеры ( пользовательский агент ) и другое программное обеспечение, которое широко использует типографику, используют шрифт для отображения текста на экране или печатных носителях и могут быть запрограммированы на использование этих встроенных правил. В качестве альтернативы они могут использовать внешние технологии формирования скриптов (технологию рендеринга или движок «умных шрифтов»), и их также можно запрограммировать на использование либо большого шрифта Unicode, либо нескольких разных шрифтов для разных символов или языков.
Ни один «шрифт Unicode» не включает все символы, определенные в текущей редакции стандарта ISO 10646 (Unicode), поскольку в него постоянно добавляются все новые и новые языки и символы, а распространенные форматы шрифтов не могут содержать более 65 535 глифов (около половины числа символов, закодированных в Unicode). В результате разработчики шрифтов и литейщики включают новые символы в более новые версии или редакции шрифта или в отдельные вспомогательные шрифты, предназначенные специально для определенных языков.
UCS имеет более 1,1 миллиона кодовых точек, но только первые 65 536 (плоскость 0: базовая многоязыковая плоскость , или BMP) вошли в общее использование до 2000 года.
Первыми шрифтами Unicode (с очень большими наборами символов и поддержкой множества блоков Unicode ) были Lucida Sans Unicode (выпущен в марте 1993 года), шрифт Unihan (1993) и Everson Mono (1995).
В Unicode есть типографские неоднозначности, так что некоторые из унифицированных символов Хань (встречающихся в китайском, японском и корейском языках) будут типографски отличаться в разных регионах. Например, точка Unicode 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 перечисленные ниже являются наиболее часто используемыми во всем мире на основных вычислительных платформах .
Ниже перечислены числа символов, включенных в вышеуказанную версию шрифтов для различных блоков Unicode . Базовая латиница (128: 0000–007F ) означает, что в диапазоне, называемом «Базовая латиница», есть 128 назначенных кодов, пронумерованных от 0 до 7F . Затем в ячейках отображается число тех кодов, которые покрываются каждым шрифтом. Перечисленные блоки Unicode действительны для версии Unicode 8.0 .
Перечисленные блоки Unicode действительны для версии Unicode 8.0 .
Перечисленные блоки Unicode действительны для версии Unicode 8.0 .
Перечисленные блоки Unicode действительны для версии Unicode 8.0 .