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