Назад | Вернуться к оглавлению. | Далее |
24. Фонты и их использование в Linux24.6. Подключение новых фонтов |
Итак, Вы удалили совсем уж ненужные Вам фонты. Теперь предположим, что Вы хотите добавить в имеющийся в Вашей системе набор фонтов какие-то новые фонты. Вначале возникает вопрос, где их взять.
Очень часто большие коллекции фонтов поставляются вместе с некоторыми графическими, издательскими или офисными программами. Примером может служить Microsoft Office или Corel Draw, в состав поставки которого входит громадный набор фонтов. Если пакет русифицирован, то в этом наборе фонтов найдутся и кириллические фонты.
В Internet тоже существует громадный выбор бесплатных или условно-бесплатных фонтов, однако не многие из них являются кириллическими. Адреса наиболее крупных и полезных сайтов с кириллическими фонтами. перечислены в приведенной ниже таблице.
Адрес | Краткое описание |
ParaType | Сайт отечественной компании, занимающейся созданием кириллических шрифтов. На данном сайте можно заказать как фонты, так и диспетчеры шрифтов и редакторы фонтов. |
Веди | Сайт независимого центра по разработке и распространению кириллических шрифтов. |
sunsite.unc.edu | Здесь есть несколько пакетов кириллических фонтов. |
Freshmeat | Задайте поиск по слову "font" и Вы найдете несколько пакетов кириллических фонтов. |
http://www.funet.fi/pub/culture/russian/comp/fonts/ | Архив, предоставляющий довольно неплохой выбор кириллических фонтов. |
Киархив | На КиАрхив тоже проще всего воспользоваться предоставляемой там возможностью поиска. Там имеется, в частности, классический набор фонтов от Cronyx. |
CYR-RFX | На странице Д.Болховитянова Вы найдете разработанные им фонты. |
В эту таблицу включены далеко не все сайты, на которых имеются кириллические фонты. Кроме того существует много сайтов с фонтами для английского и других языков, вроде китайского. Конечно, коллекции англоязычных фонтов гораздо более богатые, чем коллекции фонтов для русского языка. Если Вы хотите отыскать какой-то конкретный фонт для латиницы или просто пополнить свою коллекцию таких фонтов, начните поиск с одного из следующих сайтов: http://www.007fonts.com/, http://www.freewarefonts.com/, http://www.1001freefonts.com/, http://www.fontfreak.com/, Freeware Connection.
После того, как Вы скачали пакет фонтов, можно приступить к его инсталляции. Процедура инсталляции несколько отличается для фонтов Type 1 и True Type, поэтому рассмотрим эти два случая отдельно.
mkfontdirкоторая создает в каталоге с фонтами файл fonts.dir.
Если производится инсталляция фонтов Type1, то чтобы сделать эти фонты доступными для X, надо воспользоваться утилитой type1inst, которая создаст файлы fonts.dir и fonts.scale. После установки утилиты просто перейдите в каталог с новыми фонтами и запустите type1inst:
cd directory type1inst
Далее необходимо добавить имя нового каталога с фонтами к перечню каталогов фонтов. Если пакет xfs у Вас уже запущен, Вы можете сделать это путем редактирования конфигурационного файла /etc/X11/fs/config.
Теперь надо заставить фонт-сервер перечитать перечень каталогов, что можно сделать командой:
/etc/rc.d/init.d/xfs restartВаши новые фонты должны быть теперь доступны для X.
Если Вы не используете фонт-сервер, то Вам необходимо добавить имя каталога, содержащего файлы Ваших новых фонтов, к перечню каталогов фонтов X-сервера в файле /etc/X11/XF86Config. Это можно сделать в каком-либо текстовом редакторе, а можно с помощью команды
xset fp+ /usr/share/fonts/new(имя каталога будет добавлено в конец списка) или
xset +fp /usr/share/fonts/new(имя каталога будет добавлено в начало списка). После этого надо дать команду
xset fp rehashчтобы X-сервер нашел новые фонты.
# su # cd /usr/share/fonts/ttfи, если в именах файлов встречаются заглавные буквы, преобразуйте все имена в нижний регистр. В [2] приводится небольшой скрипт для автоматического преобразования имен файлов в нижний регистр, однако у меня этот скрипт отказался работать. Но в любом случае преобразовать имена и удалить пробелы из имен файлов можно и вручную.
# /usr/sbin/ttmkfdir -o fonts.scale # mkfontdirПосле этого в каталоге с новыми фонтами TrueType должны появится файлы fonts.dir и fonts.scale.
Еще одна причина возникновения проблем состоит в том, что ttmkfdir
почему-то сортирует имена фонтов в файле fonts.scale в обратном порядке. Этот
факт не вызывает затруднений, если Вы используете команду ttmkfdir в
указанном выше формате. Но если Вы попытаетесь подключить декоративные фонты,
которые часто содержат изображения не для всех возможных символов, то просто
дать команду
ttmkfdir -o fonts.scale
уже
недостаточно. Дело в том, что по умолчанию ttmkfdir допускает
отсутствие в фонте не более 5 символов. Но имеется специальная опция (-m nnn,
где nnn - число), которая позволяет увеличить допустимое число отсутствующих
изображений. Если запустить ttmkfdir в следующем виде:
ttmkfdir -m 100 -o fonts.scale ",
то созданный в
том же каталоге и при тех же файлах фонтов файл fonts.scale получится гораздо
большего обьема, то есть будет содержать больше наименований фонтов. При этом,
как раз из-за обратного порядка перечисления имен, файлы с неполным набором
символов окажутся в начале файла fonts.scale. В силу этого приложения могут
быть "введены в заблуждение" и "схватить" первый попавшийся (в данном случае -
неполный) фонт. Тогда вместо отутствующих символов Вы увидите просто пробелы.
Впрочем, с этой проблемой нетрудно справиться. Просто после создания файла
fonts.scale надо изменить порядок строк в нем, для чего после выполнения
команды
ttmkfdir -m 100 -o fonts.scale
надо сделать
следующее:
- Выполнить команду
tac fonts.scale >
fonts.dir
- Перенести строку с числом фонтов из конца полученного
таким образом файла fonts.dir в его начало;
- Убедиться, что файл
fonts.dir заканчивается символом конца строки;
- Теперь мы имеем корректно
сформированный файл fonts.dir ! Но список в файле fonts.scale все еще имеет
обратный порядок. Однако, поскольку эти два файла (по крайней мере в данном
случае) должны быть идентичны, то остается только выполнить команду
cat fonts.dir > fonts.scale
или
cp fonts.dir fonts.scale .
Полученный с помощью скрипта файл fonts.alias может оказаться очень
большим, особенно если создавали файл fonts.dir (который используется скриптом
как основа для создания fonts.alias) с помощью команды ttmkfdir с опцией "-m
100". Да и без этого в нем окажется масса имен фонтов, которые Вы никогда не
будете использовать. Поскольку в типичном случае вполне достаточно только
кириллических фонтов, можно попробовать удалить из fonts.alias все
неиспользуемые фонты с помощью следующей последовательности команд (оставляем
только кириллические фонты):
grep 'iso8859-5"' fonts.alias >
newfonts.alias
grep 'koi8-r"' fonts.alias >> newfonts.alias
cat newfonts.alias > fonts.alias
Возможно, этот же прием стоит применить к файлам fonts.dir и fonts.scale, только предварительно продумав все последствия. Если Вы очень разойдетесь и захотите провести такие же корректировки не только в каталогах с фонтами True Type, но в других каталогах с фонтами, то, по крайней мере, не забывайте, что нельзя просто удалить фонты, которые имеют в качестве второго имени (синонима) названия cursor, fixed и variable.
# /etc/rc.d/init.d/xfs restart
xlsfonts | grep arial(можно также воспользоваться командой xfontsel). Если новые фонты видны через xlsfonts, тогда они доступны и для X, и наоборот.
Теперь, когда шрифты True Type установлены, Вы можете попробовать, как они
работают, например, в Netscape.
- Запустите Netscape.
- Откройте окно
"preferences/appearence/fonts" и раскройте выпадающий список "Variable Width
Fonts". Там теперь должны появиться вновь установленные шрифты (я, например,
увидел "Verdana (Microsoft)", именно тот единственный TT-фонт, который
устанавливал). Выберите один из них.
Разрешите масштабирование, нажав кнопку
"Allow Scaling" рядом со списком "Variable Width Font".
Установите опцию
"Use my default fonts".
Затем выберите размер 12 в выпадающем списке справа.
Щелкните по кнопке OK. Теперь текст в окне Netscape должен отображаться
выбранным Вами шрифтом.
Назад | Вернуться к оглавлению. | Далее |
В.А.Костромин Последние изменения в содержание файла внесены 12 января 2001 г. |