Шрифтомания от fontsquirrel. Рядовая логика работы со шрифтами при верстке сайта из песочницы

CSS*
Небольшой рассказ о том, как корректно генерировать font для рунета. В центре внимания известный уже на Хабре буржуйский сервис fontsquirrel.

Если красота должна спасти мир, то дизайнеры web интерфейсов — это армия зла. Ни поймите меня не верно, сам считаю себе web дизайнером, и не могу перенести криворуких верстальщиков, приходится верстать свои же psd-изыскания, такими же кривыми руками. И тут начинается самое интересно…

Как все на практике:

1. Первым делом все упирается в выбор нужного шрифтового стека для рунета, и если бы не это, то пришлось держать в уме. Выбрав нужный стек скармливаем его body, примерно так:

body{
font-family: "Arial Black", "Helvetica CY", "Nimbus Sans L" sans-serif;
font-size:12px;
}


На выходе получаем базовый шрифт, приближенный к тому, что мы используем в нашем дизайн макете. Отлично!

2. Довольные своей оперативностью внимательно смотрим дизайн-макет работы и местами (то ли в меню, то ли в футере) видим популярный, практически у всех полиграфистов: Myriad Pro, Arial Narrow или еще какой-нибудь Europe из StarCraft. Сразу в голову приходят три варианта: заменить картинками, поставить JS (ага, тот самый который cufon) ну или в очередной раз прикоснуться к CSS свойству @font-face. Да, мысль отказаться от исчадия вселенского масштаба и использовать безопасный стек повсеместно у нас конечно же не возникает — мы, что называется, «воплощаем» красоту в жизнь.

Первый вариант, пришедший на ум — заменить все на png — мы откидываем сразу, так делали наши прадеды еще на заре палеолита;
Второй вариант (cufon.js) не устраивает нашего заказчика, дай Бог ему здоровья — нашелся на земле один трезвомыслящий клиент; — поэтому переходим к пункту три.

3. Выискиваем из недр Windows 7 нужный нам шрифт по такому следу: «Пуск → Панель управления → Шрифты», копируем в локальную папку на компе с проектом и открываем font генератор fontsquirrel. В моем случае — MyriadProCondensed.

На удачу кликаем по кнопкам и получаем готовое css свойство из серии:

@font-face {
font-family: 'MyriadProCondensed';
src: url('myriadpro_cond-webfont.eot');
src: url('myriadpro_cond-webfont.eot?#iefix') format('embedded-opentype'),
url('myriadpro_cond-webfont.woff') format('woff'),
url('myriadpro_cond-webfont.ttf') format('truetype'),
url('myriadpro_cond-webfont.svg#MyriadProCondensed') format('svg');
font-weight: normal;
font-style: normal;
}


Также получаем в архиве для скачки пример того, как будет выглядеть наш шрифт в браузерах. И все бы ничего, но полученный результат не работает так, как нам надо. И вроде же поставили EXPERT… в настройках, и даже по выбирали какие-то галочки — но все равно эффекта нет — русские буквы не хотят становится MyriadProCondensed.

Я гуглил два дня, первым делом открыл Хабр, откуда собственно и узнал о сервисе, спасибо Terion, ничего не нашел по этому вопросу и продолжил «гуглить» настроение. Спустя два дня настроение появилось и начал разбирать сервис www.fontsquirrel.com/ по полочкам, а именно искать там локализацию кириллицы.

4. Нашел! Всего то надо было поставить «радиобатон» в Subsetting на позицию Custom Subsetting. В выпавшем содержание сета установить галочку Language на позиции Cyrillic.

image

5. Ура заработало. Идем пить кофеёк. Все спасибо за терпение.

P.S. Переубеждать вас делать верстку/интерфейс безопасными стеками, даже не буду. Пусть это будет на нашей совести, но знаю одно, пока эта шрифтомания существует — мир медленно, но уверено катится в пропасть. Ничего красивого в том, что шрифт с экрана монитора невозможно прочитать — нет!
+4
23 февраля 2012, 11:56
77
mr_temi4 –0,5

комментарии (18)

+5
TuTbaker #
По-моему вы тут написали про достаточно очевидные вещи с которыми можно разобраться используя метод проб и ошибок :) У некоторых сгенерированных шрифтов есть одна очень плохая особенность, высота некоторых символов может различаться, вот об этом определённо стоило бы рассказать: почему это происходит и как с этим бороться, и можно ли бороться вообще?
–1
mr_temi4 #
Спасибо, за критику. Совершенно согласен, что это очевидно, но на эту очевидность я потратил более двух дней своего времени, которое не настолько дорогое, но в тоже время не мизерно дешевое. Если этот текст кому-то поможет сохранить время или задуматься (хотя бы над высотой некоторых символов) — и на том спасибо.

А на счет высоты — первый раз слышу такую проблему. Генерировал и Европу, и Мириад Про Консендет, Лиану и еще парочку специфических для веба шрифтов, но такой проблемы не замечал, расскажите о ней поподробнее и если можно с примером. Заранее спс.
+1
AlexFadeev #
Нет, то, что вы рассказали, действительно банальная вещь. И потратить на это 2 дня — прожить эти два дня зря. Там на час разбора — максимум.

А еще меня удивила фраза о том, что вам приходиться верстать самому. Если вы дизайнер, то какого хрена вы сами верстаете? Нет, ну ладно я, когда я делаю проекты для себя, то я и дизайнер и верстальщик. Но у меня и с тем и с другим руки не кривые. А если у вас с версткой руки кривятся, зачем вы за это беретесь? Или изучайте или не делайте. Ну а суть в том, что если бы следили и изучали сферу верстки — давно знали бы о белке.
0
mr_temi4 #
Я глубоко убежден, чтобы делать нормально и корректно верстабельные web интерфейсы, которые потом и нормально будут выглядит у пользователей на экранах, нужно не просто их рисовать, но и понимать в деталях, как это будет сверстано. Для этого нужно уметь их верстать.

А на счет того, что я не знал о белке ни вижу в этом ни чего зазорного — вот теперь знаю. «Мы все учились понемногу, чему-нибудь и как-нибудь...» (с)
0
AlexFadeev #
Да, вы совершенно правы. Именно в той интонации, которую вы сейчас сказали.

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

… вы сказали бредятину.

Нет ничего зазорного в том, что вы изучили новое для себя. В принципе нет и ничего зазорного в том, что вы этим поделились с остальными. И в таком случае, если вы считаете, что написали отличную статью-инструкцию, то оформите ее нормально. Уберите свои эмоции, они другим людям безразличны и только время отнимают. Сухо и по делу. Тогда лично я и упрека не скажу.
Сделайте пошаговую инструкцию, оформите заголовки, шаги, код. Вы же дизайнер? Говорите, что да. Но мне, как дизайнеру, было бы стыдно размещать такую статью.
0
AlexFadeev #
Плюс ко всему, если уж пишете инструкцию, пишите до конца. Вы указали только про язык. Могли бы указать и другие функции сервиса, расписать на что он способен, что делает, какие функции есть. Ваша инструкция абсолютно бесполезна на данный момент. Хотя сам переделывай в нормальный вид…
0
mr_temi4 #
Спасибо, справедливое замечание. Закончу текущий проект обязательно займусь полным описанием белки.
–3
mr_temi4 #
Да, и к тому же, когда гуглил запрос «fontsquirrel русские буквы/русский шрифт» ни чего не нашел, а теперь надеюсь будет что почитать в рунете на эту тему.
0
Richard_Ferlow #
Тоже в последнем макете заморочился с шрифтами.

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

fonts.googleapis.com/css?family=PT+Sans:400italic&subset=cyrillic&text=ТурВиз%20АваблетысДг

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

0
mr_temi4 #
Да, для меня Опера и Google Font тоже загадка, кто-то почему-то кого-то не любит, а страдают простые верстальщики. И к тому же, Google Font упорно не хочет проходить проверку на валидность, а иногда это просто необходимо для сдачи проекта.
0
Mithgol #
Известный глюк Оперы, я его упоминал ещё в октябре прошлого (2011) года. Разработчики Оперы уведомлены, но не исправляют его.
0
Desiderata #
Не так давно столкнулся с проблемой, когда шрифт под Маком отличался.
И нашел достаточно полезный хак для предотвращения загрузки локальных шрифтов:

Нужно после font-family добавить строку src: local("☺"); подробнее
+6
f0rmat1k #
О чем пост-то?
0
Cougar #
У меня другая проблема бывает — совершенно адовый интерлиньяж в шрифтах после fontsquirrel, и приходится активно юзать свойство line-height буквально для каждого блока на страничке.
0
ITcheburashka #
А почему картинки вы так слёту отметаете? Во многих случаях они куда лучше подходят, нежели тяжеловесные сгенеренные «кучки» — ttf, woff, eot, otf, svg хрен пойми сколько весящие.
0
dom1n1k #
Картинки отметаются из-за неправданных затруднений для наполнения контентом и оперативной редактуры.
Если нужно быстро поправить заголовки или добавить пункт в меню, придется идти в графический редактор? А если сайт на N языках, все телодвижения умножаются на N? Или вот если текст нужно динамически выгонять из бэк-энда?..
Лично я считаю, что сегодня использование текста в картинках оправдано только в отдельных редких случаях. Например, какая-то красивая шрифтовая композиция на главной и т.п.

Кстати, шрифты в сжатом формате woff (а именно его используют все современные браузеры) весят сравнительно немного.
Например, вот недавно использовали шрифт с расширенными наборами глифов под все европейские языки (включая всю возможную диакритику, спецсимволы и пр.) — вышло по ~80 КБ на одно начертание. Если такой широкий языковой охват не нужен — обычно базовую латиницу+кириллицу можно уложить кил в ~30 на одно начертание.
Типичное число используемых начертаний 4; самое максимальное, которое бывало у меня в реальной практике — 9. То есть в средне-типичном случае речь идет о 100-200 КБ.
Но меру, конечно, знать надо :)
+4
Lockal #
Извините за занудство, но заказчик вряд ли будет рад, когда узнает, что его сайт нарушает чужие права. Если шрифт поставляется вместе с Adobe Reader, это не даёт прав на выдирание шрифта из продукта, модификацию и дальнейшее неограниченное распространение в формате ttf с собственного сайта. Для встраивания шрифтов от Adobe на сайты есть сервис Adobe Typekit, где минимальный тарифный план — 25 долларов за год (со значительными ограничениями). И даже с самым дорогим тарифным планом остаётся ограничение на печать (только для персонального использования).

Есть же много открытых шрифтов, зачем вытаскивать шрифты из чужих продуктов? Посмотрите, например, на Pt Sans или Ubuntu font на www.google.com/webfonts
0
mr_temi4 #
Спасибо за ценный коммент.

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