フォントと FreeBSD: A Tutorial
Prev |  | Next

# 8. TrueType フォントを groff 用に groff/PostScript フォーマットに変換する

これにはいくつかユーティリティが必要ですが、 ベースシステムの一部としてインストールされてはいないので若干の作業が必要となります。 インストールするものは:

`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 フォントファイル名から作成されます。

   この時、アスキー PostScript フォントメトリックファイルである `.pfa` ファイルも同時に作られます (`.pfb` はバイナリ形式です)。 これは不要となるでしょうが、(私が考えるに) フォントサーバには役立つでしょう。

   例として、30f9 バーコードフォントをデフォルトのファイル名で変換するには以下のようにします。

       % 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` と `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. groff PostScript ファイルを作ります。

   以下のコマンドの実行が用意なように `/usr/share/groff_font/devps` に ディレクトリを変更します。 恐らく root 特権が必要になるでしょう (そこでの作業が気にいらないなら、このディレクトリの `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 バーコードフォントは以下のコマンドで作成できます。

       % 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` を実行する必要があります。 groff(1) から gs(1) へパイプするつもりならば、 その名前は同時にフォントマップファイルで使われているものである必要があります。

Prev | Home | Next
タイプ 1 フォントを Groff で利用する |  | TrueType フォントを他のプログラムで使うことができますか?