| Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian |
|---|
| Пред. | | След. |
Дисплей (X-серверы и серверы шрифтов)Строго говоря, абсолютно не обязательно настраивать серверы шрифтов для
использования шрифтов TrueType с X-серверами. Если вы хотите использовать
статические файлы, вместо сервера шрифтов, то смотрите инструкции по
настройке использования шрифтов TrueType в ghostscript. Настройка сервера шрифтов xfsС этого момента, я предполагаю, что у вас имеется работающий файл
/etc/X11/XF86Config, загружающий шрифты из четко определенных в разделе
FontPath каталогов. Мы его исправим таким образом, чтобы он использовал
сервер шрифтов xfs.
Установка XFS Если вы еще этого не сделали, установите пакет main/binary-*/x11/xfs_*.deb. Настройка XFS Откройте файл /etc/X11/xfs/config и измените опцию catalogue так, чтобы она
соответствовала секции FontList из файла /etc/X11/XF86Config. Вам также,
возможно, надо будет изменить значение опции default-resolutions.
/etc/X11/xfs/config
# paths to search for fonts
catalogue =
/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/Speedo/,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/100dpi/,
/usr/X11R6/lib/X11/fonts/75dpi/
# x1,y1,x2,y2,...
default-resolutions = 100,100,75,75 |
Перезапуск XFS Перезапуск XFS обычным для Debian образом:
root shell
# /etc/init.d/xfs restart |
Проверка работы XFS Перед тем, как мы начнем исправлять файл XF86Config, необходимо проверить
работоспособность сервера xfs. Для этого мы выведем на экран список
доступных через него шрифтов:
user shell
$ fslsfonts -server unix/:7100
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
.... |
Исправление /etc/X11/XF86Config Теперь мы готовы указать X-серверу использовать сервер шрифтов xfs.
Оставим путь к одному каталогу со шрифтами на тот случай, если у нас
возникнут проблемы с xfs. (Оставляем каталог "misc". потому что в нем
содержится шрифт fixed, который используется в X по умолчанию.)
/etc/X11/XF86Config
Section "Files"
FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
EndSection |
Перезапуск X Перезапустите X командой startx, в случае, если вы не любите острые
ощущения. Если любите - то трижды назовите имя компании, которая вас
застраховала на большую сумму, и затем, скрестив пальцы, перезапустите xdm. Проверка работоспособности шрифтов XFS Как только у нас загрузился сеанс работы X, мы можем проверить, видит ли
наш сервер шрифты xfs, выведя список шрифтов экран командой:
user shell
$ xlsfonts
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
.... |
Настройка сервера шрифтов xfstt и установка шрифтов TrueTypeК этому моменту, я предполагаю, что вы имеете работающий сервер шрифтов xfs
и хотите установить поддержку шрифтов TrueType при помощи xfstt.
Установка XFSTT Установите main/binary-*/x11/xfstt_*.deb, если вы еще этого не сделали. Установка шрифтов TrueType Скопируйте ваши шрифты TrueType в каталог /usr/share/fonts/truetype. Эти
файлы обычно имеют расширение .ttf, и на них должны быть установлены права
с маской 0444. Перезапуск сервера шрифтов XFSTT Перезапустите сервер xfstt с опцией force-reload flag
root shell
# /etc/init.d/xfstt force-reload |
Проверка работы XFSTT Перед тем, как мы изменим файл XF86Config необходимо проверить, работает ли вообще сервер xfstt. Важно: Сервер xfstt в дистрибутиве Debian использует порт 7101, вместо 7100. Права на его использование установлены по умолчанию так, что этот запрос доступен только root-у.
user and root shells
$ fslsfonts -server unix/:7101
_FSTransSocketUNIXConnect: Can't connect: errno = 111
fslsfonts: unable to open server "unix/:7101"
# fslsfonts -server unix/:7101
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1 |
Включение в /etc/X11/XF86Config использования xfstt Теперь мы готовы к тому, чтобы указать X-серверу использовать сервер
шрифтов xfstt. Мы хотим, чтобы шрифты TrueType имели наибольший приоритет.
/etc/X11/XF86Config
Section "Files"
FontPath "unix/:7101"
FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
EndSection |
Проверка работы шрифтов сервера XFSTT Как только у нас загрузился сеанс работы X, мы можем проверить, видит ли наш сервер шрифты TrueType, выведя их список на экран командой:
$ xlsfonts | grep ttf
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
.... |
Использование шрифтов TrueTypeС этого момента у вас появилась возможность использовать шрифты TrueType в
различных приложениях, например, GIMP, Netscape или StarOffice. Так как у
шрифтов TrueType ширина нефиксирована, то вам наверно не стоит использовать
их в xterm - эти программы выделяют под символы фиксированное пространство,
равное размеру самого большого символа. Установка дополнительных шрифтов TrueTypeУстановить новые шрифты TrueType очень просто, если вы используете сервер шрифтов xfstt:
Интернационализацияxfstt имеет возможность генерировать различные кодовые страницы шрифтов в
том случае, если в шрифте TrueType содержатся соответствующие образы
символов. Чтобы разрешить использование кодовых страниц, отличных от
iso8859-1/unicode-1, вы должны вручную исправить скрипт /etc/init.d/xfstt:
/etc/init.d/xfstt
- start-stop-daemon --start --quiet --exec $XFSTT -- \
--port $portno --daemon
+ start-stop-daemon --start --quiet --exec $XFSTT -- \
--port $portno --encoding iso8859-1,koi8-r,windows-1252,symbol-0 \
--daemon |
В Debian 2.1 распознаются следующие кодовые таблицы:
iso8859-1 (Latin 1 - Западная Европа) iso8859-2 (Latin 2 - Центральная и Восточная европа) iso8859-3 (Latin 3 - Эсперанто и Мальтийский) iso8859-4 (Latin 4 - заменена Latin 6) iso8859-5 (Кириллица) iso8859-6 (Арабский) iso8859-7 (Греческий) iso8859-8 (Иврит) iso8859-9 (Latin 5 - Latin 1 с турецким вместо Исландского) iso8859-10 (Latin 6 - Северные языки, заменяют Latin 4) koi8-r (Кириллица) windows-1250 (Центральная Европа) windows-1251 (Кириллица) windows-1252 windows-1253 (Греческий) windows-1254 windows-1255 windows-1256 windows-1257 symbol-0 wingding-0 wingreek-0 cp-437 (различные кодовые страницы IBM) cp-737 cp-850 cp-851 cp-852 cp-853 cp-855 cp-857 cp-860 cp-861 cp-862 cp-863 cp-864 cp-865 cp-866 cp-869 cp-895 atari-st unicode-2
Первые 128 символов в страницах iso8859-x - это всегда ASCII. Страницы
windows- расширяют и дополняют iso8859-1 дополнительными символами,
например "умными кавычками." (Так как этих расширений нет в iso8859-1, то
они обычно бывают представлены вопросительными знаками.) Чтобы более подробно узнать о кодовых страницах символов, читайте:
Вопросы безопасностиЯ использовал в вышеприведенных примерах гнезда Unix, но стандартные пакеты
в Debian настроены так, что xfs и xfstt слушают порты 7100 и 7101, так же и
по TCP/IP. Доступ к этим портам должен контролироваться полем
trusted-clients в файле /etc/X11/xfs/config, но эта опция все еще не
реализована в XFree86 версии 3.3.2.3a. Это означает, что кто угодно, когда угодно, может подключиться к вашему
серверу шрифтов. Так как xfs (и, скорее всего, xfstt), по-видимому,
поддерживают большое количество пользователей, то против подобных систем
может быть применена стандартная форма атаки "отказ в предоставлении
сервиса". Использовать серверы шрифтов по телефонным линиям, наверно,
достаточно безопасно (так как вы в реальном режиме времени решаете
проблемы), но пользователи DSL и кабельных модемов должны использовать
firewall.
|