aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/articles/fonts/article.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/articles/fonts/article.xml')
-rw-r--r--ru_RU.KOI8-R/articles/fonts/article.xml961
1 files changed, 961 insertions, 0 deletions
diff --git a/ru_RU.KOI8-R/articles/fonts/article.xml b/ru_RU.KOI8-R/articles/fonts/article.xml
new file mode 100644
index 0000000000..f66fad9820
--- /dev/null
+++ b/ru_RU.KOI8-R/articles/fonts/article.xml
@@ -0,0 +1,961 @@
+<?xml version="1.0" encoding="koi8-r" standalone="no"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
+ "../../../share/sgml/freebsd42.dtd" [
+<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//RU" "../../share/sgml/entities.ent">
+%entities;
+]>
+
+<!--
+ The FreeBSD Russian Documentation Project
+
+ $FreeBSD$
+ $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/fonts/article.xml,v 1.5 2005/12/06 17:56:24 gad Exp $
+
+ Original revision: r38183
+-->
+
+<!-- Recently, I wanted to figure out how to use some additional fonts that
+ I had accumulated. I finally figured out *how to do it* from the various
+ man pages and documentation. Since it might be of use to other users,
+ and I didn't see any reference to this topic in the FAQ or handbook, I
+ thought I'd try my hand at a simple cookbook tutorial addressing the
+ use of fonts. I have included my unanswered questions at the end of
+ the document.
+
+ Anyway, here's what I put together. This is my present understanding of
+ fonts and how to use them with FreeBSD. I am sure that there are errors or
+ misunderstandings, but it contains enough valid information to allow the
+ use of additional fonts with Ghostscript, X11 and Groff. This is my first
+ attempt to write anything along the lines of a tutorial/FAQ, so I am sure
+ it is pretty raw. There are probably better ways to do some of this stuff,
+ and I would welcome being corrected.
+ -->
+
+<!-- The section "Setting a virtual console to 80x60 line mode" was
+ updated to reflect changes in FreeBSD system configuration
+ files by Mark Ovens <mark@ukug.uk.FreeBSD.org> 27/5/00
+ -->
+
+<article lang="ru">
+ <articleinfo>
+ <title>Шрифты и FreeBSD</title>
+
+ <subtitle>Пособие</subtitle>
+
+ <authorgroup>
+ <author>
+ <firstname>Dave</firstname>
+
+ <surname>Bodenstab</surname>
+
+ <affiliation>
+ <address>
+ <email>imdave@synet.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <pubdate>7 августа 1996</pubdate>
+
+ <legalnotice id="trademarks" role="trademarks">
+ &tm-attrib.freebsd;
+ &tm-attrib.adobe;
+ &tm-attrib.apple;
+ &tm-attrib.linux;
+ &tm-attrib.microsoft;
+ &tm-attrib.opengroup;
+ &tm-attrib.general;
+ </legalnotice>
+
+ <releaseinfo>$FreeBSD$</releaseinfo>
+
+ <abstract>
+ <para>Этот документ содержит описание различных файлов шрифтов, которые
+ могут использоваться с FreeBSD и драйвером системной консоли, системой
+ <application>X11</application>, программами <application>Ghostscript</application>
+ и <application>Groff</application>. Даются реально работающие
+ примеры по переключению экрана системной консоли в режим 80x60 и
+ использованию файлов шрифтов формата Type 1 с перечисленными выше
+ прикладными программами.</para>
+ </abstract>
+ </articleinfo>
+
+ <sect1 id="intro">
+ <title>Введение</title>
+
+ <para>Существует много мест, где можно найти файлы шрифтов, но встает
+ вопрос о возможных способах их использования с FreeBSD. Ответ может быть
+ найден в результате тщательного изучения документации по тем компонентам,
+ которые вы собираетесь использовать. На это тратится очень много
+ времени, и это пособие является попыткой дать готовые ответы для тех, кто
+ заинтересуется такими вопросами.</para>
+ </sect1>
+
+ <sect1 id="terminology">
+ <title>Основные термины</title>
+
+ <para>Имеется множество различных форматов файлов шрифтов и соответствующих
+ окончаний имен файлов. Здесь обсуждаются лишь следующие из них:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>.pfa</filename>, <filename>.pfb</filename></term>
+
+ <listitem>
+ <para>Файлы шрифтов &postscript; type 1. Файлы
+ <filename>.pfa</filename> являются текстовым (
+ <emphasis>A</emphasis>scii) представлением, а
+ <filename>.pfb</filename> - двоичным
+ (<emphasis>B</emphasis>inary).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>.afm</filename></term>
+
+ <listitem>
+ <para>Параметры (метрики) соответствующих шрифтов типа type 1.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>.pfm</filename></term>
+
+ <listitem>
+ <para>Метрики для принтеров соответствующих шрифтов типа type
+ 1.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>.ttf</filename></term>
+
+ <listitem>
+ <para>Файл шрифтов &truetype;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>.fot</filename></term>
+
+ <listitem>
+ <para>Неявная ссылка на файл шрифтов TrueType (реальной информации о
+ шрифте здесь не содержится)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>.fon</filename>, <filename>.fnt</filename></term>
+
+ <listitem>
+ <para>Файлы экранных шрифтов с побитным представлением</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Файлы <filename>.fot</filename> используются в &windows; в качестве
+ некой символической ссылки на файл со шрифтом в формате &truetype;
+ (<filename>.ttf</filename>). Файлы шрифтов <filename>.fon</filename>
+ также используются в &windows;. Мне неизвестно, как можно использовать
+ этот формат шрифтов во FreeBSD.</para>
+ </sect1>
+
+ <sect1 id="font-formats">
+ <title>Какие форматы файлов шрифтов я могу использовать?</title>
+
+ <para>То, файл шрифтов какого формата будет полезен, зависит от
+ используемого приложения. Сама по себе FreeBSD шрифтов не использует.
+ Прикладные программы и/или драйверы могут использовать файлы шрифтов.
+ Вот краткий справочник по типам файлов шрифтов и
+ приложениям/драйверам:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Драйвер</term>
+
+ <listitem>
+ <variablelist>
+ <varlistentry>
+ <term>syscons</term>
+
+ <listitem>
+ <para><filename>.fnt</filename></para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Приложение</term>
+
+ <listitem>
+ <variablelist>
+ <varlistentry>
+ <term><application>Ghostscript</application></term>
+
+ <listitem>
+ <para><filename>.pfa</filename>,
+ <filename>.pfb</filename>,
+ <filename>.ttf</filename></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><application>X11</application></term>
+
+ <listitem>
+ <para><filename>.pfa</filename>,
+ <filename>.pfb</filename></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><application>Groff</application></term>
+
+ <listitem>
+ <para><filename>.pfa</filename>,
+ <filename>.afm</filename></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><application>Povray</application></term>
+
+ <listitem>
+ <para><filename>.ttf</filename></para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Окончание <filename>.fnt</filename> используется достаточно часто. Я
+ полагаю, что когда кто-нибудь собирается создать файл шрифтов для своего
+ приложения, чаще всего выбирается именно это окончание. Поэтому файлы с
+ таким окончанием не все имеют одинаковый формат; в частности, формат
+ файлов <filename>.fnt</filename>, используемых драйвером syscons во
+ FreeBSD, может отличаться от формата файлов <filename>.fnt</filename>,
+ встречающихся в &ms-dos;/&windows;. Я даже не пытался использовать другие
+ файлы <filename>.fnt</filename>, кроме тех, что поставляются с
+ FreeBSD.</para>
+ </sect1>
+
+ <sect1 id="virtual-console">
+ <title>Настройка виртуальной консоли на режим работы 80x60</title>
+
+ <para>Во-первых, должен быть загружен шрифт размера 8x8. Для этого файл
+ <filename>/etc/rc.conf</filename> должен содержать строчку (измените в
+ ней имя файла со шрифтом на соответствующий вашей локализации):</para>
+
+ <informalexample>
+ <programlisting>font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).</programlisting>
+ </informalexample>
+
+ <para>Команда для переключения режимов называется &man.vidcontrol.1;:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>vidcontrol VGA_80x60</userinput></screen>
+ </informalexample>
+
+ <para>Различные программы, ориентированные на работу с экраном, такие, как
+ &man.vi.1;, должны уметь определять текущие размеры экрана. Так как это
+ делается через вызовы <command>ioctl</command> к драйверу консоли
+ (такому, как &man.syscons.4;), то размеры будут определяться
+ правильно.</para>
+
+ <para>Чтобы это проходило более гладко, можно включить эти команды в
+ скрипты начальной загрузки, чтобы они выполнялись при запуске системы.
+ Чтобы это сделать, добавьте такую строчку в
+ <filename>/etc/rc.conf</filename></para>
+
+ <informalexample>
+ <programlisting>
+ allscreens_flags="VGA_80x60" # Set this vidcontrol mode for all virtual screens
+ </programlisting>
+ </informalexample>
+
+ <para>Справочная информация: &man.rc.conf.5;, &man.vidcontrol.1;.</para>
+ </sect1>
+
+ <sect1 id="type1-fonts-x11">
+ <title>Использование шрифтов type 1 с системой <application>X11</application></title>
+
+ <para><application>X11</application> может использовать файлы шрифтов в формате
+ <filename>.pfa</filename> или <filename>.pfb</filename>. Шрифты для <application>X11</application>
+ располагаются в различных подкаталогах в
+ <filename>/usr/X11R6/lib/X11/fonts</filename>. На каждый файл со шрифтом
+ имеется ссылка по его <application>X11</application>-имени в файле <filename>fonts.dir</filename> в
+ каждом таком каталоге.</para>
+
+ <para>Существует каталог по имени <filename>Type1</filename>. Самым
+ простым способом добавить новый шрифт заключается в помещении его в этот
+ каталог. Но лучше хранить все новые шрифты в отдельном каталоге и
+ использовать символические ссылки для добавляемых шрифтов. Это позволяет
+ легко управлять отдельными добавляемыми шрифтами, не путая их с
+ изначально поставляемыми. Например:</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Создаем каталог для файлов шрифтов</lineannotation>
+&prompt.user; <userinput>mkdir -p /usr/local/share/fonts/type1</userinput>
+&prompt.user; <userinput>cd /usr/local/share/fonts/type1</userinput>
+
+<lineannotation>Помещаем сюда файлы .pfa, .pfb и .afm</lineannotation>
+<lineannotation>Кому-то может потребоваться хранить здесь также</lineannotation>
+<lineannotation>сопроводительные файлы и документацию к шрифтам</lineannotation>
+&prompt.user; <userinput>cp /cdrom/fonts/atm/showboat/showboat.pfb .</userinput>
+&prompt.user; <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</userinput>
+
+<lineannotation>Обновление индексного файла со ссылками на файлы шрифтов</lineannotation>
+&prompt.user; <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat &gt;&gt;INDEX</userinput></screen>
+ </informalexample>
+
+ <para>Теперь, чтобы использовать новый шрифт с <application>X11</application>, нужно дать доступ к
+ файлу шрифтов и обновить файлы и именами шрифтов. Имена шрифтов в <application>X11</application>
+ выглядят следующим образом:</para>
+
+ <informalexample>
+ <screen>
+-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
+ | | | | | | | | | | | | \ \
+ | | | | | \ \ \ \ \ \ \ +----+- набор символов
+ | | | | \ \ \ \ \ \ \ +- средняя ширина
+ | | | | \ \ \ \ \ \ +- spacing
+ | | | \ \ \ \ \ \ +- разрешение по вертикали
+ | | | \ \ \ \ \ +- разрешение по горизонтали
+ | | | \ \ \ \ +- пунктов
+ | | | \ \ \ +- пиксел
+ | | | \ \ \
+ foundry family weight slant width additional style</screen>
+ </informalexample>
+
+ <para>Для каждого нового файла шрифтов необходимо создать новое имя. Если
+ у вас есть какая-либо информация из сопроводительной документации к
+ шрифту, то она может служить основой для создания имени. Если информации
+ нет, то можно получить некоторую информацию от использования программы
+ &man.strings.1; над файлом шрифта. Например:</para>
+
+ <informalexample>
+ <screen>
+&prompt.user; <userinput>strings showboat.pfb | more</userinput>
+%!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--</screen>
+ </informalexample>
+
+ <para>Пользуясь этой информацией, можно составить возможное имя:</para>
+
+ <informalexample>
+ <screen>-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</screen>
+ </informalexample>
+
+ <para>Компонентами нашего имени являются:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Foundry</term>
+
+ <listitem>
+ <para>Давайте называть все новые шрифты
+ <literal>type1</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Family</term>
+
+ <listitem>
+ <para>Имя шрифта.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Weight</term>
+
+ <listitem>
+ <para>Normal, bold, medium, semibold, и так далее. Из результата
+ работы команды &man.strings.1; похоже, что этот шрифт имеет ширину
+ <emphasis>medium</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Slant</term>
+
+ <listitem>
+ <para><emphasis remap="bf">r</emphasis>oman, <emphasis
+ remap="bf">i</emphasis>talic, <emphasis
+ remap="bf">o</emphasis>blique, и так далее. Так как
+ <emphasis>ItalicAngle</emphasis> равен нулю, то будет
+ использоваться <emphasis>roman</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Width</term>
+
+ <listitem>
+ <para>Normal, wide, condensed, extended, и так далее. Пока это не
+ будет проверено, предполагаем <emphasis>normal</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Дополнительный стиль</term>
+
+ <listitem>
+ <para>Обычно опускается, но он будет указывать, что в шрифте есть
+ декоративные заглавные буквы.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Spacing</term>
+
+ <listitem>
+ <para>proportional или monospaced. Используется
+ <emphasis>proportional</emphasis>, потому что
+ <emphasis>isFixedPitch</emphasis> равен false.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Все эти имена произвольны, но нужно стараться следовать существующим
+ соглашениям. В программе для <application>X11</application> на шрифт ссылаются по имени с
+ применением шаблонов, так что в выбираемом имени это должно учитываться.
+ Можно начать с простого использования
+
+ <informalexample>
+ <screen>&hellip;-normal-r-normal-&hellip;-p-&hellip;
+ </screen>
+ </informalexample>
+
+ в качестве имени, а затем использовать &man.xfontsel.1; для его проверки
+ и изменения имени на основе того, как выглядит шрифт.</para>
+
+ <para>Итак, завершая наш пример:</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Делаем шрифт доступным для X11</lineannotation>
+&prompt.user; <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</userinput>
+&prompt.user; <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput>
+
+<lineannotation>Редактируем файлы fonts.dir and fonts.scale, добавляя строку,
+описывающую шрифт и увеличивая количество шрифтов в первой строке.</lineannotation>
+&prompt.user; <userinput>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</userinput>
+
+<lineannotation><filename>fonts.scale</filename> идентичен
+<filename>fonts.dir</filename>&hellip;</lineannotation>
+&prompt.user; <userinput>cp fonts.dir fonts.scale</userinput>
+
+<lineannotation>Указываем X11, что произошли изменения</lineannotation>
+&prompt.user; <userinput>xset fp rehash</userinput>
+
+<lineannotation>Проверяем новый шрифт</lineannotation>
+&prompt.user; <userinput>xfontsel -pattern -type1-*</userinput></screen>
+ </informalexample>
+
+ <para>Справочная информация: &man.xfontsel.1;, &man.xset.1;, <citetitle>The
+ X Windows System in a Nutshell</citetitle>, <ulink
+ url="http://www.ora.com/">O'Reilly &amp; Associates</ulink>.</para>
+ </sect1>
+
+ <sect1 id="type1-fonts-ghostscript">
+ <title>Использование шрифтов type 1 с пакетом Ghostscript</title>
+
+ <para><application>Ghostscript</application> ссылается на шрифт через свой файл
+ <filename>Fontmap</filename>. Он должен быть подправлен так же, как
+ и файл <filename>fonts.dir</filename> в случае <application>X11</application>. <application>Ghostscript</application> может
+ использовать файлы шрифтов в форматах <filename>.pfa</filename> или
+ <filename>.pfb</filename>. Взяв шрифт из предыдущего примера, его можно
+ использовать с <application>Ghostscript</application> вот так:</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Помещаем файл со шрифтом в каталог со шрифтами Ghostscript</lineannotation>
+&prompt.user; <userinput>cd /usr/local/share/ghostscript/fonts</userinput>
+&prompt.user; <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput>
+
+<lineannotation>Редактируем Fontmap, чтобы Ghostscript знал о шрифте</lineannotation>
+&prompt.user; <userinput>cd /usr/local/share/ghostscript/4.01</userinput>
+&prompt.user; <userinput>ex Fontmap
+:$a
+/Showboat (showboat.pfb) ; % From CICA /fonts/atm/showboat
+.
+:wq</userinput>
+
+<lineannotation>Используем Ghostscript для проверки шрифта</lineannotation>
+&prompt.user; <userinput>gs prfont.ps</userinput>
+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&gt;<userinput>Showboat DoFont</userinput>
+Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
+ 1939688 565415 1300084 16901 0 done.
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+GS&gt;<userinput>quit</userinput></screen>
+ </informalexample>
+
+ <para>Справочная информация: <filename>fonts.txt</filename> из дистрибутива
+ <application>Ghostscript 4.01</application></para>
+ </sect1>
+
+ <sect1 id="type1-fonts-groff">
+ <title>Использование шрифтов в формате type 1 с программой Groff</title>
+
+ <para>Теперь, когда новый шрифт может быть использован как с <application>X11</application>, так и в
+ <application>Ghostscript</application>, как использовать его с программой <application>groff</application>? Во-первых, так как
+ мы имеем дело со &postscript;-шрифтами формата type 1, то подходящим
+ устройством <application>groff</application> является <emphasis>ps</emphasis>. Для каждого шрифта,
+ который может использоваться программой <application>groff</application>, должен быть создан файл
+ шрифта. Имя шрифта для <application>groff</application> является просто именем файла из каталога
+ <filename>/usr/share/groff_font/devps</filename>. В нашем примере
+ файлом шрифта может быть
+ <filename>/usr/share/groff_font/devps/SHOWBOAT</filename>. Файл должен
+ быть создан с помощью утилит, поставляемых с программой <application>groff</application>.</para>
+
+ <para>Первой утилитой является <command>afmtodit</command>. Обычно она не
+ устанавливается, так что она должна быть получена из дистрибутива с
+ исходными текстами. Я обнаружил, что нужно изменить первую строку файла,
+ что я делал так:</para>
+
+ <informalexample>
+ <screen>
+&prompt.user; <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</userinput>
+&prompt.user; <userinput>ex /tmp/afmtodit.pl
+:1c
+#!/usr/bin/perl -P-
+.
+:wq</userinput></screen>
+ </informalexample>
+
+ <para>Эта утилита создаст файл шрифтов для <application>groff</application> из файла метрик (с
+ окончанием <filename>.afm</filename>). Продолжая с нашим
+ примером:</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Многие файлы <filename>.afm</filename> в формате Mac
+&hellip; строки разделены символом ^M. Нам нужно преобразовать их в
+разделитель ^J в стиле &unix;</lineannotation>
+&prompt.user; <userinput>cd /tmp</userinput>
+&prompt.user; <userinput>cat /usr/local/share/fonts/type1/showboat.afm |
+ tr '\015' '\012' &gt;showboat.afm</userinput>
+
+<lineannotation>Теперь создаем файл шрифтов groff</lineannotation>
+&prompt.user; <userinput>cd /usr/share/groff_font/devps</userinput>
+&prompt.user; <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</userinput></screen>
+ </informalexample>
+
+ <para>Теперь к шрифту можно обращаться по имени SHOWBOAT.</para>
+
+ <para>Если в системе для управления принтерами используется программа
+ <application>Ghostscript</application>, то больше ничего делать не нужно. Однако, если используются
+ настоящие &postscript;-принтеры, то для использования шрифта его нужно
+ загрузить в принтер (если только в принтере шрифт showboat не встроен или
+ не имеется на диске со шрифтами). Последний шаг заключается в создании
+ загружаемого шрифта. Утилита <command>pfbtops</command> используется для
+ создания шрифта в формате <filename>.pfa</filename>, а файл для
+ <filename>загрузки</filename> изменяется для указания нового шрифта.
+ Файл для <filename>загрузки</filename> должен ссылаться на внутреннее имя
+ шрифта. Оно может быть легко определено из файла шрифтов groff, как
+ это показывается здесь:</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Создание файла шрифта <filename>.pfa</filename></lineannotation>
+&prompt.user; <userinput>pfbtops /usr/local/share/fonts/type1/showboat.pfb &gt;showboat.pfa</userinput></screen>
+ </informalexample>
+
+ <para>Конечно, если файл <filename>.pfa</filename> уже имеется, для его
+ использования создаем символическую ссылку на него.</para>
+
+ <informalexample>
+ <screen>
+<lineannotation>Получение внутреннего имени шрифта</lineannotation>
+&prompt.user; <userinput>fgrep internalname SHOWBOAT</userinput>
+internalname Showboat
+
+<lineannotation>Указываем утилите groff, что шрифт должен быть загружен</lineannotation>
+&prompt.user; <userinput>ex download
+:$a
+Showboat showboat.pfa
+.
+:wq</userinput></screen>
+ </informalexample>
+
+ <para>Для тестирования шрифта:</para>
+
+ <informalexample>
+ <screen>
+&prompt.user; <userinput>cd /tmp</userinput>
+&prompt.user; <userinput>cat &gt;example.t &lt;&lt;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</userinput>
+&prompt.user; <userinput>groff -Tps example.t &gt;example.ps</userinput>
+
+<lineannotation>Для использования с ghostscript/ghostview</lineannotation>
+&prompt.user; <userinput>ghostview example.ps</userinput>
+
+<lineannotation>Для его печати</lineannotation>
+&prompt.user; <userinput>lpr -Ppostscript example.ps</userinput></screen>
+ </informalexample>
+
+ <para>Справочная информация:
+ <filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>,
+ &man.groff.font.5;, &man.groff.char.7;, &man.pfbtops.1;.</para>
+ </sect1>
+
+ <sect1 id="convert-truetype">
+ <title>Преобразование файлов шрифтов TrueType в формат groff/PostScript для
+ использования с groff</title>
+
+ <para>Потенциально это требует некоторых усилий, просто потому что зависит
+ некоторых утилит, которые в качестве части системы не устанавливаются.
+ Это:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><command>ttf2pf</command></term>
+
+ <listitem>
+ <para>Утилита для преобразования TrueType в PostScript. Она
+ позволяет преобразовать шрифт TrueType в метрику шрифта в текстовом
+ формате (файл <filename>.afm</filename>).</para>
+
+ <para>Доступна по адресу <ulink
+ url="http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf/"></ulink>.
+ Замечание: Эти файлы являются PostScript-программами и должны быть
+ скачаны на диск щелчком на ссылке при нажатой клавише
+ <keycap>Shift</keycap>. В противном случае для их просмотра ваш
+ браузер может попытаться запустить программу
+ <application>ghostview</application>.</para>
+
+ <para>Интерес представляют следующие файлы:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>GS_TTF.PS</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>PF2AFM.PS</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>ttf2pf.ps</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Смесь верхнего/нижнего регистров присутствует из-за того, что
+ эти файлы предназначены и для DOS. <filename>ttf2pf.ps</filename>
+ использует остальные с именами в верхнем регистре, так что при
+ переименовании это нужно учитывать. (На самом деле
+ <filename>GS_TTF.PS</filename> и <filename>PFS2AFM.PS</filename>
+ предположительно являются частью дистрибутива <application>Ghostscript</application>, но их
+ легко использовать как отдельные утилиты. В поставку FreeBSD они
+ не включены.) Вы можете также установить их в каталог
+ <filename>/usr/local/share/groff_font/devps</filename>(?).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>afmtodit</command></term>
+
+ <listitem>
+ <para>Создает файлы шрифтов для использования с программой <application>groff</application> из
+ текстовых файлов с метриками шрифта. Она обычно располагается в
+ каталоге <filename>/usr/src/contrib/groff/afmtodit</filename> и
+ для ее использования требуется проделать некоторую работу.</para>
+
+ <note>
+ <para>Если вы избегаете работать в дереве
+ <filename>/usr/src</filename>, просто скопируйте содержимое
+ вышеупомянутого каталога во временный рабочий каталог.</para>
+ </note>
+
+ <para>Во рабочем каталоге вам нужно построить утилиту. Просто
+ введите такую команду:</para>
+
+ <screen>
+<prompt>#</prompt> <userinput>make -f Makefile.sub afmtodit</userinput>
+ </screen>
+
+ <para>Вам может также потребоваться скопировать
+ <filename>/usr/contrib/groff/devps/generate/textmap</filename> в
+ <filename>/usr/share/groff_font/devps/generate</filename>, если его
+ только уже не существует.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Как только эти утилиты готовы, вы можете начать:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Создайте файл <filename>.afm</filename> по такой команде:</para>
+
+ <screen>
+<prompt>%</prompt> <userinput>gs <optional>-dNODISPLAY</optional> <optional>-q</optional> -- ttf2pf.ps <replaceable>TTF_name</replaceable> <optional><replaceable>PS_font_name</replaceable> <optional><replaceable>AFM_name</replaceable></optional></optional></userinput>
+ </screen>
+
+ <para>Здесь <replaceable>TTF_name</replaceable> обозначает ваш файл со
+ шрифтом TrueType, <replaceable>PS_font_name</replaceable> является
+ именем для файла <filename>.pfa</filename>,
+ <replaceable>AFM_name</replaceable> задает имя для файла
+ <filename>.afm</filename>. Если вы не укажете имена выходных файлов,
+ для форматов <filename>.pfa</filename> или <filename>.afm</filename>,
+ то по умолчанию будут использоваться имена, получаемые из имени файла
+ со шрифтом TrueType.</para>
+
+ <para>При этом также будет создан файл <filename>.pfa</filename>,
+ текстовый файл с метриками PostScript-шрифта
+ ((<filename>.pfb</filename> для двоичного представления). Это не
+ не обязательно, но может быть (я думаю) полезным для сервера
+ шрифтов.</para>
+
+ <para>Например, для преобразования шрифта 30f9 Barcode с именами файлов
+ по умолчанию, воспользуйтесь следующей командой:</para>
+
+ <screen>
+<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf</userinput>
+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.
+ </screen>
+
+ <para>Если вы хотите, чтобы преобразованные шрифты сохранялись в файлы
+ <filename>A.pfa</filename> and <filename>B.afm</filename>, то
+ выдайте такую команду:</para>
+
+ <screen>
+<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B</userinput>
+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.
+ </screen>
+ </listitem>
+
+ <listitem>
+ <para>Создайте PostScript-файл для <application>groff</application>:</para>
+
+ <para>Смените текущий каталог на
+ <filename>/usr/share/groff_font/devps</filename> для облегчения
+ запуска упоминаемых далее программ. Для этого вам может понадобиться
+ иметь привилегии администратора системы. (Или, если вы избегаете
+ здесь работать, обязательно посмотрите файлы
+ <filename>DESC</filename>, <filename>text.enc</filename> и
+ <filename>generate/textmap</filename> в этом каталоге.)</para>
+
+ <screen>
+<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc file.afm \
+ generate/textmap <replaceable>PS_font_name</replaceable></userinput>
+ </screen>
+
+ <para>Здесь <filename>file.afm</filename> является файлом
+ <replaceable>AFM_name</replaceable>, созданным программой
+ <command>ttf2pf.ps</command> выше, а
+ <replaceable>PS_font_name</replaceable> является именем шрифта,
+ используемым в той команде, так же, как и имя, которое будет
+ использовать утилита &man.groff.1; для ссылки на этот шрифт.
+ Например, полагая, что вы использовали первую команду
+ <command>tiff2pf.ps</command> выше, то шрифт 3of9 Barcode может быть
+ создан при помощи такой команды:</para>
+
+ <screen>
+<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc 3of9.afm \
+ generate/textmap 3of9</userinput>
+ </screen>
+
+ <para>Проверьте, что полученный файл
+ <replaceable>PS_font_name</replaceable> (к примеру,
+ <filename>3of9</filename> из примера выше) расположен в каталоге
+ <filename>/usr/share/groff_font/devps</filename>, скопировав или
+ перенеся его сюда.</para>
+
+ <para>Заметьте, что если <filename>ttf2pf.ps</filename> назначает
+ имя шрифта, используя один из найденных в файле шрифта TrueType, а
+ вы хотите использовать другое имя, то вы должны отредактировать файл
+ <filename>.afm</filename> до запуска команды
+ <command>afmtodit</command>. Это имя к тому же должно
+ совпадать с тем, что используется в файле Fontmap, если вы
+ собираетесь перенаправлять вывод &man.groff.1; утилите
+ &man.gs.1;.</para>
+ </listitem>
+ </orderedlist>
+ </sect1>
+
+ <sect1 id="truetype-for-other-programs">
+ <title>Можно ли использовать шрифты в формате TrueType с другими
+ программами?</title>
+
+ <para>Формат TrueType используется в Windows, Windows 95 и на компьютерах
+ Macintosh. Он достаточно популярен и в этом формате имеется большое
+ количество шрифтов.</para>
+
+ <para>К сожалению, я знаю лишь несколько программ, которые могут
+ использовать этот формат: на ум приходят <application>Ghostscript</application> и <application>Povray</application>. Его
+ поддержка в программе <application>Ghostscript</application>, согласно документации, находится в
+ зачаточном состоянии и получаемый результат хуже того, что получается при
+ использовании шрифтов type 1. Программа <application>Povray</application> версии 3 также может
+ использовать шрифты TrueType, но я очень сомневаюсь, что много кто
+ создает документы как последовательность анимированных страниц
+ :-).</para>
+
+ <para>Такая весьма печальная ситуация может вскоре измениться. В рамках
+ проекта <ulink url="http://www.freetype.org/">FreeType Project</ulink>
+ в настоящее время разрабатывается полезный набор инструментов для работы
+ с FreeType:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Сервер шрифтов <command>xfsft</command> для <application>X11</application> может работать и
+ со шрифтами TrueType, и с обычными шрифтами. Хотя в настоящее время
+ он еще находится в стадии отладки, но его уже можно использовать.
+ Посмотрите <ulink
+ url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">страницу
+ Juliusz Chroboczek</ulink>, чтобы получить более полную информацию.
+ Указания по переносу на FreeBSD можно найти на странице <ulink
+ url="http://math.missouri.edu/~stephen/software/">Стивена
+ Монтгомери</ulink> (Stephen Montgomery), посвященной программному
+ обеспечению.</para>
+ </listitem>
+
+ <listitem>
+ <para><application>xfstt</application> является еще одним сервером шрифтов для
+ <application>X11</application>, доступный по адресу <ulink
+ url="ftp://sunsite.unc.edu/pub/Linux/X11/fonts"></ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Программа, которая называется <command>ttf2bdf</command>, может
+ генерировать BDF-файлы, которые можно использовать в системе X
+ Window, из файлов шрифтов TrueType. Выполнимые файлы Linux могут
+ находиться по адресу <ulink
+ url="ftp://crl.nmsu.edu/CLR/multiling/General"></ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para>и другие &hellip;</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="obtaining-additional-fonts">
+ <title>Где можно найти дополнительные шрифты?</title>
+
+ <para>Много шрифтов можно найти в сети Интернет. Они либо абсолютно
+ бесплатны, либо условно-бесплатны. Кроме того, продается много недорогих
+ компакт-дисков, содержащих много шрифтов. Вот некоторые адреса Интернет
+ (на август 1996):</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="http://www.simtel.net/"></ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.freshmeat.net"></ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Сгрузите шрифты, поставляемые с Коллекцией Портов в
+ каталоге <filename>x11-fonts/</filename></para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="additional-questions">
+ <title>Дополнительные вопросы</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Для чего предназначены файлы <filename>.pfm</filename>?</para>
+ </listitem>
+
+ <listitem>
+ <para>Можно ли получить файл <filename>.afm</filename> из файла
+ <filename>.pfa</filename> или <filename>.pfb</filename>?</para>
+ </listitem>
+
+ <listitem>
+ <para>Как получить файлы преобразования символов <application>groff</application> для
+ PostScript-шрифтов с нестандартными названиями символов?</para>
+ </listitem>
+
+ <listitem>
+ <para>Можно ли настроить xditview и устройства devX?? на работу всех
+ новых шрифтов?</para>
+ </listitem>
+
+ <listitem>
+ <para>Хорошо бы иметь примеры использования шрифтов TrueType с
+ программами <application>Povray</application> и <application>Ghostscript</application>.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</article>