Omega は多言語化された TeX です。 日本語に関しては,Omegaの上で日本語を組版するための Omega-J というパッケージが公開されています。
このページでは Omega-J など,Omega で日本語を扱うための情報を 少しずつ調べながら書いてみようと思います。
私自身,最新版が見付けられずにはまっていたのですが,最新の配布は teTeX に含まれています。
Omega-J の配布に含まれている injis.otp には,JIS エンコーディングの エスケープシーケンスがほとんど解釈できないなどの問題があるので, 新しく書き直してみました。 ISO-2022-JP に JIS X 0201 カタカナ と JIS X 0212 (補助漢字) を付け加えた エンコーディングにほぼ対応しています (JIS X 0208-1978 と -1983 の区別などにはまだ対応していませんが)。 Omega 1.8 で動作しました。
同様の試みを 松田さん, 角藤さん (omegaj-w32.tar.gz) がすでにされていたようです。(^^;)
他の OTP ファイルに従って,該当する文字がないときは 0x0000 ではなく 0xFFFD (REPLACEMENT CHARACTER) に変換するようにしました。(1999-12-22)
Unicode と 古い JIS X 0208 などとの対応は,簡単な問題ではないようです (cf. 伊藤隆幸さんによる解説)。 対応表 (安岡さん)。
Omega-J では,ttf2pk によって 日本語TrueTypeフォントから ビットマップ(PK)フォントを得て,それを DVIドライバから使うことを想定しています。 これは CJK package とまったくおなじ仕組みです。
ttf2pk, ttf2tfm などの環境設定には,松田さんの ttf2pkと補助漢字 がとても参考になります。
odvipsk で,日本語フォントをビットマップとして埋め込まずに, 日本語PostScriptフォントを利用する方法を考えてみました。 問題は日本語PostScriptフォントのメトリックを得ることなのですが, この目的においては dvipsk は OFM に対応していません。 このため,文字数の多い日本語フォントを扱うことができないわけです。
そこで,まだ不完全ですが,OFM (Level-0, 1) が扱えるようにしてみました。 これによって日本語 PostScript フォントも利用できるようになります。
私は teTeX 1.0.6 で動作させています。
ある日本語PostScriptフォントの名前が 「Ryumin-Light-UniJIS-UCS2-H」であるとして, それに対応するTeXフォント名を「omrml」と決めたとします。 まず,omrml.ofm を適当に作成して,odvips から見えるところに置いてください (例: omrml.opl)。 次に,$TEXMF/dvips/config/psfonts.map に以下の行を追加します。
omrml Ryumin-Light-UniJIS-UCS2-H
これで,フォント omrml に対して Ryumin-Light-UniJIS-UCS2-H が使われるようになります。 文字コードが Unicode (UCS2) であることに注意してください。
生成された PostScript ファイルは Ghostscript + CID フォント で読めることを確認しました。 しかし,UniJIS-UCS2 のフォントは他のエンコーディングと比べると マイナーだと思われるので, virtual font で JIS にでもコード変換したほうが良いのかもしれません。 OCPで変換はできないのかな?
他にもいろいろと問題らしきものがありますが, Omega, odvips, Unicode の PostScript フォント, CID フォント など, どれも私にとって新しいテーマなので,なかなか調べられずにいます。(^^;)
(1999-12-30) これが安定動作すれば Ghostscript を使う限りは UniJIS-UCS2 でも構わないのかもしれません。