ыТЙЖФЩ Й FreeBSD

рПУПВЙЕ

7 БЧЗХУФБ 1996, УТЕДБ

ьФПФ ДПЛХНЕОФ УПДЕТЦЙФ ПРЙУБОЙЕ ТБЪМЙЮОЩИ ЖБКМПЧ ЫТЙЖФПЧ, ЛПФПТЩЕ НПЗХФ ЙУРПМШЪПЧБФШУС У FreeBSD Й ДТБКЧЕТПН УЙУФЕНОПК ЛПОУПМЙ, УЙУФЕНПК X11, РТПЗТБННБНЙ Ghostscript Й Groff. дБАФУС ТЕБМШОП ТБВПФБАЭЙЕ РТЙНЕТЩ РП РЕТЕЛМАЮЕОЙА ЬЛТБОБ УЙУФЕНОПК ЛПОУПМЙ Ч ТЕЦЙН 80x60 Й ЙУРПМШЪПЧБОЙА ЖБКМПЧ ЫТЙЖФПЧ ЖПТНБФБ Type 1 У РЕТЕЮЙУМЕООЩНЙ ЧЩЫЕ РТЙЛМБДОЩНЙ РТПЗТБННБНЙ.



1. чЧЕДЕОЙЕ

уХЭЕУФЧХЕФ НОПЗП НЕУФ, ЗДЕ НПЦОП ОБКФЙ ЖБКМЩ ЫТЙЖФПЧ, ОП ЧУФБЕФ ЧПРТПУ П ЧПЪНПЦОЩИ УРПУПВБИ ЙИ ЙУРПМШЪПЧБОЙС У FreeBSD. пФЧЕФ НПЦЕФ ВЩФШ ОБКДЕО Ч ТЕЪХМШФБФЕ ФЭБФЕМШОПЗП ЙЪХЮЕОЙС ДПЛХНЕОФБГЙЙ РП ФЕН ЛПНРПОЕОФБН, ЛПФПТЩЕ ЧЩ УПВЙТБЕФЕУШ ЙУРПМШЪПЧБФШ. оБ ЬФП ФТБФЙФУС ПЮЕОШ НОПЗП ЧТЕНЕОЙ, Й ЬФП РПУПВЙЕ СЧМСЕФУС РПРЩФЛПК ДБФШ ЗПФПЧЩЕ ПФЧЕФЩ ДМС ФЕИ, ЛФП ЪБЙОФЕТЕУХЕФУС ФБЛЙНЙ ЧПРТПУБНЙ.


2. пУОПЧОЩЕ ФЕТНЙОЩ

йНЕЕФУС НОПЦЕУФЧП ТБЪМЙЮОЩИ ЖПТНБФПЧ ЖБКМПЧ ЫТЙЖФПЧ Й УППФЧЕФУФЧХАЭЙИ ПЛПОЮБОЙК ЙНЕО ЖБКМПЧ. ъДЕУШ ПВУХЦДБАФУС МЙЫШ УМЕДХАЭЙЕ ЙЪ ОЙИ:

.pfa, .pfb

жБКМЩ ЫТЙЖФПЧ ЖПТНБФБ postscript type 1. жБКМЩ .pfa СЧМСАФУС ФЕЛУФПЧЩН ( Ascii) РТЕДУФБЧМЕОЙЕН, Б .pfb - ДЧПЙЮОЩН (Binary).

.afm

рБТБНЕФТЩ (НЕФТЙЛЙ) УППФЧЕФУФЧХАЭЙИ ЫТЙЖФПЧ ФЙРБ type 1.

.pfm

нЕФТЙЛЙ ДМС РТЙОФЕТПЧ УППФЧЕФУФЧХАЭЙИ ЫТЙЖФПЧ ФЙРБ type 1.

.ttf

жБКМ ЫТЙЖФПЧ ЖПТНБФБ TrueType

.fot

оЕСЧОБС УУЩМЛБ ОБ ЖБКМ ЫТЙЖФПЧ TrueType (ТЕБМШОПК ЙОЖПТНБГЙЙ П ЫТЙЖФЕ ЪДЕУШ ОЕ УПДЕТЦЙФУС)

.fon, .fnt

жБКМЩ ЬЛТБООЩИ ЫТЙЖФПЧ У РПВЙФОЩН РТЕДУФБЧМЕОЙЕН

жБКМЩ .fot ЙУРПМШЪХАФУС Ч Windows Ч ЛБЮЕУФЧЕ ОЕЛПК УЙНЧПМЙЮЕУЛПК УУЩМЛЙ ОБ ЖБКМ УП ЫТЙЖФПН Ч ЖПТНБФЕ TrueType (.ttf). жБКМЩ ЫТЙЖФПЧ .fon ФБЛЦЕ ЙУРПМШЪХАФУС Ч Windows. нОЕ ОЕЙЪЧЕУФОП, ЛБЛ НПЦОП ЙУРПМШЪПЧБФШ ЬФПФ ЖПТНБФ ЫТЙЖФПЧ ЧП FreeBSD.


3. лБЛЙЕ ЖПТНБФЩ ЖБКМПЧ ЫТЙЖФПЧ С НПЗХ ЙУРПМШЪПЧБФШ?

фП, ЖБКМ ЫТЙЖФПЧ ЛБЛПЗП ЖПТНБФБ ВХДЕФ РПМЕЪЕО, ЪБЧЙУЙФ ПФ ЙУРПМШЪХЕНПЗП РТЙМПЦЕОЙС. уБНБ РП УЕВЕ FreeBSD ЫТЙЖФПЧ ОЕ ЙУРПМШЪХЕФ. рТЙЛМБДОЩЕ РТПЗТБННЩ Й/ЙМЙ ДТБКЧЕТЩ НПЗХФ ЙУРПМШЪПЧБФШ ЖБКМЩ ЫТЙЖФПЧ. чПФ ЛТБФЛЙК УРТБЧПЮОЙЛ РП ФЙРБН ЖБКМПЧ ЫТЙЖФПЧ Й РТЙМПЦЕОЙСН/ДТБКЧЕТБН:

дТБКЧЕТ
syscons

.fnt

рТЙМПЦЕОЙЕ
Ghostscript

.pfa, .pfb, .ttf

X11

.pfa, .pfb

Groff

.pfa, .afm

Povray

.ttf

пЛПОЮБОЙЕ .fnt ЙУРПМШЪХЕФУС ДПУФБФПЮОП ЮБУФП. с РПМБЗБА, ЮФП ЛПЗДБ ЛФП-ОЙВХДШ УПВЙТБЕФУС УПЪДБФШ ЖБКМ ЫТЙЖФПЧ ДМС УЧПЕЗП РТЙМПЦЕОЙС, ЮБЭЕ ЧУЕЗП ЧЩВЙТБЕФУС ЙНЕООП ЬФП ПЛПОЮБОЙЕ. рПЬФПНХ ЖБКМЩ У ФБЛЙН ПЛПОЮБОЙЕН ОЕ ЧУЕ ЙНЕАФ ПДЙОБЛПЧЩК ЖПТНБФ; Ч ЮБУФОПУФЙ, ЖПТНБФ ЖБКМПЧ .fnt, ЙУРПМШЪХЕНЩИ ДТБКЧЕТПН syscons ЧП FreeBSD, НПЦЕФ ПФМЙЮБФШУС ПФ ЖПТНБФБ ЖБКМПЧ .fnt, ЧУФТЕЮБАЭЙИУС Ч MSDOS/Windows. с ДБЦЕ ОЕ РЩФБМУС ЙУРПМШЪПЧБФШ ДТХЗЙЕ ЖБКМЩ .fnt, ЛТПНЕ ФЕИ, ЮФП РПУФБЧМСАФУС У FreeBSD.


4. оБУФТПКЛБ ЧЙТФХБМШОПК ЛПОУПМЙ ОБ ТЕЦЙН ТБВПФЩ 80x60

чП-РЕТЧЩИ, ДПМЦЕО ВЩФШ ЪБЗТХЦЕО ЫТЙЖФ ТБЪНЕТБ 8x8. дМС ЬФПЗП ЖБКМ /etc/rc.conf ДПМЦЕО УПДЕТЦБФШ УФТПЮЛХ (ЙЪНЕОЙФЕ Ч ОЕК ЙНС ЖБКМБ УП ЫТЙЖФПН ОБ УППФЧЕФУФЧХАЭЙК ЧБЫЕК МПЛБМЙЪБГЙЙ):

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

лПНБОДБ ДМС РЕТЕЛМАЮЕОЙС ТЕЦЙНПЧ ОБЪЩЧБЕФУС vidcontrol(1):

    % vidcontrol VGA_80x60
         

тБЪМЙЮОЩЕ РТПЗТБННЩ, ПТЙЕОФЙТПЧБООЩЕ ОБ ТБВПФХ У ЬЛТБОПН, ФБЛЙЕ, ЛБЛ vi(1), ДПМЦОЩ ХНЕФШ ПРТЕДЕМСФШ ФЕЛХЭЙЕ ТБЪНЕТЩ ЬЛТБОБ. фБЛ ЛБЛ ЬФП ДЕМБЕФУС ЮЕТЕЪ ЧЩЪПЧЩ ioctl Л ДТБКЧЕТХ ЛПОУПМЙ (ФБЛПНХ, ЛБЛ syscons(4)), ФП ТБЪНЕТЩ ВХДХФ ПРТЕДЕМСФШУС РТБЧЙМШОП.

юФПВЩ ЬФП РТПИПДЙМП ВПМЕЕ ЗМБДЛП, НПЦОП ЧЛМАЮЙФШ ЬФЙ ЛПНБОДЩ Ч УЛТЙРФЩ ОБЮБМШОПК ЪБЗТХЪЛЙ, ЮФПВЩ ПОЙ ЧЩРПМОСМЙУШ РТЙ ЪБРХУЛЕ УЙУФЕНЩ. юФПВЩ ЬФП УДЕМБФШ, ДПВБЧШФЕ ФБЛХА УФТПЮЛХ Ч /etc/rc.conf

            allscreens_flags="VGA_80x60"   # Set this vidcontrol mode for all virtual screens
         

уРТБЧПЮОБС ЙОЖПТНБГЙС: rc.conf(5), vidcontrol(1).


5. йУРПМШЪПЧБОЙЕ ЫТЙЖФПЧ type 1 У УЙУФЕНПК X11

X11 НПЦЕФ ЙУРПМШЪПЧБФШ ЖБКМЩ ЫТЙЖФПЧ Ч ЖПТНБФЕ .pfa ЙМЙ .pfb. ыТЙЖФЩ ДМС X11 ТБУРПМБЗБАФУС Ч ТБЪМЙЮОЩИ РПДЛБФБМПЗБИ Ч /usr/X11R6/lib/X11/fonts. оБ ЛБЦДЩК ЖБКМ УП ЫТЙЖФПН ЙНЕЕФУС УУЩМЛБ РП ЕЗП X11-ЙНЕОЙ Ч ЖБКМЕ fonts.dir Ч ЛБЦДПН ФБЛПН ЛБФБМПЗЕ.

уХЭЕУФЧХЕФ ЛБФБМПЗ РП ЙНЕОЙ Type1. уБНЩН РТПУФЩН УРПУПВПН ДПВБЧЙФШ ОПЧЩК ЫТЙЖФ ЪБЛМАЮБЕФУС Ч РПНЕЭЕОЙЙ ЕЗП Ч ЬФПФ ЛБФБМПЗ. оП МХЮЫЕ ИТБОЙФШ ЧУЕ ОПЧЩЕ ЫТЙЖФЩ Ч ПФДЕМШОПН ЛБФБМПЗЕ Й ЙУРПМШЪПЧБФШ УЙНЧПМЙЮЕУЛЙЕ УУЩМЛЙ ДМС ДПВБЧМСЕНЩИ ЫТЙЖФПЧ. ьФП РПЪЧПМСЕФ МЕЗЛП ХРТБЧМСФШ ПФДЕМШОЩНЙ ДПВБЧМСЕНЩНЙ ЫТЙЖФБНЙ, ОЕ РХФБС ЙИ У ЙЪОБЮБМШОП РПУФБЧМСЕНЩНЙ. оБРТЙНЕТ:

    уПЪДБЕН ЛБФБМПЗ ДМС ЖБКМПЧ ЫТЙЖФПЧ
    % mkdir -p /usr/local/share/fonts/type1
    % cd /usr/local/share/fonts/type1
    
    рПНЕЭБЕН УАДБ ЖБКМЩ .pfa, .pfb Й .afm
    лПНХ-ФП НПЦЕФ РПФТЕВПЧБФШУС ИТБОЙФШ ЪДЕУШ ФБЛЦЕ
    УПРТПЧПДЙФЕМШОЩЕ ЖБКМЩ Й ДПЛХНЕОФБГЙА Л ЫТЙЖФБН
    % 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 ЧЩЗМСДСФ УМЕДХАЭЙН ПВТБЪПН:

    -bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
         |        |      |    |   |     |  | | | | | |    \    \
         |        |      |    |   |     \  \ \ \ \ \ \     +----+- ОБВПТ УЙНЧПМПЧ
         |        |      |    |   \      \  \ \ \ \ \ +- УТЕДОСС ЫЙТЙОБ
         |        |      |    |    \      \  \ \ \ \ +- spacing
         |        |      |    \ \      \  \ \ \ +- ТБЪТЕЫЕОЙЕ РП ЧЕТФЙЛБМЙ
         |        |      |     \     \  \  \ \ +- ТБЪТЕЫЕОЙЕ РП ЗПТЙЪПОФБМЙ
         |        |      |      \     \  \  \ +- РХОЛФПЧ
         |        |      |       \     \      \  +- РЙЛУЕМ
         |        |      |        \     \      \
      foundry  family  weight   slant  width  additional style
         

дМС ЛБЦДПЗП ОПЧПЗП ЖБКМБ ЫТЙЖФПЧ ОЕПВИПДЙНП УПЪДБФШ ОПЧПЕ ЙНС. еУМЙ Х ЧБУ ЕУФШ ЛБЛБС-МЙВП ЙОЖПТНБГЙС ЙЪ УПРТПЧПДЙФЕМШОПК ДПЛХНЕОФБГЙЙ Л ЫТЙЖФХ, ФП ПОБ НПЦЕФ УМХЦЙФШ ПУОПЧПК ДМС УПЪДБОЙС ЙНЕОЙ. еУМЙ ЙОЖПТНБГЙЙ ОЕФ, ФП НПЦОП РПМХЮЙФШ ОЕЛПФПТХА ЙОЖПТНБГЙА ПФ ЙУРПМШЪПЧБОЙС РТПЗТБННЩ strings(1) ОБД ЖБКМПН ЫТЙЖФБ. оБРТЙНЕТ:

    % 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--
         

рПМШЪХСУШ ЬФПК ЙОЖПТНБГЙЕК, НПЦОП УПУФБЧЙФШ ЧПЪНПЦОПЕ ЙНС:

    -type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
         

лПНРПОЕОФБНЙ ОБЫЕЗП ЙНЕОЙ СЧМСАФУС:

Foundry

дБЧБКФЕ ОБЪЩЧБФШ ЧУЕ ОПЧЩЕ ЫТЙЖФЩ type1.

Family

йНС ЫТЙЖФБ.

Weight

Normal, bold, medium, semibold, Й ФБЛ ДБМЕЕ. йЪ ТЕЪХМШФБФБ ТБВПФЩ ЛПНБОДЩ strings(1) РПИПЦЕ, ЮФП ЬФПФ ЫТЙЖФ ЙНЕЕФ ЫЙТЙОХ medium.

Slant

roman, italic, oblique, Й ФБЛ ДБМЕЕ. фБЛ ЛБЛ ItalicAngle ТБЧЕО ОХМА, ФП ВХДЕФ ЙУРПМШЪПЧБФШУС roman.

Width

Normal, wide, condensed, extended, Й ФБЛ ДБМЕЕ. рПЛБ ЬФП ОЕ ВХДЕФ РТПЧЕТЕОП, РТЕДРПМБЗБЕН normal.

дПРПМОЙФЕМШОЩК УФЙМШ

пВЩЮОП ПРХУЛБЕФУС, ОП ПО ВХДЕФ ХЛБЪЩЧБФШ, ЮФП Ч ЫТЙЖФЕ ЕУФШ ДЕЛПТБФЙЧОЩЕ ЪБЗМБЧОЩЕ ВХЛЧЩ.

Spacing

proportional ЙМЙ monospaced. йУРПМШЪХЕФУС proportional, РПФПНХ ЮФП isFixedPitch ТБЧЕО false.

чУЕ ЬФЙ ЙНЕОБ РТПЙЪЧПМШОЩ, ОП ОХЦОП УФБТБФШУС УМЕДПЧБФШ УХЭЕУФЧХАЭЙН УПЗМБЫЕОЙСН. ч РТПЗТБННЕ ДМС X11 ОБ ЫТЙЖФ УУЩМБАФУС РП ЙНЕОЙ У РТЙНЕОЕОЙЕН ЫБВМПОПЧ, ФБЛ ЮФП Ч ЧЩВЙТБЕНПН ЙНЕОЙ ЬФП ДПМЦОП ХЮЙФЩЧБФШУС. нПЦОП ОБЮБФШ У РТПУФПЗП ЙУРПМШЪПЧБОЙС

    ...-normal-r-normal-...-p-...
       
Ч ЛБЮЕУФЧЕ ЙНЕОЙ, Б ЪБФЕН ЙУРПМШЪПЧБФШ xfontsel(1) ДМС ЕЗП РТПЧЕТЛЙ Й ЙЪНЕОЕОЙС ЙНЕОЙ ОБ ПУОПЧЕ ФПЗП, ЛБЛ ЧЩЗМСДЙФ ЫТЙЖФ.

йФБЛ, ЪБЧЕТЫБС ОБЫ РТЙНЕТ:

    дЕМБЕН ЫТЙЖФ ДПУФХРОЩН ДМС X11
    % cd /usr/X11R6/lib/X11/fonts/Type1
    % ln -s /usr/local/share/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-*
         

уРТБЧПЮОБС ЙОЖПТНБГЙС: xfontsel(1), xset(1), The X Windows System in a Nutshell, O'Reilly & Associates.


6. йУРПМШЪПЧБОЙЕ ЫТЙЖФПЧ type 1 У РБЛЕФПН Ghostscript

Ghostscript УУЩМБЕФУС ОБ ЫТЙЖФ ЮЕТЕЪ УЧПК ЖБКМ Fontmap. пО ДПМЦЕО ВЩФШ РПДРТБЧМЕО ФБЛ ЦЕ, ЛБЛ Й ЖБКМ fonts.dir Ч УМХЮБЕ X11. Ghostscript НПЦЕФ ЙУРПМШЪПЧБФШ ЖБКМЩ ЫТЙЖФПЧ Ч ЖПТНБФБИ .pfa ЙМЙ .pfb. чЪСЧ ЫТЙЖФ ЙЪ РТЕДЩДХЭЕЗП РТЙНЕТБ, ЕЗП НПЦОП ЙУРПМШЪПЧБФШ У Ghostscript ЧПФ ФБЛ:

    рПНЕЭБЕН ЖБКМ УП ЫТЙЖФПН Ч ЛБФБМПЗ УП ЫТЙЖФБНЙ Ghostscript
    % cd /usr/local/share/ghostscript/fonts
    % ln -s /usr/local/share/fonts/type1/showboat.pfb .
    
    тЕДБЛФЙТХЕН Fontmap, ЮФПВЩ Ghostscript ЪОБМ П ЫТЙЖФЕ
    % cd /usr/local/share/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
         

уРТБЧПЮОБС ЙОЖПТНБГЙС: fonts.txt ЙЪ ДЙУФТЙВХФЙЧБ Ghostscript 4.01


7. йУРПМШЪПЧБОЙЕ ЫТЙЖФПЧ Ч ЖПТНБФЕ type 1 У РТПЗТБННПК Groff

фЕРЕТШ, ЛПЗДБ ОПЧЩК ЫТЙЖФ НПЦЕФ ВЩФШ ЙУРПМШЪПЧБО ЛБЛ У X11, ФБЛ Й Ч Ghostscript, ЛБЛ ЙУРПМШЪПЧБФШ ЕЗП У РТПЗТБННПК groff? чП-РЕТЧЩИ, ФБЛ ЛБЛ НЩ ЙНЕЕН ДЕМП УП postscript-ЫТЙЖФБНЙ ЖПТНБФБ type 1, ФП РПДИПДСЭЙН ХУФТПКУФЧПН groff СЧМСЕФУС ps. дМС ЛБЦДПЗП ЫТЙЖФБ, ЛПФПТЩК НПЦЕФ ЙУРПМШЪПЧБФШУС РТПЗТБННПК groff, ДПМЦЕО ВЩФШ УПЪДБО ЖБКМ ЫТЙЖФБ. йНС ЫТЙЖФБ ДМС groff СЧМСЕФУС РТПУФП ЙНЕОЕН ЖБКМБ ЙЪ ЛБФБМПЗБ /usr/share/groff_font/devps. ч ОБЫЕН РТЙНЕТЕ ЖБКМПН ЫТЙЖФБ НПЦЕФ ВЩФШ /usr/share/groff_font/devps/SHOWBOAT. жБКМ ДПМЦЕО ВЩФШ УПЪДБО У РПНПЭША ХФЙМЙФ, РПУФБЧМСЕНЩИ У РТПЗТБННПК groff.

рЕТЧПК ХФЙМЙФПК СЧМСЕФУС afmtodit. пВЩЮОП ПОБ ОЕ ХУФБОБЧМЙЧБЕФУС, ФБЛ ЮФП ПОБ ДПМЦОБ ВЩФШ РПМХЮЕОБ ЙЪ ДЙУФТЙВХФЙЧБ У ЙУИПДОЩНЙ ФЕЛУФБНЙ. с ПВОБТХЦЙМ, ЮФП ОХЦОП ЙЪНЕОЙФШ РЕТЧХА УФТПЛХ ЖБКМБ, ЮФП С ДЕМБМ ФБЛ:

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

ьФБ ХФЙМЙФБ УПЪДБУФ ЖБКМ ЫТЙЖФПЧ ДМС groff ЙЪ ЖБКМБ НЕФТЙЛ (У ПЛПОЮБОЙЕН .afm). рТПДПМЦБС У ОБЫЙН РТЙНЕТПН:

    нОПЗЙЕ ЖБКМЩ .afm Ч ЖПТНБФЕ Mac
... УФТПЛЙ ТБЪДЕМЕОЩ УЙНЧПМПН ^M.  оБН ОХЦОП РТЕПВТБЪПЧБФШ ЙИ Ч
ТБЪДЕМЙФЕМШ ^J Ч УФЙМЕ unix
    % cd /tmp
    % cat /usr/local/share/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-РТЙОФЕТЩ, ФП ДМС ЙУРПМШЪПЧБОЙС ЫТЙЖФБ ЕЗП ОХЦОП ЪБЗТХЪЙФШ Ч РТЙОФЕТ (ЕУМЙ ФПМШЛП Ч РТЙОФЕТЕ ЫТЙЖФ showboat ОЕ ЧУФТПЕО ЙМЙ ОЕ ЙНЕЕФУС ОБ ДЙУЛЕ УП ЫТЙЖФБНЙ). рПУМЕДОЙК ЫБЗ ЪБЛМАЮБЕФУС Ч УПЪДБОЙЙ ЪБЗТХЦБЕНПЗП ЫТЙЖФБ. хФЙМЙФБ pfbtops ЙУРПМШЪХЕФУС ДМС УПЪДБОЙС ЫТЙЖФБ Ч ЖПТНБФЕ .pfa, Б ЖБКМ ДМС ЪБЗТХЪЛЙ ЙЪНЕОСЕФУС ДМС ХЛБЪБОЙС ОПЧПЗП ЫТЙЖФБ. жБКМ ДМС ЪБЗТХЪЛЙ ДПМЦЕО УУЩМБФШУС ОБ ЧОХФТЕООЕЕ ЙНС ЫТЙЖФБ. пОП НПЦЕФ ВЩФШ МЕЗЛП ПРТЕДЕМЕОП ЙЪ ЖБКМБ ЫТЙЖФПЧ groff, ЛБЛ ЬФП РПЛБЪЩЧБЕФУС ЪДЕУШ:

    уПЪДБОЙЕ ЖБКМБ ЫТЙЖФБ .pfa
    % pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa
         

лПОЕЮОП, ЕУМЙ ЖБКМ .pfa ХЦЕ ЙНЕЕФУС, ДМС ЕЗП ЙУРПМШЪПЧБОЙС УПЪДБЕН УЙНЧПМЙЮЕУЛХА УУЩМЛХ ОБ ОЕЗП.

    рПМХЮЕОЙЕ ЧОХФТЕООЕЗП ЙНЕОЙ ЫТЙЖФБ
    % fgrep internalname SHOWBOAT
    internalname Showboat
    
    хЛБЪЩЧБЕН ХФЙМЙФЕ groff, ЮФП ЫТЙЖФ ДПМЦЕО ВЩФШ ЪБЗТХЦЕО
    % ex download
:$a
Showboat      showboat.pfa
.
:wq
         

дМС ФЕУФЙТПЧБОЙС ЫТЙЖФБ:

    % 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
         

уРТБЧПЮОБС ЙОЖПТНБГЙС: /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man, groff_font(5), groff_char(7), pfbtops(1).


8. рТЕПВТБЪПЧБОЙЕ ЖБКМПЧ ЫТЙЖФПЧ TrueType Ч ЖПТНБФ groff/postscript ДМС ЙУРПМШЪПЧБОЙС У groff

рПФЕОГЙБМШОП ЬФП ФТЕВХЕФ ОЕЛПФПТЩИ ХУЙМЙК, РТПУФП РПФПНХ ЮФП ЪБЧЙУЙФ ОЕЛПФПТЩИ ХФЙМЙФ, ЛПФПТЩЕ Ч ЛБЮЕУФЧЕ ЮБУФЙ УЙУФЕНЩ ОЕ ХУФБОБЧМЙЧБАФУС. ьФП:

ttf2pf

хФЙМЙФБ ДМС РТЕПВТБЪПЧБОЙС TrueType Ч postscript. пОБ РПЪЧПМСЕФ РТЕПВТБЪПЧБФШ ЫТЙЖФ TrueType Ч НЕФТЙЛХ ЫТЙЖФБ Ч ФЕЛУФПЧПН ЖПТНБФЕ (ЖБКМ .afm).

дПУФХРОБ РП БДТЕУХ http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf. ъБНЕЮБОЙЕ: ьФЙ ЖБКМЩ СЧМСАФУС postscript-РТПЗТБННБНЙ Й ДПМЦОЩ ВЩФШ УЛБЮБОЩ ОБ ДЙУЛ ЭЕМЮЛПН ОБ УУЩМЛЕ РТЙ ОБЦБФПК ЛМБЧЙЫЕ Shift. ч РТПФЙЧОПН УМХЮБЕ ДМС ЙИ РТПУНПФТБ ЧБЫ ВТБХЪЕТ НПЦЕФ РПРЩФБФШУС ЪБРХУФЙФШ РТПЗТБННХ ghostview.

йОФЕТЕУ РТЕДУФБЧМСАФ УМЕДХАЭЙЕ ЖБКМЩ:

  • GS_TTF.PS

  • PF2AFM.PS

  • ttf2pf.ps

уНЕУШ ЧЕТИОЕЗП/ОЙЦОЕЗП ТЕЗЙУФТПЧ РТЙУХФУФЧХЕФ ЙЪ-ЪБ ФПЗП, ЮФП ЬФЙ ЖБКМЩ РТЕДОБЪОБЮЕОЩ Й ДМС DOS. ttf2pf.ps ЙУРПМШЪХЕФ ПУФБМШОЩЕ У ЙНЕОБНЙ Ч ЧЕТИОЕН ТЕЗЙУФТЕ, ФБЛ ЮФП РТЙ РЕТЕЙНЕОПЧБОЙЙ ЬФП ОХЦОП ХЮЙФЩЧБФШ. (оБ УБНПН ДЕМЕ GS_TTF.PS Й PFS2AFM.PS РТЕДРПМПЦЙФЕМШОП СЧМСАФУС ЮБУФША ДЙУФТЙВХФЙЧБ ghostscript, ОП ЙИ МЕЗЛП ЙУРПМШЪПЧБФШ ЛБЛ ПФДЕМШОЩЕ ХФЙМЙФЩ. ч РПУФБЧЛХ FreeBSD ПОЙ ОЕ ЧЛМАЮЕОЩ.) чЩ НПЦЕФЕ ФБЛЦЕ ХУФБОПЧЙФШ ЙИ Ч ЛБФБМПЗ /usr/local/share/groff_font/devps(?).

afmtodit

уПЪДБЕФ ЖБКМЩ ЫТЙЖФПЧ ДМС ЙУРПМШЪПЧБОЙС У РТПЗТБННПК groff ЙЪ ФЕЛУФПЧЩИ ЖБКМПЧ У НЕФТЙЛБНЙ ЫТЙЖФБ. пОБ ПВЩЮОП ТБУРПМБЗБЕФУС Ч ЛБФБМПЗЕ /usr/src/contrib/groff/afmtodit Й ДМС ЕЕ ЙУРПМШЪПЧБОЙС ФТЕВХЕФУС РТПДЕМБФШ ОЕЛПФПТХА ТБВПФХ.

Note: еУМЙ ЧЩ ЙЪВЕЗБЕФЕ ТБВПФБФШ Ч ДЕТЕЧЕ /usr/src, РТПУФП УЛПРЙТХКФЕ УПДЕТЦЙНПЕ ЧЩЫЕХРПНСОХФПЗП ЛБФБМПЗБ ЧП ЧТЕНЕООЩК ТБВПЮЙК ЛБФБМПЗ.

чП ТБВПЮЕН ЛБФБМПЗЕ ЧБН ОХЦОП РПУФТПЙФШ ХФЙМЙФХ. рТПУФП ЧЧЕДЙФЕ ФБЛХА ЛПНБОДХ:

    # make -f Makefile.sub afmtodit
         

чБН НПЦЕФ ФБЛЦЕ РПФТЕВПЧБФШУС УЛПРЙТПЧБФШ /usr/contrib/groff/devps/generate/textmap Ч /usr/share/groff_font/devps/generate, ЕУМЙ ЕЗП ФПМШЛП ХЦЕ ОЕ УХЭЕУФЧХЕФ.

лБЛ ФПМШЛП ЬФЙ ХФЙМЙФЩ ЗПФПЧЩ, ЧЩ НПЦЕФЕ ОБЮБФШ:

  1. уПЪДБКФЕ ЖБКМ .afm РП ФБЛПК ЛПНБОДЕ:

        % gs [-dNODISPLAY] [-q] -- ttf2pf.ps TTF_name [PS_font_name [AFM_name]]
           
    

    ъДЕУШ TTF_name ПВПЪОБЮБЕФ ЧБЫ ЖБКМ УП ЫТЙЖФПН TrueType, PS_font_name СЧМСЕФУС ЙНЕОЕН ДМС ЖБКМБ .pfa, AFM_name ЪБДБЕФ ЙНС ДМС ЖБКМБ .afm. еУМЙ ЧЩ ОЕ ХЛБЦЕФЕ ЙНЕОБ ЧЩИПДОЩИ ЖБКМПЧ, ДМС ЖПТНБФПЧ .pfa ЙМЙ .afm, ФП РП ХНПМЮБОЙА ВХДХФ ЙУРПМШЪПЧБФШУС ЙНЕОБ, РПМХЮБЕНЩЕ ЙЪ ЙНЕОЙ ЖБКМБ УП ЫТЙЖФПН TrueType.

    рТЙ ЬФПН ФБЛЦЕ ВХДЕФ УПЪДБО ЖБКМ .pfa, ФЕЛУФПЧЩК ЖБКМ У НЕФТЙЛБНЙ postscript-ЫТЙЖФБ ((.pfb ДМС ДЧПЙЮОПЗП РТЕДУФБЧМЕОЙС). ьФП ОЕ ОЕ ПВСЪБФЕМШОП, ОП НПЦЕФ ВЩФШ (С ДХНБА) РПМЕЪОЩН ДМС УЕТЧЕТБ ЫТЙЖФПЧ.

    оБРТЙНЕТ, ДМС РТЕПВТБЪПЧБОЙС ЫТЙЖФБ 30f9 Barcode У ЙНЕОБНЙ ЖБКМПЧ РП ХНПМЮБОЙА, ЧПУРПМШЪХКФЕУШ УМЕДХАЭЕК ЛПНБОДПК:

        % 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.
           
    

    еУМЙ ЧЩ ИПФЙФЕ, ЮФПВЩ РТЕПВТБЪПЧБООЩЕ ЫТЙЖФЩ УПИТБОСМЙУШ Ч ЖБКМЩ A.pfa and B.afm, ФП ЧЩДБКФЕ ФБЛХА ЛПНБОДХ:

        % 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.
           
    
  2. уПЪДБКФЕ postscript-ЖБКМ ДМС groff:

    уНЕОЙФЕ ФЕЛХЭЙК ЛБФБМПЗ ОБ /usr/share/groff_font/devps ДМС ПВМЕЗЮЕОЙС ЪБРХУЛБ ХРПНЙОБЕНЩИ ДБМЕЕ РТПЗТБНН. дМС ЬФПЗП ЧБН НПЦЕФ РПОБДПВЙФШУС ЙНЕФШ РТЙЧЙМЕЗЙЙ БДНЙОЙУФТБФПТБ УЙУФЕНЩ. (йМЙ, ЕУМЙ ЧЩ ЙЪВЕЗБЕФЕ ЪДЕУШ ТБВПФБФШ, ПВСЪБФЕМШОП РПУНПФТЙФЕ ЖБКМЩ DESC, text.enc Й generate/textmap Ч ЬФПН ЛБФБМПЗЕ.)

        % afmtodit -d DESC -e text.enc file.afm \
            generate/textmap PS_font_name
           
    

    ъДЕУШ file.afm СЧМСЕФУС ЖБКМПН AFM_name, УПЪДБООЩН РТПЗТБННПК ttf2pf.ps ЧЩЫЕ, Б PS_font_name СЧМСЕФУС ЙНЕОЕН ЫТЙЖФБ, ЙУРПМШЪХЕНЩН Ч ФПК ЛПНБОДЕ, ФБЛ ЦЕ, ЛБЛ Й ЙНС, ЛПФПТПЕ ВХДЕФ ЙУРПМШЪПЧБФШ ХФЙМЙФБ groff(1) ДМС УУЩМЛЙ ОБ ЬФПФ ЫТЙЖФ. оБРТЙНЕТ, РПМБЗБС, ЮФП ЧЩ ЙУРПМШЪПЧБМЙ РЕТЧХА ЛПНБОДХ tiff2pf.ps ЧЩЫЕ, ФП ЫТЙЖФ 3of9 Barcode НПЦЕФ ВЩФШ УПЪДБО РТЙ РПНПЭЙ ФБЛПК ЛПНБОДЩ:

        % afmtodit -d DESC -e text.enc 3of9.afm \
                     generate/textmap 3of9
           
    

    рТПЧЕТШФЕ, ЮФП РПМХЮЕООЩК ЖБКМ PS_font_name (Л РТЙНЕТХ, 3of9 ЙЪ РТЙНЕТБ ЧЩЫЕ) ТБУРПМПЦЕО Ч ЛБФБМПЗЕ /usr/share/groff_font/devps, УЛПРЙТПЧБЧ ЙМЙ РЕТЕОЕУС ЕЗП УАДБ.

    ъБНЕФШФЕ, ЮФП ЕУМЙ ttf2pf.ps ОБЪОБЮБЕФ ЙНС ЫТЙЖФБ, ЙУРПМШЪХС ПДЙО ЙЪ ОБКДЕООЩИ Ч ЖБКМЕ ЫТЙЖФБ TrueType, Б ЧЩ ИПФЙФЕ ЙУРПМШЪПЧБФШ ДТХЗПЕ ЙНС, ФП ЧЩ ДПМЦОЩ ПФТЕДБЛФЙТПЧБФШ ЖБКМ .afm ДП ЪБРХУЛБ ЛПНБОДЩ afmtodit. ьФП ЙНС Л ФПНХ ЦЕ ДПМЦОП УПЧРБДБФШ У ФЕН, ЮФП ЙУРПМШЪХЕФУС Ч ЖБКМЕ Fontmap, ЕУМЙ ЧЩ УПВЙТБЕФЕУШ РЕТЕОБРТБЧМСФШ ЧЩЧПД groff(1) ХФЙМЙФЕ gs(1).


9. нПЦОП МЙ ЙУРПМШЪПЧБФШ ЫТЙЖФЩ Ч ЖПТНБФЕ TrueType У ДТХЗЙНЙ РТПЗТБННБНЙ?

жПТНБФ TrueType ЙУРПМШЪХЕФУС Ч Windows, Windows 95 Й ОБ ЛПНРШАФЕТБИ Macintosh. пО ДПУФБФПЮОП РПРХМСТЕО Й Ч ЬФПН ЖПТНБФЕ ЙНЕЕФУС ВПМШЫПЕ ЛПМЙЮЕУФЧП ЫТЙЖФПЧ.

л УПЦБМЕОЙА, С ЪОБА МЙЫШ ОЕУЛПМШЛП РТПЗТБНН, ЛПФПТЩЕ НПЗХФ ЙУРПМШЪПЧБФШ ЬФПФ ЖПТНБФ: ОБ ХН РТЙИПДСФ Ghostscript Й Povray. еЗП РПДДЕТЦЛБ Ч РТПЗТБННЕ Ghostscript, УПЗМБУОП ДПЛХНЕОФБГЙЙ, ОБИПДЙФУС Ч ЪБЮБФПЮОПН УПУФПСОЙЙ Й РПМХЮБЕНЩК ТЕЪХМШФБФ ИХЦЕ ФПЗП, ЮФП РПМХЮБЕФУС РТЙ ЙУРПМШЪПЧБОЙЙ ЫТЙЖФПЧ type 1. рТПЗТБННБ Povray ЧЕТУЙЙ 3 ФБЛЦЕ НПЦЕФ ЙУРПМШЪПЧБФШ ЫТЙЖФЩ TrueType, ОП С ПЮЕОШ УПНОЕЧБАУШ, ЮФП НОПЗП ЛФП УПЪДБЕФ ДПЛХНЕОФЩ ЛБЛ РПУМЕДПЧБФЕМШОПУФШ БОЙНЙТПЧБООЩИ УФТБОЙГ :-).

фБЛБС ЧЕУШНБ РЕЮБМШОБС УЙФХБГЙС НПЦЕФ ЧУЛПТЕ ЙЪНЕОЙФШУС. ч ТБНЛБИ РТПЕЛФБ FreeType Project Ч ОБУФПСЭЕЕ ЧТЕНС ТБЪТБВБФЩЧБЕФУС РПМЕЪОЩК ОБВПТ ЙОУФТХНЕОФПЧ ДМС ТБВПФЩ У FreeType:

уФТБОЙГБ РТПЕЛФПЧ FreeType НПЦЕФ ПЛБЪБФШУС РПМЕЪОПК Ч ЛБЮЕУФЧЕ ОБЮБМШОПК ДМС РПМХЮЕОЙС ЙОЖПТНБГЙЙ ПВ ЬФЙИ Й ДТХЗЙИ ОЕЛПННЕТЮЕУЛЙИ РТПЕЛФБИ TrueType.


10. зДЕ НПЦОП ОБКФЙ ДПРПМОЙФЕМШОЩЕ ЫТЙЖФЩ?

нОПЗП ЫТЙЖФПЧ НПЦОП ОБКФЙ Ч УЕФЙ йОФЕТОЕФ. пОЙ МЙВП БВУПМАФОП ВЕУРМБФОЩ, МЙВП ХУМПЧОП-ВЕУРМБФОЩ. лТПНЕ ФПЗП, РТПДБЕФУС НОПЗП ОЕДПТПЗЙИ ЛПНРБЛФ-ДЙУЛПЧ, УПДЕТЦБЭЙИ НОПЗП ЫТЙЖФПЧ. чПФ ОЕЛПФПТЩЕ БДТЕУБ йОФЕТОЕФ (ОБ БЧЗХУФ 1996):


11. дПРПМОЙФЕМШОЩЕ ЧПРТПУЩ