Это небольшое руководство описывает, что необходимо для правильной поддержки шрифтов в приложениях Qt, работающих под X11. В основном оно будет интересно дистрибуторам или людям, самим настраивающим шрифты под Unix. Это неполное руководство, и вам придется самому разобраться в некоторых деталях, лишь вскользь упомянутых в данном очерке.
Для начала необходимо убедиться в том, что:
Если она присутствует, вам понадобится версия Qt-2.3.0 или более поздняя, собранная с поддержкой Xft. Если вы собираете Qt самостоятельно, добавьте параметр -xft при запуске configure.
Кроме того, вам необходимы truetype шрифты для полного раскрытия всей мощи расширения Xft на X11. См. п.4 этого руководства для ссылок на ресурсы шрифтов в Интернете. truetype шрифты Microsoft, доступные в Интернете, очень хорошего качества и послужат хорошей отправной точкой.
Загрузив шрифтов из Сети, вы должны будете добавить их к путям каталогов векторных шрифтов в файле XftConfig в /usr/X11R6/lib/X11.
Теперь установите переменную окружения QT_XFT в true и запустите любое приложение Qt (например, designer). Если все прошло успешно, вы увидите сглаженные шрифты.
Если вы запускаете KDE и не получили сглаженных шрифтов на вашем рабочем столе, попробуйте удалить файл ~/.kde/share/config/kdefonts.
Замените все строки с указанием путей к каталогам, содержащим растровые шрифты, например:
FontPath "/usr/X11R6/lib/X11/fonts/75dpi" на FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"Теперь вы более не увидите отвратительных масштабированных растровых шрифтов на вашем экране.
Каталог шрифтов ghostscript уже содержит файлы fonts.dir, fonts.scale и fonts.alias, поэтому вам нужно только добавить этот каталог к путям шрифтов в файле XF86Config.
Тем не менее, хочу предупредить, что некоторые из масштабируемых шрифтов PostScript выглядят довольно плохо на экране, и их не следует включать в список шрифтов. Если у вас есть шрифты, которые выглядят грубовато в Qt/KDE, вам, пожалуй, стоит удалить строки с описанием этого шрифта из файлов font.*.
Большинство современных дистрибутивов Linux поставляются с X-сервером, который уже поддерживает шрифты TTF. Если вы используете коммерческий Unix или старую систему, X-сервер может не поддерживать такие шрифты, и вам необходимо будет установить сервер шрифтов TTF.
Вы можете взять сервер шрифтов TTF на http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
Дополнительно вам необходима программа ttmkfontdir для создания файла fonts.dir ваших шрифтов TTF. Если она еще не установлена, возьмите её на http://www.joerg-pommnitz.de/TrueType/xfsft.html.
Теперь вы можете работать с шрифтами TTF и скачать эти великолепные шрифты из Интернета. Посмотрите четвертый пункт, в нем написано, где их можно взять в Интернете. Скачайте понравившиеся шрифты и скопируйте их в подкаталог ttf в каталоге /usr/X11R6/lib/X11/fonts. Затем запустите программу ttmkfontdir в этом каталоге и перенаправьте её вывод в файл fonts.dir.
Добавьте этот каталог к путям шрифтов в файле XF86Config (если ваш сервер может напрямую работать с файлами TTF) или сделайте его доступным для сервера шрифтов (xfsft или xfstt).
Это не получится с сервером шрифтов, поскольку он не извещает систему о том, где на жестком диске хранятся шрифты. В этом случае добавьте пути к шрифтам postscript либо в файл конфигурации X-сервера, XF86Config, либо временно командой xset +fp /path/to/your/fonts/. Чтобы использовать шрифты truetype без сервера шрифтов, нужно, чтобы X-сервер поддерживал их напрямую.
Первый ресурс, о котором стоит упомянуть, - каталог шрифтов Windows c:\windows\fonts (если они у вас установлены). Там вы найдете много шрифтов великолепного качества, которые удовлетворят ваши потребности.
Если у вас нет Windows, вы можете скачать эти шрифты прямо с сайта Microsoft. "Основные шрифты для Web" является коллекцией высококачественных шрифтов для скачивания, на которые ориентируются много вебмастеров. Хотя их лицензия не вполне ясна, тем не менее, вы можете скачать их бесплатно для личного использования.
Основные шрифты используют набор символов WGL4, который включает в себя
символы латиницы, кириллицы, греческого, турецкого языков и (частично)
иврита. Взять их можно с
http://www.microsoft.com/truetype/fontpack/.
Примечание: версия этих шрифтов для win3.1 может быть распакована unzip.
Версии .exe для win95-2000 могут быть распакованы утилитой
cabextract.
И если вы используете дистрибутив Debian, вы можете скачать и установить их
командой 'apt-get msttcorefonts'.
Другой набор шрифтов вы, возможно, уже имеете на своей машине, - это набор
шрифтов lucida, идущий с JRE (java runtime environment). Версия JRE от IBM
включает дополнительные шрифты, которые содержат большинство раскладок Unicode.
Список хороших шрифтов для различных языков доступен на
http://www.hclrss.demon.co.uk/unicode/fonts.html
Стоит еще упомянуть о шрифте bistream cyberbit.
Лицензия вроде бы позволяет включать его в дистрибутивы (но не кивайте на меня,
а проверьте сами), и в нем есть большинство раскладок
Unicode-2.1. Вы можете найти их на любом зеркале FTP-сервера Netscape.
Набор шрифтов для латиницы, кириллицы и, частично, иврита являются
частью поставки OpenOffice. Вы можете взять их из CVS openoffice в
каталоге extras/wnt/source/fonts/.
Я указываю адреса расположения только тех шрифтов, которые являются бесплатными и,
по-видимому, могут быть включены в дистрибутивы. Некоторые другие шрифты, такие
как Microsoft webfonts, могут быть теми самыми шрифтами, которые вы ищете, но
они не указаны в списке ввиду того, что их лицензия ограничивает их свободное
распространение.
4.1 Где найти шрифты для различных кодировок, отличных от latin ?
Найти хорошие бесплатные шрифты для кодировок, отличных от latin1, обычно
очень трудно, а в некоторых случаях просто невозможно, поэтому ниже я
укажу известные мне ресурсы для получения таких шрифтов. Возможно, список
неполный, поэтому если вы знаете местонахождение шрифтов для различных
кодировок, сообщите мне, и я добавлю их в список.
Некоторые азиатские шрифты PostScript находятся по адресу
http://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe
Их лицензия не вполне ясна, и устанавливать их достаточно утомительно.
У меня получилось использовать их в ghostscript, но не в X11.
Хотя в принципе это должно быть возможно.
Дата последнего изменения оригинала: Sat Mar 10 22:24:31 CET 2001