Шрифты, используемые по умолчанию и распространяемые вместе с X11, вряд ли можно назвать идеально подходящими для применения в обычных издательских приложениях. Большие презентационные шрифты выглядят рвано и непрофессионально, а мелкие шрифты в Netscape(R) вообще невозможно разобрать. Однако есть некоторое количество свободно распространяемых высококачественных шрифтов Type1 (PostScript(R)), которые можно без изменений использовать с X11. К примеру, в наборе шрифтов URW (x11-fonts/urwfonts) имеются высококачественные версии стандартных шрифтов type1 (Times Roman(R), Helvetica(R), Palatino(R) и другие). В набор Freefonts (x11-fonts/freefonts) включено ещё больше шрифтов, однако большинство из них предназначено для использования в программном обеспечении для работы с графикой, например, Gimp, и они не вполне пригодны для использования в качестве экранных шрифтов. Кроме того, X11 с минимальными усилиями может быть настроена на использование шрифтов TrueType(R). Более детальная информация находится на странице справочной системы X(7) и в разделе о шрифтах TrueType(R) ниже.
Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции портов выполните следующие команды:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
То же самое нужно будет сделать для коллекции freefont и других.
Чтобы X-сервер обнаруживал
этих шрифты, добавьте соответствующую строку в
файл настройки X сервера (/etc/X11/xorg.conf
),
которая должна выглядеть так:
FontPath "/usr/local/lib/X11/fonts/URW/"
Либо из командной строки при работе с X выполните:
%
xset fp+ /usr/local/lib/X11/fonts/URW
%
xset fp rehash
Это сработает, но будет потеряно, когда сеанс работы с X будет
закрыт, если эта команда не будет добавлена в начальный файл
(~/.xinitrc
в случае обычного сеанса через
startx
или ~/.xsession
при входе через графический
менеджер типа XDM). Третий способ
заключается в использовании нового файла
/usr/local/etc/fonts/local.conf
: посмотрите
раздел об антиалиасинге.
В Xorg имеется встроенная
поддержка шрифтов TrueType(R). Имеются два модуля, которые могут
обеспечить эту функциональность. В нашем примере используется модуль
freetype, потому что он в большей степени похож на другие механизмы
для работы с шрифтами. Для включения модуля freetype достаточно в
раздел "Module"
файла
/etc/X11/xorg.conf
добавить следующую
строчку.
Load "freetype"
Теперь создайте каталог для шрифтов TrueType(R)
(к примеру, /usr/local/lib/X11/fonts/TrueType
) и
скопируйте все шрифты TrueType(R) в этот каталог. Имейте в виду,
что напрямую использовать шрифты TrueType(R) с Macintosh(R) нельзя;
для использования с X11 они должны
быть в формате UNIX(R)/MS-DOS(R)/Windows(R). После того, как файлы будут
скопированы в этот каталог, воспользуйтесь утилитой
ttmkfdir для создания файла
fonts.dir
, который укажет подсистеме вывода
шрифтов X на местоположение этих новых файлов.
ttmkfdir
имеется в Коллекции Портов FreeBSD:
x11-fonts/ttmkfdir.
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
После этого добавьте каталог со шрифтами TrueType(R) к маршруту поиска шрифтов. Это делается точно также, как описано выше для шрифтов Type1, то есть выполните
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
или добавьте строку FontPath
в файл
xorg.conf
.
Это всё. Теперь Netscape(R), Gimp, StarOfficeTM и все остальные X-приложения должны увидеть установленные шрифты TrueType(R). Очень маленькие (как текст веб-страницы на дисплее с высоким разрешением) и очень большие (в StarOfficeTM) шрифты будут теперь выглядеть гораздо лучше.
Антиалиасинг присутствует в X11 начиная с
XFree86TM,
версии 4.0.2. Однако настройка шрифтов была довольно
громоздка вплоть до появления XFree86TM
4.3.0. Начиная с версии XFree86TM 4.3.0,
все шрифты, расположенные в каталогах
/usr/local/lib/X11/fonts/
и
~/.fonts/
, автоматически становятся доступными для
применения антиалиасинга в приложениях, использующих Xft. Не все
приложения могут использовать Xft, но во многих его поддержка
присутствует. Примерами приложений, использующих Xft, является Qt
версий 2.3 и более поздних (это инструментальный пакет для оболочки
KDE), GTK+ версий 2.0 и более поздних (это
инструментальный пакет для оболочки GNOME),
а также Mozilla версий 1.2 и более
поздних.
Для применения к шрифтам антиалиасинга, а также
для настройки параметров антиалиасинга, создайте (или отредактируйте,
если он уже существует) файл
/usr/local/etc/fonts/local.conf
. Некоторые мощные
возможности системы шрифтов Xft могут быть настроены при помощи этого
файла; в этом разделе описаны лишь некоторые простые возможности. Для
выяснения всех деталей, пожалуйста, обратитесь к
fonts-conf(5).
Этот файл должен быть сформирован в формате XML. Обратите особое
внимание на регистр символов, и удостоверьтесь, что все тэги корректно
закрыты. Файл начинается обычным заголовком XML, за которым следуют
DOCTYPE и
тэг <fontconfig>
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
Как и говорилось ранее, все шрифты из каталога
/usr/local/lib/X11/fonts/
, а также
~/.fonts/
уже доступны для приложений,
использующих Xft. Если вы хотите добавить каталог, отличный от этих
двух, добавьте строчку, подобную следующей, в файл
/usr/local/etc/fonts/local.conf
:
<dir>/path/to/my/fonts</dir>
После добавления новых шрифтов, и особенно новых каталогов со шрифтами, вы должны выполнить следующую команду для перестроения кэшей шрифтов:
#
fc-cache -f
Антиалиасинг делает границы несколько размытыми, что делает очень мелкий текст более читабельным и удаляет <<лесенки>> из текста большого размера, но может вызвать нечёткость при применении к тексту обычного размера. Для исключения размеров шрифтов, меньших 14, из антиалиасинга, добавьте такие строки:
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
Для некоторых моноширинных шрифтов антиалиасинг может также оказаться неприменимым при определении межсимвольного интервала. В частности, эта проблема возникает с KDE. Одним из возможных решений для этого является жесткое задание межсимвольного интервала в 100. Добавьте следующие строки:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(это создаст алиасы "mono"
для других
общеупотребительных имён шрифтов фиксированного размера), а затем
добавьте:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
С некоторыми шрифтами, такими, как Helvetica, при антиалиасинге
могут возникнуть проблемы . Обычно это проявляется в виде шрифта,
который наполовину вертикально обрезан. Хуже того, это может
привести к сбоям таких приложений, как
Mozilla. Во избежание этого следует
добавить следующее в файл local.conf
:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
После того, как вы закончите редактирование
local.conf
, удостоверьтесь, что файл завершен
тэгом </fontconfig>
. Если этого не сделать,
ваши изменения будут проигнорированы.
Набор шрифтов по умолчанию, поставляемый с
X11, не очень подходит, если
включается антиалиасинг. Гораздо лучший набор шрифтов, используемых
по умолчанию, можно найти в порте
x11-fonts/bitstream-vera. Этот
порт установит файл
/usr/local/etc/fonts/local.conf
, если такого ещё
не существует. Если файл существует, то порт создаст файл
/usr/local/etc/fonts/local.conf-vera
. Перенесите
содержимое этого файла в
/usr/local/etc/fonts/local.conf
, и шрифты
Bitstream автоматически заменят используемые по умолчанию в
X11 шрифты Serif, Sans Serif и
Monospaced.
Наконец, пользователи могут добавлять собственные наборы
посредством персональных файлов .fonts.conf
.
Для этого каждый пользователь должен просто создать файл
~/.fonts.conf
. Этот файл также должен быть в
формате XML.
И последнее замечание: при использовании дисплея LCD может
понадобиться включение разбиения точек. При этом компоненты красного,
зелёного и голубого цветов (разделяемые по горизонтали),
рассматриваются как отдельные точки для улучшения разрешения экрана
по горизонтали; результат может оказаться потрясающим. Для включения
этого механизма добавьте такую строчку где-нибудь в файле
local.conf
:
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
В зависимости от типа дисплея, rgb
может
потребоваться заменить на bgr
,
vrgb
или vbgr
: пробуйте и
смотрите, что работает лучше.
Антиалиасинг должен быть включен при следующем запуске X-сервера.
Однако программы должны знать, как использовать его преимущества.
В настоящее время инструментальный пакет Qt умеет ими пользоваться,
так что вся оболочка KDE может
использовать шрифты с антиалиасингом.
GTK+ и GNOME
также можно заставить использовать антиалиасинг посредством капплета
<<Font>> (обратитесь к Раздел 6.7.1.3, <<Шрифты с антиалиасингом и GNOME>> для выяснения всех подробностей).
По умолчанию Mozilla версий 1.2 и выше
будет автоматически использовать антиалиасинг. Для отмены
использования антиалиасинга
перестройте Mozilla с флагом
-DWITHOUT_XFT
.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.