この辺りの話。
ヤヤコシイ話は抜きにしてとにかく方法を説明する。
①フツーのやり方
kanji-config-updmapでyu-win10をした上で、普通にjapanese-otfパッケージを使う。
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\usepackage{otf}
\begin{document}
\CID{1722}宴とか\CID{7968}宴とか\CID{20249}宴とか\ajSnowman
\ajMaruAlph{1}\ajKuroMaruAlph{1}\ajKakuAlph{1}\ajKuroKakuAlph{1}
\ajMaru{12}\ajMaru{34}\ajMaru{56}
\end{document}
あるいは、pxchfonでyu-win10
を指定する。
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\usepackage{otf}
\usepackage[yu-win10]{pxchfon}
\begin{document}
\CID{1722}宴とか\CID{7968}宴とか\CID{20249}宴とか\ajSnowman
\ajMaruAlph{1}\ajKuroMaruAlph{1}\ajKakuAlph{1}\ajKuroKakuAlph{1}
\ajMaru{12}\ajMaru{34}\ajMaru{56}
\end{document}
この場合、システムのToUnicode CMapを利用して「AJ1→Unicode」の変換を行った上でUnicodeでグリフが指定される。だから〈饗〉の異体字は区別されないし、「丸56」(CID+10268)のような「そもそもUnicodeにない字」は出力できない。それから、ToUnicode CMapに漏れがあるため、〈㉞〉(U+325E)や〈🅐〉(U+1F150)のように「実際にはUnicodeになるのにサポートされない」ような文字もある。
pxchfonパッケージでunicode
オプションを追加する。
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\usepackage{otf}
\usepackage[unicode,yu-win10]{pxchfon}
\begin{document}
\CID{1722}宴とか\CID{7968}宴とか\CID{20249}宴とか\ajSnowman
\ajMaruAlph{1}\ajKuroMaruAlph{1}\ajKakuAlph{1}\ajKuroKakuAlph{1}
\ajMaru{12}\ajMaru{34}\ajMaru{56}
\end{document}
この場合、Unicodeでグリフ指定する点は同じであるが、「AJ1→Unicode」の変換をもう少し頑張る1ので多少マシになる。さらに、JIS90とJIS2004のフォント(TFM)を両方利用するので、漢字の異体字が「JIS90字形とJIS2004字形に限っては」正しく出力される。上の例だと〈饗〉の異体字について、JIS90字形の\CID{1722}
とJIS2004字形の\CID{7968}
は想定の字形となるが、\CID{20249}
はならない。
③裏技「GID指定」
実は、游フォントについては、「AJ1のCIDを2だけずらしたのがGID」という規則になっている2。pxchfonでは「GID指定グリフ出力」の機能があるので、これを組み合わせると、(ほぼ)全てが解決する。
pxchfonでglyphid
を指定すると、GID指定グリフ出力のための\gid
という命令が使えるようになる。例えば、「丸56」(CID+10268)を出力したい場合は、2だけずらして\gid{10270}
とすればよい。
※glyphid
はエンジンがupLaTeXでかつunicode
が指定されている場合にのみ利用できる。また、グリフが全角幅であることを仮定するのでそうでない場合は出力が異常になることに注意。
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\usepackage{otf}
\usepackage[unicode,yu-win10,glyphid]{pxchfon}
\begin{document}
\CID{1722}宴とか\CID{7968}宴とか\gid{20251}宴とか\ajSnowman
\ajMaruAlph{1}\ajKuroMaruAlph{1}\ajKakuAlph{1}\gid{11176}
\ajMaru{12}\ajMaru{34}\gid{10270}
\end{document}
まとめ
游フォントの無表情な☃もなかなかに素敵。