diff options
Diffstat (limited to 'documentation/content/ru/articles/fonts/_index.adoc')
-rw-r--r-- | documentation/content/ru/articles/fonts/_index.adoc | 103 |
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]] == Дополнительные вопросы |