Рендеринг веб-шрифтов Open Sans Google в Chrome

Я заметил значительную разницу в воспроизведении Open Sans (веб-шрифта Google) из Chrome в Safari/Firefox. Прикрепляю две фотографии, первая хром, вторая сафари.

Все, что у меня есть в таблице стилей, это:

        font-family: 'Open Sans', sans-serif;
        font-size:14px;

Надеюсь, вы можете помочь, так как мне очень нравится хром (первое изображение), но НЕНАВИЖУ другое!!

Chrome

Safari/Firefox


person JamesBriggs    schedule 29.10.2012    source источник
comment
Вы уже применили исправление Chrome для отображения формата SVG в соответствии с fontspring. com/blog/smoother-web-font-rendering-chrome ? Обычно это решает проблему, которая обратная (более блочный текст в Chrome), но если вы этого не сделали, вам следует установить это на место, а затем посмотреть, как выглядят рендеринг.   -  person Nils    schedule 27.03.2013
comment
связанный вопрос stackoverflow.com/questions/17867574/   -  person Mousey    schedule 29.09.2015


Ответы (6)


В прошлом мне везло, когда я использовал font-weight: lighter!important; для шрифтов, которые кажутся более жирными и полностью отличаются от того, как они должны выглядеть. Каждый браузер интерпретирует шрифты по-своему. Google Web Fonts изо всех сил старается предоставлять правильные версии, но иногда между браузерами и операционными системами происходят радикальные изменения.

Надеюсь, эта информация поможет! Дайте мне знать, если это решение работает, в противном случае я могу изучить его дальше. Open Sans — хороший шрифт для веба, хороший выбор :)

person Parker Young    schedule 29.10.2012
comment
Привет Паркер, спасибо за ответ. К сожалению, похоже, это не работает! :( Есть еще идеи? - person JamesBriggs; 29.10.2012
comment
Эй, Джеймс, к сожалению, не так много вариантов исправления несоответствия шрифтов в разных браузерах. Webkit печально известен плохим рендерингом шрифтов, но в данном случае это Firefox. Вы смотрели на похожие шрифты в Google Fonts (тот же визуальный стиль, что и Open Sans), которые более последовательны? - person Parker Young; 31.10.2012
comment
Привет Паркер. Вы уверены, что это Firefox, поскольку и Firefox, и Safari отображают шрифт одинаково. Мне нравится только рендеринг, предоставляемый Chrome (и то, как он отображается в шрифтах Google). - person JamesBriggs; 01.11.2012
comment
Я думал, что Firefox работает со сбоями, но теперь, когда я перечитал ваш вопрос, возможно, Chrome отображает его неправильно (в вашем случае - правильно). Пробовали ли вы другие шрифты, чтобы увидеть, как они отображаются? Raleway в Google Fonts может быть хорошей альтернативой, он выглядит одинаково в Safari, Chrome и Firefox на OSX: google.com/webfonts/specimen/Raleway - person Parker Young; 01.11.2012
comment
Это поздно, но в зависимости от того, как вы вставляете URL-адрес шрифта, вы можете получить более согласованный шрифт браузера. если вы отрежете :300italic,400italic,600italic,700italic,800italic,300,400,600,700,800 из URL-адреса, вы получите шрифт, который выглядит почти одинаково во всех браузерах. - person Michael; 19.05.2013
comment
Вы также должны быть осторожны с локальными шрифтами — если у вас установлен шрифт в вашей системе, один браузер может использовать установленную версию, а не веб-шрифт. Еще одна проблема, с которой я столкнулся, заключается в том, что имена шрифтов от Google несовместимы, и поэтому вы можете просить Open Sans, а в таблице стилей написано OpenSans, и поэтому он возвращается к системному шрифту. Извините, мне сегодня не хватило кофе. - person Andrew Swift; 30.11.2014

Добавить в голову

<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,300' rel='stylesheet' type='text/css'>

правило CSS

.btn{
    font-family: 'Open Sans', sans-serif;
    font-weight:300;
    text-rendering: optimizeLegibility;
font-size: .9em;
}
person yorkfx    schedule 03.04.2013
comment
добавьте это в начало страницы css: - @import url(fonts.googleapis .com/css?family=Open+Sans:400,300); - person Mikeys4u; 19.01.2016

Я добавил прямо эту строку в свой заголовок, и она работает!

<link href='//fonts.googleapis.com/css?family=Open+Sans:300,400,600' rel='stylesheet' type='text/css'>

.nav > li > a {
    color: #000; font-size: 13px; font-weight: 600;
}

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

person Lidia Panio    schedule 15.07.2015
comment
Единственное решение, которое сработало для меня! Использование Chrome на iOS 9.3 - person Jonas; 22.07.2016

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

пример на tech.Ozake.com

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

Таким образом, в зависимости от того, как вы объявляете размеры шрифта и размер окна, вы получите результаты разного размера.

person Andrew Swift    schedule 30.11.2014
comment
Я нигде больше не видел этого задокументированного, но вы можете видеть на примере, что это правда. - person Andrew Swift; 25.11.2015

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

<script>
function loadCss(path){
    var fileref=document.createElement("link");
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", path);

    document.getElementsByTagName("head")[0].appendChild(fileref);
}

if (ViewUtil.isChromeBrowser()) {
    loadCss('https://fonts.googleapis.com/css?family=Open+Sans:400,600');
} else {
    loadCss('https://fonts.googleapis.com/css?family=Open+Sans:300,600');
}

we are forcing a bit 'bolder' version of font for chrome

person Andrey    schedule 10.01.2020

Вы, по-видимому, не сбросили CSS браузера по умолчанию, попробуйте явно установить вес шрифта.

person Aurelia    schedule 29.10.2012
comment
Я пробовал несколько весов шрифтов, но затем он полностью меняет его и в Chrome! - person JamesBriggs; 29.10.2012
comment
Я подозреваю, что Chrome использует другой формат, предоставленный Google (Google обслуживает другой), с одним из неправильно построенных форматов. - person Aurelia; 29.10.2012