Студопедия — Серверы шрифтов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Серверы шрифтов






Существует несколько различных версий серверов шрифтов, которые нам подойдут: xfstt, xfsft, а также подправленная Redhat версия xfs, основанная на xfsft. Несмотря на похожесть имен, это абсолютно различные программы. Скорее всего, ваш дистрибутив включает в себя один из этих пакетов, и, возможно, часть из них вы уже установили.

Раньше, серверы шрифтов использовать для передачи шрифтов по сети. В этом случае шрифты могли находиться на одной машине, и клиенты могли обращаться к ним по мере необходимости. Однако, в настоящее время разработчики встроили в них возможность вывода шрифтов (Эта возможность уже встроена в XFree86 4.x, поэтому вам не понадобится отдельный сервер шрифтов, если вам нужна лишь поддержка TrueType)


xfstt

Один из таких серверов шрифтов - xfstt. xfstt был создан специально для работы с шрифтами TrueType.

Установка

xfstt очень просто установить. Сначала, загрузите его из сети, или проверьте CD с вашим дистрибутивом. Самую свежую версию можно найти по адресу http://metalab.unc.edu/pub/Linux/X11/fonts/

После того, как вы получите архив, разархивируйте его:

$ tar -zxvf xfstt-*tgz

Потом соберите и установите его. Прочтите файл INSTALL, в нем есть краткие инструкции, но там все достаточно просто.

Все, что вам надо сделать, это запустить команды:

# make # make install

Запустите xfstt, набрав

# xfstt --sync # обновляет базу данных шрифтов xfstt # xfstt & # запускает xfstt в фоновом режиме.

xfstt должен быть запущен до запуска X-сервера. После того, как это все нормально заработает, вы можете добавить эти строки в файл /etc/rc.d/rc.local, или любой другой подходящий для этого инициализационный скрип. Затем наберите:

$ xset +fp unix/:7101 # сообщить X о xfstt.

или добавьте:

FontPath "unix/:7101"

в ваш файл XF86Config для того, чтобы сообщить X о новом шрифтовом сервисе. Запускайте команду xfstt --sync каждый раз при изменении переменной FontPath или содержимого каталога шрифтов.

Изменение размера шрифта, устанавливаемого по умолчанию

Если ваши шрифты TrueType будут слишком мелки, то вам, наверняка, помогут следующие команды.

Добавьте опцию -dpi к командной строке вашего Х-сервера (см. раздел 3, чтобы узнать как это сделать.)

Используйте ключ --res для того, чтобы указать xfstt увеличить разрешение экрана по умолчанию. Используйте следующую командную строку:

# xfstt --res 120


xfs, входящий в состав дистрибутива Redhat

В комплект дистрибутива RedHat (начиная с версии 6.0), а также производных ему (Mandrake, и т.п.) входит специальная измененная версия пакета xfs - сервера шрифтов XFree86, а также подправленные версии X-серверов. Этот исправленный xfs включает в себя патч xfsft, который, в свою очередь, основан на библиотеке FreeType Font. Этот xfs делает практически то же самое, что и xfstt. xfs обрабатывает шрифты Truetype и Type 1, а также обычные шрифты X Window.

Если ваш дистрибутив основан на RedHat, то у вас уже должен быть установлен xfs. Если нет, то он находится в пакете XFree86-xfs*rpm. Для того, чтобы убедиться в том, что он работает в качестве стандартного сервиса, используйте ntsysv или:

# chkconfig --add xfs

Теперь xfs будет запускаться при каждой загрузке системы.

Установка переменной FontPath для xfs

Стандартная установка xfs в RedHat работает со шрифтами через Доменные Сокеты Unix (Unix Domain Socket). Мы должны указать X-серверу, где искать xfs, а, соответственно, и шрифты. FontPath в файле /etc/X11/XF86Config должен содержать строку:

FontPath "unix/:-1"

Так, по крайней мере, сделано в стандартной установке. Здесь приводится ссылка на сокет, на котором находится xfs. Вы можете также включить сюда ссылки на другие каталоги, но их будет обрабатывать X-сервер, а не xfs. В стандартной установке RedHat 6.x это делается по умолчанию, но, если вы обновляете старую версию, то вам придется указать эту строку вручную!

Переменная FontPath, которую использует xfs, находится в отдельном файле /etc/X11/fs/config. В этом файле находится список каталогов со шрифтами. Он не имеет никакого отношения к FontPath в XF86Config. Вы можете либо добавить каталоги вручную, либо использовать для этого команду chkfontpath:

# chkfontpath --add /usr/local/share/fonts/ttfonts

Переменная FontPath должна быть задана до запуска chkfontpath. Соответствующая секция файла /etc/X11/fs/config должна выглядеть примерно так:

catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled, /usr/X11R6/lib/X11/fonts/100dpi:unscaled, /usr/X11R6/lib/X11/fonts/75dpi:unscaled, /usr/X11R6/lib/X11/fonts/Type1, /usr/X11R6/lib/X11/fonts/Speedo, /usr/X11R6/lib/X11/fonts/misc, /usr/X11R6/lib/X11/fonts/100dpi, /usr/X11R6/lib/X11/fonts/75dpi, /usr/local/share/fonts/ttfonts

Подготовка шрифтов

Нам надо сделать кое-что еще перед тем, как использовать шрифты TrueType. Для использования xfs должны быть выполнены некоторые правила. Во-первых, имена файлов шрифтов должны быть написаны маленькими буквами. Во-вторых, для работы надо создать пару файлов.

Используйте команду su для того, чтобы стать пользователем root, и перейдите в каталог со шрифтами TrueType:

# su - # cd /usr/local/share/fonts/ttfonts

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

#!/bin/sh # ## -------- преобразование букв имен файлов в строчные --------- ls * | while read f do if [ -f $f ]; then if [ "$f"!= "`echo \"$f\" | tr A-Z a-z`" ]; then # Внимание, файл 'This' будет перезаписан файлом 'this'! mv -iv "$f" "`echo \"$f\" | tr A-Z a-z`" fi fi done ## eof

Обратите внимание на символы -- очень важны обратные апострофы! Уберите из имен файлов все пробелы. После этого создайте файлы fonts.dir и fonts.scale. Это можно сделать при помощи следующих команд:

# ttmkfdir -o fonts.scale # mkfontdir

Теперь у вас в каталоге с TrueType-шрифтами должны появиться файлы fonts.dir и fonts.scale. Команда ttmkfdir входит в состав RPM Freetype, и ее надо запускать до запуска mkfontdir. Эти команды не всегда выдают сообщения об ошибках, поэтому надо убедиться в том, что они создали не пустые файлы:

$ ls -l fonts.* -rw-r--r-- 1 root root 11657 Aug 17 10:31 fonts.dir -rw-r--r-- 1 root root 11657 Aug 17 10:31 fonts.scale

Если у вас возникли проблемы, то используйте опцию -m команды ttmkfdir. В результате из файлов шрифтов будут отброшены все плохие символы. Задайте число 50 или 100 (ttmkfdir -m 50). Полученные файлы являются текстовыми, и вы можете на них взглянуть:

$ less fonts.dir 114 webdings.ttf -microsoft-Webdings-medium-r-normal--0-0-0-0-p-0-microsoft-symbol verdanaz.ttf -microsoft-Verdana-bold-i-normal--0-0-0-0-p-0-ascii-0 verdanaz.ttf -microsoft-Verdana-bold-i-normal--0-0-0-0-p-0-fcd8859-15 verdanaz.ttf -microsoft-Verdana-bold-i-normal--0-0-0-0-p-0-iso8859-15 verdanaz.ttf -microsoft-Verdana-bold-i-normal--0-0-0-0-p-0-iso8859-9 verdanaz.ttf -microsoft-Verdana-bold-i-normal--0-0-0-0-p-0-iso8859-1 [...]

После этого обновитье переменные FontPath вашего xfs (это может быть не обязательно в случае XFree86 4.x) и X-сервера:

# /etc/rc.d/init.d/xfs restart $ xset +fp /usr/local/share/fonts/ttfonts $ xset fp rehash

Запускайте первую и последнюю команды каждый раз при добавлении или удалении шрифтов. Команда xset +fp необходима только в тех случаях, когда вы добавляете новый каталог шрифтов к существующим.

Теперь все должно работать. Проверьте доступность шрифтов командой:

$ xlsfonts | less

или проверьте их при помощи xfontsel, или gfontsel. Если их видит xlsfonts, то они должны быть доступны X и наоборот. Если их нет, то попоробуйте перезапустить X клавишами Ctrl-Alt-BS.

Xfsft

xfsft - это решение для работы с TrueType, предложенное Juliusz Chroboczek. xfsft основан на библиотеке работы со шрифтами FreeType, которая разработана Mark Leisher. Также существует патч для xfs XFree86, и связанная с ним библиотека -- xfs + ft. xfs, входящий в состав Redhat является на самом деле xfsft с небольшими изменениями. Более того, XFree86 версий 4.x включает в себя модуль работы со шрифтами freetype, который также сделан Juliusz Chroboczek.

Сборка xfsft требует наличия части исходных текстов XFree86 (кроме самих исходных текстов xfsft), так что это не очень быстрое занятие. Инструкции по сборке и настройке xfsft находятся в самом файле исходных текстов, поэтому я не буду вдаваться в подробности. Там все достаточно просто. На домашней странице xfsft также есть ссылки на уже собранные программы (см. выше).

Заметьте, что xfsft требует наличия файлов fonts.scale и fonts.dir. Файл fonts.scale можно создать вручную (уф!), или при помощи утилиты ttmkfdir. Она не входит в состав xfsft, но вы найдете ее здесь или, возможно, на других известных Linux-сайтах. Она также входит в состав RPM Freetype в RedHat.

Вам необходимо настроить файл конфигурации. Ниже приведен пример:

----------------------------------------------------- clone-self = offuse-syslog = off client-limit = 20 catalogue = /usr/local/share/font/ttfonts error-file = /home/jec/fonts/xfs.errors # в деципунктахdefault-point-size = 120 # x,ydefault-resolutions = 100,100,75,75 -----------------------------------------------------

После этого вы можете запустить:

# xfs -port 7100 -config /путь/к/вашему/файлу/конфигурации &

Затем вы можете добавить xfsft к переменной FontPath вашего X-сервера:

$ xset +fp tcp/localhost:7100

Если все пойдет хорошо, то добавьте эту строку к переменной FontPath вашего файла XF86Config.







Дата добавления: 2015-12-04; просмотров: 206. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия