5つの書体?
某氏からメールでご質問いただいたので、改めて書いておくことにする。
日本語のフォントを選ぶ際に、何が「標準的に用いられるセット」なのか? という問題は、実のところ、これが答です、というものが確立しているとは言い難い状態なのかもしれない。たとえば欧米の場合(少なくとも TeX / LaTeX の世界では)、まず:
- Serif (roman)
- Sans Serif
- Typewriter Type
- Medium(標準の太さ)
- Bold(いわゆる太字)
- Upright(標準の書体)
- Italic(いわゆるイタリック、イタリア風デザインの斜体)
- Slanted(Upright をそのまま斜体にしたもの)
- Small Caps(小文字が小さな大文字で表わされる書体)
ではどういう風に字体が決まるのか、というと、まずあるフォント……ここでは Palatino を例とする……を選ぶ。Palatino は Serif のフォントなので、このフォントを選ぶということは、Serif に Palatino を割り当てる、ということになる。そして、この Serif のフォントとして選ばれた Palatino には Medium と Bold、2つの series があって、それらには各々4つの shape がある。だから、あるフォントを選択する、ということは、ある family にそのフォントを割り当て、それに対応する合計8種のバリエーションが規定される、ということになる。
そして、個々の字体を表す際には、これらの情報がその名前に包含されていることが望ましいわけだが、これは Karl Berry によって命名規則(参考:日本語による解説)として体系化されている(正直、これを使いこなすようにはなれそうにないけれど)。
では、日本語の場合はどうなのか……これが、実のところ、どうもいい加減なのである。旧来の TeX / LaTeX では、まずフォントは「明朝」「ゴシック」の2 family のいずれかに割り当てられ、その下に Medium もしくは regular と Bold の 2 series がある。その下に shape も指定できるのだが、基本的に shape は1種類しか使わない。まあここまではいいのだが、旧来の日本語 LaTeX では \gt (ゴシック) と \bf(ボールド) は混同してもかまわない、ということになっていた。通常の記述と強調部とが表現できればいいんだし、こうしておけば、欧米文字の部分で bold で強調した部分が日本語でも強調されていいよね! という発想だったんだろうけれど、これはよくよく考えると、family と series が混同される「仕様」だったわけだ。じゃあなぜ \gt なんてものがあんねんな? と、TeX / LaTeX を使い始めた頃は不思議に思っていたのだが、要するに、日本語のフォントに関する初期の扱いはこの程度だった、ということなのだろう。
複数種のフォントの扱いが不可欠な出版の現場において、たとえば旧アスキーで日本語フォントがどのように扱われていたのか、ということに関しては、残念ながら僕は知らないし、そういうことが文書化されたものの存在も知らない。ひょっとしたら、『日本語LATEX2eブック』(中野 賢 著、アスキー、1996)などにそういう記述があるのかもしれないが、残念ながら今手元にない(古書で買おうかなあ)。ただひとつだけ言えるのは、UTF 改め OTF パッケージが使われるようになってから、「混同する仕様」が(僕からすると何の前触れもなかったように思えるのだが)さくっと変更されている、ということだ。
この件に関して、実はあまりいい感情を抱いていないことがある。それは、OTF パッケージと uptex / uplatex による多書体化というものが、いわゆる CJK 拡張と常に寄り添うようなかたちで進展してきたことである。いや、多書体化というものが、日本と同じく縦書きと横書きをする CJK 圏内に等しく恩恵を与え得る拡張であることは理解できるし、そのことがユーザ数の確保につながり、それが長期的・安定的なアプリケーションの存在位置の確保、そして将来の進展につながる、という効用も理解できる。しかし、さー日本語使いましょ、という人がいきなり、ハングルや簡体字、繁体字の、聞いたこともないようなフォントが列挙されたフォントマップと格闘しなければならない、というこの状況って、ちょっとおかしいんじゃありませんかねえ?
僕の場合のことを恥ずかしながら書くと、このフォントマップを見たことで、僕が OTF パッケージや uptex / uplatex を使い始めるのに若干の期間を要したのは事実である。で、ええい俺はそんなもの使わないんだ、日本語に関わらんものは全部消してしまえ! とやり始め、それをするにはどれが中国語のフォント、あるいは朝鮮語のフォントなのか分からなければならないということに気付いて、あ゛あ゛あ゛! と苛立ちながらも消していった結果、何となく分かったのは、たとえば OTF パッケージのフォントマップの場合、
(フォントメトリック)(文字コード)(family)(series)(縦横)となるように個々の字体が記述され、それに対して対応させるフォントを assign するようになっている、らしい……ということだった。しかし、これでは、実際に文章を書くときのフォント指定との間の関係が非常に掴みにくいし、そもそもどれだけの数のフォントを用意すればよいのかも分かりにくい。
いや、「他に何かいい方法あるなら書けやヴォケェ」とか怒られそうだけど、実際に僕もあまり良い方法を思いつかない。ただし、一エンドユーザとしては、こういう記述のひとつひとつよりも、実際に使う字体の数がどれだけで、それと何を対応させてフォントマップを書けば、実際に組版するときにそれらが「使える」のか、という方が遥かに重要だ、ということだけは、確信をもって言える。
では、僕が自分の頭の中でどういう風にそれを認識しているのか、というと、
- 基本的に字体は「明朝」と「ゴシック」に大別される。
- 各々の字体には「標準」「太字」があり、これに加えて「丸字」「細字」「極太字」が指定できる。
- rml → 明朝標準
- gbm→ゴシック標準
- hminb→明朝ボールド
- hgothb→ゴシックボールド
- hgotheb→ゴシック極太
- hmgothr→ゴシック丸字
- hminl→ 明朝細字
いや、僕が危惧しているのは、むしろ「余計なことはせずにこちらの御仕着せに黙って従っておけばいいんだ」というようなことを言う人が、日本の TeX のコミュニティに存在する(まあどこでもそういう人の一人位はいるものだろうけれどね)、ということである。かつて僕も、いかに ls-R データベースが有害か、というのを、W32TeX を普段使っているらしい人にきつくきつく御忠告いただいたことがあるのだけど、いやー、tetex や TeX Live を Linux や Mac OS X 上で使っていて、Windows 上での TeX / LaTeX 事情の方も少しは分かる僕としては、そんな議論は何の意味も持たなかった。はぁ。W32TeX では ls-R データベースは不要なのかもしれないけれど、TeX Live の場合はちゃんと生成しておかないとどうにもならないんだけど……しかし、何故 W32TeX が世界を全て覆っているかのような、こういう姿勢になってしまうのだろうか?(いや、W32TeX に関わるほとんどの人達はそんなこと言いやしないんだが) あーこの人はいわゆるタコにアホな質問をされ続けて、律儀に(愚直に?)もそれに答え続けているうちに「馬鹿は黙って俺らの整備したシステム使っとけや」的な境地に至ってしまったのかしらん……と、邪推すらしてしまったのだった。
こういう手合いに出る頭を叩かれ続けた人が、そのうち「TeX Live ではとりあえず黙って IPA フォント使っとかないと何言われるか分からないよー」とか言い出しかねない。これは誰にとっても何の益もない話である。誤解されると困るのではっきり書くけれど、僕は、システムが complicate になることが悪いと言っているのではない。complicate であるなりに、タコでも少々根気があれば手繰れる「蜘蛛の糸」を垂らしておいてあげるような配慮が、少しはされてもいいのではないか、と言っているのだ。
だから、僕は『TeX Live を使おう──Linux ユーザと Mac OS X ユーザのために──』の中では、誤解を恐れずに、日本語の字体の基本は、
- 明朝
- ゴシック
- 太明朝(明朝ボールド)
- 太ゴシック(ゴシックボールド)
- 丸ゴシック(ゴシック丸字)
- LaTeX の各種スタイルファイルで普通に組版したときに必要なフォントをまず列挙すべきだろう
- (埋め込みに関しては様々な意見・議論があるけれど)誰にツッコまれても埋め込みを行って問題ないフォントを確保できる字体を列挙すべきだろう