[[TeX]] *TeX におけるフォント [#o445d482] 欧米系の人文学研究では様々な言語を扱うことになり、さらにはフォントにもこだわりたいときがあります。LaTeX2e に標準で添付されているフォントの使い方については様々な解説書に載っていますから、ここでは省略します。ここで扱うのは、ギリシア語フォントなどの非ローマ字フォント、標準配布に含まれていない(欧文)フォントのインストール方法です。和文フォントについては割愛します。 以下では LaTeX のシステムは、teTeX 3.0 の例で説明します。特に Unix(Linux や Mac OS X を含む)に [土村さん|http://tutimura.ath.cx/] の ptetex3 でインストールされたシステムを標準とします(後のシェルスクリプトもこれに基づいています)。他の場合は適宜読みかえてください。なお、なるべく -$TEXMF (/usr/local/teTeX/share/texmf) -$TEXMFLOCAL (/usr/local/teTeX/share/texmf-local) という表記を使うようにしています。( ) 内は ptetex3 のデフォルトです。 *準備 [#ue2375df] **多重 TEXMF ツリー [#eb42bc4c] [[TeX 用語集|TeXKeywords]] をご覧ください。 **フォントの集中管理 [#x8691b6d] 以前は dvips, dvipdfm 用の .map ファイルを追加した場合、config.ps や dvipdfmx.cfg に記述を手動で追加する必要があり、面倒臭く、間違いの多く発生する作業でした。teTeX 3.0 では自動化されました。 まず、必要な .map ファイルをしかるべき場所に置いた後、mktexlsr を実行して .map ファイルがある場所を教えます。そのあとで updmap-sys コマンドを実行して .map ファイルを登録します((updmap というコマンドは「個人用」コマンドですので、システムの更新の際には updmap-sys コマンドを用いましょう。))。 # mktexlsr # updmap-sys --enable Map=hoge.map なお、updmap(-sys) を実行すると、.map ファイルを再生成するので、時間がかかります。複数の .map ファイルを登録する場合は、--nomkmap オプションをつけて .map ファイルを生成しないようにしておくと時間が節約できます。 # updmap-sys --nomkmap --enable Map=hoge1.map # updmap-sys --nomkmap --enable Map=hoge2.map 最終的には生成しなければなりませんので、最後の .map には --nomkmap をつけないで実行するか、別に updmap-sys コマンドを実行します。 # updmap-sys --enable Map=hoge3.map または # updmap-sys --nomkmap --enable Map=hoge3.map # updmap-sys フォントの集中管理については次の URL を参考にしてください。 -http://tutimura.ath.cx/ptetex/?%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%BD%B8%C3%E6%B4%C9%CD%FD **フォントの配布 [#af6b6392] Knuth 教授が開発した METAFONT 形式で配布されていれば TeX との親和性は抜群ですが、PostScript で書かれた Type 1 フォント(.pfb)や TrueType フォント(.ttf)、Open Type フォント(.otf)も(必要な変換作業などを施せば)使用可能になります。フォントの変換だけで膨大な解説が必要ですから、ここでは TeX 用に一式揃えて配布されているフォントだけを扱うことにします。 フォント関連のファイルには次のようなものがあります。なお、「…以下にインストールする」とはいってもその直下にインストールしてしまうと混乱してしまいますので、それぞれ「cbgreek」などのディレクトリを作った上でインストールしましょう。なお、コピーの際には root 権限が必要なことが多いでしょう。 :.mf:METAFONT ソース。$TEXMFLOCAL/fonts/source 以下にインストールする。 :.afm:Adobe フォントメトリックファイル。通常は必要ないが、ビットマップフォントが必要なときに用いられる。また、.afm から .tfm や .vpl ファイルを作ることができる。 :.enc:フォントエンコーディングファイル。$TEXMFLOCAL/fonts/enc/dvips 以下にインストールする。 :.sty:スタイルファイル。$TEXMFLOCAL/tex/latex 以下にインストールする。 :.fd:Font Definition ファイル。$TEXMFLOCAL/tex/latex 以下にインストールする。 :.tfm:TeX フォントメトリックファイル。フォントの大きさやカーニング、リガチャの情報が書かれている。$TEXMFLOCAL/fonts/tfm 以下にインストールする。 :.pfb:PostScript Type 1 バイナリファイル。$TEXMFLOCAL/fonts/type1 以下にインストールする。 :.vf:仮想フォントファイル。$TEXMFLOCAL/fonts/vf 以下にインストールする。 :.map:フォント等の対応付けが書かれたファイル。$TEXMFLOCAL/map/dvips 以下にインストールする。 *フォントテーブル [#i112bd94] 書体見本を取り出したいときには $ tex testfont を実行して、指示にしたがってフォント名を入力します。そのあと ¥table ¥end を入力すれば testfont.dvi というフォントテーブルが取り出せます。これをそのまま見るか、dvipdfmx で PDF にして見るとよいでしょう。なお、途中でエラーを出すことがあります。2回ほど試してみるとうまくいくことがあります。 TeX で標準的な METAFONT だけでなく、PostScript(Type 1)フォントでも使えます。詳しくは -http://oku.edu.mie-u.ac.jp/‾okumura/texwiki/?testfont -http://oku.edu.mie-u.ac.jp/‾okumura/texfaq/qa/38009.html を参照してください。 *シェルスクリプト [#r67360c9] フォント関連のファイルは一つのパッケージだけでも大量になってしまうので、作業を自動化するシェルスクリプトを作ってみました(下のそれぞれのページにリンクがあります)。wget, unzip, gunzip くらいが使えれば大丈夫です。なお、手抜きのシェルスクリプトですので、それぞれの環境に合わせて書き直してお使いください。なお、これらのシェルスクリプトは完全に無保証です。使ったことによって損害を被っても保証できませんのでご注意ください。 **シェルスクリプト使用上の注意 [#n30562e0] 「必要なファイルをインターネット上から取得して展開、パーミッションを直してしかるべき場所にコピー、最後に .map ファイルを更新する」という作業を記述しただけの手抜きスクリプトです。以下の点に注意してください。 *root で実行してください。 [#x26401c5] *(2006/08/17変更)ほとんどの場合、いくつかのフォントを一括してインストールすると思われますので、時間のかかる mktexlsr と updmap-sys のコマンドは省略しました。作業終了後に次のコマンドを(root で)必ず実行してください。 [#e321725a] # mktexlsr # updmap-sys *前述の通り ptetex3 のインストールパスを用いています。違う場合はスクリプトの頭の方にある TEXMFMAIN, TEXMFDIST, TEXMFLOCAL の値を変更してください。なお、texmf-local の使用を強くお勧めします。 [#hcc8b3f6] */var/tmp/texfontswork というディレクトリが作成されます。作業終了後に root 権限で次のようにして消してください。 [#y76c60d4] # cd /var/tmp # rm -rf texfontswork なお、それぞれのスクリプトの終わりに #rm -rf $WORKDIR という記述があるので、その行頭の # を消した上でスクリプトを実行すると、作業終了時に自動的にディレクトリが消されます。 *wget を使って /var/tmp/texfontswork に必要なファイルをダウンロードします。ダイヤルアップを使用している場合など、何らかの事情で何度かファイルをダウンロードするのを避けるためには、必要なファイルをダウンロードしておき、シェルスクリプトを実行する前に /var/tmp/texfontswork にコピーしてください。 [#s863cbf2] *フォントごとの解説 [#pc7458ca] **[[cm-super]] [#cc1c07b4] **[[cbgreek]] [#o6a99ef0] **[[archaic]] [#q8ca42c6] **[[GFSPorson]] [#k4e21688] **[[GFSBodoni]] [#mc43a49b] **[[GFSNeoHellenic]] [#o3495e86] *参考文献 [#o91f08fc] *http://www2.tba.t-com.ne.jp/ing/ [#q6abcaa2] 稲垣さんによる Babel の使い方(p314babel.pdf)に詳細な解説があります。このページも p314babel.pdf を参考にさせて頂きました。