Почему блоки кода 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.