С точки зрения дизайнера «рекомендательное» переключение шрифтов плохо даже не тем, что некоторые пользователи не увидят на экране задуманный шрифт (в конце концов, всегда есть те, кто отключает даже загрузку графики в броузере, демонстрируя тем самым полное равнодушие к тонкостям дизайна), а тем, что распространенных шрифтов очень мало и они давно намозолили всем глаза. Выход в этой ситуации очевиден: нужно сделать так, чтобы броузер мог автоматически сгружать с сервера не только сам документ, но и относящиеся к нему шрифты, так же как сейчас он это делает для графических файлов. Однако реализация этой простой идеи, как водится, не обошлась без небольшой, локальных масштабов конкурентной воины.
Все шрифты ношу с собой.
Официальная спецификация технологии встраивания шрифтов• выбор заказанного шрифта (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 русского алфавита. Даже без какого бы то ни было переключения шрифтов русский текст может оказаться для какой–то части вашей аудитории нечитабельным; очевидно, что любые эксперименты в шрифтовой области способны только повысив вероятность этого печального исхода.