(u)pLaTeX + dvipdfmx のワークフローにおいて、何らかの和文文字について、
その文字は Unicode に入っているし、
今使っているフォントにも入っているはず
なのに文字が“なぜか出力できない”、という奇妙な不具合に出会ったら、pxchfon の unicode
オプションを試してみよう。
もっと丸数字したい話
% pLaTeX 文書 \documentclass[a4paper]{jsarticle} \usepackage{otf} \begin{document} \ajMaru{10}\ajMaru{20}\ajMaru{30}\ajMaru{40}\ajMaru{50}% \ajSnowman \ajKuroMaru{10}\ajKuroMaru{20} \end{document}
% upLaTeX 文書; UTF-8 \documentclass[uplatex,a4paper]{jsarticle} \begin{document} ⑩⑳㉚㊵㊿☃❿⓴ \end{document}
この例では、㊵(丸40)や㊿(丸50)といった丸数字の一部および黒丸数字が出力されていない。しかし、upLaTeX 文書ソースに直接書けていることから判るように、これらの文字は Unicode に含まれている。*1ここで実際に使われているフォントは「IPAex 明朝」である(☃の字形を見れば判る)が、このフォントは先に挙げた丸数字に対応している。(これはワープロソフト等で「IPAex 明朝」を指定して当該の文字を書いてみれば判る。)
つまり、この不具合は“なぜか出力できない”の例である可能性がある。
そういうわけで、早速 unicode
付きの pxchfon を試してみることにしよう。従来通り IPAex フォントが使われてほしいので、プリセットとして ipaex
を指定する。
% pLaTeX 文書 \documentclass[a4paper]{jsarticle} \usepackage{otf} \usepackage[ipaex,unicode]{pxchfon} \begin{document} \ajMaru{10}\ajMaru{20}\ajMaru{30}\ajMaru{40}\ajMaru{50}% \ajSnowman \ajKuroMaru{10}\ajKuroMaru{20} \end{document}
% upLaTeX 文書; UTF-8 \documentclass[uplatex,a4paper]{jsarticle} \usepackage[ipaex,unicode]{pxchfon} \begin{document} ⑩⑳㉚㊵㊿☃❿⓴ \end{document}
スバラシイ。
縦組でダブルミニュートしたい話
upLaTeX + dvipdfmx の環境で、実際に使われているフォントが IPAex フォントである場合、縦組においてダブルミニュート(〝 〟)を使うと、閉じ側の文字が正常に出力されない。
% upLaTeX 文書; UTF-8 \documentclass[uplatex,tate,book,paper=a4]{jlreq} \begin{document} ここから判るように、静的型付けには 明らかな優位性が〝存在〟する。 (実際に存在するとは言ってない。) \end{document}
先の例と同じく、IPAex フォント自体は縦組のダブルミニュートを正しく扱える。(ワープロソフト等で確認できる。)従って、これも“なぜか出力できない”現象だと考えられる。
というわけで、再び pxchfon + unicode
を試してみると……。
% upLaTeX 文書; UTF-8 \documentclass[uplatex,tate,book,paper=a4]{jlreq} \usepackage[ipaex,unicode]{pxchfon} \begin{document} ここから判るように、静的型付けには 明らかな優位性が〝存在〟する。 (実際に存在するとは言ってない。) \end{document}
スバラシイ。