LINUX.ORG.RU

[опять ШГ] Как настроить нормальное сглаживание?


0

0

LCD-монитор подключен через цифровой вход (раньше был другой монитор, и подключен был через аналоговый - такой проблемы не было). Если включить сглаживание, получается цветной ореол вокруг текста. Если сглаживание отключить, ореол исчезает, но и шрифты выглядят ужасно.

Кусок моего /etc/fonts/fonts.conf:

	<match target="font">
		<edit name="autohint" mode="assign">
			<bool>true</bool>
		</edit>
		<edit name="hinting" mode="assign">
			<bool>true</bool>
		</edit>
		<edit name="antialias" mode="assign">
			<bool>true</bool>
		</edit>
		<edit name="rgba" mode="assign">
			<const>none</const>
		</edit>
	</match>
Подскажите, что изменить, чтобы не было цветного ореола, но и сглаживание было более-менее сносным.

☆☆☆☆☆

1. Перевести autohint в false.
2. Последовательно попробовать разные значения параметра rgba вместо none.

anonymous
()
Ответ на: комментарий от anonymous

1. Перевести autohint в false. 2. Последовательно попробовать разные значения параметра rgba вместо none.

Сейчас попробую.

Eddy_Em ☆☆☆☆☆
() автор топика

Сделал вот так:

        <match target="font">
                <edit name="autohint" mode="assign">
                        <bool>false</bool>
                </edit>
                <edit name="hinting" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="hintstyle" mode="assign">
                        <const>hintfull</const>
                </edit>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="rgba" mode="assign">
                        <const>rgb</const>
                </edit>
        </match>
но все равно далеко от идеала, и ореол вокруг черных букв все еще цветной.

Игрался со всеми перечисленными параметрами, лучше не получилось :)

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от x905

в домашнем каталоге .fonts.conf не может мешать ?

Удалил на всякий случай (до изменения общесистемного).

Народ, ну посоветуйте, пожалуйста, у кого на LCD мониторе нормально отображаются шрифты, что написать в /etc/fonts/fonts.conf? Не хочу иксы и библиотеки патчить, как предлагают в гугле.

Eddy_Em ☆☆☆☆☆
() автор топика

Поставить генту и патченый freetype из оверлея devnull

xorik ★★★★★
()
<?xml version="1.0"?>
     <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
     <fontconfig>
     <match target="font">
        <test qual="all" name="rgba"><const>unknown</const></test>
           <edit name="rgba" mode="assign"><const>rgb</const></edit>
     </match>
     <match target="font" >
	<edit mode="assign" name="hinting">
	 <bool>true</bool>
	</edit>
     </match>
     <match target="font" >
	<edit mode="assign" name="hintstyle">
	 <const>hintslight</const>
	</edit>
     </match>
     <match target="font" >
	<edit mode="assign" name="antialias">
	 <bool>true</bool>
	</edit>
     </match>
    <match target="pattern" >
	<edit mode="assign" name="autohint">
	 <bool>true</bool>
	</edit>
     </match>
     <match target="font">
         <test name="weight" compare="more">
             <const>medium</const>
         </test>
         <edit name="autohint" mode="assign">
             <bool>false</bool>
         </edit>
     </match>
     <match target="pattern" name="family" >
	<test name="family" qual="any" >
	 <string>Helvetica</string>
	</test>
	<edit mode="assign" name="family" >
	 <string>sans-serif</string>
	</edit>
     </match>
</fontconfig>

У меня вот так, ореола нет. Моник тоже LCD, подключен по цифровому входу

evoken
()

Поставь для интерфейсов шрифт Verdana вместо беслатного Sans и отключи сглаживание. Это, конечно, дело вкуса, но мне неудобно читать размытый шрифт, как бы качественно его не размывало. Во всяком случае не с разрешениями мониторов 90-100 dpi.

azure ★★
()
Ответ на: комментарий от Eddy_Em

> Игрался со всеми перечисленными параметрами

Let's face it - с твоей матрицей ргб сглаживания у тебя не будет.

ЗЫ. Чего тебе там патчить то надо? Во всех дистрах нормальное сглаживание работает искаропки.

LamerOk ★★★★★
()
Ответ на: комментарий от azure

Поставь для интерфейсов шрифт Verdana вместо беслатного Sans и отключи сглаживание.

Дальнейшее развитие Verdana — это шрифты Microsoft Calibri и DejaVu Sans.

Для сглаживания шрифта нужно использовать хинтинг.

iZEN ★★★★★
()

<edit name=«rgba» mode=«assign»>
<const>rgb</const>
</edit>

замени на

<edit name=«rgba» mode=«assign»>
<const>none</const>
</edit>

tr0ll
()
Ответ на: комментарий от tr0ll

<edit name=«rgba» mode=«assign»> <const>rgb</const> </edit>

замени на

<edit name=«rgba» mode=«assign»> <const>none</const> </edit>

так еще хуже.

В общем, сглаживание я оставил, а шрифты сменил на DeJaVu. Без сглаживания смотреть страшно :), так что пусть уж лучше будет ореол.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Это из-за ргб-сглаживания. Убери его и поставь нормальный хинтинг - тогда можно будет сравнивать. На мой вкус у DeJaVu слишком много мелких штрихов, что на мониторе отразить нормально сложно. Либерейшн попроще и в качестве «рабочего» шрифта выглядит приятнее и в меню смотрится нормально.

LamerOk ★★★★★
()

Кроме rgba, autohint, есть еще lcd_filter (= lcd_default, lcd_legacy, lcd_none), поиграйся с ним. lcd_filter может быть не вкомпилян в твою версию freetype.

gh0stwizard ★★★★★
()
Ответ на: комментарий от menhater

А как решить проблему у шрифта Droid с отображением жирного (bold)? Оно размазанное при сглаживании. И в KDE и в гноме. У санс, тахомы и других такой проблемы не вижу. На мандриве, убунту жирный дроид у меня размазанный. hintfull, rgb. С удовольствием на него бы перешел, но размазанный болд напрягает.

anonymous
()
Ответ на: комментарий от Eddy_Em

>Сделал вот так

Вот так уже нормально.

но все равно далеко от идеала, и ореол вокруг черных букв все еще цветной


Значит, libXft/cairo/fontconfig/freetype у тебя с использованием только непатентованных (т.е. патентно-чистых) алгоритмов. Если в Gentoo - то бери патченые в оверлее devnull, только замаскируй libXft-2.1.14, с ним qt4 рендерится некрасиво. Если другой дистр - ищи под него патченые либы.

KRoN73 ★★★★★
()
Ответ на: комментарий от tempuser002

>потянет?

Да, достаточно качественный рендеринг :)

KRoN73 ★★★★★
()
Ответ на: комментарий от LamerOk

>Не потянет.

Аргументация будет или как всегда? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от LamerOk

>Let's face it - с твоей матрицей ргб сглаживания у тебя не будет.

А где он про матрицу писал? Не видно.

KRoN73 ★★★★★
()
Ответ на: комментарий от iZEN

>Для сглаживания шрифта нужно использовать хинтинг.

Главное не путать хинтинг и автохинт :)

KRoN73 ★★★★★
()
Ответ на: комментарий от LamerOk

>получается цветной ореол вокруг текста.

На приведённом скрине - совершенно нормальный рендеринг. Если у кого-то видны цветные ореолы - калибруйте видеосистему и настраивайте параметры монитора. От этого многое зависит.

KRoN73 ★★★★★
()
Ответ на: комментарий от dhameoelin

>то ли у меня монитор - говно, то ли что-то случилось, но ореол я не вижу в упор

Просто у тебя видеосистема, значит, нормально настроена :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>А как решить проблему у шрифта Droid с отображением жирного (bold)? Оно размазанное при сглаживании.

Пример можно?

http://s48.radikal.ru/i120/0912/46/ca94a02a63b9.png - тут размазано или нет? Если да, то куда смотреть?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Пример можно?

http://s48.radikal.ru/i120/0912/46/ca94a02a63b9.png - тут размазано или нет? Если да, то куда смотреть?

Здесь-нет, а в других приложениях, на сайтах и т.п. размазанное. Sans 8pt: [url=http://s40.radikal.ru/i087/0912/28/7ba6807f751c.png][img]http://s...

Droid 8pt: [url=http://i076.radikal.ru/0912/c1/919dc3414afd.png][img]http://i076....

anonymous
()
Ответ на: комментарий от anonymous

А, понятно. Да, такое есть. Именно в Дроиде и ещё нескольких шрифтах. Просто я обычно сижу сантиметрах в 40-50 от монитора, так что такое размытие нормально смотрится.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Дошел до такого:

        <match target="font">
                <edit name="autohint" mode="assign">
                        <bool>false</bool>
                </edit>
                <edit name="hinting" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="hintstyle" mode="assign">
                        <const>hintfull</const>
                </edit>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="rgba" mode="assign">
                        <const>vrgb</const>
                </edit>
                <edit name="lcdfilter" mode="assign">
                        <const>lcdlegacy</const>
                </edit>
                <edit name="dpi" mode="assign">
                        <const>100</const>
                </edit>
        </match>
Изменений ноль. Придется мучится с расплывчатыми шрифтами. Монитор маленький (22", 16:9), так что дальше сантиметров 40 я сидеть от него не могу.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

><const>vrgb</const>

У тебя такой экзотический монитор? С вертикальным расположением триад? Или ты его на боку держишь? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

У тебя такой экзотический монитор? С вертикальным расположением триад?

Этот параметр можно вообще убрать - он никак не отражается на отображении шрифтов (пробовал все возможные значения - разницы никакой).

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Adjkru

rgba

См. мой предыдущий пост: при изменении значений параметра rgba отображение никак не изменяется.

Eddy_Em ☆☆☆☆☆
() автор топика

Какой монитор? У Samsung'ов с PVA-матрицей каждый пиксел состоит из четырех треугольных частей, каждая из которых уже содержит красную, зеленую и синюю части - т.е. все настолько симметрично, что правильным значением для rgba является именно «none».

AEP ★★★★★
()
cat ~/.fonts.conf 
<?xml version='1.0'?>  
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>                            
 <match target="font" >                 
  <edit mode="assign" name="rgba" >     
   <const>none</const>                  
  </edit>                               
 </match>                               
 <match target="font" >
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hintstyle" >
   <const>hintmedium</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="antialias" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <test compare="more_eq" name="size" qual="any" >
   <double>8</double>
  </test>
  <test compare="less_eq" name="size" qual="any" >
   <double>15</double>
  </test>
  <edit mode="assign" name="antialias" >
   <bool>false</bool>
  </edit>
 </match>
 <match target="font" >
  <test compare="more_eq" name="pixelsize" qual="any" >
   <double>11</double>
  </test>
  <test compare="less_eq" name="pixelsize" qual="any" >
   <double>20</double>
  </test>
  <edit mode="assign" name="antialias" >
   <bool>false</bool>
  </edit>
 </match>
</fontconfig>

LamerOk ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Монитор маленький (22", 16:9), так что дальше сантиметров 40 я сидеть от него не могу.

Измеряется расстояние от плоскости монитора до глаз, не до задницы. Если у тебя при 22" расстояние до глаз 40 см, тебе нужно сменить очки.

LamerOk ★★★★★
()
Ответ на: комментарий от Eddy_Em

>Этот параметр можно вообще убрать - он никак не отражается на отображении шрифтов

Очень даже отражается. Когда порядок пикселов не соответствует мониторному - полная жопа с цветными каёмками. Если не отражается - значит в системе что-то собрано криво. В Gnome прямо в настройках вида меняешь радиокнопку типа - на лету всё меняется.

KRoN73 ★★★★★
()
Ответ на: комментарий от Eddy_Em

>У меня IceWM.

Какая разница? Просто Gnome позволяет менять параметр на лету. А в IceWM придётся перезагружать иксы. Я к тому, что влияет и ОЧЕНЬ сильно.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Я к тому, что влияет и ОЧЕНЬ сильно.

У меня, похоже, или иксы косячные, или монитор, потому что во что бы я ни устанавливал rgba: none, rgb, bgr, vrgb, vbgr, разницы в отображении нет вообще никакой. Я то думал, при смене rgb <-> bgr хотя бы оттенки ореола меняться будут - как бы не так, ничего не изменяется: слева получается красный ореол, а справа - синий.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

>Шрифты на вашей первой картинке выглядят точно так же ужасно, как у меня :)

У меня первая - отлично, последние две - ужасно.

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

...

Хотя дурацкое ещё предположение - а не аналоговый ли (VGA) вход у монитора используется? Тогда проблема может быть от плохой настройки. Достаточно на 1/6 пиксела смещение получить, чтобы весь субпиксельный рендеринг пошёл лесом.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.