Почему блоки кода StackOverflow выглядят ужасно в Chrome 37?


16

Я только что обновил Google Chrome до версии 37 в своей системе Linux. Теперь блоки кода выглядят так:

введите описание изображения здесь

И текст пока я пишу этот вопрос выглядит так:

введите описание изображения здесь

В той же системе вопрос с блоками кода выглядит нормально с Firefox.

В чем проблема со шрифтами в Chrome 37?

Подробная информация

Согласно инструментам разработчика Google Chrome, были вычислены следующие семейства шрифтов:

Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;

В Firefox:

Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif

Щелкните правой кнопкой мыши блок кода, выберите «Проверить элемент», на правой панели консоли разработчика выберите вкладку «Вычисленные», прокрутите вниз и разместите имя шрифта, которое там указано, - сделайте это как на Chrome и Firefox. Мне интересно, выбирает ли Chrome растровый шрифт ...
— user1686

Я имел в виду название шрифта внизу ; в Chrome он находится под меткой «Rendered Font». Вычисленные стили в любом случае будут одинаковыми в обоих браузерах, но фактически выбранный шрифт может отличаться.
— user1686

4
По-видимому, они перешли от использования строго типизированного языка к слабо типизированному.
— Даниэль Р Хикс

4
@DanielRHicks: Как это вообще ...
— user1686

1
Это, вероятно, относится либо к meta.SO, если проблема связана с SO, либо к meta.SE
— Crippledsmurf

Ответы:


8

Сделайте следующее:

  1. Создать файл ~/.fonts.conf
  2. Добавьте следующий текст

    <match target="font" >
        <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
    </match>
    
  3. Перезапустите Chrome

Источник: https://code.google.com/p/chromium/issues/detail?id=408059


2
Работал на меня. Хотя шрифт в stackoverflow определенно выглядит не так, как раньше, но, по крайней мере, теперь его можно прочитать.
— минизм

Это случилось со мной сразу после регистрации шрифта Monaco с помощью Fedora 19. Этот ответ работал для меня, как описано.
— Рубенс Мариуццо

1
В недавнем дистрибутиве создание файла ~/.fonts.confвызовет предупреждение об устаревании . Вместо этого создайте файл по адресу: ~/.config/fontconfig/fonts.conf. Более подробная информация по адресу: askubuntu.com/a/231274/24159
— Рубенс Мариуццо

2

Вы, кажется, сталкиваетесь с столкнулись с ошибкой Chrome 37 при рендеринге шрифтов Linux, которая, вероятно, вызвана их обновлением рендеринга в Windows. Это должно было быть исправлено до релиза, согласно некоторым сообщениям там, но другие явно говорят, что это не так. Здесь предлагается множество предложений по решению этой проблемы, в том числе переход на бета-версию 38 или обновление информации о локальных шрифтах и ​​изменение параметра автоматической подсказки.

Я перепишу их пример ~ / .fonts.conf, но я бы попробовал только в крайнем случае. Попробуйте сначала бета.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="autohint"><bool>false</bool></edit>
  </match>
</fontconfig>`

0

У меня такая же проблема. ОС: Linux Mint 17 Cinnamon с расширениями шрифтов.

Проверьте Zoom вашего текущего дисплея Chrome. Уменьшение или увеличение масштаба должно прояснить рендеринг вашего шрифта.


1
Ну ... я действительно не хочу использовать веб-сайты с 110% увеличением. Это приятно знать, но не ответ.
— Мартин Тома

0

Редактировать ~ / .fonts.conf у меня работает, мой ~ / .fonts.conf (debian Jessie, xfce4, chrome 43.0.2357.81 (64-bit)):

<!-- put to ~/.fonts.conf to improve chrome font rendering -->
<match target="font">
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>

Похоже, вопрос касается версии 37. Знаете ли вы, будет ли ваше решение работать с версией 37, а также с версией 43?
— Джейсон Аллер

Работает на версии 37 для меня, но это должно зависеть от того, какую платформу вы используете, вы можете попробовать эти опции один за другим, если он не работает.
— kurtmeln
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.