Шрифт в Salix OS 13.37 [OK]

Russian forum

Moderator: posixru

dias75
Posts: 37
Joined: 3. Feb 2012, 13:02
Location: Ukraine

Re: Шрифт в Salix OS 13.37 (решено)

Post by dias75 »

Andyun, распиши пожалуйста поподробней все шаги. Уж очень непросто чайнику разобраться.
У меня со шрифтами в Firefoxe караул..
http://photoload.ru/data/3b/6b/a8/3b6ba ... 4e4058.png
http://photoload.ru/data/3d/bb/f0/3dbbf ... d71f12.png
User avatar
Andyun
Posts: 456
Joined: 17. Jun 2010, 09:51
Location: Russia: Severodvinsk / Россия: Северодвинск

Re: Шрифт в Salix OS 13.37 (решено)

Post by Andyun »

Мне кажется, ваша проблема не связана с рендерингом шрифтов. Проблема в выборе шрифта. Я использую штатные установки шрифтов и графическое окружение XFCE.
Попробуйте установить готовый отредактированный пакет: http://mysalixos.narod2.ru/freetype-2.4 ... k13.37.txz
и перезагрузить систему.
Last edited by Andyun on 15. Mar 2012, 20:23, edited 2 times in total.
dias75
Posts: 37
Joined: 3. Feb 2012, 13:02
Location: Ukraine

Re: Шрифт в Salix OS 13.37 (решено)

Post by dias75 »

Я вот смотрю в Gslapt предлагаемый пакет есть (пропатченный ) . Между ними есть разница ?
Перед установкой вашего пакета надо удалить уже установленный freetype 2.4.4-i486-1 ?
Image
User avatar
Andyun
Posts: 456
Joined: 17. Jun 2010, 09:51
Location: Russia: Severodvinsk / Россия: Северодвинск

Re: Шрифт в Salix OS 13.37 (решено)

Post by Andyun »

Осторожно! Без Freetype система сразу же перестанет работать в графическом окружении, поэтому Freetype нужно удалять в терминале и сразу же устанавливать заранее подготовленный пакет другой версии Freetype. К тому же, если попытаться удалить Freetype в Gslapt, то это повлечёт удаление огромного количества зависимых от Freetype пакетов.
1. Скачайте мою версию Freetype (она отредактирована как указано мной выше).
2. Откройте терминал в папке с этим пакетом.
3. Наберите команду

Code: Select all

su
4. Наберите пароль администратора.
5. Наберите

Code: Select all

removepkg freetype
6. Потом

Code: Select all

installpkg freetype-2.4.8-i486-1_slack13.37.txz
7. Перезагрузите компьютер.
dias75
Posts: 37
Joined: 3. Feb 2012, 13:02
Location: Ukraine

Re: Шрифт в Salix OS 13.37 (решено)

Post by dias75 »

Благодарю, Andyun !
Все стало значительно лучше. Однако все равно буквы мылят. Каждая буква имеет ореол, тень - как ни играйся в станд.настройках.

В том-же Austrumi рендеринг шрифтов безукоризнен. А можно-ли его /etc/fonts/fonts.conf перенести в Salix ? Там в Austrumi в /etc/fonts/ еще один какой-то файл есть - fonts.dtd

Вот нашел интересное how-to. Сам еще не пробовал. Внизу ссылки на картинки - до и после. На 1 картинке - та-же картина что и в Salix, а на 2 картинке все уже весьма красиво.. )
http://rutracker.org/forum/viewtopic.php?t=3578041
Полностью копипастю его сюда:
Вы все еще завидуете шрифтам в Ubuntu? Тогда этот how to для вас!
1. Скачиваем три архива со слакбилдами:
root@rreset:~# wget http://www.mostlyslack.com/slackstuff/c ... iro.tar.gz
root@rreset:~# wget http://www.mostlyslack.com/slackstuff/c ... ype.tar.gz
root@rreset:~# wget http://www.mostlyslack.com/slackstuff/c ... Xft.tar.gz
2. Распаковываем:
root@rreset:~# tar xvf cairo.tar.gz
cairo/
cairo/cairo-1.10.0-buggy_gradients.patch.gz
cairo/cairo.SlackBuild
cairo/source.sh
cairo/cairo-9999-cleartype.patch.gz
cairo/slack-desc
3. Переходим в образовавшуюся папку и запускаем скрипт для скачивания исходника:
root@rreset:~# cd cairo
root@rreset:~/cairo# ./source.sh
4. Запускаем слакбилд, который в свою очередь накладывает патчи на исходник и собирает пакет:
root@rreset:~/cairo# ./cairo.SlackBuild

Если пакет собрался успешно, видим примерно следующее:
Slackware package /tmp/cairo-1.10.2-x86_64-3.txz created.
Вместо x86_64 в имени пакета у вас будет написана ваша архитектура, x86_64, i1486, arm etc

5. Обновляем установленный в системе пакет cairo свежесобраным:
root@rreset:~/cairo# upgradepkg cairo /tmp/cairo-1.10.2*
6. Повторяем пункты 2. 3. 4. 5. для freetype и libXft
7. Создаем в домашней папке файл .fonts.conf со следующим содержимым:

Code: Select all

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit name="autohint">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>
8. Наслаждаемся шрифтами после перезагрузки.

P.S thnx to Daedra.
Ok I went ahead and got them updated. Here is the link
http://www.mostlyslack.com/slackstuff/cleartype
I put a bash script in each build called source.sh that will download the source for you, I was going to add this directly into the build but I got lazy and just did it this way . After you've built and installed the 3 packages (freetype, cairo, libXft) you will need to edit your fontconfig to enable sub-pixel rendering, you can add these features globally by adding the correct symlinks from your /etc/fonts/conf.avail to your /etc/fonts/conf.d directory. Or you can just use my fonts.conf file in the above link and save it in your home directory as .fonts.conf. Once that is done just reboot and you should have it working.

Before

http://www.mostlyslack.com/slackstuff/c ... artype.png
After
http://www.mostlyslack.com/slackstuff/c ... type.png[i]
Keep in mind that these patches are slightly different that the ones that dugan provides. I prefer these because they give a slight bold appereance to the fonts. If you want your fonts more like windows XP/7 then you probably want to look at dugans ubuntu patches.[/i]

Автор поста на рутрекере уточнил :
скрипт обращается к slackware64-current репозиторию, а в нем обновили версию фритайпа.
Поменяйте в скрипте
ftp://elektroni.phys.tut.fi/slackware64 ... .4.tar.bz2
на правильный
ftp://elektroni.phys.tut.fi/slackware-1 ... .4.tar.bz2
можно скачать исходник самостоятельно, пройдя по правильному линку, и бросить его к слакбилду в папку.
User avatar
Andyun
Posts: 456
Joined: 17. Jun 2010, 09:51
Location: Russia: Severodvinsk / Россия: Северодвинск

Re: Шрифт в Salix OS 13.37 (решено)

Post by Andyun »

Какое у вас графическое окружение, название и версия дистрибутива?
В графическом окружении Xfce настройки делаются в меню приложений "Настройки" --> "Внешний вид" --> вкладка "Шрифты". Они сохраняются в файлах "~/.config/xfce4/Xft.xrdb" и "~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml".
Содержимое ~/.config/xfce4/Xft.xrdb

Code: Select all

Xft.antialias: 1
Xft.hinting: -1
Xft.rgba: rgb
Xft.hintstyle: hintmedium
Содержимое ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>

<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Clearlooks"/>
    <property name="IconThemeName" type="string" value="gnome-brave"/>
    <property name="DoubleClickTime" type="int" value="250"/>
    <property name="DoubleClickDistance" type="int" value="5"/>
    <property name="DndDragThreshold" type="int" value="8"/>
    <property name="CursorBlink" type="bool" value="true"/>
    <property name="CursorBlinkTime" type="int" value="1200"/>
    <property name="SoundThemeName" type="string" value="default"/>
    <property name="EnableEventSounds" type="bool" value="false"/>
    <property name="EnableInputFeedbackSounds" type="bool" value="false"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="empty"/>
    <property name="Antialias" type="int" value="1"/>
    <property name="Hinting" type="int" value="-1"/>
    <property name="HintStyle" type="string" value="hintmedium"/>
    <property name="RGBA" type="string" value="rgb"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CanChangeAccels" type="bool" value="false"/>
    <property name="ColorPalette" type="string" value="black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"/>
    <property name="FontName" type="string" value="Sans 10.5"/>
    <property name="IconSizes" type="string" value=""/>
    <property name="KeyThemeName" type="string" value=""/>
    <property name="ToolbarStyle" type="string" value="icons"/>
    <property name="ToolbarIconSize" type="int" value="3"/>
    <property name="IMPreeditStyle" type="string" value=""/>
    <property name="IMStatusStyle" type="string" value=""/>
    <property name="MenuImages" type="bool" value="true"/>
    <property name="ButtonImages" type="bool" value="true"/>
    <property name="MenuBarAccel" type="string" value="F10"/>
    <property name="CursorThemeName" type="string" value=""/>
    <property name="CursorThemeSize" type="int" value="0"/>
    <property name="IMModule" type="string" value=""/>
  </property>
</channel>
В одном файле

Code: Select all

Xft.antialias: 1
соответствует

Code: Select all

<property name="Antialias" type="int" value="1"/>
в другом.

Code: Select all

Xft.hinting: -1
соответствует

Code: Select all

<property name="Hinting" type="int" value="-1"/>
и так далее.

Тип и размер шрифта указаны в строчке

Code: Select all

<property name="FontName" type="string" value="Sans 10.5"/>
Вам надо настроить рендеринг: уточнение (hintstyle: hintnone, hintslight, hintmedium или hintfull) и субпиксельный параметр (rgba: none, rgb, bgr, vrgb или vbgr).

Если у вас не Xfce, то посмотрите в домашней папке файлы с подобным содержимым и проверьте, изменяются ли в них значения при настройке в графическом интерфейсе. Если нет - измените их вручную. Попробуйте найти в файлах параметры "hintstyle" и "rgba" при помощи команды grep, я например использую для этого текстовый редактор Medit.
User avatar
Andyun
Posts: 456
Joined: 17. Jun 2010, 09:51
Location: Russia: Severodvinsk / Россия: Северодвинск

Re: Шрифт в Salix OS 13.37 (решено)

Post by Andyun »

Попробуйте ещё включить в файловом менеджере просмотр скрытых файлов и отредактируйте содержимое файла ".Xresources". Довьте в него такие строчки:

Code: Select all

Xft.hinting: 1
Xft.antialias: 1
Xft.hintstyle: hintmedium
Xft.rgba: rgb
User avatar
posixru
Posts: 440
Joined: 27. Mar 2010, 14:54
Location: СССР
Contact:

Re: Шрифт в Salix OS 13.37 (решено)

Post by posixru »

Создаем в домашней папке файл .fonts.conf со следующим содержимым:
У меня он вот такого вида:

Code: Select all

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
	
	<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
    </match>

    <match target="font">
	<test name="size" compare="less_eq"><double>8</double></test>
        <edit name="autohint" mode="assign"><bool>true</bool></edit>
    </match>
    <match target="font">
	<test name="size" compare="more_eq"><double>14</double></test>
	<edit name="rgba" mode="assign"><const>none</const></edit>
    </match>

    <match target="font">
        <test name="family"><string>Tahoma</string></test>
        <test name="size" compare="eq"><double>6</double></test>
        <test name="weight" compare="more_eq"><const>medium</const></test>
        <edit name="autohint" mode="assign"><bool>true</bool></edit>
    </match>
    <match target="pattern" name="family" >
        <test name="family" qual="any" >
            <string>Clean</string>
        </test>
        <edit mode="assign" name="family" >
            <string>sans-serif</string>
        </edit>
    </match>
    <match target="pattern" name="family" >
        <test name="family" qual="any" >
            <string>Fixed</string>
        </test>
        <edit mode="assign" name="family" >
            <string>monospace</string>
        </edit>
    </match>
    <match target="pattern" name="family" >
        <test name="family" qual="any" >
            <string>Nimbus Sans L</string>
        </test>
        <edit mode="assign" name="family" >
            <string>sans-serif</string>
        </edit>
    </match>
    <match target="pattern" name="family" >
        <test name="family" qual="any" >
            <string>Nimbus Roman No9 L</string>
        </test>
        <edit mode="assign" name="family" >
            <string>serif</string>
        </edit>
    </match>
    <match target="pattern" name="family" >
        <test name="family" qual="any" >
            <string>Nimbus Mono L</string>
        </test>
        <edit mode="assign" name="family" >
            <string>monospace</string>
        </edit>
    </match>

    <alias>
        <family>Droid Serif</family>
        <default><family>serif</family></default>
    </alias>

    <alias>
        <family>Droid Sans</family>
        <default><family>sans-serif</family></default>
    </alias>

    <alias>
        <family>Liberation Mono</family>
        <default><family>monospace</family></default>
    </alias>

    <alias>
        <family>serif</family>
        <prefer><family>Droid Serif</family></prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer><family>Droid Sans</family></prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer><family>Liberation Mono</family></prefer>
    </alias>
</fontconfig>
Когда и как делан не помню, как и другие настройки шрифтов... Уж больше года прошло! :)
Меня устраивает, в полной мере!
Image
dias75
Posts: 37
Joined: 3. Feb 2012, 13:02
Location: Ukraine

Re: Шрифт в Salix OS 13.37 (решено)

Post by dias75 »

posixru писал
У меня он вот такого вида... Когда и как делан не помню, как и другие настройки шрифтов...
Этот конфиг с арч-вики.

Вообще, в слаке и ее модификатах, в др.дистрах шрифты та еще проблема.. На форумах в том числе и на этом ( у соседей - нередко безрезультатно) не раз разбирали. И то что файрфокс, хромиум живут отдельной жизнью...
Одна убунта с арчем особняком стоят - пакеты пропатченные из коробки.

http://www.linux.org.ru/forum/desktop/6442588
"...Конфиги не дадут сильного эффекта. Основное качество шрифтам несёт cairo собранное с lcd патчем. А .fonts.conf .Xresources просто шлифуют то что дают lcd патчи.
Я уже поднимал тему о том что в Debian со шрифтами беда, в том смысле что ШГ убрать можно, но для этого нужно приложить немало усилий в виде сборки пакетов с патчами либо поиска реп с уже собранными пакетами. В том же арчлинуксе или убунте таких проблем нет, шрифты нормальны из коробки, да и собрать в том же арче пакет из аура можно одной командой yaourt -S cairo-lcd(либо cairo-cleartype,cairo-ubuntu,cairo-infinality, кому что нравится)..."



Перепробовал я кучу вариантов в разных комбинациях, но результаты меня не устраивали.
Предложенные выше конфиги + пакет Andyun позволяют добиться более-менее приемлемого вида букв, но только если они будут определены настройками как тоненькие (hintfull). Более толстые буквы отображаются так-себе (имхо).. А файрфоксе все грустно...
Потому пропатчил я пакеты согласно рутрекеровскому (Daedra рatches) how-to ( изменил только адрес в скрипте
1.10.2-i486-2 cairo wget ftp://elektroni.phys.tut.fi/slackware-1 ... 0.2.tar.xz
2.4.4-i486-2 freetype wget ftp://elektroni.phys.tut.fi/slackware-1 ... .4.tar.bz2
2.2.0-i486-2 libXft wget ftp://elektroni.phys.tut.fi/slackware-1 ... 2.0.tar.xz ),
создал .fonts.conf и .Xresources , установил пакет убунту шрифтов и получил толстенькие, четкие, симпатичные шрифты.

http://linuxforum.ru/viewtopic.php?id=17976
После изменений в ~/.Xresources выполнить команду ( у меня без нее система на изменения в .fonts.conf не реагировала):
[console]# xrdb -merge ~/.Xresources

В конфиге с рутрекера следует поменять значение <edit name="autohint"> <bool>true</bool> на false, тогда можно будет играться с "hintstyle".
А еще есть патчи Infinality....

С пропатченными пакетами лучший рендеринг дает SeaMonkey- при тех-же настройках .fons.conf и .Xresources и в настройках самого браузера на вкладке "Содержимое", отображение идентично убунте.
Файрфокс-же, опера при тех-же настройках .fons.conf и .Xresources рендерят по своему, но тоже вполне ... Видно есть какие-то настройки глубоко в конфигах браузера...
А вот на этом конфиге я пока остановился : Better LCD Font Rendering http://linuxtidbits.wordpress.com/2008/ ... rendering/

Полезные ссылки по шрифтам для тех, кто впервые столкнется с этим вопросом:
ClearType-сглаживание в Linux, или шрифты как в Ubuntu
http://habrahabr.ru/post/74227/
http://en.wikipedia.org/wiki/Fontconfig
http://www.freedesktop.org/software/fon ... -user.html
http://ru.wikibooks.org/wiki/%D0%A8%D1% ... 1%81%D0%B5
https://wiki.archlinux.org/index.php/Fo ... 8%D0%B9%29
http://ru.gentoo-wiki.com/wiki/%D0%9D%D ... 2_%D0%B2_X
https://wiki.archlinux.org/index.php/Fo ... 8%D0%B9%29
http://developer.gnome.org/gtk/2.24/Gtk ... -antialias
http://www.freedesktop.org/wiki/ScreenFontSettings
http://konishchevdmitry.blogspot.com/20 ... aemon.html
Глаза и Linux (шрифты и dpi) http://archlinux.org.ru/forum/viewtopic ... c543b3987d
Better LCD Font Rendering
http://linuxtidbits.wordpress.com/2008/ ... rendering/
LCD monitor test images
http://www.lagom.nl/lcd-test/
MEGA HOW-TO по шрифтам слаки http://duganchen.ca/writings/slackware/fonts/
откуда )) есмь пошли разнообразные модификации:
http://www.linuxquestions.org/questions ... re-640468/
Daedra рatches/info for 13.37 can be found at post #212 and beyond
http://www.linuxquestions.org/questions ... age15.html


:-) Я уже вроде-бы успокоился, но прочитав эту статью, вижу, что можно еще понастраивать...
https://wiki.archlinux.org/index.php/Fo ... 8%D0%B9%29
dias75
Posts: 37
Joined: 3. Feb 2012, 13:02
Location: Ukraine

Re: Шрифт в Salix OS 13.37 [OK]

Post by dias75 »

Задавал вопрос разработчику Austrumi как он добивался такого красивого рендеринга шрифтов в своем модификате.
Говорит: патчи infinality, отсюда http://www.infinality.net/blog/infinali ... e-patches/
..в ранних версиях накладывали патчи на freetype и libXft; последние версии - только с патченым freetype отсюда
http://www.infinality.net/fedora/linux/ ... 7.i686.rpm

В ранних версиях расскоменнтировывали строку
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
в файле /sources/freetype-2.x.x/include/freetype/config/ftoption.h
--------------------------------------------------
Еще полезная ссылка
How to Enable Infinality Font Rendering http://www.infinality.net/forum/viewtop ... &t=77#p794
Last edited by dias75 on 2. Feb 2013, 13:37, edited 1 time in total.
Post Reply