ここまでで新しいフォントを X11 と
Ghostscript
の両方で用いることができるようになりましたが、
この新しいフォントをどのようにすれば
groff で使うことができるでしょうか?
まず第一に、PostScript® のタイプ 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
このツールはメトリックファイル (.afm
拡張子)
から groff フォントファイルを生成してくれます。
フォント使用方法例を続けることにしましょう。
.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
は (訳注 : .pfb
形式から)
.pfa
形式のフォントを生成するために、そして、
download
というファイルを編集し、
フォントの内部名を参照するように変更しなくてはなりません。
この内部名は以下で示すように 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)
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。