マクロツイーター

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

El Capitan で pxchfon する話、とか

今月に入って以来続いていた「El Capitan で日本語 TeX がアレ」祭りもようやく一段落ついたようである。

さて日本語 TeX のフォントの話といえば、某 pxchfon パッケージも関係するところである。これの対応はどうかというと、一応それらしきモノGitHub にはあるが、作者(某 ZR 氏)が様子見を決めているため、なかなか TeX Live に反映されないようである。*1

しかし実は、ある程度新しい*2 pxchfon であれば、「TeX Live のマップファイル(jfontmaps のもの等)を読み込む」機能がある(参照)。したがって、アレwiki にある通りの El Capitan への対応を済ませた TeX Live 系(MacTeX、BasicTeX を含む)環境であれば、pxchfon で(新しい)ヒラギノフォントを指定できる。*3

ヒラギノ(とか)する方法

TeX Live のマップファイルを利用する場合は、pxchfon パッケージのオプションとして、+<ファミリ> を指定する。ここで、“ファミリ”というのは、

(sudo) kanji-config-updmap(-sys) <ファミリ>
(sudo) upamap(-sys) -setoption kanjiEmbed <ファミリ>

とかで指定する名前のことである。従って、El Capitanヒラギノの場合は以下のようになる。

% Std・Pro版ヒラギノの場合
\usepackage[+hiragino-elcapitan]{pxchfon}
% StdN・ProN版ヒラギノの場合
\usepackage[+hiragino-elcapitan-pron]{pxchfon}

もちろん、この機能は Mac 以外でも使用できる。例えば、Windows 10 で游フォントを指定したい場合は以下のようにできる。((ちなみに、Windows 8.1 の游フォントの場合は、TeX Live のマップを利用するならオプションは「+yu-win」となる。これでもよいが、こちらは自前のプリセット設定も利用可能でこの場合はオプションは「yu-win」(+ 無し)となる。後者は W32TeX でも利用できる。))

% Win10の游フォント
\usepackage[+yu-win10]{pxchfon}

※「El Capitan の游フォント」については、そもそも (u)pTeX + dvipdfmx で対応できないという話なので、pxchfon 側で対処できる問題ではない。

BXJS する場合は

BXJS クラスを (u)pLaTeX + dvipdfmx *4で利用する場合は、jafont オプションキーの値はそのまま pxchfon に渡される。従ってここに +<ファミリ> を書くことができる。

\documentclass[uplatex,dvipdfmx,a4paper,ja=standard,
    jafont=+hiragino-elcapitan-pron]{bxjsarticle}
W32TeX とかは

TeX Live のマップファイルを読む機能」は当然 TeX Live でしか使えない。しかし、pxchfon には一般のマップファイルを読む機能もある。

\usepackage[noalphabet]{pxchfon}% 多分 noalphabet だろう
\usefontmapfile{yu-win10.map}

これを実行すると、dvipdfmx 実行時にオプションに「-f yu-win10.map」を指定したのと同等の効果をもつ。

W32TeX では「Windows 10 の游フォント」用のマップファイルとして yu-win10.map が用意されているので、上記の命令でこれを利用できる。W32TeX で用意されているその他のマップファイルについては、ディレクトC:\usr\local\share\texmf-dist\fonts\map\dvipdfmx\base (下線部はインストール先のディレクトリ)をの中身を調べてみてほしい。

*1:動くようだったら教えて。

*2:v0.7e [2015/05/07] 以降。

*3:といっても、「pxchfon でヒラギノを指定する」というのは「普段使っている(updmap で指定した)のがヒラギノでない」ということで、それを行う Mac ユーザは少ないような気がする。

*4:和文フォントマップ」自体が (u)pLaTeX + dvipdfmx 専用のものであるため、他の環境では当然利用できない。