覚え書き > TeXで朝鮮語を使う+PDFの作成

main menu

miscellaneous

Valid HTML 4.01!

Contact

Hotmail

TeX/LaTeXで朝鮮語を使いましょう.とはいえ,ただ朝鮮語を使うだけでは面白くありません.当然日本語との混在文書作成はできなければいけません.ですが,ここではとりあえず朝鮮語を扱うための準備をしてみます.

既にTeX/LaTeXの基本システムがインストールされているものとします.また,中期朝鮮語の文書作成には,Micorosoft社の配布するNew Batang(あるいはNew Gulim)フォントが必要です.これらのフォントの入手など,詳細については閲覧に必要なフォントについてをご覧ください.

なお,TeX/LaTeXについての総合的な情報は,日本語TeX情報をご覧ください.また,誤った記述を発見された場合,ご教示いただければ幸いです.

朝鮮語TeX文書を作成するには

さて,LaTeXが正常にインストールされました(としましょう).しかし,このままでは日本語の文書しか作成できません.朝鮮語のTeX文書を作成するためには,さらにパッケージを追加する必要があります.朝鮮語TeX文書作成のためのパッケージとして,(1)福井玲先生の作成したKorean TeX(kTeX)パッケージを利用する,(2)HLaTeXパッケージを利用する,(3)CJKパッケージを利用するといった方法があります.以下,それぞれの方法について簡単にまとめてみます.

  1. Korean TeX(kTeX)パッケージ
    東京大学の福井玲先生が開発された,TeXで朝鮮語を扱うためのメタフォントソースおよびLaTeX用マクロのセットです.日本語TeX(pTeX)上でそのまま使えます.ハングルについてはアルファベット転写により入力を行なうため,文字コードなどの問題がありません.しかも現代ハングルのみならず,中期朝鮮語なども入力可能です(一部).手軽に日本語と朝鮮語の混在文書を作成するには,一番使いやすいのではないでしょうか.
  2. HLaTeXパッケージ
    使用状況についてはよく分からないのですが,とにかく朝鮮語ネイティヴで開発されたパッケージみたいです.Korean TeX Users Group(KTUG)の配布するHPackパッケージをインストールすることで,HLaTeX使用のための環境が整います.朝鮮語のためのパッケージなので,分かち書きや禁則処理などがきれいに行なわれます.ただし日本語との混在が不可能.朝鮮語のみの文書を作成する場合にはもってこいです.
  3. CJKパッケージ(配布元)
    現在のバージョンは4.5.2.CJKというだけあって,日本語・中国語・朝鮮語の多様なエンコーディングに対応しています.さらにUnicode(UTF-8)に対応しているため,各言語の混在が可能です.CTANから入手可能です.中期朝鮮語のTeX文書を作成する際に必須.

このうち用途に合わせてパッケージを選択すればよいのですが,ここではHPackとCJKパッケージをインストールしてみます.

△top

HPackのインストール

HPackのインストールといっても,HPackの配布元からダウンロードして,setupを実行するだけです.パッケージにはBasic(43.6MB)とFull(126MB)の2種類がありますが,とりあえずBasicパッケージをインストールすれば大丈夫です.

二つのパッケージの違いは,インストールされるフォントの分量です.
私がインストールしたときには,レジストリからファイルなどの情報を読み取れなかったらしく,エラーメッセージが出ましたが,それでも正常に動作しました.

インストールが終了したら,sample1.texを処理してみましょう.日本語文書のように,platexコマンドで処理するのではなく,latexコマンドで処理するのを忘れないように.

△top

HPackの例題

さて,朝鮮語のTeX文書を処理してみましょう.HPackを用いる場合,日本語と朝鮮語との混在文書は作成できません.ここではとりあえず,朝鮮語のみの文書を作成してみます.次のようなファイルを作り,エンコーディングをEUC-KRとして保存します.ファイル名は,仮にkorean.texとしましょう.

\documentclass{article}
%% 日本語の文書とは異なり,
%% 文書クラスがarticleである点に注意!
\usepackage{hangul}

\begin{document}
%% 朝鮮語で「こんにちは」
안녕하세요?

\LaTeX
\end{document}

このファイルをLaTeXで処理します.日本語の文書ではないので,platexコマンドを使わない点に注意してください.

> latex korean.tex 
This is TeX, Version 3.14159 (Web2C 7.3.7)
(./korean.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american, french, german, n
german, nohyphenation, loaded.
(f:/cygwin/usr/local/share/texmf/tex/latex/base/article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(f:/cygwin/usr/local/share/texmf/tex/latex/base/size10.clo))
(f:/cygwin/usr/local/share/texmf/tex/latex/hlatex/hangul.sty
한글 문서 꾸러미 `hangul.sty' <2000/01/18>.
(f:/cygwin/usr/local/share/texmf/tex/latex/hlatex/hfont.tex
(f:/cygwin/usr/local/share/texmf/tex/latex/config/hfont.cfg)))
(./korean.aux)
(f:/cygwin/usr/local/share/texmf/tex/latex/hlatex/hswmj.fd)
(f:/cygwin/usr/local/share/texmf/tex/latex/hlatex/hwwmj.fd)
(f:/cygwin/usr/local/share/texmf/tex/latex/hlatex/hhwmj.fd) [1]
(./korean.aux) 
)
Output written on korean.dvi (1 page, 476 bytes).
Transcript written on korean.log.

できあがったkorean.dviファイルを,先と同じくdvipdfmにより処理します.

> dvipdfm korean.dvi 

korean.dvi -> korean.pdf
[1]
40115 bytes written

korean.pdf demoできあがったkorean.pdfをプレビューしてみましょう.朝鮮語のフォントを埋め込んであるため,ファイルのサイズは若干大きくなっています.右の図は例題を拡大したもの.
詳細については付属のドキュメントをご覧ください.\usepackage{}hangulではなく,hfontを使用した場合,ハングルのフォントだけが用いられ,章や参考文献などの題目に朝鮮語が用いられません.例えば,次のようなTeXソースを処理した場合を見てみます.

\documentclass{article}
\usepackage{hangul}
\begin{document}
\section{첫번째}

안녕하세요?

\end{document}

上の例では\usepackage{hangul}を使っていますが,これを処理したものと,\usepackage{hfont}に変えて処理したものとを比較すれば次のとおりです.

hfont demo
△top

CJKパッケージ利用の準備 - ttf2pkのインストール

CJKパッケージをインストールする前に,ttf2pkというコマンドをインストールする必要があります.これはTrueTypeフォントをPKという形式に変換するもので,CJKパッケージを利用する際に必要です.

先にLaTeXの基本システムをインストールする際に,「標準インストール」までのファイルをインストールしたと思われます.ttf2pkは「フルインストール」に入っていますので,それだけダウンロードしてください.ダウンロードしたら,先にLaTeXをインストールしたときと同じディレクトリに展開します.例えば,C:\usr\localにインストールした場合は,同じディレクトリに展開すればOKです.

なお,ttf2pkの使用方法などについては,ttf2pkと補助漢字が参考になります.上述のページでUnicodeの文字をmsminchoを使って表示する方法が示されていますが,私のページでも,同様な方法を用いて,中期朝鮮語のTeX文書を作成します.
△top

CJKパッケージのインストール

配布元のFTPサイトから,最新版(2003年8月15日現在バージョン4.5.2)をダウンロードします.ソースファイル(cjk-4.5.2.tar.gz)と,ドキュメント(cjk-4.5.2-doc.tar.gz)を適当なディレクトリに展開します.後はdocディレクトリの中にあるINSTALLファイルを見ながらインストールすればいいはずです.基本的にはtexinputディレクトリをLaTeXをインストールした$TEXMF\texディレクトリ以下にコピーします.後はドキュメントを適当なフォルダに格納します.

こちらもサンプルファイルで実験してみましょう.フォントの設定とかいろいろ面倒ですが,プレビューできずとも,LaTeXで処理したときにエラーがでなければとりあえずOKです.
△top

CJKパッケージの例題

CJKパッケージのインストールが終了したら,テストをしてみましょう.その前に,PDF作成の際にTrueTypeフォントが利用できるよう,準備をしておく必要があります.まずはBitstream Cyberbitフォントをインストールしておきましょう(詳細については閲覧に必要なフォントについてを参照).次に,$TEXMF\ttf2pk\baseディレクトリ[2004/06/26 修正] $TEXMF\fonts\map\ttf2pk(TeXディレクトリ構成が変わっています.不明な場合はttfonts.mapの所在を検索してください.[Thanks: 宮崎さん])にあるttfonts.mapファイルに以下の1行を追加しておきます.

cyberb@Unicode@ cyberbit.ttf

次に,ttf2tfmを用いてCyberbitフォントのtfmファイル(フォントメトリックファイル)を作成します.コマンドラインから以下のようにタイプします.

> ttf2tfm cyberbit.ttf cyberb@Unicode@
[2006/01/03 修正] 上記のコマンドで,"cyberbit.ttf"の部分が,"cyberb.ttf"となっていました.誤りです.というか,現実に存在するフォントのファイル名をご使用ください.ご迷惑をおかけしました.

かなり時間がかかりますが,処理が終了すると,カレントディレクトリにcyberb??.tfmといった大量のファイルが作成されているはずです(??は00からffまでの16 進数).これらの.tfmファイルは,$TEXMF/fonts/tfm/ttf2pkといったフォルダに移動します.
次に,TeXソースファイルを準備します.とりあえず,次のようなファイルを作り,UTF-8エンコーディングで保存しましょう.ファイル名はcjk.texとします.

\documentclass{article}
\usepackage{CJK}

\begin{document}
\begin{CJK}{UTF8}{}
こんにちは.

안녕하세요?

你好吗?
\end{CJK}
\end{document}

これをLaTeXで処理したあと,今度はdvipdfmxで処理します(dvipdfmでない点に注意).

> latex cjk.tex 
This is TeX, Version 3.14159 (Web2C 7.3.7)
(./cjk.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american,
french, german, ngerman, nohyphenation, loaded.
(f:/cygwin/usr/local/share/texmf/tex/latex/base/article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(f:/cygwin/usr/local/share/texmf/tex/latex/base/size10.clo))
(f:/cygwin/usr/local/share/texmf/tex/CJK/CJK.sty
(f:/cygwin/usr/local/share/texmf/tex/CJK/mule/MULEenc.sty)
(f:/cygwin/usr/local/share/texmf/tex/CJK/CJK.enc)) (./cjk.aux)
(f:/cygwin/usr/local/share/texmf/tex/CJK/UTF8/UTF8.bdg)
(f:/cygwin/usr/local/share/texmf/tex/CJK/UTF8/UTF8.enc)
(f:/cygwin/usr/local/share/texmf/tex/CJK/UTF8/UTF8.chr)
(f:/cygwin/usr/local/share/texmf/tex/CJK/UTF8/c70song.fd) [1]
(./cjk.aux) )
Output written on cjk.dvi (1 page, 740 bytes).
Transcript written on cjk.log.

> dvipdfmx cjk.dvi 

cjk.dvi -> cjk.pdf
[1]
18581 bytes written

CJK demo右の図のように,CyberbitフォントでタイプセットされたPDFができたはずです.これで,とりあえずHPackとCJKパッケージという2つの方法で,朝鮮語を扱うことができるようになりました.

さて,ここまでの手順が完了したら,次はさっそく中期朝鮮語PDF文書の作成にとりかかりましょう.

△top

参考文献