◆ さあ、始めよう pLaTeX2e Blog のページ New!
■ Section 6 ■ PostScript フォントの利用について :
Section 1 で提供した
Ghostscript と GSview
がインストールされている環境のもとでは、最新の
pLaTeX2ε
( 例えば、参考文献で述べる 奥村 著 『 [改定版] LaTeX2ε 美文書作成
入門 』 に添付の CD-ROM ) により、普通のインクジェット・プリンタに
おいても
PostScript のフォントの利用が可能
になっています。
これから、
このような環境のもとでの具体的な PostScript のフォントの利用
について説明をしていきたいと思います。
第 (1) 項 PostScript フォントの利用
第 (2) 項 文書の途中での PostScript フォントの 変換
第 (3) 項 フォントの属性について
第 (4) 項 FD ファイルの書き換えについて
▲ To Contents
(1)
PostScript フォントの利用 :
pLaTeX2ε では、
NFSS2
に基づいて PostScript フォントを取り扱うことができるように、
PSNFSS
と呼ばれるパッケージが提供されています。
この中でも、特に利用が多い Times フォントを使用するときには、
PSNFSS 内の times パッケージ の
times.sty を次のように読み込みます :
\documentclass{jarticle} \usepackage{times} \pagestyle{plain}これは、実際には pLaTeX2ε でのデフォルトフォントを、次のように Times フォント に置き換えていることになっています :
\renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr}この三行の意味を説明しましょう。 ここで、 CM を Computer Modern の省略形 として用いることにします :
\documentclass{jarticle} \usepackage{times} \pagestyle{plain} \begin{document} %%% Times Roman Font %%% \textrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890}\\ %%% Times Helvetica Font %%% \textsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890}\\ %%% Times Courier Font %%% \texttt{ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890}\\ \end{document}( 注意として、上での \textrm は省略 できます。)
★ ここで、実際に Times フォントの出力例 をごらんください : CMR and Times Roman 、 Courier and Helvetica
しかしながら、これには 一つの問題 が あります。 それは、このようにすると TeX 文書全体に times.sty が適用 されて Times フォントの利用が可能になるわけですが、 途中からデフォルトである Computer Modern フォント に切り替えて利用したいときには、 少々戸惑いを感じることがあります。
(2)
文書の途中での PostScript フォントの変換 :
まず、はじめにデフォルトである Computer Modern フォントを使用中に、
Times フォントに切り替えて利用したいときには、次の四行を文書の途中に
書き込めば利用が可能になります。
\renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr} \normalfontここで、四行目の \normalfont は、 上の三行で定義されたフォント (ptm, phv, pcr) を標準フォントにすることを 宣言するコマンドなので書くことを忘れないように注意してください。
\renewcommand{\rmdefault}{cmr} % CM Roman % \normalfontここでも、\normalfont を書くことを 忘れないように注意してください。
\renewcommand{\sfdefault}{cmss} % CM Sans Serif % \normalfont \renewcommand{\ttdefault}{cmtt} % CM Typewriter Type % \normalfont次に、はじめから times パッケージ の times.sty が読み込まれているときです。
\renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr}したがって、上で説明してあるように CM Roman 、CM Sans Serif および CM Typewriter Type フォントに戻すには (ptm, phv, pcr) をそれぞれ (cmr, cmss, cmtt) に書き換えれば良い ことになります。 たとえば、次のようにです :
\renewcommand{\rmdefault}{cmr} % CM Roman % \normalfontこのときにも、\normalfont を書くことを 忘れないように注意してください。
以上での解説は少し難しく感じられるかも知れませんが、
実際に行っていることは次の項で説明するように、
フォントの属性を変更
していることに他なりません。
パッケージ | \rmdefault | \sfdefault | \ttdefault |
avant.sty | cmr | pag | cmtt |
bookman.sty | pbk | pag | pcr |
helvet.sty | cmr | phv | cmtt |
newcent.sty | pnc | pag | pcr |
palatino.sty | ppl | phv | pcr |
times.sty | ptm | phv | pcr |
フォントの属性
が充分に理解できてから、エディタで
times.sty
などのスタイルファイルを開いてみて記述を解読すれば、
ここで述べたきた事柄の理解が一層に深まるはずです。
(3)
フォントの属性について :
属性は基本的に、
次の 5 種類から成立しています。
属性 | パラメータ | デフォルトの値 |
エンコード | \encodedefault | OT1 |
ファミリー | \familydefault | \rmdefault |
シリーズ | \seriesdefault | m |
シェープ | \shapedefault | n |
サイズ | なし | クラスファイルで定義 |
このフォントの属性をどのように利用するのか、ひとつの例として 第(2)項 で扱った times.sty でみてみましょう :
- NFSS によるエンコードには、テキスト用で デフォルトの値 OT1 ( Knuth 教授が定義した 文書用のフォントエンコード ) と OT2 、 拡張テキスト用の T1 、 数式用イタリックの OML 、 数学記号の OMS 、 拡張数学記号の OMX 、 その他の U と L?? の 6 種類があります。
さらに、NFSS による和文用のエンコードには、 縦組み用の JT1 と、 横組み用の JY1 の 2 種類があります。- CM (Computer Modern) フォントのうち、 テキスト用のファミリーは デフォルトの値 cmr (ローマン体 \rmdefault) と cmss (サンセリフ体 \sfdefault)、 cmtt (タイプライタ体 \ttdefault) の 3 種類です。
PSNFSS のパツケージには、 上の 第(1)項 で紹介した PostScript フォントのテキストファミリーの ptm (Times Roman Font)、 phv (Times Helvetica Font)、 pcr (Times Courier Font) などがあります。
数学記号のファミリーには cmm (数式イタリック)、 cmsy (数学記号)、 cmex (拡張数学記号) が用意されています。
和文用のテキストファミリーは mc (明朝体) と gt (ゴジック体) の 2 種類です。- シリーズとは文字を描く線の太さ(weight) および、文字の幅(width)を表す属性であり、 デフォルトの値 ミディアムシリーズ m (\mddefault) と ボールドシリーズ bx (\bfdefault) の 2 つの 系統が用意されています。
- シェープとは、文字の姿形の変化のことを表す 属性であり、 デフォルトの値 アップライト n (\updefault) と イタリック it (\itdefault)、 スラント sl (\sldefault)、 スモールキャピタル sc (\scdefault) の 4 つの系統が用意されています。
- サイズとは文字の大きさのことです。 クラスファイルで定義されており、基本文字サイズ (\normalsize) として 10pt、11pt、12pt の選択により、本文で利用される文字のサイズは 変化します。 さらに、文書の途中でのサイズ変更には \small、 \large、 \Large などの命令を使用していきます。
\renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr}これは、次のようなフォントのファミリー変換を行なっていることに ほかなりません :
第一行目 = デフォルトの値 cmr (ローマン体 \rmdefault)を、 ptm (Times Roman Font) へ置き換える。
第二行目 = デフォルトの値 cmss (サンセリフ体 \sfdefault)を、 phv (Times Helvetica Font) へ置き換える。
第三行目 = デフォルトの値 cmtt (タイプライタ体 \ttdefault)を、 pcr (Times Courier Font) へ置き換える。
(4)
FD ファイルの書き換えについて :
第(3)項で見たフォントの属性により、
pLaTeX2ε では TeX 文書をコンパイル
する時に要求されたフォントのエンコードとファミリーを組み合わせた
フォントの定義ファイルであり拡張子が fd である
FD ファイルを読み込みます。
例えば、欧文の基本フォントである
cmr ファイルに対しては
ot1cmr.fd ファイルを、
cmss ファイルに対しては
ot1cmss.fd ファイルを、
cmtt ファイルに対しては
ot1cmtt.fd ファイルをという具合にです。
さらに、和文の基本フォントには、
和文用のエンコードの
縦組み用の JT1 と
横組み用の JY1 の 2 種類および、
和文用のテキストファミリーの
mc (明朝体) と
gt (ゴジック体) の 2 種類からできる
jt1gt.fd 、
jt1mc.fd 、
jy1gt.fd 、
jy1mc.fd の合計 4 種類の FD ファイルが
あります。
さて、この FD ファイルの特性を理解することは非常に重要なことなのです。
このことを、わかっていただくために
一つの応用例 を述べてみましょう :
日本語と英語が入っている
横組み用
の少し長い TeX 文書をコンパイルすると、おびただしい
数の LaTeX Font Warning が出てきます。
そして、その様子は Log ファイルに記録されていて、後からでも
エディタで読み返すことができます。 例として、
LaTeX Font Warning: Font shape `JY1/mc/m/sl' undefined (Font) using `JY1/mc/m/n' instead on input line 28.の意味は以下のようです :
文書ファイルの 28 行目で使用する jy1mc.fd ファイルには、シリーズ m の、 シェープ sl での組み合わせの定義がないので、 jy1mc.fd ファイルの、 シリーズ m の、 シェープ n での組み合わせの定義を用いる。実は、この意味が理解できたならば上記の LaTeX Font Warning が、以後現れないようにするには jy1mc.fd ファイル内に、エディタで次の四行を書き加えれ良いことがわかるはずです。
\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min <10.95><12><14.4><17.28><20.74><24.88> min10 <-> min10 }{}ここでの、コマンドおよび記号については 参考 文献 の 中野 著 : 『 日本語 LaTeX2εブック 』 の第 3 章 または 乙部 ・ 江口 共著 : 『 Vol.2 Extended Kit 』 の Chapter 7 を参考にしてください。
LaTeX Font Warning: Font shape `JT1/mc/m/sl' undefined (Font) using `JT1/mc/m/n' instead on input line 28.次のように jt1mc.fd に書き込めばよいでしょう :
\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin <10.95><12><14.4><17.28><20.74><24.88> tmin10 <-> tmin10 }{}わかりましたか? では、ここで考えてみてください :
LaTeX Font Warning: Font shape `JY1/mc/bx/sl' undefined (Font) using `JY1/mc/bx/n' instead on input line 28. LaTeX Font Warning: Font shape `JT1/mc/bx/sl' undefined (Font) using `JT1/mc/bx/n' instead on input line 28.
\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth <10.95><12><14.4><17.28><20.74><24.88> goth10 <-> goth10 }{}そして、jt1mc.fd ファイルには次のように書き込む :
\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth <10.95><12><14.4><17.28><20.74><24.88> tgoth10 <-> tgoth10 }{}これで 良いようですが 日本語フォントでは、 従属書体の欧文フォントとの関連もあり、明朝体とゴジック体は お互いに密接に組み合わさっています。
\DeclareFontShape{JY1}{gt}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth <10.95><12><14.4><17.28><20.74><24.88> goth10 <-> goth10 }{}さらに、jt1gt.fd ファイルにも次のように 書き込むのです :
\DeclareFontShape{JT1}{gt}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth <10.95><12><14.4><17.28><20.74><24.88> tgoth10 <-> tgoth10 }{}いかがでしたか?
『 表示される理由については、 「 日本語 LaTeX2εブック 」 の 55 ページで説明しています。 対処方法 については、具体的には説明していませんが、お送りくださったように するので正解です。 』その後、 パッケージ・スタイルファイル の jtygm.sty を作って自分自身で利用しています。( j は 日本語、 t は縦、 y は横、 g はゴジック、 m は明朝からきています。)
そして、中野さんからの助言として
『 気付いたことは、 \DeclareFontShape コマンドの部分を集めて、パッケージに したほうが便利かもしれない、ということです。 』
このスタイルファイル jtygm.sty を、
この機会に公開することにします :
■■
jtygm.lzh ■■
(700 バイト)
のファイルを展開すると、
jtygm.sty(5,098 バイト; 1998/06/12)
なるファイルができます。
\documentclass{jarticle} \pagestyle{empty} \begin{document} これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。\\ \textit{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。}\\ \textsl{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。}\\ \textsc{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。} \end{document}すると Log ファイルの jtytest.log には日本語基本 FD ファイルに関しての LaTeX Font Warning が 18 個、 LaTeX Font Info: Font shape は 2 個 確認できるはずです。
\documentclass{jarticle} \usepackage{jtygm} \pagestyle{empty} \begin{document} これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。\\ \textit{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。}\\ \textsl{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。}\\ \textsc{これは、\textbf{jtygm.sty}の \textgt{テスト・ファイル}です。} \end{document}この時には、もう日本語基本 FD ファイルに関する LaTeX Font Warning も LaTeX Font Info: Font shape も、 まったく現れないのがわかるはずです。
さらに、フォントの属性 がわかれば、
上で述べた以外のフォントの FD ファイルについても
LaTeX Font Warning
を制御するための、ファイルへの書き込みが可能であることが
充分に理解できることでしょう。
ここで述べてきた実例を通して、フォントの
属性の重要性 が理解していただけ
たら何よりだと思っています。
Section 6 △ | ▲ Contents |
---|