マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

PXchfon の新しいやつ(v0.8)

W32TeXTeX Live では既に更新されている。

“仕様的ナニカ”変更のお知らせ(←重要)

今回の版においては、次のような重要な動作の変更がある。

  • upLaTeX 上で pxchfon パッケージと japanese-otf パッケージを併用した場合に、和文フォントの 2004JIS 字形の指定の方法が変更される。
    • 旧版では pxchfon の prefer2004jis オプションに従う。
    • 0.8 版以降では(pxchfon 非読込の場合と同じく)japanese-otf の jis2004 オプションに従う。

以前の記事を見れば判るように、この辺りの動作については、新版の動作の方が“本来の仕様”であり、旧版の動作は「japanese-otf パッケージの upTeX 対応パッチの jis2004 オプションへの対応」が未了であったことに対する“暫定的な仕様”であった。現在は当該の「対応」が実施済のため、“本来の仕様”に戻ったということである。

※チョットややこしい話なので、後日改めて解説したい。

ファイルプリセットの単純なやつ

従来の(単純でない)「ファイルプリセット機能」というのは、次のような機能であった。

  • パッケージオプションに「+ipaex」のように“+”で始まる名前を与えると、「TeX Live の kanji-config-updmap」用に用意された「ptex-ipaex.map」「otf-ipaex.map」というマップファイル*1の読込が指示される。

しかしこの機能は「TeX Live の kanji-config-updmap」を採用していない TeX システムでは役に立たない。例えば、W32TeX では「IPAex フォント用のマップファイル」は単に ipaex.map という名前で用意されている。*2

このような場合に対処できるように、新たに「単純ファイルプリセット機能」を追加した。

  • パッケージオプションに「*ipaex」のように“*”で始まる名前を与えると、「ipaex.map」の読込が指示される。

例えば次のように用いられる。

% upLaTeX 文書
\documentclass[uplatex,a4paper]{jsarticle}
\usepackage[*msmingoth]{pxchfon}

これは次のものと等価になる。((「単純ファイルプリセット」もプリセットの一種なので、これが指定されると、alphabet でなく noalphabet の方が既定に変わる。ただし、プリセット設定も \set〜font も使わずに \usefontmap〜 だけ使っている状況では、alphabet/noalphabet オプションは何の意味も持たない。))

% upLaTeX 文書
\documentclass[uplatex,a4paper]{jsarticle}
\usepackage[noalphabet]{pxchfon}
\usefontmapfile{msmingoth.map}

単独ではあまり有難みがないようにも見えるが、実は重要な使い道がある。pxchfon のプリセット指定は「BXJS クラスの jafont オプション」として指定することができるので、ここで単純ファイルプリセットを使うことで、任意のマップファイルを簡単に適用させることができるわけである。

% upLaTeX 文書
\documentclass[uplatex,dvipdfmx,ja=standard,jafont=*msmingoth,
    a4paper]{bxjsarticle}% これで msmingoth.map が使われる

*1:エンジンが upTeX の場合はさらに「uptex-ipaex.map」「up-otf-ipaex.map」が追加される。

*2:このファイルの中に、pTeX と upTeX の両方のエンジンの、標準と japanese-otf 用の和文フォントの定義が全て含まれている。