乙部氏の「書体拡張プロジェクト」のパッケージについての話の続き。
TeX Live で使うには
先述の通り、W32TeX においては「標準キット」をインストールするだけで当該のフォントが使用可能になるのだが、これは必要な dvipdfmx や pdfTeX 用のフォントマップの設定が W32TeX では予め行われているからである。従って、それ以外の TeX 配布(TeX Live 等)ではそのままでは使えない。といっても、「標準キット」自体も dviout 用の設定しか用意していないので、必要な設定を行うのは簡単ではない。
というわけで。
TeX Live の場合、インストール(ファイルの配置)を済ませた後、pdfTeX 用のマップファイルである pdftex-bxttnfss.map を updmap で有効化するとよい。
updmap --enable Map pdftex-bxttnfss.map (またはupdmap-sys)
エンコーディングのアレな件を何とかする
ところで、「書体拡張プロジェクト」というのは、以前に「dviout の欧文フォントの謎が解けた!」のシリーズ((1)(2)(3))で紹介した「TTNFSS パッケージ」と同じものである。そしてその記事では
TTNFSS では T1 エンコーディングの定義を自己流に改変しているため、「普通の T1」を前提とする他のパッケージと共存させると不具合が生じる
ということを主張し、また実際に不具合が起こる例を示した。ただし、これは飽くまで「他のパッケージ*1と併用した場合」でしかも「『自己流の T1』エンコーディングを用いた場合」*2に限ることに注意されたい。すなわち、大概の場合はこの点が原因の不具合は起こらない。
どうしても気になる人*3は BXttnfss バンドルに含まれる bxwinenc パッケージを利用すればよい。TTNFSS で「T1」エンコーディングを使う場合は通常は(TTNFSS に含まれる)winenc パッケージを読み込むことになるが、これの代わりに bxwinenc を読み込むと、TTNFSS の「自己流の T1」は T1 でなく WT1 という別のエンコーディング名で取り扱われ、これにより「衝突」による不具合が解消される。なお、timesnew 等の「既定フォントを設定するパッケージ」では既定で「自己流 T1」エンコーディングを使う設定であり内部で winenc を読み込んでいる((「OT1
」というパッケージオプションを指定すれば OT1 での使用となり winenc を読み込まない。ちなみに、tahoma 等の一部のパッケージでは肝心の winenc の読込を忘れているが、これはバグだと思う。))が、この場合はそのパッケージより前に bxwinenc を読み込めばよい。
\documentclass[a4paper]{jsarticle} \usepackage{arial} % 内部で winenc を読み込む \usepackage{textcomp} \newcommand*\superR{\textsuperscript{\textregistered}} % 上付き丸R \begin{document} \noindent\sffamily Arial: % Windows なフォント Microsoft\texttrademark 製の文書作成ソフトには、 Excel\superR、PowerPoint\superR 等があります。\par \noindent\fontfamily{lmss}\selectfont LM Sans: % 普通の TeX なフォント Microsoft\texttrademark 製の文書作成ソフトには、 Excel\superR、PowerPoint\superR 等があります。\par \end{document}
\documentclass[a4paper]{jsarticle} \usepackage{bxwinenc} % 先に bxwinenc を読み込んでおく \usepackage{arial} \usepackage{textcomp} \newcommand*\superR{\textsuperscript{\textregistered}} % 上付き丸R \begin{document} % 既定は「WT1」エンコーディングとなる \noindent\sffamily Arial: Microsoft\texttrademark 製の文書作成ソフトには、 Excel\superR、PowerPoint\superR 等があります。\par \noindent\fontencoding{T1}\fontfamily{lmss}\selectfont LM Sans: % T1 に切替 Microsoft\texttrademark 製の文書作成ソフトには、 Excel\superR、PowerPoint\superR 等があります。\par \end{document}
注意点として、bxwinenc を用いた場合、「WT1」が既定のエンコーディングとなるが、ここでは TTNFSS が提供する(Windows な)フォントファミリしか使えない。それ以外のファミリに切り替える場合には、エンコーディングを別の(T1 等)ものに変える必要がある。(上の例を参照。)
「エンコーディング」という概念がどうしても解らない、という人のために別の手段も用意されている。bxwinenc を「T1
」オプション付きで読み込むと(T1 が既定となるので)エンコーディングを気にする必要が無くなるが、その代わりに一部の記号*5が使えなくなる(警告が出て CM Roman で代替される)。どうしてもこれらの記号を使いたい場合は、\text...
を \WTT...
に変えた命令(\WTTtrademark
等)を使えば出力できる。
\documentclass[a4paper]{jsarticle} \usepackage[T1]{bxwinenc} % 先に bxwinenc を読み込んでおく \usepackage{arial} \usepackage{textcomp} \newcommand*\superR{\textsuperscript{\textregistered}} % 上付き丸R \newcommand*\WTTsuperR{\textsuperscript{\WTTregistered}} % \WTT なやつ \begin{document} \noindent\sffamily Arial: Microsoft\WTTtrademark 製の文書作成ソフトには、 Excel\WTTsuperR、PowerPoint\WTTsuperR 等があります。\par \noindent\fontfamily{lmss}\selectfont LM Sans: Microsoft\texttrademark 製の文書作成ソフトには、 Excel\superR、PowerPoint\superR 等があります。\par \end{document}
(出力結果は前の bxwinenc のものと同じ。全て正常である。)
*1:書体や記号の使用を拡張するパッケージが一番衝突しやすいと思うが、これ以外でも影響はありうる。なお、説明文書を読む限り、少なくとも、TTNFSS の作者(乙部氏)は他の書体拡張パッケージとの併用は想定していないのは確かである。
*2:OT1 での使用の場合は当該記事で示したような「衝突」は起こらない。ただし、後述の「winwnc パッケージの自動読込」についても注意が必要。
*4:該当するのは「通常は textcomp パッケージを必要とされる(が TTNFSS の『自己流 T1』では使用可能な)記号」である。
*5:該当するのは前に winenc で「化ける」とした記号。この設定では「本物の T1」が有効になっているから使えなくなる。