Веб-шрифты vs. Шрифты для веба

Слухи о кончине этого сайта несколько преувеличены. Вашему вниманию предлагается импровизированное видео, смонтированное из слайдов и аудио-записи доклада «Веб-шрифты vs. Шрифты для веба», прозвучавшего 8 декабря на ВСТ-встрече в Москве в рамках WebHiTech Party.

Также существует полноценная видео-запись этого доклада с минской встречи Web Standards Days, однако в Москве прозвучала его улучшенная и дополненная версия, а в предложенном скринкасте гораздо удобнее следить за содержанием слайдов.

И немного о забвении: в начале года планируется выпустить новую версию этого сайта: новый дизайн, вёрстка и архитектура. Заметки станут короче и будут выходить значительно чаще. До встречи ;)

Комментарии

38

Круто! Спасибо! Это и минское - два разных выступления, оба послушал с интересом. Можно было бы еще фото выступающего врезать между слайдами, для оживляжа.

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

Спасибо за как всегда въедливое исследование, Вадим! Ты, можно сказать, дал отмашку отказаться наконец от Cufon, который я обычно использую :)

новый дизайн, вёрстка и архитектура. Заметки станут короче и будут выходить значительно чаще.

Гм, а длина заметки не будет длиньше 140 символов? :)))

Очень интересное видео! Про sIFR и font-face, конечно, знал. А вот про Cufon и Typekit даже не слышал. Очень познавательно, спасибо.

PS. Жду более частых обновлений блога!

Такой вопрос:
допустим я сделал отображение заголовков внедрённым шрифтом.
эти заголовки на сайте создаются динамически авторами статьи.
если автор использует символ, который отсутствует в шрифте (к примеру у меня шрифт с латиницей, а в автор напишет кириллицей), то этот символ:
а) вообще не отобразится
б) отобразится, но стандартным шрифтом, следующем в списке font-family после внедрённого

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

Вадим, у меня к тебе глупый вопрос. Может ты, как человек работающий в Opera, знаешь как убрать скролл у текстарии в одноименном браузере? И чем вообще появление этого скролла обосновано? Мне правда интересно.

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

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

.EOT-шрифты, походу, не срабатывают если пользователь не является администратором в системе (надо тестить).

Ви, на Гостевом аккаунте все работает :) Не знаю что там с IE6, но в IE8(7) даже режим совместимости показывает шрифт.

Докладчик, ведёт себя мягко сказать некорректно, историческая справка по предмету просто пропитана необоснованной претенциозностью составителя. Sifr а затем cufon своим появлением типографику просто спасли, их появление было воспринято как манна небесная. Да, это костыли, но, спрашивается, кто ты такой, чтобы так походя охаивать огромную работу сделанную другими, особенно если альтернативы тогда не было, а ты в это время такой умный в школу ходил, плюс для русскоязычного интернета на все приведённые даты появления и начала применения той или иной технологии можно смело накидывать пару лет из-за общего отставания роста скорости интернет соединения.

Докладчик, т.е. я, априори не может быть объективен. Да и не претендует. Однако через весь рассказ идёт мысль о том, что все эти технологии были крайне неестественны для браузера, уж не говоря про сложность внедрения, нагрузку на браузер и прочие чудеса техники. Ну и подобная работа на контрастах в докладе возможна только в ситуации, когда есть реальная альтернатива старым решениям. Не будь этой альтернативы, разговор о трюках вёлся бы совсем в другом тоне.

Чес слово, никого не хотел обидеть.

Автор доклада явно не любит лицензии на шрифты и дизайнеров, которые хотят на своей работе зарабатывать. Ну, что ж... Я лично с трудом представляю кучу дизайнеров тратящих кучу своего времени на разработку бесплатных шрифтов. хороших бесплатных шрифтов. Те же работы Jovanny Lemonad (при всем уважении к нему) - это шрифты ниже среднего качества. Вполне имеют право на жизнь, но это средний минус сегмента, как любят говорить маркетологи. А крупные студии, которые могут делать большие шрифтовые проекты не охотно идут на открытую лицензию, по вполне понятным и объективным причинам. Ну вот Паратайп сделали PT Sans. Скоро ли еще появится другой такой проект? Сомнительно. Общий вывод - проблемы использования шрифтов в вебе нет. Ну почти нет. Есть бооольшая проблема лицензирования такого использования. И наиболее адекватное её решение лежит не в области веб-технологий, а в области авторского права и способов получения авторами роялити.

Юрий, несмотря на ваши попытки обвинить меня в нелюбви к дизайнерам, которые хотят заработать, я полностью согласен с вашим комментарием. Даже странно. Но если рассмотреть модель, которую использовала Паратайп со шрифтом PT Sans, когда была выпущена ограниченная группа начертаний с открытой лицензией, а вслед за ней богатая касса на все случаи жизни — уже за деньги, то становится понятно, что это вполне жизнеспособный вариант.

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

Сказать по правде, я бы уже давно начал скупать у Паратайпа шрифты, если бы они прикладывали к обычному релизу ещё и веб-шрифтовую версию с соответствующей лицензией.

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

Скажите пожалуйста, а с точки зрения семантики имеет ли смысл эти загловки помещать в теги H? например:

<h2><img src="header.png" alt="Загловок" /></h2>

или правильней будет сделать так:

<div class="title"><img src="header.png" alt="Загловок" /></div>

На самом деле вопрос встал давно, только некому было его задать

goddy, лучше всего делать вот так:

<h2>Заголовок</h2>
H2 {
    overflow:hidden;
    width:title_width;
    height:title_height;
    }
H2:after {
    position:absolute;
    top:0;
    left:0;
    width:title_width;
    height:title_height;
    background:url(title.png) no-repeat;
    content:'';
    }

Погуглите по фразе image replacement css

о, боже! это суперизящный финт:)

но он требует уникального стиля для каждого H2:after, по-моему нецелесообразно это описывать в общем файле стилей, потому что заголовки-картинки должны меняться через админку и выводиться в шаблон smarty... если только некий суперпрограммист не напишет шаблонизатор для css

так что в чистом виде это реализовать не получится, поэтому фон придется задавать встроенным стилем и вместо :after использовать вложенный span:


<h2>{$item.TITLE}<span style="background:url({$item.IMG}) no-repeat"></span></h2>

H2 {
    position: relative;
    overflow:hidden;
    width:title_width;
    height:0;
    padding: title_height 0 0 0;
    }
H2 span {
    position:absolute;
    top:0;
    left:0;
    width:title_width;
    height:title_height;
    background:url(title.png) no-repeat;
    content:'';
    }

с другой стороны можно было бы не трогать тот код, который вы предложили и сделать все с помощью H2:after, но с использованием JS. правда, тогда точно не удастся избежать шквала ненависти со стороны человека, который в будущем займется поддержкой этого кода;)

спасибо за доклад, довольно познавательно было услышать о положительных и отрицательных сторонах каждого способа.
font-face конечно удобно, никакого js, но слишком уж долгий рендеринг, особенно если нестандартный шрифт используется в нескольких местах, Cufon все же пошустрее.

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

Доброй ночи, Вадим.

У меня на висте (в других не пробовал) в опере
Opera/9.80 (Windows NT 6.0; U; en) Presto/2.9.168 Version/11.51 не подключается шрифт, во всех остальных и в ие6 в том числе, все отлично.

Тестировал на сгенерированном белкой наборе. И с локального и с сервака не работает, с полными и относительными путями тоже самое.

Набрел на эту темку на my.opera.com и действительно у меня кириллица в пути присутствует.

Проверил специально в портейбл-версии Opera/9.80 (Windows NT 6.0; U; Edition United States Local; en) Presto/2.9.168 Version/11.51 все отлично.

Ты конечно об этом знаешь и может быть есть решение, в общем как, собственно, быть? Или смириться и ждать пока суровые викинги полюбят кириллицу? :)

Евгений, вариантов особенно нет. Разве что создать себе нового пользователя латиницей. Я сейчас очень стараюсь, чтобы исправление этой проблемы вошло в ближайший релиз Opera 12. Думаю, всё получится.

Спасибо.

Еще один вопросец, как быть с начертаниями шрифта, к примеру, если необходим полужирный, подключать дополнительное "жирное" начертание этого шрифта отдельным файлом и действовать примерно так?


@font-face {
    font-family: 'myFont';
    src: url('fonts/my-font.eot');
    src: url('fonts/my-font.eot?#iefix') format('embedded-opentype'),
         url('fonts/my-font.woff') format('woff'),
         url('fonts/my-font.ttf') format('truetype'),
         url('fonts/my-font.svg#myFont') format('svg');
         font-weight:normal;
    }

@font-face {
    font-family: 'myFont';
    src: url('my-font-bold.eot');
    src: url('my-font-bold.eot?#iefix') format('embedded-opentype'),
         url('my-font-bold.woff') format('woff'),
         url('my-font-bold.ttf') format('truetype'),
         url('my-font-bold.svg#myFontBold') format('svg');
    font-weight:bold;
    }

У меня снова пичалька с @font-face.

Шрифтобелка отказывается генерировать файлы с поддержкой кириллицы. Шрифт Open Sans, беру с гугла, естественно отмечаю поддержку кириллицы. Скачиваю ttf-файл, и отдаю его шрифтобелке, вставляю текст кириллицей прямо в ее демку, латиница подхватывается, а кириллица нет :( попробовал тот же файлик с гугла скормить вот этому зверю: font2web.com/. Там тоже четыре файлика генерится .eot, .svg, .ttf, .woff.

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

Кстати если напрямую с гугла подгружать шрифт, то в этом случае кириллица работает, но там ведь, как я понял, подгружается только файл формата .woff и работает это только в нормальных браузерах. Хотя я пробовал и этот файлик белке скармливать, но эффект тот же, что и с .ttf — кириллица не отображается этим шрифтом. Где-то я туплю, а понять где — не пойму :)

Евгений, насколько я понимаю, Шрифтобелка отдаёт каждому браузеру свой список шрифтов, значит IE получит EOT, и так далее. См. FAQ, там всё сказано. Но это работает только в ситуации, когда с Google Web Fonts тащить шрифты, как вам быть с Белкой — не знаю, до сих пор проблем не было.