ZXjafont パッケージ

ZXjafont は pLaTeX において一般的なフォント設定を XeLaTeX において簡単に行うためのパッケージである。
変更履歴

概要

pLaTeX においては、和文のフォント設定は文書の「外」 で行われるのが通例であった。 (文書中では常に rml(リュウミン)を指定しておいて、 DVI ウェアの設定で rml を別のフォント(例えばヒラギノ明朝)で代替する。) それに対して XeLaTeX + fontspec ではフォントはファミリ名を直接指定する 方式を採る。 従って、「好きなフォントを指定する」という点では、 pLaTeX よりも格段に容易になっているといえるが、 fontspec の既定のフォント(Latin Modern)では日本語が扱えないので、 必ず何らかのフォントを設定する必要があり、これが煩わしく感じられるかも知れない。 (何より、正しいフォント名を思い出すのが面倒である。)

そこで、本パッケージでは、 pLaTeX において一般的に行われている設定を予め用意しておいて、 簡単に呼び出せるようにしている。 例えば、「IPA フォントを使う」設定 (セリフは「IPA明朝」、サンセリフと等幅は「IPAゴシック」)は

\usepackage[ipa]{zxjafont}

と書くだけで済む。 なお、(u)pLaTeX 用にも同じ目的の PXjafont パッケージがあり、 それとオプション名(ipa 等)を合わせている。

対応環境

  • TeX 処理系: XeLaTeX2e
  • 前提パッケージ: fontspec

ダウンロード

github のページから ZIP アーカイブをダウンロードできる。 (「Download ZIP」のボタンを押す。)

インストールについてはパッケージ内の説明書(README ファイル)を参照。

使い方

以下のようにパッケージを読み込むだけである。 (ユーザ命令・環境はない。)

\usepackage[<メイン設定>,<サブ設定>,<他オプション>]{pxjafont}

<メイン設定> は 1 つだけ指定できるが、 <サブ設定><他オプション> は任意個数指定可能である。 もし fontspec が未読込の場合は自動的に読み込む。

XeLaTeX には和文と欧文の元来の区別がないので、 このパッケージで指定するフォントが全ての文字に通用する。 ただし、ZXjatype パッケージでは和文と欧文を区別するので、 それと併用の場合は和文のみにフォント設定が適用される。

メイン設定

総称ファミリの設定(fontspec の \setmainfont\setsansfont\setmonofont) を行うもの。

単ウェイト用の設定

明朝・ゴシック各々 1 ウェイトのみを用いる設定。 セリフ(\rmfamily)に明朝、 サンセリフ(\sffamily)と等幅(\ttfamily) にゴシックを割り当てる。 さらに、pLaTeX の習慣に合わせて、セリフの太字(\bfseries)もゴシックにする。 (これは必ずしも好ましい設定ではないことに注意。)

  • ms : MS フォント(「MS 明朝」「MS ゴシック」)を使用する。
  • ipa : IPA フォント(「IPA明朝」「IPAゴシック」)を使用する。 ver.003 でも ver,002 でも同じ(フォント名が同じだから)である。
  • kozuka4 : Pro 仕様の小塚フォント(「小塚明朝 Pro R」「小塚ゴシック Pro M」)を使用する。
  • kozuka6 : Pr6 仕様の小塚フォント(「小塚明朝 Pro-VI R」「小塚ゴシック Pro-VI M」)を使用する。
  • kozuka6n : Pr6N 仕様の小塚フォント(「小塚明朝 Pr6N R」「小塚ゴシック Pr6N M」)を使用する。
  • hiragino : ヒラギノフォント「ヒラギノ明朝 Pro W3」「ヒラギノ角ゴ Pro W6」を使用する。

多ウェイト用の設定

明朝・ゴシック各々 2 ウェイトを用いる設定。 (fontspec では 3 ウェイト以上の設定ができない。) セリフに明朝、サンセリフと等幅にゴシックを割り当て、 各々について通常(\mdseries)と太字(\bfseries) を個別に設定する。

  • ms-dx : MS フォントおよび Microsoft Office 付属の日本語フォントを使用する。
  • ipa-dx : IPA フォントおよび Microsoft Office 付属の日本語フォントを使用する。
  • hiragino-dx : ヒラギノフォント「ヒラギノ明朝 Pro W3・W6」「ヒラギノ角ゴ Pro W3・W6」 を使用する。

参考: XeTeX は「フォント非埋込の PDF 生成」に対応していない。

サブ設定

fontspec では使用するフォントを \newfontfamily 命令で 増やすことができる。 それを利用した追加設定である。

  • hg: Microsoft Office のフォント(HG フォント)に対応する、 以下のファミリ命令が定義される。
    • \hgmcfamily: HGS明朝B、太字=HGS明朝E。
    • \hgprfamily: HGS創英プレゼンスEB
    • \hggtfamily: HGSゴシックM、太字=HGSゴシックE。
    • \hggufamily: HGS創英角ゴシックUB
    • \hgmgfamily: HG丸ゴシックM-PRO
    • \hgkkfamily: HGS教科書体
    • \hgksfamily: HG正楷書体-PRO
    • \hggsfamily: HGS行書体
    • \hgppfamily: HGS創英角ポップ体
  • hiraginomg: ヒラギノの丸ゴシックを使う設定。
    • \hmgfamily: ヒラギノ丸ゴ Pro W4
参考: fontspec では取り扱うフォントのウェイトを通常(\mdseries) と太字(\bfseries)の 2 つに制限している。 多くの OS での扱いに合わせているようである。

他オプション

  • prop: プロポーショナル幅のフォントを用いる。 例えば、「IPA明朝」の代わりに「IPA P明朝」、 「HGS行書体」の代わりに「HGP行書体」を指定する。 既定で用いるのは等幅のフォントだが、 「欧文のみプロポーショナル」の変種(HGフォントの場合「HGS~」名称のもの) がある場合はそれを優先させている。
    注意: zxjatype を用いる場合は、和文は等幅フォントを用いることが前提なので、 このオプションは指定できない(エラーになる)。
  • scale=<実数>: スケール値 (fontspec の Scale 属性の値)。 既定値は、BXjscls の文書クラスおよび zxjatype パッケージで指定されて いる場合はその値、なければ 1 となる。
  • feature={<属性リスト>}: このパッケージで指定されるフォント全体に通用する fontspec の属性の指定。

サンプル

BXjscls パッケージの文書クラス、 ZXjatype パッケージZXjafont パッケージの組み合わせによって、 日本語文書を XeLaTeX で作成する際のプレアンブルの記述を大幅に減らすことができる。

\documentclass[a4paper]{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ipa-dx]{zxjafont}
\usepackage{xltxtra} % \XeLaTeX ロゴのために必要
\begin{document}
\title{\XeLaTeX\ 怪文書作成入門}
\author{絶対匿名希望}
\maketitle

\section{美しい怪文書組版のために}
先日、ある新聞社が行った、
怪文書作成の専門家に対するアンケート結果によると……

\section{おいしい焼きリンゴを作る秘訣 ― 「3 つのΨ」}
ここで話は変わって……

\end{document}