top page > L'Internationale > here

独自に多言語環境を持つプログラム


概要

ここでは,OS や X Window System の環境に相対的に独立した状態で多言語環境を持つプログラムを簡単に紹介します. それらは,次のような場合に必要になります.

  1. 動作が環境変数 LANGLC_* に影響されたくない.
  2. 英語とそれ以外の言語の二つでなく,よりたくさんの言語に同時に対応したい.

当然ながら,個々のプログラムにおいて設定を default から変えたい場合には,そのやり方から習得しなければなりません. それに関しては,探せば見つかる情報ゆえ,ここに書くかどうか逡巡しています.

なお,目的に「書籍とか Web で見つけ難かった情報」と書きましたが,このページは例外です.


目次

1. Web Browser
2. TeX, PostScript
3. mule, emacs, xemacs
4. 文字コードの変換プログラム

1. Web Browser

Web Browser は諸々の設定をしなくても様々な言語を表示することができます.
とりあえず,"FreeBSD Handbook" がどのような言語で翻訳されているかを見てみましょう.
(以下の文書は,OS のインストーラーにより導入しなければ存在しません.)

% ls -l /usr/share/doc/??_*/books/handbook/index.html

先ず,日本語版を表示してみましょう. (Web Browser は firefox であるとして.)

% firefox file:/usr/share/doc/ja_JP.eucJP/books/handbook/index.html

この ja_JP.eucJP を変更すれば,様々な言語でこれを読むことができます.

% firefox file:/usr/share/doc/en_US.ISO8859-1/books/handbook/index.html
% firefox file:/usr/share/doc/de_DE.ISO8859-1/books/handbook/index.html
% firefox file:/usr/share/doc/fr_FR.ISO8859-1/books/handbook/index.html
% firefox file:/usr/share/doc/ru_RU.KOI8-R/books/handbook/index.html

なお,言語を示す部分は各々 ja, en, de, fr, ru に symbolic link が作られています.

この Handbook の中でここでの話題に関連するのは「地域化 (localization)」です.

(注) FreeBSD 8.0 から,これらの文書が言語ごとに ports/packages になり,置き場も

/usr/local/share/doc/freebsd/

に変更されました. ports は ports/misc/freebsd-doc-?? にあります. (ここで "??" には言語を示す二文字が対応します.) ただし,ports からの導入は手間がかかるので,packages から導入する方が合理的でしょう.

# pkg install en-freebsd-doc

ロシア語の表示には,TrueType font である DejaVu font (ports/x11-fonts/dejavu) を使っています. これは Bitstream Vera font (ports/x11-fonts/bitstream-vera) を拡張したものです.
(現在では,X を導入すると DejaVu font も自動的に導入されます.)

mozillafirefox が使うフォントは /usr/local/lib/X11/fonts に置かれたものです. 置いてあるだけで良く,それらを /usr/local/lib/X11/xorg.conf にて FontPath に設定する必要はありません.

2. TeX, PostScript

TeX で注目すべき点は,その source の文字コードです.

ptex, LaTeX の古い encode (OT1,OT2 etc.) では iso8859-1 の後半にあるようなアクセント付きの文字や記号,および koi8-r の後半にあるようなキリル文字は ASCII code の文字の組み合わせや encode の切り換えで表わします. 従って,この場合の TeX の source は ASCII code しか含みません.

新しい encode (T1,T2 etc.) では,TeX の source は ASCII code を越える場合も生じ得ます. 日本語と共存できないので,ここではこれ以上言及しません.

日本語には pLaTeX という形で対応されています. 日本語は古い (OT1,OT2 etc.) encode としか共存できません. 従って,この場合の TeX の source は ASCII code と日本語しか含みません.

teTeX の頃の xdvigs は日本語に対応しています.
(ただし,TeXLive になってからは,xdvi は日本語に対応しておりません.)

3. mule, emacs, xemacs

独自に多言語環境を実現しています. サンプルの多言語で記述されたファイルを表示したことはありますが,同時に多数の言語を入力した経験はありません.

4. 文字コードの変換プログラム

nkf, iconv など. ここは分類のために書いたので,これ以上は言及しません.