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

20077
Juliano

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

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

Comparing Fedora 8 and Ubuntu 9.04 font anti-aliasing.

Я использую один и тот же домашний каталог, и я уже проверил, что ресурсы 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)?

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

3 ответа на вопрос

35
John T

Существует старая хитрость, позволяющая сделать шрифты в 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> 

До:

alt text

После:

alt text

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

Как сказал Джон, этот ~/.fonts.confфайл полезен для настройки конфигурации шрифта.

В конце концов я понял, как это работает после прочтения этой статьи:

http://www.kilobitspersecond.com/2009/04/17/ubuntu-font-hinting-you-a-cautionary-tale/

0
JannieT

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

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

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