Для начала, некоторые общие соображения [1].
- Шрифты семейства Liberation к употреблению непригодны по причине низкого качества.
- Шрифт DejaVu Serif к употреблению непригоден по той же причине.
- Droid Sans в целом удовлетворителен, но Dejavu Sans в отличие от него не мажется. Для маленьких размеров (<9pt) Droid Sans подходит наилучшим образом.
- Dejavu Sans в целом весьма хорош, но имеет несколько неприятных артефактов (буква N при кегле ~12pt, кернинговые пары с буквой r при кегле ~10pt), поэтому как общесистемный непригоден.
- Без BCI шрифты DejaVu выглядят хорошо.
- Автохинтер должен быть выключен, тогда будет использоваться BCI, а он куда лучше рисует [2].
USE="truetype t1lib fontconfig lcdfilter -cleartype auto-hinter"
Затем нужно добавить оверлеи lcd-filtering[3] и asux:
layman -a lcd-filtering
layman -a asux
...размаскировать нужные пакеты в /etc/portage/package.accept_keywords
:
>=x11-libs/cairo-1.10.2-r2 ~amd64
>=media-libs/freetype-2.4.10 ~amd64
>=media-libs/fontconfig-2.9.0 ~amd64
>=media-fonts/corefonts-1-r6 ~amd64
>=media-fonts/liberation-fonts-1.07.1 ~amd64
>=media-fonts/terminus-font-4.36 ~amd64
>=media-fonts/dejavu-2.33 ~amd64
>=media-fonts/paratype-1-r2 ~amd64
>=media-fonts/monaco-5.1 ~amd64
...поставить гарнитуры:
emerge -v media-fonts/corefonts media-fonts/dejavu \
media-fonts/droid media-fonts/font-adobe-100dpi \
media-fonts/font-adobe-75dpi \
media-fonts/font-adobe-utopia-type1 \
media-fonts/paratype media-fonts/terminus-font \
media-fonts/ubuntu-font-family \
media-fonts/monaco
...и, наконец, поставить пропатченные нужным образом [4] библиотеки рендеринга шрифтов:
emerge -uNvt fontconfig freetype::lcd-filtering \
cairo::lcd-filtering libXft::lcd-filtering
Теперь пришло время настройки приложений. Во-первых,
$ eselect fontconfig list
Available fontconfig .conf files (* is enabled):
[1] 10-antialias.conf *
[2] 10-autohint.conf
[3] 10-hinting-full.conf *
[4] 10-hinting-medium.conf
[5] 10-hinting-slight.conf
[6] 10-hinting.conf *
[7] 10-no-sub-pixel.conf
[8] 10-sub-pixel-bgr.conf
[9] 10-sub-pixel-rgb.conf *
[10] 10-sub-pixel-vbgr.conf
[11] 10-sub-pixel-vrgb.conf
[12] 10-unhinted.conf
[13] 11-lcdfilter-default.conf *
[14] 11-lcdfilter-legacy.conf
[15] 11-lcdfilter-light.conf
[16] 15-hinting-non-tt-instructed-slight.conf
[17] 15-hinting-tt-instructed-full.conf
[18] 15-hinting-tt-instructed-none.conf
[19] 15-hinting-tt-instructed-slight.conf
[20] 20-fix-globaladvance.conf *
[21] 20-hinting-small-fonts-slight.conf *
[22] 20-unhint-small-dejavu-sans-mono.conf *
[23] 20-unhint-small-dejavu-sans.conf *
[24] 20-unhint-small-dejavu-serif.conf *
[25] 20-unhint-small-vera.conf *
[26] 21-hinting-small-aquabase-slight.conf
[27] 21-hinting-small-arial-black-slight.conf
[28] 21-hinting-small-browallia-slight.conf
[29] 22-hinting-courier-italic-slight.conf
[30] 25-unhint-nonlatin.conf
[31] 30-metric-aliases.conf
[32] 30-urw-aliases.conf *
[33] 40-nonlatin.conf *
[34] 45-latin.conf *
[35] 49-sansserif.conf *
[36] 50-user.conf *
[37] 51-local.conf *
[38] 53-monospace-lcd-filter.conf
[39] 57-dejavu-sans-mono.conf
[40] 57-dejavu-sans.conf
[41] 57-dejavu-serif.conf
[42] 58-corefonts.conf
[43] 59-google-droid-sans-mono.conf
[44] 59-google-droid-sans.conf
[45] 59-google-droid-serif.conf
[46] 60-latin.conf *
[47] 60-liberation.conf
[48] 61-stix.conf
[49] 65-fonts-persian.conf
[50] 65-khmer.conf
[51] 65-nonlatin.conf
[52] 69-unifont.conf
[53] 70-no-bitmaps.conf
[54] 70-yes-bitmaps.conf *
[55] 80-delicious.conf *
[56] 80-terminus.conf
[57] 80-trebuchet.conf
[58] 90-embolden.conf
[59] 90-synthetic.conf *
Во-вторых, в /etc/fonts/local.conf
должно быть что-то вроде этого: http://dumpz.org/312551. В-третьих, в ~/.Xresources
дожно быть:
Xft.antialias: 1
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.dpi: 94
Xft.rgba: rgb
В четвёртых, для верности можно ещё и помышекликать, я пользуюсь lxappearance:
Далее, в терминале ставится, разумеется, Terminus с кеглем в районе 13pt:
В Firefox-е - ничего особенного:
Кроме того, придётся поставить Stylish, а к нему - вот эти два юзерстиля [5], [6], ибо разработчики github'а - редиски, сделали пол-сайта на webfonts, а полсайта на кошмарных виндовых шрифтах.
И в виде финального штриха, нужно подправить настройки JVM [7], добавив в /etc/env.d/20java-config
строчку
_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on \
-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
UPD: Прочитав "Лучшие шрифты для программирования" на хабре [8], обнаружил для себя две великолепных моноширинных гарнитуры: Monaco и Monofur (последний я тут же поставил как guifont в vim). Monaco есть в оверлее asux, а Monofur нужно скачать с его офсайта [9] и положить себе в ~/.fonts
К сожалению, монако не очень хорошо смотрится при кегле меньше 12-14pt, так что в конце
/etc/fonts/local.conf
мне пришлось насильно увеличить его размер. В конечном итоге получается слегка аляповато, но вполне мило:
UPD1: lcdfilter попал в основное дерево, теперь оверлеи добавлять не нужно, но и настраивать нужно чуть по-другому (через
eselect lcdfilter
и eselect infinality
).
UPD2: Как добавить шревты из с
Комментариев нет:
Отправить комментарий