golden-luckyの日記

ツイッターより長くなるやつ

TeXのフォントまわりについては、以下の3点が意識して語られるといいなと思う。

  1. TeXのフォント環境の理解は難しい。なぜなら、フォントに関する深い知見はもちろん、今となっては古臭いTeXディレクトリに関する知識も必要だから
  2. 今となってはどうしようもない古臭い設計を、TeX Liveが現代的なインターフェースでラップしてくれているので、ぼくらは古臭いTeXの知識がなくても日本語PDFが作れる
  3. 古臭い設計を捨て、現代的なOSのフォント環境で動かすことを前提に開発されている新しいTeXもある(LuaTeXやXeTeX)

1については、特効薬がない。TeX Wikiに書いてある部分もあるけど、たとえばTEXMFLOCALが何かとかを知るには、まずKpathseaについて知る必要がある。つまり、texdoc Kpathsea とかする。Webブラウザで見るなら Kpathsea: A library for path searching にある。これを読むと、TeXディレクトリ構成、すなわち、TeXの実行に必要なファイルの配置場所、そこにPATH的なものを通す方法などがわかる。PATH的なものが通っている場所から必要なファイルの存在を確認するためのコマンド kpsewhich についてもわかる。TeXはあくまでもこのKpathsea経由でファイルを探すので、Kpathseaについて知らないとTeX関連の環境整備は何もできない。しかし、Kpathseaのマニュアルを読んでも、最初は何が書いてあるのかさっぱりわからないんだ。とくにフォントは、さまざまなツールで扱いが異なるし、フォントの種類によっても扱いが異なる。そもそも、フォントの実体ファイルをKpathseaから見えるようにしただけでは、TeX組版で使うことはできない。だから、Kpathseaのマニュアルは、折にふれ何度も眺めることになる。というわけで、1については、特効薬がない。

それでも日本語のPDFをぼくらがTeXで作れてしまうのは、TeX Liveのおかげである。もちろん、だからといってTeX Liveが完璧なツールというわけでもないけど、TeXでフォントがどう扱われるかを完璧に知らなくても済むというだけで、だいぶありがたい。かつてAppleのOS上のTeXで利用することが流行し、現在ではAppleによって古いTeXから見にいくのが困難な状態にされてしまったヒラギノを引き続きmacOSで使えるようにするパッチも、TeX Liveの本体とは別に毎度作られている。いろいろな事情や思惑があって大々的には配布されていないようだけど、OSSなので、プロプラなシステムに対応するためのパッチをどういう形で公開するかに文句はいえないと思う。

で、3です。いつまでも古臭い設計を引きずるのはいやだという勢力があって、そういう方向での進化も続いている。具体的にはLuaTeXやXeTeXというプロジェクトで、これらはTeXの旧来のフォント利用方法ではなくシステムフォントを使うことを前提にして開発されている。これらで日本語を問題なく使えるようにするプロジェクトも進んでいて、ある意味ではすでに十分実用的になっている。もちろん後方互換性は気にしないで開発されているので、匿名の誰かがTeX Wikiにまとめた情報だけで今までと同じように使い始められるようなものでもないけれど、「macOSでどうしてもシステムフォントをTeXで使いたい」という目的には、むしろそっちの道を模索して開発に貢献する道のほうが適切なのではないかなと最近では考えている。