Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Настройка системы

Управление шрифтами в Линуксе

Оригинал: "Font Management in Linux", Часть 1, Часть 2
Автор: Carla Schroder
Дата: 18 октября 2007
Сокращенный перевод: Алексей Дмитриев
Дата перевода: 17 ноября 2007

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

Часть 1.

Трудности со шрифтами.

Шрифты в Линуксе сошли с ума. Большинство Линукс дистрибутивов перегружено большим набором шрифтов: с засечками, без засечек и моноширинных. И все они едва ли на пиксель отличаются друг от друга.

Шрифты на компьютерах сошли с ума. Иногда я с ностальгией вспоминаю времена электрических печатных машинок, когда приходилось вручную менять печатающий шарик, чтобы изменить шрифт. При этом мы всегда точно знали, что именно получим в итоге.

Многие шрифты охраняются авторским правом, и их нельзя легально скопировать и раздать всем своим друзьям. Некоторые приложения имеют собственные наборы шрифтов и соответствующих библиотек. GIMP делает это, так как полагает, что может оперировать шрифтами более компетентно, чем ваш Х-сервер; он использует FreeType и Pango. OpenOffice.org также поставляется со своим набором шрифтов, непонятно почему.

Хорошей новостью является то, что ваша ОС, скорее всего, уже настроена на распределение всего этого многообразия шрифтов по всей системе, а также то, что наличие FreeType и Fontconfig становятся стандартом. Так что GIMP и OpenOffice.org могут использовать системные шрифты, а все прочие приложения - шрифты GIMP, и OpenOffice. Если это не так, то поправить дело легко. Просто найдите директории со шрифтами и добавьте их в /etc/fonts/conf.avail/51-local.conf. Затем, как root, запустите в консоли команду fc-cache, чтобы кэш шрифтов был перестроен. Вуаля, дело в шляпе! Некоторые howto советуют редактировать файл /etc/fonts/fonts.conf, но вы не должны этого делать. Для ваших настроек служит local.conf, где бы он не находился (прим. перев.: не во всех ОС есть этот файл, у меня в Слаке нету, а в СуСе - есть), а файл /etc/fonts/fonts.conf будет переписан, когда программа fc-cache обновит Fontconfig.

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

Форматы без тайн.

Три основных формата шрифтов суть: TrueType, OpenType и PostScript.

TrueType шрифты имеют расширение *.ttf в ОС Linux/Unix, Windows и Mac OS X, и расширение *.ttc в Mac. TrueType шрифты изящно изменяют свои размеры без зубчатых кромок или несовпадения толщины линий; нет нужды в отдельном файле для каждого размера, нужны лишь файлы для разных стилей: таких как курсив или полужирный.

PostScript шрифты имеют каждый по два файла: *.afm для экранного шрифта, и *.pfb для принтерного шрифта. Эти расширения относятся к Linux и Unix; Windows дает PostScript шрифтам расширения: *.pfm и *.pfb. Mac OS X оперирует PostScript шрифтами многоразличными способами, я даже не хочу запутываться в их странностях.

OpenType это новый формат шрифта, разработанный совместно Microsoft и Adobe. Расширение его файла *.otf, и он работает как на Windows, так и на Mac.

Растровые (Bitmap) шрифты устарели. Необходимо иметь по особому файлу для каждого размера и стиля, так что трудно представить себе, чтобы сегодня ими кто-либо пользовался.

Большинство дистрибутивов Линукс сегодня включают как TrueType, так и PostScript Type 1 шрифты. Некоторые издатели настаивают на использовании шрифтов PostScript с "родными" PostScript принтерами, но это происходит все реже. Большинство принтеров поддерживают ту или иную эмуляцию PostScript. Ghostscript это интерпретатор PostScript'а, который становится стандартным для большинства дистрибутивов Линукс, так что вы почти всегда сможете прочесть и распечатать документы PostScript.

Шрифтовые менеджеры.

Линукс нуждается в хороших менеджерах шрифтов.

KDE'шный установщик шрифтов работает прилично: он находит и перечисляет те шрифты в вашей системе, о которых знает Fontconfig; также он устанавливает и удаляет шрифты. Кроме того, он сообщает тип шрифта и позволяет распечатать либо каталог всех шрифтов, либо избранные шрифты. Если хотите выбрать шрифты из списка вразбивку (не подряд), используйте Ctrl+ левая кнопка мыши, если хотите выбрать группу смежных шрифтов, то применяйте Shift+ левая кнопка мыши. Каждый шрифт занимает две строки, так что их много поместится на одном листе бумаги. Обычно в KDE установщик шрифтов находится в Центре Управления КДЕ. (прим. перев.: Какой у нее КДЕ? Где она там нашла распечатку шрифтов???). Kubuntu помещает установщик шрифтов в System Settings -> Appearance.

Пользователи Gnome могут открыть Nautilus, найти каталоги, содержащие TrueType шрифты, и кликнуть на желаемом шрифте, чтобы просмотреть его. Но со шрифтами других форматов это не сработает. OpenOffice.org Writer и KWord оба имеют хорошие предпросмотрщики шрифтов, так что вы сможете увидеть, что эти шрифты из себя представляют.

Шрифты в Ubuntu: Это ужас.

Ubuntu устанавливает более 200 шрифтов, большинство из них иностранные, причем настолько иностранные, что только очень талантливый лингвист сможет когда-нибудь их использовать. Они бесполезны уже потому, что в большинстве своем некорректно представлены. Чего стоят эти странно выглядящие ae_ шрифты, заставившие многих пользователей Ubuntu почесать в затылке? Это все части пакета ttf-arabeyes. Наивернейший способ узнать, к какому пакету относится тот или иной шрифт - использовать команду locate с именем файла:
# locate -i ae_cortoba
/usr/share/fonts/truetype/ttf-arabeyes/ae_Cortoba.ttf

Воспользуйтесь Adept или Synaptic, найдите установленные шрифты, и с первого взгляда поймете, какие именно вам нужны. Однако не вздумайте удалять:

  • любые xfonts или xfont утилиты
  • x-tccidfont-conf
  • ttf-opensymbol
  • ttf-dejavu
  • все, что начинается с lib
  • fontconfig
  • defoma
  • все, что начинается с console
  • gsfonts

Часть 2

Предварительный просмотр шрифтов.

Бдительный читатель Terry H. сообщил мне, что недавно появился новый просматриватель шрифтов: GNOME-Specimen. Это еще ребенок, первый релиз датируется ноябрем 2006, а современная версия 0.3.1. Пользователи Debian найдут его на репозиториях Lenny и Sid. поклонники Fedora 6 найдут его на репозитории Extras. Fedora 7 и 8 объединили Core и Extras, так что теперь у них нет отдельного Extras репозитория. GNOME-Specimen имеет приятный интерфейс и дает возможность выбирать и сравнивать различные шрифты "лицом к лицу", хотя не позволяет устанавливать, удалять или распечатывать образцы шрифтов.

Terry указал также два различных способа просматривать шрифты в Nautilus, причем просматривать можно шрифты любых форматов. Способ первый: перейти в директорию, где находятся шрифты, например /usr/share/fonts/default/type1, и кликнуть мышью на файлах *.pfb. Второй, и более простой способ: напечатать в адресной панели fonts:/// - это выведет все установленные шрифты. (Прим. перев.: в КДЕ этот способ работает не хуже). Другой метод: открыть это окно через System -> Preferences -> Fonts. Нажмите кнопку "details" затем "go to the font folder"

Программа gucharmap, the GNOME Character Map, легко читаема и выводит как сложные таблицы символов, так и информацию по отдельным символам. Можно также помещать символы в Буфер обмена и вставлять затем в документы. Если встретите шестнадцатеричные символы, типа: 15-0C или 14-0F в таблице символов, то, значит, на этой позиции таблицы нет никакого символа. (Конечно gucharmap работает на любом рабочем столе или оконном менеджере, не только на GNOME)

Адепты командной строки могут использовать xlsfonts, чтобы просмотреть все доступные шрифты:

$ xlsfonts
[...]
-bitstream-bitstream vera sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-9
-bitstream-bitstream vera sans-bold-o-normal--0-0-0-0-p-0-iso10646-1
[...]
Затем используйте xfd ("X font display"), чтобы просмотреть таблицу символов.
$ xfd -fn '-bitstream-bitstream vera sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-9'

Поиск и установка новых шрифтов

Для начала проверьте репозитории вашего дистрибутива. На Debian, и его многочисленных потомках, устанавливайте новые шрифты обычным способом - с помощь программ aptitude или Synaptic. У поклонников Fedora есть Yum и дивный графический Package Manager. Что до остальных Линуксов.., ну,.. вы поняли идею...

Если ваши желания все еще не удовлетворены, существует несколько сайтов с хорошими свободными шрифтами для Линукс. Набор шрифтов Linux Libertine создан как замена качественным Times и Times New Roman. Они бесплатны и лицензированы по GPL. Инсталляция проста: закачайте и распакуйте тарбалл, затем переместите директорию LinLibertineFont/ в любую из директорий, перечисленных в файле /etc/fonts/fonts.conf. Ваш новый Libertine шрифт немедленно готов к применению.

Просмотрите следующие сайты на предмет приобретения шрифтов:

Penguin Fonts

Computers and Writing Systems

MyFonts.com Не распространяет свободные шрифты, но имеет большой выбор и удобную навигацию по сайту.

The Linux Box
является большим подспорьем, предлагая шесть тысяч семьсот шестьдесят шрифтов.

Консольные шрифты

Здесь я буду говорить о реальной Линукс-консоли, в которую попадают, нажав Ctrl+Alt+F1. Не о неженке X терминале, но простой работяге безо всяких X-window окошек. В Debian консольные шрифты хранятся в виде сжатых файлов в /usr/share/consolefonts. Fedora помещает их в /lib/kbd/console/fonts.

Чтобы изменить шрифт консоли, пользователь Fedora должен редактировать файл /etc/sysconfig/i18n. По умолчанию установлен шрифт latarcyreb-sun16. Можно заменить его на любой шрифт из каталога /lib/kbd/console/fonts.

В Debian, ищите /etc/console-tools/config, и устанавливайте любой шрифт, присутствующий в директории /usr/share/consolefonts.

Пользователь Ubuntu должен изменить /etc/default/console-setup. Программа сама подскажет вам, какие переменные можно использовать. Оставьте в покое CHARMAP="UTF-8"; Юникод вам всегда пригодится. CODESET, FONTFACE и FONTSIZE настроят ваши шрифты.

Новый шрифт появится, как только вы залогинитесь в другую консоль, так что жмите Ctrl+Alt+F1, или любую другую F-клавишу вплоть до F6, вводите пароль и пробуйте. Alt+Fn переключает между консолями, а Alt+F7 вернет обратно в X Window.

Программа FontForge

FontForge - это интересное приложение для просмотра, редактирования, и создания шрифтов. Его интерфейс выглядит довольно рахитичным: мелкие, зубчатые, не масштабируемые шрифты и никаких конфигурационных опций типа: "директории шрифтов по умолчанию", "темы" и т.п. К тому же, открывается программа всегда в вашей домашней директории - хотите вы того, или нет.

Но под неприглядной внешностью скрывается мощный инструмент для создания шрифтов всех форматов и для конвертации шрифтов и иные форматы. Линукс, конечно, поддерживает большой диапазон форматов, но если все же задача конвертации возникла, то это - тот самый инструмент, который нужен. Документация подробна и доступна на нескольких языках. Даже имеется поддержка графических планшетов Wacom. Шрифты Libertine были созданы на FontForge. Шрифт-дизайн дело трудное и требующее весьма много времени, но, кто знает, возможно именно у вас откроется талант...

Источники:

The Anatomy of Web Fonts

A Quick Primer On Unicode and Software Internationalization Under Linux and UNIX

Unicode Font Guide For Free/Libre Open Source Operating Systems


Обсуждение статьи на LOR.