Опубликован: 06.06.2006 | Уровень: для всех | Доступ: платный
Лекция 15:

Шрифты

Аннотация: Описываются механизмы спецификации и выбора шрифта, общие (родовые) семейства шрифтов, их характеристики и алгоритмы совпадения.
Ключевые слова: символ, абстрактный глиф, глиф, представление, шрифт, отображение, пользовательский агент, CSS1, CSS2, ПО, альтернативные, прогрессирующее, загрузка шрифтов, Web, БД, операционная система, css, italic, cursive, вес, базис, семейство шрифта, ICA, greeking, 'font-size', 'font-family', , , набор шрифтов, игнорируется, sans-serif, 'fantasy', моноширинный, 'font-style', inclination, font-variant, двухкамерный, 'text-transform', 'font-stretch', condenser, SEMI, , , , , абсолютные размеры, 'font-size-adjust', , аспект, значение, 'font', системные шрифты, лэйбл, системные шрифты, подсвойство, serif, ITC, bitstream, monotype, gothic, hebrew, monospace, совпадение имени шрифта , смысловое совпадение, информация, метрические параметры, отображение по частям (прогрессирующее), описание шрифта, данные шрифта, , локальный кэш, синтез шрифта, 'font-family (дескриптор)', 'font-style' (Дескриптор), 'font-variant' (дескриптор), 'font-weight' (дескриптор), 'font-stretch' (дескриптор), 'font-size' (дескриптор), 'unicode-range' (дескриптор), , кодовая позиция, 'unicode-range', syllable, 'units-per-em' (дескриптор), , opentype, EOT, intellifont, full font name, полное имя шрифта, 'panose-1' (дескриптор), 'panose-1', 'stemv' (дескриптор), 'stemh' (дескриптор), 'slope'(дескриптор), 'cap-height', 'x-height' (дескриптор), 'ascent', 'descent' , 'bbox', 'widths' (дескриптор), лигатуры, 'definition-src', ресурс определения шрифта, 'baseline', 'centerline', ascent, descent, 'mathline' (дескриптор), 'topline' (дескриптор), VRML, CGMS, metafile, vector format, 3DMF, em square, таблица кодировки шрифта, вектор кодирования, ISO10646, шрифт однокамерный, Panose-1, алгоритм, ICE

Введение

Если текст документа отображается визуально, символы (абстрактные информационные элементы) обязаны отображаться абстрактными глифами. Один или более символов могут изображаться одним или более абстрактными глифами в доступном контекстно-зависимом стиле.

Глиф - это фактическое художественное представление абстрактного глифа в некоторых типографских стилях в векторной или растровой форме, которое может быть прорисовано на экране или на бумаге.

Шрифт - это набор глифов, соблюдающих один базовый мотив в соответствии с дизайном, размером, внешним видом и другими атрибутами, ассоциированными со всем набором, и отображение из символов в абстрактные глифы.

Визуальный пользовательский агент (ПА) обязан рассматривать следующие вопросы, прежде чем отображать символы:

  • Имеется ли, прямо или наследуемо, шрифт, специфицированный для данного символа?
  • Доступен ли этот шрифт для ПА?
  • Если это так, какой глиф(ы) отображает этот символ или последовательность символов?
  • Если нет, что нужно сделать? Подставлять ли другой шрифт? Может ли шрифт быть синтезирован? Может ли он быть получен из Web?

И в CSS1, и в CSS2 авторы специфицируют характеристики шрифта в серии свойств.

То, как ПА обрабатывают свойства, если нет совпадения шрифта на стороне клиента, было расширено в CSS2 по сравнению с CSS1. В CSS1 принималось, что все шрифты представлены в клиентской системе и идентифицируются исключительно по имени. Альтернативные шрифты могли быть специфицированы через свойства, но в то же время у ПА не было способа предложить пользователю какие-либо другие шрифты (даже стилистически подобные шрифты, которые были доступны ПА), кроме общих шрифтов по умолчанию.

В CSS2 всё это изменилось, и теперь появилось больше свободы:

  • для авторов таблиц стилей: описывать необходимые шрифты ;
  • для пользовательских агентов: в выборе шрифтов, если затребованный авторами шрифт непосредственно не доступен.

CSS2 улучшает подбор шрифтов на стороне клиента, делает возможным синтезирование шрифта и прогрессирующее отображение, а также загрузку шрифтов из Web. Это улучшает возможности 'WebFonts'.

В шрифтовой модели CSS2, как и в CSS1, каждый ПА имеет в своём распоряжении базу данных (БД) шрифтов. CSS1 ссылалось на эту БД, но не предоставляло детальной информации о том, что в БД находится. CSS2 определяет информацию в этой БД и позволяет авторам таблиц стилей работать в ней. При запросе на отображение символа определённого шрифта, ПА сначала идентифицирует тот шрифт БД, который "наиболее соответствует" специфицированному шрифту (в соответствии с алгоритмом совпадения шрифтов). После идентификации шрифта, ПА запрашивает данные шрифта локально или из Web и может вывести символ с использованием соответствующих глифов.

В соответствии с этой моделью мы организовали данную спецификацию по двум разделам. Первый касается механизма спецификации шрифта, посредством которого авторы специфицируют, какой шрифт они хотели бы использовать. Второй касается механизма выбора шрифта, посредством которого клиентский ПА идентифицирует и загружает шрифт, наиболее соответствующий спецификации автора.

То, как ПА конструирует базу шрифтов, находится вне поля зрения данной спецификации, поскольку реализация БД зависит от таких факторов, как операционная система, система окон и клиент.

Наталья Алмаева
Наталья Алмаева
Россия
Светлана Казьмина
Светлана Казьмина
Россия, Волгодонск