ISO 2022 準拠の方法、ここからロシア文字がはじまる、ここからは
Latin-1 コードに戻るといったエスケープ・シーケンスとよばれる付加情報が
必要になります。
uso2022は、ISO 8859-5 でコード化されたロシア語テキストに こうしたエスケープ・シーケンスを施して、``X11 Compound Text'' とよばれる多言語テキスト形式に変換を行う私の書いたツールです。 (-eオプション)
Compound Text は UNIX のウィンドウ・システム X Window System Ver.11
Release 5 (``X11R5''と称します) 以降で定義されているもので、
ISO 2022 多言語拡張方式に準拠したサブセットです。
この形式であれば、X Window System の端末や Mule
で日本語やフランス語・ドイツ語と混在してロシア語が表示・編集できます。
すなわち、ロシア人が作成したテキスト文書を Mule
の日本語環境において表示できるようになるだけでなく、
日本語他 ISO 2022 で定義された言語を追加記述することが可能となります。
uso2022 はロシア語の他 ISO 8859-1
(英仏独伊西などの西欧及び北欧諸語)、ISO 8859-2 (東欧ラテン文字諸語)、
ISO 8859-7 (ギリシア語)など ISO 8859-X 系でコード化されたテキストが扱えます。
本来ならば ISO 2022 で対象となるコードをひろく扱えるとよいのですが
まだ ISO 8859-X 系のみの対応です。
プログラム名が``uso2022''の所以です。
ロシアの Web サイトにはロシア文学の古典のテキストを
HTML で公開しているものがかなりあります。
こうしたデータを自分のパソコンのディスクに格納して —— ただし、
当該テキストを利用してなんらかの公的利用を行う場合は
公開している方に出所や権利問題を確認すべきでしょう ——
UNIX のシェルにおいてたとえば次のようにコマンドを投入すると、
Muleで多言語で読み書きできる形になります。
これは KOI8 のコードで書かれた元データ (motodata) を
translit によって ISO 8859-5 にコード変換したあと、
uso2022 によって Compound Text データ (mydata)
に整形しています。
% translit -i motodata -t koi8-gos.rus | uso2022 -e5 > mydata
この機能は Compound Text として作成したロシア語テキストを Webページで公開するために、エスケープ・シーケンスのない ISO 8859-5 テキストにしたいときなどを想定しています。
本機能により、次のようなことができるようになります。
LATEXでの多言語の記述方法は間接的でヨーロッパのアクセント付き文字や
特殊文字、キリル文字の入力はまだるっこしいと思うユーザがいるのでは
ないでしょうか。
こういうユーザはロシア語の入力はロシアのキーボード配列がよい、
Muleの多言語編集機能を用いてロシア語、フランス語、ドイツ語、
ポーランド語他見た目にも多言語で LATEX を記述したいと
考えるのではないでしょうか。
uso2022 では、そんなユーザのために、
原稿は Mule の多言語編集機能で
``''
と直接書いておいて、プログラムで
``CHto {e1}ti mne po{e1}ty!
''
と変換する機能をサポートします。
日本語や通常の ASCII 文字と混在していても ISO 8859-1 (Latin No.1)、
ISO 8859-2 (Latin No.2) 及び ISO 8859-5 (Latin/Cyrillic) であれば、
エスケープ・シーケンスで文字種類を判断して変換します
(その他 ISO 8859-X は未サポート)。(図10.1)
また上記コードで書かれたテキストであれば、エスケープ・シーケンスのない テキスト (ロシア人やフランス人が作成したのはこの形式でしょう) を 文字コード指定で変換する機能もあります。(-rオプション)
< 入力ファイル > 出力ファイル
''と指定する
必要があります(これを「リダイレクト」といいます)。
uso2022 [-c|-r{1|2|5}|-e{1|2|...|9}|-s|-h] [<入力ファイル][>出力ファイル]
A|B
は A か B の択一であることを示す。
-c | Compound TextからLATEX文字
トランスクリプションを行う。
対象ファイルには漢字が混入していてもよい。
(デフォルト:省略時設定値)
トランスクリプション方法は以下のとおり。 キリル文字:BABELスタイル(ワシントン大学キリル・ エンコーディング) ラテン文字:T1エンコーディング サポート・コードは以下のとおり。 ISO 8859-1 (Latin-1) ISO 8859-2 (Latin-2) ISO 8859-5 (Cyrillic) |
-r | エスケープ・シーケンスのないテキストからLATEX文字
トランスクリプションを行う。`-r5'のように指定する。
1:対象テキストのコードをISO 8859-1 (Latin-1)とする。 2:対象テキストのコードをISO 8859-2 (Latin-2)とする。 5:対象テキストのコードをISO 8859-5 (Cyrillic)とする。 |
-e | エスケープ・シーケンスのないテキストに対し、エスケープ・
シーケンスを付加してCompound Textに整形する。
`-e5'のように指定する。
1:対象テキストのコードを ISO 8859-1 (Latin-1)とする。 2:対象テキストのコードを ISO 8859-2 (Latin-2)とする。 3:対象テキストのコードを ISO 8859-3 (Latin-3)とする。 4:対象テキストのコードを ISO 8859-4 (Latin-4)とする。 5:対象テキストのコードを ISO 8859-5 (Cyrillic)とする。 6:対象テキストのコードを ISO 8859-6 (Arabic)とする。 7:対象テキストのコードを ISO 8859-7 (Greek)とする。 8:対象テキストのコードを ISO 8859-8 (Hebrew)とする。 9:対象テキストのコードを ISO 8859-9 (Latin-5)とする。 |
-s | ISO 8859-X系 Compound Textからエスケープ・シーケンスを 削除する。 |
-h | 簡易ヘルプの表示。 |
http://yasuda.homeip.net/slavonic/slav-j.html
% mkdir slavonic % tar zxvf slavonic-1.1.tar.gz -C slavonic % cd slavonic
prefix = /usr/local
bindir = $(prefix)/bin
% make uso2022 % su # make install