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