PSフォントの利用方法

PSフォント(PostScript Type 1フォント)は,PSプリンターに内蔵されています。使用できるフォントはカタログや説明書に書いてありますので,それで確認してください。ちなみに私は OKI MICROLINE 903PSII + F というプリンターを使っていますが,欧文フォントは Times-Roman など35書体,和文フォントは細明朝(Ryumin Light-KL)など5書体が入っています。
また内蔵されていないCM PSフォントやDTPで使われている一般的なPSフォントもプリンターのハードディスクに簡単に追加インストールできるようになっていますが,ここでは LaTeX2e でこれらのPSフォントを使いたい場合どうすればいいのかを解説します。和文書体と欧文書体では利用方法の勝手が違います。

和文書体の場合

【Step1】tfm ファイルと vf ファイル

TeX でフォントと言えば,tfm(TeX Font Metrics)ファイルです。通常 $TEXMF\fonts\tfm\ptex には,min10.tfm や goth10.tfm など pTeX で使用する和文用の tfm ファイルがインストールされています。一方 dvips(k) で細明朝など日本語を扱う場合,DVI を作る際に使用する和文 tfm に記述してある文字幅と,和文PSフォントの文字幅が異なるため,文字位置を調整する VF(Virtual Font)というファイルが必要になってきます。この VF ファイルを作るツールがアスキー提供の makejvf です。詳細は README.txt をご覧ください。以前にここでご紹介していた vftool よりも簡単に作れるようになりました。ここではPSプリンターに搭載されている太明朝(FutoMinA101-Bold)を例にその利用方法をご説明します。
まず適当なフォルダ,例えばCドライブの直下に sampleJTFM を作っておきます。そして $TEXMF\fonts\tfm\ptex にある min10.tfm と縦書き用の tmin10.tfm をそこにコピーします。
次に太明朝で必要とされる tfm と vf ファイルのバッチファイル jtfm.bat をエディターで作っておきます。

【jtfm.bat の記述例】

 copy min10.tfm fma10.tfm
 copy tmin10.tfm fmav10.tfm
 makejvf fma10.tfm fma
 makejvf fmav10.tfm fmav
【jtfm.batの実行】
  c:\sampleJTFM>jtfm
この実行によって,fma10.tfm,fma.tfm,fma10.vf,fmav10.tfm,fmav.tfm,fmav10.vf という6つのファイルが生成されます。
fma10.tfm と fmav10.tfm は $TEXMF\fonts\tfm\ptex に,fma.tfm と fmav.tfm は $TEXMF\fonts\tfm\dvips に,fma10.vf とfmav10.vf は $TEXMF\fonts\vf\ptex にコピーします。

PSプリンター側にモリサワでない和文書体,例えばフォントワークスのロダンシリーズの書体がインストールされている場合でも同様の作業でPSフォントが利用できるようになります。

【Step2】fdファイルと psfonts.map ファイル

Step1 ではPSフォントを利用する場合の tfm ファイルと vf ファイルを作成しましたが,ほかに関連付けの設定ファイルが必要になってきます。
まず太明朝の fd(font definition)ファイルというものをエディタで作りましょう。なお詳細は『LaTeXスタイル・マクロ ポケットリファレンス(技術評論社)』などをご参照ください。あるいはクラスファイルや文書ファイルのプリアンブルに記述します。

【JY1fma.fd の記述例】

  \ProvidesFile{JY1fma.fd}
  [1997/01/24 v1.3 KANJI font defines]
  \DeclareKanjiFamily{JY1}{fma}{}
  \DeclareFontShape{JY1}{fma}{m}{n}{<-> s * [0.961026]fma10}{}
【JT1fmav.fd の記述例】
  \ProvidesFile{JT1fmav.fd}
  [1997/01/24 v1.3 KANJI font defines]
  \DeclareKanjiFamily{JT1}{fmav}{}
  \DeclareFontShape{JT1}{fmav}{m}{n}{<-> s * [0.961026]fmav10}{}
これらの JY1fma.fd や JT1fmav.fd という fd ファイルは $TEXMF\ptex\platex\misc 下に入れておくといいでしょう。
なおクラスファイルや文書ファイルのプリアンブルに記述する場合は次のようにします。

【プリアンブルでの記述例】

  \DeclareKanjiFamily{JY1}{fma}{}
  \DeclareFontShape{JY1}{fma}{m}{n}{<-> s * [0.961026]fma10}{}
  \DeclareKanjiFamily{JT1}{fmav}{}
  \DeclareFontShape{JT1}{fmav}{m}{n}{<-> s * [0.961026]fmav10}{}
続いて $TEXMF\fonts\map\dvips\base にある psfonts.map に太明朝の記述を追加します。
    rml         Ryumin-Light-H
    rmlv        Ryumin-Light-V
    gbm         GothicBBB-Medium-H
    gbmv        GothicBBB-Medium-V
    % 追加
    fma         FutoMinA101-Bold-H
    fmav        FutoMinA101-Bold-V
または kanjituika.map というような別途 map ファイルを psfonts.map と同じフォルダ内に準備し,
    fma         FutoMinA101-Bold-H
    fmav        FutoMinA101-Bold-V
dvips の設定ファイル,$TEXMF\dvips\config 内の config.ps の先頭行に次のように記述するのがTeXの流儀のようです。
    p +kanjituika.map
これで準備完了です。あとは文書ファイルで記述し,dvi ファイルを作成後,ps 変換すればPSフォントが利用できるようになります。

【Step3】LaTeX2e 文書ファイルでの記述例(sample.tex)

\documentclass{jbook}
\usepackage[dvips]{graphicx,color}
\DeclareKanjiFamily{JY1}{fma}{}
\DeclareFontShape{JY1}{fma}{m}{n}{<-> s * [0.961026]fma10}{}
\DeclareKanjiFamily{JT1}{fmav}{}
\DeclareFontShape{JT1}{fmav}{m}{n}{<-> s * [0.961026]fmav10}{}
\begin{document}

\chapter{\LaTeXe による文書処理}
\color[named]{Magenta}
\section{PSフォントの利用方法}
\color[named]{Black}
\kanjifamily{fma}\selectfont
この文字は太明朝という書体です。以下の説明文は細明朝です。

\kanjifamily{rml}\selectfont
PSフォントは,PSプリンターに内蔵されています。使用できるフォントは
カタログや説明書に書いてありますので,それで確認してください。ちなみ
に私はOKI MICROLINE 903PSII+Fというプリンターを使っていますが,
欧文フォントは{\fontfamily{ptm}\selectfont Times-Roman}など35書体,
和文フォントは細明朝など5書体が入っています。
また内蔵されていないCM PSフォントやDTPで使われている一般的なPSフォント
もプリンターのハードディスクに簡単に追加インストールできるようになって
いますが,ここでは\LaTeXe でこれらのPSフォントを使いたい場合どうすれ
ばいいのかを解説します。欧文と和文では利用方法の勝手が違います。

\TeX と言えば数式。数式と言えば\TeX です。例えば,
\[
\colorbox[cmyk]{0,0.2,0,0}
{\parbox{0.98\linewidth}{
\[ \left( \int_0^\infty \frac{\sin x}{\sqrt{x}} dx \right)^2 =
\sum_{k=0}^\infty \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} =
\prod_{k=1}^\infty \frac{4k^2}{4k^2 - 1} = \frac{\pi}{2} \]
}}
\]
といった数式が簡単に書けます。またPostScript環境の\LaTeXe では,このように
PSフォントが利用でき,数式部分の領域をMagenta 20\%で囲むこともできます。
\end{document}

【Step4】dvi ファイルと psファイル

Step3 の sample.tex を実際処理してみましょう。sample.tex が sampleJTFM フォルダにあると仮定すれば,MS-DOSプロンプトで
  C:\sampleJTFM>platex sample
とすれば, sample.dvi という dvi ファイルが生成されます。画面プレビューしたいときには,dviout for Windowsを使いますが,DVIOUTプロパティの WinJFont タブで,fma10.tfm や fmav10.tfm を定義し,適当な TrueType フォントを割り当てておいてください。続いて,
  C:\sampleJTFM>dvipsk -Pdl sample
を実行すると,sample.ps という ps ファイルが作られ,そのままPSプリンターで出力できるようになります。GSview というソフトウェアを使えば,プレビューしたり,プリンターに出力できます。またpsファイルを作っておけば,PDF(Portable Document Format)形式への変換も簡単にできます。

欧文書体の場合

LaTeX2e では,Times や Helvetica など Adobe 製品が標準で利用できるようになっています。これら標準以外のものや一般的な欧文 Type 1フォントの利用の仕方については,外字の作成と利用方法のページをご参照ください。