• Уроки гитары Одесса работа с гитарной аппаратурой и запись гитары на компьютер
  • Как избежать варикоза при малоподвижной работе vascular.kiev.ua рекомендации сосудистого хирурга
         

Очень понравилась статья с блога http://www.sergeysl.ru/freebsd-fonts/ потому, что такой информации в интенет очень мало. Настройка сглаживания описанная в этой статье дает потрясающие результаты. Привожу статью в оригинале(естественно со ссылкой на сайт автора). Советую вам обратить внимание на этот блог, там очень много полезной информации по FreeBSD таких как  Поддержка Flash в браузерах Konqueror, Mozilla Firefox и Opera в FreeBSD, Desktop c FreeBSD  и очень много другой полезной информации.

 

FreeBSD: Настройка шрифтов в десктопных приложениях

Настройка шрифтовНастройка рендеринга шрифтов в десктопных приложениях для FreeBSD и большинства других операционных систем семейства Linux/Unix вызывала, вызывает и будет вызывать множество споров. Если Microsoft Windows предоставляет всего несколько опций, позволяющих изменить внешность шрифтов, то в случае Linux/Unix возможности настройки шрифтов ограничены только вкусами и потребностями пользователя (к сожалению, в некоторых заокеанских странах еще и лицензионными соглашениями).

Постановка задачи

Необходимо настроить шрифты на десктопе с FreeBSD таким образом, чтобы: во-первых, они выглядели, как минимум, не хуже чем в Microsoft Windows с включенным сглаживанием ClearType (были четкими, сглаженными, ни в коем случае не размазанными и не замыленными), во-вторых, чтобы все Веб-страницы, просматриваемые в браузерах для FreeBSD, имели такие же пропорции, как при просмотре в браузерах для Microsoft Windows (к сожалению, многие Веб-разработчики "не слышали" о существование Linux/Unix, поэтому их творения выглядят в среде FreeBSD отвратительно), ну и, в-третьих, необходимо обойтись без шрифтов webfonts (в связи с различием алгоритмов рендеринга эти шрифты никогда не будут выглядеть в FreeBSD также, как в Microsoft Windows). 

Исходные данные

Действия, описанные в данной статье, выполнялись на компьютере с интегрированной видеокартой на базе контроллера Intel® 82G33, к которому был подключен 17" LCD-монитор Samsung SyncMaster 710v. Этот компьютер работал под управлением операционной системы FreeBSD 8.0, оконной системы Xorg 7.4_3 и графической оболочки KDE 4.3.5. Библиотеки рендеринга шрифтов пересобирались из последних на 20е числа июня 2010 года версий портов. После установки Xorg и KDE c опциями по-умолчанию шрифты выглядели так (слабонервным ни в коем случае не смотреть):

Внешний вид данного сайта со шрифтами по умолчанию

Установка и интеграция в систему шрифтов Liberation

Сразу отвечу на вопрос, почему именно Liberation. Потому, что шрифт Liberation Serif метрически совместим со шрифтом Times New Roman, Liberation Sans - с Arial, а Liberation Mono - с Courier New, соответственно. При этом в среде FreeBSD шрифты Liberation выглядят гораздо симпатичнее своих аналогов из Microsoft Windows. Шрифты Liberation могут быть установлены из порта liberation-fonts-ttf, однако, коллекция портов содержит не самую последнюю их версию, в связи с чем я рекомендую выполнить установку "вручную". Для загрузки из официального репозитория и установки последней версии шрифтов Liberation (в моем случае - версии 1.05.2 от 27 декабря 2009 года) необходимо выполнить следующую последовательность команд:

01.mkdir /usr/local/lib/X11/fonts/Liberation
02.cd /usr/local/lib/X11/fonts/Liberation
03.fetch https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.05.2.20091227.tar.gz
04.tar -xf liberation-fonts-ttf-1.05.2.20091227.tar.gz
05.mv ttf/* .
06.rm -Rf liberation-fonts-ttf-1.05.2.20091227.tar.gz ttf
07.mkfontscale .
08.mkfontdir .
09.fc-cache -fs

После установки шрифтов Liberation следует изменить ряд опция в разделе Шрифты модуля Внешний Вид, который находится на закладке Основныеокна Параметры системы. В частности, следует включить СглаживаниеМежточечное сглаживание (наилучший режим межточечного сглаживания зависит от типа используемого монитора) и Полный хинтинг, а также установить в поле Использовать другой DPI значение 96 dpi.
Для того, чтобы в качестве псевдошрифтов Serif, Sans-Serif и Monospace всегда использовались шрифты Liberation Serif, Liberation Sans и Liberation Mono, необходимо подкорректировать два файла конфигурации шрифтов, которые расположены в папке /usr/local/etc/fonts/conf.avail.
Резделы Serif facesSans-serif faces и Monospace faces файла 45-latin.conf по умолчанию содержат ссылки на шрифты Liberation Serif, Liberation Sans и Liberation Mono, однако, их следует перенести с третьих мест после Bitstream Vera и DejaVu на первые:

01.
04. 
05.Liberation Serif
06.Bitstream Vera Serif
07.DejaVu Serif
08.Times New Roman
09....
10. 
11.
14. 
15.Liberation Sans
16.Bitstream Vera Sans
17.DejaVu Sans
18.Arial
19....
20.
21.
24.
25.Liberation Mono
26.Bitstream Vera Sans Mono
27.DejaVu Sans Mono
28.Inconsolata
29....
30.

Разделы SerifSans-serif и Monospace файла 60-latin.conf по умолчанию не содержат ссылки на шрифты Liberation Serif, Liberation Sans и Liberation Mono, поэтому их необходимо добавить, причем на первые места, как и в предыдущем случае:

01.
02.serif
03.
04.Liberation Serif
05.Bitstream Vera Serif
06.DejaVu Serif
07....
08.
09.
10.
11.sans-serif
12.
13.Liberation Sans
14.Bitstream Vera Sans
15.DejaVu Sans
16....
17.
18.
19.
20.monospace
21.
22.Liberation Mono
23.Bitstream Vera Sans Mono
24.DejaVu Sans Mono
25....
26.
27.

Для того, чтобы при отображении всех элементов интерфейса Mozilla Firefox, Mozilla Thunderbird и остальных приложений, построенных на базе GTK2, использовался шрифт Liberation Sans 10, необходимо создать в домашней папке файл .gtkrc-2.0, имеющий следующее содержимое:

1.style "user-font"
2.{
3.font_name="Liberation Sans 10"
4.}
5.widget_class "*" style "user-font"
6.gtk-font-name="Liberation Sans 10"

Для того, чтобы при отображении всех элементов интерфейса приложений пакета OpenOffice.org использовались настройки шрифтов, заданные в конфигурации KDE4, необходимо пересобрать порт OpenOffice.org с опцией WITH_KDE4:

1.cd /usr/ports/editors/openoffice.org-3
2.make -DWITH_KDE4 -DWITHOUT_GNOME LOCALIZED_LANG=ru deinstall build install clean

На этом установка и интеграция в систему шрифтов Liberation заканчивается. Остается отключить ненужные более растровые шрифты, добавив в папку/usr/local/etc/fonts/conf.d символическую ссылку на файл /usr/local/etc/fonts/conf.avail/70-no-bitmaps.conf:

1.cd /usr/local/etc/fonts/conf.d
2.ln -s ../conf.avail/70-no-bitmaps.conf

Если Вы не хотите отказываться от какого-либо растрового шрифта, например, от шрифта Terminus, (на мой взгляд, он является лучшим шрифтом для консольных приложений), необходимо добавить в файл /usr/local/etc/fonts/conf.avail/70-no-bitmaps.conf следующие строки:

01.
02.
03.
04.
05.Terminus
06.
07.
08.
09.

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

Внешний вид данного сайта после установки шрифтов Liberation

Пересборка библиотек Cairo, FreeType 2 и libXft

В связи с возможными нарушениями авторских прав многие очень полезные функции библиотек рендеринга шрифтов Cairo, FreeType 2 и libXft по умолчанию отключены. С учетом того, что патенты на данные функции действую на территории США, мы можем "нарушать" их без зазрения совести. В настоящее время существует множество патчей для библиотек Cairo, FreeType 2 и libXft. Лично я пересобирал библиотеки согласно статье ClearType-сглаживание в Linux, или шрифты как в Ubuntu, которая предлагает наложить один патч на Cairo, пять патчей на FreeType 2 и один патч на libXft. Если Вы не пользуетесь браузером Opera (лично меня все сильнее раздражает аппетит Mozilla Firefox), можно обойтись без пересборки библиотеки libXft. В связи с тем, что указанная статья написана достаточно подробно, мне остается привести список команд пересборки библиотек из портов FreeBSD:

01.cd /usr/ports/graphics/cairo
02.make deinstall clean extract
03.cd work/cairo-1.8.10
04.fetch http://aur.archlinux.org/packages/cairo-cleartype/cairo-cleartype/cairo-1.2.4-lcd-cleartype-like.diff
05.patch -Np1 -i cairo-1.2.4-lcd-cleartype-like.diff
06.cd ../..
07.make install clean
08.cd ../../print/freetype2
09.make deinstall clean extract
10.cd work/freetype-2.4.2
11.fetch http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/bytecode.patch
12.http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/freetype-2.2.1-subpixel-disable-quantization.diff
13.http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/freetype-2.3.0-enable-spr.patch
14.http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/freetype-2.2.1-enable-valid.patch
15.http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/freetype-2.2.1-memcpy-fix.patch
16.patch -Np0 -i bytecode.patch
17.patch -Np1 -i freetype-2.2.1-subpixel-disable-quantization.diff
18.patch -Np1 -i freetype-2.3.0-enable-spr.patch
19.patch -Np1 -i freetype-2.2.1-enable-valid.patch
20.patch -Np1 -i freetype-2.2.1-memcpy-fix.patch
21.cd ../..
22.make install clean
23.cd ../../x11-fonts/libXft
24.make deinstall clean extract
25.cd work/libXft-2.1.14
26.fetch http://aur.archlinux.org/packages/libxft-cleartype/libxft-cleartype/libXft-2.1.14-lcd-cleartype.patch
27.patch -Np1 -i libXft-2.1.14-lcd-cleartype.patch
28.cd ../..
29.make install clean

На этом настройка шрифтов в десктопных приложениях для FreeBSD заканчивается. Любителям красивых шрифтов (похожих на шрифты Microsoft Windows c включенным сглаживанием ClearType или на шрифты Ubuntu), в число которых вхожу и я, остается переключиться на Легкий хинтинг:

Внешний вид данного сайта после после установки шрифтов Liberation, пересборки библиотек и включения легкого хинтинга

Почитателям строгих, максимально четких шрифтов (похожих на классические шрифты Linux/Unix) лучше оставить Полный хинтинг:

Внешний вид данного сайта после после установки шрифтов Liberation, пересборки библиотек и включения полного хинтинга

Альтернатива пересборки библиотеки FreeType 2

Следует отметить, что альтернативой пересборки библиотеки FreeType 2, позволяющей не нарушать патенты, является включение автохинтинга, однако, на мой взгляд, с ним шрифты, особенно мелкие, выглядят значительно хуже. Если Вы все же захотите попробовать автохинтинг, добавьте в папку /usr/local/etc/fonts/conf.d символическую ссылку на файл /usr/local/etc/fonts/conf.avail/10-autohint.conf для его включения:

1.cd /usr/local/etc/fonts/conf.d
2.ln -s ../conf.avail/10-autohint.conf

Достаточно часто после активации автохинтинга жирные шрифты становятся безобразно жирными. Для того, чтобы отключить автохинтиг для жирных шрифтов, необходимо добавить в файл /usr/local/etc/fonts/conf.avail/10-autohint.conf следующие строки:

01.
02.
03.
04.medium
05.
06.
07.false
08.
09.
10.

Заключение

Я искренне надеюсь, что рекомендации, содержащиеся в данной статье, помогут Вам настроить шрифты в десктопных приложениях для FreeBSD или любой другой операционной системы семейства Linux/Unix согласно Вашим вкусам и потребностям. Я же обязательно продолжу свои эксперименты по переходу с Microsoft Windows на FreeBSD и по мере возможности буду рассказывать о том, что получилось и не получилось.

Оригинал статьи -  http://www.sergeysl.ru/freebsd-fonts/