以前に書いたPXchfon の新版についての解説記事のコメントで、「directunicode オプションが upTeX で効かない」という指摘を頂いた。調べてみると、なんと、
upLaTeX + OTF パッケージで、直接入力以外、つまり \UTF
と \CID
について
フォント置換が全く効いていなかった
という惨状が発覚した。これが意図した仕様のはずがないと思っているが、実際のところは今となっては解らない。恐らく単純なミスなのだろう。
というわけで、この不具合を修正したもの(0.7b 版)を公開した。(ドキュメントの更新はまだ。)
- PXchfon パッケージ(GitHub/zr-tex8r)
これで、upTeX でも directunicode が使えるようになる。
% upLaTeX 文書(文字コードは UTF-8) \documentclass[a4paper,uplatex]{jsarticle} \usepackage{otf} \usepackage[noalphabet,directunicode]{pxchfon} \setminchofont{HanaMinA.ttf} % 花園明朝A \begin{document} \UTF{618D}梵波提 賓頭盧頗羅墮 迦留陀夷 摩訶劫賓那 薄拘羅 % 阿\UTF{3779}樓駄 如是等 諸大弟子 \end{document}
ただし、件の記事で記したように、directunicode の適用範囲は「OTF パッケージの \UTF
入力」であることは変わらない。upTeX では直接入力の和文も当然 Unicode フォントなのであるが、こちらには directunicode は適用されないことに注意。*1
折角 Unicode で直接入力できるのに「コード値での入力が必須」というのは残念なので、pxchfon パッケージにおまけ機能を付けておいた。
\asUTF{<和文文字>}
: その文字を\UTF
命令を通して入力する。つまり、その文字には\UTF
のフォントの設定が適用される。(エンジンが upTeX でかつ OTF パッケージ読込時にのみ使用可能。)
つまり、以下のようなことができるわけである。(なお、OTF パッケージの多ウェイト設定を流用して、「花園明朝」と他の明朝体フォントを使い分ける方法については、以前の記事で既に解説した。)
% upLaTeX 文書(文字コードは UTF-8) \documentclass[a4paper,uplatex]{jsarticle} \usepackage[deluxe]{otf} \usepackage[ipa,directunicode]{pxchfon} \setlightminchofont{HanaMinA.ttf}% 花園明朝A \newcommand*{\+}[1]{{\mcfamily\ltseries\asUTF{#1}}}% 引数は文字 \pagestyle{empty} \begin{document} % 花園明朝で出力すべき文字の前に\+を付ける \+憍梵波提、賓頭盧頗羅墮、迦留陀夷、摩訶劫賓那、薄拘羅、阿\+㝹樓駄、如是等諸大弟子。 \end{document}