TeXでJIS2004を比較的気楽に使う

前回書いた件の続き.要はJIS78のCmapの代わりにJIS2004のCmapを使えばよいだけです.全くパラレルに準備すればよいだけです.とりあえず,サンプルのマクロとソースを晒しておきます.

要は必要なところだけ「フォント切り換え」してしまい,出力機側のCmapで実際の字形を割り当ててもらうという,他力本願な手法です.後述しますが,フォントのデザインや包摂に影響を当然ながらうけますが,それはJIS2004に限った話ではありません.「いやだいやだ,こうするんだーい」という我侭にあたってしまった場合は,文字を画像で書いて対処するしかないですね.

字形変更の対象で一文字だけ,「ル・しばしば」(47区64点)という文字がJIS83にはなく,JIS2000(第三水準)で出てきた文字だということで,?にしています.

また,あまりに微妙で違いが不明な文字もあります.その上,フォントごとのデザインポリシや包摂によって全く同じ文字であることもあります.リュウミンL・ヒラギノW3・小塚明朝で確認しましたが,これらの中では小塚が一番「字形変更」に忠実な印象がありますので,Acrobat7以降に付属のKozMinProVI-regular.otfをとりあえずお勧めします.

VistaのMeiryoをだと「喩」なんかも微妙に変わってるようですが,今回の一覧はJIS2004の資料にしたがっているだけなので載せていません.

\documentclass[a4j,twocolumn]{jarticle}
\usepackage{supertabular}
\usepackage{colortbl}
\parindent0pt
\pagestyle{empty}
\newcounter{cnt}
\def\cntup{\stepcounter{cnt}\thecnt}

\DeclareFontFamily{JY1}{mc78}{}
\DeclareFontFamily{JY1}{gt78}{}
\DeclareFontShape{JY1}{mc78}{m}{n}{<-> jis78}{}
\DeclareFontShape{JY1}{mc78}{bx}{n}{<-> ssub*gt78/m/n}{}
\DeclareFontShape{JY1}{gt78}{m}{n}{<-> jisg78}{}
\DeclareFontShape{JY1}{gt78}{bx}{n}{<-> ssub*gt78/m/n}{}
\DeclareFontFamily{JY1}{mc04}{}
\DeclareFontFamily{JY1}{gt04}{}
\DeclareFontShape{JY1}{mc04}{m}{n}{<-> jis04}{}
\DeclareFontShape{JY1}{mc04}{bx}{n}{<-> ssub*gt04/m/n}{}
\DeclareFontShape{JY1}{gt04}{m}{n}{<-> jisg78}{}
\DeclareFontShape{JY1}{gt04}{bx}{n}{<-> ssub*gt04/m/n}{}
\DeclareRobustCommand\jisSE{\kanjifamily{mc78}\selectfont}
\DeclareTextFontCommand{\textjisSE}{\jisSE}
\DeclareRobustCommand\jisZF{\kanjifamily{mc04}\selectfont}
\DeclareTextFontCommand{\textjisZF}{\jisZF}

\begin{document}
\Large
\tablehead{&83JIS & 2004JIS & 78JIS\\\hline}
\tabletail{\hline}
\begin{supertabular}{c|ccc}
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&穿&\jisZF 穿&\jisSE 穿\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&辿&\jisZF 辿&\jisSE 辿\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF\char\jis"4F60&\\%"
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\cntup&&\jisZF&\jisSE\\
\end{supertabular}
\end{document}