マクロツイーター

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

CJKパッケージを極めて簡単にセットアップする方法

8 ビット欧文 LaTeX 上で CJK(日中韓言語)を扱う手段として普及しているのが CJK パッケージであるが、このパッケージはインストールと設定が非常に複雑で面倒であるという短所をもつ。この点は TeX Live 等の「CJK が最初からそのまま使える」ディストリビューションを使えば問題にならないかも知れない。ただそれでも、日本語に関しては標準の設定では「和田研フォント」しか用意されておらず、これは(TeX の観点では)実用に堪えないので、自分で適当な日本語フォントに対して CJK で使えるように前準備を行う必要があり、この作業は極めて難度が高い(pTeX で新規の和文フォントの前準備をするより難しいと思う)。

ところが実は、「普通の日本語 TeX 環境の使用下」で CJK パッケージを使うのであれば、非常に簡単な設定方法がある。ここで前提とする環境は「普段は pTeX で dvipdfmx を使っている」ということだがさらに「OTF パッケージが正しく(使える状態で)設定されている」ことを仮定する(あと文字コードUTF-8 に限定する)。この場合、dvipdfmx (に限らず OTF パッケージが使える全ての DVI ウェア)が扱える CJK 言語用の Unicode エンコーディングTeX フォント(TFM;この場合 JFM であるが)が既に存在している。そこで、CJK パッケージの TeX フォント(TFM;Unicode サブフォントである)から OTF パッケージの TeX フォント(JFM)へ変換する仮想フォント(VF)を用意すればいい。そのような仮想フォントのファミリを作成したので、またひっそりと公開しておいた。

このパッケージをインストールすると、CJK パッケージで以下の CJK ファミリが使用可能になる。

日本語韓国語簡体中文繁体中文
明朝系opjaropkoropscroptcr
ゴシック系opjasopkosopscsoptcs

以下にサンプルを示す。もちろんこの文書は OTF パッケージではなく CJK パッケージを使っているので 8 ビット欧文 LaTeXlatex コマンド)で組版する。DVI ウェアは OTF パッケージが「実際に使える(設定済である)」ものなら使えるはずである。残念ながら pdfLaTeX は使えない。


% 文字コードUTF-8
\documentclass[a4paper]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{opjar}% 日本語・明朝
私のホバークラフトは鰻でいっぱいです。\par
\end{CJK*}
\begin{CJK}{UTF8}{opkor}% 韓国語・明朝
내 호버크라프트는 장어로 가득 차 있어요.\par
\end{CJK}
\begin{CJK*}{UTF8}{opscr}% 簡体中文・明朝(宋体)
我的气垫船充满了鳝鱼。\par
\end{CJK*}
% ついでにキリル文字セルビア語)を混ぜてみる
{\fontencoding{T2A}\selectfont
Мој ховеркрафт је пун јегуља.\par}
\end{document}

ただ、日本人が CJK パッケージを使うのは、そもそも「pLaTeX + OTF パッケージで対応できない」場合ではないか、という気がする。そう考えると、この方法はあまり有用でないことになる。