---
authors:
  - 
    author: 'Dave Bodenstab'
    email: imdave@synet.net
description: 'Обзор технологий шрифтов в FreeBSD и способы их применения в разных программах'
subtitle: 'A Tutorial'
tags: ["Fonts", "syscons", "X11", "Ghostscript", "Groff", "guide", "tutorial", "FreeBSD"]
title: 'Шрифты и FreeBSD'
trademarks: ["freebsd", "adobe", "apple", "linux", "microsoft", "opengroup", "general"]
---

= Шрифты и FreeBSD
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:source-highlighter: rouge
:experimental:
:images-path: articles/fonts/

ifdef::env-beastie[]
ifdef::backend-html5[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
:imagesdir: ../../../images/{images-path}
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[.abstract-title]
Аннотация

Этот документ содержит описание различных файлов шрифтов, которые могут использоваться с FreeBSD и драйвером системной консоли, системой X11, программами Ghostscript и Groff. Даются реально работающие примеры по переключению экрана системной консоли в режим 80x60 и использованию файлов шрифтов формата Type 1 с перечисленными выше прикладными программами.

'''

toc::[]

[[intro]]
== Введение

Существует много мест, где можно найти файлы шрифтов, но встает вопрос о возможных способах их использования с FreeBSD. Ответ может быть найден в результате тщательного изучения документации по тем компонентам, которые вы собираетесь использовать. На это тратится очень много времени, и это пособие является попыткой дать готовые ответы для тех, кто заинтересуется такими вопросами.

[[terminology]]
== Основные термины

Имеется множество различных форматов файлов шрифтов и соответствующих окончаний имён файлов. Здесь обсуждаются лишь следующие из них:

[.filename]#.pfa#, [.filename]#.pfb#::
Файлы шрифтов PostScript(R) type 1. Файлы [.filename]#.pfa# являются текстовым (__A__scii) представлением, а [.filename]#.pfb# - двоичным (__B__inary).

[.filename]#.afm#::
Параметры (метрики) соответствующих шрифтов типа type 1.

[.filename]#.pfm#::
Метрики для принтеров соответствующих шрифтов типа type 1.

[.filename]#.ttf#::
Файл шрифтов TrueType(R)

[.filename]#.fot#::
Неявная ссылка на файл шрифтов TrueType (реальной информации о шрифте здесь не содержится)

[.filename]#.fon#, [.filename]#.fnt#::
Файлы экранных шрифтов с побитным представлением

Файлы [.filename]#.fot# используются в Windows(R) в качестве некой символической ссылки на файл со шрифтом в формате TrueType(R) ([.filename]#.ttf#). Файлы шрифтов [.filename]#.fon# также используются в Windows(R). Мне неизвестно, как можно использовать этот формат шрифтов во FreeBSD.

[[font-formats]]
== Какие форматы файлов шрифтов я могу использовать?

То, файл шрифтов какого формата будет полезен, зависит от используемого приложения. Сама по себе FreeBSD шрифтов не использует. Прикладные программы и/или драйверы могут использовать файлы шрифтов. Вот краткий справочник по типам файлов шрифтов и приложениям/драйверам:

Драйвер::

vt:::
[.filename]#.hex#

syscons:::
[.filename]#.fnt#

Приложение::

Ghostscript:::
[.filename]#.pfa#, [.filename]#.pfb#, [.filename]#.ttf#

X11:::
[.filename]#.pfa#, [.filename]#.pfb#

Groff:::
[.filename]#.pfa#, [.filename]#.afm#

Povray:::
[.filename]#.ttf#

Окончание [.filename]#.fnt# используется достаточно часто. Я полагаю, что когда кто-нибудь собирается создать файл шрифтов для своего приложения, чаще всего выбирается именно это окончание. Поэтому файлы с таким окончанием не все имеют одинаковый формат; в частности, формат файлов [.filename]#.fnt#, используемых драйвером syscons во FreeBSD, может отличаться от формата файлов [.filename]#.fnt#, встречающихся в MS-DOS(R)/Windows(R). Я даже не пытался использовать другие файлы [.filename]#.fnt#, кроме тех, что поставляются с FreeBSD.

[[virtual-console]]
== Настройка виртуальной консоли на режим работы 80x60

Во-первых, должен быть загружен шрифт размера 8x8. Для этого файл [.filename]#/etc/rc.conf# должен содержать строчку (измените в ней имя файла со шрифтом на соответствующий вашей локализации):

[.programlisting]
....
font8x8="iso-8x8"		# font 8x8 from /usr/share/syscons/fonts/* (or NO).
....

Команда для переключения режимов называется man:vidcontrol[1]:

[source, shell]
....
% vidcontrol VGA_80x60
....

Различные программы, ориентированные на работу с экраном, такие, как man:vi[1], должны уметь определять текущие размеры экрана. Так как это делается через вызовы `ioctl` к драйверу консоли (такому как man:syscons[4]), то размеры будут определяться правильно.

Чтобы это проходило более гладко, можно включить эти команды в скрипты начальной загрузки, чтобы они выполнялись при запуске системы. Чтобы это сделать, добавьте такую строчку в [.filename]#/etc/rc.conf#.

[.programlisting]
....
allscreens_flags="VGA_80x60"	# Set this vidcontrol mode for all virtual screens
....

Справочная информация: man:rc.conf[5], man:vidcontrol[1].

[[type1-fonts-x11]]
== Использование шрифтов type 1 с системой X11

X11 может использовать файлы шрифтов в формате [.filename]#.pfa# или [.filename]#.pfb#. Шрифты для X11 располагаются в различных подкаталогах в [.filename]#/usr/X11R6/lib/X11/fonts#. На каждый файл со шрифтом имеется ссылка по его X11-имени в файле [.filename]#fonts.dir# в каждом таком каталоге.

Существует каталог по имени [.filename]#Type1#. Самым простым способом добавить новый шрифт заключается в помещении его в этот каталог. Но лучше хранить все новые шрифты в отдельном каталоге и использовать символические ссылки для добавляемых шрифтов. Это позволяет легко управлять отдельными добавляемыми шрифтами, не путая их с изначально поставляемыми. Например:

[source, shell]
....
Создаем каталог для файлов шрифтов
% mkdir -p /usr/local/shared/fonts/type1
% cd /usr/local/shared/fonts/type1

Помещаем сюда файлы .pfa, .pfb и .afm

Кому-то может потребоваться хранить здесь также

cопроводительные файлы и документацию к шрифтам
% cp /cdrom/fonts/atm/showboat/showboat.pfb .
% cp /cdrom/fonts/atm/showboat/showboat.afm .

Обновление индексного файла со ссылками на файлы шрифтов
% echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX
....

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

[.programlisting]
....
-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
     |        |      |    |   |     |  | | | | | |    \    \
     |        |      |    |   |     \  \ \ \ \ \ \     +----+- набор символов
     |        |      |    |   \      \  \ \ \ \ \ +- средняя ширина
     |        |      |    |    \      \  \ \ \ \ +- spacing
     |        |      |    \	\      \  \ \ \ +- разрешение по вертикали
     |        |      |     \	 \	\  \ \ +- разрешение по горизонтали
     |        |      |      \	  \	 \  \ +- пунктов
     |        |      |       \     \	  \  +- пиксел
     |        |      |        \     \	   \
  foundry  family  weight   slant  width  additional style
....

Для каждого нового файла шрифтов необходимо создать новое имя. Если у вас есть какая-либо информация из сопроводительной документации к шрифту, то она может служить основой для создания имени. Если информации нет, то можно получить некоторую информацию от использования программы man:strings[1] над файлом шрифта. Например:

[source, shell]
....
% strings showboat.pfb | more
%!FontType1-1.0: Showboat 001.001
%%CreationDate: 1/15/91 5:16:03 PM
%%VMusage: 1024 45747
% Generated by Fontographer 3.1
% Showboat
 1991 by David Rakowski.  Alle Rechte Vorbehalten.
FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
/UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
12 dict begin
/FontInfo 9 dict dup begin
 /version (001.001) readonly def
 /FullName (Showboat) readonly def
 /FamilyName (Showboat) readonly def
 /Weight (Medium) readonly def
 /ItalicAngle 0 def
 /isFixedPitch false def
 /UnderlinePosition -106 def
 /UnderlineThickness 16 def
 /Notice (Showboat
 1991 by David Rakowski.  Alle Rechte Vorbehalten.) readonly def
end readonly def
/FontName /Showboat def
--stdin--
....

Пользуясь этой информацией, можно составить возможное имя:

[source, shell]
....
-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
....

Компонентами нашего имени являются:

Foundry::
Давайте называть все новые шрифты `type1`.

Family::
Имя шрифта.

Weight::
Normal, bold, medium, semibold, и так далее. Из результата работы команды man:strings[1] похоже, что этот шрифт имеет ширину __medium__.

Slant::
__r__oman, __i__talic, __o__blique, и так далее. Так как _ItalicAngle_ равен нулю, то будет использоваться __roman__.

Width::
Normal, wide, condensed, extended, и так далее. Пока это не будет проверено, предполагаем __normal__.

Дополнительный стиль::
Обычно опускается, но он будет указывать, что в шрифте есть декоративные заглавные буквы.

Spacing::
proportional или monospaced. Используется __proportional__, потому что _isFixedPitch_ равен false.

Все эти имена произвольны, но нужно стараться следовать существующим соглашениям. В программе для X11 на шрифт ссылаются по имени с применением шаблонов, так что в выбираемом имени это должно учитываться. Можно начать с простого использования

[source, shell]
....
...-normal-r-normal-...-p-...
....

в качестве имени, а затем использовать man:xfontsel[1] для его проверки и изменения имени на основе того, как выглядит шрифт.

Итак, завершая наш пример:

[source, shell]
....
Делаем шрифт доступным для X11
% cd /usr/X11R6/lib/X11/fonts/Type1
% ln -s /usr/local/shared/fonts/type1/showboat.pfb .

Редактируем файлы fonts.dir and fonts.scale, добавляя строку,
описывающую шрифт и увеличивая количество шрифтов в первой строке.
% ex fonts.dir
:1p
25
:1c
26
.
:$a
showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
.
:wq

fonts.scale идентичен fonts.dir...
% cp fonts.dir fonts.scale

Указываем X11, что произошли изменения
% xset fp rehash

Проверяем новый шрифт
% xfontsel -pattern -type1-*
....

Справочная информация: man:xfontsel[1], man:xset[1], The X Windows System in a Nutshell, http://www.ora.com/[O'Reilly & Associates].

[[type1-fonts-ghostscript]]
== Использование шрифтов type 1 с пакетом Ghostscript

Ghostscript ссылается на шрифт через свой файл [.filename]#Fontmap#. Он должен быть подправлен так же, как и файл [.filename]#fonts.dir# в случае X11. Ghostscript может использовать файлы шрифтов в форматах [.filename]#.pfa# или [.filename]#.pfb#. Взяв шрифт из предыдущего примера, его можно использовать с Ghostscript вот так:

[source, shell]
....
Помещаем файл со шрифтом в каталог со шрифтами Ghostscript
% cd /usr/local/shared/ghostscript/fonts
% ln -s /usr/local/shared/fonts/type1/showboat.pfb .

Редактируем Fontmap, чтобы Ghostscript знал о шрифте
% cd /usr/local/shared/ghostscript/4.01
% ex Fontmap
:$a
/Showboat        (showboat.pfb) ; % From CICA /fonts/atm/showboat
.
:wq

Используем Ghostscript для проверки шрифта
% gs prfont.ps
Aladdin Ghostscript 4.01 (1996-7-10)
Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA.  All rights
reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____.pfb...
 /1899520 581354 1300084 13826 0 done.
GS>Showboat DoFont
Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
 1939688 565415 1300084 16901 0 done.
>>showpage, press <return> to continue<<
>>showpage, press <return> to continue<<
>>showpage, press <return> to continue<<
GS>quit
....

Справочная информация: [.filename]#fonts.txt# из дистрибутива Ghostscript 4.01

[[type1-fonts-groff]]
== Использование шрифтов в формате type 1 с программой Groff

Теперь, когда новый шрифт может быть использован как с X11, так и в Ghostscript, как использовать его с программой Groff? Во-первых, так как мы имеем дело со PostScript(R)-шрифтами формата type 1, то подходящим устройством Groff является __ps__. Для каждого шрифта, который может использоваться программой Groff, должен быть создан файл шрифта. Имя шрифта для Groff является просто именем файла из каталога [.filename]#/usr/shared/groff_font/devps#. В нашем примере файлом шрифта может быть [.filename]#/usr/shared/groff_font/devps/SHOWBOAT#. Файл должен быть создан с помощью утилит, поставляемых с программой Groff.

Первой утилитой является `afmtodit`. Обычно она не устанавливается, так что она должна быть получена из дистрибутива с исходными текстами. Я обнаружил, что нужно изменить первую строку файла, что я делал так:

[source, shell]
....
% cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp
% ex /tmp/afmtodit.pl
:1c
#!/usr/bin/perl -P-
.
:wq
....

Эта утилита создаст файл шрифтов для Groff из файла метрик (с окончанием [.filename]#.afm#). Продолжая с нашим примером:

[source, shell]
....
Многие файлы .afm в формате Mac ... строки разделены символом ^M.
Нам нужно преобразовать их в разделитель ^J в стиле UNIX(R)
% cd /tmp
% cat /usr/local/shared/fonts/type1/showboat.afm |
	tr '\015' '\012' >showboat.afm

Теперь создаем файл шрифтов groff
% cd /usr/share/groff_font/devps
% /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT
....

Теперь к шрифту можно обращаться по имени SHOWBOAT.

Если в системе для управления принтерами используется программа Ghostscript, то больше ничего делать не нужно. Однако, если используются настоящие PostScript(R)-принтеры, то для использования шрифта его нужно загрузить в принтер (если только в принтере шрифт showboat не встроен или не имеется на диске со шрифтами). Последний шаг заключается в создании загружаемого шрифта. Утилита `pfbtops` используется для создания шрифта в формате [.filename]#.pfa#, а файл для [.filename]#загрузки# изменяется для указания нового шрифта. Файл для [.filename]#загрузки# должен ссылаться на внутреннее имя шрифта. Оно может быть легко определено из файла шрифтов groff, как это показывается здесь:

[source, shell]
....
Создание файла шрифта .pfa
% pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa
....

Конечно, если файл [.filename]#.pfa# уже имеется, для его использования создаем символическую ссылку на него.

[source, shell]
....
Получение внутреннего имени шрифта
% fgrep internalname SHOWBOAT
internalname Showboat
Указываем утилите groff, что шрифт должен быть загружен
% ex download
:$a
Showboat      showboat.pfa
.
:wq
....

Для тестирования шрифта:

[source, shell]
....
% cd /tmp
% cat >example.t <<EOF
.sp 5
.ps 16
This is an example of the Showboat font:
.br
.ps 48
.vs (\n(.s+2)p
.sp
.ft SHOWBOAT
ABCDEFGHI
.br
JKLMNOPQR
.br
STUVWXYZ
.sp
.ps 16
.vs (\n(.s+2)p
.fp 5 SHOWBOAT
.ft R
To use it for the first letter of a paragraph, it will look like:
.sp 50p
\s(48\f5H\s0\fRere is the first sentence of a paragraph that uses the
showboat font as its first letter.
Additional vertical space must be used to allow room for the larger
letter.
EOF
% groff -Tps example.t >example.ps

Для использования с ghostscript/ghostview
% ghostview example.ps

Для его печати
% lpr -Ppostscript example.ps
....

Справочная информация: [.filename]#/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man#, man:groff_font[5], man:groff_char[7], man:pfbtops[1].

[[convert-truetype]]
== Преобразование файлов шрифтов TrueType в формат groff/PostScript для использования с groff

Потенциально это требует некоторых усилий, просто потому что зависит некоторых утилит, которые в качестве части системы не устанавливаются. Это:

`ttf2pf`::
Утилита для преобразования TrueType в PostScript. Она позволяет преобразовать шрифт TrueType в метрику шрифта в текстовом формате (файл [.filename]#.afm#).
+
Доступна по адресу http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf/[http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf/]. Замечание: Эти файлы являются PostScript-программами и должны быть скачаны на диск щелчком на ссылке при нажатой клавише kbd:[Shift]. В противном случае для их просмотра ваш браузер может попытаться запустить программу ghostview.
+
Интерес представляют следующие файлы:

** [.filename]#GS_TTF.PS#
** [.filename]#PF2AFM.PS#
** [.filename]#ttf2pf.ps#
+
Смесь верхнего/нижнего регистров присутствует из-за того, что эти файлы предназначены и для DOS. [.filename]#ttf2pf.ps# использует остальные с именами в верхнем регистре, так что при переименовании это нужно учитывать. (На самом деле [.filename]#GS_TTF.PS# и [.filename]#PFS2AFM.PS# предположительно являются частью дистрибутива Ghostscript, но их легко использовать как отдельные утилиты. В поставку FreeBSD они не включены.) Вы можете также установить их в каталог [.filename]#/usr/local/shared/groff_font/devps#(?).

`afmtodit`::
Создает файлы шрифтов для использования с программой Groff из текстовых файлов с метриками шрифта. Она обычно располагается в каталоге [.filename]#/usr/src/contrib/groff/afmtodit# и для её использования требуется проделать некоторую работу.
+
[NOTE]
====
Если вы избегаете работать в дереве [.filename]#/usr/src#, просто скопируйте содержимое вышеупомянутого каталога во временный рабочий каталог.
====
+
Во рабочем каталоге вам нужно построить утилиту. Просто введите такую команду:
+
[source, shell]
....
# make -f Makefile.sub afmtodit
....
+
Вам может также потребоваться скопировать [.filename]#/usr/contrib/groff/devps/generate/textmap# в [.filename]#/usr/shared/groff_font/devps/generate#, если его не существует.

Как только эти утилиты готовы, вы можете начать:

. Создайте файл [.filename]#.afm# по такой команде:
+
[source, shell]
....
% gs -dNODISPLAY -q -- ttf2pf.ps TTF_name PS_font_name AFM_name
....
+
Здесь _TTF_name_ обозначает ваш файл со шрифтом TrueType, _PS_font_name_ является именем для файла [.filename]#.pfa#, _AFM_name_ задает имя для файла [.filename]#.afm#. Если вы не укажете имена выходных файлов, для форматов [.filename]#.pfa# или [.filename]#.afm#, то по умолчанию будут использоваться имена, получаемые из имени файла со шрифтом TrueType.
+
При этом также будет создан файл [.filename]#.pfa#, текстовый файл с метриками PostScript-шрифта (([.filename]#.pfb# для двоичного представления). Это не будет обязательно, но может быть (я думаю) полезным для сервера шрифтов.
+
Например, для преобразования шрифта 30f9 Barcode с именами файлов по умолчанию, воспользуйтесь следующей командой:
+
[source, shell]
....
% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf
Aladdin Ghostscript 5.10 (1997-11-23)
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Converting 3of9.ttf to 3of9.pfa and 3of9.afm.
....
+
Если вы хотите, чтобы преобразованные шрифты сохранялись в файлы [.filename]#A.pfa# and [.filename]#B.afm#, то выдайте такую команду:
+
[source, shell]
....
% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B
Aladdin Ghostscript 5.10 (1997-11-23)
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Converting 3of9.ttf to A.pfa and B.afm.
....

. Создайте PostScript-файл для Groff:
+
Смените текущий каталог на [.filename]#/usr/shared/groff_font/devps# для облегчения запуска упоминаемых далее программ. Для этого вам может понадобиться иметь привилегии администратора системы. (Или, если вы избегаете здесь работать, обязательно посмотрите файлы [.filename]#DESC#, [.filename]#text.enc# и [.filename]#generate/textmap# в этом каталоге.)
+
[source, shell]
....
% afmtodit -d DESC -e text.enc file.afm generate/textmap PS_font_name
....
+
Здесь [.filename]#file.afm# является файлом _AFM_name_, созданным программой `ttf2pf.ps` выше, а _PS_font_name_ является именем шрифта, используемым в той команде, так же, как и имя, которое будет использовать утилита man:groff[1] для ссылки на этот шрифт. Например, полагая, что вы использовали первую команду `tiff2pf.ps` выше, то шрифт 3of9 Barcode может быть создан при помощи такой команды:
+
[source, shell]
....
% afmtodit -d DESC -e text.enc 3of9.afm generate/textmap 3of9
....
+
Проверьте, что полученный файл _PS_font_name_ (к примеру, [.filename]#3of9# из примера выше) расположен в каталоге [.filename]#/usr/shared/groff_font/devps#, скопировав или перенеся его сюда.
+
Заметьте, что если [.filename]#ttf2pf.ps# назначает имя шрифта, используя один из найденных в файле шрифта TrueType, а вы хотите использовать другое имя, то вы должны отредактировать файл [.filename]#.afm# до запуска команды `afmtodit`. Это имя к тому же должно совпадать с тем, что используется в файле Fontmap, если вы собираетесь перенаправлять вывод man:groff[1] утилите man:gs[1].

[[truetype-for-other-programs]]
== Можно ли использовать шрифты в формате TrueType с другими программами?

Формат TrueType используется в Windows, Windows 95 и на компьютерах Macintosh. Он достаточно популярен и в этом формате имеется большое количество шрифтов.

К сожалению, я знаю лишь несколько программ, которые могут использовать этот формат: на ум приходят Ghostscript и Povray. Его поддержка в программе Ghostscript, согласно документации, находится в зачаточном состоянии и получаемый результат хуже того, что получается при использовании шрифтов type 1. Программа Povray версии 3 также может использовать шрифты TrueType, но я очень сомневаюсь, что много кто создает документы как последовательность анимированных страниц :-).

Такая весьма печальная ситуация может вскоре измениться. В рамках проекта http://www.freetype.org/[FreeType Project] в настоящее время разрабатывается полезный набор инструментов для работы с FreeType:

* Сервер шрифтов `xfsft` для X11 может работать и со шрифтами TrueType, и с обычными шрифтами. Хотя в настоящее время он ещё находится в стадии отладки, но его уже можно использовать. Посмотрите http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/[страницу Juliusz Chroboczek], чтобы получить более полную информацию. Указания по переносу на FreeBSD можно найти на странице http://math.missouri.edu/~stephen/software/[Стивена Монтгомери] (Stephen Montgomery), посвященной программному обеспечению.
* xfstt является ещё одним сервером шрифтов для X11, доступный по адресу link:ftp://sunsite.unc.edu/pub/Linux/X11/fonts[ftp://sunsite.unc.edu/pub/Linux/X11/fonts].
* Программа, которая называется `ttf2bdf`, может генерировать BDF-файлы, которые можно использовать в системе X Window, из файлов шрифтов TrueType. Выполнимые файлы Linux могут находиться по адресу link:ftp://crl.nmsu.edu/CLR/multiling/General[ftp://crl.nmsu.edu/CLR/multiling/General].
* и другие ...

[[obtaining-additional-fonts]]
== Где можно найти дополнительные шрифты?

Много шрифтов можно найти в сети Интернет. Они либо абсолютно бесплатны, либо условно-бесплатны. В добавок, множество шрифтов находится в категории [.filename]#x11-fonts/# Коллекции Портов

[[additional-questions]]
== Дополнительные вопросы

* Для чего предназначены файлы [.filename]#.pfm#?
* Можно ли получить файл [.filename]#.afm# из файла [.filename]#.pfa# или [.filename]#.pfb#?
* Как получить файлы преобразования символов Groff для PostScript-шрифтов с нестандартными названиями символов?
* Можно ли настроить xditview и устройства devX?? на работу всех новых шрифтов?
* Хорошо бы иметь примеры использования шрифтов TrueType с программами Povray и Ghostscript.
