Сглаживание плохого шрифта в Ubuntu

36

Я переключаюсь с Fedora 8 на Ubuntu 9.04 и, похоже, не могу заставить его работать с хорошим сглаживанием шрифтов. Кажется, что fontconfig Ubuntu пытается сохранить символы в целых пикселях ширины. Это делает текст более трудным для чтения, когда 1 пиксель слишком тонкий, а 2 пикселя слишком толстый.

Проверьте изображение ниже. В Fedora, когда включено сглаживание fontconfig, толщина шрифтов пропорциональна размеру шрифта. Ниже толщина различна для размеров 8, 9 и 10pt. В Ubuntu, с другой стороны, даже когда сглаживание включено, все размеры 8, 9 и 10pt имеют толщину 1 пиксель. Это затрудняет чтение большого количества текста.

Сравнение сглаживания шрифтов Fedora 8 и Ubuntu 9.04.

Я использую один и тот же домашний каталог, и я уже проверил, что ресурсы X одинаковы в обеих системах:

~% xrdb -query | grep Xft
Xft.antialias:  1
Xft.dpi:        96
Xft.hinting:    1
Xft.hintstyle:  hintfull
Xft.rgba:       none

Настройки GNOME:

~% gconftool-2 -a /desktop/gnome/font_rendering
 antialiasing = grayscale
 hinting = full
 dpi = 96
 rgba_order = rgb

Итак, вопрос: что я должен изменить в новом окне (Ubuntu), чтобы получить сглаживание, как в старом окне (Fedora)?

Жулиано
источник
8
Только я думаю, что шрифты Ubuntu намного более четкие и удобочитаемые, чем шрифты Fedora? ИМХО шрифты Fedora выглядят слишком размытыми
Яба
Мне больше нравится тот, что справа. Слева слишком размыто. К каждому его собственное, хотя. ;)
Саша Чедыгов
1
@Yaba, @musicfreak: Если у вас ЭЛТ-мониторы или низкое разрешение, то левые могут выглядеть слишком размытыми. В противном случае они лучше отражают размер шрифта. Посмотрите, как толщина линий на правом изображении внезапно увеличивается с 1 до 3 пикселей при увеличении размера шрифта. Это также плохо, когда это проектируется. Текст не становится более читабельным, если вы увеличиваете размер шрифта, пока он не станет слишком большим (когда он переходит на 3 пикселя).
Джулиано
1
Кроме того, в примере с Ubuntu посмотрите, как отсутствует пропущенный пиксель в «k» в «quick» в третьей текстовой строке, что делает его похожим на два символа: «|» и "<".
Джулиано
2
@Juliano Тогда у меня есть первый доступный ноутбук со встроенным ЭЛТ-монитором :-)
Yaba

Ответы:

36

Существует старая хитрость, позволяющая сделать шрифты в Ubuntu более плавными (и почти во всех дистрибутивах, где работает Gnome):

Откройте .fonts.conf в вашем домашнем каталоге ( ~/.fonts.conf) и вставьте его в:

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

До:

альтернативный текст

После:

альтернативный текст

Джон Т
источник
Именно то, что я искал! Я много играл с этим файлом, с опциями 'antialias', 'hinting', 'hintstyle', 'rgba' и 'lcdfilter', и ничего не помогло. 'autohint' сделал это! Просто примечание: у вас должен быть rgba = none, чтобы autohint работал правильно. Похоже, autohint включен по умолчанию в Fedora, но не в Ubuntu.
Джулиано
2
+1. Безумно, что это никак не отражено в настройках шрифта.
Кент Boogaart
3
Печальное размышление о философии GNOME, что вам даже нужно задать этот вопрос.
sml
@Juliano Auto-hinting работает правильно с субпиксельным рендерингом, поэтому rgba = none.
Адам Быртек
@ Адам: Вы говорите сейчас или о том, когда этот вопрос был задан еще в 2009 году (Ubuntu 9.04)?
Джулиано
0

Последние версии Ubuntu позволяют изменять эти настройки через «Настройки»> «Внешний вид»> «Шрифты»> «Подробности».

Я считаю, что Medium хинтинг является самым приятным на моем ЖК-экране.

JannieT
источник
Да, опция хинтинга уже известна. Параметр «autohint», как упоминал Джон Т, - это параметр, который отсутствует в этом диалоговом окне, в том числе в последней версии Ubuntu.
Джулиано