マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

TeXで令和してみるテスト(2)

前回の続き。

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}

f:id:zrbabbler:20190407045725p:plain
標準な出力結果

令和!

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}

f:id:zrbabbler:20190407045800p:plain
japanese-otfな出力結果

令和!

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}

f:id:zrbabbler:20190407045843p:plain
japanese-otfでupLaTeXな出力結果

令和!

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}

f:id:zrbabbler:20190407045915p:plain
japanese-otfでunicodeな出力結果

令和!

jlreqクラスする場合

jlreqクラスでは独自の和文VFが使われるので、念のためこれも試してみよう。

% upLaTeX文書; UTF-8
\documentclass[paper=a4]{jlreq}
\usepackage[ipaex]{pxchfon}
\setminchofont{wlcmaru2004emoji.ttf}% 和田研中丸ゴシック
\begin{document}
%↓U+32FFの文字がたくさん
㋿㋿㋿㋿ーン
\end{document}

f:id:zrbabbler:20190407045936p:plain
jlreqな出力結果

令和!

まとめ

まあ、LaTeX文書で元号の組文字を使う人なんていないだろうから、別にドウデモイイネ。


  1. 標準のフォントマップ設定(所謂“CMap指定”)の場合、AJ1対応のOpenTypeフォントよりもTrueTypeフォントの方が正常に出力するのが“難しい”。

  2. 実際には\ajLig{令和}はAJ1のCIDを利用して文字を出力している。AJ1-7において、「令和」の組文字は横組がCID 23058、縦組がCID 23059に割り当てられている。従ってこの場合、\ajLig{令和}\CID{23058}と等価になるが、フォントがAJ1対応でない場合、CID 23058・23059の指定は何れもUnicodeのU+32FFの指定に(dvipdfmxの内部処理において)フォールバックする。

  3. この場合、CID 23058・23059は和文VFを用いて明示的にUnicodeのU+32FFに変換されている。“Unicode直接指定”であるため「UnicodeのU+32FFのグリフ指定」がそのまま適用される。