Computer Modern (AMSFonts) のファイル名と中身の対応表
$\LaTeX
で使われている Computer Modern (AMSFonts) のファイル名を見ても中身が分からない。開いて確かめた結果を記録する。
1 Introduction
動機: \tt
(Computer Modern 等幅) の太字や斜体はあるのだろうか?
aghtex は数式モードでは $\LaTeX
の既定のフォントである Computer Modern を主に使っている。特に TeX 環境に付属している AMSFonts (SIL Open Font License) [1] に含まれているものを Type 1 から Web fonts の形式に変換している。一方で、段落モードでは Computer Modern は使わずに OS のフォントを使う様にしている。
しかしやはり、段落モードでも特に \tt
については Computer Modern を使いたい気がする。しかし問題は Web fonts だと (Firefox でしか) font-synthesis が有効にならないこと *1。つまり、font-weight や font-style を指定しても太字や斜体にならない。これに対応する為には太字版や斜体版の Web fonts を一つ一つ用意しなければならない。そもそも Computer Modern (AMSFonts) に \tt
の太字版や斜体版はあるのだろうか。
Computer Modern (AMSFonts) のファイル名は謎
Computer Modern を確認する。
Computer Modern (AMSFonts) の実体は /usr/share/texmf/fonts/type1/public/amsfonts/cm
的な場所にある。ファイル名は
cm(略号)(数字).pfb
の形式をしている。(数字)の部分はそのフォントのポイント数、つまり、どのポイント数で印刷されることを想定しているかである
(Computer Modern では印刷する時の大きさに合わせて文字のバランスを微妙に変えている)。
一方で (略号) はそれぞれ何を意味しているのかすぐには分からない。
検索しても説明は見つからない。開いてみないと分からない。
結局 \tt
の太字版があるかどうか全て開いて確認する羽目になった。
二度と全部開いて確かめるということはしたくないのでここにまとめておく。
因みに cmextr
や cm-super
もファイル名だけ眺めてみたが、どれも cm
にあったのと同じの気がしたので中は確認しなかった。
$\LaTeX
のフォントの分類
$\LaTeX
の段落モードのフォントは family と series と shape の組み合わせで指定する。
- family には既定で
\rmfamily
(セリフ rm = roman),\sffamily
(サンセリフ sf = sans-serif),\ttfamily
(等幅 tt = typewriter text) がある。 - series には
\bfseries
(太字 bf = boldface),\mdseries
(普通 medium) がある。 - shape には
\upshape
(直立体 up = upright),\slshape
(斜体 sl = slanted),\itshape
(イタリック it = italic),\scshape
(small-caps) がある。
論理上は 3 x 2 x 4 = 24 の組み合わせがあることになるが、実際には全てに異なる字体が用意されている訳ではない。 何れにしても、この 3 x 2 x 4 に従って Computer Modern のファイルたちを並べてみたい。
ところで、書いていて「そういえば tt って何で tt なんだろう」と思ったけど、たぶん teletype のことの気がする。と思っていたら typewriter text っぽい。
2 対応表
どうも文章を書くと無駄な事を書き始めて良くない。完全に蛇足である。動機とか背景とか重要性とかを説明したくなる。というかですね、そもそも見た目が論文みたいである。今気づいたけれど、引用を [番号] にして下部にリスト表記したくなるのもそれだ。
2.1 rm 系のフォント
通常 | 太字 | |
---|---|---|
直立 | cmr , cmex |
cmb , cmbx |
斜体 | cmsl |
cmxsl |
イタリック | cmmi , cmti |
cmmib , cmxti |
Small-caps | cmcsc |
N/A |
- イタリックで
cmmi
は数式用でcmti
がテキスト用であろう。数式用の方が微妙に幅に余裕を持って設計されている。また数式用ではアルファベットのにがイタリックであるが、テキスト様では数字や記号も含めてイタリックになっている。 - 他に
cmdunh
という縦長の字形の入ったフォントファイルがあった。 - また、
cmu
は字形はイタリックだが直立したものである。
2.2 tt 系のフォント
tt 系のフォントには太字は用意されていない様子である。
通常 | 太字 | |
---|---|---|
直立 | cmtt , cmtex |
N/A |
斜体 | cmsltt |
N/A |
イタリック | cmitt |
N/A |
Small-caps | cmtcsc |
N/A |
他に cmvtt
というファイルがあって開いてみると横長の tt
に見える。v という名前から推測するに縦書き用だろうか?
2.3 sf 系のフォント
sf 系のフォントは余り用意されていない。
通常 | 太字 | 極太 | |
---|---|---|---|
直立 | cmss |
cmssdc |
cmssbx |
斜体 | cmssi |
N/A | N/A |
イタリック | N/A | N/A | N/A |
Small-caps | N/A | N/A | N/A |
他に cmssq
及び cmssqi
というのがあって、これらはそれぞれ cmss
及び cmssi
の丸ゴシック的変種に見える。
2.4 cmf?
cmf? という系列があった。微妙に手書きっぽいが serif っぽくもある変な字体である。
通常 | 太字 | |
---|---|---|
直立 | cmff |
cmfib |
斜体 | cmfi |
N/A |
2.5 mathcal
cmsy
及び cmbsy
(太字) は mathcal 及びその太字である。
通常 | 太字 | |
---|---|---|
直立 | cmsy |
cmbsy |
3 最後に
結論: \tt
の太字はない。斜体やイタリックはある。
フォントファイルを開いて中を確認しただけでそれっぽい記事が出来上がって自分でも驚いている。 研究もこんな感じに文章を書くだけでできたらいいんだけれど。研究はファイルを開くのとは違って簡単じゃない。
余談: Variable フォント
この記事のために調べていたら variable フォントというものがあるらしい。凄い。style や weight 毎に何個ものフォントファイルがあるのは不毛だと思っていたが、parametrized されたフォントの仕様があるのだ。macOS も Windows も freetype も既に対応しているらしい?
- [2] Variable フォントガイド - CSS: カスケーディングスタイルシート | MDN
- [3] Variable Fontを試して使おう!Font Playground - bagelee(ベーグリー)
- [4] The Typekit Blog | バリアブルフォント – 柔軟なデザインを可能にする新しい種類のフォント
余談: Computer Modern Unicode
以下のページから Computer Modern の Typewriter Text の Bold や Bold Italic がダウンロードできる。 しかしライセンス的にどうだろう。"Free for commercial use" と書いてあるけれど本当だろうか。このサイト自体が怪しい。
追記: 以上でダウンロードできるのは cm-unicode (Computer Modern Unicode; CMU) というプロジェクト [6] のファイルの様だ。 正式リリース 0.6.3 のライセンスは X11 License で、開発版 0.7.0 (2009年を最後に止まっている) のライセンスは SIL Open Font License (OFL) だそうだ。 開発版は SourceForge のサイト [7] からダウンロードできる。
- [6] Computer Modern Unicode fonts
- [7] Computer Modern Unicode fonts - Browse /cm-unicode at SourceForge.net
*1:最近確かめていないので、もしかすると最近は他のブラウザもできるようになっているかもしれない。