Жирная ошибка рендеринга шрифта в шрифте iOS 4.2+ webfont (ttf) - PullRequest
54 голосов
/ 21 февраля 2011

Это вполне определенно: указать рендеринг шрифта ttf font-weight:bold неправильно на мобильном сафари на iOS, открыть демонстрационный сайт с iphone / ipad с iOS 4.2 / 4.3 Beta 3 или выше:

(это Reenie +Шапка из Google шрифтов)

http://jsbin.com/ojeqe3/16/

Снимок экрана

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

Мой друг сообщит об этой ошибке в Apple.Тем не менее, что он может сделать, чтобы решить эту ошибку?(убить текст-настроить не ОК)

Обновление: Это не исправлено в iOS5.

Лучшее решение, которое я знаю дляпроблема будет

  1. Использовать font-weight:normal (как показано в демоверсии)
  2. Использовать -webkit-text-strok e или text-shadow, чтобы оно выглядело "жирным" (плюс только iPad)css - префикс тела, добавленный js, а не только медиа-запрос)

Ответы [ 4 ]

34 голосов
/ 13 мая 2011

Была такая же проблема с h1, унаследовавшим font-weight: bold; от родительского класса.Просто переписать унаследованный стиль с помощью font-weight: normal;

27 голосов
/ 09 августа 2012

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

В вашем случае Reenie Beanie не включает жирный стиль , и если вы используете их в качестве заголовка, не меняя font-weight на normal или 400 это сделает рельефный жирный шрифт «искусственным».

Обратите внимание, что использование искусственных стилей обычно с ошибками в некоторых браузерах , а не только в Mobile Safari.

Решение 1. Используйте соответствующий font-weight

Таким образом, лучшее решение - изменить вес шрифта на тот, который предоставляют шрифты Google, быстрое исправление ниже:

h1, h2, h3, h4, h5, strong, b { 
    font-weight: 400; 
} 
/* or font-weight: normal */ 

Решение 2. Используйте нужный шрифт, выделенный полужирным / курсивом

Другое решение состоит в том, чтобы выбрать шрифт из архива веб-шрифтов, который включает в себя жирный стиль. Альтернативы в Google Fonts, которые очень похожи на Reenie Beanie и являются «более смелыми», были бы, например, Рука Гочи , Солнечный свет или Постоянный маркер .

Решение 3. Подделка подделки с помощью других средств

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

7 голосов
/ 24 апреля 2011

не используйте теги «жирный» или «жирный». они не нужны, если вы используете определенный взвешенный веб-шрифт.

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

6 голосов
/ 02 апреля 2011

Попробуйте применить это правило CSS:

-webkit-font-smoothing: antialiased;
...