Unicode 対応 pTeX

三月五日の日に ttk さんよりはじめてメールをいただいた。TeX Q and A でときおりコメントを投稿される方である。内容は Unicode 対応の pTeX の実験を公開したので私の多言語 TeX 原稿(Utf82TeX 用)をサンプルとして借用してよいか,というものだった。礼儀正しい文面もさておき,pTeX の内部構造を Unicode 対応としたとの刺激的通知にたいへん興味をそそられ,快諾したのは言うまでもない。今日 TeX Wiki を訪れると,ttk さんの頁のアナウンスがなされていた。

土村さんが公開している ptetex3 は UTF-8 の TeX 原稿が処理できる画期的な試みで,このたびの『美文書第 4 版』にも pTeX 最新事情の中心的話題として紹介されている。ドイツ語やフランス語といったメジャーなラテン文字による外国語は UTF-8 で原語表記のまま組版できるようになったのである。とはいえ,一方では,ptetex3 は内部コードとして JIS を用いる方式を変更していないので,JIS にも文字が定義されているロシア語やギリシア語の文字は Unicode → JIS 変換の過程でいわゆる全角文字として処理されてしまう。このため,欧文として処理されず,ロシア語組版をしたいユーザにとってはハイフネーション,フォントの関係で,目的が満たされたというところには至っていないのではないだろうか。

それに対し,ttk さんの試みは,Unicode 文字を \kcatcode カテゴリーコードの値に応じて処理し分ける工夫を導入することで,ロシア語,ギリシア語,中国語,韓国語などの文字ストリームを本来の言語処理基準に従わせることが可能になっているようである。『upTeX, upLaTeX − 内部unicode版 pTeX, pLaTeX の実装実験』をぜひ参照いただきたい。

原語表記による多言語 TeX 組版の課題は,ひとり入力文字を Unicode で原語表記できればよい,というものではない。既存の言語パッケージ資産を眺めると,ハイフネーションやフォントエンコーディングにおいて,各国語固有の文字コード事情に依存するものが多々あり,それこそ「Babel」の逸話のような混乱状態にある。例えば,タイ語は TIS-620 コードで処理しないと正しくフォントが拾えないし,単語境界をマーキングするツールも機能しない。これらを統一した分りやすい構造で取り扱うことのできるパラダイムが実装されるのには,まだまだ時間がかかると思う。

土村さん,ttk さんの実験はいずれもマルチバイトコードによる日本語と外国語を融合するものとして有意義なものである。アスキーの pTeX プロジェクトにも正式に採用されて,シェイプアップが継続されることを強く望む。Emacs ワールドでは,かつて日本の電総研メンバーが Mule として素晴らしい多言語アプローチを実装し,それがいまや Emacs 本体にマージされ多言語エディタとしての Emacs の凄さを決定的にしたと思う。これと同様に日本人による多言語 TeX へのこだわりは,各国語の既存資産をも統合できる方式の模索を通して,世界の TeX 事情をリードする可能性を秘めていると信じたい。