は上記で述べたパッチでうまく動作します。
デフォルトでは telnet は 8 ビットクリーンではありません。Unicode のキーストロークをリモートのホストへ送るためには、telnet を "outbinary" モードにセットする必要があります。そのためには次の 2 つの方法があります。
$ telnet -L <host>
もしくは
$ telnet
telnet> set outbinary
telnet> open <host>
さらに上記で述べたパッチも使用してください。
Netscape 4.05 以降では UTF-8 でエンコードされた HTML 文書を表示すること ができます。そのためには全ての文書で <head> と </head> タグの間にこのよ うな行が必要です。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Netscape 4.05 以降では、バイトオーダーのマークが付いた UCS-2 エンコーディング の HTML やテキストファイルも表示できます。
http://www.netscape.com/computing/download/
lynx2.8 にはオプション設定用の画面('O' キーを押下)があり、ここで表示する 文字セットを設定することができます。UTF-8 モードの xterm や Linux コンソールで実行している時には、これを "UNICODE UTF-8" にセットします。
ここでもう一度。全ての文書には <head> と </head> タグの間に次のような行が必要です。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
UTF-8 でエンコードされたテキストファイルを見るときには、コマンドラインオ プション "-assume_local_charset=UTF-8"(file:/... の URL だけに影響を及ぼします)、 もしくは "-assume_charset=UTF-8"(全ての URL に影響を及ぼします)も必要と なります。lynx-2.8.2 ではオプション設定画面('O' キーを押下)で "仮定する 文字セット/assumed document character set" を "utf-8" に変更することもで きます。
(訳注: 設定画面のオプション名(日本語・英語共に)は、Kondara MNU/Linux 1.0 に同梱されている lynx 2.8.2-3k1 で確認しました)
オプション設定画面には "使用したい文書のキャラクターセット/preferred document character set" オプションもありますが、少なくとも apache-1.3.0 における file:/... URL と http://... URL では何の効果もありません。
文字のスペーシングおよびラインブレークには問題があります(x-utf8.html のロシア語のセクションや utf-8-demo.txt を見てみてください)。
さらに lynx-2.8.2 では --enable-prettysrc で設定されている場合、表示 文字セットが "UNICODE UTF-8" にセットされているとカラー表示が正常に動作 しません。これは簡単なパッチ lynx282.diff で修正することができます。
Lynx 開発者曰く、「UTF-8 でのスクリーン表示をするために普段 lynx を利用す る場合であっても、slang ライブラリと -DSLANG_MBCS_HACK オプションでコン パイルすることを依然としてお勧めします」です。
ftp://ftp.gnu.org/pub/gnu/lynx/lynx-2.8.2.tar.gz http://lynx.browser.org/ http://www.slcc.edu/lynx/ ftp://lynx.isc.org/
ブラウザのためのテストページが、Alan Wood のサイト http://www.hclrss.demon.co.uk/unicode/#links および James Kass のサイト http://home.att.net/~jameskass/ にあります。
Gáspár Sinai の yudit http://czyborra.com/yudit/は、X Window System 用のすばらしい unicode テキストエディターです。多くの言語 やインプットメソッド、ローカルの文字セットへのコンバートをサポートしてお り、キーボード設定マップを使用することにより、英語キーボードだけで全ての 言語でのテキストの入力を行なうことが可能になります。
次の 3 種類のバージョンをコンパイルすることができます: Xlib GUI, KDE GUI, Motif GUI
カスタマイズは非常に簡単です。一般的なカスタマイズは、まずフォント からでしょう。フォントメニューから "Unicode" を選び、コマンド "xlsfonts ' *-*-iso10646-1'" ではまだフォントサイズが適当ではないため、(Markus Kuhn の 13 ピクセル固定フォントにマッチさせるため)フォントサイズ 13 を選択し ました。
次にインプットメソッドのカスタマイズを行ないます。インプットメソッドは "Straight", "Unicode", "SGML" がベストの選択でしょう。他のビルトイン・イ ンプットメソッドの詳細は /usr/local/share/yudit/data/ を御覧ください。
次に実行した時にも変更を有効にするためには、$HOME/.yuditrc ファイルを編集してください。
このエディターの基本的な機能は編集、カット & ペースト、 検索および置換だけです。アンドゥはありません。
mined98 は Michiel Huisjes, Achim Müller, Thomas Wolff が作った小さ なテキストエディターです。 http://www.inf.fu-berlin.de/~wolff/mined.html これは UTF-8 ある いは 8 ビット の xterm で、UTF-8 や 8 ビットでエンコードされたファイルの 編集をすることができます。また Unicode 文字の入力のための強力な機能があ ります。
UTF-8 モードの xterm や Linux コンソールで実行している時には、環境変数
utf8_term
をセットするか、もしくは mined をコマンドライン引数
-U
で起動する必要があります。
mined では 8 ビットや UTF-8 でエンコードされたファイルを編集することがで
きます。デフォルトでは発見的自動検出(autodetection heuristic)を行ないま
すが、これを使用したくない時は、UTF-8 ファイルを編集する時にはコマンドラ
イン引数 -u
を、8 ビットエンコーディングされたファイルを編集す
る時には +u
を付けて起動します。設定はいつでもエディター内で変
更することができます。エンコーディングはメニュー行に("L:h" は 8 ビットで、
"U:h" は UTF-8)表示されています。変更するにはこの文字の始めをクリックし
てください。
注意点:
ESC
h
コマンドでマニュアルを見付けることができます。
-B
引数で起動する必要があります。これ
により、バックスペースキーがカーソルの左の文字を消すようになります。
vim(version 5.4m 以降)はマルチバイトロケールをサポートしますが、X library がこのサポート機能を持っている必要があります。また 1 文字を表現する のに最大でも 2 バイトのエンコーディング(ISO-2022 エンコーディングなど)の みであり、UTF-8 はサポートしません。
まず始めに Emacs マニュアルの "International Character Set Support" セク ション("International" ノード)を読んでください。特に Emacs を起動するに はコマンド
$ emacs -fn fontset-standard
を実行する必要があることに注意してください。これにより、多くの国の文字の
フォントセットを使うことができます。
Otfried Cheong の emacs-utf パッケージ http://www.cs.ust.hk/faculty/otfried/Mule/ により "unicode-utf-8" エンコーディングを、宮下 尚の Mule-UCS package ftp://etlport.etl.go.jp/pub/mule/Mule-UCS/Mule-UCS-0.70.tar.gz ( http://riksun.riken.go.jp/archives/misc/mule/Mule-UCS/Mule-UCS-0.70.tar.gz にミラーされています)により "utf-8" エンコーディングを Emacs で扱えるよ うになります。両方のパッケージを同時に利用することもできます。emacs-utf "unicode-utf8" エンコーディングの利点はロードが速く、数学記号やアクセン ト付きの文字などの非 CJK 文字を表示にするのにより良いフォントを選んでく れることです。Mule-UCS "utf-8" エンコーディングの利点は、ファイルの読み書きだ けではなく(M-x で起動する) process buffer でもそのエンコードを利用できる ことです。
emacs-utf パッケージをインストールするには "utf2mule" プログラムをコンパ イルしてunicode.el, muleuni-1.el, unicode-char.el と一緒に $PATH のどこ かにインストールし、次の設定を $HOME/.emacs ファイルに追加します。
(setq load-path (cons "/home/user/somewhere/emacs" load-path))
(if (not (string-match "XEmacs" emacs-version))
(progn
(require 'unicode)
(if (eq window-system 'x)
(progn
(setq fontset12
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-12-*-*-*-*-*-fontset-standard"))
(setq fontset13
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-fontset-standard"))
(setq fontset14
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-standard"))
(setq fontset15
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-fontset-standard"))
(setq fontset16
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard"))
(setq fontset18
(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-fontset-standard"))
; (set-default-font fontset15)
))))
フォントセットを有効にするには Mule メニューの "Set Font/FontSet" を選択
するか、Shift を押しながらマウスの左ボタンをクリックします。Markus Kuhn
の 9x15 および 6x13 フォントでは、高さ 15 と 13 のフォントセットが
Unicode には最適です。フォントセットを初期のフォントセットとして指定する
には、上記のコードの set-default-font
行をアンコメントします(コ
メント(;)を取ります)。
Mule-UCS パッケージをインストールするには
$ emacs -batch -l mucs-comp.el
を実行し、作成された un-define.elc
を適当な所にインストールして、
次の行を $HOME/.emacs ファイルに追加します。
(setq load-path (cons "/home/user/somewhere/emacs" load-path))
(if (not (string-match "XEmacs" emacs-version))
(progn
(require 'un-define)
))
UTF-8 でエンコードされたファイルをオープンするには、
M-x universal-coding-system-argument unicode-utf8 RET
M-x find-file filename RET
あるいは
C-x RET c unicode-utf8 RET
C-x C-f filename RET
を実行します。
(Mule-UCS が好みであれば、unicode-utf8 のかわりに utf-8 を実行します)
shell バッファを UTF-8 I/O で実行するには、下記を実行します。
M-x universal-coding-system-argument utf-8 RET
M-x shell RET
(Mule-UCS のみで動作します)
上記は Emacs がターミナルモードではなく、ウィンドウモードの時のみ 動作します。
Richard Stallman は将来的に UTF-8 サポートを Emacs に統合しようと計画し ています。同じく XEmacs 開発グループもです。
関連文書: <golconda@yahoo.co.jp> のページ "Multilingual Emacs and Unicode" http://www.geocities.com/ResearchTriangle/Campus/6475/index.html
(このセクションは Gilbert Baumann が書きました)
これは Xemacs(のバージョン 20.4 に MULE を設定(configured)した) で UTF-8 エンコードを扱えるようにする方法です。残念ながらソースにパッチをあてる 必要があります。
始めに Tomohiko Morioka による、これらのファイルが必要になります。
http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-21.0-b55-emc-b55-ucs.diff および http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-ucs-conv-0.1.tar.gz
diff ファイルは C のソースの差分です。tar 玉は elisp のコードで、 Unicode との相互変換のための多くのコードテーブルを提供します。diff ファ イルの名前からわかるようにこれは XEmacs-21 用ですから、私が使っている XEmacs-20.4 では多少パッチを修正する必要がありました。XEmacs-20.4 のソー スとの最も大きな違いは file-coding.[ch] が mule-coding.[ch] となっていた ことです。(訳注:tarball(tar 玉や tar ボールと呼ばれます)は、tar で固め られたファイルのことです)
(私のように) XEmacs-MULE に慣れていない方へのクイックガイドです:
MULE ではエンコーディングを `coding-system' と呼びます。 最も重要なコマンドは、
M-x set-file-coding-system
M-x set-buffer-process-coding-system [comint buffers]
と、使用されているエンコーディングを調べる時に `find-file' 関数が使用す る変数 `file-coding-system-alist' です。実行後にすぐに私が行なったのは これ です。
このコードはオープンしようとしているファイルの先頭 600 バイトまで、-*- で始まっている special mode line を探します。"Encoding: xyz;" フィールド があり、xyz エンコーディング(Emacs では "coding system" ですね)が存在し てた場合には、このようにして XEmacs を utf-8 モードにすることができます。
;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CLEX; Encoding: utf-8; -*-
全てがうまく動作したあと、\u03BB(ギリシャ語のラムダ) というマクロを定義しました。
(defmacro \u03BB (x) `(lambda .,x))
(工事中)
理論上は xedit はロケールを適切に設定し(上記を参照)、$HOME/.Xdefaults ファ イルに "Xedit*international: true" 行を追加すれば UTF-8 ファイルを編集で きるはずですが、実際には UTF-8 エンコーディングされた非 ASCII 文字を認識 してはいますが、連続した "@" 文字で表示されてしまいます。
ロケールを適切に設定し(上記を参照)、$HOME/.Xdefaults ファイルに "Axe*international: true" 行を追加すれば、理論上 axe は UTF-8 ファイルを 編集できるはずですが、実際には単に core を吐くだけです。
(工事中)
MIME: RFC 2279 は UTF-8 を MIME 文字セットとして定義しています。 MIME は 8 ビットの表示可能な base64 エンコーディングで転送することができ ます。古い MIME UTF-7 プロポーザル(RFC 2152)は反対されている(deprecated) ため、使用するべきではありません。
1999 年 1 月 1 日以降にリリースされたメールクライアントは UTF-8 エンコー ドされたメールの送信や表示を行えるはずです。もし扱えない場合には欠陥 (deficient)と思われます。ですがこれらのメールは MIME ラベルである以下の 行を含む必要があります。
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
MIME ラベルなしで、UTF-8 ファイルを単純に "mail" コマンドにパイプで渡し
た場合には、正しく扱われません。
メールクライアントの実装者は http://www.imc.org/imc-intl/ や http://www.imc.org/mail-i18n.html に目を通すべきです。
これから個々のメールクライアント(もしくは "mail user agents"(MUA)と 呼びます) について見ていきます。
パッチのあたっていない pine version 4.10 のはこのようになっています。
Pine は文字セットのコンバートを行いませんが、UTF-8 のテキストウィンドウ (Linux コンソールか xterm)で UTF-8 のメールを閲覧することができます。
通常 Pine は UTF-8 エンコードされたメールを閲覧するたびに、文字セットが 異なっていると警告をします。この警告を出さないようにするには S(setup)を 選択し、次に C(config)、そして "character-set" の値を UTF-8 に変更します。 Pine は UTF-8 を識別しないため、このオプションは警告表示を抑制する以外に は何も行ないません。
Pine の Unicode 文字の認識は非常に限定されていることにも注意してください。 ラテン語やギリシャ語の文字は表示しますが、他の種類の Unicode 文字は表示 しません。
Robert Brady のパッチ <rwb197@ecs.soton.ac.uk> http://www.ents.susu.soton.ac.uk/~robert/pine-utf8-0.1.diff は Pine に UTF-8 サポートを追加します。このパッチによりヘッダや本文のデ コード、表示が正常に行われます。このパッチは GNOME の libunicode http://cvs.gnome.org/lxr/source/libunicode/ に依存しています。
しかし多くの場合、アラインメントの問題は解消されていません。メールの リプライは文字セットのコンバートを正しく行えず、また pico エディターは マルチバイト文字を扱えません。
(KDE 1.0 の時点では)kmail は UTF-8 メールをまったくサポートしていません。
Netscape Communicator の Messenger は、UTF-8 エンコードされたメールの 送信や表示を行うことができますが、多少の手作業が必要となります。
UTF-8 エンコードされたメールを送信するためには、メールを作成する前に "Compose" ウィンドウを開き、メニューの "View -> Character Set -> Unicode (UTF-8)" を選択します。その後メールの作成、送信を行います。
UTF-8 でエンコードされたメールを受け取った場合、Netscape は残念ながら 正 しく UTF-8 で表示しません。メールが UTF-8 でエンコーディングされていると 表示することすらできません。手動でメニューの "View -> Character Set -> Unicode (UTF-8)" を選択する必要があります。
Netscape は UTF-8 のメールを表示するために別のフォントを使用します。フォ ントの設定は "Edit -> Preferences -> Fonts" ダイアログで調整できますから、 "Unicode" フォントカテゴリーを選択します。
(工事中)
mutt-1.0 http://www.mutt.org/ の UTF-8 サポートは原始的なものだけです。UTF-8 を完全にサポートするため の Edmund Grimley Evans のパッチがあります。 http://www.rano.demon.co.uk/mutt.html
伝統的な Unix テキスト操作システム troff/nroff の GNU 版である groff は
UTF-8 でフォーマットされたテキストを出力できます。このためには最新のスナッ
プショット (
http://groff.ffii.org/ の groff-current.tar.gz
) で、
`groff -Tlatin1
' や `groff -Tascii
' の代わりに
`groff -Tutf8
' を実行する必要があります。
teTeX 0.9 以降には Omega と呼ばれる、TeX に Unicode への対応を追加したも のがあります。( http://www.gutenberg.eu.org/omega/, ftp://ftp.ens.fr/pub/tex/yannis/omega) さらに utf8-tex-0.1.tar.gz の unicode.tex ファイルを使うと、TeX のソー スとして UTF-8 でエンコードされたものを扱うことができます。現在、 数多くの Unicode 文字がサポートされています。
これらの変更点はソースの先頭に次の行を追加し、(`tex'のかわりに) `omega' や (`latex' のかわりに)`lambda' を実行することにより利用することできます。
\ocp\TexUTF=inutf8
\InputTranslation currentfile \TexUTF
\input unicode
関連するリンク: http://www.dante.de/projekte/nts/NTS-FAQ.html, ftp://ftp.dante.de/pub/tex/language/chinese/CJK/.
PostgreSQL 6.4 以降ではオプション --with-mb=UNICODE
を指定してバイナリを作成することができます。
これ http://www.flash.net/~marknu/less/less-346.tar.gz に Robert Brady <rwb197@ecs.soton.ac.uk> のパッチ less-346-utf8.diff をあててインストールします。 そして次に環境変数 LESSCHARSET をセットします。
$ export LESSCHARSET=utf-8
環境変数 LESSKEY をセットしている場合には、その変数が指している lesskey
ファイルで LESSCHART を定義していないことを確認してください。必要に応じ
て `lesskey' コマンドでファイルの再生成や、LESSKEY 環境変数の unset
を行ってください。
GNU textutils-2.0 を入手し、パッチ textutils-2.0.diff をあてて "#define HAVE_MBRTOWC 1", "#define HAVE_FGETWC 1", "#define HAVE_FPUTWC 1" を config.h に追加し、src/Makefile の CFLAGS と LDFLAGS が libutf8 がインストールされているディレクトリを include するようにして リビルドしてください。
util-linux-2.9y パッケージを入手して configure し、defines.h の ENABLE_WIDECHAR を定義し(訳注:#define ENABLE_WIDECHAR)、lib/widechar.h の "#if 0" を "#if 1" にします。そして text-utils/Makefile の CFLAGS と LDFLAGS が libutf8 がインストールされているディレクトリを include するよ うにしてリビルドしてください。
figlet 2.2 には UTF-8 で入力するオプション "figlet -C utf8" があります。
シリアル通信用プログラム C-Kermit http://www.columbia.edu/kermit/ のバージョン 7.0beta10 以降では、ファイルおよび通信のエンコーディングとし て UTF-8 と UCS-2 を、ターミナルでのエンコーディングとして UTF-8 を使用 することができます。エンコーディングに関するドキュメントは ftp://kermit.columbia.edu/kermit/test/text/ckermit2.txt にあります。
X11 Xlib の UTF-8 ロケールは現在開発中です。