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.PSPFS2AFM.PS は、一応 Ghostscript の配布物の一部ですが、 個別のユーティリティとしても問題なく利用できます。 FreeBSD には後者が入っていないようです)。 /usr/local/share/groff_font/devps にインストールするとよいかもしれません。

afmtodit

はアスキーフォントメトリックファイルから groff とともに使うフォントファイルを作ります。 これは通常、 /usr/src/contrib/groff/afmtodit ディレクトリに存在していて、 使えるようにするには作業が必要です。

注意: もしも /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.pfaB.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 特権が必要になるでしょう (そこでの作業が気にいらないなら、このディレクトリの DESCtext.encgenerate/textmap ファイルが参照されるということに注意してください)。

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

    ここで、file.afmAFM_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) へパイプするつもりならば、 その名前は同時にフォントマップファイルで使われているものである必要があります。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。