|
Уже в стандарте CSS1 была заложена возможность использования различных
шрифтов для отображения текста документа. При этом предполагалось, что
необходимые шрифты установлены на компьютере-клиенте; если же их нет, то
вместо них обозреватель должен был использовать собственные шрифты,
близкие по характеристикам к требующимся.
Стандарт CSS2 внес существенные изменения в эту концепцию с тем, чтобы
авторы имели большую свободу в выборе шрифтов, а обозреватели — в
своих действиях, когда заданный автором шрифт непосредственно не доступен.
В основе новой концепции лежит понятие загружаемых шрифтов,
т. е. шрифтов, отсутствующих на компьютере-клиенте, но доступных для
загрузки из Сети. В дополнение к этому CSS2 предусматривает наличие базы
данных о шрифтах, содержащей их разнообразные характеристики и позволяющей
по мере необходимости синтезировать недостающие шрифты
на основе доступных обозревателю шрифтов.
Ниже изложены все способы работы со шрифтами, предоставляемые CSS. При
этом свойства, управляющие отображением шрифтов и унаследованные из CSS1,
описаны в разделе
2.8.2, а новые методы доступа к загружаемым шрифтам, появившиеся в
CSS2, описываются в разделе 2.8.3.
Синтаксис: 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.
Для достижения наибольшей совместимости рекомендуется задавать родовое
имя шрифта последним в списке. В этом случае, если обозреватель не найдет
на компьютере-клиенте ни одного из заданных шрифтов, он использует свой
родовой шрифт с заданным именем.
Родовые имена шрифтов были разработаны на тот наихудший случай, когда
на компьютере-клиенте не установлен ни один из шрифтов, заданных автором.
В этом случае обозреватель использует родовой шрифт, начертание которого
напоминает авторский шрифт. Существует пять имен родовых шрифтов:
serif
(шрифт с засечками)
Это пропорциональные шрифты с засечками на буквах. Типичные примеры:
Times New Roman, Bodoni, Garamond.
sans-serif (шрифт без засечек)
Это пропорциональные шрифты без засечек на буквах. Типичные примеры:
Arial, Verdana, Helvetica, Tahoma.
cursive (каллиграфический шрифт)
Это шрифты, стилизованные под рукописный текст, обычно с типичными для
него соединениями между буквами. Типичный пример: Zapf-Chancery.
fantasy (декоративный шрифт)
Это шрифты декоративного характера. Типичный пример: Western.
monospace (телетайпный шрифт)
Это шрифты фиксированной ширины, напоминающие шрифт пишущей машинки.
Типичные примеры: Courier
New, Prestige, Everson Mono.
То, какой именно конкретный шрифт используется в качестве реализации
родового, зависит от обозревателя.
Синтаксис: font-style: normal | italic | oblique | inherit
Начально: normal
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные Поддержка: Соответствует стандарту; oblique отображается как italic (4.0+)
Соответствует стандарту; oblique не поддерживается (4.0+)
Свойство font-style задает стиль шрифта для
отображения содержимого элемента. Оно может иметь следующие значения:
| normal |
Обычный шрифт |
| italic |
Курсивный шрифт |
| oblique |
Наклонный шрифт |
Например, следующий фрагмент
<P>
<SPAN style="font-style: normal">Обычный шрифт. </SPAN>
<SPAN style="font-style: italic">Курсивный шрифт. </SPAN>
<SPAN style="font-style: oblique">Наклонный шрифт. </SPAN>
</P>
будет отображаться так:
Обычный шрифт. Курсивный шрифт. Наклонный шрифт.
Синтаксис: font-variant: normal | small-caps | inherit
Начально: normal
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные Поддержка: Соответствует стандарту (4.0+)
Не поддерживается
Свойство font-variant задает вариант шрифта
для отображения содержимого элемента. Оно может принимать следующие
значения:
| normal |
Обычные буквы |
| small-caps |
Малые прописные буквы |
Например, следующий фрагмент
<P style="font-variant: small-caps">Малые прописные буквы.</P>
будет отображаться так:
Малые прописные
буквы.
О преобразовании текста в прописные буквы см. также описание свойства
text-transform.
Синтаксис: font-weight: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 |
500 | 600 | 700 | 800 | 900 | inherit
Начально: normal
Применимо: ко всем элементам
Наследуемо: да, наследуется вычисленное значение
Проценты: не используются
Устройства: визуальныеПоддержка: Соответствует стандарту (4.0+)
Соответствует стандарту (4.0+)
Свойство font-weight задает жирность шрифта
для отображения содержимого элемента. Оно может принимать следующие
значения:
| 100 - 900 |
Задает жирность шрифта (чем больше значение, тем выше жирность
шрифта). |
| normal |
То же, что 400. |
| bold |
То же, что 700. |
| bolder |
Указывает, что шрифт должен быть более жирным, чем родительский
шрифт. |
| lighter |
Указывает, что шрифт должен быть менее жирным, чем родительский
шрифт. |
То, как именно числовые значения соответствуют реальной жирности
шрифта, зависит от обозревателя. Например, следующий фрагмент
<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
Синтаксис: font-stretch: normal | wider | narrower | ultra-condensed | extra-condensed |
condensed | semi-condensed | semi-expanded | expanded |
extra-expanded | ultra-expanded | inherit
Начально: normal
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальныеПоддержка: Не поддерживается
Не поддерживается
Свойство font-stretch задает выключку шрифта,
т. е. интервал между символами при отображении содержимого элемента.
Оно может иметь следующие значения (в порядке увеличения выключки):
| ultra-condensed |
Сверхуплотненный шрифт |
| extra-condensed |
Сильно уплотненный шрифт |
| condensed |
Уплотненный шрифт |
| semi-condensed |
Полууплотненный шрифт |
| normal |
Обычный шрифт |
| semi-expanded |
Полуразреженный шрифт |
| expanded |
Разреженный шрифт |
| extra-expanded |
Сильно разреженный шрифт |
| ultra-expanded |
Сверхразреженный шрифт |
Кроме того, имеется возможность задавать относительную разрядку
шрифта:
| wider |
Указывает, что шрифт должен быть более разреженным, чем
родительский шрифт. |
| narrower |
Указывает, что шрифт должен быть более уплотненным, чем
родительский шрифт. |
То, как именно эти значения соответствуют реальной выключке шрифта,
зависит от обозревателя. Пример:
<P><SPAN style="font-stretch: expanded">Разрядка моя </SPAN>(Л. И. Брежнев).</P>
Синтаксис: 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 x-small small medium large x-large xx-large
Синтаксис: 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 (с учетом округления).
Синтаксис: 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 |
Шрифт текста управляющих элементов (кнопок, меток и
т. д.) |
| icon |
Шрифт меток иконок |
| menu |
Шрифт пунктов меню |
| message-box |
Шрифт диалоговых окон |
| small-caption |
Шрифт текста малых управляющих элементов |
| status-bar |
Шрифт статусной строки |
Пример отображения системных шрифтов:
caption icon menu message-box small-caption status-bar
В этом разделе полностью описан механизм CSS по работе со шрифтами,
основанный на их подборе, синтезе на основе базы данных или загрузке из
Веб-узлов. Существуют четыре разновидности реализации этого механизма:
- Подбор шрифта по его имени
- В этом случае обозреватель использует шрифт, установленный на
компьютере-клиенте и имеющий то же имя, что и запрошенный шрифт (при
этом и гарнитура, и метрические характеристики шрифта могут оказаться
отличными от авторских, если автор и пользователь загружали шрифты из
разных источников).Таким образом, единственной основой для подбора
шрифта является его имя. Это единственный метод, который использовался в
CSS1 и который описан в предыдущем разделе.
- Подбор шрифта по его характеристикам
- В этом случае обозреватель использует шрифт, установленный на
компьютере-клиенте и имеющий тот же внешний вид, что и запрошенный шрифт
(при этом метрические характеристики шрифта могут оказаться отличными от
авторских). Основой для подбора шрифта в данном случае служат такие его
характеристики, как тип шрифта (текстовый или символьный), наличие или
отсутствие засечек, жирность, высота строчных и прописных букв, наклон
символов и т. п.
- Синтез шрифта
- В этом случае обозреватель создает шрифт, не только имеющий тот же
внешний вид, что и запрошенный шрифт, но и соответствующий ему по
метрическим характеристикам. Для такого синтеза шрифта необходима более
точная информация, чем в схемам подбора шрифта. В частности,
обозревателю необходимо знать точные ширины всех символов и правила
отображения кодов Unicode в соответствующие изображения.
- Загрузка шрифта
- Обозреватель может, наконец, загрузить искомый шрифт из заданного
Веб-узла аналогично тому, как при отображении документа загружаются
графические образы, Java-аплеты и другие объекты. Это, однако, может
приводить к существенной задержке при загрузке документа.
Из четырех перечисленных схем в современных обозревателях реализованы
две: первая и последняя. Первая схема была описана в предыдущем разделе, а
последняя, связанная с загрузкой шрифтов из Сети, описывается здесь.
Директива @font-face позволяет нам включать в свою
таблицу стилей описания шрифтов. Она состоит из набора
дескрипторов шрифта и их значений и имеет следующий вид: @font-face {
дескриптор: значение;
...
дескриптор: значение;
}
Дескрипторы шрифтов можно разбить на три группы:
- дескрипторы, обеспечивающие связь между описанием шрифта и его
использованием в свойствах CSS (они имеют те же названия, что и
соответствующие свойства);
- дескриптор, задающий URI, на котором находятся данные шрифта для
загрузки;
- дескрипторы, задающие дальнейшие характеристики шрифта и
обеспечивающие связь описания шрифта с его данными.
Пример директивы @font-face:
@font-face {
font-family: comic; // имя шрифта для CSS
src: url(http://www.fonts.com/comic.eot); // адрес файла для загрузки
}Поддержка: Поддерживаются только дескрипторы font-family и src (5.0+)
Не поддерживается
Эта группа дескрипторов имеет те названия, что и соответствующие
свойства 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,
со следующими отличиями:
- относительные значения (bolder и lighter) не
допускаются;
- значением может быть список жирностей;
- значением может быть all (все жирности).
Синтаксис: 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,
со следующими отличиями:
- относительные значения (wider и narrower) не
допускаются;
- значением может быть список выключек;
- значением может быть all (все выключки).
Синтаксис: font-size: all | <размер> | [,<размер>]*
Начально: all
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает размер шрифта и может принимать те же
значения, что и свойство font-size,
со следующими отличиями:
- допускаются только абсолютные размеры шрифтов;
- значением может быть список размеров;
- значением может быть all (все размеры).
Синтаксис: 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.
Синтаксис: 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; // полный китайский шрифт
Синтаксис: units-per-em: <число>
Начально: не определено
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает координатную систему метрики шрифта.
Его значением является количество координатных единиц в стороне квадрата,
который содержит наибольший символ шрифта (обычно это буква 'M', отсюда
название em-квадрат). Это значение обычно определяется форматом
шрифта. Типичные примеры его значений: 250 (Intellifont), 1000 (Type 1) и
2048 (TrueType, TrueType GX и OpenType).
Эта группа необязательных дескрипторов предназначена для подбора шрифта
по его характеристикам. Синтаксис: 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.
Эта группа необязательных дескрипторов предназначена для синтеза шрифта
и задает его дополнительные метрические характеристики. Синтаксис: 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. Его использование позволяет сэкономить
объем данных, передаваемых по сети, если многие таблицы стилей обращаются
к одним и тем же шрифтам.
Эта группа необязательных дескрипторов предназначена для выравнивания
шрифта относительно других шрифтов. Синтаксис: baseline: <число>
Начально: 0
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает нижнюю базовую линию символов шрифта.
Если он присутствует в описании шрифта, то должен присутствовать и
дескриптор units-per-em. Синтаксис: centerline: <число>
Начально: не определено
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает центральную базовую линию символов
шрифта. Если он присутствует в описании шрифта, то должен присутствовать и
дескриптор units-per-em. Синтаксис: mathline: <число>
Начально: не определено
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает математическую базовую линию символов
шрифта. Если он присутствует в описании шрифта, то должен присутствовать и
дескриптор units-per-em. Синтаксис: topline: <число>
Начально: не определено
Устройства: визуальные Поддержка: Не поддерживается
Не поддерживается
Этот дескриптор задает верхнюю базовую линию символов шрифта.
Если он присутствует в описании шрифта, то должен присутствовать и
дескриптор units-per-em.
|