В началоGentoo и  X.Org → HOWTO Xorg and Fonts (Рус.)
Gentoo-doc HOME Пред.: XkbOptionsВ началоУровень выше: Gentoo и  X.OrgСлед.: Руководство по видеокартам nVidia в Gentoo Linux

4. HOWTO Xorg and Fonts (Рус.)

Ссылка на оригинал: http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts

Перевод: Батогов Е.В. a.k.a. JohnBat26

С версии: 1.3

Дата окончания перевода: 27.10.2007

4.1.  Назначение этого HOWTO

После изменения названия X сервера с Xfree на X.org, многие люди (включая меня) столкнулись с проблемами, связанными с отрисовкой и сглаживанием шрифтов, особенно это касается тех, кто использует LCD или TFT мониторы. Этот HOWTO делает шрифты значительно более интересными. В дополнение  к этому, этот HOWTO объясняет как надо устанавливать шрифты.

4.2.  Общие сведения

Компьютерные шрифты в целом, и в Linux (X11) в частности, это довольно запутанное дело. Существует много различных форматов шрифтов, в диапазоне от старых растровых шрифтов до шрифтов Truetype. Помимо этого, много шрифтов имеют проблемы лицензирования и внутренние проблемы (на которые компания  Apple, к счастью, пока не обращает внимания). А если Вы захотите включить сглаживание, то это только добавит путаницы.

Многие программы, особенно ghostscript, mozilla, openoffice, и tex,  имеют свои собственные представления о шрифтах и их настройке. Это значит, что информация в этом how-to может быть не эффективна для того, чтобы Ваши шрифты заработали.

Смотрите: X11 имеет не одну подсистему шрифтов, а две! Старая "core X font subsystem" использует наименования типа: -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1. Новая система шрифтов, также известная как  "fontconfig",  работает с библиотекой Xft  и, как обещается, полностью заменит старую систему. К тому же, существует ещё и сервер шрифтов, называющийся "xfs".

4.3. Замечание по поводу DPI

До настройки любого программного обеспечения, лучшее из того, что Вы можете сделать для получения хорошо выглядящих шрифтов на Linux, это использование LCD/CRT монитора по крайней мере не меньше, чем с 96 dpi (точек на дюйм). Для расчёта этого значения, возьмите горизонтальное разрешение и разделите его на ширину TFT/LCD экрана в дюймах.  Любое значение меньше, чем 96 dpi приведет к значительным проблемам которые нельзя будет устранить. CRT мониторы будут почти всегда отрисовывать шрифты  лучше, чем LCD мониторы потому, что они имеют внутреннее сглаживание от сканирования электронного луча и экрана покрытого люминофором.

4.4. Замечание по поводу сравнения шрифтов на Windows/Mac и Linux

Шрифты в  Windows (clear type) и в Mac OS  всегда будут выглядеть лучше, чем шрифты в Linux, когда LCD монитор имеет dpi меньше, чем 96. Когда dpi равняется 96 и более, тогда шрифты в Linux будут выглядеть также или лучше, чем в Windows или Mac OS. Конечно, все это верно, если вы установите  пропатченный libXft, доступный в 'xeffects' overlay.

4.5. Получение необходимых пакетов

Я предполагаю, что Вы уже правильно установили X.org (X.org версии 6.8.0-r4 и выше должен быть установлен с включенными USE флагами: truetype и type1). Я также полагаю, что Вы не запускаете X-сервер для множества клиентов и, следовательно, USE флаг: font-server выключен, хотя он может по-прежнему применяться в других случаях.

Необходимые пакеты:

  • x11-base/xorg-x11

  • media-libs/freetype

  • media-fonts/corefonts

  • media-fonts/freefonts

Тем не менее я советую Вам также установить следующие полезные шрифты

(замечание: media-fonts/unifont блокируют dev-util/eclipse-sdk):

  • media-fonts/ttf-bitstream-vera

  • media-fonts/artwiz-fonts

  • media-fonts/sharefonts

  • media-fonts/terminus-font

  • media-fonts/unifont

  • media-fonts/dejavu

Примечание

f28: Более красивые шрифты: media-fonts/liberation-fonts-ttf, "A GPL-2 Helvetica/Times/Courier заменяют TrueType font set, с уважением к Red Hat"

Активизируйте USE флаги и установите следующие пакеты:

# euse --enable truetype type1
# emerge --newuse --noreplace freetype corefonts freefonts artwiz-fonts sharefonts \
        terminus-font ttf-bitstream-vera unifont dejavu xorg-x11

Для тех, кто уже установил Xorg и желает обновить все остальные пакеты, которые уже установлены, я рекомендую изменить файл /etc/make.conf добавив следующие USE флаги:

USE="truetype type1"

Затем необходимо заново собрать все пакеты которые могут использовать эти флаги:

# emerge -avuDN world

Примечание

Замечание для Xorg 7.0: Кажется Вам необходимо установить ещё и  пакет  "intlfonts".

# emerge intlfonts

Вы можете также увидеть это в обсуждении:

http://forums.gentoo.org/viewtopic.php?p=3643250#3643250

4.6. Информация о хинтинге (Hinting)

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

Отдавая должное возможным проблемам с патентами, FreeType имеет выбор — собираться с  TrueType's Byte Code Interpreter (или BCI) или нет.

Без BCI (по умолчанию), FreeType использует свой собственный автоматический хинтер для улучшения качества отображения шрифтов малых размеров. Этот автохинтер ещё находится в стадии совершенствования и улучшается с каждой версией FreeType. Автохинтер обычно дает великолепные результаты. Однако, многие считают, что родное TrueType BCI производит лучшие результаты, чем автохинтер, т.к. в этом случае используется информация о хинтинге, содержащаяся в шрифте.

Если Вы живете в стране, где патенты на программное обеспечение не являются проблемой, Вы можете включить использование BCI, выключая USE флаг: bindist. Дополнительую информацию о freetype и патентах смотрите на: http://freetype.sourceforge.net/patents.html.

#echo "media-libs/freetype -bindist" >> /etc/portage/package.use
#emerge -av freetype

Если Вы считаете, что шрифты слишком размытые на Вашем LCD мониторе, попытайтесь включить флаг bindist и посмотреть разницу, может быть это будет лучше в Вашем случае.

4.7. Изменение конфигурационных файлов

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

  1. /etc/fonts/local.conf;

  2. /etc/X11/xorg.conf;

  3. ~/.fonts.conf.

Для проверки того, какие шрифты установлены, Вы можете использовать fc-list и xlsfonts. Для просмотра шрифтов, Вы можете использовать gfontview.

Что делать, если Ваши шрифты не показываются утилитой fc-list, что делать если Ваши шрифты не отображаются в xlsfonts, что делать если Ваши шрифты не появляются в OpenOffice. Что, наконец,  делать, если шрифты не показываются в ghostscript и/или в tex:

Смотрите файлы: /etc/fonts/local.conf и ~/.fonts.conf

Редактируйте конфигурационные файлы для системы шрифтов: Xft. Изменения в файле /etc/fonts/local.conf касаются всей системы; выборочные изменения в пользовательском конфигурационном файле ~/.fonts.conf имеют приоритет над  системными установками в большинстве случаев. Единственная опция, которая не может быть перекрыта в пользовательском файле — это настройка сглаживания (anti-aliasing setting).

В файле /etc/fonts/local.conf  нет необходимости устанавливать все директории со шрифтами, кроме тех случаев, когда шрифты устанавливаются в нестандартный каталог. Файл /etc/fonts/fonts.conf включает /usr/share/fonts и некоторые другие директории. Другими словами, Вы не должны изменять этот файл, т.к. Xorg будет просматривать Ваш файл ~/.fonts.conf,  если он имеется.

Заметьте то, что файлы /etc/fonts/local.conf и ~/.fonts.conf, являются XML-файлами. И их легко изменять в редакторах, которые поддерживают синтаксис XML.

Следующий пример содержит множество опций, которые Вы можете захотеть использовать:

Листинг 22. Файл: /etc/fonts/local.conf или ~/.fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file to configure system font access -->

<fontconfig>
    <!-- Enable sub-pixel rendering -->
    <!--
                <match target="font">
                        <test qual="all" name="rgba">
                                <const>unknown</const>
                        </test>
                        <edit name="rgba" mode="assign"><const>rgb</const></edit>
                </match>
    -->
     
    <!-- Use the Autohinter -->
            <match target="font">
                       <edit name="autohint" mode="assign"><bool>true</bool></edit>
               </match>
    <!-- Disable Autohinting for bold fonts -->
            <match target="font">
                           <test name="weight" compare="more">
                                    <const>medium</const>
                            </test>
                           <edit name="autohint" mode="assign"><bool>false</bool></edit>
                </match>
     
    <!-- Exclude/Include a range of fonts for Anti Aliasing -->
    <!--
        <match target="font">
                <test qual="any" name="size" compare="more">
                        <double>9</double>
                </test>
                <test qual="any" name="size" compare="less">
                        <double>14</double>
                </test>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
        </match>
    -->
    <!-- And/Or disable Anti Aliasing for a range on pixel-based size.
             Disabling this using both methods seems to fix Firefox. -->
    <!--
        <match target="font">
                <test compare="less" name="pixelsize" qual="any">
                        <double>20</double>
                </test>
                <edit mode="assign" name="antialias">
                        <bool>false</bool>
                </edit>
        </match>
    -->
            <dir>/home/johnbat26/extrafonts</dir>
</fontconfig>


В представленном выше файле опция: "sub-pixel rendering" закомментирована потому, что она используется только на LCD мониторах. Если её включить на CRT мониторе, то это заставит Xorg производить много дополнительной работы по отрисовке. Возможные значения: "none", "rgb", "bgr", "vrgb" и "vbgr". Для большинства LCD мониторов наиболее подходящим значением будет:"rgb", которое и использует приведенный выше пример.

Вы конечно захотите использовать какую-нибудь форму хинтинга. Gentoo поддерживает 2 формы хинтинга:

  1. AutoHinter

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

  2. TrueType Byte Code Interpreter (BCI)

    Если Вы собрали FreeType с активацией интерпретатора байт-кода (TrueType Byte Code Interpreter) (см. выше), и желаете использовать BCI, тогда выключите auto hinter полностью. (Убедитесь, что <edit name="autohint" mode="assign"><bool>true</bool></edit> использует "false" вместо "true". Существуют патентные проблемы на использование TrueType BCI; если Вы желаете избежать их полностью, тогда не используйте BCI.

И KDE и GNOME имеют прекрасный графический интерфейс, в котором пользователь может выбрать уровень хинтинга: "легкий", "средний", "сильный" ('light,' 'medium,' and 'strong'). Это позволяет обратиться к FreeType 'auto hinter', а не к BCI. Другими словами 'легкий,' 'средний,' и 'сильный' хинтинг, позволяют всем шрифтам выглядеть одинаково, когда BCI используется вместо автохинтера (auto hinter).

Вторая опция с окончания файла, также закомментирована, так как некоторые люди    предпочитают исключать или включать набор размеров шрифтов для применения сглаживания к ним. Это общий способ, чтобы сделать Ваши шрифты выглядящими очень похоже на шрифты по умолчанию в Windows(R). Когда Вы отключаете сглаживание, убедитесь также, что выключена опция "sub-pixel rendering", - для достижения наилучших шрифтов без сглаживания.

Наконец, последняя опция, связанный с пикселом, размер шрифта (pixel-based font sizes)... Пожалуйста, читайте комментарии к это опции!

Последняя строка в примере пользовательских шрифтов, это изменение директории по умолчанию (/usr/share/fonts/) для местоположения шрифтов. Скорее всего Вам не нужна данная строка, если так, то можете просто удалить её.

Помните, что все изменения в этом файле распространяются на всю систему и будут перекрыты ~/.fonts.conf, исключая только установку  anti-aliasing setting, которая не может быть перекрыта ,если установлена в этом файле. Также заметьте, что синтаксис файла: /etc/fonts/local.conf одинаков с локальным пользовательским конфигурационным файлом: ~/.fonts.conf, и, следовательно, Вы можете копировать глобальный файл, и просто переименовать его.

4.8. /etc/X11/xorg.conf

Когда Вы настраиваете X ("иксы"), важно убедиться, что они правильно понимают размер Вашего экрана, и так же важно, что Вы запускаете LCD монитор на его родном разрешении, которое используется для вычисления горизонтального и вертикального DPI экрана — шрифты в GTK+ приложениях кажутся особенно безобразными на основе неправильной информации о экране.

Это может также привести к неправильному определению размера шрифтов в различных приложениях. Некоторые шрифты будут корректного размера в зависимости от используемого метода, а другие будут иметь неправильные размеры. Я заметил большие различия, когда просматривал страницы в Firefox. Если на странице использовался CSS, то она отображалась хорошо, иначе если использовался чистый HTML, то шрифты получаются либо огромные либо небольшие зависимости от направления неправильной установки DPI. Я также обнаружил, что DPI 96 является хорошим размером.

Установка ширины и высоты экрана (в миллиметрах) используя следующую инструкцию:

DisplaySize <width> <height>

в секции Monitor файла: /etc/X11/xorg.conf, решает эту проблему.

Листинг 23. File: /etc/X11/xorg.conf

Section "Monitor"
    Identifier          "Monitor0"
    ...
    DisplaySize         340 270
    ...
EndSection


Простейший путь для измерения ширины и высоты — это воспользоваться линейкой

Например, монитор в 15 дюймов имеет размеры приблизительно 340мм x 270 мм, а 19 дюймов — 380мм x 305 мм.

Значения DisplaySize могут быть вычислены по формуле  25.4 × width / dpi или, соответственно, 25.4 × height / dpi, 25,4 мм  на дюйм. Например, если использовать DPI равным 75 на разрешении 1600x1200, то расчет будет следующий: 25.4 × 1600 / 75 = 542 и 25.4 × 1200 / 75 = 406, и в результате устанавливаем DisplaySize 542 406.

Другой способ для подсчёта этих значений, это попросить X сервер вычислить их для Вас. Запустите его используя команду startx -dpi 96, где  96  это требуемое значение для DPI, и проверьте размер:

# xdpyinfo | grep dimension
dimensions:    1400x1050 pixels (XXXxYYY millimeters)

Используйте эти значения: XXX и YYY для параметра DisplaySize.

Ещё один способ обнаружить размерность экрана, если Ваше аппаратное обеспечение предоставляет эту информацию (Вам может потребоваться установить emerge -tav xrandr сначала) это использовать:

# xrandr --query
 SZ:    Pixels          Physical       Refresh
*0   1680 x 1050   ( 431mm x 272mm )  *60  
Current rotation - normal
Current reflection - none
Rotations possible - normal 
Reflections possible - none

Я достиг лучших результатов, используя измерения, полученные с помощью этого калькулятора: http://www.raydreams.com/prog/dpi.aspx

Если вы используете драйверы nVidia, то наилучшим способом следовало бы добавить эти опции в секцию device. Это также намного лучше работает с двумя мониторами:

Листинг 24. Файл: /etc/X11/xorg.conf

....
Option   "UseEdidDpi"   "FALSE"
Option   "DPI"   "96 x 96"
....


Далее, у нас есть список наших каталогов со шрифтами в файле /etc/X11/xorg.conf.

Пути к шрифтам ищутся в том порядке, в котором они расположены в списке, поэтому мы должны сделать небольшие изменения.

Достаточно много современных приложений и окружений рабочего стола, таких как Gnome и KDE используют утилиту fontconfig,  так что только шрифты, которые действительно требуются X сервером (или сервером шрифтов) это fixed и cursor.

/usr/share/fonts/misc:unscaled

Первым путем, который мы хотим видеть в нашем списке, является: /usr/share/fonts/misc. Там находятся все важные fixed и cursor шрифты. Они являются критичными для правильной работы Xorg. Там же находится курсор по умолчанию, и помещение его первым в списке сохраняет Х от использования других курсоров, которые устанавливают некоторые пакеты шрифтов (artwiz)

Опция unscaled говорит X использовать unscaled версии этих шрифтов всякий раз, когда возможно предотвратить pixelation. Эта опция может применяться для любого bitmap  шрифта

/usr/share/fonts/75dpi:unscaled
/usr/share/fonts/100dpi:unscaled

Это основные bitmap шрифты. Мы обычно хотим загружать шрифты для 75dpi перед 100dpi, так как большинство тем ожидают этого. Тем не менее, большинство современных мониторов имеют более высокое значение dpi, так что если Вы обнаружите у себя косоглазие читая меню, Вы скорее всего захотите поэкспериментировать с переключением порядка в списке шрифтов

/usr/share/fonts/Type1
/usr/share/fonts/TTF

Type1 и TrueType шрифты.  Порядок не имеет большого значения, но заметьте что оба пакета содержат Luxi Sans/Serif/Mono шрифты.

/usr/share/fonts/corefonts
/usr/share/fonts/freefonts
/usr/share/fonts/sharefonts

это Microsoft's TrueType core fonts, и набор TrueType  шрифтов и коллекция свободных Type1 Fonts, соответственно.

/usr/share/fonts/artwiz
/usr/share/fonts/terminus
/usr/share/fonts/ttf-bitstream-vera
/usr/share/fonts/artwiz

Если Вы установили пакеты упомянутые выше, то Вам следовало бы добавить эти пути в список шрифтов.

/usr/share/fonts/local
/usr/share/fonts/cyrillic

эти шрифты обычно не нужны и вероятно пустые или не существуют. Для гарантии, проверьте файл font.dir внутри каждой директории. Если этот файл пуст, тогда этот каталог нет необходимости добавлять в список  путей к шрифтам.

/usr/share/fonts/*everythingelse*

все директории новых шрифтов, которые Вы установили. Большинство из них уникальны. Если Вы обеспокоены о каком-нибудь отдельном шрифте, поместите его наверх списка. Вы можете проверить список из доступных шрифтов, посмотрев файл fonts.dir, находящийся в директории шрифта.

Теперь сделаем несколько финальных изменений в плане порядка следования путей в списке. Возьмём основные bitmap шрифты и поместим их последними. Это делается потому, что у нас есть намного лучшие TTF или Type1 версии некоторых из этих шрифтов которые мы чаще используем. Также пакет media-fonts/corefonts  содержит большое количество core fonts и его следовало бы поместить повыше в списке.

В результате список должен выглядеть подобно:

4.9. Файл: /etc/X11/xorg.conf (Список путей к шрифтам)

...
Section "Files"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/Type1/" 
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/corefonts"
    FontPath     "/usr/share/fonts/freefonts"
    FontPath     "/usr/share/fonts/sharefonts"        
    FontPath     "/usr/share/fonts/terminus"
    FontPath     "/usr/share/fonts/ttf-bitstream-vera"
    FontPath     "/usr/share/fonts/unifont"
    FontPath     "/usr/share/fonts/75dpi:unscaled" 
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/artwiz"
    FontPath     "/usr/share/fonts/cyrillic"
EndSection
...

Также проверьте в том же файле, что загружается модуль freetype

Листинг 25. Файл: /etc/X11/xorg.conf

Load "freetype"


4.10. Перезагрузка служб

После изменения конфигурационных файлов, Вам необходимо перезагрузить Xorg.  Если Вы используете X display manager, такой как GDM, KDM, XDM и т.д. тогда  просто выйдите из Вашей сессии и перезагрузите X, нажав Ctrl+Alt+Backspace, находясь на экране входа в систему. Если это не работает, то рестарт Xorg возможен с помощью перезагрузки службы xdm.

Кто-то могут заметить подвисание системы, запуская следующие команды в Xorg, так что я советую запускать их в другом терминале, нажав  "CTRL+ALT+F1" и войти в систему. (Нажатие ALT+F7 вернет Вас обратно в X из консоли.)

# /etc/init.d/xdm restart

После выполнения этой команды, Ваш X display manager будет перезагружен. Вновь войдя в систему, Вы должны получить шрифты со сглаживанием (anti-aliased).

4.11. Mozilla Firefox and Thunderbird

4.11.1. Mozilla Firefox 1.0+

Для активизации шрифтов со сглаживанием в Firefox 1.0. убедитесь, что Вы собрали Firefox c выключенным USE флагом: moznoxft. Запустите утилиту ufed для этого (не забудьте установить её: emerge ufed).

Итак:

# emerge mozilla-firefox

Необходимо хотя бы один раз запустить Firefox, чтобы он создал профиль в : ~/.mozilla/firefox/default.xxx/.

Направляйтесь в about:config  в Вашем браузере, или альтернативно, измените файл user.js в ~/.mozilla/firefox/default.xxx/, где xxx являются буквами или цифрами.

Firefox 1.0.4 сохраняет файл: prefs.js в ~/.mozilla/firefox/xxx.default/, где xxx это строка из цифр и букв.

Либо через  диалог  about:config, либо в файле user.js Вы должны вставить следующие строки, как показано ниже:

Важно

Внимание: Установка "font.FreeType2.printing" в true, может вызвать внезапное падение Firefox при попытке печати.

Листинг 26. Файл: ~/.mozilla/firefox/___.default/prefs.js

// TrueType
user_pref ("font.FreeType2.enable", true);
user_pref ("font.freetype2.shared-library", "libfreetype.so.6");

// if libfreetype was built without hinting compiled in
// it is best to leave hinting off
user_pref ("font.FreeType2.autohinted", true);
user_pref ("font.FreeType2.unhinted", true);

// below a certain pixel size anti-aliased fonts produce poor results
user_pref ("font.antialias.min",        0);
user_pref ("font.embedded_bitmaps.max", 1000000);

// sample user_pref s for TrueType font dirs
user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
user_pref ("font.directory.truetype.4", "/usr/share/fonts/freefont");
user_pref ("font.FreeType2.printing", true);


Если Вы следуете этому HOWTO, тогда Вы не будете иметь проблем с перечисленными каталогами, иначе Вы можете изменить их.

В Firefox 1.0, следуйте в Edit » Preferences » General » Fonts & Colors.

В Firefox 1.5, следуйте в Edit » Preferences » Content » Fonts & Colors » Advanced.

Затем, установите эти параметры:

  • Proportional: Serif (Size: 16)

  • Serif: Bitstream vera serif

  • Sans-serif: Bitstream vera sans

  • Monospace: Bitstream vera sans mono (Size: 12)

  • Display Resolution: System setting

Также проверьте, что опция: "Всегда использовать мои: Шрифты" не выбрана.

Затем перезагрузите Firefox и направляйтесь на www.gentoo.org со сглаженными шрифтами!

Если Вы, используя KDE и Firefox, не получили сглаженных шрифтов после этого, тогда идите в Центр управления KDE /  Внешний вид и темы / Шрифты, выключите сглаживание, нажмите применить, затем включите сглаживание и вновь нажмите применить.

4.11.2. Mozilla Thunderbird 0.7, 1.0.2  и выше

Существует очень мало опций в Thunderbird, которые связаны со шрифтами, таким образом все опции должны быть применены в user.js. Создайте этот файл в  ~/.thunderbird/default/xxxxxxxx.slt/ (или, в новых версиях, ~/.thunderbird/xxxxxxxx.default/). В файле user.js Вы можете вставить те же строки, которые вставляли для Mozilla Firefox: заметьте только, что Вы вставляли в  файл prefs.js?

Листинг 27. Файл: ~/.thunderbird/default/xxxxxxxx.slt/user.js

// TrueType
user_pref ("font.FreeType2.enable", true);
user_pref ("font.freetype2.shared-library", "libfreetype.so.6");
// if libfreetype was built without hinting compiled in
// it is best to leave hinting off
user_pref ("font.FreeType2.autohinted", true);
user_pref ("font.FreeType2.unhinted", true);
// below a certain pixel size anti-aliased fonts produce poor results
user_pref ("font.antialias.min",        0);
user_pref ("font.embedded_bitmaps.max", 1000000);
user_pref ("font.scale.tt_bitmap.dark_text.min", 0);
user_pref ("font.scale.tt_bitmap.dark_text.gain", "0.0");
// sample user_pref s for TrueType font dirs
user_pref ("font.directory.truetype.1", "/usr/share/fonts/ttf-bitstream-vera");
user_pref ("font.directory.truetype.2", "/usr/share/fonts/TTF");
user_pref ("font.directory.truetype.3", "/usr/share/fonts/corefonts");
user_pref ("font.directory.truetype.4", "/usr/share/fonts/freetype");
user_pref ("font.FreeType2.printing", true);


Затем, когда откроете Thunderbird 1.0.2, следуйте в : Edit » Preferences » Fonts Or (on 0.7) Tools » Options » Fonts и установите эти параметры:

  • Proportional: Serif (Size: 16)

  • Serif: Bits-bitstream vera serif

  • Sans-serif: Bits-bitstream vera sans

  • Monospace: Bits-bitstream vera sans mono (Size: 12)

  • Minimum font size: 9

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

Затем перезагрузите Thunderbird и читайте Вашу почту с новыми шрифтами!

4.12. Проблемы с размерами шрифтов

Если в Ваших приложениях из KDE шрифты имеют неправильный размер, и кроме этого, KDE не было установлено (т.е. Центр управления KDE недоступен :( ), тогда Вам  следует изменить Ваш файл ~/.kde/share/config/kdeglobals следующим образом:

Листинг 28. Файл: ~/.kde/share/config/kdeglobals

[General]
 StandardFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 activeFont=Bitstream Vera Sans,7,-1,5,75,0,0,0,0,0
 fixed=Bitstream Vera Sans Mono,7,-1,5,50,0,0,0,0,0
 font=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 menuFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0
 taskbarFont=Bitstream Vera Sans,7,-1,5,50,1,0,0,0,0
 toolBarFont=Bitstream Vera Sans,7,-1,5,50,0,0,0,0,0


Число после имени шрифта это его размер (Я не знаю, что означают другие числа)

Так получилось, что шрифты в меню Firefox получились огромными. Чтобы решить эту проблему просто добавьте следующее в файл:

Листинг 29. Файл: ~/.mozilla/firefox/<yourprofile>/chrome/userChrome.css

* {
    font-family: Sans-Serif !important;
    font-size: 8pt !important;
}


и сделайте тоже самое для Thunderbird (~/.thunderbird/<profile>/chrome/userChrome.css)

В моем случае, после применения всех этих изменений, шрифты для полей ввода (кнопок, текстовых полей или выпадающих меню) на некоторых страницах подобным Google или Amazon были слишком большими и использовался один из ужасных шрифтов. Чтобы изменить это, следуйте в userContent.css (он отличается от  файла userChrome.css, который мы только что изменяли), и добавьте следующее:

Листинг 30. Файл: ~/.mozilla/firefox/<yourprofile>/chrome/userContent.css

input, textarea, select, button,
input[type="button"], input[type="reset"], input[type="submit"] {
   font-size: 8pt !important;
   font-family: Verdana !important;
}


4.13. Что делать, если Linux шрифт  в Konsole не работает.

Пользователи KDE вероятно знакомы с Konsole — эмулятором терминала KDE. Но некоторые пользователи получают следующую ошибку когда они пытаются использовать Linux шрифты: Font `-misc-console-medium-r-normal--16-160-72-72-c-80-iso10646-1' not found

Вы можете решить эту проблему следующими действиями:

  1.    Запустите kdesu kcmshell kcmfontinst, когда Вы находитесь в KDE.

  2.    Введите пароль root.

  3.    Нажмите на  иконку "add fonts icon" (an @-sign with a +-sign on it)

  4.   Направляйтесь в каталог /usr/kde/3.2/share/fonts/ и добавьте доступные шрифты (files ending in .pcf.gz).

4.14. Что, если Ваши шрифты стали размытыми и не читаемыми

У меня  шрифты временами становились не читаемыми в Gnome 2.12

Полное выключение сглаживания (AntiAliasing) (Убирание комментариев со следующих секций в файлах: /etc/fonts/local.conf и ~/.fonts.conf, как они объявлены в примерах выше)  решит эту проблему.

Если это не помогло и Вы используете драйвер media-video/nvidia-kernel-1.0.8178-r3, попытайтесь убрать комментарий на опции render acceleration в секции Device  файла xorg.conf:

Option "RenderAccel"

4.15. Ошибка при запуске startx

Если Вы получаете ошибку: "Fontconfig error" когда запускаете startx:

"Fontconfig warning: no <cachedir> elements found. Check configuration."
"Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>"
"Fontconfig warning: adding <cachedir>~/.fontconfig</cachedir>

Просто исправить её можно запустив:

# emerge --noconfmem --oneshot fontconfig && dispatch-conf

4.16. XEmacs

Если после всей проделанной работы, Вы обнаружили, что не  имеете хорошего шрифта для XEmacs (который не поддерживает сглаживание),тогда дополнительно установите следующее:

  • x11fonts-jmk

# emerge x11fonts-jmk

Затем добавьте  ещё одну строку FontPath в Ваш файл: xorg.conf:

FontPath    "/usr/share/fonts/jmk"

Перезагрузите подсистему шрифтов (просто выйдя из X). Затем попытайтесь установить Ваш Xemacs шрифт в  "Neep Alt".  Вы вероятно хотите альтернативный вариант, вместо обычного, для отображения символа амперсанда.

4.17. Полезные ресурсы

Это ресурсы из которых я брал информацию, когда писал этот HOWTO:

4.18. Смотрите также

4.19. Примечание (от JohnBat26), мой файл: ~/.fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!-- Info at http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts --><!-- Replace Courier with a better-looking font --> 
      <match target="pattern" name="family" >
          <test name="family" qual="any" >
               <string>Verdana</string>
              </test>
          <edit mode="assign" name="family" >
            <!-- Other choices - Courier New, Luxi Mono   <string>Bitstream Vera Sans Mono</string> --><!-- Other choices - Courier New, Luxi Mono --> 
              <string>Verdana</string>
              </edit>
         </match>
     <match target="font" >
          <edit mode="assign" name="rgba" >
               <const>rgb</const>
              </edit>
          <edit mode="assign" name="autohint" >
               <bool>true</bool>
              </edit>
          <edit mode="assign" name="antialias" >
               <bool>true</bool>
              </edit>
          <edit mode="assign" name="hinting" >
               <bool>true</bool>
              </edit>
          <edit mode="assign" name="hintstyle" >
               <const>hintmedium</const>
              </edit>
         </match>
    <!-- Disable autohint for bold fonts, otherwise they look *too* bold --> <match target="font" >
          <test compare="more" name="weight" >
               <const>medium</const>
              </test>
          <edit mode="assign" name="autohint" >
               <bool>false</bool>
              </edit>
         </match>
    <!-- Reject bitmap fonts in favour of Truetype, Postscript, etc. --> <selectfont>
          <rejectfont>
               <pattern>
                    <patelt name="scalable" >
                         <bool>false</bool>
                        </patelt>
                   </pattern>
              </rejectfont>
         </selectfont>
     <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>
         </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>
</fontconfig>
Пред.: XkbOptionsВ началоУровень выше: Gentoo и  X.OrgСлед.: Руководство по видеокартам nVidia в Gentoo Linux
В началоGentoo и  X.Org → HOWTO Xorg and Fonts (Рус.)