[[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 用語集>TeX/Keyword]] をご覧ください。 **フォントの集中管理 [#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 用に一式揃えて配布されているフォントだけを扱うことにします。 後で出てくる ( ) 内の語の意味は以下の通りです。 :vendor|フォントを作成したベンダ(メーカ)の名前。CTAN で配布されているものは一般に `public' を用います。他に、例えば [[Greek Font Society>TypeSetting/Font/GFS]] で配布されているものには `GFS' などを用いればよいでしょう。 :font|フォントの名前。わかりやすい英語名などを用います。 以下が、フォント関連のファイルの説明です。拡張子ごとの説明になっています。 :.afm|Adobe フォントメトリックファイル。$TEXMFLOCAL/fonts/afm/(vendor)/(font)/ 以下にインストールする。通常は必要ないが、ビットマップフォントが必要なときに用いられる。また、.afm から .tfm や .vpl ファイルを作ることができる。 :.enc|フォントエンコーディングファイル。$TEXMFLOCAL/fonts/enc/dvips/(vendor)/(font)/ 以下にインストールする。 :.map|フォント等の対応付けが書かれたファイル。$TEXMFLOCAL/fonts/map/dvips/(vendor)/(font)/ 以下にインストールする。 :.mf|METAFONT ソース。$TEXMFLOCAL/fonts/source/(vendor)/(font)/ 以下にインストールする。 :.tfm|TeX フォントメトリックファイル。フォントの大きさやカーニング、リガチャの情報が書かれている。$TEXMFLOCAL/fonts/tfm/(vendor)/(font)/ 以下にインストールする。 :.pfb|PostScript Type 1 バイナリファイル。$TEXMFLOCAL/fonts/type1/(vendor)/(font)/ 以下にインストールする。 :.vf|仮想フォントファイル。$TEXMFLOCAL/fonts/vf/(vendor)/(font)/ 以下にインストールする。 :.fd|Font Definition ファイル。$TEXMFLOCAL/tex/latex/ 以下にインストールする。 :.sty|スタイルファイル。$TEXMFLOCAL/tex/latex/ 以下にインストールする。 *フォントテーブル [#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 で実行してください。 -前述の通り ptetex3 のインストールパスを用いています。違う場合はスクリプトの頭の方にある TEXMFMAIN, TEXMFDIST, TEXMFLOCAL の値を変更してください。なお、texmf-local の使用を強くお勧めします。 -wget を使って /var/tmp/texfontswork に必要なファイルをダウンロードします。ダイヤルアップを使用している場合など、何らかの事情で何度かファイルをダウンロードするのを避けるためには、必要なファイルをダウンロードしておき、シェルスクリプトを実行する前に /var/tmp/texfontswork にコピーしてください。この場合、作業終了後に /var/tmp/texfontswork ディレクトリを消去しないことをお勧めします。 -ほとんどの場合、いくつかのフォントを一括してインストールすると思われますので、時間のかかる mktexlsr と updmap-sys のコマンドは省略しました。作業終了後に次のコマンドを(root で)実行するか、最後に実行するシェルスクリプトに対して以下の -lm オプションを指定してください。 # mktexlsr # updmap-sys -次のオプションを用意しています。 -- ''-d'' 作業用ディレクトリ(/var/tmp/texfontswork)をインストール終了後に削除([d]elete)する。 -- ''-l'' 作業終了後に mktex[l]sr を実行する。 -- ''-m'' 作業終了後に upd[m]ap-sys を実行する。 ***使用例 [#r02d86b7] # ./cbgreekinst.sh -ml cbgreek.sh を使って cbgreek フォントをインストールする。作業終了後に mktexlsr, updmap-sys を実行する。作業用ディレクトリは消去しない。 *フォントごとの解説 [#pc7458ca] #ls2(TeX/Font/,compact) **参考 [#o7d374bb] ***[[Greek Font Society>TypeSetting/Font/GFS]] [#qe2c6c2a] *参考文献 [#o91f08fc] -http://www2.tba.t-com.ne.jp/ing/ 稲垣さんによる Babel の使い方(p314babel.pdf)に詳細な解説があります。このページも p314babel.pdf を参考にさせて頂きました。