前回の続き。
※W32TeXの最新版による。
令和な組文字を書いてみるテスト
「令和」の組文字(U+32FF)をイロイロな方法で入力してみて、正しく出力されているかを調べる。
当然、U+32FFに対応したフォントが必要になるわけであるが、今回は「和田研中丸ゴシック2004絵文字」を使用する。ただし、このフォントは組文字の縦組用字形には対応していないので、縦組のテストは行わない。
※「和田研中丸ゴシック2004絵文字」はTrueTypeグリフのフォントである1。
upLaTeXの標準和文フォントの場合
% upLaTeX文書; UTF-8 \documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} \usepackage[ipaex]{pxchfon} \setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック \begin{document} %↓先頭にU+32FFの文字 ㋿ゃーん(\symbol{"32FF}ゃーん) \end{document}
令和!
pLaTeX+japanese-otfの場合
最新のjananese-otfパッケージでは、\ajLig{令和}
でU+32FFを入力できる2。
% pLaTeX文書 \documentclass[dvipdfmx,a4paper]{jsarticle} \usepackage{otf} \usepackage[ipaex]{pxchfon} \setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック \begin{document} \UTF{32FF}ぁ? \CID{23058}ぁ? \ajLig{令和}ぁ? \end{document}
令和!
upLaTeX+japanese-otfの場合
% upLaTeX文書; UTF-8 \documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} \usepackage{otf} \usepackage[ipaex]{pxchfon} \setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック \begin{document} %↓先頭にU+32FFの文字 ㋿っ! \UTF{32FF}っ! \CID{23058}っ! \ajLig{令和}っ! \end{document}
令和!
pxchfonで“Unicode直接指定”にした場合
pxchfonパッケージで“Unicode直接指定”(unicode
オプション)を使うとフォントに関する内部処理が大きく変更される3ので、この場合もテストしておく。
% upLaTeX文書; UTF-8 \documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} \usepackage{otf} \usepackage[ipaex,unicode]{pxchfon}% Unicode直接指定 \setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック \begin{document} %↓先頭にU+32FFの文字 ㋿っ! \UTF{32FF}っ! \CID{23058}っ! \ajLig{令和}っ! \end{document}
令和!
jlreqクラスする場合
jlreqクラスでは独自の和文VFが使われるので、念のためこれも試してみよう。
% upLaTeX文書; UTF-8 \documentclass[paper=a4]{jlreq} \usepackage[ipaex]{pxchfon} \setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック \begin{document} %↓U+32FFの文字がたくさん ㋿㋿㋿㋿ーン \end{document}
令和!
まとめ
まあ、LaTeX文書で元号の組文字を使う人なんていないだろうから、別にドウデモイイネ。
-
標準のフォントマップ設定(所謂“CMap指定”)の場合、AJ1対応のOpenTypeフォントよりもTrueTypeフォントの方が正常に出力するのが“難しい”。↩
-
実際には
\ajLig{令和}
はAJ1のCIDを利用して文字を出力している。AJ1-7において、「令和」の組文字は横組がCID 23058、縦組がCID 23059に割り当てられている。従ってこの場合、\ajLig{令和}
は\CID{23058}
と等価になるが、フォントがAJ1対応でない場合、CID 23058・23059の指定は何れもUnicodeのU+32FFの指定に(dvipdfmxの内部処理において)フォールバックする。↩ -
この場合、CID 23058・23059は和文VFを用いて明示的にUnicodeのU+32FFに変換されている。“Unicode直接指定”であるため「UnicodeのU+32FFのグリフ指定」がそのまま適用される。↩