美文書第 5 版の 360 ページ(I.3 節)で type1ec パッケージが紹介されているが、そこの読込例に 10pt
というオプションが付けられている。
\usepackage[10pt]{type1ec}
しかし、このオプションは最近の環境では不要なことがほとんどである。これについて解説する。
type1ec パッケージの目的と使い方
名前から想像できるように、type1ec パッケージ*1は type1cm の「EC フォント版」で、EC フォント(T1 エンコーディングの CM フォント)を任意のサイズで使うためのもので、通例 Type1 版フォントを使う場合に用いられる。*2例えば、EC フォントを 15pt で使おうとして
\usefont{T1}{cmr}{m}{n}\fontsize{15}{20}\selectfont
としても、既定の状態では 14.4pt に「調整」されてしまうが、
\usepackage{type1ec}
として type1ec を読み込んでおくと、「14.4pt のフォント(ecrm1440 *3)」を拡大して 15pt で使うようになる。CB フォント(CM フォントに対応する LGR エンコーディングのフォント)もフォント定義において EC フォントと同じ機構を利用しているので全く同様の挙動を示し、任意のサイズで使えるようにするには type1ec パッケージが必要である。
10pt
オプションの動作
type1ec パッケージには 10pt
というオプションが存在する。これは「拡大の元として 10pt のフォントのみを用いる」という設定を表す。すなわち、上述の例で type1ec に 10pt
オプションを追加すると「10pt のフォント(ecrm1000)」を拡大して 15pt で使うようになる。一般的には、これは 10pt
無指定の場合に比べて品質が劣る。
10pt
オプションが存在する理由
このようなオプションが用意されている理由は「ディスク容量の節約」である。CM-Super も CB フォントも大量の Type1 フォントから構成されていて全ての容量を合わせると数十 MB になり、一昔前の感覚では「巨大」と考えられていた。ここで、type1ec に 10pt
オプションをつけると、Type1 フォントファイルは 10pt のものしか要らなくなるので必要な容量が数分の一に減る――これが 10pt
オプションの目的である。特に CB フォントについては、CTAN に「10pt のフォントだけを集めた縮小版」が用意されていた。
しかし、現代の感覚では数十 MB というのは巨大でも何でもなく、CM-Super や CB フォントの Type1 版を「縮小版」でインストールする理由はない。数 GB の容量の TeX Live には当然これらの Type1 フォントは完全な形で含まれているし、今では CTAN の CB フォントも「完全版」しか存在しない。だから、最近の環境では、CM-Super や CB フォントは完全な形でインストールされていること*4がほとんどであろう。そういう環境では type1ec の 10pt
オプションは全く無用なのである。*5
確認のため繰り返すと:type1ec パッケージの 10pt
オプションが必要なのは、CM-Super や Type1 版 CB フォントについて「10pt のフォントファイルのみをインストールしている」人に限られる。TeX Live を完全インストールしている人は不要である。
10pt
オプションの罠
LaTeX の仕様として「文書クラスに与えたオプションは全てのパッケージで暗黙的に渡される」というものがあり、ドライバ指定(dvips 等)のオプションで稀に用いられる。ところで、大抵の文書クラスには基底フォントサイズの指定として「10pt
」があるが、これを指定した状態で type1ec を読み込むと、意図せずに type1ec の 10pt
オプションが有効になってしまう。
\documentclass[a4paper,10pt]{article} \usepackage[T1]{fontenc} \usepackage{type1ec} % 10pt オプションが有効になる %…(略)…
これを根本的に解決するのは容易ではないが、幸いなことに、ほとんどの文書クラスでは 10pt
は既定値なので、単にそれを省略することで問題を避けることができる。
*1:「付録」に記されているように、このパッケージは CM-Super バンドルに含まれる。
*2:Type1 版のフリーの EC フォントの集まりが CM-Super バンドルである。type1cm も type1ec も目的は「任意のサイズで使う」であり、実際には Type1 版を使うかどうかは関係が無い。
*3:これは TFM の名前。これに対応する CM-Super の Type1 フォントのファイル名は sfrm1440.pfb である(先頭の ec- が sf- に置き換わる)。
*4:これを確認するには、kpsewhich で「sfrm1200.pfb」(CM-Super)と「grmn1200.pfb」(EC フォント)が存在するかを調べればよい。
*5:ちなみに、前のページの updmap の例で使われている「cbgreek-full.map」というのは CB フォント Type1 版用のマップファイルであるが、このファイル名に「full」と付いているのはこれが「完全版」であったことの名残である。