Глава 2.8. Шрифты2.8.1. ВведениеУже в стандарте CSS1 была заложена возможность использования различных шрифтов для отображения текста документа. При этом предполагалось, что необходимые шрифты установлены на компьютере-клиенте; если же их нет, то вместо них обозреватель должен был использовать собственные шрифты, близкие по характеристикам к требующимся. Стандарт CSS2 внес существенные изменения в эту концепцию с тем, чтобы авторы имели большую свободу в выборе шрифтов, а обозреватели в своих действиях, когда заданный автором шрифт непосредственно не доступен. В основе новой концепции лежит понятие загружаемых шрифтов, т. е. шрифтов, отсутствующих на компьютере-клиенте, но доступных для загрузки из Сети. В дополнение к этому CSS2 предусматривает наличие базы данных о шрифтах, содержащей их разнообразные характеристики и позволяющей по мере необходимости синтезировать недостающие шрифты на основе доступных обозревателю шрифтов. Ниже изложены все способы работы со шрифтами, предоставляемые CSS. При этом свойства, управляющие отображением шрифтов и унаследованные из CSS1, описаны в разделе 2.8.2, а новые методы доступа к загружаемым шрифтам, появившиеся в CSS2, описываются в разделе 2.8.3. 2.8.2. Задание свойств шрифтов2.8.2.1. Семейство шрифтов: свойство font-familyСинтаксис: font-family: [[<имя-семейства> | <родовое-имя>],]* [<имя-семейства> | <родовое-имя>] | inherit Начально: зависит от обозревателя Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: визуальные Поддержка: Соответствует стандарту (4.0+) Соответствует стандарту (4.0+) Свойство font-family задает список имен семейств шрифтов для отображения содержимого элемента. Этот список состоит из имен семейств шрифтов, разделенных запятыми. Имена семейств располагаются в порядке предпочтения. Например, следующее свойство font-family: Verdana, Arial, sans-serif; следует понимать так: "использовать шрифт Verdana; если его нет, то использовать шрифт Arial; если его нет, то использовать родовой шрифт sans-serif". Такой список необходим, поскольку мы заранее не знаем, какие именно шрифты установлены на компьютерах наших пользователей. Имя семейства шрифтов может быть задано двумя способами: <имя-семейства> Задает название семейства шрифтов. Если это название содержит пробелы, то оно должно быть заключено в кавычки или апострофы. <родовое-имя> Одно из следующих имен: serif, sans-serif, cursive, fantasy и monospace. См. раздел 2.8.2.2. Для достижения наибольшей совместимости рекомендуется задавать родовое имя шрифта последним в списке. В этом случае, если обозреватель не найдет на компьютере-клиенте ни одного из заданных шрифтов, он использует свой родовой шрифт с заданным именем. 2.8.2.2. Родовые имена шрифтовРодовые имена шрифтов были разработаны на тот наихудший случай, когда на компьютере-клиенте не установлен ни один из шрифтов, заданных автором. В этом случае обозреватель использует родовой шрифт, начертание которого напоминает авторский шрифт. Существует пять имен родовых шрифтов: serif (шрифт с засечками) Это пропорциональные шрифты с засечками на буквах. Типичные примеры: Times New Roman, Bodoni, Garamond. sans-serif (шрифт без засечек) Это пропорциональные шрифты без засечек на буквах. Типичные примеры: Arial, Verdana, Helvetica, Tahoma. cursive (каллиграфический шрифт) Это шрифты, стилизованные под рукописный текст, обычно с типичными для него соединениями между буквами. Типичный пример: Zapf-Chancery. fantasy (декоративный шрифт) Это шрифты декоративного характера. Типичный пример: Western. monospace (телетайпный шрифт) Это шрифты фиксированной ширины, напоминающие шрифт пишущей машинки. Типичные примеры: Courier New, Prestige, Everson Mono. То, какой именно конкретный шрифт используется в качестве реализации родового, зависит от обозревателя. 2.8.2.3. Стиль шрифта: свойство font-styleСинтаксис: font-style: normal | italic | oblique | inherit Начально: normal Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: визуальные Поддержка: Соответствует стандарту; oblique отображается как italic (4.0+) Соответствует стандарту; oblique не поддерживается (4.0+) Свойство font-style задает стиль шрифта для отображения содержимого элемента. Оно может иметь следующие значения:
Например, следующий фрагмент <P> <SPAN style="font-style: normal">Обычный шрифт. </SPAN> <SPAN style="font-style: italic">Курсивный шрифт. </SPAN> <SPAN style="font-style: oblique">Наклонный шрифт. </SPAN> </P> будет отображаться так: Обычный шрифт. Курсивный шрифт. Наклонный шрифт. 2.8.2.4. Вариант шрифта: свойство font-variantСинтаксис: font-variant: normal | small-caps | inherit Начально: normal Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: визуальные Поддержка: Соответствует стандарту (4.0+) Не поддерживается Свойство font-variant задает вариант шрифта для отображения содержимого элемента. Оно может принимать следующие значения:
Например, следующий фрагмент <P style="font-variant: small-caps">Малые прописные буквы.</P> будет отображаться так: Малые прописные буквы. О преобразовании текста в прописные буквы см. также описание свойства text-transform. 2.8.2.5. Жирность шрифта: свойство font-weightСинтаксис: font-weight: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit Начально: normal Применимо: ко всем элементам Наследуемо: да, наследуется вычисленное значение Проценты: не используются Устройства: визуальные Поддержка: Соответствует стандарту (4.0+) Соответствует стандарту (4.0+) Свойство font-weight задает жирность шрифта для отображения содержимого элемента. Оно может принимать следующие значения:
То, как именно числовые значения соответствуют реальной жирности шрифта, зависит от обозревателя. Например, следующий фрагмент <P> <SPAN style="font-weight: 100">100 </SPAN> <SPAN style="font-weight: 200">200 </SPAN> <SPAN style="font-weight: 300">300 </SPAN> <SPAN style="font-weight: 400">400 </SPAN> <SPAN style="font-weight: 500">500 </SPAN> <SPAN style="font-weight: 600">600 </SPAN> <SPAN style="font-weight: 700">700 </SPAN> <SPAN style="font-weight: 800">800 </SPAN> <SPAN style="font-weight: 900">900 </SPAN> </P> может отображаться так: 100 200 300 400 500 600 700 800 900 2.8.2.6. Выключка шрифта: свойство font-stretchСинтаксис: font-stretch: normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit Начально: normal Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Свойство font-stretch задает выключку шрифта, т. е. интервал между символами при отображении содержимого элемента. Оно может иметь следующие значения (в порядке увеличения выключки):
Кроме того, имеется возможность задавать относительную разрядку шрифта:
То, как именно эти значения соответствуют реальной выключке шрифта, зависит от обозревателя. Пример: <P><SPAN style="font-stretch: expanded">Разрядка моя </SPAN>(Л. И. Брежнев).</P> 2.8.2.7. Размер шрифта: свойство font-sizeСинтаксис: font-size: xx-small | x-small | small | medium | large | x-large | xx-large | larger | smaller | <размер> | <процент> | inherit Начально: medium Применимо: ко всем элементам Наследуемо: да, наследуется вычисленное значение Проценты: относительно размера отцовского шрифта Устройства: визуальные Поддержка: Соответствует стандарту (4.0+) Соответствует стандарту (4.0+) Свойство font-size задает размер шрифта для отображения содержимого элемента. Оно может задаваться несколькими способами: xx-small | x-small | small | medium | large | x-large | xx-large Задает абсолютный размер шрифта (от наименьшего к наибольшему). smaller | larger Задает размер шрифта относительно родительского шрифта (меньше или больше). <размер> Задает фиксированный размер. Отрицательные размеры недопустимы. <процент> Вычисляется относительно размера отцовского шрифта. Фактическое значение этого свойства может отличаться от вычисленного по двум причинам: если шрифт не имеет заданного размера или под воздействием свойства font-size-adjust. CSS2 рекомендует, чтобы последовательные значения абсолютных размеров шрифта отличались для экрана в 1.2 раза, однако это зависит от обозревателя. Пример отображения семи абсолютных размеров шрифтов: xx-small 2.8.2.8. Аспект шрифта: свойство font-size-adjustСинтаксис: font-size-adjust: none | <число> | inherit Начально: none Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Свойство font-size-adjust задает аспект шрифта. Поясним его назначение подробнее. В шрифтах, содержащих и строчные, и прописные буквы, субъективный внешний вид символа (т. е. то, насколько он кажется искаженным человеческому глазу) зависит от соотношения значения свойства font-size и величины x-height; в действительности, определяющим является их отношение, которое называется аспектом шрифта (aspect value) и равно font-size / x-height. Чем меньше аспект шрифта, тем скорее шрифт становится искаженным при уменьшении его размеров. Поэтому простое задание размера шрифта может приводить к неприятному для глаза отображению его символов. Допустим теперь, что свойство font-family содержит список из нескольких названий шрифтов. Ясно, что размеры шрифта для отображения данного элемента подбирались автором, исходя из того, что он будет отображаться первым шрифтом в списке. Если же этот шрифт отсутствует на компьютере-клиенте, то обозреватель использует второй шрифт из списка. Но аспект этого шрифта имеет иное значение, чем аспект первого и, в итоге, внешний вид отображаемого текста может быть искажен. Для того, чтобы уменьшить возможное искажение, необходимо пересчитать размер символов для второго шрифта с учетом изменения аспекта. Но для этого обозреватель должен знать аспект первого шрифта, который на его компьютере как раз и отсутствует! Именно для того, чтобы сообщить ему эту информацию, и было введено данное свойство, которое может иметь следующие значения: none Не корректировать размер шрифта. <число> Задает аспект шрифта, как описано выше. Рассмотрим следующий пример: P {font-family: Verdana, sans-serif; font-size: 14px; font-size-adjust: 0.58 } Шрифт Verdana имеет аспект 0.58, что и указано в значении свойства font-size-adjust. Если этот шрифт недоступен, то обозреватель использует родовой шрифт sans-serif. Допустим, что аспект этого шрифта равен 0.46. Тогда обозреватель пересчитает размер шрифта sans-serif по формуле 14px * (0.58 / 0.46) = 17.65px и будет отображать абзацы шрифтом с размером 18px (с учетом округления). 2.8.2.9. Свойства шрифта: свойство fontСинтаксис: font: [[<font-style> || <font-variant> || <font-weight>]? <font-size> [/ <line-height> ]? <font-family>] | caption | icon | menu | message-box | small-caption | status-bar | inherit Начально: не определено для сокрашений Применимо: ко всем элементам Наследуемо: да Проценты: применимы только в <font-size> и <line-height> Устройства: визуальные Поддержка: Соответствует стандарту (4.0+) Не поддерживается Свойство font является сокращением для свойств font-style, font-variant, font-weight, font-size, font-family и line-height. Оно позволяет задать все свойства шрифта одновременно. При этом сначала всем свойствам шрифта (включая font-stretch и font-size-adjust, хотя значения этих свойств данным свойством заданы быть не могут) присваиваются их начальные значения, а затем изменяются значения тех свойств, которые явно заданы в данном свойстве. Приведем несколько примеров: P { font: 12pt/14pt sans-serif } P { font: 80% sans-serif } P { font: x-large/110% "new century schoolbook", serif } P { font: bold italic large Georgia, serif; font-size-adjust: 1.16 } P { font: normal small-caps 120%/120% fantasy } P { font: oblique 12pt Helvetica, serif; font-stretch: condensed } Это свойство позволяет также указать, что необходимо использовать один из системных шрифтов; в этом случае задается только название системного шрифта, и никакие другие характеристики шрифта указывать больше нельзя. Существуют следующие названия системных шрифтов:
Пример отображения системных шрифтов: caption 2.8.3. Подбор и загрузка шрифтов2.8.3.1. Подбор шрифтаВ этом разделе полностью описан механизм CSS по работе со шрифтами, основанный на их подборе, синтезе на основе базы данных или загрузке из Веб-узлов. Существуют четыре разновидности реализации этого механизма:
Из четырех перечисленных схем в современных обозревателях реализованы две: первая и последняя. Первая схема была описана в предыдущем разделе, а последняя, связанная с загрузкой шрифтов из Сети, описывается здесь. 2.8.3.2. Директива @font-faceДиректива @font-face позволяет нам включать в свою таблицу стилей описания шрифтов. Она состоит из набора дескрипторов шрифта и их значений и имеет следующий вид: @font-face { дескриптор: значение; ... дескриптор: значение; } Дескрипторы шрифтов можно разбить на три группы:
Пример директивы @font-face: @font-face { font-family: comic; // имя шрифта для CSS src: url(http://www.fonts.com/comic.eot); // адрес файла для загрузки } Поддержка: Поддерживаются только дескрипторы font-family и src (5.0+) Не поддерживается 2.8.3.3. Дескрипторы свойств шрифтаЭта группа дескрипторов имеет те названия, что и соответствующие свойства CSS и могут иметь одно значение или несколько значений, разделенных запятыми. Если дескриптор не указан в директиве @font-face, то принимается его начальное значение. Синтаксис: font-family: [<имя-семейства> | <родовое-имя>] [,[<имя-семейства> | <родовое-имя>]]* Начально: зависит от обозревателя Устройства: визуальные Поддержка: Соответствует стандарту (5.0+) Не поддерживается Этот дескриптор задает список имен семейств шрифтов и принимает те же значения, что и свойство font-family. Синтаксис: font-style: all | [normal | italic | oblique][,[normal | italic | oblique]]* Начально: all Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает стиль шрифта и может принимать те же значения, что и свойство font-style. Единственное отличие состоит в том, что его значением может быть список стилей или значение all (все стили). Синтаксис: font-variant: [normal | small-caps][,[normal | small-caps]]* Начально: normal Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает вариант шрифта и может принимать те же значения, что и свойство font-variant. Единственное отличие состоит в том, что его значением может быть список вариантов. Синтаксис: font-weight: all | [normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900][,[normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900]]* Начально: all Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает жирность шрифта и может принимать те же значения, что и свойство font-weight, со следующими отличиями:
Синтаксис: font-stretch: all | [normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded][,[normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded]]* Начально: normal Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает выключку шрифта и может принимать те же значения, что и свойство font-stretch, со следующими отличиями:
Синтаксис: font-size: all | <размер> | [,<размер>]* Начально: all Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает размер шрифта и может принимать те же значения, что и свойство font-size, со следующими отличиями:
2.8.3.4. Дескриптор местоположения шрифтаСинтаксис: src: [<uri> [format(<строка> [,<строка>]*)] | <спецификация-шрифта>] [,<uri> [format(<строка> [,<строка>]*)] | <спецификация-шрифта>]* Начально: не определено Устройства: визуальные Поддержка: Поддерживается в виде src: url(URI), где URI указывает на шрифт формата Embedded OpenType (5.0+) Не поддерживается Этот дескриптор задает местоположение шрифта. Его значением является список ссылок на файлы данных шрифтов. Каждая из ссылок представляет собой либо URI внешнего шрифта, загружаемого из Веб-узла, либо спецификацию локального шрифта, установленного на компьютере-клиенте. Список содержит ссылки в порядке их приоритетов, т. е. сначала обозреватель пытается загрузить шрифт из первой ссылки, затем, если это не удалось, из второй и т. д. URI внешнего шрифта может сопровождаться подсказкой format(...), содержащей информацию о формате файла шрифта, для того, чтобы обозреватель мог игнорировать те шрифты, формат которых он не поддерживает. Спецификация CSS перечисляет следующие типичные форматы шрифтов:
Примеры ссылок на загружаемые шрифты: src: url(http://www.fonts.com/comic.eot); src: url("http://site/magda-extra.pfr") format("truedoc-pfr"); Ссылка на локальный шрифт задается спецификацией шрифта вида local(имя), где имя - это полное название шрифта в операционной системе (например, в Windows имя должно совпадать с названием шрифта в системном реестре). Пример ссылки на локальный шрифт: src: local("BT Century 751 No. 2 Semi Bold Italic"); Пример полного синтаксиса: src: local("T-26 Typeka Mix"), url("http://cgi-bin/bar?stuff") format("type-1", "opentype"); Последний пример содержит две ссылки. Сначала обозреватель попытается загрузить локальный шрифт "T-26 Typeka Mix", а затем, если он не найден, будет загружать шрифт с узла"http://cgi-bin/bar?stuff". В данном случае это сценарий сервера, который может генерировать искомый шрифт в двух форматах: Type 1 и OpenType. 2.8.3.5. Дескриптор диапазона символовСинтаксис: unicode-range: [<диапазон>][,<диапазон>]* Начально: U+0-7FFFFFFF Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает диапазон символов шрифта. Его значением является список диапазонов символов Unicode, которые имеются в данном шрифте. (См. перечень стандартных подмножеств Unicode.) <Диапазон> задается шестнадцатеричным числом, соответствующим коду символа в Unicode, с префиксом "U+". При этом знак вопроса "?" вместо шестнадцатеричной цифры означает, что она принимает любое значение (0 - F), например: unicode-range: U+20A7; // один символ (символ испанской песеты) unicode-range: U+215?; // диапазон от 2150 до 215F (символы простых дробей) unicode-range: U+00??; // диапазон от 0000 до 00FF (базовая латиница) unicode-range: U+4??; // диапазон от 0400 до 04FF (кириллица) Для задания диапазона используется также пара чисел, разделенных дефисом "-", например: unicode-range: U+4E00-9FFF; // диапазон от 4E00 до 9FFF (унифицированные иероглифы) В общем случае, значение данного дескриптора является списком таких диапазонов, охватывающим все символы, содержащиеся в данном шрифте, например: unicode-range: U+370-3FF, U+1F??; // современные греческие буквы (370-3FF) и // древнегреческие политонические буквы (1F00-1FFF) unicode-range: U+3000-303F, U+3100-312F, U+32??, U+33??, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F; // полный китайский шрифт 2.8.3.6. Дескриптор координатной системыСинтаксис: units-per-em: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает координатную систему метрики шрифта. Его значением является количество координатных единиц в стороне квадрата, который содержит наибольший символ шрифта (обычно это буква 'M', отсюда название em-квадрат). Это значение обычно определяется форматом шрифта. Типичные примеры его значений: 250 (Intellifont), 1000 (Type 1) и 2048 (TrueType, TrueType GX и OpenType). 2.8.3.7. Дескрипторы для подбора шрифтовЭта группа необязательных дескрипторов предназначена для подбора шрифта по его характеристикам. Синтаксис: panose-1: <целое> {10} Начально: 0 0 0 0 0 0 0 0 0 0 Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Это дескриптор чисел Panose-1. Его значением является десять целых чисел, разделенных пробелами. Panose-1 это стандартный механизм классификации и подбора шрифтов TrueType, пригодный для всех шрифтов, имеющих строчные и прописные буквы (латиница, кириллица, греческое письмо), но не позволяющий классифицировать другие системы письма (например, однорегистровые письменности, такие, как армянское, арабское или ивритское письмо, и иероглифические, такие, как китайское, корейское или японское письмо). Подробности см. в http://www.fonts.com/hp/panose/greybook . Синтаксис: stemv: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает ширину вертикального штриха (vertical stem width) символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: stemh: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает ширину горизонтального штриха (horizontal stem width) символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: slope: <число> Начально: 0 Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает угол наклона (vertical stroke angle) в градусах символов шрифта от вертикали против часовой стрелки (поэтому если символы наклонены вправо, то он отрицателен). Синтаксис: cap-height: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает высоту прописных букв шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: x-height: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает высоту строчных букв шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: ascent: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает максимальную высоту символов шрифта без учета диакритических знаков (maximum unaccented height). Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: descent: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает максимальную глубину символов шрифта без учета диакритических знаков (maximum unaccented depth). Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. 2.8.3.8. Дескрипторы для синтеза шрифтовЭта группа необязательных дескрипторов предназначена для синтеза шрифта и задает его дополнительные метрические характеристики. Синтаксис: widths: [<диапазон>]?[<число>]+[,[<диапазон>]?[<число>]+] Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает ширины символов шрифта. Его значением является список диапазонов символов, за каждым из которых следует одно или более значение ширины. Если этот дескриптор присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Если диапазон опущен, то он предполагается равным U+0-7FFFFFFF, т. е. распространяется на все символы шрифта. Если количество заданных ширин меньше, чем символов в диапазоне, то последняя из ширин применяется ко всем символам, чья ширина не указана; если же ширин больше, чем символов, то лишние ширины игнорируются. Поясним сказанное на примерах: widths: U+4E00-4E1F 1736 1874 1692; widths: U+1A?? 1490, U+215? 1473 1838 1927 1684 1356 1792 1815 1848 1870 1492 1715 1745 1584 1992 1978 1770; В первом примере указан диапазон из 32 символов, от 4E00 до 4E1F. Первый символ (с кодом 4E00) будет иметь ширину 1736, второй символ ширину 1874, третий ширину 1692. Поскольку ширин задано меньше, чем символов, последняя ширина (1692) будет присвоена всем остальным символам. Во втором примере задается единая ширина для 256 символов в диапазоне от 1A00 до 1AFF, а затем явно указываются ширины еще для 16 символов. Синтаксис: bbox: <число>,<число>,<число>,<число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор определяет максимальный объемлющий прямоугольник (maximal bounding box) шрифта. Его значением является список из четырех чисел, которые задают соответственно абсциссу левого нижнего угла, ординату левого нижнего угла, абсциссу верхнего правого угла и ординату верхнего правого угла объемлющего прямоугольника для всех символов шрифта. Синтаксис: definition-src: <uri> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор указывает, что остальные дескрипторы шрифта содержатся не в таблице стилей, а в отдельном ресурсе описания шрифта, который хранится в указанном URI. Его использование позволяет сэкономить объем данных, передаваемых по сети, если многие таблицы стилей обращаются к одним и тем же шрифтам. 2.8.3.9. Дескрипторы для выравнивания шрифтовЭта группа необязательных дескрипторов предназначена для выравнивания шрифта относительно других шрифтов. Синтаксис: baseline: <число> Начально: 0 Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает нижнюю базовую линию символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: centerline: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает центральную базовую линию символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: mathline: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает математическую базовую линию символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. Синтаксис: topline: <число> Начально: не определено Устройства: визуальные Поддержка: Не поддерживается Не поддерживается Этот дескриптор задает верхнюю базовую линию символов шрифта. Если он присутствует в описании шрифта, то должен присутствовать и дескриптор units-per-em. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||