The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Шрифты в дистрибутивах ALT Linux (linux font rus xfree86 x ttf truetype xfs)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, font, rus, xfree86, x, ttf, truetype, xfs,  (найти похожие документы)
From: Алексей Новодворский <aen.at.altlinux.ru> Date: Mon, 14 May 2003 13:01:37 +0000 (UTC) Subject: Шрифты в дистрибутивах ALT Linux Оригинал: http://www.altlinux.ru/index.php?module=articles&action=show&artid=15 Шрифты в дистрибутивах ALT Linux Алексей Новодворский Протокол X11 и шрифты Протокол X11, разработанный в середине 80-х годов, определяет взаимодействие между приложением и системой отображения графики. Приложения называется клиентом X11, а система отображения -- сервером X11. Таким образом, вопреки сложившимся житейским представлениям, сервер X11 работает на компьютере или X-терминале пользователя, а приложение (клиент X11) может быть запущено как локально, так и удалённо. Протокол X11 представляет шрифт как набор матриц из нулей и единиц (растров). Каждый шрифт имеет ряд характеристик (имя, размер, кодировка и т.д.). Сервер ищет требуемый приложением растр шрифта с запрошенными свойствами сам, при помощи своего шрифтового модуля, или обращается за ним к специальному серверу шрифтов, запущенному локально или удалённо. Таким образом, протокол X11 был изначально ориентирован на работу с растровыми (bitmap) шрифтами (PCF, BDF), при этом приложение (клиент) может лишь запрашивать шрифт, но само с его растрами не работает. С ростом возможностей печатающих устройств, они стали использовать масштабируемые шрифты, задаваемые векторно, что позволило легко масштабировать их, а также осуществлять другие преобразования. Более того, при выводе на качественные устройства печати символы шрифтов отображаются не одним цветом, а оттенками цвета, что позволяет создать эффект сглаживания (антиалиасинга). UNIX(TM) прекрасно справлялся и справляется с красивой печатью масштабируемыми шрифтами при помощи знаменитых программ nroff (groff в варианте GNU), TeX, Ghostscript, но программы просмотра выходных форматов этих программ не пользуются шрифтовыми возможностями протокола X, ограниченного растром, а посылают серверу X уже сформированную картинку, что сильно замедляет работу и делает практически невозможным динамическое отображение текста в процессе набора или использование его в элементах интерфейса. Для использования в оконной системе X масштабируемых шрифтов (Type1, TTF, Speedo), необходимо преобразовывать их символы (глифы) в растры. В свободной реализации X, XFree86, это делает либо сам сервер X11, собранный с библиотекой растеризации freetype1 (сейчас это более распространённый способ), либо сервер шрифтов. При этом существенно увеличивается количество доступных шрифтов, появляется возможность использовать для отображения и печати одни и те же шрифты, но вот качество отображения оставляет желать лучшего, так как на экране символ по-прежнему остаётся одноцветным, без полутонов, т.е. сглаживания. Сглаживание шрифтов Сглаживание шрифтов в XFree86, не модифицирующее протокол X11, было реализовано около двух лет назад. Для создания картинки из глифа использовалась библиотека freetype2 http://www.freetype.org, для отрисовки её на экране с использованием, при возможности, аппаратной акселерации -- расширение Render сервера X, а для управления шрифтами и взаимодействия с расширением Render -- библиотека Xft1. Важно, что картинка сглаженного глифа создаётся клиентом из шрифтов на стороне клиента, а расширение Render на стороне сервера X11 отрисовывает её, согласуя с фоном. При этом расширение Render аппаратно-зависимо и, к сожалению, существует не для всех видеочипов. Тем более его нет на стандартных X-терминалах. Вот почему сглаживание шрифтов, использующее библиотеку Xft1, работает не на всех системах. Летом 2002 года Кейт Паккард (Keith Packard), автор новой концепции рендеринга для X и библиотеки Xft1, выпустил её новую, переработанную редакцию -- Xft2. Кейт выделил библиотеку управления шрифтами клиента, назвав её fontconfig, а в Xft2 добавил возможность отрисовки на сервере X11 картинок сглаженных глифов даже в том случае, если расширения Render на нем нет. При этом, конечно, трафик между клиентом и сервером заметно возрастает. Управление шрифтами Сервер X Каталоги со шрифтами, управляемыми самим сервером X11, описываются в секции <<Files>> файла конфигурации /etc/X11/XF86Config-4 (здесь и далее приводится расположение файлов, принятое в ALT Linux). В каждом таком каталоге должен быть файл fonts.dir (созданный, например, при помощи утилиты mkfontdir для каталогов с растровыми шрифтами и утилитой ttmkfdir -- для каталогов с TTF) с описанием шрифтов и, возможно, файл fonts.alias с альтернативными описаниями шрифтов каталога. Для того чтобы изменения в секции <<Files>> (равно как и в других секциях XF86Config) вступили в силу, требуется перезапуск сервера X11. В то же время, добавить или удалить шрифты в процессе работы можно при помощи утилиты xset [+|-]fp. В стандартной конфигурации XFree86 в ALT Linux непосредственное управление шрифтами сервером X не используется. Сервер шрифтов xfs В большинстве современных дистрибутивов Linux для управления шрифтами X11 используется сервер шрифтов xfs. Для того, чтобы указать серверу X11 на необходимость обращения к серверу шрифтов, достаточно указать в XF86Config-4 его сетевой адрес и протокол доступа. В случае, если xfs запущен локально, в XF86Config-4 есть строчка FontPath "unix/:-1" в секции <<Files>>. Каталоги со шрифтами перечисляются в /etc/X11/fs/config/. Самый удобный способ добавления/удаления каталогов шрифтов -- утилита chkfontpath, которая изменяет файл настроек xfs и перезапускает сервер шрифтов. Просмотреть шрифты, доступные системе, можно при помощи программы xfontsel. Управление шрифтами клиента средствами fontconfig Файл системных настроек шрифтов клиента, управляемых при помощи библиотеки fontconfig, ./etc/fonts/fonts.conf, представляет из себя файл в разметке XML. Его формат описан в man-странице fontconfig. Утилита fc-list позволяет увидеть список доступных шрифтов, а утилита fc-cache -- пересоздать файлы описания fonts.cache-NN для каталогов со шрифтами. Утилита fontconfig позволяет управлять не только масштабируемыми, но и растровыми шрифтами в кодировке iso10646-1 (Unicode). Система управления шрифтами на основе fontconfig позволяет пользователю легко добавлять новые шрифты без перезапуска серверов. Для этого достаточно разместить их в каталоге ~/.fonts и выполнить команду fc-cache ~/.fonts Шрифты станут доступны всем вновь запущенным приложениям, использующим fontconfig. Утилита fontconfig используется не только приложениями, работающими с сервером X, но и, например, библиотекой печати gnome-print2. Унификация управления шрифтами, которую предлагает fontconfig, -- одна из задач, которую предстоит решить в ближайшем будущем. Другие средства управления шрифтами Свои средства подключения и настройки шрифтов имеют интерпретатор языка PostScript -- GNU GhostScript, издательская система TeX, программы форматирования текстов groff и GNU enscript. Расположение файла описания шрифтов GhostScript -- Fontmap, а также каталогов со шрифтами, определяется системной переменной GS_LIB. В ALT Linux файл Fontmap находится в каталоге /etc/gs. Значение переменной GS_LIB удобно наблюдать в выводе команды gs -help. В пакете teTeX-2.0, входящем в дистрибутивы Master и Junior, значительно улучшена и упрощена работа со шрифтами Type1. Именно они, а не шрифты Metafont, как ранее, являются основными в нашем пакете. Шрифты в ALT Linux Master и Junior Растровые шрифты Основными растровыми шрифтами в distro являются шрифты misc из поставки XFree86, а также шрифты Дмитрия Болховитянова XFree86-cyr_rfx-75dpi в различных кириллических кодировках и шрифты XFree86-75dpi-unicode, созданные ASP Linux путём объединения шрифтов XFree86 и шрифтов Дмитрия Болховитянова. Для правильной работы некоторых приложений с кириллицей важно, чтобы шрифты в требуемой кириллической кодировке стояли первыми в списке шрифтов xfs. При установке системы это требование соблюдается, но если вы изменили основную кодировку системы, то может понадобиться доустановить пакет шрифтов в новой кодировке и поменять порядок путей в /etc/X11/fs/config. Масштабируемые шрифты Type1 Свободные шрифты Type1 в distro стали основными шрифтами для приложений, использующих сглаживание (антиалиасинг). Современные версии библиотеки freetype2 позволяют обеспечить их качественный рендеринг. Большинство приложений Qt/KDE и Gtk+2/GNOME 2 используют по умолчанию шрифты пакета urw-fonts с кириллическими глифами Валентина Филиппова. Эти же шрифты используются при печати из большинства приложений. Мы рекомендуем также установить пакеты свободных шрифтов sharatype-fonts и dmtr40in-fonts, созданных Сергеем Шарашкиным (на основе шрифтов bitstream) и Дмитрием Сорокиным (оригинальный шрифт XlinSans). Пакет шрифтов cm-super, созданный Владимиром Воловичем на основе шрифтов Ольги Лапко, является основным для нашего пакета teTeX, но, отчасти, может быть использован для отображения и печати. Система именования шрифтов в TeX и библиотеках, работающих со шрифтами Type1, отличается, потому большинство этих прекрасных шрифтов пока недоступны вне TeX. Наконец, в Master включены декоративные шрифты проекта Vedi http://vedi.d-s.ru Они не свободные, но бесплатные для многих применений -- не забудьте ознакомиться с их лицензией. True Type Если вы используете сглаживание, то в установке шрифтов True Type нет большой необходимости. В противном случае, можно установить пакет val-ttf, созданный Валентином Филипповым на основе urw-fonts. Сглаживание шрифтов По умолчанию сглаживание шрифтов включено в приложениях Qt/KDE, Gtk+2/GNOME и Mozilla. В WindowMaker, fvwm2, waimea, xjed оно также доступно, но по умолчанию выключено. В документации к соответствующим пакетам (/usr/share/doc/<имя пакета>-<версия>) вы можете прочитать о способах настройки шрифтов в этих приложениях. Выключить сглаживание шрифтов в KDE и GNOME 2 можно через меню настроек этих систем, а также установив в <<0>> системные переменные QT_XFT и GDK_USE_XFT соответственно. Установка шрифтов Мы настоятельно рекомендуем всем пользователям тщательно проверять любые шрифты, не входящие в комплект distro, перед их установкой в системные каталоги, используя пользовательскую установку при помощи xset [+|-]fp или fc-cache, как это было описано выше в этой главе. Если шрифты уже проверены, то лучший способ их установки -- сборка шрифтового пакета на примере пакетов, входящих в Master. Если со сборкой таких пакетов возникают проблемы, то можно обратиться за консультацией в наши списки рассылки.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру