Как использовать любой шрифт на сайте

28 марта 2009, 21:19 Павел Марковнин Дизайн рейтинг +22-

Любой шрифт на сайтеВсем привет!

Сегодня у нас небольшая подборка решений, которые помогут вам использовать любой (ну почти ;-) шрифт на своем сайте. Среди рассмотренных решений будут скрипты, которые используют только JS, JS+Flash и JS+PHP.

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

Typeface.js

Решение на чистом JS, без использования флеша. Скрипт использует для работы SVG и VML. Давайте посмотрим, как это все работает.

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

<html>
<head>
<title>Тестируем typeface.js</title>
<!-- сначала грузим любые внешние файлы стилей -->
<link rel="stylesheet" type="text/css" ref="/style.css">

<!-- потом грузим библиотеку и файлы шрифтов -->
<script type="text/javascript" src="typeface-0.10.js"></script>
<script type="text/javascript" src="helvetiker_regular.typeface.js"></script>
</head>

<body>
<!-- А тут уже можно добавить стилей к шрифту с помощью CSS -->
<div class="myclass typeface-js" style="font-family: Helvetiker">
Немного пробного текста, чтобы посмотреть что и как...
</div>
</body>
</html>

Вы также можете посмотреть примеры или почитать подробнее об особенностях установки на сайте проекта. Довольно удобная качественная вещь.

Cufon

Еще одно решение, тоже на js + SVG/VML. Собственно, принцип работы и порядок действий такой же, как у typeface.js. Как плюс можно отметить, что есть поддержка не только .TTF, но и .OTF шрифтов.

Идем на сайт проекта, качаем библиотеку и генерируем файл шрифта (ух, как много полей). Теперь имплементим на сайт.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Библиотеке -->
<script src="cufon-yui.js" type="text/javascript"></script>

<!-- Файл шрифта -->
<script src="Frutiger_LT_Std_400.font.js" type="text/javascript"></script>

<!-- Указываем, к чему применить шрифт (в данном случае ко всем заголовкам h1) -->
<script type="text/javascript">
Cufon.replace('h1');
</script>
</head>
<body>
<h1>Пример заголовка первого уровня</h1>
</body>
</html>

Опять же, советую почитать про особенности установки более подробно.

sIFR

Сифру, помимо js, для работы необходим флеш плагин в браузере. Кроме того, чтобы сделать файл шрифта для Сифра, вам понадобиться редактор Флеша (например, Адоб Флеш КС4) или желание овладеть экспериментальной техникой без редактора ;-)

В общем и целом, исходя из описания установки, могу сказать, что процесс не такой простой, как у Фонтфейса и и Куфона.

FLIR

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

Для работы необходимо иметь PHP (желательно пятый) и GD на сервере. На сервере-то как раз и будут происходить все операции со шрифтами. На клиенте же нужно только задать правила, как и что заменять.

 

Думаю, что при грамотном использовании, эти скрипты смогут помочь вам делать сайты более интересными, удобными и красивыми. Только не переусердствуйте с заменой шрифтов.

P.S. Возможно вы заметили, что наш блог преодолел очередную планку — количество подписчиков недавно превысило тысячу человек, а средняя посещаемость перевалила полторы тысячи посетителей в день. Мы растем ;-)

Рекламное место, которое может стать вашим

Понравилась статья?

Тогда подпишись на обновления через RSS или воспользуйся
другими способами подписки.

Читать в Яндекс.Ленте Добавить в Google Добавить в Netvibes
  •  

Комментарии — 14

RSS
  • Аватарка
    31 марта 2009 в 8:06 Alex
    хотим примеры на vremenno.net -)
    первый сайт не открывается сейчас...
  • Аватарка
    10 апреля 2009 в 15:00 Дима
    А вы заметили насколько некачественно рисуется сам текст? Ни ClearType, ни кернинга толкового, ни лигатур и прочих ОТ изысков. Короче скучно и безыдейно.
  • Аватарка
    17 апреля 2009 в 18:51 mihdan
    Единственное стоящее решение это sIFR, так как и выглядит прилично и текст копировать можно, вы представьте как пользователю станет не по себе, когда он не сможет скопировать текст, который он видит. РНР-тож неплохо, но зачем его напрягать по пустякам?
  • Аватарка
    1 июня 2009 в 17:28 IiIup
    А как к таким решениям относятся поисковые системы? Контент индексируется?
  • Аватарка
    1 июня 2009 в 17:54 ]]>Grin]]>
    Нет, там же все на JS присабачивается, так что все норм
  • Аватарка
    15 августа 2009 в 21:15 RSR
    Cufon - сделал , но не сработало. Сгенерировал, подрубил библиотеку. . . Молчит и ничего не показывает. . .
    Можете подробней рассказать?
  • Аватарка
    15 августа 2009 в 21:45 ]]>Grin]]>
    RSR, попробуй до библиотеки куфона подключить jquery или mootools. Дело в том, что куфону нужен селекторный движок, а он есть только в последних браузерах (в Сафари точно есть).
  • Аватарка
    18 августа 2009 в 20:51 ]]>I.Eugene]]>
    Я останусь приверженцем sIFR и прочих Flash технологий, ибо такой гемор с Явой взорвёт мой моск.
  • Аватарка
    21 мая в 19:35 Danil
    Недавно еще Google API открыли вот видео по его использованию нашел
    http://prootime.ru/to-use-any-font-in-your-site
  • Аватарка
    27 мая в 18:36 ]]>User]]>
    Накрутили, так накрутили :) Все намного проще, есть стандартные свойства СSS для импорта шрифтов. Смотрите тут http://www.tryboi.com/6960 свойство @font-face
  • Аватарка
    25 июня в 22:35 Leopard
    Мне помог тайпфэйс. Фонт-файс, конечно, лёгкий способ, но не во всех браузерах идёт.
  • Аватарка
    27 июня в 14:38 Leopard
    Оговорюсь. Я удалил этот шрифт из папки "ШРИФТЫ" и получилась фигня.
  • Аватарка
    27 июня в 14:41 Leopard
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>страница</title>
    <script type="text/javascript" src="font1.js"></script>
    <script type="text/javascript" src="typeface-0.14.js"></script>
    <style type="text/css">
    body {font-family:"Romantica script",Helvetica;
    font-size:2000%;
    text-align:center;
    color:red;
    background-image:url(../imgs/golub18.gif);}
    
    </style>
    </head>
    
    <body>
    hallo
    </body>
    </html>

    скажите, что я сделал не так
  • Аватарка
  • Эл. почта (используется для Граватарки)
  • Домашняя страница
  • Имя в Твиттере
  • Разрешенные теги Текст сообщения (надо бы заполнить это поле)
  • как выглядит какой тег
    жирный текст <b>жирный текст</b>
    курсивный тект <i>курсивный тект</i>
    зачеркнутый текст <s>зачеркнутый текст</s>
    подчеркнутый текст <u>подчеркнутый текст</u>
    ссылка <a href="адрес">ссылка</a>
    function foo() { ... }
    <pre><code>function foo() { ... } </code></pre>