Сначала немного справочной информации.
Кажется, что использование правила CSS3 @ font-face может неожиданным и нежелательным образом взаимодействовать с рендерингом шрифтов ClearTypev в любом браузере, в любой версии Windows (XP и выше).
Я впервые задокументировал это как ошибка Каталога шрифтов Google , когда столкнулся с ней. Дальнейшие исследования дают противоречивую информацию; включение или отключение ClearType может помочь или повлиять на отображение шрифта @ font-face в любом веб-браузере в Windows. Помогает ли ClearType или причиняет боль, похоже, полностью зависит от используемого шрифта (-ов) и от того, какие подсказки встроены в них.
Например, поток на сайте поддержки TypeKit , кажется, указывает на проблемы с отображением шрифтов, когда ClearType ОТКЛЮЧЕН. Однако плагин jQuery был разработан для улучшения рендеринга шрифтов, когда ClearType включен, но этот плагин работает только в Internet Explorer. Интересно, что шрифт, используемый на демонстрационных страницах плагина, плохо отображается при включенном ClearType, но когда он отключен, две демонстрационные страницы отображаются одинаково / правильно.
Итак, учитывая всю эту справочную информацию и предыдущие исследования, мой вопрос:
Каков наилучший способ / компромисс для обеспечения достойного рендеринга шрифтов для современных браузеров на всех платформах, независимо от настроек Windows ClearType?
Моей первой идеей было использование таблиц стилей, которые по умолчанию включают шрифты @ font-face. JavaScript может определять операционную систему пользователя и, если обнаруживается Windows, может программно изменять классы таблиц стилей для использования семейств шрифтов, которые не включают шрифты @ font-face, так что используются системные резервные шрифты. Позже я понял, что кто-то еще тоже думал о этом . Это хакерское и не элегантное решение. В идеале я хочу, чтобы мои веб-шрифты работали независимо от платформы, не полагаясь на что-то вроде sIFR или Cufon.
У кого-нибудь есть указатели или лучшие идеи?