aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/articles/fonts/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/articles/fonts/_index.adoc')
-rw-r--r--documentation/content/ru/articles/fonts/_index.adoc103
1 files changed, 50 insertions, 53 deletions
diff --git a/documentation/content/ru/articles/fonts/_index.adoc b/documentation/content/ru/articles/fonts/_index.adoc
index d67530483b..dc0c900fca 100644
--- a/documentation/content/ru/articles/fonts/_index.adoc
+++ b/documentation/content/ru/articles/fonts/_index.adoc
@@ -1,9 +1,12 @@
---
-title: Шрифты и FreeBSD
-subtitle: Пособие
authors:
- - author: Dave Bodenstab
+ -
+ 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"]
---
@@ -58,7 +61,7 @@ toc::[]
Имеется множество различных форматов файлов шрифтов и соответствующих окончаний имен файлов. Здесь обсуждаются лишь следующие из них:
[.filename]#.pfa#, [.filename]#.pfb#::
-Файлы шрифтов PostScript(R) type 1. Файлы [.filename]#.pfa# являются текстовым ( __A__scii) представлением, а [.filename]#.pfb# - двоичным (__B__inary).
+Файлы шрифтов PostScript(R) type 1. Файлы [.filename]#.pfa# являются текстовым (__A__scii) представлением, а [.filename]#.pfb# - двоичным (__B__inary).
[.filename]#.afm#::
Параметры (метрики) соответствующих шрифтов типа type 1.
@@ -113,24 +116,23 @@ Povray:::
[.programlisting]
....
-font8x8="iso-8x8" # font 8x8 from /usr/shared/syscons/fonts/* (or NO).
+font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).
....
Команда для переключения режимов называется man:vidcontrol[1]:
-[source,shell]
+[source, shell]
....
% vidcontrol VGA_80x60
....
Различные программы, ориентированные на работу с экраном, такие, как man:vi[1], должны уметь определять текущие размеры экрана. Так как это делается через вызовы `ioctl` к драйверу консоли (такому, как man:syscons[4]), то размеры будут определяться правильно.
-Чтобы это проходило более гладко, можно включить эти команды в скрипты начальной загрузки, чтобы они выполнялись при запуске системы. Чтобы это сделать, добавьте такую строчку в [.filename]#/etc/rc.conf#
+Чтобы это проходило более гладко, можно включить эти команды в скрипты начальной загрузки, чтобы они выполнялись при запуске системы. Чтобы это сделать, добавьте такую строчку в [.filename]#/etc/rc.conf#.
[.programlisting]
....
-
- allscreens_flags="VGA_80x60" # Set this vidcontrol mode for all virtual screens
+allscreens_flags="VGA_80x60" # Set this vidcontrol mode for all virtual screens
....
Справочная информация: man:rc.conf[5], man:vidcontrol[1].
@@ -142,9 +144,8 @@ X11 может использовать файлы шрифтов в форма
Существует каталог по имени [.filename]#Type1#. Самым простым способом добавить новый шрифт заключается в помещении его в этот каталог. Но лучше хранить все новые шрифты в отдельном каталоге и использовать символические ссылки для добавляемых шрифтов. Это позволяет легко управлять отдельными добавляемыми шрифтами, не путая их с изначально поставляемыми. Например:
-[source,shell]
+[source, shell]
....
-
Создаем каталог для файлов шрифтов
% mkdir -p /usr/local/shared/fonts/type1
% cd /usr/local/shared/fonts/type1
@@ -153,7 +154,7 @@ X11 может использовать файлы шрифтов в форма
Кому-то может потребоваться хранить здесь также
-сопроводительные файлы и документацию к шрифтам
+cопроводительные файлы и документацию к шрифтам
% cp /cdrom/fonts/atm/showboat/showboat.pfb .
% cp /cdrom/fonts/atm/showboat/showboat.afm .
@@ -163,7 +164,7 @@ X11 может использовать файлы шрифтов в форма
Теперь, чтобы использовать новый шрифт с X11, нужно дать доступ к файлу шрифтов и обновить файлы и именами шрифтов. Имена шрифтов в X11 выглядят следующим образом:
-[source,shell]
+[.programlisting]
....
-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
| | | | | | | | | | | | \ \
@@ -180,7 +181,7 @@ X11 может использовать файлы шрифтов в форма
Для каждого нового файла шрифтов необходимо создать новое имя. Если у вас есть какая-либо информация из сопроводительной документации к шрифту, то она может служить основой для создания имени. Если информации нет, то можно получить некоторую информацию от использования программы man:strings[1] над файлом шрифта. Например:
-[source,shell]
+[source, shell]
....
% strings showboat.pfb | more
%!FontType1-1.0: Showboat 001.001
@@ -211,7 +212,7 @@ end readonly def
Пользуясь этой информацией, можно составить возможное имя:
-[source,shell]
+[source, shell]
....
-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
....
@@ -239,9 +240,9 @@ Normal, wide, condensed, extended, и так далее. Пока это не б
Spacing::
proportional или monospaced. Используется __proportional__, потому что _isFixedPitch_ равен false.
-Все эти имена произвольны, но нужно стараться следовать существующим соглашениям. В программе для X11 на шрифт ссылаются по имени с применением шаблонов, так что в выбираемом имени это должно учитываться. Можно начать с простого использования
+Все эти имена произвольны, но нужно стараться следовать существующим соглашениям. В программе для X11 на шрифт ссылаются по имени с применением шаблонов, так что в выбираемом имени это должно учитываться. Можно начать с простого использования
-[source,shell]
+[source, shell]
....
...-normal-r-normal-...-p-...
....
@@ -250,7 +251,7 @@ proportional или monospaced. Используется __proportional__, по
Итак, завершая наш пример:
-[source,shell]
+[source, shell]
....
Делаем шрифт доступным для X11
% cd /usr/X11R6/lib/X11/fonts/Type1
@@ -269,8 +270,7 @@ showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
.
:wq
-fonts.scale идентичен
-fonts.dir...
+fonts.scale идентичен fonts.dir...
% cp fonts.dir fonts.scale
Указываем X11, что произошли изменения
@@ -287,7 +287,7 @@ fonts.dir...
Ghostscript ссылается на шрифт через свой файл [.filename]#Fontmap#. Он должен быть подправлен так же, как и файл [.filename]#fonts.dir# в случае X11. Ghostscript может использовать файлы шрифтов в форматах [.filename]#.pfa# или [.filename]#.pfb#. Взяв шрифт из предыдущего примера, его можно использовать с Ghostscript вот так:
-[source,shell]
+[source, shell]
....
Помещаем файл со шрифтом в каталог со шрифтами Ghostscript
% cd /usr/local/shared/ghostscript/fonts
@@ -307,10 +307,10 @@ 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/shared/ghostscript/fonts/tir_____.pfb...
+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/shared/ghostscript/fonts/showboat.pfb...
+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<<
@@ -327,7 +327,7 @@ GS>quit
Первой утилитой является `afmtodit`. Обычно она не устанавливается, так что она должна быть получена из дистрибутива с исходными текстами. Я обнаружил, что нужно изменить первую строку файла, что я делал так:
-[source,shell]
+[source, shell]
....
% cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp
% ex /tmp/afmtodit.pl
@@ -339,17 +339,16 @@ GS>quit
Эта утилита создаст файл шрифтов для Groff из файла метрик (с окончанием [.filename]#.afm#). Продолжая с нашим примером:
-[source,shell]
+[source, shell]
....
-Многие файлы .afm в формате Mac
-... строки разделены символом ^M. Нам нужно преобразовать их в
-разделитель ^J в стиле UNIX(R)
+Многие файлы .afm в формате Mac ... строки разделены символом ^M.
+Нам нужно преобразовать их в разделитель ^J в стиле UNIX(R)
% cd /tmp
% cat /usr/local/shared/fonts/type1/showboat.afm |
tr '\015' '\012' >showboat.afm
Теперь создаем файл шрифтов groff
-% cd /usr/shared/groff_font/devps
+% cd /usr/share/groff_font/devps
% /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT
....
@@ -357,15 +356,15 @@ GS>quit
Если в системе для управления принтерами используется программа Ghostscript, то больше ничего делать не нужно. Однако, если используются настоящие PostScript(R)-принтеры, то для использования шрифта его нужно загрузить в принтер (если только в принтере шрифт showboat не встроен или не имеется на диске со шрифтами). Последний шаг заключается в создании загружаемого шрифта. Утилита `pfbtops` используется для создания шрифта в формате [.filename]#.pfa#, а файл для [.filename]#загрузки# изменяется для указания нового шрифта. Файл для [.filename]#загрузки# должен ссылаться на внутреннее имя шрифта. Оно может быть легко определено из файла шрифтов groff, как это показывается здесь:
-[source,shell]
+[source, shell]
....
Создание файла шрифта .pfa
-% pfbtops /usr/local/shared/fonts/type1/showboat.pfb >showboat.pfa
+% pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa
....
Конечно, если файл [.filename]#.pfa# уже имеется, для его использования создаем символическую ссылку на него.
-[source,shell]
+[source, shell]
....
Получение внутреннего имени шрифта
% fgrep internalname SHOWBOAT
@@ -380,7 +379,7 @@ Showboat showboat.pfa
Для тестирования шрифта:
-[source,shell]
+[source, shell]
....
% cd /tmp
% cat >example.t <<EOF
@@ -448,7 +447,7 @@ EOF
+
Во рабочем каталоге вам нужно построить утилиту. Просто введите такую команду:
+
-[source,shell]
+[source, shell]
....
# make -f Makefile.sub afmtodit
....
@@ -459,18 +458,18 @@ EOF
. Создайте файл [.filename]#.afm# по такой команде:
+
-[source,shell]
+[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# для двоичного представления). Это не не обязательно, но может быть (я думаю) полезным для сервера шрифтов.
-+
++
+При этом также будет создан файл [.filename]#.pfa#, текстовый файл с метриками PostScript-шрифта (([.filename]#.pfb# для двоичного представления). Это не будет обязательно, но может быть (я думаю) полезным для сервера шрифтов.
++
Например, для преобразования шрифта 30f9 Barcode с именами файлов по умолчанию, воспользуйтесь следующей командой:
+
-[source,shell]
+[source, shell]
....
% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf
Aladdin Ghostscript 5.10 (1997-11-23)
@@ -478,10 +477,10 @@ 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]
+[source, shell]
....
% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B
Aladdin Ghostscript 5.10 (1997-11-23)
@@ -491,25 +490,23 @@ 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]
+[source, shell]
....
-% afmtodit -d DESC -e text.enc file.afm \
- generate/textmap PS_font_name
+% 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]
+[source, shell]
....
-% afmtodit -d DESC -e text.enc 3of9.afm \
- generate/textmap 3of9
+% 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]]
@@ -529,7 +526,7 @@ Converting 3of9.ttf to A.pfa and B.afm.
[[obtaining-additional-fonts]]
== Где можно найти дополнительные шрифты?
-Много шрифтов можно найти в сети Интернет. Они либо абсолютно бесплатны, либо условно-бесплатны. В добавок, множество шрифтов находится в категории [.filename]#x11-fonts/# Коллекции Портов.
+Много шрифтов можно найти в сети Интернет. Они либо абсолютно бесплатны, либо условно-бесплатны. В добавок, множество шрифтов находится в категории [.filename]#x11-fonts/# Коллекции Портов
[[additional-questions]]
== Дополнительные вопросы