(前回の続き)
LaTeX サポートの作成
LaTeX サポートの要であるフォント定義ファイルの作り方については、「持ち込む話」で既に説明した。まずは、各フォントの対応先となる NFSS 属性値を決める必要がある。「M+ P Type-1」の場合、直立体のウェイトの異なる 7 つのフォントから構成されている。存在するウェイトを細→太の順に挙げると以下のようになる。*1
Thin(a), Light(l), Regular(r), Medium(m), Bold(b), Heavy(h), Black(c)
従って、シリーズ以外は「LY1/mplus1p/?/n」で固定で、シリーズ(「?」の部分)だけ異なることになる。シリーズの値として常用されるものを挙げる。(括弧なし→括弧一重→括弧二重の順で「よく使われる」)
(ul), (el), l, m, ((mb)), (sb), ((db)), b, eb, (ub)
この 2 つの属性値の対応を私は以下の方針で決めた。m は \mdseries
が用いるシリーズ値であり、すなわち「既定」のシリーズである。従って、フォントファミリの中で、最も普通のウェイトをシリーズ m に充てるべきである。「Regular」というウェイトがある場合はそれが「最も普通」としていいだろう。*2残りについて、「よく使われるもの」を優先して使うことにした。その結果は以下の通りである。
Thin(a) | Light(l) | Regular(r) | Medium(m) | Bold(b) | Heavy(h) | Black(c) |
el | l | m | sb | b | eb | ub |
これで「設定すべき内容」が確定したので、定義ファイルを作ることができる。
[ly1mplus1p.fd]
\DeclareFontFamily{LY1}{mplus1p}{} \DeclareFontShape{LY1}{mplus1p}{el}{n}{<->mplus1p-a-ly1}{} \DeclareFontShape{LY1}{mplus1p}{l}{n}{<->mplus1p-l-ly1}{} \DeclareFontShape{LY1}{mplus1p}{m}{n}{<->mplus1p-r-ly1}{} \DeclareFontShape{LY1}{mplus1p}{sb}{n}{<->mplus1p-m-ly1}{} \DeclareFontShape{LY1}{mplus1p}{b}{n}{<->mplus1p-b-ly1}{} \DeclareFontShape{LY1}{mplus1p}{eb}{n}{<->mplus1p-h-ly1}{} \DeclareFontShape{LY1}{mplus1p}{ub}{n}{<->mplus1p-c-ly1}{}
このファイルを $LOCAL/tex/latex/mplus1p/ に配置する。そして、実際に NFSS で LY1/mplus1p を指定する LaTeX 文書の組版を試してみる。
\documentclass{article} \usepackage[LY1,OT1]{fontenc} \begin{document} \newcommand*\sampleText{% サンプルテキストをマクロにした ``Macros are pass\'e --- they're so mid-20th-century.''} \fontencoding{LY1}\fontfamily{mplus1p} \fontseries{el}\selectfont \sampleText \par \fontseries{l}\selectfont \sampleText \par \fontseries{m}\selectfont \sampleText \par \fontseries{sb}\selectfont \sampleText \par \fontseries{b}\selectfont \sampleText \par \fontseries{eb}\selectfont \sampleText \par \fontseries{ub}\selectfont \sampleText \par \end{document}
これが正常に出力されれば、作業は無事完了である!