Книга: Веб-дизайн

ШРИФТ

ШРИФТ

Так же как установка кегля шрифта имеет два аспекта — эстетический (чтоб прилично смотрелось) и приземленно–практический (чтобы можно было читать без рези в глазах), — так и выбор гарнитуры и начертания, кроме подробно обсуждавшихся в предыдущей главе художественных требований (стр. 133), должен удовлетворять одному гораздо более важному практическому условию: шрифт должен содержать изображения (глифы) для всех символов, использующихся в тексте. Эта проблема, в свою очередь, распадается на две части: нужно, во–первых, чтобы все требуемые глифы действительно были в шрифте, а во–вторых — чтобы кодировки текста и шрифта (по крайней мере, в части используемых символов) совпадали. О текстовых кодировках в HTML и связанных с этим вопросах мы уже говорили в гл. I (стр. 14).

Однако в практике веб–дизайна на первый план выступает еще более приземленная задача: найдя шрифт, идеальный с эстетической точки зрения и подходящий по кодировке, нужно сделать так, чтобы его в документе увидел не только дизайнер, но и пользователь, — а для этого нужно как минимум переслать файл шрифта на пользовательский компьютер. Если же переслать шрифт невозможно, нужно | сообщить броузеру, какой шрифт имеется в виду, в надежде, что шрифт этот (или, по крайней мере, похожий на него) у пользователя уже есть.

Именно эта идея лежит в основе стандартных средств выбора шрифта в HTML и CSS. Значением атрибута face тега FONT может быть одно или несколько наименовании шрифтов, разделенных запятыми. Броузер, сканируя эту строку, пытается найти хотя бы один из заказанных шрифтов и включает его для вывода текста документа. Если ни один из них не найден (или если никаких указаний относительно шрифтов в документе не содержится), используется стандартный системный шрифт (на большинстве операционных систем это Times Roman).

CSS уровня 1 пользуется той же схемой: свойству font–family также можно присвоить в качестве значения строку, состоящую из имен шрифтов, — за тем исключением, что кроме названий конкретных гарнитур можно как один из вариантов (обычно на последнем месте в списке) указать родовой признак нужного шрифта — serif, sans–serif, monospace и т. п. Не найдя конкретных заказанных шрифтов, броузер будет по крайней мере знать, какой из имеющихся в системе шрифтов следует использовать в данном случае — например, Times (т. е. serif), Arial (sans–serif) или же Courier (monospace).

В CSS уровня 2 этому механизму при неизменном синтаксисе придано расширительное толкование: броузер обязан не просто найти первый же доступный из перечисленных шрифтов и переключиться в него, но и следить за соответствием набора символов текста репертуару глифов шрифта. Как только в тексте встретится отсутствующий в текущем шрифте символ, броузер обязан снова обратиться к списку рекомендованных шрифтов и посмотреть, нет ли там шрифта в нужной кодировке, подходящего для отображения этого символа. Таким образом, свойство font–family может содержать не только перечисление сходных по внешнему виду шрифтов в порядке убывания их пригодности и повышения вероятности их обнаружения, но и имена шрифтов с разными наборами символов, между которыми броузер будет переключаться в зависимости от того, какие символы встречаются в тексте.

Для практики важнее другой вопрос — какие шрифты с наибольшей вероятностью можно обнаружить на компьютере типичного пользователя и на какие, следовательно, шрифты может рассчитывать дизайнер, не желающий связываться с технологиями встраивания шрифтов в документ? Речь здесь может идти не о наименованиях отдельных шрифтов, а только об обобщенных шрифтовых типах, представленных на разных компьютерных платформах разными по названию (хотя нередко близкими по начертанию) шрифтами.

Кроме используемого по умолчанию шрифта с засечками, обычно представленного гарнитурой Times Roman, любая графическая операционная система имеет еще два типа шрифтов: рубленый (в Windows — Arial) и моноширинный (в Windows?Courier). Из них особенно часто в дизайне применяется рубленый шрифт, для выбора которого, с учетом названий стандартных рубленых шрифтов в разных операционных системах, можно порекомендовать такую запись в HTML:

<FONT face=«Arial, Geneva, Helvetica»>

и в CSS:

font–family: Arial, Geneva, Helvetica, sans–serif

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

Коренные шрифты. Фирма Microsoft решила начать с малого и опубликовала небольшой набор бесплатных шрифтов, оптимизированных для низкого экранного разрешения и предназначенных специально для использования на веб–страницах, без ложной скромности назвав их «Code Fonts for the Web». Поставляемые только в формате TrueType (т. е. пригодные для использования в Windows и на Macintosh), шрифты эти распространяются вместе с броузером MSIE; их можно также скачать и с сервера Microsoft.

Шрифты Microsoft достаточно распространены среди интернетовской аудитории для того, чтобы имело смысл указывать их в качестве первого выбора в FONT face и font–family. Особенно популярен рубленый шрифт Verdana, который, на случай его отсутствия, можно подстраховать приведенным выше стандартным списком рубленых шрифтов. В заголовках «газетного» стиля неплохо смотрится суженный рубленый шрифт Impact.

С точки зрения дизайнера «рекомендательное» переключение шрифтов плохо даже не тем, что некоторые пользователи не увидят на экране задуманный шрифт (в конце концов, всегда есть те, кто отключает даже загрузку графики в броузере, демонстрируя тем самым полное равнодушие к тонкостям дизайна), а тем, что распространенных шрифтов очень мало и они давно намозолили всем глаза. Выход в этой ситуации очевиден: нужно сделать так, чтобы броузер мог автоматически сгружать с сервера не только сам документ, но и относящиеся к нему шрифты, так же как сейчас он это делает для графических файлов. Однако реализация этой простой идеи, как водится, не обошлась без небольшой, локальных масштабов конкурентной воины.

Все шрифты ношу с собой. Официальная спецификация технологии встраивания шрифтов (font embedding), разработанная Консорциумом W3, является частью спецификации CSS уровня 2 (стр. 40). CSS не задается вопросом о том, как технология встраивания будет реализована в броузерах; спецификация лишь определяет синтаксис, позволяющий автору страницы описывать (или просто ссылаться на) нужный шрифт с помощью богатого набора свойств и шрифтовых дескрипторов. Эта информация (включенная либо в сам документ, либо в относящийся к нему стилевой файл) позволит броузеру выбрать, в зависимости от условий, один из следующих вариантов поведения:

• выбор заказанного шрифта (exact matching), если он уже присутствует на данном компьютере;

• выбор близкого по характеру шрифта (intelligent matching) на основе информации шрифтовых дескрипторов — высоты строчных и заглавных, характера засечек, наклона букв и т. п.;

• синтез нужного шрифта (font synthesis), для чего кроме перечисленных выше общих свойств шрифта нужна также метрическая информация о габаритах каждой буквы. Броузер может, к примеру, воспользоваться технологией Multiple Masters фирмы Adobe, позволяющей плавно менять ширину, насыщенность и другие параметры шрифта, и подогнать более–менее подходящий исходный шрифт под метрику требуемого;

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

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

В то же время оба главных визуальных броузера?MSIE и NC — начиная с четвертых версий также поддерживают встраивание шрифтов. Технологии, используемые для этого извечными конкурентами, если можно так выразиться, гармонически дополняют недостатки друг друга. Броузер Microsoft использует синтаксис CSS2 для связывания шрифтов с HTML-документом, однако может работать только со шрифтами в специально созданном для этого формате «шрифтовых объектов» (основанный на TrueType, этот формат позволяет, в частности, вырезать для отправки только используемые в документе символы, содержит средства сжатия шрифтовых данных и предотвращения нелегального копирования распространяемых шрифтов). Привязка к «фирменному» формату не только закрывает эту технологию от посягательств конкурентов, но и ограничивает ее применимость операционными системами Windows и Macintosh.

Ненамного лучше обстоят дела с открытостью и у технологии встраивания шрифтов, разработанной Netscape. Так называемые «динамические шрифты», почему–то рекламируемые этой компанией как часть ее версии «динамического HTML», не привязаны к какой–то операционной системе, однако накрепко привязаны к броузеру Netscape Communicator, который один только может использовать для вывода на экран шрифты в формате TrueDoc (лицензированном Netscape у фирмы Bitstream). Более того, привязка шрифта к HTML-документу у Netscape производится совершенно ни с чем не совместимым способом — через расширение тега LINK. Если бы броузеры–конкуренты были совместимы друг с другом хотя бы по синтаксису вызова шрифтов, различия в шрифтовых форматах были бы не столь существенны.

Осторожно: кириллица. Любая попытка изменить шрифт, которым выводится текст, осложняет и без того непростую ситуацию с поддержкой в HTML русского алфавита. Даже без какого бы то ни было переключения шрифтов русский текст может оказаться для какой–то части вашей аудитории нечитабельным; очевидно, что любые эксперименты в шрифтовой области способны только повысив вероятность этого печального исхода.

Собственно говоря, из описанных выше технологии только встраивание шрифта в документ способно гарантировав соответствие кодировок текста и шрифта (что и понятно — ведь только в этом случае и текст, и шрифт готовятся одним человеком). Однако сами технологии встраивания, о которых мы только что говорили, пока что мало распространены даже среди пользователей графических броузеров. Не говоря уж о том, что полагаться на соответствие кодировки текста кодировке встроенного шрифта очень опасно — при этом можно ненароком лишить доступа к тексту многочисленных пользователей, не желающих или не имеющих возможности использовать какие бы то ни было шрифты (те же программы–роботы и владельцы речевых броузеров, стр.34).

Сейчас на русскоязычных сайтах изредка применяется лишь самое простое из всех шрифтовых решений — переключение в рубленый шрифт, для чего можно написать FONT face=«arial cyr, arial». Однако даже этот простейший вариант почти наверняка доставит неприятности многим вашим пользователям, так что лучше всего не искушать судьбу и обойтись для русского текста шрифтом по умолчанию.

Оглавление книги


Генерация: 0.043. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз